Linux程序包管理rpm命令的使用解析

简介:

态度决定一切,其实你可以做得更好!

今天工作调休,抽空发布一篇博文,和大家一起来学习一下Linux下程序包的管理,rpm命令的使用。

先来介绍下Linux下常见程序包的类别:

RPM包:是发行商在兼容大众的开发环境下完成编译打包并且测试签名了的,可直接安装使用。

源码包: 提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制码并进行安装。其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境;缺点是难度较大,一般不适合初学者使用。

RPM:(RedHat Packages Manager)——红帽软件包管理工具

安装源:

        操作系统的安装光盘里面就有很多功能的程序包。

        http://mirrors.sohu.com

还有很多站点,大家慢慢搜集。

接下来介绍rpm命令的常见用法:

rpm的认证机制,如何去判断一个rpm包来源合法性,软件包是否正规,

我们首先挂载光盘(也就是安装源)

# mount -t iso9660 /dev/sr0  /mnt/dvd -r

wKiom1NfExezpeSfAAHWgSDOz-g754.jpg

现在进入到挂载的文件夹

# cd /mnt/dvd

# ls

wKiom1NfFpKhIZzMAALpZu4elLI984.jpg

用rpm命令导入公钥(上图我用红色标记的就是官方的公钥。)

# rpm --import RPM-GPG-KEY-redhat-release 

wKiom1NfF5rRhzulAABRRXoZR-c836.jpg

导入成功!

现在进入Packages目录,里面全是软件包,我们测试下zsh-4.3.10-5.el6.x86_64.rpm这个包完整否?

# rpm -K zsh-4.3.10-5.el6.x86_64.rpm

wKioL1NfGUGwVoJkAAFU4JnKuT4868.jpg

看来是OK的!

接下来看看如何用rpm命令安装软件包:

rpm -i /path/rpm_file

-i:安装

-v:显示安装过程详细信息

-h:现在安装进度

我们安装下zsh这个软件包

# rpm -ivh zsh-4.3.10-5.el6.x86_64.rpm

wKiom1NfHEHCpxq1AAC1d3ynBSk629.jpg

安装成功!

其实软件包和软件包之间是有依赖关系的,有的软件包需要依赖别的软件包的库。

--nodeps:忽略依赖关系

--test:测试安装

--replacepkgs:重新安装

再看看如何卸载软件包,还是拿zsh这个软件包为例。

-e:卸载

# rpm -e zsh

wKioL1NfHh7R8qvKAAByufg6vNc881.jpg

卸载成功,卸载的时候后面指包名就可以了。

软件包的查询:

        查询所有已经安装的软件包:

rpm -qa

如果查询某个可以结合grep

rpm -qa | grep ‘pattern’

wKiom1NfIDqgz3XuAACGBbRdq8E587.jpg

查询软件包的摘要信息:

# rpm -qi httpd

wKiom1NfIUaAu9swAAHfXhkvMLk507.jpg

这里面有很多信息,名称,版本号,供应商,创建日期,加密算法,描述信息等。

查询生成的文件清单:

# rpm -ql httpd

用来查看安装的rpm包生成了哪些文件。

wKiom1NfIlijz2OAAAEDktqXrzc522.jpg

查询某文件是由哪个rpm包生成的;

# rpm -qf /etc/httpd/conf

wKiom1NfI1jy5R7aAAB0btb6QZc280.jpg

查询安装包生成的配置文件:

# rpm -qc httpd

wKioL1NfI6fhbM9xAACn7EY2KMM917.jpg

查询安装包生成的帮助文档:

# rpm -qd httpd

wKioL1NfJGnRokwRAAFwIQP-vrc890.jpg

查询相关的脚本:

# rpm -q --scripts httpd

wKioL1NfrKjietRoAAFlzjW0WKA405.jpg

升级:

-U:升级+安装

-F:升级

--force:强制

--nodeps:忽略依赖性

好了就到这里了,下次带来yum,yum可以自动解决依赖性的问题,使用方便,目前主用yum。

 

本文转自qw87112 51CTO博客,原文链接:http://blog.51cto.com/tchuairen/1404501



相关文章
|
3月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
241 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
4月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
414 11
|
10月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
12月前
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
354 20
|
12月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
607 11
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
396 6
|
10月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1017 29
|
10月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
437 4