HelloWorld10241024 2022-09-23 16:18 采纳率: 100%
浏览 28
已结题

Linux rpm 命令怎么使用和yum有啥区别吗

Linux rpm 命令怎么使用呢,和yum有啥区别吗,期待有详解

  • 写回答

3条回答 默认 最新

  • 共饮一杯无 2022年度博客之星评选TOP 15 2022-09-23 16:21
    关注

    rpm 执行安装包有二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由 RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。

    常用命令组合

    -ivh:安装显示安装进度--install--verbose--hash
    -Uvh:升级软件包--Update;
    -qpl: 列出RPM软件包内的文件信息[Query Package list];
    -qpi:列出RPM软件包的描述信息[Query Package install package(s)];
    -qf:查找指定文件属于哪个RPM软件包[Query File];
    -Va:校验所有的 RPM软件包,查找丢失的文件[View Lost];
    -e:删除包

    #查询程序是否安装
    rpm -q samba 
    #按路径安装并显示进度
    rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm 
    #指定安装目录
    rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm  
    #用来检查依赖关系;并不是真正的安装;
    rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm
    #新版本降级为旧版本
    rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm 
    #搜索指定rpm包是否安装,搜索*httpd*
    rpm -qa | grep httpd --all
    #[搜索rpm包]所有文件安装目录
    rpm -ql httpd --list
    #[查看rpm包]package信息
    rpm -qpi Linux-1.4-6.i368.rpm --query--package--install 
    #[查看rpm包]
    rpm -qpf Linux-1.4-6.i368.rpm --file
    #[查看包]依赖关系
    rpm -qpR file.rpm 
    #[抽出文件]
    rpm 2cpio file.rpm |cpio -div    
    #[安装新的rpm]
    rpm -ivh file.rpm  --install--verbose--hash
    rpm -ivh [url]http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm[/url] 
    #[升级一个rpm]
    rpm -Uvh file.rpm   --upgrade
    #[删除一个rpm包]
    rpm -e file.rpm --erase
    

    常用参数

    Install/Upgrade/Erase options:
    -i, --install                     install package(s)
    -v, --verbose                     provide more detailed output
    -h, --hash                        print hash marks as package installs (good with -v)
    -e, --erase                       erase (uninstall) package
    -U, --upgrade=<packagefile>+      upgrade package(s)
    --replacepkge                     无论软件包是否已被安装,都强行安装软件包
    --test                            安装测试,并不实际安装
    --nodeps                          忽略软件包的依赖关系强行安装
    --force                           忽略软件包及文件的冲突
    Query options (with -q or --query):
    -a, --all                         query/verify all packages
    -p, --package                     query/verify a package file
    -l, --list                        list files in package
    -d, --docfiles                    list all documentation files
    -f, --file                        query/verify package(s) owning file
    

    RPM源代码包装安装

    .src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,用户要安装这类RPM软件包,必须使用命令:

    #这个命令会把源代码解包并编译、安装它
    rpm --recompile vim-4.6-4.src.rpm   
    #如果用户使用这个命令,在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm 的RPM软件包。
    rpm --rebuild vim-4.6-4.src.rpm 
    

    另外:# rpm -ivh --aid samba*.rpm (一定要安装rpmdb后才可以用这种方式安装排除依赖关系)

    rpm命令和yum命令对比

    rpm命令和yum命令都可以用来安装软件。

        rpm 只能安装已经下载到本地机器上的rpm 包,yum能在线下载并安装rpm包,能更新系统。
    
        rpm适用于所有环境,而yum要搭建本地yum源才可以使用!
    
        yum是上层管理工具,rpm是底层管理工具。
    
        yum命令在安装软件时如果碰到了依赖性的问题,yum会去主动尝试解决依赖性,如果解决不了才会反馈给用户。而rpm命令一旦遇到了依赖性的问题不会去解决依赖性,而是直接反馈给用户,让用户自行解决。
    
        yum是在rpm的基础上建立的一个工具,在配置好yum源之后很多功能比rpm命令更强大,更方便。rpm可以查询包安装后生成的配置文件等,查询未安装软件包中的内容,查询软件包相关的脚本。一般情况下软件包的查询,安装,卸载,和软件属于的软件包等命令用yum的相关命令来完成更好。
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月1日
  • 已采纳回答 9月23日
  • 创建了问题 9月23日

悬赏问题

  • ¥15 未生成产品编码机器人还连不上 wifi
  • ¥15 我需要全国每个城市的最新小区名字等数据。
  • ¥15 开发一个小区生态的小程序
  • ¥15 如何解决Excel中dependent dropdown list 的问题
  • ¥15 MddBootstrapInitialize2失败
  • ¥15 LCD Flicker
  • ¥15 esp32在micropython环境下使用ssl/tls连接mqtt服务器出现以下报错Connected on 192.168.154.223发生意外错误: 5无法连接到 MQTT 代理,如何解决?
  • ¥15 关于#genesiscsheel#的问题,如何解决?
  • ¥15 Android aidl for hal
  • ¥15 STM32CubeIDE下载程序报错