关于云计算:Linux云计算05Linux软件包管理

47次阅读

共计 33179 个字符,预计需要花费 83 分钟才能阅读完成。

本章介绍 Linux 系统软件的装置、卸载、配置、保护以及如何构建企业本地 YUM 光盘源及 HTTP 本地源。

1 RPM 软件包治理

Linux 软件包治理大抵可分为二进制包、源码包,应用的工具也各不相同。Linux 常见软件包分为两种,别离是源代码包(Source Code)、二进制包(Binary Code),源代码包是没有通过编译的包,须要通过 GCC、C++ 编译器环境编译能力运行,二进制包无需编译,能够间接装置应用。

通常而言,能够通过后缀简略区别源码包和二进制包,例如.tar.gz、.zip、.rar 结尾的包通常称之为源码包,以.rpm 结尾的软件包称之为二进制包。真正辨别是否为源码还是二进制还得基于代码外面的文件来判断,例如蕴含.h、.c、.cpp、.cc 等结尾的源码文件,称之为源码包,而代码外面存在 bin 目录能够执行文件,称之为二进制包。

CentOS 操作系统中有一款默认软件治理的工具,红帽包管理工具(Red Hat Package Manager,RPM)。

应用 RPM 工具能够对软件包实现疾速装置、治理及保护。RPM 管理工具实用的操作系统包含:CentOS,RedHat,Fedora,SUSE 等,RPM 工具罕用于治理.rpm 后缀结尾的软件包。

RPM 软件包命令规定详解如下:

RPM 包命名格局为:name-version.rpm
name-version-noarch.rpm
name-version-arch.src.rpm
如下软件包格局:epel-release-6-8.noarch.rpm
perl-Pod-Plainer-1.03-1.el6.noarch.rpm

以 yasm-1.2.0-4.el7.x86_64.rpm 为列解析如下:RPM 包格局解析如下:    name              软件名称,例如 yasm、perl-pod-Plainer;    version         版本号,1.2.0 通用格局:“主版本号. 次版本号. 修改号”;4 示意是公布版本号,该 RPM 包是第几次编译生成的;    arch             实用的硬件平台,RPM 反对的平台有:i386、i586、i686、x86_64、sparc、alpha 等。    .rpm            后缀包示意编译好的二进制包,可用 rpm 命令间接装置;    .src.rpm        源代码包,源码编译生成.rpm 格局的 RPM 包方可应用;    el*              软件包发行版本,el6 示意该软件包实用于 RHEL 6.x/CentOS 6.x;    devel:开发包;    noarch:软件包能够在任何平台上装置。

RPM 工具命令详解如下:

RPM 选项 PACKAGE_NAME
-a, --all                          查问所有已装置软件包;-q,--query                        示意询问用户,输入信息;-l, --list                      打印软件包的列表;-f, --file                         FILE 查问蕴含 FILE 的软件包;-i, --info                         显示软件包信息,包含名称,版本,形容;-v, --verbose                   打印输出详细信息;-U, --upgrade                   降级 RPM 软件包;-h,--hash                       软件装置,能够打印装置进度条;--last                             列出软件包时,以安装时间排序,最新的在下面;-e, --erase                     卸载 rpm 软件包
--force                         示意强制,强制装置或者卸载;--nodeps                        RPM 包不依赖
-l, --list                         列出软件包中的文件;--provides                         列出软件包提供的个性;-R, --requires                  列出软件包依赖的其它软件包;--scripts                       列出软件包自定义的小程序。

RPM 企业案例演示:

# 查看 sysstat 包是否装置;[root@superman-vm01 ~]# rpm -q sysstat
package sysstat is not installed
[root@superman-vm01 ~]# 

# 装置 sysstat 软件包;[root@superman-vm01 ~]# rpm -ivh sysstat-10.1.5-17.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:sysstat-10.1.5-17.el7            ################################# [100%]
[root@superman-vm01 ~]#         

# 查看软件装置的门路;[root@superman-vm01 ~]# rpm -ql sysstat
/etc/cron.d/sysstat
/etc/sysconfig/sysstat
/etc/sysconfig/sysstat.ioconf
/usr/bin/cifsiostat
/usr/bin/iostat
/usr/bin/mpstat
/usr/bin/nfsiostat-sysstat
/usr/bin/pidstat
/usr/bin/sadf
/usr/bin/sar
/usr/bin/tapestat
..........                                     

# 查看软件装置的版本信息;[root@superman-vm01 ~]# rpm -qi sysstat
Name        : sysstat
Version     : 10.1.5
Release     : 17.el7
Architecture: x86_64
Install Date: Sat 10 Jul 2021 06:46:49 AM CST
Group       : Applications/System
Size        : 1172947
License     : GPLv2+
Signature   : RSA/SHA256, Mon 12 Nov 2018 10:47:27 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : sysstat-10.1.5-17.el7.src.rpm
Build Date  : Wed 31 Oct 2018 04:04:26 AM CST
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://sebastien.godard.pagesperso-orange.fr/
Summary     : Collection of performance monitoring tools for Linux
Description :
The sysstat package contains sar, sadf, mpstat, iostat, pidstat, nfsiostat-sysstat,
tapestat, cifsiostat and sa tools for Linux.
..........

# 卸载 sysstat 软件;[root@superman-vm01 ~]# rpm -qa|grep sysstat
sysstat-10.1.5-17.el7.x86_64
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# rpm -e sysstat-10.1.5-17.el7.x86_64
[root@superman-vm01 ~]# 

# 降级 sysstat 软件;[root@superman-vm01 ~]# rpm -Uvh sysstat-10.1.5-17.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:sysstat-10.1.5-17.el7            ################################# [100%]
[root@superman-vm01 ~]# 

