您的位置:首页 > 产品设计 > 产品经理

管理rpm软件与压缩包

2018-04-01 15:20 399 查看
                                                                                       
  任务七管理rpm软件包与压缩包
【任务说明】
        
        大部分Linux软件扩展名为. rpm(RedHat Package Manager),最早由RedHat公司提出的软件包标准,后来随着rpm的不断发展而又增加许多功能,逐渐成为Linux公认的软件

包管理标准。支持该格式的厂商有RedHat Linux、Suse Linux、Mandriva Linux。扩展名为.deb是Debain Linux提供的一种包封装格式;扩展名为. tar、gz. tar、Z. tar. bz2或.tgz是

使用UNIX系统打包工具tar打包的。扩展名为. bin的一般是一些商业软件。通过扩展名可以了解软件格式,进而了解软件安装。

使用rpm时可能会遇到软件包依赖性的问题,第一种解决方式是安装好所有的依赖包,第二种方式是使用urpmi/apt/yum来自动安装依赖包。

rpm就会将套件的信息写人/var/lib/rpm目录中,所以,在进行查询时或者预计要升级时,相关的信息就会由/var/lib/rpm目录的内容数据来提供。

本任务的主要目的是熟悉Linux系统中的rpm软件的安装与常用的几个压缩与解压缩命令。

【任务实施】

为了简化此任务的实施,我们把此任务分解成下面2个子任务来学习。

【子任务一】管理rPm软件包;

【子任务二】管理压缩软件包。

【子任务一】管理rpm软件包

rpm有5种操作模式,分别为:安装、卸载、升级、查询和验证。

第1步:查询rpm软件是否已经安装

在安装一个软件之前,往往需要先确认该软件是否已经安装。通过【rpm-q软件包名】

命令查询或在参数-q后面直接加其他的参数来查询软件包的安装信息,具体命令以及释义

【rpm-qa |grep tomcat4】查询已经安装的tomcat4的所有套件。

【rpm-qip example. rpm】查询example. rpm安装包的信息。

【rpm-qif /bin/df】查询/bin/df文件所在安装包的信息。

【rpm-qlf /bin/df】查询/bin/df文件所在安装包中的各个文件分别被安装到哪个目

录下。





备注:参数-q表示查询;参数a表示查询所有套件,参数i表示显示套件的相关信息;参数l显示安装包中的所有文件被安装到哪些目录下;参数s显示安装版中的所有文件状态及放安装

到哪些目录下;参数p查询指定的rpm套件档;参数f查询拥有指定文件的套件。

第2步:安装rpm软件包

rom软件包的安装可以使用程序rpm来完成。安装rpm软件的时候,当前工作目录下必须有该软件包存在,否则必须跟软件包的绝对路径。通过【rpm-i软件包名】命令或在参数-i

后面直严加其他的参数来安装软件包,具体命令以及释义如下。

【rpm-i example. rpm】安装example. rpm包。

【rpm-io example. rpm】安装example. rpm包并在安装过程中显示正在安装的文件信息。

【rpm -ivh.example. rpm】安装example. rpm包并在安装过程中显示正在安装的文件信息及安装进度



备注:一i表示安装指定的软件包,一v显示安装时详细信息一h显示安装进程。

第3步:升级rpm软件包

当一个软件包已经安装,需要对其进行升级操作,采用【rpm-U软件包名】命令,可对其

【rpm-U example. rpm】升级example. rpm软件包。

【rpm-Uvh example rpm】加参数v显示升级时详细信息,加参数h显示安装进程。

第4步:卸载rpm软件包

使用【rpm-e软件包名】命令卸载已经安装好的软件包。

【rpm-e tomcat4】卸载tomcat4软件包。

备注:包名可以包含版本号等信息,但是不可以有扩展名。rpm,例如卸载软件包proftop-1. 2. 8-1,可以使用下列格式。

【rpm-e proftpd-1. 2. 8-1】

【rpm-e proftpd-1. 2. 8】

【rpm-e roftpd-】

【rpm-e proftpd】




有时会出现一些错误或者警告:... is needed by...这说明这个软件被其他软件需要,不能随便卸载,可以用【rpm-e--nodeps】命令强制卸载。

第5步,熟悉rpm的其他附加命令

在实际软件安装、卸载、升级等的操作中,可能还存在软件的依赖等一系列问题,在加上上面步骤中的参数的同时,还可以加如下参数。--force,强制操作,如强制安装删除等;

--requires,显示该包的依赖关系。

--nodeps,忽略依赖关系并继续操作。

【rpm-e--nodeps vsftpd】忽略依赖关系并继续删除vsftpd软件包。

【rpm-i--nodeps vsftpd】忽略依赖关系并继续安装vsftpd软件包。

【rpm-i--requires vsftpd】显示该包的依赖关系并安装vsftpd软件包。

【rpm-i一一rce vsftpd】强制安装vsftpd软件包.

第6步:认识rpm的命名规则

假设一个软件包的名称为: abc-1. 3. 20-16. i386. rpm,abc代表软件包的名称i 1. 3. 20表示版本号i;16表示发行次数; i386表示适用平台为Intel x86,除了i386选项外常见的还有

sparc(指sparc平台)、alpha(指Alpha平台)、src(指软件源代码)。

