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.
我的问题是:
- 为什么“本质”
dkpg
和apt-get
“本质”的定义相互矛盾? - 如何查询所有必需的包
apt-get
?
答案1
事实证明它来自有(但是,例如,没有)Important: yes
的领域。init
tzdata
$ dpkg -s init | grep Important
Important: yes
尝试删除它时的消息确实令人困惑 v.packages Essential: yes
;Debian 错误 #826587请求一条不太令人困惑的消息。
PS:您可能想查看安装大小。您并没有节省太多的 purging 时间init
,因为它的目的只是确保安装了某些 init 系统。如果你没有一个如果安装了 init 系统,那么您的系统要么是一个高度定制的嵌入式盒子,要么是损坏的。