# 查看 sysstat 相干的软件包是否装置;[root@superman-vm01 ~]# rpm -qa|grep sysstat 
sysstat-10.1.5-17.el7.x86_64
[root@superman-vm01 ~]# 

# 强制卸载 sysstat;[root@superman-vm01 ~]# rpm -e --nodeps sysstat
[root@superman-vm01 ~]#

# 不依赖其它软件包;[root@superman-vm01 ~]# rpm -ivh --nodeps sysstat-10.1.5-17.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:sysstat-10.1.5-17.el7            ################################# [100%]
[root@superman-vm01 ~]# 

2 Tar 软件包治理

Linux 操作系统除了应用 RPM 管理工具对软件包治理之外,还能够通过 tar、zip、jar 等工具进行源码包的治理。

2.1 Tar 命令参数详解

-A, --catenate, --concatenate     将存档与已有的存档合并
-c, --create                     建设新的存档
-d, --diff, --compare            比拟存档与以后文件的不同之处
--delete                        从存档中删除
-r, --append                    附加到存档结尾
-t, --list                      列出存档中文件的目录
-u, --update                    仅将较新的文件附加到存档中
-x, --extract, --get            解压文件
-j, --bzip2, --bunzip2            有 bz2 属性的软件包;-z, --gzip, --ungzip            有 gz 属性的软件包;-b, --block-size N              指定块大小为 Nx512 字节(缺省时 N=20);-B, --read-full-blocks          读取时重组块;-C, --directory DIR             指定新的目录;--checkpoint                    读取存档时显示目录名;-f, --file [HOSTNAME:]F         指定存档或设施,后接文件名称;--force-local                   强制应用本地存档,即便存在克隆;-G, --incremental               建设老 GNU 格局的备份;-g, --listed-incremental        建设新 GNU 格局的备份;-h, --dereference               不转储动静链接,转储动静链接指向的文件;-i, --ignore-zeros              疏忽存档中的 0 字节块(通常意味着文件完结);--ignore-failed-read            在不可读文件中作 0 标记后再退出;-k, --keep-old-files            保留现有文件;从存档中开展时不进行笼罩;-K, --starting-file F           从存档文件 F 开始;-l, --one-file-system           在本地文件系统中创立存档;-L, --tape-length N             在写入 N *1024 个字节后暂停,期待更换磁盘;-m, --modification-time         当从一个档案中复原文件时,不应用新的工夫标签;-M, --multi-volume              建设多卷存档, 以便在几个磁盘中寄存;-O, --to-stdout                 将文件开展到规范输入;-P, --absolute-paths            不要从文件名中去除 '/';-v, --verbose                    具体显示解决的文件;--version                        显示 tar 程序的版本号;--exclude                         FILE 不把指定文件蕴含在内;-X, --exclude-from FILE            从指定文件中读入不想蕴含的文件的列表。
2.2.1 TAR 命令实战
# 查看 keepalived-2.2.2.tar.gz 包中内容;[root@superman-vm01 ~]# tar -tf keepalived-2.2.2.tar.gz
keepalived-2.2.2/
keepalived-2.2.2/tools/
keepalived-2.2.2/tools/timed_reload
keepalived-2.2.2/Makefile.in
keepalived-2.2.2/build-aux/
keepalived-2.2.2/build-aux/install-sh
keepalived-2.2.2/build-aux/missing
keepalived-2.2.2/build-aux/compile
keepalived-2.2.2/build-aux/depcomp
keepalived-2.2.2/build-aux/ar-lib
keepalived-2.2.2/bin_install/
keepalived-2.2.2/bin_install/Makefile.in
keepalived-2.2.2/bin_install/Makefile.am
keepalived-2.2.2/keepalived.spec.in
..........

# 解压 keepalived-2.2.2.tar.gz 程序包;[root@superman-vm01 ~]# tar -xvf keepalived-2.2.2.tar.gz
keepalived-2.2.2/
keepalived-2.2.2/tools/
keepalived-2.2.2/tools/timed_reload
keepalived-2.2.2/Makefile.in
keepalived-2.2.2/build-aux/
keepalived-2.2.2/build-aux/install-sh
keepalived-2.2.2/build-aux/missing
keepalived-2.2.2/build-aux/compile
keepalived-2.2.2/build-aux/depcomp
keepalived-2.2.2/build-aux/ar-lib
keepalived-2.2.2/bin_install/
keepalived-2.2.2/bin_install/Makefile.in
keepalived-2.2.2/bin_install/Makefile.am
keepalived-2.2.2/keepalived.spec.in
keepalived-2.2.2/snap/
keepalived-2.2.2/snap/snapcraft.yaml
keepalived-2.2.2/snap/hooks/
keepalived-2.2.2/snap/hooks/post-refresh
keepalived-2.2.2/snap/hooks/install
keepalived-2.2.2/INSTALL
keepalived-2.2.2/doc/
keepalived-2.2.2/doc/Makefile.in
keepalived-2.2.2/doc/man/
keepalived-2.2.2/doc/man/man8/
........

# 打包 keepalived 文件或者目录,打包后名称 keepalived-2.2.2.tar;[root@superman-vm01 ~]# tar -cvf keepalived-2.2.2.tar keepalived-2.2.2
keepalived-2.2.2/
keepalived-2.2.2/tools/
keepalived-2.2.2/tools/timed_reload
keepalived-2.2.2/Makefile.in
keepalived-2.2.2/build-aux/
keepalived-2.2.2/build-aux/install-sh
keepalived-2.2.2/build-aux/missing
keepalived-2.2.2/build-aux/compile
keepalived-2.2.2/build-aux/depcomp
keepalived-2.2.2/build-aux/ar-lib
keepalived-2.2.2/bin_install/
keepalived-2.2.2/bin_install/Makefile.in
keepalived-2.2.2/bin_install/Makefile.am
keepalived-2.2.2/keepalived.spec.in
keepalived-2.2.2/snap/
keepalived-2.2.2/snap/snapcraft.yaml
keepalived-2.2.2/snap/hooks/
keepalived-2.2.2/snap/hooks/post-refresh
keepalived-2.2.2/snap/hooks/install
keepalived-2.2.2/INSTALL
keepalived-2.2.2/doc/
keepalived-2.2.2/doc/Makefile.in
keepalived-2.2.2/doc/man/
keepalived-2.2.2/doc/man/man8/
........

