• rpm---linux软件安装与管理


    linux的安装命令选项太多,整理一下,方便后期查找.

     

    汇总:

    install:  rpm -ivh 包全名  安装

    upgrade:  rpm -Uvh 包全名  升级

    erase:  rpm -e 包名  删除 

    search rpm:

      rpm -q 包名  查询软件包是否安装 

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

      rpm -qi 包名  查询已安装的rpm信息

      rpm -qip 包名  查询未安装的rpm信息

      rpm -ql 包名  查看rpm的安装位置

      rpm -qlp 包名  查看rpm的预设安装位置

      rpm -qf 系统文件名  eg:  rpm -qf /usr/share/locale/de/LC_MESSAGES/lrzsz.mo  查看文件输入哪个rpm包

    rpm校验

      rpm -V 已安装的包名

    rpm包中的文件提取----处理一些系统文件丢失时,可以用到

      rpm2cpio 包全名 | cpio -idv .文件绝对路径  eg:  rpm2cpio /mnt/cdrom/Packages/coreutils-5.97-23.el5.rpm | cpio -idv ./bin/ls

     

    yum--rpm的在线安装方法!!!

    其他参考博客:

    RPM 命令大全

    Linux学习之CentOS(二十三)--Linux软件管理之源代码以及RPM软件包管理

     

    ----------------------------------------------------以下是详细信息----------------------------------------------------

     

    RedHatCentOS中

    linux软件包主要分为两类

    • 源码包

        脚本安装包---所谓的脚本安装包就是封装安装源码包和二进制包的安装过程.

    • 二进制包(RPM包 系统默认包)

    rpm包所在位置:rpm包一般在系统光盘的Packages目录中.

    命名规则:httpd-2.2.15-15.e16.centos.1.i686.rpm--------包全名-----------操作的包是没有安装的软件包时,使用包全名,注意路径!!!  eg:install upgrade

    --httpd软件包名---------------------------------------------------包名--------------操作已经安装的软件包时,适用包名,(搜索的/var/lib/rpm/中的数据库)  eg:erase search

    --2.2.15 software version

    --15软件发布的次数

    --e16.centos适用linux平台

    --i686适用的硬件平台

    --rpm-rpm包扩展名

     

    rpm包依赖性:

    • 树形依赖:a-->b-->c    解决方法:先install c,再install b,最后install a.
    • 环形依赖:a-->b-->c-->a    解决方法:同时install a/b/c
    • 模块依赖(库文件依赖):查询Url:http://www.rpmfind.net/    解决方法:先install 含有依赖文件(.so)的rpm包,再安装目标rpm包.

     

    rpm安装:

    rpm -ivh 包全名    一般先install主包,再install附加包

    option:

      -i  install安装

      -v  verbose显示详细信息

      -h  hash显示进度

      --nodeps不检测依赖性---------------没事别强制安装,就算安装上软件也不可用.

    注意:显示2个100%才时真正安装成功!!!  第一个只是准备成功而已.

     

    rpm升级:

    rpm -Uvh 包全名

    options:

      -U  upgrade 升级

    如果安装包比当前版本高,则执行升级操作.否则不会安装.如果当前并没有没有安装,等同于安装命令. 

     

    rpm卸载:

    rpm -e 包名

    options:

      -e  erase 卸载

      --nodeps不检测依赖性

    eg:  rpm -e httpd

    卸载时,需要先下载依赖它的其他包.

     

    rpm查询:

    • 查询软件包是否安装

    rpm -q 包名

    #查询包是否安装

      -q  查询(query)

    [root@localhost ~]# rpm -q gedit
    gedit-2.16.0-9.el5
    [root@localhost ~]# 

     

    rpm -qa

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

      -a  所有 all

    • 查询软件包详细信息

    rpm -qi 包名

    options:

      -i  查询软件信息 information

      -p  查询未安装包信息 package

    [root@localhost ~]# rpm -qi gedit
    Name        : gedit                        Relocations: (not relocatable)
    Version     : 2.16.0                            Vendor: Red Hat, Inc.
    Release     : 9.el5                         Build Date: 2008年01月09日 星期三 23时13分50秒
    Install Date: 2014年06月24日 星期二 18时45分10秒      Build Host: hs20-bc2-4.build.redhat.com
    Group       : Applications/Editors          Source RPM: gedit-2.16.0-9.el5.src.rpm
    Size        : 17719102                         License: GPL
    Signature   : DSA/SHA1, 2008年01月10日 星期四 20时04分02秒, Key ID 5326810137017186
    Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
    URL         : http://gedit.sourceforge.net/
    Summary     : gEdit is a small but powerful text editor for GNOME
    Description :
    gEdit 是一个小型的文本编辑器。它是特为 GNOME GUI
    桌面而设计的。gEdit 包括一个插件 API(支持可扩展性,
    同时又保持核心二进制程序的小巧),支持使用笔记本标
    签来编辑多重文档,以及标准的文本编辑器功能。
    
    您需要安装 GNOME 和 GTK+ 来使用 gEdit。
    [root@localhost ~]# 
     1 [root@localhost software]# rpm -qip httpd-2.2.3-91.el5.centos.x86_64.rpm 
     2 warning: httpd-2.2.3-91.el5.centos.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
     3 Name        : httpd                        Relocations: (not relocatable)
     4 Version     : 2.2.3                             Vendor: CentOS
     5 Release     : 91.el5.centos                 Build Date: 2014年09月16日 星期二 23时09分48秒
     6 Install Date: (not installed)               Build Host: builder17.centos.org
     7 Group       : System Environment/Daemons    Source RPM: httpd-2.2.3-91.el5.centos.src.rpm
     8 Size        : 3325176                          License: Apache Software License
     9 Signature   : DSA/SHA1, 2014年09月19日 星期五 19时48分33秒, Key ID a8a447dce8562897
    10 URL         : http://httpd.apache.org/
    11 Summary     : Apache HTTP 服务器
    12 Description :
    13 The Apache HTTP Server is a powerful, efficient, and extensible
    14 web server.
    15 [root@localhost software]# 
    •  查询包中文件安装位置

    rpm -ql 包名

    options:

      -l  列表 list

      -p  查询未安装包将要安装在哪里信息 package

     1 [root@localhost software]# rpm -qlp httpd-2.2.3-91.el5.centos.x86_64.rpm 
     2 warning: httpd-2.2.3-91.el5.centos.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
     3 /etc/httpd
     4 /etc/httpd/conf
     5 /etc/httpd/conf.d
     6 /etc/httpd/conf.d/README
     7 /etc/httpd/conf.d/proxy_ajp.conf
     8 /etc/httpd/conf.d/welcome.conf
     9 /etc/httpd/conf/httpd.conf
    10 /etc/httpd/conf/magic
    11 /etc/httpd/logs
    12 /etc/httpd/modules
    13 /etc/httpd/run

    rpm默认安装位置--------------并非硬性标准,仅仅是习惯安装位置,个别软件是有不遵守此标准的.

    /etc/    配置文件安装目录

    /usr/bin/    可执行命令安装目录

    /usr/lib/    程序所使用的函数库保存位置

    /usr/share/doc/    基本的软件使用手册保存位置

    /usr/share/man    帮助文件保存位置

     

    • 查询系统文件属于哪个rpm包

    rpm -qf 系统文件名(必须是通过rpm安装出来的文件才可以进行反向查询)

    options:

      -f  查询系统文件属于哪个软件包 file

     1 [root@localhost var]# rpm -ql lrzsz
     2 /usr/bin/rb
     3 /usr/bin/rx
     4 /usr/bin/rz
     5 /usr/bin/sb
     6 /usr/bin/sx
     7 /usr/bin/sz
     8 /usr/share/locale/de/LC_MESSAGES/lrzsz.mo
     9 /usr/share/man/man1/rz.1.gz
    10 /usr/share/man/man1/sz.1.gz
    11 [root@localhost var]# rpm -qf /usr/share/locale/de/LC_MESSAGES/lrzsz.mo
    12 lrzsz-0.12.20-22.1
    13 [root@localhost var]# 

     

    • 查询软件包依赖性

    rpm -qR 包名

    options:

      -R  查询软件包的依赖性 requires

      -p  查询未安装包的信息 package

     1 [root@localhost var]# rpm -qR lrzsz
     2 libc.so.6  
     3 libc.so.6(GLIBC_2.0)  
     4 libc.so.6(GLIBC_2.1)  
     5 libc.so.6(GLIBC_2.3)  
     6 libc.so.6(GLIBC_2.3.4)  
     7 libc.so.6(GLIBC_2.4)  
     8 libnsl.so.1  
     9 rpmlib(CompressedFileNames) <= 3.0.4-1
    10 rpmlib(PartialHardlinkSets) <= 4.0.4-1
    11 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
    12 rtld(GNU_HASH)  
    13 [root@localhost var]# rpm -qRp /root/software/httpd-2.2.3-91.el5.centos.x86_64.rpm 
    14 warning: /root/software/httpd-2.2.3-91.el5.centos.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
    15 /bin/bash  
    16 /bin/mktemp  
    17 /bin/mv  
    18 /bin/rm  
    19 /bin/sh  
    20 /bin/sh  
    21 /bin/sh  
    22 /bin/sh  
    23 /bin/sh  
    24 /etc/mime.types  
    25 /sbin/chkconfig  
    26 /usr/bin/find  

     

     rpm包校验:

    rpm -V 已安装的包名

    options:

      -V  校验指定rpm包中的文件  verify  没有任何输出,则代表OK;如果显示出信息,则代表文件被动了手脚--文件被修改.

     

    rpm包中的文件提取

    rpm2cpio 包全名 | cpio -idv .文件绝对路径

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

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

    cpio 选项 < [文件|设备]

    options:

      -i  copy-in模式,还原

      -d  还原时自动新建目录

      -v  显示还原过程

    1 [root@localhost ~]# rpm -qf /bin/ls
    2 coreutils-5.97-23.el5
    3 [root@localhost ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-5.97-23.el5.rpm | cpio -idv ./bin/ls
    4 [root@localhost ~]# cp /root/bin/ls /bin/

     

  • 相关阅读:
    数据结构第2章 线性表
    电磁阀二位三通
    DSP芯片的基本结构和特征
    4. 输出文字
    NOP 指令作用[转]
    C语言内存分配calloc,malloc,realloc的区别
    多文件共享全局变量和函数[原创]
    练习1——四则运算
    作业3——阅读《构建之法》15章
    作业二——结对 四则运算
  • 原文地址:https://www.cnblogs.com/jxdong116/p/6132177.html
Copyright © 2020-2023  润新知