Solaris 10 軟件包管理

管理軟件包的工具html

 

管理軟件包的工具或命令bash

工具或命令 服務器

說明oracle

手冊頁app

installeride

啓動用於從 Oracle   Solaris 安裝介質添加軟件的安裝程序(如 Oracle Solaris 安裝程序 GUI)。安裝程序要麼位於本地,要麼位於遠程位置。工具

installer(1M)ui

prodreg (GUI)this

啓動用於添加、刪除或顯示軟件產品信息的安裝程序。使用 Oracle Solaris 產品註冊表刪除或顯示軟件產品的有關信息,這些軟件產品最初經過使用 Oracle Solaris 安裝程序 GUI pkgadd 命令安裝。spa

prodreg(1M)

Oracle Solaris 產品註冊表 prodreg 查看器 (CLI)

使用 prodreg 命令刪除或顯示軟件產品的有關信息,這些軟件產品最初經過使用 Oracle Solaris 安裝程序 GUI pkgadd 命令安裝。

prodreg(1M)

pkgadd

安裝軟件包。

pkgadd(1M)

pkgchk

檢查軟件包的安裝狀況。

pkgchk(1M)

pkginfo

列出軟件包信息。

pkginfo(1)

pkgparam

顯示軟件包的參數值。

pkgparam(1)

pkgrm

刪除軟件包。

pkgrm(1M)

pkgtrans

將可安裝的軟件包從一種格式轉換爲另外一種格式。-g 選項指示 pkgtrans 命令在所獲得的數據流中生成和存儲簽名。

pkgtrans(1)

 

 

向系統中添加軟件包。

# 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?

能夠回答 yesno 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

相關文章
相關標籤/搜索