我需要在我的笔记本电脑上创建一个 http url,以便在 Xen 环境中在我的笔记本电脑上安装 Ubuntu。最终结果如下。
主机和客户端都将是我的笔记本电脑。我在 Google 上搜索并找到了 apt-mirror 和一些其他软件包。我不想在我的计算机上存档整个 15 GB 的 Ubuntu 存储库。
无法使用 CD、ISO、循环安装磁盘。我曾尝试在本地机器上使用网络启动映像,但失败了,因为如果您尝试在不支持 VT 的硬件上创建虚拟机,virt-manager 安装程序必然需要此类 URL
http://archive.ubuntu.com/ubuntu/dists/hardy/main/installer-i386/current/images/netboot/
创建客户操作系统的任何其他选项都将显示为灰色。
当我使用 Jeremy 树中的 Xen-4.0 和 pv-ops Dom0 内核启动时,我的以太网连接无法工作。这就是我必须完成这项工作的地方。所以我必须创建一个类似于 Ubuntu 镜像的 URL 结构。那么我该如何在最低限度内做到这一点,以便至少控制台可以启动,一旦控制台出现,我就可以做一些工作。
答案1
使用apt-镜像 你可以将其减少到仅 7.5 GiB。
您可以在其配置文件中注释掉源、更新、安全、Universe 和 Multiverse 存储库,/etc/apt/mirror.list
这样您就只剩下 main 的内容了。由于 main 包含不同 CD 映像上附带的所有内容,因此它应该足以让您安装。它可能不是最小的解决方案,但可能是最简单的。
答案2
这个答案提供了解决您所问问题的方法。https://askubuntu.com/a/154580/1110324
本地存储库方法。
有很多比使用 AptOnCD 更简单的方法。虽然我已经包含了 AptOnCD 方法,因为问题已经提到了这一点。将所有 .deb 文件复制到目标计算机中
您需要将从 /var/cache/apt/archives 文件夹下载的所有 .deb 文件复制到目标无互联网计算机中的合适文件夹中。我建议您将所有文件复制到名为 debs 的文件夹中,而该文件夹本身位于名为 LocalRepo 的文件夹中。这意味着 .deb 文件位于 LocalRepo/debs 文件夹中。您可以将 LocalRepo 文件夹放在任何您想要的位置。例如,我将其放在我的主目录即 /home/anwar 中。
因此,文件夹结构如下:
-/ -/home -/anwar -/LocalRepo -/debs
其中 debs 文件夹包含您下载的所有 deb 文件。
生成包索引文件
打开终端并转到 Debs 文件夹上方的文件夹。在此示例中,它是 /home/anwar/LocalRepo。
当您位于 LocalRepo 文件夹中时,运行此命令:
apt-ftparchive packages . > Packages
它将在 LocalRepo 目录中创建一个 Packages 文件。在存储库源列表中添加本地存储库
使用 root 权限打开 /etc/apt/sources.list 文件
sudo gedit /etc/apt/sources.list.
At the top of sources.list file, put a line like this. `deb file:/home/anwar/LocalRepo /` replace /home/anwar/LocalRepo with actual directory name where you put the LocalRepo folder.
保存文件并退出 gedit。
更新软件包索引以便能够从本地仓库安装
sudo apt-get update
在终端中运行,它将创建一个有关可用存储库的存储库源列表。因此,您新创建的本地存储库将被识别。从本地存储库安装包。
Then run `sudo apt-get install package-name` (replacing package-name with actual package) to install your desired repository.
注意:您将始终收到有关您的存储库不是“经过身份验证”的警告。在这种情况下,您可以忽略此类警告,因为您是从“经过身份验证”源的软件包(即官方 Ubuntu 软件包档案)创建的存储库。
您可以通过在命令中输入 --allow-unauthenticated 开关来覆盖此警告。例如
sudo apt-get install --allow-unauthenticated package-name
创建一个受信任的存储库:
如果你想创建一个受信任的本地存储库,你应该读这个。这是一篇关于这个话题的非常简单和非常好的文章
编辑:我发现,当使用上述步骤共享 repro 时,我需要传递-o Acquire::AllowInsecureRepositories=true
apt 命令才能使其工作。