关于我之前提出的问题(让 apt-get(或 aptitude)使用 -y 运行但不提示替换配置文件?)我遇到了一种有点奇怪且难以解释的行为。也许有人可以解释它。
debootstap
当我在目标内部之后执行以下操作时chroot
,包mercurial
似乎需要比逻辑上更多的东西:
apt-get -s -y -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold install mercurial
Reading package lists...
Building dependency tree...
The following extra packages will be installed:
ca-certificates fontconfig-config fonts-dejavu-core libdrm-intel1
libdrm-nouveau2 libdrm-radeon1 libelf1 libfontconfig1 libfontenc1
libfreetype6 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libice6
libllvm3.4 libpciaccess0 libsm6 libtcl8.6 libtk8.6 libtxc-dxtn-s2tc0
libutempter0 libx11-6 libx11-data libx11-xcb1 libxau6 libxaw7 libxcb-dri2-0
libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxcb1
libxcomposite1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 libxi6
libxinerama1 libxmu6 libxmuu1 libxpm4 libxrandr2 libxrender1 libxshmfence1
libxss1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 mercurial-common
openssl tcl tcl8.6 tk tk8.6 x11-common x11-utils xbitmaps xterm
Suggested packages:
libglide3 qct vim emacs kdiff3 kdiff3-qt kompare meld tkcvs mgdiff
python-mysqldb python-pygments python-openssl tcl-tclreadline mesa-utils
xfonts-cyrillic
Recommended packages:
wish
The following NEW packages will be installed:
ca-certificates fontconfig-config fonts-dejavu-core libdrm-intel1
libdrm-nouveau2 libdrm-radeon1 libelf1 libfontconfig1 libfontenc1
libfreetype6 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libice6
libllvm3.4 libpciaccess0 libsm6 libtcl8.6 libtk8.6 libtxc-dxtn-s2tc0
libutempter0 libx11-6 libx11-data libx11-xcb1 libxau6 libxaw7 libxcb-dri2-0
libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxcb1
libxcomposite1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 libxi6
libxinerama1 libxmu6 libxmuu1 libxpm4 libxrandr2 libxrender1 libxshmfence1
libxss1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 mercurial
mercurial-common openssl tcl tcl8.6 tk tk8.6 x11-common x11-utils xbitmaps
xterm
0 upgraded, 64 newly installed, 0 to remove and 3 not upgraded.
从输出来看,apt-cache depends
我无法apt-get
理解为什么必须安装这些依赖项。
如您所见,我正在传递Dpkg
上面链接的问题中描述的选项。其主要目的是防止apt-get
并最终dpkg
避免在自动安装期间出现提示。
但是,我尝试在不传递这些选项的情况下运行相同程序,结果是一样的。
答案1
软件包mercurial
建议使用wish
,这是 提供的虚拟软件包tk
。这是拉入所有您看到的在 chroot 中作为依赖项安装的 X 相关软件包的软件包。
您可能想要做的是mercurial
通过添加选项--no-install-recommends
来安装不带推荐软件包的软件包apt-get
。请参阅这个答案有关避免安装推荐的软件包依赖项的更多信息。