RHCE 学习笔记(13) RPM 和 YUM

简介:

这一节和老师学习了软件包的使用


首先看看如何rpm的使用,这个命令可以用来查询,安装,卸载,更新软件包


简单的说,后面跟q是查询,i是安装,u是更新,e是卸载,V是验证,我们挨个来看看


首先是查询, -qa表示查询所有已经安装的包,如下所示


wKiom1SpJHbRYChrAAA_O7jlXfk391.jpg


值得一提的是RPM本质是一个别人预先编译好的包,不同文件的路径已经事先配置好了。如果想查看一个安装包到底把文件安装到了哪些目录,可以通过cpio来解压查看


wKioL1SpJTSATs6sAAFDvGgMfr0301.jpg


-ql可以查看已经安装的的软件包的相关路径


wKiom1SpJHnTQBzmAADozrIKmdU808.jpg


-qf可以通过文件的路径来查看是由什么软件包安装的

wKioL1SpJTbC0afGAABWAa3AX5M594.jpg


-q 有很多组合选项,看看


wKiom1SpJHzghc76AAJO3_1d3c8715.jpg


-qc 可以查看配置文件


wKioL1SpJTmDGommAABxPJ3hqlY718.jpg


-qlp可以查看包的信息

wKiom1SpJH6zXgBxAAC4obnOGFg619.jpg


现在看看如何安装,常用的搭配是 -ivh,如下所示,注意他有个警告信息,这是为什么呢? 这是因为红帽的软件包都使用了数字签名,基本原理是A对一个随机值C生成哈希值D,然后用私钥加密D得到E,然后把加密过后的E和随机值C都发送给B,B用公钥解密E之后匹配随机值的哈希值D,看是否一致


因为本机上面尚未安装公钥,因为无法通过验证

wKioL1SpJTzQafw3AAD9xtnbuPA214.jpg


我们也可以通过-K来验证

wKiom1SpJIGTs8_dAAByCP_lfWw151.jpg


解决方式很简单,导入公钥就行了

wKioL1SpJT7jBlMjAACqZqDg7l4330.jpg


wKiom1SpJIOzpsY7AAArBPO84QM490.jpg


导入之后测试一下警告已经没有了

wKioL1SpJUCTqPZcAADXDui1u8g859.jpg


接下来看看更新软件包 rpm -Uvh XXX


更新的本质是卸载旧版本,然后按照新版本。普通的软件包是不能多版本共存的,因此如果直接使用 -ivh安装最新版本的包,他会提示冲突,需要使用-Uvh更新才可以;

不过,内核可以多版本共存,因此更新内核的时候不可以用-Uvh,而是应该用-ivh


查看当前的内核

wKiom1SpJIXhZJ11AADPnzHks4k255.jpg



最后,看看-V 验证软件包,安装了一个软件包,之后可以通过-V来看看是否有文件被修改了


新装的ftp服务没有做任何修改

wKiom1SpJIaSdEdCAAA4OAa6slM768.jpg

修改一下README

wKioL1SpJUPxpq7CAAB4lDmwKys070.jpg


上面用RPM安装包有一个问题就是包的依赖,往往一个软件包还依赖于其他的软件包,如果一个个手动安装非常麻烦,如何解决呢,可以使用yum直接从指定的yum源服务器那里自动下载所有依赖的软件包


下面是一个练习,配置两台服务器,rhce7-01的yum源指向本地光盘,rhce7-00指向rhce7-01的ftp服务器


配置文件repo文件可以在/etc/yum.repos.d/下面配置


wKiom1SpJIjylWFNAABahuU2A1A113.jpg


注意gpgcheck我写的是0,如果是1,需要配置公钥还需要指定路径

wKiom1SpK9fQnXahAABkL3TcB3o266.jpg


清空一下缓存,注意有警告


wKioL1SpJUjzr2zwAAC5k_LdvTQ147.jpg

这些插件不需要的话,可以手动关闭掉,把对应的enabled改成0就行了

wKiom1SpJIrxwnh3AAByN7vHVpE484.jpg

wKiom1SpJIvQdVh7AABDUu7oCxU739.jpg



在01下面,指向本地,所以baseurl=file:///var/ftp/iso

wKioL1SpJUngWD-1AABqLyxXnkQ094.jpg

wKiom1SpJI6CmHdxAABtACN_rio222.jpg


接下来在01上安装ftp服务

wKioL1SpJUvhSLZAAADH_BerHwM197.jpg


重启一下

wKiom1SpJJCQCT_NAABvUPTtwNI517.jpg


FTP下面创建一个子目录/iso,然后挂载光盘


