A.6 软件包管理器

A.6.1 dnf

  1. 清理升级后的 CentOS 8 系统内核

查找系统安装的内核

rpm -qa | sort | grep kernel
kernel-4.18.0-147.8.1.el8_1.x86_64
kernel-4.18.0-193.6.3.el8_2.x86_64
kernel-core-4.18.0-147.8.1.el8_1.x86_64
kernel-core-4.18.0-193.6.3.el8_2.x86_64
kernel-headers-4.18.0-193.6.3.el8_2.x86_64
kernel-modules-4.18.0-147.8.1.el8_1.x86_64
kernel-modules-4.18.0-193.6.3.el8_2.x86_64
kernel-tools-4.18.0-193.6.3.el8_2.x86_64
kernel-tools-libs-4.18.0-193.6.3.el8_2.x86_64

仅保留一个版本的内核,其它旧的内核都删除掉

sudo dnf remove $(dnf repoquery --installonly --latest-limit=-1 -q)
模块依赖问题

 问题 1: conflicting requests
  - nothing provides module(perl:5.26) needed by module perl-DBD-MySQL:4.046:8010020191114030811:073fa5fe-0.x86_64
 问题 2: conflicting requests
  - nothing provides module(perl:5.26) needed by module perl-DBI:1.641:8010020191113222731:16b3ab4d-0.x86_64
 问题 3: conflicting requests
  - nothing provides module(perl:5.26) needed by module perl-YAML:1.24:8010020191114031501:a5949e2e-0.x86_64
依赖关系解决。
=======================================================================================================================
 软件包                        架构                  版本                                 仓库                    大小
=======================================================================================================================
移除:
 kernel                        x86_64                4.18.0-147.8.1.el8_1                 @BaseOS                  0  
 kernel-core                   x86_64                4.18.0-147.8.1.el8_1                 @BaseOS                 58 M
 kernel-modules                x86_64                4.18.0-147.8.1.el8_1                 @BaseOS                 20 M

事务概要
=======================================================================================================================
移除  3 软件包

将会释放空间:78 M
确定吗?[y/N]: y
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                        1/1 
  删除    : kernel-4.18.0-147.8.1.el8_1.x86_64                                                                     1/3 
  运行脚本: kernel-4.18.0-147.8.1.el8_1.x86_64                                                                     1/3 
  删除    : kernel-modules-4.18.0-147.8.1.el8_1.x86_64                                                             2/3 
  运行脚本: kernel-modules-4.18.0-147.8.1.el8_1.x86_64                                                             2/3 
  运行脚本: kernel-core-4.18.0-147.8.1.el8_1.x86_64                                                                3/3 
  删除    : kernel-core-4.18.0-147.8.1.el8_1.x86_64                                                                3/3 
  运行脚本: kernel-core-4.18.0-147.8.1.el8_1.x86_64                                                                3/3 
  验证    : kernel-4.18.0-147.8.1.el8_1.x86_64                                                                     1/3 
  验证    : kernel-core-4.18.0-147.8.1.el8_1.x86_64                                                                2/3 
  验证    : kernel-modules-4.18.0-147.8.1.el8_1.x86_64                                                             3/3 

已移除:
  kernel-4.18.0-147.8.1.el8_1.x86_64                          kernel-core-4.18.0-147.8.1.el8_1.x86_64                 
  kernel-modules-4.18.0-147.8.1.el8_1.x86_64                 

完毕!

解决上述模块依赖问题的办法 是重置三个 Perl 模块

sudo dnf module reset perl-DBD-MySQL perl-YAML perl-DBI
依赖关系解决。
=======================================================================================================================
 软件包                      架构                       版本                         仓库                         大小
=======================================================================================================================
重置模块:
 perl-DBD-MySQL                                                                                                       
 perl-DBI                                                                                                             
 perl-YAML                                                                                                            

事务概要
=======================================================================================================================

确定吗?[y/N]: y
完毕!

A.6.2 apt

添加或删除 PPA (Personal Package Archive),比如在 Ubuntu 20.04 及之前的版本上安装新版 Inkscape

sudo add-apt-repository ppa:inkscape.dev/stable
sudo add-apt-repository --remove ppa:inkscape.dev/stable
sudo apt-get install build-essential # 修复依赖问题
sudo apt update # 更新资源列表
sudo apt-get upgrade # 更新软件包
sudo apt-get autoclean # 删除已卸的软件的备份
sudo apt-get clean # 删除已装或已卸的软件的备份
sudo apt-get autoremove --purge * # 推荐卸载软件的方式
apt-get list --upgradable # 列出可升级的包

找到并删除旧的内核

dpkg --list | grep linux-image
sudo apt-get purge linux-image-3.19.0-{18,20,21,25}
sudo update-grub2
# 搜索
apt-cache search octave | grep octave
# 查询
apt show octave
# 安装
sudo apt install octave
sudo apt-get install lsb-core
lsb_release -a
adduser cloud2016 # 添加用户
passwd cloud2016  # 用户密码设为 cloud
whereis sudoers   # 查找文件位置
chmod -v u+w /etc/sudoers # 给文件 sudoers 添加写权限
vim /etc/sudoers # 添加 cloud2016 管理员权限
chmod -v u-w /etc/sudoers # 收回权限

安装确认 openssh-server 服务

sudo apt install openssh-server
sudo /etc/init.d/ssh start
ps -aux | grep ssh