我在 Fedora 主机上运行 Fedora VM,并尝试安装 emacs。由于某些原因,我无法从 VM 访问互联网。我可以在主机和 VM 之间进行 rsync,但 yum/apt/etc 对我来说是一个黑匣子,所以我不确定除了 /bin/emacs 或 /usr/bin/emacs 之外是否还有什么需要复制的(也不确定那里有什么区别?)
我在 Fedora 主机上运行 Fedora VM,并尝试安装 emacs。由于某些原因,我无法从 VM 访问互联网。我可以在主机和 VM 之间进行 rsync,但 yum/apt/etc 对我来说是一个黑匣子,所以我不确定除了 /bin/emacs 或 /usr/bin/emacs 之外是否还有什么需要复制的(也不确定那里有什么区别?)
您不能只是复制二进制文件并期望它能正常工作。如果您这样做,您将错过 99% 的 emacs 及其所有依赖项。您实际上需要执行与在具有互联网连接的系统上相同的操作
dnf install emacs
。坦率地说,最简单的方法是“重新配置虚拟机”(即从头开始设置,并访问互联网)并同时安装 emacs。
显然,这并不总是可取的。如果你想知道如何管理:你可以使用kickstart文件来自动完成 Fedora 的整个安装(在虚拟机中,你通常不想对分区等进行任何花哨的操作,
因此,替代方案(完全忽略这是否与 dnf、apt、nuget、anaconda、pip 或任何其他包管理器有关)是
请注意,1. 非常重要,因为安装新的 emacs 包可能需要依赖比机器上已有版本更新的版本。您也可以只下载所有可能使用的包 - 但这是完整的 Fedora 安装,我不知道这是否值得。另一种方法是成为您自己的 fedora 镜像,但这将下载所有fedora 包,这样您就可以安装一些。您需要有大量的存储空间和时间,并且可能还需要考虑对仅下载所需内容的用户可用的镜像带宽的影响。
我可能会这样做:
flatpak create-usb
将 emacs flatpak 及其所有依赖项获取到可以移动到 VM 中的东西中。在这两种情况下,您都需要在虚拟机中使用一些特定的软件(podman 或 flatpak)。
或者,我会完全避免在虚拟机中使用 emacs,而只使用 emacs 的远程访问功能(TRAMP,糟糕的名字)通过网络从其他虚拟机或主机访问您可能想要编辑的文件。这需要某种类型的网络访问。