• 软件包管理-rpm


    1、软件包分类

    ◆源码包

    >脚本安装包

     

    ◆二进制包(RPM包、系统默认包)

     

    2、源码包

    源码包的优点是:

    ◆开源,如果有足够的能力,可以修改源代码

    ◆可以自由选择所需的功能

    ◆软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高

    ◆卸载方便

     

    源码包的缺点

    ◆安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误

    ◆编译过程时间较长,安装比二进制安装时间长

    ◆因为是编译安装,安装过程中一旦报错新手很难解决

     

    3、RPM包

    二进制包的优点

    ◆包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载

    ◆安装速度比源码包安装快的多

     

    二进制包缺点:

    ◆经过编译,不再可以看到源代码

    ◆功能选择不如源码包灵活

    ◆依赖性

     

     

    1、RPM包命名原则

    httpd-2.2.15-15.el6.centos.1.i686.rpm

    Httpd

    软件包名

    2.2.15

    软件版本

    15

    软件发布的次数

    el6.centos

    适合的Linux平台

    i686

    适合的硬件平台

    Rpm

    rpm包扩展名

     

     

    2、RPM包依赖性

    ◆树形依赖:a>b>c

    ◆环形依赖:a>b>c>a

    ◆模块依赖:模块依赖查询网站:

    www.rpmfind.net

    1、包全名与包名

    ◆包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径

    ◆包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库

     

    2、RPM安装

    rpm -ivh包全名

    选项:

    -i     (install)

    安装

    -v   (verbose)

    显示详细信息

    -h    (hash)

    显示进度

    -nodeps

    不检测依赖性

     

    3、RPM包升级

    rpm  -Uvh   包全名      //此处u大写

    选项:

    -U(upgrade)升级

     

    3、卸载

    rpm  -e   包名

    选项:

    -e(erase)

    卸载

    -nodeps

    不检查依赖性

     

     

    1、查询是否安装

    [root@localhost~]#rpm -q包名

    #查询包是否安装

    选项:

    -q

    查询(query)

    [root@localhost~]#rpm -qa

    #查询所有已经安装的RPM包

    选项:

    -a

    所有(all)

     

     

    2、查询软件包详细信息

    [root@localhost~]#rpm  -qi   包名

    选项:

    -I

    查询软件信息(information)

    -p

    查询未安装包信息(package)

     

     

    3、查询包中文件安装位置

    [root@localhost~]#rpm -ql包名

    选项:

    -l

    列表(list)

    P

    查询未安装包信息(package)

     

     

    4、查询系统文件属于哪个RPM包

    [root@localhost~]#rpm  -qf系统文件名

    选项:

    -f

    查询系统文件属于哪个软件包(file)

     

     

     

    5、查询软件包的依赖性

    [root@localhost~]#rpm -qR包名

    选项:

    -R

    查询软件包的依赖性(requires)

    -p

    查询未安装包信息(package)

     

     

    1、RPM包校验

    [root@localhost~]#rpm  -V  已安装的包名

    选项:

    -V

    校验指定RPM包中的文件(verify)

     

    验证内容中的8个信息的具体内容如下:

    S

    文件大小是否改变

    M

    文件的类型或文件的权限(rwx)是否被改变

    5

    文件MD5校验和是否改变(可以看成文件内容是否改变)

    D

    设备的中,从代码是否改变

    L

    文件路径是否改变

    U

    文件的属主(所有者)是否改变

    G

    文件的属组是否改变

    T

    文件的修改时间是否改变

     

     

     

    2、RPM包中文件提取

    [root@localhost~]#rpm2cpio  包全名  |

    cpio-idv.文件绝对路径

     

    rpm2cpio

    #将rpm包转换为cpio格式的命令

     

    cpio

    #是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

     

    [root@localhost~]#cpio  选项 <[文件|设备]

    选项:

    -i

    copy -in模式,还原

    -d

    还原时自动新建目录

    -v

    显示还原过程

     

    [root@localhost ~]#rpm-qf /bin/ls

    #查询ls命令属于哪个软件包

    [root@localhost~]#mv /bin/ls/tmp/

    并造成1s命令误删除假象

    [root@localhost~]#rpm2cpio /mnt/cdrom/Packages/coreutils-

    8.4-19.el6.i686.rpmlcpio-idv./bin/ls

    #提取RPM包中1s命令到当前目录bin/ls下

    [root@localhost ~]#cp /root/bin/ls/bin/

    #s命令复制会/bin/目录,修复文件丢关

     

  • 相关阅读:
    [v]Linux下安装Git
    Ubuntu12.04 安装PyCharm
    IE11 Enterprise Mode
    Ubuntu 14.04 安装nVidia驱动后不能进入图形界面的恢复过程
    VirtualBox中安装Ubuntu12.04/Ubuntu14.04虚拟机
    Notepad++配置Python开发环境
    boost 1.56.0 编译及使用
    关于"The dependency was added by the project system and cannot be removed" Error
    [v]Windows下Git安装指南
    Windows开发环境搭建(安装 VS2010, VS2013, VS2015 Community, Windows Server 2008 R2)
  • 原文地址:https://www.cnblogs.com/xbycf/p/12389563.html
Copyright © 2020-2023  润新知