# 将 a.txt 文件追加到 keepalived-2.2.2.tar 中;[root@superman-vm01 ~]# tar -rf keepalived-2.2.2.tar abc.txt
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# tar tf keepalived-2.2.2.tar | grep abc.txt 
abc.txt
[root@superman-vm01 ~]#

# 应用 gzip 格局打包并压缩 keepalived-2.2.2 目录;[root@superman-vm01 ~]# tar -czvf keepalived-2.2.2.tar.gz keepalived-2.2.2
keepalived-2.2.2/
keepalived-2.2.2/tools/
keepalived-2.2.2/tools/timed_reload
keepalived-2.2.2/Makefile.in
keepalived-2.2.2/build-aux/
keepalived-2.2.2/build-aux/install-sh
keepalived-2.2.2/build-aux/missing
keepalived-2.2.2/build-aux/compile
keepalived-2.2.2/build-aux/depcomp
keepalived-2.2.2/build-aux/ar-lib
keepalived-2.2.2/bin_install/
keepalived-2.2.2/bin_install/Makefile.in
keepalived-2.2.2/bin_install/Makefile.am
keepalived-2.2.2/keepalived.spec.in
keepalived-2.2.2/snap/
keepalived-2.2.2/snap/snapcraft.yaml
keepalived-2.2.2/snap/hooks/
keepalived-2.2.2/snap/hooks/post-refresh
keepalived-2.2.2/snap/hooks/install
.........

# 应用 bzip2 格局打包并压缩 superman 目录;[root@superman-vm01 ~]# tar -cjvf keepalived-2.2.2.tar.bz2 keepalived-2.2.2
keepalived-2.2.2/
keepalived-2.2.2/tools/
keepalived-2.2.2/tools/timed_reload
keepalived-2.2.2/Makefile.in
keepalived-2.2.2/build-aux/
keepalived-2.2.2/build-aux/install-sh
keepalived-2.2.2/build-aux/missing
keepalived-2.2.2/build-aux/compile
keepalived-2.2.2/build-aux/depcomp
keepalived-2.2.2/build-aux/ar-lib
keepalived-2.2.2/bin_install/
keepalived-2.2.2/bin_install/Makefile.in
keepalived-2.2.2/bin_install/Makefile.am
keepalived-2.2.2/keepalived.spec.in
keepalived-2.2.2/snap/
keepalived-2.2.2/snap/snapcraft.yaml
keepalived-2.2.2/snap/hooks/
keepalived-2.2.2/snap/hooks/post-refresh
keepalived-2.2.2/snap/hooks/install
..........

# 应用 gzip 格局打包并压缩当前目录所有文件,排除 abc.txt 中记录的文件;[root@superman-vm01 ceshi]# ls
abc.txt  keepalived-2.2.2
[root@superman-vm01 ceshi]# 
[root@superman-vm01 ceshi]# tar -czf keepalived-2.2.2.tar.gz * -X abc.txt
[root@superman-vm01 ceshi]# 
[root@superman-vm01 ceshi]# tar tf keepalived-2.2.2.tar.gz | grep abc.txt
abc.txt
[root@superman-vm01 ceshi]# 

# 应用 gzip 格局打包并压当前目录所有文件及目录,排除 abc.txt。[root@superman-vm01 ceshi]# ls
abc.txt  keepalived-2.2.2
[root@superman-vm01 ceshi]# 
[root@superman-vm01 ceshi]# tar -czf keepalived-2.2.2.tar.gz * --exclude=abc.txt
[root@superman-vm01 ceshi]# 
[root@superman-vm01 ceshi]# tar tf keepalived-2.2.2.tar.gz | grep abc.txt
[root@superman-vm01 ceshi]# 

3 源码包软件装置

通常应用 RPM 工具治理.rpm 结尾的二进制包,而规范的.zip、tar 结尾的源代码包则不能应用 RPM 工具去装置、卸载及降级,源码包装置有三个步骤,如下:

    ./configure       预编译,次要用于检测零碎基准环境库是否满足,生成 MakeFile 文件;    make              编译,基于第一步生成的 makefile 文件,进行源代码的编译;    make install      装置,编译结束之后,将相干的可运行文件装置至零碎中;应用 make 编译时,Linux 操作系统必须有 GCC 编译器,用于编译源码。

源码包装置通常须要./configure、make、make install 三个步骤,某些非凡源码能够只有三步中的其中一个步骤,或者两个步骤。

3.1 源码装置实战

以 CentOS 7 Linux 零碎为基准,在其上装置 Nginx 源码包,企业中源码装置的具体步骤如下:

1、nginx.org 官网下载 nginx-1.19.9.tar.gz 包
[root@superman-vm01 ~]# wget http://nginx.org/download/nginx-1.19.9.tar.gz
--2021-07-10 07:43:34--  http://nginx.org/download/nginx-1.19.9.tar.gz
Resolving nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5702::6, ...
Connecting to nginx.org (nginx.org)|52.58.199.22|:80... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.

--2021-07-10 07:43:35--  (try: 2)  http://nginx.org/download/nginx-1.19.9.tar.gz
Connecting to nginx.org (nginx.org)|52.58.199.22|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 887908 (867K) [application/octet-stream]
Saving to:‘nginx-1.19.9.tar.gz’57% [=====================>] 507,913     --.-K/s   in 16m 50s 

