本文将针对Archlinux下的系统运维进行介绍。
内核相关
查看当前内核版本
1 | uname -r |
内核版本更换
最新的内核版本滚动过于频繁,新增的许多特性也不稳定,因此将archlinux运行在稳定版本的内核上,即lts kernel
直接用pacman进行安装即可
旧内核删除
1 | sudo rm -f /boot/vmlinuz-kernel_3.xxx |
systemctl命令
服务管理
开启和停止服务
开启服务
1 | sudo systemctl start mariadb.service # 立即启动,一次性生效 |
停止服务
1 | systemctl stop mariadb.service |
检查运行失败的service
- 找到运行失败的service
1 | systemctl --failed |
- 查看运行失败的原因
1 | systemctl status systemd-modules-load.service |
- 根据Main PID查看对应的问题
1 | journalctl _PID=190 |
- 我们有一些module系统没有找到,因此在
/etc/modules-load.d/
下查看对应设置
1 | ls -Al /etc/modules-load.d |
结果发现什么都没有,通过modinfo
命令检查对应模块,发现找不到对应的模块
1 | modinfo vfs_monitor |
查看日志
有些情况下,我们需要查看系统发生了哪些动作,此时需要命令journalctl
,当不带任何选项时,该命令将会无脑输出所有日志记录,基本没什么用,我们要进行一些筛选。
检查高优先级错误
1 | journalctl -p 3 -xb |
清理文件系统
包管理
官方包管理 pacman
archlinux下的包管理软件为pacman(吃豆人),这个软件非常好用,能够有效解决不同包之间的依赖问题。
更新包数据库
1 | sudo pacman -Syy |
建议安装软件前先执行这个命令。
搜索包
搜索包的命令为:
1 | pacman -Ss pacname |
其中pacname为待搜索的包的名称
安装包
安装包的命令为:
1 | sudo pacman -S pacname |
删除包
删除包的命令为:
1 | sudo pacman -Rs pacname |
其中s表示没有被其他已经安装的软件包使用的依赖关系。
包查看
- 查看所有已经安装的包:
$pacman -Qq
- 查看所有显式安装的包:
$pacman -Qqe
- 列出孤立包(并删除):
pacman -Qqdt | sudo pacman -Rs -
- 按照包大小排列:
expac "%n %m" -l'\n' -Q $(pacman -Qq) | sort -rhk 2 | less
非官方包管理
对于一些非官方包,我们可以使用AUR(Archlinux user repository)进行管理。AUR是一个社区驱动的软件仓库,包含了非官方的软件或包
工具
我们使用yay对AUR中的包进行管理,下载命令如下:
1 | git clone https://aur.archlinux.org/yay.git |
安装包
1 | sudo yay -S gparted |
系统更新
Archlinux是滚动更新的系统,不支持局部更新,所以尽可能定期更新系统。更新系统的命令为
1 | pacman -Syu |
文件损坏处理
在有一些情况下,无效的或者已经损坏的文件可能会导致签名错误,从而使更新失败,这种情况的处理过程如下:
- 安装archlinux-keyring,这个包用于