当我碰巧离线时,我经常发现自己丢失了文档。因此,我想aptitude
在每次安装包时强制安装相应的文档包。有没有一种方法比放置一个遍历参数的别名并*-doc
在将参数转发到之前添加存在的别名更优雅aptitude
?
答案1
以下 shell 片段会安装所有已安装的FOO-doc
软件包:FOO
apt-get install $(comm -12 <(dpkg --get-selections | awk '$2 == "install" {print $1 "-doc"}')
<(apt-cache pkgnames | sort) )
为了通过省略已经安装的包来使其更简洁-doc
:
installed_packages=$(dpkg --get-selections | awk '$2 == "install" {print $1}')
uninstalled_doc_packages=$(comm -13 <(printf '%s\n' $installed_packages)
<(printf '%s-doc\n' $installed_packages))
missing_doc_packages=$(apt-cache pkgnames | sort |
comm -12 - <(printf '%s\n' $uninstalled_doc_packages))
apt-get install $missing_doc_packages
我认为没有一种方便的方法可以在软件包安装后自动运行它,或者自动标记-doc
要安装的软件包。
1您可以设置 dpkg 或 apt hook,但它会在软件包删除、升级等后运行,而不仅仅是在安装软件包后运行。