2021-07-10 08:00:26 (503 B/s) - Read error at byte 507913/887908 (Connection timed out). Retrying.

--2021-07-10 08:00:28--  (try: 3)  http://nginx.org/download/nginx-1.19.9.tar.gz
Connecting to nginx.org (nginx.org)|52.58.199.22|:80... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 887908 (867K), 379995 (371K) remaining [application/octet-stream]
Saving to:‘nginx-1.19.9.tar.gz’100%[++++++++++++++++++++++================>] 887,908     6.46KB/s   in 52s    

2021-07-10 08:01:20 (7.11 KB/s) -‘nginx-1.19.9.tar.gz’saved [887908/887908]

[root@superman-vm01 ~]# 

2、Nginx 源码包解压
[root@superman-vm01 ~]# tar -xvf nginx-1.19.9.tar.gz  
nginx-1.19.9/
nginx-1.19.9/auto/
nginx-1.19.9/conf/
nginx-1.19.9/contrib/
nginx-1.19.9/src/
nginx-1.19.9/configure
nginx-1.19.9/LICENSE
nginx-1.19.9/README
nginx-1.19.9/html/
nginx-1.19.9/man/
nginx-1.19.9/CHANGES.ru
nginx-1.19.9/CHANGES
nginx-1.19.9/man/nginx.8
nginx-1.19.9/html/50x.html
nginx-1.19.9/html/index.html
nginx-1.19.9/src/core/
..........

3、源码 Configure 预编译,需进入解压后的目录执行./configure 指令,分号“;”示意连贯多个命令。[root@superman-vm01 ~]# cd nginx-1.19.9/;./configure
checking for OS
 + Linux 3.10.0-957.el7.x86_64 x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
checking for gcc -pipe switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found
checking for unistd.h ... found
checking for inttypes.h ... found
checking for limits.h ... found
checking for sys/filio.h ... not found
checking for sys/param.h ... found
checking for sys/mount.h ... found
checking for sys/statvfs.h ... found
checking for crypt.h ... found
checking for Linux specific features
checking for epoll ... found
checking for EPOLLRDHUP ... found
...........

5、make install 装置
[root@superman-vm01 nginx-1.19.9]# make install
make -f objs/Makefile install
make[1]: Entering directory `/root/nginx-1.19.9'test -d'/usr/local/nginx'|| mkdir -p'/usr/local/nginx'test -d'/usr/local/nginx/sbin'|| mkdir -p'/usr/local/nginx/sbin'test ! -f'/usr/local/nginx/sbin/nginx'|| mv'/usr/local/nginx/sbin/nginx''/usr/local/nginx/sbin/nginx.old'
cp objs/nginx '/usr/local/nginx/sbin/nginx'
test -d '/usr/local/nginx/conf'                 || mkdir -p '/usr/local/nginx/conf'
cp conf/koi-win '/usr/local/nginx/conf'
cp conf/koi-utf '/usr/local/nginx/conf'
cp conf/win-utf '/usr/local/nginx/conf'
test -f '/usr/local/nginx/conf/mime.types'              || cp conf/mime.types '/usr/local/nginx/conf'
cp conf/mime.types '/usr/local/nginx/conf/mime.types.default'
test -f '/usr/local/nginx/conf/fastcgi_params'          || cp conf/fastcgi_params '/usr/local/nginx/conf'
cp conf/fastcgi_params          '/usr/local/nginx/conf/fastcgi_params.default'
test -f '/usr/local/nginx/conf/fastcgi.conf'            || cp conf/fastcgi.conf '/usr/local/nginx/conf'
cp conf/fastcgi.conf '/usr/local/nginx/conf/fastcgi.conf.default'
test -f '/usr/local/nginx/conf/uwsgi_params'            || cp conf/uwsgi_params '/usr/local/nginx/conf'
cp conf/uwsgi_params            '/usr/local/nginx/conf/uwsgi_params.default'
test -f '/usr/local/nginx/conf/scgi_params'             || cp conf/scgi_params '/usr/local/nginx/conf'
cp conf/scgi_params             '/usr/local/nginx/conf/scgi_params.default'
test -f '/usr/local/nginx/conf/nginx.conf'              || cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
test -d '/usr/local/nginx/logs'                 || mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/logs' ||              mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html'                 || cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' ||              mkdir -p '/usr/local/nginx/logs'
make[1]: Leaving directory `/root/nginx-1.19.9'
[root@superman-vm01 nginx-1.19.9]#  

通过以上五个步骤,源码包软件装置胜利,源码包在编译及装置时,可能会遇到各种谬误,须要把谬误解决之后,而后再进行下一步装置即可,前面章节会重点针对企业应用的软件进行案例演练。

4 YUM 软件包治理

前端软件包管理器(Yellow Updater Modified,YUM)实用于 CentOS、Fedora、RedHat 及 SUSE 中的 Shell 命令行,次要用于治理 RPM 包,于 RPM 工具应用范畴相似,YUM 工具可能从指定的服务器主动下载 RPM 包并且装置,还能够主动解决依赖性关系。

应用 RPM 工具治理和装置软件时,会发现 rpm 包有依赖,须要一一手动下载安装,而 YUM 工具的最大便当就是能够主动装置所有依赖的软件包,从而晋升效率,节省时间。

4.1 YUM 工作原理

学习 YUM,肯定要了解 YUM 工作原理,YUM 失常运行,须要依赖两个局部,一是 YUM 源端,二是 YUM 客户端,也即用户应用端。

YUM 客户端装置的所有 RPM 包都是来自 YUM 服务端,YUM 源端通过 HTTP 或者 FTP 服务器公布。而 YUM 客户端可能从 YUM 源端下载依赖的 RPM 包是因为在 YUM 源端生成了 RPM 包的基准信息,包含 RPM 包版本号、配置文件、二进制信息、依赖关系等。

