为什么同一个包有时是必需的,有时又不是必需的?

为什么同一个包有时是必需的,有时又不是必需的?

purge我正在尝试通过自动安装以下所有软件包来减少 Debian Stretch 安装的硬盘占用空间:

  • 非必需包和
  • 任何重要的包都不需要(甚至可能是间接的)。

基本包是设置了控制字段的包Essential

例如,在里面不是一个必需的包,而核心工具是必不可少的。

我目前很困惑是否有不同的基本定义。

当我使用 时dkpg,我发现这init不是必需的:

dpkg-query -Wf '${Package;-40}${Essential}\n' | grep init
init                                    no
init-system-helpers                     yes
initramfs-tools                         no
initramfs-tools-core                    no
sysvinit-utils                          yes

然而,当使用 删除init(这本身听起来是一个坏主意,但这不是重点)时,我得到了确实重要的apt-get purge消息:init

apt-get purge init
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  init*
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  init
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 19.5 kB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
 ?] n
Abort.

我的问题是:

  1. 为什么“本质”dkpgapt-get“本质”的定义相互矛盾?
  2. 如何查询所有必需的包apt-get

答案1

事实证明它来自有(但是,例如,没有)Important: yes的领域。inittzdata

$ dpkg -s init | grep Important
Important: yes

尝试删除它时的消息确实令人困惑 v.packages Essential: yesDebian 错误 #826587请求一条不太令人困惑的消息。

PS:您可能想查看安装大小。您并没有节省太多的 purging 时间init,因为它的目的只是确保安装了某些 init 系统。如果你没有一个如果安装了 init 系统,那么您的系统要么是一个高度定制的嵌入式盒子,要么是损坏的。

相关内容