【子任务二】管理压缩软件包

在Linux系统世界中,除了rpm软件包,还有很多压缩软件包,所以在此子任务中,需要熟悉压缩软件包的管理等操作。

第1步:管理tar软件包

使用tar命令加各种参数来管理tar软件包,具体命令以及释义如下。

【tar cvf aa. tar aa. txt】建立一个tar包(把aa. txt压缩到文件aa. tar中)。

【tar xvf aa. tar】解压一个tar包。

【rar cvfz aa. tar. gz aa. txt】建立一个tar. gz包。



备注:在上面的命令中,加上了cvf、xvf、cvfz等参数,它们的具体释义如下:

c表示创建一个新tar包;

v显示运行过程信息;

f指定文件名;

X解开一个tar包;

z调用zip;

t查看压缩包内容;

r添加文件。

第2步:管理zip包

zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有. zip扩展名的压缩文件。 使用【zip】命令加各种参数来管理zip软件包,具体命令以及释义如下。

【zip yhy. zip yhy. txt】压缩yhy. txt文件为yhy. zip。

【ziP-r test. zip. /*】将当前目录下的所有文件和文件夹全部压缩成test. ziP文件,-r表示递归压缩子目录下所有文件。

【zip test2. ziP test2/ *】打包目录。

【zip-d yhy. zip yhy. txt】删除压缩文件yhy. zib中的yhy. txt文件。

【zip-d yhy. ziP yhy/ln. log】删除打包文件目录下的文件in. log。

【zip-m yhy1. ziP yhy1. txt】向压缩文件yhy1. ziP中添加yhy1. txt文件。

【zip yhy3. ziP yhy3s/* -x yhy3s/In. log】压缩文件时排除in. log文件。









第3步:解压zip包

unzip为. zip压缩文件的解压缩程序。zip包的解压一般采用【unzip】命令。具体命令以及释义如下。

【unzip yhy. zip】将压缩文件yhy. ziP在当前目录下解压缩。

【unzip-n yhy. ziP-d /tmp】将压缩文件yhy. ziP在指定目录/tmp下解压缩,如果已有相同的文件存在,要求【unzip】命令不覆盖原先的文件。

【unzip-o test. zio-d tmp/】将压缩文件test. zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求【unzip】命令覆盖原先的文件。

【unzip-v yhy. zip】查看压缩文件目录,但不解压。

【unzip a. zip】解压一个zip包。







第4步:gzip和gunziP等其他的压缩软件以及常用命令

Linux系统中还有其他的一些压缩工具以及命令,例如gz、fat. gz、bz2、tgz等,熟悉它们会让运维管理事半功倍。

(1) 【gzip-d a. gz 3. tar. gz】解压一个gz包。

(2)【tar xvzf abc tar. gz】解压一个tar. gz包。

(3)【gunzio abc tgz】解压一个tgz包。

(4) 【tar xvzf a. tar. z】解压一个tar. z包。

(5)【bunzip2 b. txt. bz2】解压一个bz2包。

(6) 【find / _name " *. zip”】将系统中所有的. zip文件名显示出来。

(7) 【find / _name " *.gz" |wc-I】查找系统中有多少个. gz文件,并统计数量。

(8)在家目录中创建如下内容,以便进行后面的命令操作。

【mkdir /home/dir1 dir2 dir3】在家目录中建立3个目录。

【touch /home/dir1/file1 /home/dir1/file2 /home/dir1/file3】分别在新建的目录中建立file1、file2 、file3文件。

(9)【ziP-q-r /root/ys1. ziP /root/*】将家目录下的所有文件(不包括目录)压缩成文件ys1. ziP。

(10) 【zip-m ys1. ziP install. log】将/root/install. log添加到ys1. zip中。

(11) 【unzip-v ys1. zip】显示ys1. ziP中包含的文件信息。

(12)【mkdir /tmP/unziP-ys1】建立unzip-ys1目录(此目录需要先建立)。

【unziP ys1. ziP-d /tmP/unziP-ys1/】将ys1. ziP解压至/tmP/unziP-ys1下。

(13) 【ziP-r /root/ys2. ziP /root/*】将家目录下的所有文件(包括目录)压缩成文件ys2. ziP。

(14)【mkdir /tmp/unzip-ys2】建立unziP-ys2目录(此目录需要先建立)。

【unzio ys2. zip-d /tmp/unzip-ys2】将ys2. ziP解压至/tmP/unziP-ys2目录下.

(15)将(8)中的文件file1、file2、file3分别压缩成. gz的形式。

【tar-czvf file1. tar. gz dir1/file1】将dir1/file1文件压缩成filel. tar. gz。

【tar-czvf fileZ. tar. gz dir1/file2】将dirl/file2文件压缩成file2. tar. gz。

【tar-czvf file3. tar. gz dir1/file3】将dir1/file3文件压缩成file3. tar. gz.

(16)将(15)中形成的. 9z压缩文件复制到/tmP/gunziP目录并解压。

【mkdir /t'mP/gunziP】互让立gunxiP目录。

【cp dir1/file1. gz dir1/file2. gz dir1/file3. gz /tmp/gullzip】望制压缩文件到新建的目录中。

【gzip-dov/tmo/gunziP/*】压缩gunzip目录下的所有文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息