更换阿里yum源
[root@yum yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2523 100 2523 0 0 19676 0 --:--:-- --:--:-- --:--:-- 19710
[root@yum yum.repos.d]# ll
总用量 16
-rw-r--r-- 1 root root 2523 3月 19 15:07 CentOS-Base.repo
-rw-r--r-- 1 root root 146 3月 19 09:42 CentOS-Media1.repo1
-rw-r--r--. 1 root root 146 3月 17 14:25 CentOS-Media.repo0
-rw-r--r--. 1 root root 2705 3月 17 14:18 repo-bk.tar.gz
[root@yum yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: base extras updates
Cleaning up list of fastest mirrors
Other repos take up 52 M of disk space (use --verbose for details)
[root@yum yum.repos.d]# yum makecache
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
元数据缓存已建立
安装常用工具 ssh,wget工具,网络工具、增强命令补全,gcc编译环境等。
[root@yum yum.repos.d]# yum install -y vim openssl-devel wget net-tools bash-completion gcc-c++ openssl
下载安装epel源
[root@yum ~]# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm /root
[root@yum ~]# cd /root
[root@yum ~]# yum install -y epel-release-latest-7.noarch.rpm
已加载插件:fastestmirror
正在检查 epel-release-latest-7.noarch.rpm: epel-release-7-14.noarch
epel-release-latest-7.noarch.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 epel-release.noarch.0.7-14 将被 安装
--> 解决依赖关系完成
依赖关系解决
============================================================================================================================================================================
Package 架构 版本 源 大小
============================================================================================================================================================================
正在安装:
epel-release noarch 7-14 /epel-release-latest-7.noarch 25 k
事务概要
============================================================================================================================================================================
安装 1 软件包
总计:25 k
安装大小:25 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : epel-release-7-14.noarch 1/1
验证中 : epel-release-7-14.noarch 1/1
已安装:
epel-release.noarch 0:7-14
完毕!
[root@yum ~]# ll /etc/yum.repos.d/
总用量 24
-rw-r--r-- 1 root root 2523 3月 19 15:07 CentOS-Base.repo
-rw-r--r-- 1 root root 146 3月 19 09:42 CentOS-Media1.repo1
-rw-r--r--. 1 root root 146 3月 17 14:25 CentOS-Media.repo0
-rw-r--r-- 1 root root 1358 9月 5 2021 epel.repo
-rw-r--r-- 1 root root 1457 9月 5 2021 epel-testing.repo
-rw-r--r--. 1 root root 2705 3月 17 14:18 repo-bk.tar.gz
用yum下载rpm包
yum是基于Red Hat的系统(如CentOS、Fedora、RHEl)上的默认包管理器。使用yum,你可以安装或者更新一个RPM包,并且他会自动解决包依赖关系。
本地yum仓库的rpm包有限,很多rpm包需要在网络上下载。有时我们需要把rpm包下载到本地,在没有外网的环境下使用。
yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了--downloadonly(只下载)的选项来达到这个目的。
yum install <package-name> --downloadonly
默认情况下,一个下载的RPM包会保存在下面的目录中:
/var/cache/yum/x86_64/[centos/fedora-version]/[repository]/packages
以上的[repository]表示下载包的来源仓库的名称(例如:base、fedora、updates)
如果你想要将一个包下载到一个指定的目录(如/tmp):
yum install <package-name> --downloadonly --downloaddir=/tmp
注意,如果下载的包包含了任何没有满足的依赖关系,yum将会把所有的依赖关系包下载,但是都不会被安装。
下载rpm包时要确保这个包没有下载过,不然系统就会提示已经下载过了。
如果需要下载已经安装了的rpm包可以使用reinstall命令:
yum reinstall vim-enhanced --downloadonly --downloaddir=/tmp/
[root@yum ~]# yum install vim openssl-devel wget net-tools bash-completion gcc-c++ openssl --downloadonly --downloaddir=/yum/yum-custom/packages
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.bfsu.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 bash-completion.noarch.1.2.1-8.el7 将被 安装
---> 软件包 gcc-c++.x86_64.0.4.8.5-44.el7 将被 安装
---> 软件包 net-tools.x86_64.0.2.0-0.25.20131004git.el7 将被 安装
---> 软件包 openssl.x86_64.1.1.0.2k-24.el7_9 将被 安装
---> 软件包 openssl-devel.x86_64.1.1.0.2k-24.el7_9 将被 安装
--> 正在处理依赖关系 zlib-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-24.el7_9.x86_64 需要
--> 正在处理依赖关系 krb5-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-24.el7_9.x86_64 需要
---> 软件包 vim-enhanced.x86_64.2.7.4.629-8.el7_9 将被 安装
--> 正在处理依赖关系 vim-common = 2:7.4.629-8.el7_9,它被软件包 2:vim-enhanced-7.4.629-8.el7_9.x86_64 需要
--> 正在处理依赖关系 libgpm.so.2()(64bit),它被软件包 2:vim-enhanced-7.4.629-8.el7_9.x86_64 需要
---> 软件包 wget.x86_64.0.1.14-18.el7_6.1 将被 安装
--> 正在检查事务
---> 软件包 gpm-libs.x86_64.0.1.20.7-6.el7 将被 安装
---> 软件包 krb5-devel.x86_64.0.1.15.1-51.el7_9 将被 安装
--> 正在处理依赖关系 libkadm5(x86-64) = 1.15.1-51.el7_9,它被软件包 krb5-devel-1.15.1-51.el7_9.x86_64 需要
--> 正在处理依赖关系 libverto-devel,它被软件包 krb5-devel-1.15.1-51.el7_9.x86_64 需要
--> 正在处理依赖关系 libselinux-devel,它被软件包 krb5-devel-1.15.1-51.el7_9.x86_64 需要
--> 正在处理依赖关系 libcom_err-devel,它被软件包 krb5-devel-1.15.1-51.el7_9.x86_64 需要
--> 正在处理依赖关系 keyutils-libs-devel,它被软件包 krb5-devel-1.15.1-51.el7_9.x86_64 需要
---> 软件包 vim-common.x86_64.2.7.4.629-8.el7_9 将被 安装
--> 正在处理依赖关系 vim-filesystem,它被软件包 2:vim-common-7.4.629-8.el7_9.x86_64 需要
---> 软件包 zlib-devel.x86_64.0.1.2.7-19.el7_9 将被 安装
--> 正在检查事务
---> 软件包 keyutils-libs-devel.x86_64.0.1.5.8-3.el7 将被 安装
---> 软件包 libcom_err-devel.x86_64.0.1.42.9-19.el7 将被 安装
---> 软件包 libkadm5.x86_64.0.1.15.1-51.el7_9 将被 安装
---> 软件包 libselinux-devel.x86_64.0.2.5-15.el7 将被 安装
--> 正在处理依赖关系 libsepol-devel(x86-64) >= 2.5-10,它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libsepol),它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libpcre),它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
---> 软件包 libverto-devel.x86_64.0.0.2.5-4.el7 将被 安装
---> 软件包 vim-filesystem.x86_64.2.7.4.629-8.el7_9 将被 安装
--> 正在检查事务
---> 软件包 libsepol-devel.x86_64.0.2.5-10.el7 将被 安装
---> 软件包 pcre-devel.x86_64.0.8.32-17.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
============================================================================================================================================================================
Package 架构 版本 源 大小
============================================================================================================================================================================
正在安装:
bash-completion noarch 1:2.1-8.el7 base 87 k
gcc-c++ x86_64 4.8.5-44.el7 base 7.2 M
net-tools x86_64 2.0-0.25.20131004git.el7 base 306 k
openssl x86_64 1:1.0.2k-24.el7_9 updates 494 k
openssl-devel x86_64 1:1.0.2k-24.el7_9 updates 1.5 M
vim-enhanced x86_64 2:7.4.629-8.el7_9 updates 1.1 M
wget x86_64 1.14-18.el7_6.1 base 547 k
为依赖而安装:
gpm-libs x86_64 1.20.7-6.el7 base 32 k
keyutils-libs-devel x86_64 1.5.8-3.el7 base 37 k
krb5-devel x86_64 1.15.1-51.el7_9 updates 273 k
libcom_err-devel x86_64 1.42.9-19.el7 base 32 k
libkadm5 x86_64 1.15.1-51.el7_9 updates 179 k
libselinux-devel x86_64 2.5-15.el7 base 187 k
libsepol-devel x86_64 2.5-10.el7 base 77 k
libverto-devel x86_64 0.2.5-4.el7 base 12 k
pcre-devel x86_64 8.32-17.el7 base 480 k
vim-common x86_64 2:7.4.629-8.el7_9 updates 5.9 M
vim-filesystem x86_64 2:7.4.629-8.el7_9 updates 11 k
zlib-devel x86_64 1.2.7-19.el7_9 updates 50 k
事务概要
============================================================================================================================================================================
安装 7 软件包 (+12 依赖软件包)
总计:18 M
总下载量:11 M
安装大小:50 M
Background downloading packages, then exiting:
(1/15): bash-completion-2.1-8.el7.noarch.rpm | 87 kB 00:00:00
(2/15): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm | 37 kB 00:00:00
(3/15): libcom_err-devel-1.42.9-19.el7.x86_64.rpm | 32 kB 00:00:00
(4/15): libkadm5-1.15.1-51.el7_9.x86_64.rpm | 179 kB 00:00:00
(5/15): libselinux-devel-2.5-15.el7.x86_64.rpm | 187 kB 00:00:00
(6/15): krb5-devel-1.15.1-51.el7_9.x86_64.rpm | 273 kB 00:00:00
(7/15): libsepol-devel-2.5-10.el7.x86_64.rpm | 77 kB 00:00:00
(8/15): libverto-devel-0.2.5-4.el7.x86_64.rpm | 12 kB 00:00:00
(9/15): net-tools-2.0-0.25.20131004git.el7.x86_64.rpm | 306 kB 00:00:00
(10/15): openssl-1.0.2k-24.el7_9.x86_64.rpm | 494 kB 00:00:00
(11/15): pcre-devel-8.32-17.el7.x86_64.rpm | 480 kB 00:00:00
(12/15): zlib-devel-1.2.7-19.el7_9.x86_64.rpm | 50 kB 00:00:00
(13/15): wget-1.14-18.el7_6.1.x86_64.rpm | 547 kB 00:00:00
(14/15): openssl-devel-1.0.2k-24.el7_9.x86_64.rpm | 1.5 MB 00:00:02
(15/15): gcc-c++-4.8.5-44.el7.x86_64.rpm | 7.2 MB 00:00:10
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 1.0 MB/s | 11 MB 00:00:10
exiting because "Download Only" specified
然后
[root@yum ~]# cd /yum/yum-custom/
[root@yum yum-custom]# ll
总用量 8
drwxr-xr-x. 2 root root 4096 3月 19 16:19 packages
drwxr-xr-x 2 root root 4096 3月 19 10:07 repodata
[root@yum yum-custom]# mv repodata repodataback
[root@yum yum-custom]# ll
总用量 8
drwxr-xr-x. 2 root root 4096 3月 19 16:19 packages
drwxr-xr-x 2 root root 4096 3月 19 10:07 repodataback
[root@yum yum-custom]# createrepo -pdo /yum/yum-custom/ /yum/yum-custom/
Spawning worker 0 with 5 pkgs
Spawning worker 1 with 5 pkgs
Spawning worker 2 with 5 pkgs
Spawning worker 3 with 5 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
在另外的web1上使用https://www.jianshu.com/p/ea9d28ed3010 中建立的局域网yum源安装软件。
[root@web1 ~]# yum install vim wget net-tools bash-completion gcc-c++
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 wget-1.14-18.el7_6.1.x86_64 已安装并且是最新版本
软件包 net-tools-2.0-0.25.20131004git.el7.x86_64 已安装并且是最新版本
软件包 gcc-c++-4.8.5-44.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 bash-completion.noarch.1.2.1-6.el7 将被 升级
---> 软件包 bash-completion.noarch.1.2.1-8.el7 将被 更新
---> 软件包 vim-enhanced.x86_64.2.7.4.629-6.el7 将被 升级
---> 软件包 vim-enhanced.x86_64.2.7.4.629-8.el7_9 将被 更新
--> 正在处理依赖关系 vim-common = 2:7.4.629-8.el7_9,它被软件包 2:vim-enhanced-7.4.629-8.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 vim-common.x86_64.2.7.4.629-6.el7 将被 升级
---> 软件包 vim-common.x86_64.2.7.4.629-8.el7_9 将被 更新
--> 解决依赖关系完成
依赖关系解决
=================================================================================================================================================
Package 架构 版本 源 大小
=================================================================================================================================================
正在更新:
bash-completion noarch 1:2.1-8.el7 c7-media 87 k
vim-enhanced x86_64 2:7.4.629-8.el7_9 c7-media 1.1 M
为依赖而更新:
vim-common x86_64 2:7.4.629-8.el7_9 c7-media 5.9 M
事务概要
=================================================================================================================================================
升级 2 软件包 (+1 依赖软件包)
总下载量:7.1 M
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for c7-media
(1/3): bash-completion-2.1-8.el7.noarch.rpm | 87 kB 00:00:00
(2/3): vim-enhanced-7.4.629-8.el7_9.x86_64.rpm | 1.1 MB 00:00:00
(3/3): vim-common-7.4.629-8.el7_9.x86_64.rpm | 5.9 MB 00:00:00
-------------------------------------------------------------------------------------------------------------------------------------------------
总计 29 MB/s | 7.1 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : 2:vim-common-7.4.629-8.el7_9.x86_64 1/6
正在更新 : 2:vim-enhanced-7.4.629-8.el7_9.x86_64 2/6
正在更新 : 1:bash-completion-2.1-8.el7.noarch 3/6
清理 : 1:bash-completion-2.1-6.el7.noarch 4/6
清理 : 2:vim-enhanced-7.4.629-6.el7.x86_64 5/6
清理 : 2:vim-common-7.4.629-6.el7.x86_64 6/6
验证中 : 1:bash-completion-2.1-8.el7.noarch 1/6
验证中 : 2:vim-common-7.4.629-8.el7_9.x86_64 2/6
验证中 : 2:vim-enhanced-7.4.629-8.el7_9.x86_64 3/6
验证中 : 2:vim-enhanced-7.4.629-6.el7.x86_64 4/6
验证中 : 1:bash-completion-2.1-6.el7.noarch 5/6
验证中 : 2:vim-common-7.4.629-6.el7.x86_64 6/6
更新完毕:
bash-completion.noarch 1:2.1-8.el7 vim-enhanced.x86_64 2:7.4.629-8.el7_9
作为依赖被升级:
vim-common.x86_64 2:7.4.629-8.el7_9
完毕!
yum安装如果提示--skip-broken和rpm -Va --nofiles --nodigest
--> 解决依赖关系完成
错误:软件包:1:openssl-1.0.2k-24.el7_9.x86_64 (c7-media)
需要:openssl-libs(x86-64) = 1:1.0.2k-24.el7_9
已安装: 1:openssl-libs-1.0.2k-19.el7.x86_64 (@base)
openssl-libs(x86-64) = 1:1.0.2k-19.el7
错误:软件包:1:openssl-devel-1.0.2k-24.el7_9.x86_64 (c7-media)
需要:openssl-libs(x86-64) = 1:1.0.2k-24.el7_9
已安装: 1:openssl-libs-1.0.2k-19.el7.x86_64 (@base)
openssl-libs(x86-64) = 1:1.0.2k-19.el7
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest
查找安装了什么版本的rpm包
[root@web1 ~]# rpm -qa|grep openssl-libs
openssl-libs-1.0.2k-19.el7.x86_64
#删除它从新安装
rpm -e --nodeps openssl-libs
再次安装就可以顺利安装了。
参考:
https://www.cnblogs.com/wangmo/p/7205528.html
https://cloud.tencent.com/developer/article/1702240
网友评论