pacman常用命令

2022-01-08  本文已影响0人  人生玩家Eli

自己一个人玩linux, 我怕等我死了之后不留任何痕迹,没人知道我有这样的兴趣,更怕没人记得我的存在。
所以还是写点东西发网上吧。


screen.png

未更新系统前,不要更新软件包数据库
与一些流行的 Linux 发行版包管理器命令的对应关系
Arch 用户在临时处理其他发行版时可以用 pacapt,它是对其它包管理器的简单包装。

查看软件包详细信息

pacman -Si xxxpacman -Qi xxx

删除软件包,及只有它依赖的依赖

pacman -Rs xxx

升级软件和系统(只支持整体升级)

pacman -Syu

查找软件包

pacman -Ss xxx

查找已安装的软件包

pacman -Qs xxx

查询软件包所包含的文件

pacman -Ql xxx

查询软件包是否有文件缺失

pacman -Qk xxx

查询软件包是否有文件变化

pacman -Qkk xxx

查询文件属于哪个包

pacman -Qo /xx/xx

列出所有孤儿包(作为依赖安装,但现在不被任何软件依赖的包)

pacman -Qdt -t列出真正的孤儿包,-tt会同时列出可选依赖包

列出所有主动安装的且不被依赖的包

pacman -Qet

列出所有主动安装的包

pacmn -Qe

列出所有手动安装和已不在同步数据库中的包

pacman -Qm

查询软件包数量

pacman -Q | wc -l
pacman -Qe | wc -l

查看依赖树和被依赖树

pactree xxx
pactree -r xxx

清理软件包,保留近期的3个版本, 已卸载软件不保留近期版本

paccache -r

用下面命令按大小排序安装的软件包及其依赖的大小:

安装 expac 并运行 expac -H M '%m\t%n' | sort -h
以 -c 参数执行 pacgraph

用 expac 查询最近安装的 20 个软件包:

expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort | tail -n 20

查找不属于任何软件包的文件

建议定期检查 pacman 数据库之外的文件。通常这些文件是第三方程序使用一般方式安装 (例如 ./configure; make; make install)。下面脚本可以找出它们:

pacman-disowned

#!/bin/sh

tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$
db=$tmp/db
fs=$tmp/fs

mkdir "$tmp"
trap  'rm -rf "$tmp"' EXIT

pacman -Qlq | sort -u > "$db"

find /bin /etc /lib /sbin /usr \
  ! -name lost+found \
  \( -type d -printf '%p/\n' -o -print \) | sort > "$fs"

comm -23 "$fs" "$db"

要生成列表:

pacman-disowned > non-db.txt

注意删除 non-db.txt 中的文件时先仔细确认。有些是配置文件、日志等,不要删除它们。

递归删除孤立软件包:

pacman -Qtdq | pacman -Rns -

图形化的包管理客户端

here

上一篇下一篇

猜你喜欢

热点阅读