linux-04 环境升级

1 内核升级

1.1 新内核安装

  • 更新yum源
# 更新
yum -y update
  • 安装elrepo仓库源
# 导入仓库公共密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 升级安装elrepo仓库源
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
  • 查看指定源可用系统内核包版本
# 查看
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

image-20220701091315281

  • 安装新版内核
# 方式一:安装最新版
yum --enablerepo=elrepo-kernel install kernel-ml
# 方式二:安装指定版本
yum install -y kernel-lt-5.18.8-1.el7.elrepo --enablerepo=elrepo-kernel

--enablerepo:指定安装仓库,默认开启的是 elrepo,这里用 elrepo-kerne 替换。

1.2 启用新内核

  • 上述步骤已经安装了新内核,但还没启用
# 查看系统上现在存在的可用内核有哪些
awk -F\' '1=="menuentry " {print i++ " : "2}' /etc/grub2.cfg
0 : CentOS Linux (5.18.8-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.66.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-8d1ca32b00d742d1b59aafb0beff8267) 7 (Core)
# 可以看到新内核的序号是 0
  • 设置新内核为grub2默认版本
# 方式一:命令指定
grub2-set-default 0
# 方式二:编辑配置,GRUB_DEFAULT=0
vi /etc/default/grub 
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
# 建议2种方式都操作
  • 验证
# 建议重启一次系统
reboot
# 验证
uname -r

1.3 删除旧内核

  • 可以选择不删,看需要
# 查看系统中全部内核
[root@hukanfa harbor]#  rpm -qa | grep kernel
kernel-3.10.0-1160.66.1.el7.x86_64
kernel-ml-5.18.8-1.el7.elrepo.x86_64
kernel-tools-3.10.0-1160.66.1.el7.x86_64
kernel-devel-3.10.0-957.el7.x86_64
kernel-headers-3.10.0-1160.66.1.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-devel-3.10.0-1160.66.1.el7.x86_64
kernel-tools-libs-3.10.0-1160.66.1.el7.x86_64
  • 删除内核
# 方式一:yum remove
[root@hukanfa harbor]#  rpm -qa | grep kernel | grep 3.10 | exec yum remove
# 即将删除以下这些
kernel-3.10.0-1160.66.1.el7.x86_64
kernel-tools-3.10.0-1160.66.1.el7.x86_64
kernel-devel-3.10.0-957.el7.x86_64
kernel-headers-3.10.0-1160.66.1.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-devel-3.10.0-1160.66.1.el7.x86_64
kernel-tools-libs-3.10.0-1160.66.1.el7.x86_64
# 方式二:yum-utils 工具
# 若安装的内核不多于 3 个,yum-utils 工具不会删除任何一个。只有在安装的内核大于 3 个时,才会自动删除旧内核。

# 安装工具
yum -y install yum-utils
# 执行删除操作
package-cleanup --oldkernels

2 升级python

  • CentOS 7 中默认安装了 Python,版本比较低(2.7.5)
  • 为了使用python3.x,需要对旧版本进行升级
  • 由于很多基本的命令、软件包都依赖旧版本,比如:yum
  • 建议不要删除旧版本(新旧版本可以共存)

2.1 下载并安装

  • 查看当前python版本
[root@localhost ~]# python -V  
Python 2.7.5
  • 安装基础依赖环境
[root@localhost ~]# yum -y update
[root@localhost ~]# yum -y install gcc zlib* libffi-devel 
[root@localhost ~]# yum install openssl-devel -y
  • 下载压缩包
[root@localhost ~]# wget https://www.python.org/ftp/python/3.7.8/Python-3.7.8.tar.xz
[root@localhost ~]# tar xvf Python-3.7.8.tar.xz
[root@localhost ~]# cd Python-3.7.8
[root@localhost ~]# mkdir -p /usr/local/python3
[root@localhost ~]# ./configure --prefix=/usr/local/python3 --with-ssl
[root@localhost ~]# make
[root@localhost ~]# make install
  • 网盘下载链接
链接:https://pan.baidu.com/s/1SmCpGLxmhtNy226dVxRYRg?pwd=gwqq 
提取码:gwqq

2.2 设置默认python版本

  • 查看现有python版本
[root@localhost Python-3.7.8]# python --version
python 2.7.5
# 要配个软连接,或者全路径
[root@localhost Python-3.7.8]# python3 --version
python 3.7.8
  • 设置3.7.8为默认版本
    • 可以看到 python 链接的是 python 2.7
    • 执行 python 就相当于执行 python 2.7
    • 现在需要把它设置成python 3.7.8
# 重命名原python
mv /usr/bin/python /usr/bin/python.bak
# 将 python 链接至 python3
ln -s /usr/local/python3/bin/python3  /usr/bin/python
# 验证
[root@hukanfa python3.7]# python -V
Python 3.7.8

2.3 配置yum

  • 升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件,如下:
[root@localhost Python-3.7.8]# yum list
 File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax
  • 修改/usr/bin/yum和/usr/libexec/urlgrabber-ext-down两个文件,将文件中#!/usr/bin/python 改为 #!/usr/bin/python2.7

2.4 配置pip3

  • 安装python3.7后,bin目录下也带了pip3
ln -s /usr/local/python3/bin/pip3  /usr/bin/pip
  • 配置镜像加速
# 哪个用户需要用到则需要到相应用户家目录下配置,这里用root举例
vi /root/.pip/pip.conf
# 内容如下
[global]
#index-url=http://mirrors.aliyun.com/pypi/simple/
index-url= https://pypi.tuna.tsinghua.edu.cn/simple


[install]
#trusted-host=mirrors.aliyun.com
trusted-host=pypi.tuna.tsinghua.edu.cn
  • 查看安装是否成功
# pip3 -V
[root@hukanfa python3.7]# pip -V
pip 20.1.1 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)

3 CentosStream 安装php7.4

3.1 卸载旧环境

  • 操作如下
    • epel-release 和 remi-release
    yum -y remove epel-release
    yum -y remove remi-release
    

3.2 重新安装新环境

  • 操作如下
    • 更新软件包
    # yum -y update
    dnf update -y
    
    • 安装环境
    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
    dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
    
    • 启用 PHP 7.4 的模块
    dnf module enable php:remi-7.4
    
    • 安装php相关
    dnf install php php-mysqlnd php-pdo php-devel php-mcrypt php-pear php-bcmath php-json php-xml php-curl php-gd php-mbstring php-zip php-cli php-fpm
    
    • 后续可以启动php-fpm
    systemctl start php-fpmd
    systemctl status php-fpm