YUM 客户端须要装置软件或者搜寻软件,会查找 /etc/yum.repos.d 下以.repo 结尾文件,CentOS Linux 默认的.repo 文件名为 CentOS-Base.repo,该文件中配置了 YUM 源端的镜像地址,所以每次装置、降级 RPM 包,YUM 客户端均会查找.repo 文件。

YUM 客户端如果配置了 CentOS 官网 repo 源,客户端操作系统必须能联外网,满足网络条件,能力下载软件并装置,如果没有网络,也能够构建光盘源或者外部 YUM 源。在只有 YUM 客户端时,YUM 客户端装置软件,默认会把 YUM 源地址、Header 信息、软件包、数据库信息、缓存文件存储在 /var/cache/yum 中,每次应用 YUM 工具,YUM 优先通过 Cache 查找相干软件包,Cache 中不存在,而后在拜访外网 YUM 源。

4.2 YUM 参数详解

因为 YUM 工具的应用简便、快捷、高效,在企业中失去宽泛的应用,失去泛滥 IT 运维、程序人员的青眼,要能纯熟应用 YUM 工具,须要先把握 YUM 命令行参数的应用,如下为 YUM 命令工具的参数详解及实战步骤:

YUM 命令工具指南,YUM 格局为:YUM [command] [package] -y|-q 其中的 [options] 是可选。- y 装置或者卸载呈现 YES 时,主动确认 yes;- q 不显示装置的过程。yum install sysstat                     装置 sysstat 软件包;yum reinstall sysstat                   重新安装 sysstat 软件包
yum search sysstat                        YUM 搜寻软件包;yum list sysstat                           显示指定程序包装置状况 sysstat;yum list                                  显示所有已装置及可装置的软件包;yum remove sysstat                         删除程序包 sysstat;yum erase sysstat                         删除程序包 sysstat;yum update                                  内核降级或者软件更新;yum update sysstat                         更新 sysstat 软件;yum check-update                         查看可更新的程序;yum info sysstat                           显示安装包信息 sysstat;yum provides                             列出软件包提供哪些文件;yum provides "*/rz"                     列出 rz 命令由哪个软件包提供;yum grouplist                           询能够用 groupinstall 装置的组名称;yum groupinstall "Chinese Support"      装置中文反对;yum groupremove "Chinese Support"          删除程序组 Chinese Support;yum deplist sysstat                     查看程序 sysstat 依赖状况;yum clean   packages                     革除缓存目录下的软件包;yum clean   headers                     革除缓存目录下的 headers;yum clean   all                           革除缓存目录下的软件包及旧的 headers。yum repolist {all|enabled|disabled}     列出所有 / 已启用 / 已禁用的 yum 源
yum list {all|installed|avaliable}      列出所有 / 已装置 / 可装置的软件包
4.2.1 YUM 装置实战

1、基于 CentOS 7 Linux,执行命令 yum install sysstat -y,装置 sysstat 服务

[root@superman-vm01 ~]# yum install sysstat -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
    Resolving Dependencies
    --> Running transaction check
    ---> Package sysstat.x86_64 0:10.1.5-17.el7 will be updated
    ---> Package sysstat.x86_64 0:10.1.5-19.el7 will be an update
    --> Finished Dependency Resolution

Dependencies Resolved

================================================================================

 Package          Arch            Version                   Repository     Size
================================================================================

Updating:
 sysstat          x86_64          10.1.5-19.el7             base          315 k

Transaction Summary
================================================================================

Upgrade  1 Package

Total size: 315 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Updating   : sysstat-10.1.5-19.el7.x86_64                                 1/2 
  Cleanup    : sysstat-10.1.5-17.el7.x86_64                                 2/2 
  Verifying  : sysstat-10.1.5-19.el7.x86_64                                 1/2 
  Verifying  : sysstat-10.1.5-17.el7.x86_64                                 2/2 

Updated:
  sysstat.x86_64 0:10.1.5-19.el7                                                

Complete!
[root@superman-vm01 ~]# 

2、执行命令 yum grouplist,查看 groupinstall 的软件组名

[root@superman-vm01 ~]# yum grouplist
Loaded plugins: fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.bfsu.edu.cn
 * extras: mirrors.bfsu.edu.cn
 * updates: mirrors.bfsu.edu.cn
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done
[root@superman-vm01 ~]# 

3、执行命令 yum groupinstall “GNOME Desktop” -y,装置 Linux 图像界面

[root@superman-vm01 ~]# yum groupinstall "GNOME Desktop" -y
Loaded plugins: fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.bfsu.edu.cn
Warning: Group core does not have any packages to install.
Warning: Group gnome-desktop does not have any packages to install.
Warning: Group guest-agents does not have any packages to install.
Package gtk2-immodule-xim-2.24.31-1.el7.x86_64 already installed and latest version
Warning: Group guest-desktop-agents does not have any packages to install.
Warning: Group fonts does not have any packages to install.
Warning: Group print-client does not have any packages to install.
Warning: Group desktop-debugging does not have any packages to install.
Warning: Group dial-up does not have any packages to install.
Package gstreamer1-plugins-bad-free-1.10.4-3.el7.x86_64 already installed and latest version
Package gstreamer1-plugins-good-1.10.4-2.el7.x86_64 already installed and latest version
Package gstreamer1-plugins-ugly-free-1.10.4-3.el7.x86_64 already installed and latest version
Warning: Group multimedia does not have any packages to install.
Warning: Group base does not have any packages to install.
Group base does have 1 conditional packages, which may get installed.
Warning: Group internet-browser does not have any packages to install.
Warning: Group x11 does not have any packages to install.
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager-bluetooth.x86_64 1:1.18.8-2.el7_9 will be installed
.........

