YUM仓库管理
yum如何配置源
## yum源配置文件目录: /etc/yum.repos.d/ ## 源的配置文件 在/etc/yum.repos.d/下以repo结尾的文件 ## 基础源 Base源 [root@localhost ~]# rm -f /etc/yum.repos.d/* [root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo [root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo ## 扩展源 epel源 [root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo [root@localhost ~]# curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum相关的命令
## 仓库相关 [root@localhost ~]# yum list [root@localhost ~]# yum list|grep '包名' ## 查看包详细信息 [root@localhost ~]# yum info tree // rpm -qi 完整包名 ## 所有可用仓库 [root@localhost ~]# yum repolist ## 查看所有仓库 [root@localhost ~]# yum repolist all ## 安装 # 安装方式: - 从仓库安装 [root@localhost ~]# yum install -y tree - 从本地安装 [root@localhost ~]# yum localinstall -y /mnt/Packages/tree-1.6.0- 10.el7.x86_64.rpm - 远程网络安装 [root@localhost ~]# yum install -y http://test.driverzeng.com/MySQL_plugins/mha4mysql-node-0.56-0.el6.noarch.rpm ## yum程序的配置文件 [root@localhost ~]# cat /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=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 cachedir=/var/cache/yum/$basearch/$releasever //缓存目录 keepcache=0 //缓存软件包, 1启动 0 关闭 debuglevel=2 //调试级别 logfile=/var/log/yum.log //日志记录位置 exactarch=1 //检查平台是否兼容 obsoletes=1 //检查包是否废弃 gpgcheck=1 //检查来源是否合法,需要有制作者的公钥信息 plugins=1 //是否启用查询 installonly_limit=5 bugtracker_url # metadata_expire=90m //每小时手动检查元数据 # in /etc/yum.repos.d //包含repos.d目录 ## 只下载不安装 /var/cache/yum/ [root@localhost ~]# find /var/cache/yum/x86_64/7/ -type f -name '*.rpm' [root@localhost ~]# find /var/cache/yum/x86_64/7/ -type f -name '*.rpm'|xargs cp -t /tmp/ ## 指定目录下载 [root@localhost ~]# yum install --downloadonly --downloaddir=/opt/ nginx ## 重装 [root@localhost ~]# yum reinstall -y nginx ## 升级 # 查看哪些包可以升级 [root@localhost ~]# yum check-update # 指定软件升级 [root@localhost ~]# yum update acl -y # 升级所有软件 [root@localhost ~]# yum update -y ## 卸载 [root@localhost ~]# yum remove tree -y [root@localhost ~]# yum erase tree -y ## 缓存 # 加载缓存 [root@localhost ~]# yum makecache # 清空缓存 [root@localhost ~]# yum clean all
yum包组相关命令
# 查看有哪些包组 [root@localhost ~]# yum groups list # 安装指定包组 [root@localhost ~]# yum groups install Development tools Compatibility libraries Base Debugging Tools # 删除指定包组 [root@localhost ~]# yum groups remove -y Base
制作yum仓库
条件: 1.制作仓库,一定要有存放rpm包的目录 2.会配置repo仓库文件 ## repo配置文件内容解析 # 仓库名 [base] # 描述信息 name=CentOS-$releasever - Base - mirrors.aliyun.com # 仓库地址 baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ # 是否开启yum仓库签名机制检测 gpgcheck=1 // 0 代表关闭,不检测 1 代表开启,检测 # gpg钥匙的地址 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 ## 是否开启yum仓库 enabled=0 // 是否开启该仓库,0代表关闭 1代表开启 ## 密钥对 钥匙 锁 ## 仓库地址支持的协议: - http:// 远程协议 - https:// 远程协议 - ftp:// 远程协议 - file:// 本地协议,只能访问本机
制作仓库(本地yum仓库)
# 1.安装createrepo命令 [root@localhost ~]# yum install -y createrepo # 2.让目录编程yum仓库 createrepo [root@localhost ~]# createrepo /repo/zabbix/ 如何在仓库中新加RPM包 需求:将/dev/cdrom中的rpm包,拷贝到 /zls/base目录下,然后将该目录制作成本地的yum仓库 Spawning worker 0 with 475 pkgs # 3.配置仓库文件 [root@localhost yum.repos.d]# vim zls.repo [zls_repo] name=zls's yum repository xxxx baseurl=file:///repo/zabbix/ gpgcheck=0 enabled=1
如何在仓库中新加RPM包
# 1.将rpm放入仓库 wget cp mv ... # 2.重新更新仓库 [root@localhost repo]# createrepo --update /repo # 3.用户使用仓库时,需要重新加载缓存 [root@localhost ~]# yum makecache
需求:将/dev/cdrom中的rpm包,拷贝到 /zls/base目录下,然后将该目录制作成本地的yum仓库
# 1.创建目录 [root@localhost ~]# mkdir -p /zls/base # 2.挂载镜像 [root@localhost ~]# mount /dev/cdrom /mnt # 3.拷贝rpm包 [root@localhost ~]# cp /mnt/Packages/*.rpm /zls/base/ # 4.制作仓库 [root@localhost ~]# createrepo /zls/base/ # 5.编写repo文件 [root@localhost ~]# vi /etc/yum.repos.d/zls.repo [zls_repo] name=zls's yum repository xxxx baseurl=file:///repo/ gpgcheck=0 enabled=1 [zls_base] name=xxx baseurl=file:///zls/base/ gpgcheck=0 enabled=1
制作远程yum仓库
环境准备
两台不同主机名,不同ip的主机,一台做yum仓库,一台做用户机器
## 可选协议: - http:// 远程协议 - https:// 远程协议(别考虑) - ftp:// 远程协议 ## 克隆新的主机修改主机名和IP # 修改主机名 [root@web01 ~]# hostnamectl set-hostname yum_repo [root@web01 ~]# hostnamectl set-hostname web01 # 修改IP ## 关闭防火墙 [root@yum_repo ~]# systemctl stop firewalld [root@web01 ~]# systemctl stop firewalld ## 关闭selinux [root@web01 ~]# setenforce 0 [root@web01 ~]# getenforce Permissive
使用ftp制作yum仓库
# 1.安装ftp协议的软件 [root@yum_repo ~]# yum install -y vsftpd # 2.启动vsftpd [root@yum_repo ~]# systemctl start vsftpd [root@yum_repo ~]# systemctl enable vsftpd # 3.打开浏览器访问 ftp://10.0.0.101 # 4.查找ftp的目录所在 [root@yum_repo pub]# rpm -ql vsftpd|grep pub /var/ftp/pub # 5.pub目录就可以当做yum仓库 [root@yum_repo pub]# mount /dev/cdrom /mnt/ [root@yum_repo pub]# cp /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm /mnt/Packages/wget-1.14-18.el7.x86_64.rpm base/ # 6.安装制作仓库的命令 [root@yum_repo ~]# yum install -y createrepo # 7.制作yum仓库 [root@yum_repo ~]# createrepo /var/ftp/pub/base/ Spawning worker 0 with 2 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete # 8.准备repo文件 [root@yum_repo base]# vim zls_base.repo [zls_base_repo] name=test baseurl=ftp://10.0.0.101/pub/base/ gpgcheck=0 enabled=1 ## 其他用户想要使用该yum源,只需要下载 [root@web01 ~]# curl -o /etc/yum.repos.d/zls_base.repo ftp://10.0.0.101/pub/base/zls_base.repo [root@web01 ~]# vim /etc/yum.repos.d/xxx.repo [zls_base_repo] name=test baseurl=ftp://10.0.0.101/pub/base/ gpgcheck=0 enabled=1
配置Nginx远程yum
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl-devel mkdir /export/server cd /export/server wget http://nginx.org/download/nginx-1.16.1.tar.gz tar -zxvf nginx-1.16.1.tar.gz #解压安装包 #编译Nginx ./configure --with-http_ssl_module ./configure --with-stream ./configure --with-http_ssl_module --with-stream ./configure yum install -y nginx cd /usr/local/nginx/sbin ./nginx #启动Nginx cd /usr/local/nginx/sbin ./nginx -t #检查配置文件是否正确 ps -ef | grep nginx #查看Nginx进程 vim /usr/local/nginx/conf/nginx.conf ...... server { location / { ##添加认证配置## root ftp://192.168.8.130/ auth_basic "secret"; auth_basic_user_file /usr/local/nginx/passwd.db; } }