Solaris安装命令

分类: solaris 2008-05-07 20:45

所有作为操作环境的一部分要安装的软件都包含在称为软件包(package)的压缩文件里。Solaris   10软件包提供了简单的方法将应用可执行程序、配置文件以及在其他系统上发布的文档集成在一起。 除了Solaris 10软件包之外,Solaris 10还提供了标准的UNIx文档和压缩工具,例如Tar(磁带文档)和compress.在本文中我们将介绍如何使用标准的Solaris 10命令行界面(Command Line Interface,CLI)工具来管理软件包、显示包信息以及卸载软件包。

  Solaris 10命令行界面(Command Line Interface,CLI)工具命令包括几个命令:

  * pkginfo 命令:用来列出有关已安装软件 包的信息。

  * pkgadd 命令:用来添加和删除已签名的软件包;

  * pkgrm 命令:用来删除不需要的软件包。

  * pkgchk 命令:用来检验已安装软件 包的完整性。

  下面依次介绍。另外还包括两个不常用命令:

  * Pkgproto命令: 创建一个原理文件说明软件包中所包含的文件。

  * Pkgmk命令: 创建一个软件包目录。

  一、 pkginfo命令的使用

扫描二维码关注公众号,回复: 1288819 查看本文章

  可以使用 pkginfo 命令列出有关已安装软件 包的信息。

  1.pkginfo 命令格式:

  pkginfo -d device [-x|1][options][pkg_name]

  主要参数:

  -q:安静的方式

  -p:选择部分安装包

  -i:选择全部安装包

  -x:压缩列表

  -l:长列表

  -r:重新分配

  -c :目录[目录……]

  -a :结构

  -v :版本

  -d:软件包在的设备路径

  pkg_name:软件包名称


2 命令实例

  * 分页显示所有已经安装的软件包

  使用命令即可:“pkginfo|more ”命令输出如图1 .

图1 分页显示所有已经安装的软件包

  * 显示有关软件包的详细信息

  使用命令即可:“pkginfo -l name ”。以下示例说明如何通过指定长格式列出系统上已安装的所有软件包,长格式中包括有关指定软件包的所有可用信息。pkginfo -l SUNWPython命令输出如下:

#pkginfo -l SUNWPython
PKGINST: SUNWPython
NAME: The Python interpreter, libraries and utilities
CATEGORY: GNOME2,application,JDS3
ARCH: i386
VERSION: 2.3.3,REV=10.0.3.2004.12.16.14.40
BASEDIR: /usr
VENDOR: Sun Microsystems, Inc.
DESC: The Python interpreter, libraries and utilities
PSTAMP: swanson20041216144036
INSTDATE: Oct 19 2006 13:13
HOTLINE: Please contact your local service provider
STATUS: 全部安装
FILES: 2468个 已安装的路径名
3 个共享的路径名
28 目录
106 可执行文件
58058 个已使用的块(近似)

  pkginfo -l 输出包括以下信息

二、 使用pkgadd安装软件

  1 命令格式:pkgadd[-d[device|pathname]]pkg_name

  主要参数:

  pkg_name:软件包名称

  -a admin-file :(可选)指定在安装期间应当由 pkgadd 命令检查的管理文件。有关使用管理文件的详细信息,请参见使用管理文件。

  -d device :指定软件包的绝对路径。device-name 可以是设备、目录或假脱机目录的路径。如果未指定软件包所在的路径,   pkgadd 命令将检查缺省的假脱机目录 (/var/spool/pkg)。如果软件包不在缺省的假脱机目录中,软件包的安装将失败。

  pkgid :(可选)一个或多个要安装的软件包的名称,用空格分隔。如果省略,pkgadd 命令会从指定的设备、目录或假脱机目录安装所有可用的软件包。

  2 为pkgadd设置代理服务器的方法

  如果系统位于具有代理的防火墙之后,则需要首先设置代理服务器,然后才能使用 pkgadd 命令从 HTTP 服务器添加软件包。使用 http_proxy、HTTPPROXY 或 HTTPPROXYPORT 环境变量指定代理服务器。例如:

  # setenv http_proxy http://mycache.domain:8080

  或者指定以下内容之一:

  # setenv HTTPPROXY mycache.domain

  # setenv HTTPPROXYPORT 8080

  然后,使用 pkgadd -a 命令标识管理文件。如:

  # pkgadd -a /tmp/admin -d http://myserver.com/pkg SUNWpkg

  3 添加光盘中的一个软件包

  如添加Sun的SUNWpl5u软件包,首先使用上面介绍的命令查看一下:

  #pkinfo -d /cdrom/cdrom0/s0/Solaris _10/Product SUNWpl5u

  然后使用pkgadd安装软件

  # pkgadd –d -d /cdrom/cdrom0/s0/Solaris _10/Product SUNWpl5u

  of <SUNWpl5u> was successful.

  4 建立一个spool目录

  为方便起见,可以将经常安装的软件包复制到假脱机目录中。如果将软件包复制到缺省的假脱机目录 (/var/spool/pkg) 中,那么,在使用 pkgadd 命令时无需指定软件包的源位置(-d device-name 参数)。缺省情况下,pkgadd 命令会检查在命令行上指定的软件包是否存在于 /var/spool/pkg 目录中。请注意,将软件包复制到假脱机目录中不同于在系统上安装软件 包。

  #pkgadd –d device-name –s spooldir pkgid

  使用建立spool目录的方法,在客户机上安装SunWman软件包

  #pkgadd –d /cdrom/cdrom0/s0/Solaris _10/Product –s /var/spool/pkg SunWman

  在客户机上安装软件 包命令:

  #mount –F nfs –o ro package-server:/var/spool/pkg /mnt