4、执行命令 yum install sysstat php php-devel php-mysql mariadb mariadb-server -y,装置中小企业 LAMP 架构环境

[root@superman-vm01 ~]# yum install sysstat php php-devel php-mysql mariadb mariadb-server -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
Package sysstat-10.1.5-19.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package mariadb.x86_64 1:5.5.68-1.el7 will be installed
--> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.68-1.el7 for package: 1:mariadb-5.5.68-1.el7.x86_64
---> Package mariadb-server.x86_64 1:5.5.68-1.el7 will be installed
--> Processing Dependency: perl-DBD-MySQL for package: 1:mariadb-server-5.5.68-1.el7.x86_64
---> Package php.x86_64 0:5.4.16-48.el7 will be installed
--> Processing Dependency: php-common(x86-64) = 5.4.16-48.el7 for package: php-5.4.16-48.el7.x86_64
..........

5、执行命令 yum remove ntpdate -y,卸载 ntpdate 软件包

[root@superman-vm01 ~]# yum remove ntpdate -yLoaded plugins: fastestmirror, langpacksResolving Dependencies--> Running transaction check---> Package ntpdate.x86_64 0:4.2.6p5-29.el7.centos.2 will be erased--> Processing Dependency: ntpdate = 4.2.6p5-29.el7.centos.2 for package: ntp-4.2.6p5-29.el7.centos.2.x86_64--> Running transaction check---> Package ntp.x86_64 0:4.2.6p5-29.el7.centos.2 will be erased--> Processing Dependency: ntp for package: ipa-client-4.6.8-5.el7.centos.6.x86_64--> Running transaction check---> Package ipa-client.x86_64 0:4.6.8-5.el7.centos.6 will be erased--> Finished Dependency ResolutionDependencies Resolved================================================================================ Package         Arch        Version                        Repository     Size================================================================================Removing: ntpdate         x86_64      4.2.6p5-29.el7.centos.2        @base         121 kRemoving for dependencies: ipa-client      x86_64      4.6.8-5.el7.centos.6           @updates      255 k ntp             x86_64      4.2.6p5-29.el7.centos.2        @base         1.4 MTransaction Summary================================================================================Remove  1 Package (+2 Dependent packages)Installed size: 1.7 MDownloading packages:Running transaction checkRunning transaction testTransaction test succeededRunning transaction  Erasing    : ipa-client-4.6.8-5.el7.centos.6.x86_64                       1/3   Erasing    : ntp-4.2.6p5-29.el7.centos.2.x86_64                           2/3   Erasing    : ntpdate-4.2.6p5-29.el7.centos.2.x86_64                       3/3   Verifying  : ntp-4.2.6p5-29.el7.centos.2.x86_64                           1/3   Verifying  : ntpdate-4.2.6p5-29.el7.centos.2.x86_64                       2/3   Verifying  : ipa-client-4.6.8-5.el7.centos.6.x86_64                       3/3 Removed:  ntpdate.x86_64 0:4.2.6p5-29.el7.centos.2                                      Dependency Removed:  ipa-client.x86_64 0:4.6.8-5.el7.centos.6 ntp.x86_64 0:4.2.6p5-29.el7.centos.2Complete![root@superman-vm01 ~]# 

6、执行命令 yum provides rz 或者 yum provides “*/rz”,查找 rz 命令的提供者

[root@superman-vm01 ~]# yum provides rzLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfile * base: mirrors.bfsu.edu.cn * extras: mirrors.bfsu.edu.cn * updates: mirrors.bfsu.edu.cnextras/7/x86_64/filelists_db                             | 235 kB     00:00     updates/7/x86_64/filelists_db                            | 5.1 MB     00:04     lrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programsRepo        : baseMatched from:Filename    : /usr/bin/rzlrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programsRepo        : @anacondaMatched from:Filename    : /usr/bin/rz[root@superman-vm01 ~]# [root@superman-vm01 ~]# yum provides "*/rz"Loaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.comlrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programsRepo        : baseMatched from:Filename    : /usr/bin/rzlrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programsRepo        : @anacondaMatched from:Filename    : /usr/bin/rz[root@superman-vm01 ~]# 

7、执行命令 yum update -y,降级 Linux 所有可更新的软件包或 Linux 内核降级

[root@superman-vm01 ~]# yum update -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.huaweicloud.com
Resolving Dependencies
--> Running transaction check
---> Package GeoIP.x86_64 0:1.5.0-13.el7 will be updated
---> Package GeoIP.x86_64 0:1.5.0-14.el7 will be an update
--> Processing Dependency: geoipupdate for package: GeoIP-1.5.0-14.el7.x86_64
---> Package ModemManager.x86_64 0:1.6.10-1.el7 will be updated
---> Package ModemManager.x86_64 0:1.6.10-4.el7 will be an update
---> Package ModemManager-glib.x86_64 0:1.6.10-1.el7 will be updated
---> Package ModemManager-glib.x86_64 0:1.6.10-4.el7 will be an update
---> Package PackageKit.x86_64 0:1.1.10-1.el7.centos will be updated
---> Package PackageKit.x86_64 0:1.1.10-2.el7.centos will be an update
...........

4.3 配置网络源

# 装置 163 的 yum 源:[root@superman-vm01 ~]# wget -O /etc/yum.repos.d/CentOS7-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
--2021-07-10 17:07:57--  http://mirrors.163.com/.help/CentOS7-Base-163.repo
Resolving mirrors.163.com (mirrors.163.com)... 1.193.221.38, 124.116.156.215, 124.116.156.214, ...
Connecting to mirrors.163.com (mirrors.163.com)|1.193.221.38|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1572 (1.5K) [application/octet-stream]
Saving to:‘/etc/yum.repos.d/CentOS7-Base-163.repo’100%[======================================>] 1,572       --.-K/s   in 0s      

