YUM管理
yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装
1.1 yum工作原理
yum安装查找步骤
本地缓存->远程(先读repodata,再Package)
1.2 配置网络源
##比较好的国内yum源
http://mirrors.163.com/
https://mirrors.tuna.tsinghua.edu.cn/
https://developer.aliyun.com/mirror/
http://mirrors.sohu.com/
#163源配置
wget -O /etc/yum.repos.d/163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
#阿里源配置
wget -O /etc/yum.repos.d/aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#epel源手工配置清华源
[root@bubble02 yum.repos.d]# cat epel.repo
[epel]
name=epel 7 repo
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
gpgcheck=1
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/epel/RPM-GPG-KEY-EPEL-7
enabled=1
1.3 本地源配置
mkdir -p /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
#创建文件
vim /etc/yum.repos.d/local.repo
[local]
name=centos-$releaserver-local
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
1.4 自动配置仓库
#安装yum的扩展包
yum install yum-utils -y
## 自动配置国内epel仓库:
yum-config-manager --add-repo=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
注释:改工具无法自动配置gpgkey,如需校验,手动配置gpgkey
1.5 禁用/启用仓库
-
手动禁用/启用
修改配.repo文件中 enabled=0 #启用 enabled=1 #禁用
-
命令禁用/启用
#epel为仓库id yum-config-manager --disable epel #禁用 yum-config-manager --enable epel #禁用
1.6 yum常用命令
#列出所有|已启用|已禁用的yum源
yum repolist all|enabled|diaabled
#列出所有|已安装的软件包
yum list all|installed
#显示某一个软件包的信息
yum info package
#安装软件包
yum install package
#卸载软件包
yum remove package
yum erase package
#根据生成文件查找对应的软件包
yum provides nginx
#根据关键字搜索软件包详细信息
yum search nginx
1.7 同步外网yum源
1.7.1 安装reposync工具
#查找reposync对应的软件包为yum-utils
yum privides reposync
#安装yum-utils
yum install yum-utils -y
1.7.2 同步源
#-r参数表示仓库id,-p参数表示路径
reposync -r base -p /data/centos
1.7.3 生成元数据
使用createrepo生成元数据
#查找createrepo的软件包
yum privides createrepo
#安装createrepo
yum install createrepo -y
#生成元数据
createrepo /data/centos #该命令会在目录下生成repodata目录
注释:如果/data/centos下的rpm包有更新,需要重新生成元数据,方法2种:
#更新元数据之前需清理缓存
rm -rf /var/cache/yum
yum clean all
#更新元数据
1.删除repodata目录,重新生成元数据
2.createrepo --update /data/centos
1.8 配置内网源
1.8.1 使用nginx实现
#安装nginx
yum install -y nginx
#启动nginx
/usr/sbin/nginx
#修改nginx配置文件(/etc/nginx/nginx.conf)中的的location配置如下
location / {
autoindex on;
root /data/centos;
}
#重新加载
/usr/sbin/nginx -s reload
#添加repo文件
[root@bubble02 yum.repos.d]# cat /etc/yum.repos.d/nginx.repo
[nginx]
name=centos-nginx-repo
baseurl=http://192.168.11.132:80
enabled=1
gpgcheck=0
#执行yum repolist all查看到id为nginx的源
1.8.2 使用httpd实现
#安装httpd
yum install httpd httpd-devel -y
#创建仓库目录
mkdir -p /var/www/html/centos
#使用reposync同步源到/var/www/html/centos目录下
reposync -r base -p /var/www/html/centos
#使用createrepo生成元数据
createrepo /var/www/html/centos
#添加repo文件
[root@bubble02 centos]# cat /etc/yum.repos.d/httpd.repo
[httpd]
name=centos-httpd-repo
baseurl=http://192.168.11.132:80/var/www/html/centos
enabled=1
gpgcheck=0
#执行yum repolist all查看到id为httpd的源
1.9 yum缓存配置
[root@bubble02 ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0 #配置缓存,0取消,1缓存
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
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