CentOS yum 和 dnf 加速

一、改yum源

安装完CentOS系统,肯定要先改yum源

推荐阿里家的。

1.1 CentOS 7.x 改 yum 源

如果是 CentOS 7.x 系统,执行下面的:

mkdir /etc/yum.repos.d/backup/
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/backup/
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

yum clean all
yum makecache

1.2 CentOS 8.x 改 yum/dnf 源

CentOS 8.x 软件包管理必不可少的 yum 已被替换为 dnf 软件,但其实还保留了 yum 命令,间接调用的 dnf。所以其实我们还是可以直接使用 yum,参数什么都是和以前一样的。

因为CentOS 8.x 的yum源配置文件有多个,所以直接用sed查找替换,方便一些:

mkdir /etc/yum.repos.d/backup/
cp /etc/yum.repos.d/CentOS-*.repo /etc/yum.repos.d/backup/

sed -i 's|^mirrorlist=|#mirrorlist=|'  /etc/yum.repos.d/CentOS-*.repo

sed -i 's|^#baseurl=http://mirror.centos.org/\$contentdir|baseurl=https://mirrors.aliyun.com/centos|'  /etc/yum.repos.d/CentOS-*.repo

dnf clean all
dnf makecache

执行以下命令,会升级所有的软件包到最新版本,试试看速度如何:(最小化安装情况下,大概下载110多MB)

dnf -y update

说明:使用 curl 而不是 wget,是因为如果是最小化安装系统,则默认没有安装wget程序。

二、改epel源

2.1 CentOS 7.x 改 epel 源

epel阿里加速源,这个是必须的,很多每三方软件要有epel源,如果不装阿里加速,慢死你

安装epel,然后修改为阿里源:

yum --nogpgcheck -y install epel-release

mv /etc/yum.repos.d/epel* /etc/yum.repos.d/backup/

curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum makecache

2.2 CentOS 8.x 改 epel 源

安装epel,然后修改为阿里源:

mv /etc/yum.repos.d/epel* /etc/yum.repos.d/backup/

dnf -y install https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*

dnf makecache

三、改remi源

Remi’s RPM repository 是包含最新版本 PHP 和 MySQL 包的 Linux 源,由 Remi 提供维护。有个这个源之后,使用 YUM 安装或更新 PHP、MySQL、phpMyAdmin 等服务器相关程序的时候就非常方便了。

Remi项目的官网:http://rpms.remirepo.net/

如果你的系统是 CentOS 6/7/8, RHEL 6/7/8, Fedora 30/31/32 等,OdinXu在这里强烈推荐使用Remi源来安装 PHP,直接安装编译好的rpm包,速度非常快。而且版本齐全,各种php扩展非常齐全。再也不用担心编译安装某个php扩展总是配置出错啥的。

3.1 CentOS 7.x 改 remi 源

remi源也使用阿里加速源,这个也是必须的,PHP环境的话,必须啊

yum -y install https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm

sed -i 's|^#baseurl=http://rpms.remirepo.net|baseurl=https://mirrors.aliyun.com/remi|' /etc/yum.repos.d/remi*
sed -i 's|^baseurl=http://rpms.remirepo.net|baseurl=https://mirrors.aliyun.com/remi|' /etc/yum.repos.d/remi*
sed -i 's|^mirrorlist|#mirrorlist|' /etc/yum.repos.d/remi*

yum makecache

3.2 CentOS 8.x 改 remi 源

remi源也使用阿里加速源,这个也是必须的,PHP环境的话,必须啊

dnf -y install https://mirrors.aliyun.com/remi/enterprise/remi-release-8.rpm

sed -i 's|^#baseurl=http://rpms.remirepo.net|baseurl=https://mirrors.aliyun.com/remi|' /etc/yum.repos.d/remi*
sed -i 's|^baseurl=http://rpms.remirepo.net|baseurl=https://mirrors.aliyun.com/remi|' /etc/yum.repos.d/remi*
sed -i 's|^mirrorlist|#mirrorlist|' /etc/yum.repos.d/remi*

dnf makecache

四、CentOS安装PHP的正确姿势

4.1 CentOS 7.x 安装 PHP 7.4

CentOS 7.x 默认 yum 源自带的 php 5.4 版本,这种老的版本,早就应该被淘汰掉了。这里安装最新的 PHP 7.4版本。

在Remi官网有详细的安装说明https://rpms.remirepo.net/wizard/

yum -y install yum-utils
yum-config-manager --enable remi-php74
yum -y update


# 安装各种PHP扩展,这样子来:  yum install php-xxxxxx
yum -y install php php-fpm  php-cli  php-pear \
    php-mysqlnd  php-opcache php-pdo \
    php-pecl-mcrypt  php-pecl-crypto  php-sodium \
    php-pecl-recode  php-snmp php-soap   \
    php-bcmath  php-gmp  php-mbstring \
    php-memcached   php-igbinary   \
    php-gd php-tidy php-intl php-zip php-rar \
    php-pecl-geoip  php-pecl-pdflib \
    php-process php-json php-xml  php-redis


# 查看PHP版本,加载了哪些PHP扩展
php -v
php -m

4.2 CentOS 8.x 安装 PHP 7.4

CentOS 8.x 默认 yum 源自带的 php 7.2 版本,建议也替换为最新的 php 7.4版本。

dnf -y install yum-utils
dnf module reset php
dnf -y module install php:remi-7.4
dnf -y update


# 安装各种PHP扩展,这样子来:  dnf install php-xxxxxx
dnf -y install php php-fpm  php-cli  php-pear \
    php-mysqlnd  php-opcache php-pdo \
    php-pecl-mcrypt  php-pecl-crypto  php-sodium \
    php-pecl-recode  php-snmp php-soap   \
    php-bcmath  php-gmp  php-mbstring \
    php-memcached   php-igbinary   \
    php-gd php-tidy php-intl php-zip php-rar \
    php-pecl-geoip  php-pecl-pdflib \
    php-process php-json php-xml  php-redis


# 安装其它未正式发布(测试版本)的PHP扩展
#  dnf --enablerepo=remi-modular-test install php-xxxxxx

# 查看PHP版本,加载了哪些PHP扩展
php -v
php -m

使用这种安装方式,几十秒(根据你的网速情况),就能安装完成全部所需的PHP扩展程序,省去了编译过程,以及各种依赖问题。爽!