Linux软件包管理-构建yum仓库
1、光盘镜像-搭建本地yum仓库
1.1、光盘镜像挂载
mount /dev/cdrom /mnt/ ]# 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
1.2、备份repo数据
备份前先安装:yum-config-manager命令工具包
yum install yum-utils -y
gzip /etc/yum.repos.d/* linux ~]# ll /etc/yum.repos.d -rw-r--r-- 1 root root 601 Aug 4 2022 CentOS-Base.repo.gz -rw-r--r-- 1 root root 256 Aug 4 2022 epel-7.repo.gz -rw-r--r-- 1 root root 117 Apr 21 11:47 nginx.repo.gz
1.3、方法1:使用 yum-config-manager 命令可快速添加一个本地仓库
yum-config-manager --add-repo="file:///mnt" #] cat /etc/yum.repos.d/mnt.repo [mnt] name=added from: file:///mnt baseurl=file:///mnt enabled=1
1.4、方法2:手动配置
cat >/etc/yum.repos.d/mnt.repo <<'EOF' [cdrom] name=local cdrom baseurl=file:///mnt enabled=1 gpgcheck=0 EOF
1.5、重新生成缓存
yum makecache
2、FTP-搭建企业私有仓库
2.1、基础
2.1.1、背景
很多时候不仅仅是一台机器无法上网,而是很多机器都无法上网,但都有联网下载软件的需求,这个时候难道每台机器都挂在光盘吗,当然可以,但如果软件出现了更新又该怎么办。所以我们需要构建一个企业级的yum仓库,为多台客户端提供服务。
2.1.2、私有仓库流程图
2.2、环境准备
2.2.1、主机信息
系统 IP 角色 centos7 192.168.10.15 yum仓库服务端 centos7 192.168.10.35 yum仓库客户端
2.2.2、关闭防火墙和selinux
systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
2.3、vsftp
2.3.1、安装
yum install vsftpd -y
2.3.2、启动服务
systemctl start vsftpd systemctl enable vsftpd ~]# netstat -tunlp | grep ftp tcp6 0 0 :::21 :::* LISTEN 33972/vsftpd
2.4、yum仓库配置
2.4.1、复制rpm包
# 创建ftp目录 mkdir /var/ftp/centos7 #挂载光盘 mount /dev/cdrom /mnt # 复制rpm包 cp -rp /mnt/Packages/*.rpm /var/ftp/centos7/
2.4.2、生成仓库索引
# centos7 createrepo /var/ftp/centos7/
2.5、yum客户端配置
2.5.1、方法1:yum-config-manager
yum-config-manager --add-repo="ftp://192.168.10.15/centos7"
2.5.2、方法2:手动配置
cat >/etc/yum.repos.d/centos7.repo <<'EOF' [centos7] name=added from: ftp://192.168.10.15/centos7 baseurl=ftp://192.168.10.15/centos7 enabled=1 gpgcheck=0 EOF
2.5.3、测试安装
yum install tree -y
2.6、增加zabbix私有仓库
2.6.1、编写下载rpm脚本
cat >get_rpm.sh<<'EOF' #!/usr/bin/bash # 获取软件包名称 web_site="https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.4/rhel/7/x86_64/" pkg_name=$(curl -s ${web_site} | grep "<a" | awk -F '"' '{print $4}'| grep -Ev 'debuginfo|repodata') rpm_dir=/var/ftp/zabbix for i in ${pkg_name} do if [ ! -d ${rpm_dir} ];then mkdir -p ${rpm_dir} fi wget --no-check-certificate -O /${rpm_dir}/${i} ${web_site}/${i} done EOF
2.6.2、下载结果
]# ll /var/ftp/zabbix/ -rw-r--r-- 1 root root 5625164 Mar 7 00:34 zabbix-agent2-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 5728552 Apr 3 15:26 zabbix-agent2-6.4.1-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 3440440 Mar 7 02:01 zabbix-agent2-plugin-mongodb-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 2779484 Mar 7 02:02 zabbix-agent2-plugin-postgresql-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 555128 Mar 7 00:34 zabbix-agent-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 562244 Apr 3 15:26 zabbix-agent-6.4.1-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 380332 Mar 7 00:34 zabbix-get-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 384640 Apr 3 15:26 zabbix-get-6.4.1-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 990464 Mar 7 00:34 zabbix-java-gateway-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 993084 Apr 3 15:26 zabbix-java-gateway-6.4.1-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 582636 Mar 7 00:34 zabbix-js-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 579304 Apr 3 15:26 zabbix-js-6.4.1-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 1455988 Mar 7 00:34 zabbix-proxy-mysql-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 1498380 Apr 3 15:26 zabbix-proxy-mysql-6.4.1-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 1457292 Mar 7 00:34 zabbix-proxy-pgsql-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 1498936 Apr 3 15:26 zabbix-proxy-pgsql-6.4.1-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 1335052 Mar 7 00:34 zabbix-proxy-sqlite3-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 1367068 Apr 3 15:26 zabbix-proxy-sqlite3-6.4.1-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 15300 Mar 7 00:20 zabbix-release-6.4-1.el7.noarch.rpm -rw-r--r-- 1 root root 15300 Mar 7 00:20 zabbix-release-latest.el7.noarch.rpm -rw-r--r-- 1 root root 303928 Mar 7 00:34 zabbix-selinux-policy-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 306536 Apr 3 15:26 zabbix-selinux-policy-6.4.1-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 421280 Mar 7 00:34 zabbix-sender-6.4.0-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 428028 Apr 3 15:26 zabbix-sender-6.4.1-release1.el7.x86_64.rpm -rw-r--r-- 1 root root 338360 Mar 7 00:34 zabbix-sql-scripts-6.4.0-release1.el7.noarch.rpm -rw-r--r-- 1 root root 340976 Apr 3 15:26 zabbix-sql-scripts-6.4.1-release1.el7.noarch.rpm
2.6.3、创建仓库索引
createrepo /var/ftp/zabbix/
2.6.4、客户端增加仓库
cat >/etc/yum.repos.d/zabbix.repo <<'EOF' [zabbix] name=added from: ftp://192.168.10.15/zabbix baseurl=ftp://192.168.10.15/zabbix enabled=1 gpgcheck=0 EOF
2.6.5、客户端查看是否有zabbix仓库软件
~]# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile repo id repo name status centos7 added from: ftp://192.168.10.15/centos7 4,070 zabbix added from: ftp://192.168.10.15/zabbix ~]# yum list | grep zabbix zabbix-agent.x86_64 6.4.1-release1.el7 zabbix zabbix-agent2.x86_64 6.4.1-release1.el7 zabbix zabbix-agent2-plugin-mongodb.x86_64 6.4.0-release1.el7 zabbix zabbix-agent2-plugin-postgresql.x86_64 6.4.0-release1.el7 zabbix zabbix-get.x86_64 6.4.1-release1.el7 zabbix zabbix-java-gateway.x86_64 6.4.1-release1.el7 zabbix zabbix-js.x86_64 6.4.1-release1.el7 zabbix zabbix-proxy-mysql.x86_64 6.4.1-release1.el7 zabbix zabbix-proxy-pgsql.x86_64 6.4.1-release1.el7 zabbix zabbix-proxy-sqlite3.x86_64 6.4.1-release1.el7 zabbix zabbix-release.noarch 6.4-1.el7 zabbix zabbix-selinux-policy.x86_64 6.4.1-release1.el7 zabbix zabbix-sender.x86_64 6.4.1-release1.el7 zabbix zabbix-sql-scripts.noarch 6.4.1-release1.el7 zabbix
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性