要运行交叉,我需要安装libnss-mdns:i386
,但这取决于base-files:i386
。
当我运行时apt-get install base-files:i386
它输出:
root@ntrnnr17:/home/username# apt-get install base-files:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
base-files bash bash-completion build-essential dpkg-dev heirloom-mailx libextutils-pkgconfig-perl
libglib-object-introspection-perl libnss-mdns nvidia-settings pkg-config rsync ubuntu-standard
The following NEW packages will be installed:
base-files:i386
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
base-files bash
0 upgraded, 1 newly installed, 13 to remove and 229 not upgraded.
Need to get 65,8 kB of archives.
After this operation, 10,2 MB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
?] _
这不是我得到的正常确认提示,我已经按 CTRL^C 退出了。
我真的想使用交叉,但如果安装依赖项会杀死我的操作系统,则不会。
安全吗?
我应该在安装之前备份某些文件吗?
顺便提一句,此人有同样的问题。
答案1
当您尝试删除标记为“必需”的软件包时,会显示“是,按我说的做”提示。它的含义正如它上面所说的那样——您尝试做的事情可能会使您的系统无法使用,除非您确切知道自己在做什么,否则您不应该继续。这是一种情况,如果你需要问,就不要问。
我不确定这里会出什么问题;不同架构的软件包内容几乎相同。但是,如果缺少base-files
本机软件包,我预计会出现大量破坏依赖关系的情况,从而完全破坏软件包管理。base-files
我不知道为什么libnss-mdns
坚持使用base-files
相同架构的包。除了其他库之外,大多数库不依赖于具有相同架构的包。强制依赖可能会起作用,但是强制依赖有混淆 APT 的倾向,所以我不建议这样做。
阻力最小的方法是在 64 位系统旁边安装 32 位系统。在同一安装上运行 32 位应用程序和 64 位应用程序很容易,困难的是混合安装。因此,在 a 中安装 32 位发行版chroot;然后,您将有效地拥有 32 位应用程序和 64 位应用程序,共享相同的主目录。使这一切变得简单的关键是施鲁特。要进行设置,请按照我的向导。完成安装后,运行schroot -c jessie32
(jessie32
即您为 chroot 选择的名称),您将看到一个命令提示符,其中包含您常用的主目录,但根目录指向 32 位安装。