AIX命令集錦八(軟體安裝命令)

antcorps發表於2008-08-24
AIX命令集錦八(軟體安裝命令)[@more@]

8.1、軟體產品的基本概念:
lpp(licensed program product 得到許可的軟體產品),它是由一個或多個package(軟體包)組成的
軟體產品的構成:檔案集(fileset),軟體包(package),得到許可的軟體產品(LPP),軟體束(bundle)
檔案集:是AIX中最小的可安裝的、能實現特定功能的基本單元,如bos.net.nfs.client
軟體包 :是由一組具有共同功能的檔案集而組成的一個可單獨安裝的映像,以BFF(backup file format)格式存在。如bos.net
得到許可的軟體產品: 由一個或多個軟體包構成一個完整的LPP,如bos
軟體束:是一個軟體列表檔案,這個列表包含為實現某個特殊用途的檔案集、軟體包、和得到許可的軟體產品,檔名以.bnd結尾
軟體產品的命名格式:LPP.package.fileset.suffix 其中suffix為字尾
軟體產品的版本格式:versionnumber.releasenumber.modificationlevel.fixlevel
versionnumber 主版本號
releasenumber 釋出號,即次版本號
modificationlevel 修正級別
fixlevel 修訂級別
安裝後的軟體在AIX中有兩種狀態:applied(暫時應用狀態,即保留舊版本,可以恢復到舊版本),committed(提交確認狀態,即不保留舊版本)
一個軟體產品的檔案集可以劃分為3個部分:root,usr,share部分
usr部分 包含著軟體中可以被其他具有相同硬體體系結構的機器共享的部分,通常儲存在/usr目錄中
root部分 包含著軟體中不能被其他機器共享的部分,一般儲存在/目錄中
share部分 包含著軟體可以被其中任意一臺機器共享的部分,即使它們不擁有相同的硬體體系結構。一般儲存在/usr/share目錄中。

修訂包分類:PTF、APAR、維護包和推薦維護包,其中PTF、APAR是對檔案集的修訂,維護包和推薦維護包包含著大量的PTF和APAR,主要是
對作業系統的修訂
PTF 是指檔案集的可單獨安裝的更新包(fileset update),它的作用是增強以前安裝的fileset的功能或更正以前fileset的小錯誤
APAR(authorized program analysis report 經授權的軟體分析報告) 是針對系統中少見的問題而釋出的緊急的軟體修訂包,對作業系統
而言是單一性的錯誤問題。
維護包 (Maintenace package):對系統的預防性維護由一個維護級別(maintenance level,簡寫ML)來提供。每次應用一個維護包,就會
調整檔案集的修正級別modificationlevel,同時將修訂級別設定為0,維護包的名稱由4個數字組成VRMF,V表示作業系統的主版本,R表示操作
系統的次版本,M表示修正級別,F表示修訂級別,F一般為0。
推薦維護包(recommended maintenance package 簡寫RML):指從最新的維護級別之後釋出的一組APAR,格式為VRMF-RM

8.2、軟體安裝命令:
installp 是安裝和更新軟體的命令,該命令的用法在此不詳講
smit install 會出現四大功能:
install and update software (安裝和更新軟體)
list sofeware and related information (顯示軟體列表和相關資訊)
software maintenance and utilities (軟體維護和實用工具)
network installation management (網路安裝管理)
我們可以使用smit install_latest命令來進行軟體安裝,其實它是呼叫installp命令來執行安裝操作的,執行完這條命令後,會出現以下專案:
(1)、input device /directory for software 表示要安裝的軟體所在的目錄或驅動器
(2)、software to install 該欄的預設值為_all_latest,表示安裝所有的軟體
(3)、preview only? 表示是否對軟體進行預安裝,即做安裝檢查,不會執行真正的安裝
(4)、commit software updates? 表示是否提交新軟體(不可恢復),如果設定為no則是apply新軟體,即會保留原來的軟體,可以恢復舊軟體。
(5)、save replaced files 表示是否覆蓋舊軟體,如果設定為yes就表示保留舊軟體,可以用來恢復舊軟體
(6)、automatically install requisite software ? 表示是否自動安裝所必需的軟體,即安裝的軟體所依賴的軟體
(7)、extend file systems if space needed? 表示檔案系統空間不夠時,是否自動擴充空間
(8)、overwrite same or newer versions? 表示是否覆蓋相同版本或較新的版本軟體
(9)、verify install and check file sizes? 表示是否要求系統對要安裝的軟體做一些檢查
(10)、include corresponding language filesets? 表示安裝時是否包括相應語言檔案集
(11)、detailed output? 表示是否需要輸出明細的安裝資訊
(12)、process multiple volumes? 是否開啟多卷CD的處理,即是否安裝檔案集存放在多張CD上
(13)、accept new license agreements? 表示是否接受軟體許可協議,如果選no表示拒絕接受並取消安裝
(14)、preview new license agreements? 表示是否預覽新的許可協議

