使软件包显式安装在 pacman 中

使软件包显式安装在 pacman 中

我的电脑上安装了一个软件包,作为另一个软件包的依赖项。

我想显式安装该软件包,但是无需实际重新安装它,或下载任何文件。

这可能吗?


我没有缓存任何软件包/var/cache/pacman/pkg,这是我想更改软件包详细信息而不重新安装的原因之一。

即使我缓存了包,运行也pacman -S <package>意味着整个安装过程都在运行,我也想避免这种情况。

答案1

我在上面找到了答案Arch Linux 论坛

从 pacman 3.4 开始你可以使用

# pacman -D

修改仅有的数据库。所以:

# pacman -D --asexplicit <pkgs>

将会使<pkgs> 显式安装

pacman手册页进一步描述了该命令。

答案2

pacman -S有一个--asexplicit标志应该可以做你想做的事。

例如:

> pacman -Qi mutagen            
...
Install Reason : Installed as a dependency for another package

> pacman -S --asexplicit mutagen
warning: mutagen-1.20-1 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...

Targets (1): mutagen-1.20-1

Total Download Size:    0.00 MB
Total Installed Size:   0.82 MB
...

> pacman -Qi mutagen
...
Install Reason : Explicitly installed

您可以看到没有下载任何内容,因为它已经安装在本地。它只是翻转了“安装原因”字段。

Pacman--help根据操作的不同而有不同的操作(-S-R等)。因此pacman -S --help将该标志列为--asexplicit可用标志之一。--asdeps也可用。

答案3

仅当尚未安装时才安装,可以使用 --needed 标志:

pacman -S mutagen
pacman -S --needed mutagen clone

如果第一个命令已经安装了诱变剂,则将跳过诱变剂重新安装。您还将获得有关此的不错的信息

相关内容