yum是什么?
yum:(全称为 Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum 提供了对软件的查找、安装、更新、删除的等一系列功能。
install[RPM包]:安装包
-q:不显示安装的过程
-y:当安装过程提示选择全部为 "yes"
-t:忽略错误
yum history:查看历史执行yum命令
yum check-update:列出所有可更新的软件清单命令
yum update:更新所有软件命令
yum update nginx:仅更新指定的软件命令
yum list:列出所有可安裝的软件清单命令
yum list installed:已安装的命令
yum remove nginx:删除软件包命令
yum search nginx:查找软件包命令
yum deplist:列出包的依赖
yum provides:根据文件,命令,库文件,搜索对应的软件包
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum常用命令下载
[root@dmxsp ~]# yum install -y sl cowsay htop bash-completion bash-completion-extras tree vim wget
bash-completion bash-completion-extras lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet
bc psmisc httpd-tools bind-utils nethogs
更换YUM源
备份源镜像
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
base源改为阿里云源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
epel源改为阿里云源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
base源改为腾讯云
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
epel源改为腾讯云
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
清理和生成缓存
yum clean all
yum makecache
YUM仓库
1.本地YUM仓库
有时候你的linux系统不能联网,当然就不能很便捷的使用联网的yum源了,这时候就需要你自己会利用linux系统光盘制作一个yum源
[root@dmxsp ~]# ls /mnt/
[root@dmxsp ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@dmxsp ~]# ls /mnt/
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
备份原有仓库
[root@dmxsp ~]# gzip /etc/yum.repos.d/*
创建新仓库文件,并加入如下内容:
方式一
手动添加repo配置文件
[root@dmxsp ~]# cat /etc/yum.repos.d/dmxsp.repo
[dmxsp]
name=local dmxsp
baseurl=file:///mnt
enabled=1
gpgcheck=0
检查本地仓库信息
[root@dmxsp ~]# yum repoinfo local
刷新 repos 生成缓存
[root@dmxsp ~]# yum makecache
[]:仓库名称
name:仓库描述信息
baseurl:YUM源url地址 ,可以是file:// ftp:// http://
enabled:是否激活该YUM源(0代表禁用,1代表激活,默认为激活)
gpgcheck:安装软件时是否检查签名(0代表禁用,1代表激活)
方法二
[root@dmxsp ~]# yum -y install yum-utils
[root@dmxsp ~]# yum-config-manager --add-repo="http:///mnt"
Loaded plugins: fastestmirror
adding repo from: http:///mnt
[mnt]
name=added from: http:///mnt
baseurl=http:///mnt
enabled=1
刷新 repos 生成缓存
[root@dmxsp ~]# yum makecache
2.网络YUM仓库
官方网络YUM源配置(阿里源)(默认的是国外官位源)
[root@dmxsp ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
EPEL扩展源
国外epel源
[root@dmxsp ~]# yum -y install epel-release
阿里云epel源
[root@dmxsp ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
基础命令源
Nginx ,ZABBIX下载,ZABBIX官网
3.构建企业YUM仓库
一个公司内部使用的yum源,搭建yum仓库
环境准备(两台机器搭建)
系统 | IP | 角色 | 主机名 |
centos7.9_x86_64 | 10.0.0.100 | yum仓库服务端 | yum_server_79_100 |
centos7.9_x86_64 | 10.0.0.101 | yum仓库客户端 | yum_client_79_101 |
服务端配置
基础环境准备
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭selinux
setenforce 0 sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
配置yum仓库 服务端 开始
安装ftp服务,启动并加入开机启动
yum -y install vsftpd
systemctl start vsftpd
systemctl enable vsftpd
配置 base和epel源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
开启yum缓存功能
vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
yum clean all
提供基础base源
配置yum仓库 服务端 准备rpm包
mkdir -p /var/ftp/{centos610,centos79}
tree /var/ftp/
mount /dev/cdrom /mnt/
df -h
cp -a /mnt/Packages/*.rpm /var/ftp/centos79/
提供第三方源
配置yum仓库 服务端 准备额外软件源的rpm包
find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -rf {} /var/ftp/ops
find /var/cache/yum/ -type f -name "*.rpm" |xargs cp -t /var/ftp/opt/
ls /var/ftp/opt/
安装createrepo 并创建 reopdata仓库
配置yum仓库 服务端 给rpm创建元数据
yum -y install createrepo
客户端使用yum源
配置并使用base基础源
gzip /etc/yum.repos.d/*
vim /etc/yum.repos.d/centos7.repo
[centos79]
name=centos79_base
baseurl=ftp://10.0.0.100/centos79
gpgcheck=0
客户端指向本地ops 源
vim /etc/yum.repos.d/opt.repo
[opt]
name=local ftpserver
baseurl=ftp://10.0.0.100/opt
gpgcheck=0