安裝軟體束命令:
軟體束(bundle):不是真正的檔案集,它是一個包含了許多檔案集名稱的文字檔案,系統先查詢軟體束檔案,再從安裝介質上查詢軟體束
所包含的檔案集,找到後就安裝。
smit install_bundle

8.3、顯示軟體列表命令:
顯示包括兩種情況,一種是顯示系統中已經安裝的軟體,一種是顯示安裝介質中的軟體
顯示在系統中已經安裝的檔案集和更新檔案集:
lslpp {-d|-f|-h|-I|-L|-l|-p}[-B|-I][-acJq][-O{[r][s][u]}] [fileset...|ptf_id...|all]
lslpp -E[c][fileset...|all]
-a 和其他引數結合使用,顯示檔案集的附加資訊。不能和-f使用,和-l顯示所有更新包資訊,和-h顯示所有安裝歷史
-B 允許輸入ptd_id,不能與-L結合使用
-c 用:號分開輸出資訊,不能和-La,-J同時使用
-d 顯示指定軟體所要依賴的檔案集
-E 顯示軟體許可協議
-f 顯示檔案集中的檔名字,不能跟-a同時使用
-h 顯示軟體安裝歷史資訊,不能和-J同時使用
-I 限制輸入的軟體產品
-i 顯示軟體產品的標識資訊
-J 輸出的資訊符合smit所要求的格式,不能和-l,-L同時使用
-L 顯示檔案集的名字、最新版本、狀態和描述,將檔案集的root,user,share三部分分別顯示
-O 該引數後跟r,s,u引數,r只顯示root部分,s只顯示share部分,u只顯示user部分,不能和-L同時使用
-p 顯示被安裝檔案集所需要的資訊
-q 輸出結果中不顯示各列的標題部分
-w 顯示擁有這個檔案的檔案集。
all 顯示所有的檔案集
引數d,f,h,i,L,l,p,w和E之間是相互排斥的,不能同時使用。
lslpp -l 顯示中的檔案集的狀態主要包括:
APPLIED 表示暫時應用在系統中
APPLYING 正在應用指定的檔案集,還沒有成功地完成,也不能執行清除操作
BROKEN 壞掉的或者被中斷安裝的軟體
COMMITTED 確認提交
COMMITTING 正在提交指定的檔案集,還沒有成功地完成,也不能執行清除操作
OBSOLETE 陳舊的軟體,只把部分檔案集移植到新版本
REJECTING 正在拒絕(刪除)指定的檔案集,還沒有成功地完成,也不能執行清除操作
顯示已經安裝的軟體也可以用smit list_installed_sw
顯示暫時應用而未確定確認提交的軟體的命令smit list_applied_sw,也可用installp -s來顯示
顯示軟體安裝歷史的命令:smit show_history 即顯示軟體是什麼時候安裝的,是暫時還是確認提交的,也可以用lslpp -h 檔案集名
顯示安裝介質上的軟體命令:smit list_media_sw,也可以使用installp -l -d /dev/cd0
查詢某個檔案或命令所對應的檔案集的幾種方法,前提:系統中必須安裝了bos.content_list檔案集
(1)、透過which_fileset命令,格式為:/usr/sbin/which_fileset [filename/command]
(2)、lslpp -w [filename/command] 如lslpp -w /usr/bin/ls
(3)、lslpp -f [filesetname] 檢視檔案集包含哪些檔案,如lslpp -f bos.acct

