linux包管理命令yum的详解

时间:2023-02-14 19:55:56

一、yum命令的简介

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。


yum repository :yum repo,存储了众多的rpm包,以及包的相关元数据文件(放置于特定目录repodata下)

二、从网站或本地安装安装包

创建server端

1、安装vsftpd 并启用服务

[root@localhost~]#rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm 
[root@localhost~]#rpm -ql vsftpd #查看声称的路径
/var/ftp/pub 此目录为以后安装包存放的位置
[root@localhost~]#systemctl start vsftpd
#启用ftp服务 (CentOS 7)
[root@localhost~]#service vsftpd start #启用ftp服务

2、关闭防火墙iptables和禁用selinux

[root@localhost~]#iptables -nvL #查看防火墙
[root@localhost~]#iptables -F #清空防火墙

3、创建服务端库

[root@localhost/etc/yum]#cd /etc/yum.repos.d/ #库文件存在位置
[root@localhost/etc/yum.repos.d]#ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo
CentOS-Debuginfo.repo CentOS-Sources.repo
[root@localhost/etc/yum.repos.d]#mkdir backup
[root@localhost/etc/yum.repos.d]#mv *.repo backup/ #将默认库移到backup目录下

4、挂载库到/var/ftp/pub/7

[root@localhost~]#mount -o loop centos7 /var/ftp/pub/7/

创建客户端

1、创建库

[root@localhost~]#vim /etc/yum.repos.d/base.repo 
[base]
baseurl=ftp://172.18.253.20/var/ftp/pub/7
gpgcheck=0

[root@localhost~]#yum repolist #查看是否成功

这样我们就可以自己搭建库进行安装,解决了依赖性。

三、yum命令的使用

  • yum install -y Name 安装程序包
[root@localhost~]#yum install -y gcc
  • yum search string1 string2 […] 搜索以指定的关键字搜索程序包名及summary信息。
[root@localhost~]#yum search vsftpd
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.sohu.com
* extras: mirrors.tuna.tsinghua.edu.cn
* updates: mirrors.tuna.tsinghua.edu.cn
======================== N/S Matched: vsftpd =========================
vsftpd.x86_64 : Very Secure Ftp Daemon

Name and summary matches only, use "search all" for everything.
  • yum history 列出安装的历史
[root@localhost~]#yum history
Loaded plugins: fastestmirror, refresh-packagekit, security
ID | Login user | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------

2 | root <root> | 2017-07-12 01:12 | Install | 5 <
1 | System <unset> | 2017-07-11 23:32 | Install | 1232 >
history list
  • yum history info […] 查看程序包信息
[root@localhost~]#yum history info 2
Loaded plugins: fastestmirror, refresh-packagekit, security
Transaction ID : 2
Begin time : Wed Jul 12 01:12:27 2017
Begin rpmdb : 1233:473c35283e3ef844ab48d951ba743bbc1338deb2
End time : 01:12:29 2017 (2 seconds)
End rpmdb : 1238:4c6a7f27ce620dd4888d6c4aea39c4a2b76c99da
User : root <root>
Return-Code : Success
Command Line : install -y gcc
  • yum history undo […] #撤销操作
[root@localhost~]#yum history undo 2

四、其他

yum客户端配置文件
/etc/yum.conf:为所有仓库提供公共配置
/etc/yum.repo.d/*.repo :为仓库的指向提供配置
仓库指向的定义:
[repoitoryID] 库ID
name=some name for this repoitory
baseurl=url://path/to/repository
file:///var/ftp/pub/6 本地仓库格式
ftp://172.18.253.20/var/ftp/pub/6基于ftp格式
gpgcheck={0|1} 是否检查签名
gpgkey=URL 签名文件
enabled={1|0} 是否禁用
enablegroups={0|1} 是否禁用组
failovermethod={roundrobin|priority}
roundrobin:意为随机挑选,默认值
priority:按顺序访问
[root@localhost/etc/yum.repos.d]#vim base.repo
[base]
baseurl=ftp://172.18.253.9/var/ftp/pub/6
file:///var/ftp/pub/6
gbkcheck=0