linux管理软件包详解

rpm是一个功能十分强大的软件包管理系统,它使得linux下的安装,升级和删除软件包的工作非常简单易行,并且还有查询,验证软件包的功能。与图形化工具相比,使用命令的方式理灵活,更强大。
下面介绍的内容 都 以 example.1.2.3-1.i386 软件包为例来介绍安装,升级,更新用查询等操作和安装使用.
1:安装,升级和更新
rpm -i 安装一个新的软件包。
rpm -U 升级一个系统中已有的软件包,如果不存在就进行安装。
rpm -F 更新一个软件包,如果软件包不存在就不进行安装。
通常这几项还往往配合其它的一些参数使用,比如显示安装过程中的信息及显示安装进度等:
-v 选项表示安装时显示各种信息,如安装路径及安装了什么内容。
-h 选项将会在rpm安装时显示安装的进度条,这可以监视系统安装进程。
因此,一般想要安装软件包,最常用的命令形式就是联合使用-Uvh三个参数,以前面介绍的安装软件包example为例,输入软件包安装命令:
[root@localhost root]# rpm -Uvh example-1.2.3-1.i386.rpm
其中
example-1.2.3-1.i386.rpm 是软件包的全名,用 1.2.3 -1表示软件包的版本,i386表示软件包适用于x86系统。
2:删除
删除一个软件包的命令是:
[root@localhost root]# rpm -e example
需要注意,这里删除使用的是软件名而不是软件包的全名。
3:查询
不仅可以查询系统中已经安装的rpm软件包,还可以查询某个rpm软件包安装 文 件中包含的文件清单。
   1)列出用户已经安装的rpm软件包
       如果想查询在系统中安装的软件包信息,或是确定某个软件包是否安装,使用 rpm -qa(query all),即可查询已经安装的软件包列表;
   如果是查看某个已经安装的软件包,如example的信息,则使用rpm -q example.
   2)查看一个rmp包中包括的文件
       查看某个软件包中包含的文件清单,有两种情况:
如果是未安装的软件包example,则使用
[root@localhost root]# rpm -qlp example-1.2.3-1.i386.rpm
如果是已安装的软件包,则使用
[root@localhost root]# rpm -pl example
   3)确定某个文件属于哪个rpm包
       如果遇到了不认识的文件,想要找出它属于那个软件包,则首先记录这个文件的完整路径,然后使用如下命令:
[root@localhost root]# rpm -qf   filename
-qf 选项表示查询文件,filename需要完整的文件路径。
   4)查询rpm包的用途
   有的rpm包会利用附加信息来包含它的用途信息,这样用户可以更方便 地在安装或使用时查询每个软件包的用途,版本等信息,命令如下:
[root@localhost root]# rpm -qip example-1.2.3-1.i386.rpm

4:验证
验证一个软件包,就是比较原始包和已安装包中文件的信息。具体来说,这些信息包括每个文件的大小,MD5校验和访问许可权,类型以及所属的用户和组等。
使用命令选项-V可以验证一个包,常用的情况有以下几种:
a:验 证包含某个特殊文件的软件包,输入命令
[root@localhost root]# rpm -Vf example
b:验证所有已安装的软件包
[root@localhost root]# rpm -Va


在linux 下更通用的一种软件安装方式是 *.tar.gz/*.bz2形式的二进制软件包。这类软件包是用tar工具打包,用gzip/bzip2压缩的,安装时要先解压缩,然后按如下的步骤进 行安装.这类软件包为了能够在多种操作系统中使用,通常需要在安装时进行本地编译,然后产生可用的二进制文件。
1:获得软件
应用软件可以从网上下载,购买光盘或者是其它渠道获得,现在主要是从网上下载
2:解压
一般的tar包,都会再做一次压缩,为的是更小更容易下载,常见的是用gzip压缩,用命令 tar -zxvf   *.tar.gz ,就可完成解压或解包文件。
3:阅读附带的install和readme文件
通常tar包会包含名为install和readme的文件,提示用户安装及编译的过程。
4:执行 ./configure 命令为编译做准备
这一步通常是用来设置编译器及确定其它相关的系统参数。
5:运行make
经过 ./configure 后,将会产生用于编译用 的MakeFile,这时运行make命令,真正开始编译;
6:make install
这一步会把编译产生的可执行文件复制到正确的位置。
7:清除临时文件
运行 make clean
安装的命令如何执行,一般都会在install和readme文件中有说明,通常产生的可执行文件会被安装到/usr/local/bin目录下。
tar包的安装,用户可以自己编译安装源程序,虽然配置灵活,但是会出现话多的问题,它适合linux有一定经验的用户,不推存初学者使用。。
rpm -ivh [install_options] package
       --prefix <path>;
             This   sets   the   installation   prefix to <path>; for
             relocatable packages.

   --relocate <oldpath>;=<newpath>;
             For relocatable packages, translates the files that
             would be put in <oldpath>; to <newpath>;.

   --badreloc
             To   be   used   in   conjunction with --relocate, this
             forces the relocation even   if   the   package   isn't
             relocatable.

   --noorder
             Don't reorder the packages for an install. The list
             of packages would normally be reordered to   satisfy
             dependancies.
有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时
需要进行编译。这类软件包有两种安装方法,
方法一:
1.执行rpm -i your-package.src.rpm
2. cd /usr/src/redhat/SPECS
3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件
4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录
5. ./configure 这一步和编译普通的源码软件一样,可以加上参数
6. make
7. make install
方法二:
1.执行rpm -i you-package.src.rpm
2. cd /usr/src/redhat/SPECS
前两步和方法一相同
3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件
这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等)
在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
执行rpm -i new-package.rpm即可安装完成。
如何不安装但是获取rpm包中的文件
使用工具rpm2cpio和cpio
rpm2cpio xxx.rpm | cpio -vi
rpm2cpio xxx.rpm | cpio -idmv
rpm2cpio xxx.rpm | cpio --extract --make-directories
参数i和extract相同,表示提取文件。v表示指示执行进程
d和make-directory相同,表示根据包中文件原来的路径建立目录
m表示保持文件的更新时间。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值