Yum使用指南

目的:减少yum相关信息的检索,不重复造轮子

开始做好运维这件事

2021-12-16

一、概述
1.Yum是什么?
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,
无须繁琐地一次次下载、安装。
2. RPM是什么?
 RPM是Red-Hat Package Manager(红帽软件包管理器)。
3.Yum和RPM的区别
 Yum能自动安装依赖,RPM用来安装离线的包。

二、安装yum
1.RPM相关指令
(1)如何安装rpm软件包
    rpm -ivh your-package                # 直接安装
    rpmrpm --force -ivh your-package.rpm # 忽略报错,强制安装

(2)如何卸载rpm软件包
    [root@localhost ~]# rpm -ql tree        # 查询
    [root@localhost ~]# rpm -e tree          # 卸载
    [root@localhost ~]# rpm -ql tree         # 查询

(3)列出所有安装过的包
    [root@localhost ~]# rpm -qa

(4)如何获得某个软件包的文件全名
    [root@localhost ~]# rpm -q tree

(5)rpm包中的文件安装的位置
    [root@localhost ~]# rpm -ql tree         #  rpm -ql 包名

(6)哪个软件包包含这个程序
    rpm -qf `which 程序名`    #返回软件包的全名
    rpm -qif `which 程序名`   #返回软件包的有关信息
    rpm -qlf `which 程序名`   #返回软件包的文件列表[root@localhost ~]# rpm -qf `which sshd`

2.安装yum
(1).下载
wget http://ftp.sjtu.edu.cn/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget http://ftp.sjtu.edu.cn/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://ftp.sjtu.edu.cn/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
wget http://ftp.sjtu.edu.cn/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm

(2).安装
rpm -ivh --force --nodeps python-iniparse-0.4-9.el7.noarch.rpm
rpm -ivh --force python-iniparse-0.4-9.el7.noarch.rpm
rpm -ivh --force --nodeps yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
rpm -ivh --force --nodeps yum-3.4.3-168.el7.centos.noarch.rpm
rpm -ivh --force --nodeps yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm

(3).更新
 wget http://yum.baseurl.org/download/3.4/yum-3.4.3.tar.gz
 tar -zxvf yum-3.4.3.tar.gz    
 ./yummain.py update

(3).更新
# yum clean all
# yum repolist

三.yum 配置
 (一).配置文件
  /etc/yum.conf
  ls /etc/yum.repos.d/

 (二).配置项解析
[main]
cachedir=/var/cache/yum/$basearch/$releasever #存储库其缓存和数据库文件的目录
keepcache=0 #确yum在成功安装后是否保留标头和包的缓存,0为不保存
debuglevel=2  #显示更详细的调试输出,debuglevel=2是默认值,同时debuglevel=0禁用调试输出。
logfile=/var/log/yum.log #
exactarch=1 #1 - 在更新包时考虑确切体系结构,使用此设置,yum不会安装32位体系结构的软件包来更新已安装在具有64位体系结构的系统上的软件包
obsoletes=1 #1 - 执行更新时启用yum的过时处理逻辑
gpgcheck=1 #- 启用检查所有存储库中所有软件包的GPG签名
plugins=1 #这是一个启用或禁用yum插件的全局开关
installonly_limit=5 #
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release #

 /eyc/yum.conf 的[repository]选项
[repository]
name = repository_name
baseurl = repository_url


(三).配置yum源
1.配置阿里yum
(1) 安装wget
yum install -y wget
(2)备份/etc/yum.repos.d/CentOS-Base.repo文件
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back
(3) 下载阿里云的Centos-6.repo文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
(4) 重新加载yum
yum clean all
yum makecache

2.设置仓库
安装所需的软件包。yum-utils 提供了 yum-config-manager
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
使用官方源地址(比较慢)
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
可以选择国内的一些源地址:
 sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


3.配置本地yum
(1) 安装wget
yum install -y wget
(2) 备份/etc/yum.repos.d/CentOS-Base.repo文件
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back
(3) 下载阿里云的Centos-6.repo文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
(4) 重新加载yum
yum clean all
yum makecache

(5) 编辑Centos-Media.repo文件
name=CentOS-$releasever - Media
baseurl=file:///mnt/vcdrom/#将baseurl修改为DVD的挂载目录
gpgcheck=1

enabled=1#开启本地更新模式
(6) 重新加载yum
yum clean all
yum makecache
(7) 编写脚本并开机自动挂载
  首先,编写脚本。

vim /opt/shell/mymount.sh
#!/bin/bash
#
mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom
  其次,修改脚本执行权限。

chmod 777 /opt/shell/mymount.sh
  再次,修改/etc/rc.local配置文件。

vim /etc/rc.local
  在文件最后一行加上如下

/opt/shell/mymount.sh
  最后,重启机器测试。

init 6 

4. 配置远程yum
(1) 服务端配置
  第一,安装nfs-utils和rpcbind。

yum -y install nfs-utils rpcbind
  第二,设置开机启动服务。

chkconfig nfs on
chkconfig rpcbind on 
  第三,启动相关服务。

service rpcbind start #需要先启动rpcbind
service nfs start
  第四,创建共享目录。

mkdir -p /mnt/vcdrom/
  第五,编辑/etc/exports文件,添加如下内容。

vi /etc/exports 
/mnt/vcdrom/ 192.168.94.5(rw,async,no_root_squash,no_subtree_check)

(2) 客户端配置
  第一,安装nfs-utils和rpcbind。

yum install -y nfs-utils rpcbind
   第二,设置开机启动服务。

chkconfig nfs on
chkconfig rpcbind on
   第三,启动服务。

service rpcbind start
service nfs start
  第四,创建挂载点。

mkdir -p /mnt/vcdrom/
   第五,挂载目录。

mount -t nfs server_ip:/mnt/vcdrom /mnt/vcdrom
   第六,编辑/etc/fstab,配置开机自动挂载

  这里可以参考yum源配置方法二的介绍,编写脚本,使脚本开机运行。下面给出第二种方法:

vim /etc/fstab 
server_ip:/mnt/vcdrom /mnt/vcdrom nfs rw,tcp,intr 0 1
  第七,修改yum源设置。

  参考yum源配置方法二。


四、yum常用指令
1.安装操作
yum install PACKAGE               #安装某个包
例:yum install httpd
yum groupinstall GROUP            #安装某个软件组
例:yum groupinstall "KDE"        #安装KDE桌面

2.升级操作
yum update                        #更新系统中所有需要更新的包
yum update PACKAGE                #更新某个包
例:yum update httpd
yum groupupdate GROUP             #更新某个软件组
例:yum groupupdate "KDE"         #升级KDE桌面
yum check-update                  #检查当前系统中需要更新的包

3.查找操作
yum list                          #显示软件源中所有可用的包,一般不用
yum list installed                #显示系统中已经安装过的包
yum info PACKAGE                  #显示某个包的信息
例:yum info httpd
yum groupinfo GROUP               #显示某个软件组的信息
例:yum groupinfo "KDE"           #显示KDE桌面软件的信息
yum grouplist                     #显示软件源宏所有的可用软件

yum repolist #查看yum源
 

4.删除操作
yum remove PACKAGE                #删除某个包
例:yum remove httpd              #删除httpd包
yum groupremove GROUP             #删除某个软件组
例:yum groupremove "KDE"         #删除KDE桌面

5.清除操作
yum clean                         #清除使用yum所生成的缓存文件

五、相关问题

一、其他由于安装新版本python带来的问题:

1.问题1
​​​​​​​描述:File "/usr/bin/yum", line 30
解决:

vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down
将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2"即可。

2.问题2:

​​​​​​​​​​​​​​​​​​​​​描述:Another app is currently holding the yum lock; waiting for it to exit...

解决方法:

rm -rf /run/yum.pid

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值