AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 786634
Accepted
Frank Harris
Frank Harris
Asked: 2024-11-14 22:26:39 +0800 CST2024-11-14 22:26:39 +0800 CST 2024-11-14 22:26:39 +0800 CST

在离线 Fedora 上手动安装应用程序

  • 772

我在 Fedora 主机上运行 Fedora VM,并尝试安装 emacs。由于某些原因,我无法从 VM 访问互联网。我可以在主机和 VM 之间进行 rsync,但 yum/apt/etc 对我来说是一个黑匣子,所以我不确定除了 /bin/emacs 或 /usr/bin/emacs 之外是否还有什么需要复制的(也不确定那里有什么区别?)

software-installation
  • 1 1 个回答
  • 14 Views

1 个回答

  • Voted
  1. Best Answer
    Marcus Müller
    2024-11-14T23:06:23+08:002024-11-14T23:06:23+08:00

    您不能只是复制二进制文件并期望它能正常工作。如果您这样做,您将错过 99% 的 emacs 及其所有依赖项。您实际上需要执行与在具有互联网连接的系统上相同的操作dnf install emacs。

    坦率地说,最简单的方法是“重新配置虚拟机”(即从头开始设置,并访问互联网)并同时安装 emacs。

    显然,这并不总是可取的。如果你想知道如何管理:你可以使用kickstart文件来自动完成 Fedora 的整个安装(在虚拟机中,你通常不想对分区等进行任何花哨的操作,

    因此,替代方案(完全忽略这是否与 dnf、apt、nuget、anaconda、pip 或任何其他包管理器有关)是

    1. 下载有关可用软件包的最新信息以及它们在连接互联网的机器上如何相互依赖,
    2. 将这些信息移至离线机器,
    3. 在离线机器上运行 dnf 来确定需要安装哪些当前可用的软件包
    4. 将这些信息移动到连接互联网的机器(可以是主机,也可以是另一台虚拟机),
    5. 在那里下载这些软件包,
    6. 将它们移回离线机器并
    7. 安装它们。

    请注意,1. 非常重要,因为安装新的 emacs 包可能需要依赖比机器上已有版本更新的版本。您也可以只下载所有可能使用的包 - 但这是完整的 Fedora 安装,我不知道这是否值得。另一种方法是成为您自己的 fedora 镜像,但这将下载所有fedora 包,这样您就可以安装一些。您需要有大量的存储空间和时间,并且可能还需要考虑对仅下载所需内容的用户可用的镜像带宽的影响。

    我可能会这样做:

    1. 将 emacs 安装到 Fedora(podman)容器中,获取容器镜像,复制到 VM 中,在 VM 中运行容器
    2. 使用 flatpak 安装 emacs,用于flatpak create-usb将 emacs flatpak 及其所有依赖项获取到可以移动到 VM 中的东西中。

    在这两种情况下,您都需要在虚拟机中使用一些特定的软件(podman 或 flatpak)。

    或者,我会完全避免在虚拟机中使用 emacs,而只使用 emacs 的远程访问功能(TRAMP,糟糕的名字)通过网络从其他虚拟机或主机访问您可能想要编辑的文件。这需要某种类型的网络访问。

    • 2

相关问题

  • Epel Repo 已安装,但未找到所需的软件包

  • Fedora 目前缺少最新版本的 git

  • 在 Linux 上安装 lablgtk

  • VirtualBox 无法在 Fedora 26 中安装

  • 在 Debian 中编写 C#

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve