任务七 管理 rpm 软件包与压缩包
【任务实施】
为了简化此任务的实施,我们把此任务分解成下面的几个子任务来学习。
【子任务一】管理rpm软件包;
【子任务二】管理压缩软件包。
【子任务一】管理rpm软件包
rpm有五种操作模式,分别为:安装、卸载、升级、查询和验证。
第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软件包
rpm软件包的安装可以使用程序rpm来完成,安装rpm软件的时候,当前工作目录下必须有该软件包存在,否则必须跟软件包的绝对路径。通过【rpm –i 软件包名】命令或在-i参数后面直接加其他的参数来安装软件包,具体用法以及释义如下:
【rpm -i example.rpm】安装 example.rpm 包。
【rpm -iv 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,比如卸载软件包proftpd-1.2.8-1,可以使用下列格式:
【rpm -e proftpd-1.2.8-1】
【rpm -e proftpd-1.2.8】
【rpm -e proftpd-】
【rpm -e proftpd】
有时会出现一些错误或者警告: ... is needed by ... 这说明这个软件被其他软件需要,不能随便卸载,可以用【rpm -e --nodeps】强制卸载。
第5步:熟悉RPM 的其他附加命令
在实际软件安装、卸载、升级等的操作中,可能还存在软件的依赖等等一系列问题,在加上面步骤中的参数的同时,还可以加如下参数:
--force 强制操作,如强制安装删除等;
--requires 显示该包的依赖关系;
--nodeps 忽略依赖关系并继续操作;
【rpm –e --nodeps vsftpd】忽略依赖关系并继续删除vdftpd软件包。
【rpm –i --nodeps vsftpd】忽略依赖关系并继续安装vdftpd软件包。
【rpm –i --requires vsftpd】显示该包的依赖关系并安装vdftpd软件包。
【rpm –i -- force vsftpd】强制安装vdftpd软件包。
第6步:总结rpm的命名规则
假设一个软件包的名称为:abc-1.3.20-16.i386.rpm
abc代表软件包的名称;1.3.20表示版本号;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包。
【tar 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】通过zip命令压缩yhy.txt文件为yhy.zip。
【zip -r test.zip ./*】将当前目录下的所有文件和文件夹全部压缩成test.zip文件,-r表示递归压缩子目录下所有文件。
【zip test2.zip test2/*】 打包目录。
【zip -d yhy.zip yhy.txt】删除压缩文件yhy.zip中yhy.txt文件。
【 zip –d yhy.zip yhy/ln.log】删除打包文件目录下的文件。
【zip -m yhy1.zip yhy1.txt】向压缩文件yhy1.zip中添加yhy1.txt文件。
【zip yhy3.zip yhy3s/* -x yhy3s/ln.log】压缩文件时排除某个文件。
第3步:解压zip包
unzip为.zip压缩文件的解压缩程序。zip包的的解压一般采用unzip命令,具体的命令使用以及释义如下:
【unzip yhy.zip】将压缩文件yhy.zip在当前目录下解压缩。
【unzip -n yhy.zip -d /tmp】将压缩文件yhy1.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
【unzip -o test.zip -d tmp/】将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。
【unzip -v yhy.zip】查看压缩文件目录,但不解压。
【unzip a.zip】解压一个zip包。
第4步:gzip和gunzip等其他的压缩软件以及常用命令
Linux系统中还有其他的一些压缩工具以及命令,比如gz、tat.gz、bz2、tgz等等,熟悉他们会让你们的运维管理事半功倍。
1、【gzip –d a.gz 3.tar.gz】解压一个gz包。
2、【tar xvzf abc.tar.gz】解压一个tar.gz包。
3、【gunzip 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 –l】查找系统中有多少个.gz的文件,并统计数量。
8、在你的家目录中创建如下内容,以便进行后面的命令操作。
【mkdir /home/dir1 dir2 dir3】在家目录中建立三个目录。
【touch /home/dir1/file1 /home/dir1/file2 /home/dir1/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 目录(此目录需要先建立)。
【unzip 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文件压缩成file1.tar.gz。
【tar -czvf file2.tar.gz dir1/file2】将dir1/file2文件压缩成file2.tar.gz。
【tar -czvf file3.tar.gz dir1/file3】将dir1/file3文件压缩成file3.tar.gz。
16. 将第15中形成的.gz压缩文件拷贝到/tmp/gunzip目录并解压。
【mkdir /tmp/gunzip】建立gunzip目录。
【cp dir1/file1.gz dir1/file2.gz dir1/file3.gz /tmp/gunzip】复制压缩文件到新建的目录中。
【gzip -dv /tmp/gunzip/*】压缩gunzip目录下的所有文件。