5 安装一个第三方软件的详细步骤

  Wget是GNU的一个免费的多线程下载软件,官方网址是:http://www.gnu.org/software/wget/ .Wget支持HTTP, HTTPS和FTP协议,是一个非交互式的命令行工具,所以可以无需借助X-windows就能够从多种脚本语言、cron tabs、终端窗口中调用。Wget的最新版本是1.10.2,Solaris 10 Sparc版本的安装包是wget-1.10.2-sol10-sparc-local.gz,Solaris 10 x86版本的安装包是wget-1.10.2-sol10-x86-local.gz,下载后的安装步骤如下(以下X86版本为例。)

  * 解压缩

  #gzip -d ./ wget-1.10.2-sol10-x86-local.gz

  * 安装命令:

  #pkgadd -d ./ wget-1.10.2-sol10-x86-local.gz

  默认安装路径是/,首先系统提示是否安装,如图2 .

  图2首先系统提示是否安装

  选择all或者确省配置开始安装,系统提示是否建立/usr/local/目录,选择y 继续,如图3 .

  图3系统提示是否建立/usr/local/目录

  如果出现图4 界面表示安装成功。

  图4 安装成功界面

 6从 HTTP URL 安装软件

  以下示例说明如何使用 HTTP URL 作为设备名称来安装软件 包。该 URL 必须指向流格式的软件包。

  # pkgadd -d http://install/xf86-4.3.0-video.pkg

  7 pkgadd应用说明

  如果 pkgadd 命令在软件包安装期间遇到问题,则会在该提示符后面显示一则与该问题有关的消息: “Do you want to continue with this installation? ”可以回答 yes、no 或 quit.如果指定了多个软件包,请键入 no 停止安装正在安装的软件包。pkgadd 命令会继续安装其他软件包。键入 quit 可停止安装。

  三、 pkgchk命令的使用

  1 命令格式:pkgchk[-lacvp path1[path2…]]

  主要参数:

  -a :指定仅审计文件属性(权限),而不是像缺省情况下那样既审计文件属性又审计文件内容。

  -c:指定仅审计文件内容,而不是像缺省情况下那样既审计文件内容又审计文件属性。

  -v:指定详细模式,该模式会显示正在处理的文件的名称。

  -d spooldir :指定假脱机目录的绝对路径。

  pkgid :(可选)一个或多个软件包的名称,用空格分隔。如果未指定 pkgid,则会检查系统上已安装的所有软件包。

  2 命令实例1

  以下示例说明如何检查软件包的内容。

  # pkgchk -c SUNWbash

  如果未出现错误,将返回系统提示符。否则, pkgchk 命令将报告错误。

  3 检查已安装对象的完整性

  使用新的 -P 选项,可以指定部分路径。添加此选项有助于将文件映射到软件包。将此选项与 -l 选项结合使用,可以列出有关包含部分路径的文件的信息。使用 -p 选项,可以通过指定全路径来检查已安装对象的完整性。

  要通过指定一个或多个全路径名来检验已安装对象的完整性,使用命令:

  # pkgchk -lp path-name

  要使用部分路径名(可以是一个或多个)来检验已安装对象的完整性,使用命令:

  # pkgchk -lP partial-path-name

  -p path :仅检查所列出的一个或多个路径名是否正确。路径可以是一个或多个用逗号分隔的路径名。指定仅审计文件属性(权限),而不是像缺省情况下那样既审计文件属性又审计文件内容。

  -P partial-path :仅检查所列出的一个或多个部分路径名是否正确。部分路径可以是一个或多个用逗号分隔的部分路径名。它可匹配任何包含特定字符串(即部分路径中所包含的字 符串)的路径名。指定仅审计文件内容,而不是像缺省情况下那样既审计文件内容又审计文件属性。

  -l :列出有关构成软件包的选定文件的信息。此选项与 -a、-c、-f、-g 和 -v 选项不兼容。指定详细模式,该模式会显示正在处理的文件的名称。

  4 命令实例2 :

  使用 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): 189448
Expected sum(1) of contents: 25716
Expected last modification: 12月 07 10时±00*47秒 2005
Referenced by the following packages:
SUNWpkgcmdsu
Current status: installed

四、 使用pkgrm命令删除软件包

  1命令格式:pkgrm package_name

  package_name 即软件包名称。

  2 命令实例1

  如果希望删除刚刚安装wget 可以使用命令:

  # pkgrm SMCwget

  首先系统提示是否删除,选择y 即可删除。

  如果出现图5 界面表示删除成功。

  图5删除成功界面

  3 命令实例2

  以下示例说明如何删除假脱机软件包。

# 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 

  4 应用说明:

  要删除或卸载软件包,请使用添加或安装软件 包时所使用的相关工具。例如,如果软件是使用 Solaris 安装程序 GUI 安装的,请使用 Solaris 安装程序 GUI 卸载软件。请勿使用 传统的Unix  命令rm 删除软件包,否则将导致用来跟踪系统上所有已安装软件 包的数据库不准确。

  本文总结:本文中我们将介绍如何使用标准的Solaris 10命令行界面(Command Line Interface,CLI)工具来管理软件包、显示包信息以及卸载软件包。和GUI方式相比CLI命令更加快速和适合远程操作。

猜你喜欢

转载自xueqi.iteye.com/blog/1537162
今日推荐