2021-07-10 17:07:57 (76.7 MB/s) -‘/etc/yum.repos.d/CentOS7-Base-163.repo’saved [1572/1572]

[root@superman-vm01 ~]# 

# 装置阿里云的 yum 源:[root@superman-vm01 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
--2021-07-10 17:08:52--  http://mirrors.aliyun.com/repo/Centos-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 1.180.14.242, 1.180.14.241, 1.180.14.248, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|1.180.14.242|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2523 (2.5K) [application/octet-stream]
Saving to:‘/etc/yum.repos.d/CentOS-Base.repo’100%[======================================>] 2,523       --.-K/s   in 0s      

2021-07-10 17:08:52 (384 MB/s) -‘/etc/yum.repos.d/CentOS-Base.repo’saved [2523/2523]

[root@superman-vm01 ~]# 
# 搜狐没有现成的 yum 源文件下载,须要本人配置:[root@superman-vm01 ~]# echo "[sohu]
name=Centos-$releasever-sohu
baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch
gpgcheck=1
gpgkey=http://mirrors.sohu.com/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever" > /etc/yum.repos.d/CentOS-souhu.repo
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# yum makecache
Loaded plugins: fastestmirror, langpacks
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Loading mirror speeds from cached hostfile

4.4 配置本地源

[root@superman-vm01 ~]# mkdir /mnt/cdrom
[root@superman-vm01 ~]# mount /dev/cdrom /mnt/cdrom
echo "[local]
name=centos-$releasever-local
baseurl=file:///mnt/cdrom
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7" > /etc/yum.repos.d/centos-7-local.repomount: /dev/sr0 is write-protected, mounting read-only
[root@superman-vm01 ~]# echo "[local]
name=centos-$releasever-local
baseurl=file:///mnt/cdrom
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7" > /etc/yum.repos.d/centos-7-local.repo
[root@superman-vm01 ~]# 

4.5 主动配置仓库

# 装置 yum 的扩大包:[root@superman-vm01 ~]# yum install yum-utils -y         
Loaded plugins: fastestmirror, langpacks
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base                                                     | 3.6 kB     00:00     
extras                                                   | 2.9 kB     00:00     
local                                                    | 3.6 kB     00:00     
updates                                                  | 2.9 kB     00:00  
 
# 主动配置国内 epel 仓库:[root@superman-vm01 ~]# yum-config-manager --add-repo=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
Loaded plugins: fastestmirror, langpacks
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
adding repo from: https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/

[mirrors.tuna.tsinghua.edu.cn_epel_7_x86_64_]
name=added from: https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
enabled=1


[root@superman-vm01 ~]# 

4.6 禁用 / 启用仓库

# epel 是仓库的 id [epel]
[root@superman-vm01 ~]# yum-config-manager --disable epel
Loaded plugins: fastestmirror, langpacks
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# yum-config-manager --enable epel
Loaded plugins: fastestmirror, langpacks
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
[root@superman-vm01 ~]# 

