文章大纲
CentOS Stream 9 是一个持续发布的版本,不断新的代码和软件包经过测试后加入到项目中,离上次更新已经稳定运行半年了,是时候来一波 dnf update -y
升级来应用新的补丁和软件包了!
大部分的软件包直接升级没有什么问题,其中 MariaDB 软件包升级后还需手动升级,Nginx 想要使用更新的版本需要切换模块流。
MariaDB
系统更新的时候将 MariaDB 升级到了 10.11.6
版本,重启后日志会提示以下内容:
mariadb-check-upgrade[994]: The datadir located at /var/lib/mysql needs to be upgraded using 'mariadb-upgrade' tool. This can be done using the following steps:
mariadb-check-upgrade[994]: 1. Back-up your data before with 'mariadb-upgrade'
mariadb-check-upgrade[994]: 2. Start the database daemon using 'systemctl start mariadb.service'
mariadb-check-upgrade[994]: 3. Run 'mariadb-upgrade' with a database user that has sufficient privileges
mariadb-check-upgrade[994]: Read more about 'mariadb-upgrade' usage at: https://mariadb.com/kb/en/mysql_upgrade/
根据上述提供的步骤,在 MariaDB 运行的时候,首先需要备份数据库,然后运行升级命令。
备份指定的数据库:
mysqldump -u <username> -p <password> <database-name> > database-name-backup-$(date +%Y-%m-%d)
运行升级的命令:
mariadb-upgrade -u <username> -p <password>
如果重复运行会提示已经升级了:
This installation of MariaDB is already upgraded to 10.11.6-MariaDB.
There is no need to run mysql_upgrade again for 10.11.6-MariaDB.
You can use --force if you still want to run mysql_upgrade
至此 MariaDB 升级完成,最后可以重启一下:
systemctl restart mariadb
Nginx
运行 dnf module list
的时候发现 Nginx 已经提供了两个版本的模块流,分别是 1.22
和 1.24
,索性就升级到 1.24
吧。
第一步依旧是备份 Nginx 现有的配置:
tar -czf nginx-backup-$(date +%Y+%m-%d).tar.gz /etc/nginx
第二步 reset
模块流,安装其它模块流之前需要将模块进行重置:
dnf module reset nginx
第三步安装新的模块流:
dnf module install nginx:1.24
安装完成后,重启 Nginx 并验证版本已升级:
systemctl daemon-reload
systemctl restart nginx
nginx -v
nginx version: nginx/1.24.0
没什么问题话,下次更新应该在半年后吧。