Linux學習筆記(二)-AIX程式包原理及linux RPM包__PHP

來源:互聯網
上載者:User
AIX程式包原理及linux RPM包

一. AIX程式包原理
1. 原理

2. 檔案集(fileset)命名規則

Fileset這種命名格式基本上描述了此檔案集的內容和層次關係,方便管理員查看和管理
3. 檔案集(fileset)的版本號碼

Version和Release版本號碼的升級是需要購買,而後面兩個版本號碼的升級可以到IBM網址免費下載;每個fileset都有各自的版本號碼,作業系統也有它的版本號碼
4. 軟體包的兩種安裝狀態Applied和 Committed

- 舊版本的軟體升級後處於 applied狀態,系統使用的是新的版本,舊的版本並沒有被刪除
- 執行commit動作後,舊的版本被刪除,軟體包就處於committed狀態了;執行reject動作,新的版本被刪除,系統仍用舊的版本
- 軟體包的升級,為了應用安全運行,先讓新軟體包處於applied狀態試運行一陣後再commit;如果安裝一個新的軟體包,就直接committed

二. linux RPM包
1. 介紹
- RPM是RedHat Package Manager(RedHat軟體包管理工具)的縮寫
- 這一檔案格式名稱雖然打上了RedHat的標誌,但是其原始設計理念是開放式的,現在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分發版本都有採用,可以算是公認的行業標準了
- 一個RPM包檔案是能夠讓應用軟體啟動並執行全部檔案的一個集合,它記錄了二進位軟體的內容、安裝的位置、軟體包的描述資訊、軟體包之間的依賴關係等資訊
2. RPM的體繫結構

3. 基本命令
3.1. rpm的安裝、升級、重新整理

```基本文法: rpm -i package-filename.rpm (install) rpm -F package-filename.rpm (freshen) rpm -U package-filename.rpm (upgrade)選項: -v 表示可以輸出詳細資料 -h 在安裝過程中列印50個“#”符號,表示安裝進度```例如:安裝軟體包package-10.2-67.i386.rpm # rpm -ihv package-10.2-67.i386.rpm package: ########################################

3.2. rpm包的刪除

```基本文法:  rpm -e package-filename選項:  --nodeps 忽略包的依賴提示```

例如:刪除包 kdelibs3

如果使用以下命令將忽略包的依賴提示

#rpm -e --nodeps kdelibs3

3.3. rpm的查詢
查詢已安裝RPM的內容:

基本文法:  rpm -q package-name         選項: -q  一個包是否被安裝 -a 查詢所有安裝的RPM -f <file> 查詢擁有某檔案的RPM -p <package-file> 查詢包檔案 -i  顯示包的資訊 -l  資訊包檔案的資訊 -s  顯示所有檔案的狀態 -d 顯示文檔檔案 -c  顯示設定檔

3.4. rpm的校正
- RPM的校正功能可以用來確認檔案是否被修改或覆蓋

基本文法: #rpm -V package_name_to_verify 參數: -V 檢查與某一RPM包相關所有檔案的完整性

例子1:檢查sendmail的相關檔案的完整性

#rpm -V sendmail S.5....T c /etc/aliases missing /etc/mail/ip_allow S.5....T c /etc/mail/relay_allow S.5....T c /etc/sendmail.cf S.5....T c /etc/sendmail.cw S.5....T /usr/sbin/sendmail S.5....T /var/log/sendmail.st 

解釋:只有校正失敗的檔案才被列出,沒有列出的檔案應該是完好無損的。輸出的內容給出了為什 麼校正失敗的原因,具體解釋如下:
- S = 大小改變
- M = 許可權改變
- L = 串連改變
- D = 裝置改變
- U = 使用者改變
- G = 組改變
- T = 日期和時間改變
- missing = 檔案丟失

例子2:挨個檢查軟體包很費時間,用“-a”選項可以一次性檢查所有RPM包

#rpm -Va > /root/rpm_chk.txt & 
這條命令讓RPM檢查伺服器上安裝的RPM包,結果輸出到rpm_chk.txt檔案,最後的可選項“&”表示命令在後台運行,給出shell提示符可以作其他事情

例子3:檢查某個檔案而不知道它屬於哪個RPM包,可以用“-qf”選 項查看哪個軟體包安裝了此檔案

# rpm -qf /usr/sbin/sendmail sendmail-8.8.7-20 

如果一個檔案沒有關聯 的RPM包

# rpm -qf /sbin/.vile_stuff file /sbin/.vile_stuff is not owned by any package 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.