8.4、調整軟體在系統中的狀態命令:
軟體安裝在系統中有兩種狀態:applied(暫時應用狀態)、committed(確認提交狀態),installp也可以調整已經安裝軟體的狀態
installp -cgx all 表示提交所有暫時應用的軟體,同時刪除該軟體包以前的版本
可以用smit commit來操作
拒絕暫時應用的軟體命令:smit reject 或installp -rbpX 軟體包名 ,如installp -rbpX bos.net
從系統中刪除軟體命令:smit remove 或installp -u 檔案集名,如installp -u bos.net.tcp.server

8.5、檢查當前系統中軟體的維護級別命令:lslpp -l
檢查當前系統的維護級別命令:oslevel
檢查當前系統的RML(推薦維護包)命令:oslevel -r
檢查某一個APAR是否安裝在系統中的命令(首先要知道APAR號,假如是IY32749):instfix -i -k IY32749
instfix 命令能夠判斷某個修訂包是否安裝在系統中,該命令的格式為:
instfix [-k keyword][-i][-c][-q][-t type][-v][-F][-a]
-k keyword 表示指定APAR號或關鍵字,可以為多個,用空格隔開,並且包含在一對引號中
-i 與-k ,-f同時使用,顯示指定關鍵字的軟體修訂包是否安裝,僅僅顯示相關資訊,不執行安裝,如果不加這兩個引數,則顯示所有知道的
軟體修訂包
-c 把由-i顯示的結果用:號分開
-q 指靜止模式
-t type 與-i使用時,查詢指定型別的修訂包,type有f表示修訂包,p表示預防性的維護包
-v 與-i引數使用顯示詳細的資訊
-F 如果在系統中沒有安裝修訂包中的所有檔案集,就返回失敗
-a 顯示修訂包的症狀資訊,與-i,-k同時使用
顯示當前系統中已經安裝了哪些預防性的維護包命令:instfix -i -t p
檢視系統中已經安裝了哪些維護包命令:instfix -i |grep AIX
顯示IY32749修訂包是否安裝在系統中並顯示它的所有檔案集的命令:instfix -i -k IY32749 -v
顯示IY32749修訂包是否安裝在系統中並顯示這個修訂包糾正了哪些問題症狀命令:instfix -i -k IY32749 -a

下載軟體修訂包:
用fixdist工具下載修訂包,下載伺服器為:service.software.ibm.com
透過安裝fixdist工具,然後執行fixdist便可進行下載,前提是必須已經連線到internet上
透過ie下載修訂包,在此不再敘述
安裝修訂包
gzip -d -c 510103.v1.tar.gz |tar -xvf- 從修訂包中提取檔案集
inutoc /usr/sys/inst.images 建立要安裝檔案集的目錄
installp -acgXd /usr/sys/inst.images bos.rte.install 更新安裝子系統本身
smit update_all 把系統中已經安裝的所有軟體產品升級到最新的版本
smit update_by_fix 或smitty instfix 用smit工具安裝修訂包

8.6、清除一個失敗的安裝命令:
installp -C [-b][-e LogFile]
-C 表示清理以前中斷的軟體安裝和不完整的軟體安裝
-b 表示防止系統在需要時執行bosboot命令
-e LogFile 開啟時間日誌,把installp 命令的所有輸出記錄到指定的日誌檔案logfile中

8.7、檢驗軟體命令:
lppchk 檢查lpp的工具,它透過檢查檔案的大小、校驗值和符號連線等內容,與swvpd中的原始資料進行比較,來發現所存在的問題。
lppchk -l 'X11*' 檢查以X11開頭的軟體產品名中所有的符號連結
lppchk -c X11.fnt 檢查包含在X11.fnt中的所有檔案
lppchk -v 如果安裝檔案集失敗,可能會引起該檔案集的/,/usr,/usr/share三部分不一致,該命令就是檢查一致性問題,如存在則清除該問題。
smit check_files 檢查並更新檔案大小資訊
smit verify_install 檢驗軟體安裝及其必需的部分

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20444553/viewspace-1009416/,如需轉載,請註明出處,否則將追究法律責任。

相關文章