购物网站建设与实现,黄页88怎么设置关键词,微博白菜网站怎么做,网站开发中安全性概述
某些时候#xff0c;我们需要下载某个RPM包依赖的依赖。如某些内网环境#xff0c;就需要自行准备rpm包。可以通过能上互联网的服务器进行相应的rpm包下载#xff0c;然后在拷贝到相应的服务器安装#xff0c;或者搭建自己的内容rpm包仓库。
查看*.rpm 包依赖#…概述
某些时候我们需要下载某个RPM包依赖的依赖。如某些内网环境就需要自行准备rpm包。可以通过能上互联网的服务器进行相应的rpm包下载然后在拷贝到相应的服务器安装或者搭建自己的内容rpm包仓库。
查看*.rpm 包依赖
#可以任意找一个rpm包测试
[rootk8s-m1 ~]# find / -name *.rpm
/root/kernel-lt-5.4.186-1.el7.elrepo.x86_64.rpm
[rootk8s-m1 ~]# rpm -qpR /root/kernel-lt-5.4.186-1.el7.elrepo.x86_64.rpm
warning: /root/kernel-lt-5.4.186-1.el7.elrepo.x86_64.rpm: Header V4 DSA/SHA256 Signature, key ID baadae52: NOKEY
fileutils
module-init-tools 3.16-2
initscripts 8.11.1-1
grubby 8.28-2
dracut 001-7
linux-firmware 20100806-2
/usr/sbin/new-kernel-pkg
/usr/sbin/new-kernel-pkg
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/bin/sh
rpmlib(FileDigests) 4.6.0-1
rpmlib(PayloadFilesHavePrefix) 4.0-1
rpmlib(CompressedFileNames) 3.0.4-1
rpmlib(PayloadIsXz) 5.2-1查找RPM依赖
安装*.rpm 包时如果缺少依赖报错信息中会打印出缺少的依赖 rpm -ivh [package]
然后通过查询 https://pkgs.org/ 来查询包的依赖关系。如查找centos7下net-tools所需的依赖
通过此种方法下载rpm包的依赖有时候很麻烦因为很可能包的依赖是连锁的适合依赖包比较少的环境。如果所依赖的rpm包很复杂推荐以下方法。
下载RPM依赖
centos7为例 通过yum install --downloadonly --downloaddir[download_dir] [package] 来只下载包不安装包然后通过缓存来在不能连接互联网的服务器上安装。下载时最好服务器的系统类型和版本一致避免版本不兼容的情况发生。
#下载某个rpm包的缓存
[rootk8s-m1 ~]# rpm -qpR /tmp/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm |xargs yum install --downloadonly#缓存已有rpm包的依赖
[rootk8s-m1 ~]# rpm -qpR /var/cache/yum/x86_64/7/*/packages/*.rpm |xargs yum install --downloadonly[rootk8s-m1 ~]# cd /var/cache/yum/x86_64/7
[rootk8s-m1 ~]# rpm -qpR */packages/*|egrep | |egrep -v \(|\)|awk -F {print $1}|xargs yum install --downloadonly或者修改yum的配置文件/etc/yum.conf如下需要在本服务器下载并安装
#修改配置
[rootk8s-m1 ~]# vim /etc/yum.conf
cachedir/var/cache/yum/$basearch/$releasever #缓存下载目录这是默认位置
keepcache1 #keepcache为0表示不缓存为1 表示缓存
......#安装所需yum包
[rootk8s-m1 ~]# yum install docker-ce-18.06.0.ce-3.el7 -y
....然后到相应的目录查看并拷贝所依赖的rpm包centos7 目录如下
[rootk8s-m1 ~]# ll /var/cache/yum/x86_64/7/*/packages/*.rpm
-rw-r--r-- 1 root root 42643244 Jul 28 2020 /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-18.06.0.ce-3.el7.x86_64.rpm
-rw-r--r-- 1 root root 40816 Jul 6 2020 /var/cache/yum/x86_64/7/extras/packages/container-selinux-2.119.2-1.911c772.el7_8.noarch.rpm
-rw-r--r-- 1 root root 78256 Aug 23 2019 /var/cache/yum/x86_64/7/os/packages/audit-libs-python-2.8.5-4.el7.x86_64.rpm
-rw-r--r-- 1 root root 302068 Nov 12 2018 /var/cache/yum/x86_64/7/os/packages/checkpolicy-2.5-8.el7.x86_64.rpm
-rw-r--r-- 1 root root 67720 Aug 23 2019 /var/cache/yum/x86_64/7/os/packages/libcgroup-0.41-21.el7.x86_64.rpm
-rw-r--r-- 1 root root 115284 Nov 12 2018 /var/cache/yum/x86_64/7/os/packages/libsemanage-python-2.5-14.el7.x86_64.rpm
-rw-r--r-- 1 root root 50076 Apr 13 2017 /var/cache/yum/x86_64/7/os/packages/libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm
-rw-r--r-- 1 root root 468316 Apr 4 2020 /var/cache/yum/x86_64/7/os/packages/policycoreutils-python-2.5-34.el7.x86_64.rpm
-rw-r--r-- 1 root root 32880 Jul 4 2014 /var/cache/yum/x86_64/7/os/packages/python-IPy-0.75-6.el7.noarch.rpm
-rw-r--r-- 1 root root 635184 Nov 12 2018 /var/cache/yum/x86_64/7/os/packages/setools-libs-3.3.8-4.el7.x86_64.rpm私有yum仓库搭建
使用了http服务作为访问方式。
[rootk8s-m1 ~]# cat create_repo.sh
#注意baseurl中的IP地址
#!/bin/bash
yum install -y httpd createrepo
mkdir -p /var/www/html/data/yum
createrepo -pdo /var/www/html/data/yum /var/www/html/data/yum
find /var/cache/yum/ -name *.rpm -exec cp {} /var/www/html/data/yum \;
createrepo --update /var/www/html/data/yum
systemctl start httpd
cat /etc/yum.repos.d/test.repo EOF
[test_yum]
name test_yum
baseurlhttp://192.168.2.140/data/yum
gpgcheck0
EOF
#yum clean all
#yum makecache
#yum repolist all通过指定yum仓库进行安装为验证效果可以先将其他repo源进行重命名或者移至其他文件夹。
[rootk8s-m1 ~]# cd /etc/yum.repos.d/
[rootk8s-m1 ~]# mkdir repo
[rootk8s-m1 ~]# mv CentOS-* docker-ce.repo repo/
[rootk8s-m1 ~]# yum install docker-ce-18.06.0.ce-3.el7 --enablerepotest_yum -y
#实验效果是能正常安装更多关于Linux的知识请前往博客主页查看。