wKioL1SpJU2C9wtTAAF6ynBJ8hw155.jpg


清空缓存,删掉防火墙的策略,然后确认SELinux的状态是否允许进程访问

wKiom1SpJJKBOXMAAACKlPCgDsU653.jpg


回到00,再确认一下

wKioL1SpJU_gXltWAACNvZUATIk166.jpg


测试一下repolist,成功通过

wKiom1SpJJTxByijAAEUY6Z6p8g809.jpg


了解yum源以后,来看看yum有哪些选项 yum list可以列出该软件包是否已安装

wKioL1SpJVGx5Et5AACYL-Duxi8533.jpg


如果想查找一个包,可以通过 search在yum源中来搜索

wKiom1SpJJaiMmXMAAGx9bvGOiI232.jpg


可以通过 remove来删除一个包

wKiom1SpJJfw7sbsAAEbo52BA9U845.jpg


可以通过install 来安装,他会自动解决依赖关系


wKioL1SpJXvQSltoAADbpTMw3Wg562.jpg


更新包可以通过 update

wKiom1SpJMDgkJBDAABAl25vpFA091.jpg



如果只想下载软件包而不安装,可以指定下载和下载路径

wKioL1SpJYDj18u1AAIUkhPd8z8902.jpg


确认下载成功

wKiom1SpJMaySOKlAAHuQHIFeAA688.jpg


如果忘记了某个软件是由什么包安装的,可以通过 whatprovides 来查


比如scp服务就是通过openssh包安装的

wKioL1SpJYPAvc3lAADnMUGKdKo534.jpg


查看yum源可以通过 repolist

wKiom1SpJMjxDlubAABKKJptKtE447.jpg


查询,安装的时候可以手动的屏蔽安装源

wKioL1SpJYWgUTu0AACXEDGXPt4018.jpg


还可以通过info来查看包的信息

wKioL1SpJYegax19AAEDGQyANEQ758.jpg


有些功能相似相关的包会放入一个组中,可以通过yum grouplist查看

wKiom1SpJMzQR8BoAAE9yUS7fYc043.jpg


可以通过 groupinstall 直接安装整个组

wKiom1SpJNDi2JC5AANTwsNhp3g555.jpg


一些第三方的软件包,还可以通过在互联网下载,比如 pkgs.org


最后看看如何手动创建一个源,并处理相关的依赖关系?


我手动创建一个目录,然后拷贝一些rpm包进去,然后修改repo文件指向这个目录


wKioL1SqGRag7UuxAADYdbTGoNk775.jpg


如果直接执行yum repolist会报错,因为他找不到repodata这个目录

wKiom1SqGF2Tnjk3AAIgYXJcQ2k572.jpg


没有的话那么手动创建一个好了


wKioL1SqGR2CwjuwAADfJ5R1Kec458.jpg


再试试就成功了

wKiom1SqGGTycVucAAG-wGsqfFo699.jpg










本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1599105,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
缓存
yum 如何设置可以将安装的rpm包都缓存下来
【4月更文挑战第17天】yum 如何设置可以将安装的rpm包都缓存下来
878 0
|
2月前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
229 0
|
7月前
yum 可以安装rpm包
【6月更文挑战第18天】yum 可以安装rpm包
722 0
|
5月前
|
Web App开发 缓存 Ubuntu
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
254 11
|
6月前
|
Ubuntu Linux
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
|
8月前
|
数据库 容器
RPM属性依赖的解决方法: YUM线上升级
【5月更文挑战第10天】RPM属性依赖的解决方法: YUM线上升级。
98 5
|
8月前
|
数据库 容器
RPM属性依赖的解决方法: YUM线上升级
【5月更文挑战第14天】RPM属性依赖的解决方法: YUM线上升级。
65 1
|
4月前
|
关系型数据库 MySQL Linux
Linux 安装 mysql【使用yum源进行安装】
这篇文章介绍了在Linux系统中使用yum源安装MySQL数据库的步骤,包括配置yum源、安装MySQL服务、启动服务以及修改root用户的默认密码。
Linux 安装 mysql【使用yum源进行安装】
|
3月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
5月前
|
关系型数据库 MySQL Linux
在CentOS上使用yum安装与使用MySQL
在CentOS操作系统上使用yum包管理器安装和配置MySQL数据库的详细步骤,包括下载MySQL的yum源配置、安装MySQL服务、启动和停止服务、设置开机自启动、获取临时密码、修改root用户密码、授权用户以及处理相关问题。同时,文章还包含了一些操作的截图,帮助用户更直观地理解安装和配置过程。
1431 0
在CentOS上使用yum安装与使用MySQL