管理軟件包的工具html
管理軟件包的工具或命令bash
工具或命令 服務器 |
說明oracle |
手冊頁app |
installeride |
啓動用於從 Oracle Solaris 安裝介質添加軟件的安裝程序(如 Oracle Solaris 安裝程序 GUI)。安裝程序要麼位於本地,要麼位於遠程位置。工具 |
|
prodreg (GUI)this |
啓動用於添加、刪除或顯示軟件產品信息的安裝程序。使用 Oracle Solaris 產品註冊表刪除或顯示軟件產品的有關信息,這些軟件產品最初經過使用 Oracle Solaris 安裝程序 GUI 或 pkgadd 命令安裝。spa |
|
Oracle Solaris 產品註冊表 prodreg 查看器 (CLI) |
使用 prodreg 命令刪除或顯示軟件產品的有關信息,這些軟件產品最初經過使用 Oracle Solaris 安裝程序 GUI 或 pkgadd 命令安裝。 |
|
pkgadd |
安裝軟件包。 |
|
pkgchk |
檢查軟件包的安裝狀況。 |
|
pkginfo |
列出軟件包信息。 |
|
pkgparam |
顯示軟件包的參數值。 |
|
pkgrm |
刪除軟件包。 |
|
pkgtrans |
將可安裝的軟件包從一種格式轉換爲另外一種格式。-g 選項指示 pkgtrans 命令在所獲得的數據流中生成和存儲簽名。 |
向系統中添加軟件包。
# pkgadd -a admin-file
-d device-name pkgid ...
-a admin-file
(可選)指定在安裝期間應當由 pkgadd 命令檢查的管理文件。有關使用管理文件的詳細信息,請參見使用管理文件。
-d device-name
指定軟件包的絕對路徑。device-name 能夠是設備、目錄或假脫機目錄的路徑。若是未指定軟件包所在的路徑, pkgadd 命令將檢查缺省的假脫機目錄 (/var/spool/pkg )。若是軟件包不在缺省的假脫機目錄中,軟件包的安裝將失敗。
pkgid
(可選)一個或多個要安裝的軟件包的名稱,用空格分隔。若是省略,pkgadd 命令會從指定的設備、目錄或假脫機目錄安裝全部可用的軟件包。
若是 pkgadd 命令在軟件包安裝期間遇到問題,則會在該提示符後面顯示一則與該問題有關的消息:
Do you want to continue with this installation?
能夠回答 yes、no 或 quit。若是指定了多個軟件包,請鍵入 no 中止安裝正在安裝的軟件包。pkgadd 命令會繼續安裝其餘軟件包。鍵入 quit 可中止安裝。
檢驗軟件包是否已成功安裝。
# pkgchk -v pkgid
若是未出現錯誤,則會返回已安裝文件的列表。不然,pkgchk 命令將報告錯誤。
從已掛載 CD 添加軟件包
如下示例說明如何從已掛載的 Oracle Solaris 10 CD 安裝 SUNWpl5u 軟件包。還說明如何檢驗軟件包文件是否已正確安裝。
# pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWpl5u
.
.
.
Installation of <SUNWpl5u> was successful.
# pkgchk -v SUNWpl5u
/usr
/usr/bin
/usr/bin/perl
/usr/perl5
/usr/perl5/5.8.4
.
.
從遠程軟件包服務器安裝軟件包
若是要安裝的軟件包位於遠程系統上,則能夠(以軟件包格式)手動掛載包含該軟件包的目錄,並在本地系統上安裝軟件包。
如下示例說明如何從遠程系統安裝軟件包。在本示例中,假設名爲 package-server 的遠程系統的 /latest-packages 目錄中有軟件包。mount 命令用來在 /mnt 上以本地方式掛載軟件包。pkgadd 命令用來安裝 SUNWpl5u 軟件包。
# mount -F nfs -o ro package-server:/latest-packages /mnt
# pkgadd -d /mnt SUNWpl5u
.
.
.
Installation of <SUNWpl5u> was successful.
若是站點上運行的是自動安裝程序,則無需手動掛載遠程軟件包服務器,而會使用自動安裝程序路徑(在本示例中爲 /net/package-server/latest-packages)做爲 -d 選項的參數。
# pkgadd -d /net/package-server/latest-packages SUNWpl5u
.
.
.
Installation of <SUNWpl5u> was successful.
經過指定管理文件從遠程軟件包服務器安裝軟件包
如下示例與上面的示例類似,區別在於本示例使用 -a 選項並指定了一個名爲 noask-pkgadd 的管理文件,在添加軟件包時避免用戶交互 (pkgadd)中對此進行了說明。在本示例中,假設 noask-pkgadd 管理文件位於缺省位置 (/var/sadm/install/admin)。
# pkgadd -a noask-pkgadd -d /net/package-server/latest-packages SUNWpl5u
.
.
.
Installation of <SUNWpl5u> was successful.
從 HTTP URL 安裝軟件包
如下示例說明如何使用 HTTP URL 做爲設備名稱來安裝軟件包。該 URL 必須指向流格式的軟件包。
# pkgadd -d http://install/xf86-4.3.0-video.pkg
## Downloading...
..............25%..............50%..............75%..............100%
## Download Complete
The following packages are available:
1 SUNWxf86r XFree86 Driver Porting Kit (Root)
(i386) 4.3.0,REV=0.2003.02.28
2 SUNWxf86u XFree86 Driver Porting Kit (User)
(i386) 4.3.0,REV=0.2003.02.28
.
.
.
將軟件包添加到假脫機目錄中 (pkgadd)
將軟件包添加到假脫機目錄中。
# pkgadd -d device-name
-s spooldir pkgid ...
-d device-name
指定軟件包的絕對路徑。device-name 能夠是設備、目錄或假脫機目錄的路徑。
-s spooldir
指定該軟件包進行假脫機的假脫機目錄名稱。必須指定 spooldir。
pkgid
(可選)要添加到假脫機目錄中的一個或多個軟件包的名稱,用空格分隔。若是省略,pkgadd 命令將複製全部可用的軟件包。
檢驗軟件包是否已成功複製到假脫機目錄中。
$ pkginfo -d spooldir
| grep pkgid
若是 pkgid 已正確複製,pkginfo 命令將返回一行與 pkgid 相關的信息。不然,pkginfo 命令將返回系統提示符。
從已掛載 CD 設置假脫機目錄
如下示例說明如何將 SUNWman 軟件包從基於 SPARC 的已掛載 Oracle Solaris 10 CD 傳送到缺省的假脫機目錄 (/var/spool/pkg)。
# pkgadd -d /cdrom/cdrom0/Solaris_10/Product -s /var/spool/pkg SUNWman
Transferring <SUNWman> package instance
從遠程軟件包服務器設置假脫機目錄
若是要複製的軟件包位於遠程系統上,則能夠(以軟件包格式)手動掛載包含該軟件包的目錄,並將它們複製到本地的假脫機目錄中。
如下示例說明了此方案中使用的命令。在本示例中,假設名爲 package-server 的遠程系統的 /latest-packages 目錄中有軟件包。mount 命令用來在 /mnt 上以本地方式掛載軟件包目錄。pkgadd 命令用來將 SUNWpl5p 軟件包從 /mnt 複製到缺省的假脫機目錄 (/var/spool/pkg)。
# mount -F nfs -o ro package-server:/latest-packages /mnt
# pkgadd -d /mnt -s /var/spool/pkg SUNWpl5p
Transferring <SUNWpl5p> package instance
若是站點上運行的是自動安裝程序,則沒必要手動掛載遠程軟件包服務器,而會使用自動安裝程序路徑(在本示例中爲 /net/package-server/latest-packages)做爲 -d 選項的參數。
# pkgadd -d /net/package-server/latest-packages -s /var/spool/pkg SUNWpl5p
Transferring <SUNWpl5p> package instance
從缺省的假脫機目錄安裝軟件包
如下示例說明如何從缺省的假脫機目錄安裝 SUNWpl5p 軟件包。若是不使用任何選項,pkgadd 命令將在 /var/spool/pkg 目錄中搜索已命名的軟件包。
# pkgadd SUNWpl5p
.
.
.
Installation of <SUNWpl5p> was successful.
列出有關全部已安裝軟件包的信息 (pkginfo)
列出已安裝的軟件包
如下示例說明如何列出本地系統上安裝的全部軟件包,不管本地系統是獨立系統仍是服務器。輸出中顯示了主類別、軟件包名稱和軟件包的說明。
$ pkginfo
system SUNWaccr System Accounting, (Root)
system SUNWaccu System Accounting, (Usr)
system SUNWadmap System administration applications
system SUNWadmc System administration core libraries
.
.
.
顯示有關軟件包的詳細信息
如下示例說明如何經過指定長格式列出系統上已安裝的全部軟件包,長格式中包括有關指定軟件包的全部可用信息。
$ pkginfo -l SUNWcar
PKGINST: SUNWcar
NAME: Core Architecture, (Root)
CATEGORY: system
ARCH: i386.i86pc
VERSION: 11.10.0,REV=2005.01.21.16.34
BASEDIR: /
VENDOR: Oracle Corporation
DESC: core software for a specific hardware platform group
PSTAMP: on10ptchfeatx20110211045100
INSTDATE: Mar 03 2011 10:57
HOTLINE: Please contact your local service provider
STATUS: completely installed
FILES: 2 installed pathnames
2 shared pathnames
2 directories
檢查已安裝軟件包的完整性 (pkgchk)
檢查已安裝軟件包的狀態。
要檢查文件的屬性和內容,請鍵入如下命令:
# pkgchk -a| -c -v pkid ...
要指定假脫機目錄的絕對路徑,請鍵入如下命令:
# pkgchk -d spooldir pkgid ...
-a
指定僅審計文件屬性(權限),而不是像缺省狀況下那樣既審計文件屬性又審計文件內容。
-c
指定僅審計文件內容,而不是像缺省狀況下那樣既審計文件內容又審計文件屬性。
-v
指定詳細模式,該模式會顯示正在處理的文件的名稱。
-d spooldir
指定假脫機目錄的絕對路徑。
pkgid
(可選)一個或多個軟件包的名稱,用空格分隔。若是未指定 pkgid,則會檢查系統上已安裝的全部軟件包。
檢查已安裝軟件包的內容
如下示例說明如何檢查軟件包的內容。
# pkgchk -c SUNWbash
若是未出現錯誤,將返回系統提示符。不然,pkgck 命令將報告錯誤。
檢查已安裝軟件包的文件屬性
如下示例說明如何檢查軟件包的文件屬性。
# pkgchk -a SUNWbash
若是未出現錯誤,將返回系統提示符。不然,pkgck 命令將報告錯誤。
檢查已在假脫機目錄中安裝的軟件包
如下示例說明如何檢查已複製到假脫機目錄 (/export/install/packages) 中的軟件包。
# pkgchk -d /export/install/packages
## checking spooled package <SUNWadmap>
## checking spooled package <SUNWadmfw>
## checking spooled package <SUNWadmc>
## checking spooled package <SUNWsadml>
對於假脫機軟件包的檢查有必定的限制,由於並不是全部的信息均可以在未安裝軟件包的狀況下進行審計
檢查已安裝對象的完整性 ( pkgchk -p, pkgchk -P)
檢查已安裝對象的完整性。
要經過指定一個或多個完整路徑名來檢驗已安裝對象的完整性,請鍵入如下命令:
# pkgchk -lp path-name
要使用部分路徑名(能夠是一個或多個)來檢驗已安裝對象的完整性,請鍵入如下命令:
# pkgchk -lP partial-path-name
-p path
僅檢查所列出的一個或多個路徑名是否正確。路徑能夠是一個或多個用逗號分隔的路徑名。指定僅審計文件屬性(權限),而不是像缺省狀況下那樣既審計文件屬性又審計文件內容。
-P partial-path
僅檢查所列出的一個或多個部分路徑名是否正確。部分路徑能夠是一個或多個用逗號分隔的部分路徑名。它可匹配任何包含特定字符串(即部分路徑中所包含的字符串)的路徑名。指定僅審計文件內容,而不是像缺省狀況下那樣既審計文件內容又審計文件屬性。
-l
列出有關構成軟件包的選定文件的信息。此選項與 -a、-c、-f、-g 和 -v 選項不兼容。指定詳細模式,該模式會顯示正在處理的文件的名稱。
經過指定完整路徑名檢查已安裝對象的完整性
如下示例說明如何使用 pkgchk -lp 命令,經過指定完整路徑名來檢查文件系統上對象的內容/屬性。-l 選項列出了有關構成軟件包的選定文件的信息。
# pkgchk -lp /usr/sbin/pkgadd
Pathname: /usr/sbin/pkgadd
Type: regular file
Expected mode: 0555
Expected owner: root
Expected group: sys
Expected file size (bytes): 867152
Expected sum(1) of contents: 45580
Expected last modification: Jul 02 02:20:34 2004
Referenced by the following packages:
SUNWpkgcmdsu
Current status: installed
經過指定部分路徑名檢查已安裝對象的完整性
如下示例說明如何使用 pkgchk -lP 命令,經過指定部分路徑名(如文件名或目錄名)來檢查文件系統上對象的內容/屬性。-l 選項列出了有關構成軟件包的選定文件的信息。
# pkgchk -lP /sbin/pkgadd
Pathname: /usr/sbin/pkgadd
Type: regular file
Expected mode: 0555
Expected owner: root
Expected group: sys
Expected file size (bytes): 867152
Expected sum(1) of contents: 45580
Expected last modification: Jul 02 02:20:34 2004
Referenced by the following packages:
SUNWpkgcmdsu
Current status: installed
Pathname: /usr/sbin/pkgask
Type: linked file
Source of link: ../../usr/sbin/pkgadd
Referenced by the following packages:
SUNWpkgcmdsu
Current status: installed
刪除軟件包
刪除已安裝的軟件包。
# pkgrm pkgid ...
pkgid 標識一個或多個要刪除的軟件包的名稱,用空格分隔。若是省略,pkgrm 命令將刪除全部可用的軟件包。
刪除軟件包
如下示例說明如何刪除軟件包。
# pkgrm SUNWctu
The following package is currently installed:
SUNWctu Netra ct usr/platform links (64-bit)
(sparc.sun4u) 11.9.0,REV=2001.07.24.15.53
Do you want to remove this package? y
## Removing installed package instance <SUNWctu>
## Verifying package dependencies.
## Processing package information.
## Removing pathnames in class <none>
.
.
.
刪除假脫機軟件包
如下示例說明如何刪除假脫機軟件包。
# pkgrm -s /export/pkg SUNWaudh
The following package is currently spooled:
SUNWaudh Audio Header Files
(sparc) 11.10.0,REV=2003.08.08.00.03
Do you want to remove this package? y
Removing spooled package instance <SUNWaudh>
列出軟件包的依賴軟件包
要列出某個軟件包的依賴軟件包,請使用 pkgdep 命令。該命令的語法以下:
# pkgdep package-name
列出依賴軟件包
# pkgdep SUNWzsh
SUNWcar
SUNWcsd
SUNWcsl
SUNWcsr
SUNWcsu
SUNWkvm