Centos-国内常用源和离线环境的下载安装方法

开始之前简单讲下源和包管理器的概念,个人理解如下:

源就是平时我们win电脑上的360软件管家、腾讯软件管家、微软商店这个意思,提供下载各类软件包、安装包的平台;

包管理器就是win电脑上各类软件的安装包,例如qq.exe、360.msi等,需要下载后用指定的命令可以进行安装、协助等操作,跟源配合使用。

 

 

一、官网源

每台Centos系统安装后,都自带一个官方厂家的源提供软件下载安装,称为官网源。

以Centos7为例子,官网源的路径在/etc/yum.repos.d文件夹下,里面有多个repo的源文件,记录各软件的下载网址

由于Centos是红帽公司旗下,所以它的包管理器是rpm,官方源也是红帽发布。官网:http://mirrorlist.centos.org/  

官网源特征包含**mirrorlist.centos.org**网址

 

示例:Centos7.9-CentOS-Base.repo

[root@centos79-144 yum.repos.d]# cat CentOS-Base.repo 
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

 

二、国内源

国内源就是国内网站,跟官网的区别就是换了国内的网址,速度更快,下载更方便,在生产环境常用也是使用国内源 
常说的更换国内源,就是将上面官网源的相关文件给删除或者直接替换里面网址的内容,把网址指向国内公司的源网址
 
常用的如下:
阿里源:centos镜像_centos下载地址_centos安装教程-阿里巴巴开源镜像站 (aliyun.com)
清华源:清华大学开源软件镜像站 | Tsinghua Open Source Mirror
腾讯源:腾讯软件源 (tencent.com)
华为源:华为开源镜像站_软件开发服务_华为云 (huaweicloud.com)
 
举例:Centos7替换阿里源
1、使用mv命令,将原来源文件夹下的源重命名为CentOS-Base.repo.backup
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup



2、使用curl命令,下载阿里的源文件到源文件存放目录,并取名为CentOS-Base.repo

 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

 

 3、其实到这里就可以使用了,当新下载软件就会读取CentOS-Base.repo的网址信息。

 

提问1:CentOS-Base.repo这个源文件可以改名嘛?可以改后缀嘛?

答:名字可以随便改,不影响下载源里面的信息;而后缀必须以.repo才可以。系统只会读取.repo的文件认作源,其他的一概不认

 

提问2:为什么之前备份的CentOS-Base.repo.backup系统不会读取?CentOS-Base.repo可以读取?

答:因为文件后缀不同,系统只会把.repo文件认作源,其他的一概不认

 

四、第三方源和EPEL源

除了官网和国内源,还有一些第三方源。第三方源一般是软件厂家针对不同linux系统自己发布的源,它不会随着开机自带,需要我们额外手动添加。

比如docker、kubernetes、ceph、MySQL等等,由于公司大、使用多、下载也大,人家就自己发布了源提供下载。

 

提问:官网源和国内源里面有docker呢?还需要下载docker的源嘛?

答:是的,有些软件在源里面自带了,但是仔细观察你会发现版本都比较低,是老版本。而厂家发布的docker源是最新的。

如果你需要安装新版docker就额外添加使用厂家提供的docker源。只需要老版本可以不添加。

 

提问:当添加了多个源,包含了一个软件的多个版本,我安装的是那个版本呢?

答:如果有个版本,yum install  xxx命令默认会安装最新版本。

如果想安装指定版本 使用yum list xxxx --showduplicates | sort -r 查询当前有哪些版本,然后在跟进安装包名安装指定版本。

 

EPEL源比较特殊,它其实是一个红帽官网发布的针对企业特别补充的一个源。理论来说也算官网源。

但是它并不是开机自带,而是像第三方源一样,需要我们额外添加。

 

 

四、离线环境如何下载安装包

由于源是需要连接互联网的,国内的一些保密单位和企业工厂是没有外网互联网的,这种情况怎么处理呢?

博主推荐3种方法,搭配使用解决离线环境问题。

 

4-1、 在有网络的电脑直接下载安装包后拷贝离线环境使用

直接在电脑或手机上访问如下网址,下载后直接拷贝使用

推荐第三方镜像站:RPM Search (pbone.net)

推进第三方镜像站:Packages for Linux and Unix (pkgs.org)

 

4-2、找台有网络的linux系统上缓存安装包后拷贝使用

yum的命令自带了缓存功能,可以事先在有LINUX环境或者安装一个linux虚拟机进行缓存后拷贝

博主在离线交付时经常使用,这个缓存命令还可以缓存依赖

举例:Centos7缓存telnet

#使用方法,xxx为软件包名,--downloaddir为缓存的文件夹
yum install xxx --downloadonly --downloaddir=/home/xxx 


#离线缓存telnet软件到home/telnet文件夹下 yum install telnet
--downloadonly --downloaddir=/home/telnet

 

4-3、直接搭建ISO源作为离线环境使用

在安装系统的时候,系统镜像是一个ISO。这个ISO除了可以安装系统,也自带很多基本软件,可以作为离线源使用

使用方法参考博主之前的文章:

Centos-挂载离线ISO做为本地源 - 李宗盛 - 博客园 (cnblogs.com)

 

基本上这3个可以解决90%离线环境问题。如果遇到特别多的软件且不在iso里面,这个时候就要自己制作离线源了。

如果觉得博主的文章对你有帮助,麻烦动动小手、点赞、评论、您的鼓励是我最大的动力!!!
出处: https://home.cnblogs.com/u/subsea/
博客园主页:https://www.cnblogs.com/subsea/
CSDN主页:https://blog.csdn.net/SUBSEA123/