计算服务器+本地源(CentOS 8)
0. 安装一个小型本地计算服务器:登录节点+计算节点若干。
计划/原因: 仅有2个IP可以访问外网,给了登录节点master和计算节点node01,其它计算节点(与master同系统)从master更新,计算节点node01包括用户目录,node02包括了定期备份。
master/node02: CentOS Linux release 8.2.2004 (Core)
1. (源)服务器
比如:master
本地源位置为:/opt/local_repo/Packages
由上可知:安装(源)服务器时,应该存下安装用过的软件包(如存在/opt/local_repo/Packages,本地源位置),修改(源)服务器的/etc/yum.conf为:
[main]
cachedir=/opt/local_repo/Packages
keepcache=1
1.0 补充安装包:
1.0.1 如之前下载的软件包未保存,则需重新下载:
- 查看当前安装的包,放入pkg_list,并取前面一列
(本方案比较笨,以后有时间再更新,也可能想多了,只运行一次的东西,更新个啥 Qrz)
yum list installed >pkg_list
vi pkg_list
vi内依次运行下列各行命令,":"开启
注意:^M 为ctrl+ V M ,且后面有空格!!!!!
d1
%s/ /^M
g/^ \s*/d
g/^$/d
%s/.x86_64//
%s/.noarch//
wq
- 制作处理文件:pkgs_download_all.sh
内容为:
for i in `cat pkg_list`
do
echo ${i}
yumdownloader --destdir $1 ${i}
done
执行权限:
chmod +x pkgs_download_all
备份在 /opt/local_repo/Packages ($1)下:
./pkgs_download_all /opt/local_repo/Packages
1.0.2 补充安装包:
- 如需要,将基础文件库(安装盘)的rpm包放入Packages
cp -r 安装盘/Packages/* /opt/local_repo/Packages
1.1 制作Local源
cd /opt/local_repo/Packages
createrepo ./ # 如未安装createrepo,请自行安装yum -y install createrepo
1.2 开启服务
开启httpd服务:
service httpd start # 如未安装httpd,请自行安装yum -y install httpd
将Local源挂载到服务下:
ln -s /opt/local_repo /var/www/html/local_repo
此时,浏览器查看http://服务器IP/local_repo/会出现文件列表
2 客户端服务器
2.0 备份源信息
比如: node02
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak/
2.1 制作新源信息CentOS-Local.repo
从服务器IP更新
echo "# CentOS.repo in local
[base]
name=Local
baseurl=http://服务器IP/local_repo/Packages ###### 服务器IP ######
enabled=1
gpgcheck=0
priority=1" > /etc/yum.repos.d/CentOS-Local.repo
完成,更新
yum clean all
yum makecache
yum update