翼度科技»论坛 编程开发 PHP 查看内容

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

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
开始之前简单讲下源和包管理器的概念,个人理解如下:
源就是平时我们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
  1. [root@centos79-144 yum.repos.d]# cat CentOS-Base.repo
  2. # CentOS-Base.repo
  3. #
  4. # The mirror system uses the connecting IP address of the client and the
  5. # update status of each mirror to pick mirrors that are updated to and
  6. # geographically close to the client.  You should use this for CentOS updates
  7. # unless you are manually picking other mirrors.
  8. #
  9. # If the mirrorlist= does not work for you, as a fall back you can try the
  10. # remarked out baseurl= line instead.
  11. #
  12. #
  13. [base]
  14. name=CentOS-$releasever - Base
  15. mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
  16. #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
  17. gpgcheck=1
  18. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  19. #released updates
  20. [updates]
  21. name=CentOS-$releasever - Updates
  22. mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
  23. #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
  24. gpgcheck=1
  25. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  26. #additional packages that may be useful
  27. [extras]
  28. name=CentOS-$releasever - Extras
  29. mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
  30. #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
  31. gpgcheck=1
  32. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  33. #additional packages that extend functionality of existing packages
  34. [centosplus]
  35. name=CentOS-$releasever - Plus
  36. mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
  37. #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
  38. gpgcheck=1
  39. enabled=0
  40. 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. 1、使用mv命令,将原来源文件夹下的源重命名为CentOS-Base.repo.backup
复制代码
  1. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup<br><br><br><br>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
  1. #使用方法,xxx为软件包名,--downloaddir为缓存的文件夹
复制代码
  1. yum install xxx --downloadonly --downloaddir=/home/xxx <br><br><br>#离线缓存telnet软件到home/telnet文件夹下
  2. 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/
来源:https://www.cnblogs.com/subsea/p/17631443.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具