强制安装文档包

强制安装文档包

当我碰巧离线时,我经常发现自己丢失了文档。因此,我想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,但它会在软件包删除、升级等后运行,而不仅仅是在安装软件包后运行。

相关内容