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


相关文章
|
20小时前
|
Linux
Linux的find命令使用
【5月更文挑战第11天】Linux的find命令使用
10 3
|
1天前
|
关系型数据库 MySQL Linux
Linux下安装MySQL
Linux下安装MySQL
4 0
|
1天前
|
安全 Linux 网络安全
【操作系统】实验一 Linux操作系统安装
【操作系统】实验一 Linux操作系统安装
9 3
|
2天前
|
IDE Linux 开发工具
Linux 系统上安装
在Linux和Mac上安装Lua 5.3.0只需下载源码,解压,编译和安装。Windows用户可选择SciTE IDE或通过LuaForWindows在Github或Google Code下载安装。创建 HelloWorld.lua,使用`lua HelloWorld.lua`运行显示"Hello World!"。另可参考LuaDist官方推荐方式安装。
|
3天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
|
3天前
|
监控 Linux 数据处理
|
3天前
|
编解码 Ubuntu Linux
|
3天前
|
JSON Linux 数据格式
Linux命令发送http
请注意,`curl`命令非常灵活,可以根据您的需求进行多种配置和自定义。您可以查看 `curl`命令的文档以获取更多详细信息。
10 0
|
4天前
|
Oracle 关系型数据库 Linux
SuSE linux server 11通过SAP来安装oracle11g
SuSE linux server 11通过SAP来安装oracle11g
|
4天前
|
Linux C语言
suse linux 11 安装GCC开发环境
suse linux 11 安装GCC开发环境