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


相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
15 2
|
3天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
30 6
|
7天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
21 7
|
9天前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
38 7
|
7天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
20 5
|
7天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
21 4
|
6天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
11 2
|
7天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
24 3