软件包管理(rpm&yum)
一、rpm包管理器
rpm是一个功能强大的包管理工具,可用于构建,安装,查询,验证,更新和卸载软件包。
用法:
rpm [OPTION...]
配置文件:
/var/lib/rpm/ 已安装rpm包的元数据
选项:
- -i:安装
- --test:测试安装
- --nodeps:忽略依赖关系
- --replacepkgs | replacefiles 重装
- --nosignature:不检查来源合法性
- --nodigest:不检查包完整性
- --noscript:不执行程序包脚本
- --nopre:不执行安装前脚本
- --nopost:不执行安装后脚本
- --nopreun:不执行卸载前脚本
- --nopostun:不执行卸载后脚本
- -v|-vv:显示过程
- -h:显示进度条
- --force:强制
- -e:卸载
- --allmatches:卸载包的所有版本
- -U:升级安装
- -F:升级
- --oldpackage:降级
- -q:查询
- -a:显示所有包
- -f:查询文件是由哪个包生成的
- -p:查询未安装的文件名
- -c:只看配置文件
- -d:显示文档
- -i:包的说明信息
- -l:查看程序包提供了哪些文件
- --scripts:查询包的脚本信息
- -R:查询包所依赖的“能力”
- --whatprovides CAPABILITY:查询指定的”能力“由哪个包所提供
- --whatrequires CAPABILITY:查询指定的“能力”被哪个包所依赖
- --changelog:查询rpm包的更新日志
- --provides:列出包提供的“能力”
- -V:校验包属性是否发生变化,以下为变化的信息
- S file Size differs
- M Mode differs (includes permissions and file type)
- 5 digest (formerly MD5 sum) differs
- D Device major/minor number mismatch
- L readLink(2) path mismatch
- U User ownership differs
- G Group ownership differs
- T mTime differs
- P capabilities differ
- -K:检查包的签名和完整性
- --import /etc/pki/rpm-gpg/KEY导入公钥
- --root=/path/ 安装到指定“/”下
- --initdb:初始化rpm数据库
- --rebuilddb:重建rpm数据库
相关命令:
ldconfig -p 查看系统中所有的库
rpm2cpio FILE.rpm |cpio -tv 预览包内文件
rpm2cpio FILE.rpm |cpio -idv /path/file 解压rpm包指定文件
二、yum包管理器
yum(Yellowdog Update Modifier)是一个基于rpm的交互式软件包管理器。
用法:
yum [options] [command] [package ...]
配置文件:
/etc/yum.conf 配置文件
- cachedir 缓存目录
- keepcache=0|1 安装时是否保留缓存的rpm包
- logfile 日志文件
- gpgcheck=0|1 检查签名和完整性
/var/log/yum.log 日志
/etc/yum.repos.d/FILE.repo yum源文件
[base]
name=base #描述信息
baseurl=http|ftp|file #yum仓库,路径指向repodata的父目录
enabled=0|1
gpgcheck=0|1
gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
failovermethod={roundrobin|priority}
#roundrobin:意为随机挑选,为默认值
#priority:按顺序访问
cost= #优先级,默认1000,值越小越优先
mirror=http|ftp|file #指向repo地址的文件
/var/cache/yum/x86_64/6 缓存路径
# yum-config-manager --add-repo=https://mirrors.aliyun.com/centos/6/os/x86_64/
# yum-config-manager --disable “仓库名" 禁用仓库
# yum-config-manager --enable “仓库名” 启用仓库
# createrepo /rpmdir 创建元数据
选项:
- -y 安装或卸载是直接回答yes,不进入交互式
- -q 静默模式
- --disablerepo=repoidglob:临时禁用此处指定的repo
- --enablerepo=repoidglob:临时启用此处指定的repo
- --noplugins:禁用所有插件
子命令:
- list 列出repo源包含的所有软件包
- installed 列出所有已安装的包
- install 安装
- reinstall 重新安装
- repolist [all|disabled] 列出当前生效的repo源[所有|已关闭的]
- clean all 清除缓存
- update [package1...] 升级软件包
- downgrade [package1...] 降级软件包
- check-update 检查可升级的包
- remove 卸载软件包
- info 查看包的详细信息
- provides 查找命令由哪些包提供
- makecheck 手动生成缓存
- search 模糊搜索包信息
- deplist 检查依赖包
- history 安装卸载的历史
- list # 列出指定的操作
- info # 列出指定操作的详细信息
- undo # 撤销指定id的操作
- redo # 重新执行
- groupinstall 安装包组
- groupupdate 升级包组
- grouplist 列出所有包组
- groupremove 移除包组
- groupinfo 查看包组的详细信息
示例1:搭建一个本地yum源(CentOS6.9)
1、先将系统自带的repo文件移动到其他地方
[root@web1 ~]# cd /etc/yum.repos.d/
[root@web1 yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo epel-testing.repo
CentOS-Debuginfo.repo CentOS-Media.repo epel.repo
[root@web1 yum.repos.d]# mv ./* ~
[root@web1 yum.repos.d]# ls
2、将本地cdrom挂载到指定目录并设置开机挂载
[root@web1 ~]# mkdir /media/cdrom
[root@web1 ~]# mount -r /dev/sr0 /media/cdrom
[root@web1 ~]# ls /media/cdrom
CentOS_BuildTag isolinux RPM-GPG-KEY-CentOS-Debug-6
EFI Packages RPM-GPG-KEY-CentOS-Security-6
EULA RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6
GPL repodata TRANS.TBL
images RPM-GPG-KEY-CentOS-6
[root@web1 ~]# vim /etc/fstab
/dev/sr0 /media/cdrom iso9660 defaults 0 0 #加入开机自动挂载
3、配置yum源并测试
# vim /etc/yum.repos.d/base.repo
[base]
name=cdrom
baseurl=file:///media/cdrom/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[root@web1 ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
base | 4.0 kB 00:00 ...
base/primary_db | 4.7 MB 00:00 ...
repo id repo name status
base cdrom 6,706
repolist: 6,706
测试OK!
示例2:配置网络源(epel源)
以阿里源为例,下载repo文件到指定目录,测试OK!
[root@web1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
[root@web1 ~]# cat /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://mirrors.aliyun.com/epel/6/$basearch
http://mirrors.aliyuncs.com/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/6/$basearch/debug
http://mirrors.aliyuncs.com/epel/6/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0 [epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/6/SRPMS
http://mirrors.aliyuncs.com/epel/6/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0[root@web1 ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* epel: mirrors.aliyun.com
repo id repo name status
base cdrom 6,706
epel Extra Packages for Enterprise Linux 6 - x86_64 12,497
# rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm #CentOS7安装repo源
记录于2018.04.19 20:41
软件包管理(rpm&yum)的更多相关文章
- 软件包管理(rpm,yum)
软件包管理相关软件: 软件包管理器的核心功能: .制作软件包 .安装,卸载,升级,查询,效验 Redhat ,SUSE : RPM Debian :dpt 依赖关系; 前端工具;yum ,apt-ge ...
- 软件包管理 rpm yum apt-get dpkg
http://blog.csdn.net/ljq1203/article/details/7401616
- rpm软件包管理/yum软件管理
绝大数开源软件都是公布源代码的,源代码一般被打包为tar.gz归档压缩文件,然后手工编译为二进制可执行文件 ./configure 检查编译环境/相关库文件/配置参数,生成makefile make ...
- 软件包管理rpm和yum
rpm的使用: 安装的包相关包信息会保存在/var/lib/rpm目录下的文件中 安装参数: -i install安装 -v 显示详细信息 -h 打印####号 -V 校验软件包,会到/var/lib ...
- Linux系列教程(十二)——Linux软件包管理之yum在线管理
上一篇博客我们介绍了rpm包管理之rpm命令管理,我们发现在使用rpm命令手动安装rpm包的时候,会发现安装遇到到的依赖让你痛不欲生,安装一个rpm时会要先先安装某个依赖的rpm,而安装这个依赖的rp ...
- Linux软件包管理之yum在线管理
目录 1.yum在线管理 2.网络 yum 源 3.光盘 yum 源搭建步骤 ①.挂载光盘 ②.让网络 yum 源失效 ③.修改光盘yum源文件 ④.输入yum list 可以查看光盘yum源里面的软 ...
- Linux—软件包管理器yum安装详解
yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 基於RPM包管理,能够从指定的服务器自动下载RPM包 ...
- 软件包管理:rpm包管理-yum在线管理-IP地址配置和网络yum源
只需告诉系统你想安装那个包,剩下的所有依赖问题yum都会解决. 有些情况下不能上网,但可以使用光盘. centos的yum是免费的.redhatyum付费. yum管理的其实同样是rpm包.并没有yu ...
- 软件包管理:rpm命令管理-包命名与依赖性
rpm包的管理主要有两种方法:一种是rpm命令管理另一种是yum在线管理 注意软件包没有扩展名,写上只是为了好看,便于识别而已. 注意区别包名,包全名.之所以要区分,就是因为有些命令十分挑剔,需要跟正 ...
- linux基础之程序包管理(rpm,yum)
一.rpm 安装:rpm { -i | --install } [ install-options ] PACKAGE_FILE... -v: 显示安装时的详细信息 -vv: 显示许多难以阅读的调试信 ...
随机推荐
- linux命令学习笔记(15):tail 命令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件, tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新 ...
- 七牛 python
Python SDK使用指南 上传策略 变量 对象存储 API 参考手册 多媒体数据处理 API 参考手册
- 8th
2017-2018-2 20179212<网络攻防实践>第8周作业 视频学习 Kali权限维持之后门 权限维持包含Tunnel工具集.Web后门.系统后门三个子类.其中系统后门与web后门 ...
- 每天一个linux命令(6):rm命令
版权声明更新:2017-05-10博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1文章介绍 本文介绍了Linux下面的rm命令. 2 开 ...
- INT 21H 指令说明及使用方法
很多初学汇编语言的同学可能会对INT 21H这条指令感到困惑,不知道是什么意思,下面就以一段简单的程序为大家讲解: 例如:需要键盘输入,并且回显. AH的值需要查表取得,表在下面 指令: M ...
- [转]JS的内存泄露处理
问题: 1.给DOM对象添加的属性是一个对象的引用.范例: var MyObject = {}; document.getElementByIdx_x('myDiv').myProp = MyObje ...
- JavaScript运行机制与setTimeout
前段时间,老板交给了我一个任务:通过setTimeout来延后网站某些复杂资源的请求.正好借此机会,将JavaScript运行机制和setTimeout重新认真思考一遍,并将我对它们的理解整理如下. ...
- 纯js+html+css实现模拟时钟
前几天没事写的个模拟时钟,代码仅供小白参考,大神请自动绕过. <!DOCTYPE html> <html lang="en"> <head> & ...
- Velocity下面的Velocimacros设置
Velocimacros #macro script element允许模板设计者定义一段可重用的VTL template.Velocimacros广泛用于简单和复杂的行列.Velocimacros的 ...
- CRT Library Features
CRT Library Features The new home for Visual Studio documentation is Visual Studio 2017 Documentatio ...