RPM Yum 相关命令及参数
RPM 系列文章:
RPM 命令
我们可以直接使用rpm命令,对软件包进行一些操作。
安装
rpm –ivh <package_name>
rpm –Uvh <package_name> # 没有安装过,则安装
rpm –Fvh <package_name> # 没有安装过,则忽略
-nodeps
忽略依赖问题,一般仅用于测试-i
install;-v
详细信息;-h
以安装信息栏显示安装进度;--test
可以测试是否有属性依赖问题
卸载
rpm –e <package_name> # 有其它包依赖此RPM包时,卸载会报错
升级
升级时使用-ivh
会提示文件冲突
rpm –Uvh <package_name>
没有安装过,则安装rpm –Fvh <package_name>
没有安装过,则忽略
查找
rpm -q[licdR] 已安装的软件名
rpm -qp[licdR] 未安装的文件名称
,注意,这里查看的前提是你本地有一个这个未安装的软件包rpm -qf 存在于系统的某个文件名
参数:
查询已安装软件的信息:
-q
判断软件是否已安装rpm -q mock
,如果安装了,那么会列出该包的全名-qa
列出所有的已安装在本机上的软件名称-qi
列出软件的详细信息,开发商、版本等-ql
列出该软件的所有文件与目录-qc
列出该软件的所有配文件(找出在/etc
下面的目录名而已)-qR
列出与该软件有关的依赖软件及文件,注意了,这里不只是列出了依赖的软件-qf
找出与后面接的文件所属哪个软件,注意文件名要「绝对路径」,例如rpm -qf /bin/rz
非已安装软件:
-qp[icdlR]
用途差不多,但是并非已安装的软件信息,比如本地有个软件filename.x86_64.rpm
,可以rpm -qpR ./filename.x86_64.rpm
。
验证
对已安装的包进行文件校验:
rpm –V <package_name>
rpm -Vp <rpm_file>
rpm -Va
导入key:
rpm --import <RPM_KEY>
在包安装之前进行签名校验:
rpm -K <rpm_>file
重建数据库
RPM 数据库存储在 /var/lib/rpm
内,如果文件损坏,可以重建:
rpm –rebuilddb 解决系统RPM数据库的异常
YUM 命令
yum 其实是透明的调用 rpm,相当于在 rpm 基础上封装的更易使用的“前端”。
它主要设计来解决软件包之间的依赖性,并可从多个资源库(我们称之为“源”,典型的由 /etc/yum.repos.d/
目录下的每个 .repo
文件定义)。
源制作
createrepo <dir>
一般的 CentOS 系的 ISO 镜像中,都带有安装时使用的rpm包。可以将这部分文件mount到本地,创建本地源,以减少软件安装时的上网下载。
例如,你在一个有 RPM 包的文件夹下,就可以执行 createrepo .
命令,然后你的 REPO
配置一个本地源也是 OK 的。
安装
yum install <package_name>[-<version_info>] -y
yum localinstall <rpm_file> 本地安装
yum groupinstall <group_name> 组安装
升级
yum update [package_name]
降级
yum downgrade <package_name>-<version_info>
卸载
yum remove/erase <package_name>
谨慎使用: 此命令会卸载掉所有依赖此包的RPM包
查找
yum search <pkg_name> # 搜索相关软件
yum list # 列出目前 yum 管理的所有软件 注意,这里包含了未安装的软件
yum list 以及相关的一些命令则能够为你提供有关软件包、软件包集和软件仓库的信息。所有的 yum list 命令都能够使用 glob 表达式作为参数,对输出结果进行过滤。在 glob 表达式中,你可以使用 * 代表任何数量个字符,使用 ? 代表任何一个字符。
yum list <glob_expr> [more_glob_exprs] 列出所有符合 glob 表达式的软件包
yum list all
列出所有已安装的和可用的软件包yum list installed
列出所有已经安装在系统中的软件包。输出结果的最右边一列是取得该软件包的软件仓库。标识为 installed 的软件包则说明它是做为系统基本组件而预安装的。yum list available
列出所有启用的软件仓库中可用的软件包yum list --showduplicates |grep nginx |sort
这样就会显示启用的 YUM 源中 nginx 的所有版本,而不是最新版本yum grouplist
列出所有软件包组yum repolist [-v]
列出所有启用的软件仓库的 ID,名称 及其包含的软件包的数量
本地缓存相关
yum clean all 清除本地缓存
yum makecache 只做本地缓存
yum history
查看 Yum 事务完整的历史记录。
# info 命令查看涉及指定软件包的事务详情
yum history info httpd
参考
其他
- 使用
yum info <package_name> [more_names]
命令可查看一个或多个软件包的信息 (此处同样可以应用 glob 表达式)。 yum provides <filename>
这个命令左右和rpm -qf
挺类似,有用的一个命令,例如yum provides /usr/bin/mock
依赖包下载研究
利用 downloadonly
下载
这种方式可能需要先安装 downloadonly
插键才行,不过我发现,我没安装就有了。
yum install --downloadonly --downloaddir=/tmp/yums/ nginx
如果主机上已经安装了 nginx,那么这个命令貌似并不会把 nginx 等相关依赖包下载下来。只有当主机上没有安装 nginx 包时,这个下载才会 OK。
利用这个命令,你可以一次下载多个包的依赖包的:
yum install --downloadonly --downloaddir=/root/mypackages/ httpd-2.2.6-40.el7 vsftpd
利用 yumdownloader
工具
它可以一次性下载任何 RPM 软件包及其所有依赖包。如果主机上没有这个命令,则需要安装:
yum install -y yum-utils
下载包的依赖包,并指定存放的目录(如果不指定,就默认下载到当前目录):
yumdownloader --resolve --destdir=/tmp/yums/ nginx
# OR
yumdownloader --resolve --destdir /tmp/yums/ nginx
我发现这个命令和上面 downloadonly
一样的现象,当 nginx 包已经安装在主机上了,它就不会去下载它的依赖包,但是和上面有所区别的是,它还是会把 nginx 这个包下载下来的。
其他
repoquery --requires --resolve <package-name>
# rpmrepater會向用戶顯示已安裝包的列表,你可以使用上/下箭頭來滾動屏幕
# 可以在指定包上使用"r"鍵來顯示其依賴關係,循環在指定包上按下"r"鍵可以展示出餘下的信息。
# "L"標誌的意思是說這個包是一片“孤葉”,意思說說沒有任何包依賴它。
# "o"標誌是說這個包是整個依賴鏈的中間部分。
# 按下"b"鍵會顯示其他依賴於該包的其他包。
yum install rpmreaper
rpmreaper
参考
- How can I instruct yum to install a specific version of package X?
- How to Install Specific Version of Package on CentOS & RHEL 7
- YUM – Install Specific Version of Package
- 鬼谷君-Yum自动下载RPM包及其所有依赖的包
- 教你如何在Fedora,CentOS,RHEL中检查RPM包的依赖性 很全了
RPM Yum 相关命令及参数的更多相关文章
- 执行yum相关命令总是卡住,ctrl+c也退出不了
问题描述 在用yum.rpm命令安装或查询任何包时,执行相关命令后无任何反应,直接卡住,也未给出任何错误提示信息,ctrl+c也不好使,只能杀掉进程. 原因 出现此问题是因为rpm的数据库出现异常了, ...
- Linux中yum手动安装、手动建立仓库文件夹关联实现关联包自动安装、yum相关命令使用
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指 ...
- rpm yum 等命令无响应的解决方法
yum 安装查询任何东西, rpm 安装查询任何东西,执行后无任何反应,直接卡住,也没任何错误信息给出,只能杀掉进程 # yum install XXXX # yum clean all # rpm ...
- DockerSwarm+Dubbo镜像与部署相关命令与参数
Docker 镜像 一.容器转镜像 docker commit <containerId> <image:tag> docker commit 3ffa4284ddca zoo ...
- 软件包管理(rpm&yum)
一.rpm包管理器 rpm是一个功能强大的包管理工具,可用于构建,安装,查询,验证,更新和卸载软件包. 用法: rpm [OPTION...] 配置文件: /var/lib/rpm/ 已安装rpm包的 ...
- Python命令行参数sys.argv[]
学习C语言的时候就没弄明白命令行参数的用法,在学习Pyton 的时候又遇到了命令行参数,在这里稍微学习了一下,稍微明白了一些在这里做个记录方便后面回顾复习. Sys.argv[]是用来获取命令行参数的 ...
- httprunner学习15-运行用例命令行参数详解
前言 HttpRunner 在命令行中启动测试时,通过指定参数,可实现丰富的测试特性控制. 命令行参数CLI 使用 -h 查看相关命令行参数 hrun -h 参数名称 参数值 参数说明 -h, --h ...
- yum、RPM常用的命令(转)
# yum install xxx 安装xxx软件# yum info xxx 查看xxx软件的信息# yum remove xxx ...
- 常见rpm包和yum包命令
1.rpm包 在 安装.升级.卸载服务程序时要考虑到其他程序.库的依赖关系,在进行校验.安装. 卸载.查询.升级等管理软件操作时难度都非常大. RPM 机制则为解决这些问题而设计的.RPM 有点像 W ...
随机推荐
- 查看集成环境 phpstudy 中 mysql 版本号
1. 打开面板 2.其他选项菜单 3. Mysql工具 4. mysql命令行 5.输入密码,回车.phpstudy mysql默认 root 6.运行 select version();
- Strassen 矩阵相乘算法(转)
偶尔在算法课本上面看到矩阵相乘的算法,联想到自己曾经在蓝桥杯系统上曾经做过一道矩阵相乘的题目,当时用的是普通的矩阵相乘的方法,效率极低,勉强通过编译.所以决定研究一下Strassen矩阵相乘算法,由于 ...
- Map 嵌套存储Map
import java.util.HashMap;import java.util.Iterator;import java.util.Set;import java.util.Map.Entry; ...
- jqeury点击空白关闭弹窗
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- hadoop伪分布环境快速搭建
1.首先下载一个完成已经进行简单配置好的镜像文件(hadoop,HBASE,eclipse,jdk环境已经搭建好,tomcat为7.0版本,建议更改为tomcat8.5版本,运行比较稳定). 2安装V ...
- PHP(方法 函数 循环 和 数组 查找)
循环 和 数组 查找 顺序查找 二分法查找 冒泡排序 方法 函数 定义:一堆代码的集合叫做函数(满足条件下“一堆”) 语法,定义,调用,参数列表(形参,实参),返回值 两种方法: function 方 ...
- linux基本介绍
Linux介绍 操作系统: 主要作用是管理好硬件设备,并为用户和应用程序提供简单的接口,以便于使用.作为中间人链接软件和硬件. 不同领域的操作系统: 1.桌面操作系统 Windows(用户群大).ma ...
- Windows 10 Creators Update [ISO官方镜像][15063][1703][x64][x86][创意者更新正式版]
请把下载地址手动复制到迅雷里面去,谢谢! [64 位简体中文专业/家庭版] 文件名:cn_windows_10_multiple_editions_version_1703_updated_march ...
- 移动前端开发和 Web 前端开发的区别
http://www.itcast.cn/news/20180125/16033584753.shtml 1,普通PC端开发与移动端开发区别. 先说背景,我大言不惭的说一下,我pc端的前端开发干了有快 ...
- python_代码中调用java类
1. 安装jpype (python调用java class文件用) 1.1. 自动安装:pip install jpype1 1.2. 手动方式安装jpype1 安装wheel:pip instal ...