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 
复制代码

 

posted @   小粉优化大师  阅读(444)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示