使软件包明确安装在pacman中


32

我有一个软件包安装在我的PC上,作为对另一个软件包的依赖性。

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

这可能吗?

更新

我没有在中缓存任何程序包/var/cache/pacman/pkg,这就是我要更改程序包详细信息而无需重新安装的原因之一。

即使我已经缓存了软件包,运行pacman -S也会意味着整个安装过程都在运行,我也想避免。

Answers:


49

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

从pacman 3.4开始,您可以使用

# pacman -D

修改数据库。所以:

# pacman -D --asexplicit <pkgs>

将进行<pkgs> 明确安装


6

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

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

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


请查看我对问题所做的修改
Stefan 2010年

1

要仅在尚未安装时进行安装,可以使用--needed标志:

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

如果第一个命令已安装,则将跳过重新安装诱变剂。而且您还将获得有关此的很好的信息

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.