|
| 1 | +--- |
| 2 | +title: Arch Linux pacman 软件包管理 |
| 3 | +category: linux |
| 4 | +tags: linux arch pacman |
| 5 | +--- |
| 6 | + |
| 7 | +## 软件包基础搜索及安装卸载 |
| 8 | +```bash |
| 9 | +$ pacman -Ss 软件名称 //(搜索软件包) |
| 10 | +$ pacman -S 软件名称 //(安装软件包) |
| 11 | +$ pacman -Rs 软件名称 //(卸载软件包) |
| 12 | +$ pacman -Syu (更新) |
| 13 | +``` |
| 14 | + |
| 15 | +## 包的查询及清理 |
| 16 | +```bash |
| 17 | +#列出所有本地软件包(-Q,query查询本地;-q省略版本号) |
| 18 | +$ pacman -Qq (列出有904个包) |
| 19 | + |
| 20 | +#列出所有显式安装(-e,explicitly显式安装;-n忽略外部包AUR) |
| 21 | +$ pacman -Qqe (列出222个包) |
| 22 | + |
| 23 | +#列出自动安装的包(-d,depends作为依赖项) |
| 24 | +$ pacman -Qqd (列出682个) |
| 25 | + |
| 26 | +#列出孤立的包(-t不再被依赖的"作为依赖项安装的包") |
| 27 | +$ pacman -Qqdt (列出0个) |
| 28 | +#注意:通常这些是可以妥妥的删除的。 |
| 29 | +$ sudo pacman -Qqdt | sudo pacman -Rs - |
| 30 | +``` |
| 31 | + |
| 32 | +## 软件包和文件的查询 |
| 33 | +```bash |
| 34 | +#列出包所拥有的文件 |
| 35 | +$ sudo pacman -Ql i3-gaps |
| 36 | +iw /usr/ |
| 37 | +iw /usr/bin/ |
| 38 | +iw /usr/bin/iw |
| 39 | +iw /usr/share/ |
| 40 | +iw /usr/share/man/ |
| 41 | +iw /usr/share/man/man8/ |
| 42 | +iw /usr/share/man/man8/iw.8.gz |
| 43 | + |
| 44 | +#check 检查包文件是否存在(-kk用于文件属性) |
| 45 | +$ sudo pacman -Qk iw |
| 46 | +iw: 7 total files, 0 missing files |
| 47 | + |
| 48 | +#查询提供文件的包 |
| 49 | +$ sudo pacman -Qo /usr/share/man/man8/iw.8.gz |
| 50 | +/usr/share/man/man8/iw.8.gz is owned by iw 5.0.1-1 |
| 51 | +``` |
| 52 | + |
| 53 | +## 查询包详细信息 |
| 54 | +```bash |
| 55 | +#查询包详细信息(-Qi;-Qii[Backup Files])(-Si[Repository,Download Size];-Sii[Signatures,]) |
| 56 | +$ pacman -Qi 包名 |
| 57 | +Repository 仓库名称(要联网用pacman -Si或Sii才能看到这一栏;) |
| 58 | +Name 名称 |
| 59 | +Version 版本 |
| 60 | +Description 描述 |
| 61 | +Architecture 架构 |
| 62 | +URL 网址 |
| 63 | +Licenses 许可证 |
| 64 | +Groups 组 |
| 65 | +Provides 提供 |
| 66 | +Depends On 依赖于(依赖那些包) |
| 67 | +Optional Deps 可选项 |
| 68 | +Required By 被需求的(被那些包需求) |
| 69 | +Optional For 可选项 |
| 70 | +Conflicts With 与...发生冲突 |
| 71 | +Replaces 替代对象 |
| 72 | +Download Size 下载大小(要联网用pacman -Si或Sii才能看到这一栏;) |
| 73 | +Installed Size 安装尺寸 |
| 74 | +Packager 包装者 |
| 75 | +Build Date 包装日期 |
| 76 | +Install Date 安装日期 |
| 77 | +Install Reason 安装原因(主动安装,还是被依赖自动安装) |
| 78 | +Install Script 安装脚本 |
| 79 | +Validated By 验证者 |
| 80 | +``` |
| 81 | + |
| 82 | +## 卸载不再被需要的软件包 |
| 83 | +```bash |
| 84 | +#删除不再被需要的(曾经被依赖自动安装的程序包) |
| 85 | +$ sudo pacman -Qqdt | sudo pacman -Rs - |
| 86 | +$ sudo pacman -Q |wc -l |
| 87 | +905 |
| 88 | +$ sudo pacman -Qe |wc -l |
| 89 | +223 |
| 90 | +$ sudo pacman -Qd |wc -l |
| 91 | +682 |
| 92 | +$ sudo pacman -Qdt |wc -l |
| 93 | +0 |
| 94 | +``` |
| 95 | + |
| 96 | +## 清除多余的安装包缓存(pkg包) |
| 97 | +使用pacman安装的软件包会缓存在这个目录下 /var/cache/pacman/pkg/ ,可以清理如下2种。 |
| 98 | +-k (-k[n])保留软件包的n个最近的版本,删除比较旧的软件包。 |
| 99 | +-u (-u)已卸载软件的安装包(pkg包)。 |
| 100 | + |
| 101 | +```bash |
| 102 | +#删除,默认保留最近的3个版本,-rk3 |
| 103 | +$ paccache -r |
| 104 | +==> finished: 6 packages removed (disk space saved: 194.11 MiB) |
| 105 | +#删除,默认保留最近的2个版本 |
| 106 | +$ paccache -rk2 |
| 107 | +#删除,默认保留最近的1个版本 |
| 108 | +$ paccache -rk1 |
| 109 | +``` |
| 110 | + |
| 111 | + |
| 112 | +## 通过日志查看安装历史 |
| 113 | +```bash |
| 114 | +#查看软件管理所操作日志。 |
| 115 | +$ cat /var/log/pacman.log |wc -l |
| 116 | +4650 |
| 117 | +$ cat /var/log/pacman.log |grep installed |wc -l |
| 118 | +1045 |
| 119 | +$ cat /var/log/pacman.log |grep running |wc -l |
| 120 | +693 |
| 121 | +$ cat /var/log/pacman.log |grep Running |wc -l |
| 122 | +693 |
| 123 | +$ cat /var/log/pacman.log |grep removed |wc -l |
| 124 | +87 |
| 125 | +$ cat /var/log/pacman.log |grep upgraded |wc -l |
| 126 | +821 |
| 127 | + |
| 128 | +通过系统日志查看安装记录(速度可能较慢) |
| 129 | +$ sudo journalctl |grep irssi |
| 130 | +Jul 11 21:04:46 tompc sudo[11619]: toma : TTY=pts/2 ; PWD=/home/toma ; USER=root ; COMMAND=/usr/bin/pacman -Ss irssi |
| 131 | +Jul 11 21:06:11 tompc sudo[11841]: toma : TTY=pts/2 ; PWD=/home/toma ; USER=root ; COMMAND=/usr/bin/pacman -S irssi |
| 132 | +Jul 11 21:06:11 tompc pacman[11842]: Running 'pacman -S irssi' |
| 133 | +Jul 11 21:06:27 tompc pacman[11842]: installed irssi (1.2.1-1) |
| 134 | + |
| 135 | +$ sudo journalctl |grep pidgin |
| 136 | +Jul 11 21:04:55 tompc sudo[11662]: toma : TTY=pts/2 ; PWD=/home/toma ; USER=root ; COMMAND=/usr/bin/pacman -Ss pidgin |
| 137 | +Jul 11 21:06:57 tompc sudo[12000]: toma : TTY=pts/2 ; PWD=/home/toma ; USER=root ; COMMAND=/usr/bin/pacman -S pidgin |
| 138 | +Jul 11 21:06:57 tompc pacman[12001]: Running 'pacman -S pidgin' |
| 139 | + |
| 140 | +系统日志筛选更新记录 |
| 141 | +$ sudo journalctl |grep 'upgraded chromium' |
| 142 | +Jun 15 06:39:47 tompc pacman[5551]: upgraded chromium (75.0.3770.80-1 -> 75.0.3770.90-2) |
| 143 | +Jun 19 10:20:45 tompc pacman[1904]: upgraded chromium (75.0.3770.90-2 -> 75.0.3770.90-3) |
| 144 | +Jun 23 17:18:33 tompc pacman[7079]: upgraded chromium (75.0.3770.90-3 -> 75.0.3770.100-1) |
| 145 | +``` |
| 146 | + |
| 147 | +## 链接 |
| 148 | +[参考链接](https://www.cnblogs.com/sztom/p/10652624.html) |
0 commit comments