# 查看仓库状态:[root@superman-vm01 ~]# yum repolist all
Loaded plugins: fastestmirror, langpacks
Repository 'sohu' is missing name in configuration, using id
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
Loading mirror speeds from cached hostfile
repo id                             repo name                         status
C7.0.1406-base/x86_64               CentOS-7.0.1406 - Base            disabled
C7.0.1406-centosplus/x86_64         CentOS-7.0.1406 - CentOSPlus      disabled
C7.0.1406-extras/x86_64             CentOS-7.0.1406 - Extras          disabled
C7.0.1406-fasttrack/x86_64          CentOS-7.0.1406 - Fasttrack       disabled
C7.0.1406-updates/x86_64            CentOS-7.0.1406 - Updates         disabled
C7.1.1503-base/x86_64               CentOS-7.1.1503 - Base            disabled
C7.1.1503-centosplus/x86_64         CentOS-7.1.1503 - CentOSPlus      disabled
C7.1.1503-extras/x86_64             CentOS-7.1.1503 - Extras          disabled
C7.1.1503-fasttrack/x86_64          CentOS-7.1.1503 - Fasttrack       disabled
C7.1.1503-updates/x86_64            CentOS-7.1.1503 - Updates         disabled
C7.2.1511-base/x86_64               CentOS-7.2.1511 - Base            disabled
C7.2.1511-centosplus/x86_64         CentOS-7.2.1511 - CentOSPlus      disabled
C7.2.1511-extras/x86_64             CentOS-7.2.1511 - Extras          disabled
C7.2.1511-fasttrack/x86_64          CentOS-7.2.1511 - Fasttrack       disabled
C7.2.1511-updates/x86_64            CentOS-7.2.1511 - Updates         disabled
C7.3.1611-base/x86_64               CentOS-7.3.1611 - Base            disabled
C7.3.1611-centosplus/x86_64         CentOS-7.3.1611 - CentOSPlus      disabled
C7.3.1611-extras/x86_64             CentOS-7.3.1611 - Extras          disabled
C7.3.1611-fasttrack/x86_64          CentOS-7.3.1611 - Fasttrack       disabled
C7.3.1611-updates/x86_64            CentOS-7.3.1611 - Updates         disabled
C7.4.1708-base/x86_64               CentOS-7.4.1708 - Base            disabled
C7.4.1708-centosplus/x86_64         CentOS-7.4.1708 - CentOSPlus      disabled
C7.4.1708-extras/x86_64             CentOS-7.4.1708 - Extras          disabled
C7.4.1708-fasttrack/x86_64          CentOS-7.4.1708 - Fasttrack       disabled
C7.4.1708-updates/x86_64            CentOS-7.4.1708 - Updates         disabled
C7.5.1804-base/x86_64               CentOS-7.5.1804 - Base            disabled
C7.5.1804-centosplus/x86_64         CentOS-7.5.1804 - CentOSPlus      disabled
C7.5.1804-extras/x86_64             CentOS-7.5.1804 - Extras          disabled
C7.5.1804-fasttrack/x86_64          CentOS-7.5.1804 - Fasttrack       disabled
C7.5.1804-updates/x86_64            CentOS-7.5.1804 - Updates         disabled
C7.6.1810-base/x86_64               CentOS-7.6.1810 - Base            disabled
C7.6.1810-centosplus/x86_64         CentOS-7.6.1810 - CentOSPlus      disabled
C7.6.1810-extras/x86_64             CentOS-7.6.1810 - Extras          disabled
C7.6.1810-fasttrack/x86_64          CentOS-7.6.1810 - Fasttrack       disabled
C7.6.1810-updates/x86_64            CentOS-7.6.1810 - Updates         disabled
C7.7.1908-base/x86_64               CentOS-7.7.1908 - Base            disabled
C7.7.1908-centosplus/x86_64         CentOS-7.7.1908 - CentOSPlus      disabled
C7.7.1908-extras/x86_64             CentOS-7.7.1908 - Extras          disabled
C7.7.1908-fasttrack/x86_64          CentOS-7.7.1908 - Fasttrack       disabled
C7.7.1908-updates/x86_64            CentOS-7.7.1908 - Updates         disabled
C7.8.2003-base/x86_64               CentOS-7.8.2003 - Base            disabled
C7.8.2003-centosplus/x86_64         CentOS-7.8.2003 - CentOSPlus      disabled
C7.8.2003-extras/x86_64             CentOS-7.8.2003 - Extras          disabled
C7.8.2003-fasttrack/x86_64          CentOS-7.8.2003 - Fasttrack       disabled
C7.8.2003-updates/x86_64            CentOS-7.8.2003 - Updates         disabled
base/7/x86_64                       CentOS-7 - Base - mirrors.aliyun. enabled: 0
base-debuginfo/x86_64               CentOS-7 - Debuginfo              disabled
base-source/7                       CentOS-7 - Base Sources           disabled
c7-media                            CentOS-7 - Media                  disabled
centos-kernel/7/x86_64              CentOS LTS Kernels for x86_64     disabled
centos-kernel-experimental/7/x86_64 CentOS Experimental Kernels for x disabled
centosplus/7/x86_64                 CentOS-7 - Plus - mirrors.aliyun. disabled
centosplus-source/7                 CentOS-7 - Plus Sources           disabled
contrib/7/x86_64                    CentOS-7 - Contrib - mirrors.aliy disabled
cr/7/x86_64                         CentOS-7 - cr                     disabled
extras/7/x86_64                     CentOS-7 - Extras - mirrors.aliyu enabled: 0
extras-source/7                     CentOS-7 - Extras Sources         disabled
fasttrack/7/x86_64                  CentOS-7 - fasttrack              disabled
sohu                                sohu                              enabled: 0
updates/7/x86_64                    CentOS-7 - Updates - mirrors.aliy enabled: 0
updates-source/7                    CentOS-7 - Updates Sources        disabled
repolist: 0
[root@superman-vm01 ~]#

5. 同步外网源

在企业理论利用场景中,仅仅靠光盘外面的 RPM 软件包是不能满足需要,咱们能够把外网的 YUM 源中的所有软件包同步至本地,能够欠缺本地 YUM 源的软件包数量及完整性。

5.1 装置 reposync 工具

[root@superman-vm01 ~]# yum install yum-utils createrepo -y
Loaded plugins: fastestmirror, langpacks
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
mirrors.tuna.tsinghua.edu.cn_epel_7_x86_64_              | 4.7 kB     00:00     
(1/3): mirrors.tuna.tsinghua.edu.cn_epel_7_x86_64_/group_g |  96 kB   00:00     
(2/3): mirrors.tuna.tsinghua.edu.cn_epel_7_x86_64_/updatei | 1.0 MB   00:04     
(3/3): mirrors.tuna.tsinghua.edu.cn_epel_7_x86_64_/primary | 6.9 MB   00:07 

5.2 同步源

# 创立本地目录:
[root@superman-vm01 ~]# mkdir /data/{centos,epel}
[root@superman-vm01 ~]# 

# 同步 yum 源:[root@superman-vm01 ~]# reposync -r base -r updates -p /data/centos/
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
No Presto metadata available for base
389-ds-base-1.3.10.2-6.el7.x86 FAILED                                          
389-ds-base-devel-1.3.10.2-6.e FAILED                                           
(1/10072): 389-ds-base-snmp-1.3.10.2-6.el7.x86_64.rpm      | 178 kB   00:00     
(2/10072): ElectricFence-2.2.2-39.el7.i686.rpm             |  35 kB   00:00     
(3/10072): ElectricFence-2.2.2-39.el7.x86_64.rpm           |  35 kB   00:00     
(4/10072): GConf2-3.2.6-8.el7.i686.rpm                     | 1.0 MB   00:01     
(5/10072): Cython-0.19-5.el7.x86_64.rpm                    | 1.9 MB   00:03     
(6/10072): GConf2-3.2.6-8.el7.x86_64.rpm                   | 1.0 MB   00:01     
(7/10072): GConf2-devel-3.2.6-8.el7.i686.rpm               | 110 kB   00:00     
(8/10072): GConf2-devel-3.2.6-8.el7.x86_64.rpm             | 110 kB   00:00  
.........

# 生成元数据:[root@superman-vm01 ~]# createrepo /data/centos
[root@superman-vm01 ~]# 

# 联合后面所学制作本地源,如果想让其它服务器应用该源,前面能够联合 nginx 公布。

欢送关注我的微信公众号【超哥的 IT 私房菜】获取更多技术干货!

有什么吐槽或反馈意见,间接通知我!
我会解决您说的问题,进一步更好的服务您哦!

正文完
 0