前言:
部署搭建各种环境,例如,集群环境,编译环境,测试环境,桌面环境,lnmp环境等等以及修复各种各样的漏洞,基本是使用本地仓库就可以完成的,但本地仓库有一个比较致命的缺陷:软件通常都是比较稳定的版本,但版本都不够高,并不能满足部署工作和修复漏洞这样的工作。(简单的例子,如jq这个json查询工具在本地操作系统源内是没有的,必须要配置能够联网的外部yum源才可以安装并使用,当然,移植工作,比如,在内网的其它机器使用,转换成离线安装源即可,这个是后话)
因此,我们的操作系统需要使用外部的网络上的各种各样的软件资源,从而能够通过网络快速的定制我们自己的环境,在centos里,我们称之为外部yum源,Ubuntu里,我们称之为外部apt源和snap源。
一,
软件源的分类
通常的,软件源我们按照软件的类型来分,一般是分为基础软件源,扩展软件源 ,专项软件源
基础软件源----指的是支撑日常工作的最基本的软件,例如,vim,sshd,ntpd,netstat这些软件,当然桌面环境也归属于此类,也就是系统源
扩展软件源---指的是 除了基本软件以外的其它各类软件,例如,jq,nmap(centos下也通常叫epel源),也就是扩展源
专项软件源---指的是 一些比较特殊的,不常见的扩展环境类软件,例如,kvm,zabbix,kubernetes,PHP,也就是工具源
那么,这么多的软件源,如何知道需要安装的软件在哪个源内呢?如何使用这些源呢?阿里云的软件源是比较齐全的:
阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区
二,
如何正确的配置使用软件源?
比较常用的软件源有阿里云源,中科大源,163源,华中源,浙大源等等,不过目前我认为最全最好用的是阿里云源。
Ubuntu系统配置阿里云源的方法:
ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴开源镜像站
在此界面寻找适合自己版本的源,复制黏贴即可,例如,Ubuntu-18.04:
deb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
Ubuntu操作系统安装镜像 ISO文件的下载:
oldubuntu-releases-releases安装包下载_开源镜像站-阿里云 ubuntu旧版本安装镜像
ubuntu-cdimage安装包下载_开源镜像站-阿里云 ubuntu其他架构安装镜像,例如:Ubuntu 衍生版,如 Edubuntu, KUbuntu(KDE), LUbuntu(LXDE), Mythbuntu(MythTV), Ubuntu Base, Ubuntu Gnome, Ubuntu Mate, Ubuntu Kylin(优麒麟), Ubuntu Studio, Xbuntu(XFCE)
centos操作系统安装源配置:
这里以配置centos-7.4.1708阿里云源为例
操作系统的版本是非常多的,而centos在2022年是已经不支持更新的版本了 ,因此,centos7版本已经划归为过期版本,因此,配置方法为两种:
1,
直接下载仓库文件,直接使用
centos镜像_centos下载地址_centos安装教程-阿里巴巴开源镜像站
在这个页面寻找合适版本的配置方法,这里是centos7.因此,下载centos7的仓库文件即可:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
2,使用centos-vault源配置
任意编辑一个repo文件,文件内容如下:
[aliyun]
name=aliyun
baseurl=https://mirrors.aliyun.com/centos-vault/7.4.1708/os/x86_64/
enable=1
gpgcheck=0
阿里epel源的配置:
这里也仍然是两种配置方法:
1,
epel镜像_epel下载地址_epel安装教程-阿里巴巴开源镜像站
在此页面找到centos7的repo文件下载即可
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
2,
使用epel-archive源 epel-archive安装包下载_开源镜像站-阿里云配置
任意编辑一个repo文件,文件内容如下:
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel-archive/7/x86_64/
enable=1
gpgcheck=0
这样的也是可以的:
[epel]
name=epel
baseurl=https://mirrors.aliyun.com/epel-archive/7.2020-10-05/x86_64/
enable=1
gpgcheck=0
安装一个jq试一试:
[root@centos11 ~]# yum install jq -y
Loaded plugins: fastestmirror
epel | 4.7 kB 00:00:00
(1/3): epel/group_gz | 95 kB 00:00:00
(2/3): epel/updateinfo | 1.0 MB 00:00:02
(3/3): epel/primary_db | 6.9 MB 00:00:13
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package jq.x86_64 0:1.5-1.el7 will be updated
---> Package jq.x86_64 0:1.6-2.el7 will be an update
--> Processing Dependency: libonig.so.5()(64bit) for package: jq-1.6-2.el7.x86_64
--> Running transaction check
---> Package oniguruma.x86_64 0:5.9.5-3.el7 will be updated
---> Package oniguruma.x86_64 0:6.8.2-1.el7 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================================================================================
Package Arch Version Repository Size
============================================================================================================================================================================================================================================
Updating:
jq x86_64 1.6-2.el7 epel 167 k
Updating for dependencies:
oniguruma x86_64 6.8.2-1.el7 epel 181 k
Transaction Summary
============================================================================================================================================================================================================================================
Upgrade 1 Package (+1 Dependent package)
Total download size: 348 k
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/2): jq-1.6-2.el7.x86_64.rpm | 167 kB 00:00:00
(2/2): oniguruma-6.8.2-1.el7.x86_64.rpm | 181 kB 00:00:01
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 299 kB/s | 348 kB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : oniguruma-6.8.2-1.el7.x86_64 1/4
Updating : jq-1.6-2.el7.x86_64 2/4
Cleanup : jq-1.5-1.el7.x86_64 3/4
Cleanup : oniguruma-5.9.5-3.el7.x86_64 4/4
Verifying : oniguruma-6.8.2-1.el7.x86_64 1/4
Verifying : jq-1.6-2.el7.x86_64 2/4
Verifying : oniguruma-5.9.5-3.el7.x86_64 3/4
Verifying : jq-1.5-1.el7.x86_64 4/4
Updated:
jq.x86_64 0:1.6-2.el7
Dependency Updated:
oniguruma.x86_64 0:6.8.2-1.el7
Complete!
可以看到 7 安装的jq版本是1.5,7.2020.10.25是1.6.2版本了,版本更加的新了
三,
其它软件的安装
这里以remi镜像仓库的使用为例:
Remi's RPM repository 打开此页面后,页面如下:
文件下载后,上传到服务器上安装这个rpm即可使用remi仓库了(这个需要提前配有epel源):
yum install remi-release-7.rpm -y
安装完毕后,在yum仓库可以看到自动生成了很多repo文件:
[root@centos11 yum.repos.d]# ls
centos7.repo epel.repo.rpmnew ius.repo remi-php54.repo remi-php71.repo remi-php73.repo remi-php80.repo remi-php82.repo remi-safe.repo
epel.repo epel-testing.repo remi-modular.repo remi-php70.repo remi-php72.repo remi-php74.repo remi-php81.repo remi.repo
此时就可以愉快的yum方式安装PHP或者MySQL了。