RPM软件包的管理
大多数linux的发行版本都是某种打包系统。软件包可以用来发布应用软件,有时还可以发布配置文件。他们比传统结构的.tar和.gz存档文件有几个优势。如它们能让安装过程尽可能成为不可分割的原子操作。
 软件包的安装程序会备份它们改动过的文件。如果发现新安装软件包破坏了系统上的什么地方,可以卸载它,恢复原本的状态。
 RPM(RedHat package manger)由RH公司发行的打包方式
 软件的打包方式有以下几种:
 1、RPM方式
 2、源代码压缩方式
 3、二进制文件压缩包方式
查询RPM包
格式:rpm -q [其他选项] [软件名称]
 其它选项:
 a  //表示显示当前系统中安装的所有RPM包
 f  文件名(全路径)  //表示查找指定文件所属的RPM包
 i  软件包名称  //表现显示包的用途
 l  软件包名称  //表示显示RPM包文件
 如下实例:
 rpm -q bind
 我们通过命令查看bind包的详细信息,比如这个包的名字,以及相关的信息。
 rpm -qa 
 
 这里会列出很多此操作系统以及安装了的RPM包。
 rpm -qf /etc/name.conf
 
 查找指定文件所属的RPM包
 rpm -qi bind
 
 这里会显示出这个RPM包的详细信息以及用途。
 rpmm -pl bind
 
 这里就显示出与RPM包相关的文件。
RPM包名称格式
软件名称-版本号-发行号.安装平台.rpm
 举例
 
 软件包名称为bind、版本号(9.11.4)、发行号为26、硬件平台(x86_64)。其安装简单之极,登录为根用户,然后在shell下执行下面相关命令即可。
RPM包的安装方式
很多时候,我们在linux操作系统中下载一个应用的时候,都是系统自己帮我们安装好。但是在有的时候,我们需要自己去拷贝或者下载一个安装包,这个时候就需要我们RPM包的安装方式了。
 1、普通安装使用最多的安装方式,采用一般的安装参数。安装当前目录下的xplns-elm-3.3.1-1.i386.rpm
 #rpm -ivh xplns-elm-3.3.1-1.i386.rpm
 这里的参数中
 -i 安装
 -v 显示附件信息
 -h 用#显示安装进度
 2、测试安装用户对安装不很确定时可以先使用该种安装方式测试安装,不真正安装。若无错误信息显示在真正安装。
 #rpm -i --test xplns-elm-3.3.1-1.i386.rpm
 参数
 -i 安装
 –test 测试
 3、强制安装强制安装软件,忽略软件包依赖性以及文件的冲突。若对软件包的依赖性很清楚,而且确实要忽视文件的冲突,可以选择强制安装。
 #rpm -i --force xplns-elm-3.3.1-1.i386.rpm
 参数
 -i 安装
 -v 显示附件信息
 -h 用#显示安装进度
 –test 表示强制的意思
 当然我们在安装某些安装包的时候,还有其他详细选项。
 除了我们刚才以及提到的test和force还有
 –prefix //指定安装路径。
 –nodeps //忽略包之间的依赖关系
升级软件包
格式:#rpm -Uvh [详细选项] 软件包名称
 说明:-Uvh表示升级安装且显示安装进度(U一定要大写,Linux下严格区分大小写)
 实例:rpm -Uvh bind-10.1-1.i386.rpm
 可以使用-U来安装软件包
 软件包的升级时执行卸载旧版本软件和安装新版本
 软件两个过程。RPM会先备份老文件再安装新文件。
 实例,我后面补上。
卸载软件包
格式:#rpm -e [详细选项] 软件名称
 说明:-e表示卸载软件包
 实例:
 rpm -e bind
 rpm -e nfs-utils
 
归档/压缩文件
很多时候,我们都有在Linux操作系统中做开发的时候,当我们写了很多代码很多程序的时候,这个时候我们需要将这些代码(程序)进行归档或者压缩的时候,这个时候就需要我们使用下面的命令进行完成任务。
 tar(tape archiving program),最早是一个磁盘归档程序。
 tar命令用于文件的打包,可以将若干文件和目录打包成一个文件,既利于文件管理,也方便压缩和文件的网络传输。
 tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件或者向档案加入新的文件。
 tar命令格式
 命令格式
 tar 主选项 [辅助选项] 文件或目录
 常用主选项
 -A, --catenate, --concatenate:将若干个tar文件合成一个tar文件
 -c, --create:创建一个新的tar文件
 -d, --diff, --compare:比较tar文件或文件系统的不同之处。
 –delete:从tar文件中删除文件,但不能把磁带文件删除
 -r, --append:在tar文件尾部追加文件。
 -t, --list:显示tar文件内容
 -u, --extra, get:从tar文件中提出文件。
 -Z:使用gzip压缩/解压文件
 案例讲解
 tar -cfv gone.tar./*
 c创建tar
 f指明创建文件
 v显示处理详细过程
 ./*表示把当前目录下内容打包成gong.tar
 tar -tf gone.tar
 t表示显示gone.tar中包含哪些文件
 tar -xvf gone.tar
 x表示从tar文件中提取文件
 tar -rf gone.tar myfile
 在tar文件尾部追加文件
 16