开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Linux RPM 命令详解及源码编译安装

简介:
+关注继续查看

       RPM 是RPM Package Manager(RPM软件包管理器)的缩写。

         RPM文件在Linux系统中的安装最为简便。

一.

  1.   rpm:

                 主要工作内容为安装,查询,卸载,升级,校验,数据库的重建,验证数据包等。

  2.   rpm  lib数据库

                 数据库为 /var/lib/rpm

  3.    rpm命名

                   包的组成部分

                            主包:

                                    bind-版本号

                                            如:bind-9.1.1-1.i586.el5.rpm

                            子包:

                                        bind-libs-9.1.1-1.i586.el5.rpm

                                        bind-utils-9.1.1-1.i586.el5.rpm

                            包名格式:

                                         name-version-release.arch.rpm

                                         bind软件名-主版本号.次版本号.发行号.架构平台.rpm

                                  主版本号:重大改进

                                  次版本号:某个子功能发生重大变化

                                  发行号:修正了部分BUG,调整了一点功能


二:

       1. rpm安装命令

                rpm -i  /PAth/File文件

                        -v 以#显示进度,每个#表示2%;

                        -h:显示详细的信息过程

                        -vv:显示更详细的过程

                  rpm -ivh  /PATH/To/FILE

                          --nodeps:忽略依赖关系;

                                如:rpm -ivh gcc-4.4.7-3.el6.x86_64.rpm

                          --replacepkgs:重新安装,替换原有安装    

                          --force:强行安装,可以实现重装或者降级

        2. rpm包查询

                    rpm  -q  File_name:查看指定的包是否已经安装

                    rpm  -qa :查询已经安装的所有包

                    rpm  -qa |  grep File_name: 查询File_name是否已经安装,包括那些包

                    rpm  -qi  File_Name:查询指定包的说明信息

                    rpm  -ql File_Name:查询指定包安装后生成的文件列表  

                    rpm  -qf /path/to/file_name: 查询指定的文件是由哪个rpm包安装生成的

                    rpm  -qc File_Name:查询指定安装包的配置文件

                    rpm  -qd PACKAGE_Name:查询指定安装包的帮助文件

                    rpm   -q  --scripts  PACKAGE_Name:查询指定安装包中包含的脚本

    如果某个rpm包尚未安装,我们需查询其说明信息,安装以后生成的文件

                    rpm -qpi   /PATH/to/PACKAGE_Name

                    rpm  -qpl  /PATH/to/PACKAGE_Name    

        3. rpm包升级

                     rpm  -Uvh  /PATH/to/PACKAGE_Name   如果装有老版本的,则升级,否则安装

                     rpm  -Fvh  /PATH/to/PACKAGE_Name   如果装有老版本的,则升级,否则退出

                     rpm  --oldpackage: 降级

        4. rpm卸载

                     rpm  -e PACKAGE_Name :

                     rpm   --nodeps :忽略依赖关系

                     rpm  -e  --nodeps Package_Name: 忽略依赖关系卸载

        5. rpm校验

                    rpm -V PACKAGE_NAME :校验指定rpm包

        6. 重建数据库

                    rpm  --rebuilddb:重建数据库,一定会重新建立

                    rpm --initdb:初始化数据库 ,没有才建立,有就不用建立数据库

        7. rpm检验来源合法性,及软件包完整性

                    [root@localhost zhang]# ls /etc/pki/

                    [root@localhost zhang]# ls /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

                    [root@localhost zhang]#rpm --import  /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release:导入密钥文件

                    rpm -K /PAPT/to/PACKAGE_NAME   验证rpm包

                            rsa,gpg:验证来源合法性,也即验证签名,可以使用--nosignature,略过此项

                             sha1,md5:验证软件包的完整性,可以使用--nodigest,略过此项

  列子:以 gcc-4.4.7-3.el6.x86_64.rpm软件包为例  

[root@localhost zhang]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@localhost zhang]# rpm -K gcc-4.4.7-3.el6.x86_64.rpm
gcc-4.4.7-3.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
[root@localhost zhang]# rpm -K --nodigest gcc-4.4.7-3.el6.x86_64.rpm
gcc-4.4.7-3.el6.x86_64.rpm: rsa (md5) pgp OK
[root@localhost zhang]# rpm -K --nosignature gcc-4.4.7-3.el6.x86_64.rpm
gcc-4.4.7-3.el6.x86_64.rpm: sha1 md5 OK

源码编译安装:
 
 编译安装的步骤:
  1、下载源码包,并解压
   # tar xf package.tar.{gz | bz2 | xz}
  注意,解压完成后的目录名称通常为package
  2.切换到源码目录中
   # cd package
  3、执行configure脚本
   # ./configure
  4.编译
   # make
  5、安装
   # make install

 configure脚本的通用功能:
  我们需要定义的配置:
   1、指定安装路径
    --prefix=/usr/local/package_name
   2、指定配置文件路径
    --sysconfdir=/etc/package_name
   3、指定启用/禁用的特性:
    --enable-feature  例如:--enable-fpm
    --disable-feature 例如:--disable-socket
   4、指定所依赖功能、程序或文件
    --with-function:启用某功能
    --without-function: 禁用某功能
   不同的程序,其configure脚本功能不同,需获取帮助
    ./configure --help   


  
二进制程序:
 #vim /etc/profile.d/apache.sh
 PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH
 export PATH

头文件输出给系统
 # ln -sv /usr/local/apache/include /usr/include/httpd
库文件输出
 #vim /etc/ld.so.conf.d/httpd.conf
 /usr/local/apache/bin
让系统重新生成库文件路径缓存
 #ldconfig
导出man文件
 #vim /etc/man.config
 MANPATH /usr/local/apache/man

 

卸载则删除安装目录即可

 


本文转自 zhangguangyi 51CTO博客,原文链接:http://blog.51cto.com/bosszhang/1676084


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
23703
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载