|
开始之前简单讲下源和包管理器的概念,个人理解如下:
源就是平时我们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<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
- #使用方法,xxx为软件包名,--downloaddir为缓存的文件夹
复制代码- yum install xxx --downloadonly --downloaddir=/home/xxx <br><br><br>#离线缓存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/
来源:https://www.cnblogs.com/subsea/p/17631443.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|