我遇到了一个相当不寻常的问题:我需要能够在在线机器上下载 Ubuntu 软件,将其刻录到磁盘上,然后将其安装在离线机器上。软件下载需要包含所有依赖项(以及依赖项的依赖项等),因为离线机器可能没有它们。此外,这两台机器可能运行的 Ubuntu 版本不同(例如,在线机器可能运行版本 12,而离线机器可能运行版本 13)。而且,它们可能具有不同的架构(一个可能是 32 位,另一个可能是 64 位)。下载和安装软件的方法可以是任何方法 - python 脚本、批处理脚本、程序、现有软件等等。任何有关此问题的帮助都将不胜感激(即使是关于正确方向的提示和猜测)。
答案1
一种可能的方法是下载并安装在线计算机上的所有内容(包括您的软件)并构建硬盘,然后将该硬盘安装在离线计算机上(请注意,您可能会遇到实现最佳性能所需的某些驱动程序的问题;您可以通过在离线计算机上运行实时会话来检查这一点;))
另一种方法是在在线计算机上安装您需要的所有内容,并使用 remastersys 创建 ISO,然后刻录 DVD(CD-R 太小)并在这台离线计算机上安装您的软件。
对于 32-64 位问题;您应该知道您的离线计算机的规格;这台机器可能无法运行 Ubuntu(例如较旧的 XP 计算机),但您需要运行和安装 Xubuntu ,所以我建议您刻录 remastersys 2 版本(Xubuntu 和 Ubuntu),这样您在离线计算机上就不会遇到问题。
我希望这对你来说是正确的选择。附注:在没有互联网的情况下运行 Ubuntu 不是一个好主意;Ubuntu 不断更新以提高其性能。
答案2
看着此指令。我还会指出一些经验丰富的用户推荐的关键命令。
安装镜像:
sudo apt-get install debmirror liblockfile-simple-perl liblog-agent-perl ruby mkisofs dpkg-dev libdigest-sha1-perl libruby libzlib-ruby
下载您想要的文件:
debmirror --nosource -m --passive --host=archive.ubuntu.com --root=ubuntu/ --method=http --progress --dist=precise,precise-security,precise-updates,precise-backports, --section=main,restricted,universe,multiverse --arch=i386,amd64 ~/UbuntuRepos --ignore-release-gpg
分成 DVD 大小的份。
debpartial --nosource --dirprefix=ubuntu --section=main,restricted,universe,multiverse --dist=precise,precise-security,precise-updates,precise-backports --size=DVD ~/UbuntuRepos ~/UbuntuDVDs
- 将它们刻录到 DVD 上。
但与使用 DVD 相比,我更喜欢使用移动硬盘,这要方便得多。我在我sources.list
的移动存储库文件中做了以下条目:
# deb file:/media/Elements/UbuntuMirror1/Ubuntu precise main restricted universe multiverse
# deb file:/media/Elements/UbuntuMirror1/Ubuntu precise-updates main restricted universe multiverse
# deb file:/media/Elements/UbuntuMirror1/Ubuntu precise-backports main restricted universe multiverse
# deb file:/media/Elements/UbuntuMirror1/Ubuntu precise-security main restricted universe multiverse