我有两台服务器,然后这些服务器需要安装postgresql10
,服务器A可以使用安装postgresql10
,yum install
但是服务器B有一条规则不允许连接互联网。所以我尝试使用rpm
文件安装服务器B。
- 我
postgresql10
全部下载依赖项yumdownloader
从我的开发服务器使用 - 我将所有
rpm
文件上传到服务器B rpm -ivh *.rpm
我开始使用里面的命令进行安装服务器B- 我尝试后,很多都
depedenciess
没有下载yumdownloader
我的想法是创建一个包含包和所有依赖项的文件,就像tar.gz
文件一样,然后我将其安装到其他服务器,就像提取文件一样简单但我仍在研究,并且仍然坚持下去。
所以如果你有和我一样的故事,你有什么最好的方法吗?有什么script
方法可以帮助我解决问题吗?
请与我分享,非常感谢
答案1
有一种方法,但它非常棘手,可能会弄乱你的服务器,所以非常小心。
命名法:
- 在线的:连接到存储库的系统
- 离线:您的系统未连接
脚步:
从以下位置压缩 rpm 数据库离线系统并将其传输到在线的系统:
cd /var/lib/rpm/
tar -cvzf /tmp/rpmdb.tgz *
scp /tmp/rpmdb.tgz root@online:/tmp
在你的在线的系统;用来自以下系统的 rpm db 替换你的 rpm db离线系统:
cp -r /var/lib/rpm{,.bak} # back up your rpmdb from your online system. Make sure not to lose this!!
rm -rf /var/lib/rpm/*
cd /var/lib/rpm
tar -xvf /tmp/rpmdb.tgz # now your online system pretends to have the rpm database from the offline system. Don't start really installing / uninstalling rpms or you'll break everything
现在使用仅下载模拟您的更新:
yum install --downloadonly # or
zypper up --download-only
现在你可以获取所有下载的软件包,它们足以更新你的离线系统
现在恢复你的在线的机器:
rm -rf /var/lib/rpm
cp -r /var/lib/rpm{.bak,}