linux包管理器

一些流行的 Linux 发行版包管理器命令的对应关系
https://wiki.archlinux.org/index.php/Pacman/Rosetta_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

pacman系

pacman是arch系下的包管理工具

Archlinux 的灵魂──PKGBUILD、AUR 和 ABS
https://blog.csdn.net/taiyang1987912/article/details/41457333#

1
2
3
4
5
6
7
8
9
10
11
# 更新所有包
pacman -Syu

# 搜索包
pacman -Ss xxx

# 安装包
pacman -S xxx

# 删除软件包,顺便移除没被其他包依赖的依赖包
pacman -Rs xxx

pacman自动更换中国源

1
2
# pacman-mirrors -c China
# pacman -Syy

AUR是非官方提供的包

为了安全,一般不是直接发布二进制包,而是一些包含编译脚本的信息。

使用yay可以方便地使用AUR:

1
pacman -S yay

yay支持pacman风格的命令,挪过来就能用。

apt

1
2
3
4
5
6
# 列出包中安装的文件位置
dpkg -L packagename
# 检查是否安装成功
dpkg -l | grep packagename
# 同上
apt list --installed | grep packagename

auto-apt

源码编译安装时,自动生成deb包方便管理

使用auto-apt 和 checkinstall,具体命令如下

1
2
3
4
#安装auto-apt和checkinstallapt install auto-apt checkinstall
#在源码目录中auto-apt run ./configure
make
checkinstall

这样会生成一个deb包,卸载和重新安装就非常方便了

1
2
3
4
5
#完全卸载 (packagename具体的名字在checkintall完成之后会有提示)
dpkg -r packagename

#用生成的deb包重新安装
dpkg -i ***.deb

apt解决坏依赖

比如提示

1
2
The following packages have unmet dependencies:
libpcre3-dev : Depends: libpcre3 (= 1:8.31-2ubuntu2) but 1:8.31-2ubuntu2.1 is to be installed

可以强制指定版本

1
sudo apt-get install libpcre3=1:8.31-2ubuntu2 libpcre3-dev=1:8.31-2ubuntu2