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


相关文章
|
15天前
|
Oracle 关系型数据库 Linux
linux8安装oracle 11g遇到的问题记录
Oracle 11g在Linux 8上安装时会遇到link编译环节的问题。官方建议忽略安装中的链接错误,安装完成后应用DBPSU 11.2.0.4.240716补丁及一次性补丁33991024,再重新编译二进制文件,并配置监听器和数据库。但因11g已退出服务期,这些补丁需付费获取。网上信息显示22年1月的PSU补丁也可解决问题,找到该补丁后按常规方式打补丁即可。如有需求或疑问可咨询我。
56 20
|
7天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
48 7
|
1月前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
1月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
166 20
|
28天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
81 8
|
1月前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
182 7
|
1月前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
80 7
|
8月前
|
运维 Ubuntu 安全
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
|
Ubuntu Linux C语言
Linux下 tar命令(工具)的移植,源码下载、详细移植步骤
Linux下 tar命令(工具)的移植,源码下载、详细移植步骤
680 0
Linux下 tar命令(工具)的移植,源码下载、详细移植步骤
|
Linux
linux实现cp命令与linux下打开文件并写入源码
linux实现cp命令与linux下打开文件并写入源码
335 0