现在我有两台电脑:
- 已连接到互联网并已安装包
A
。 - 没有连接到 WEB。我需要在这台电脑上安装包
A
。
我决定使用第一台电脑下载所有需要的软件包,然后通过 USB 将它们传输到第二台电脑。我搜索了如何获取某些deb
安装所需的所有软件包,以下是我发现的。
但是当我跑步时:
apt-get --print-uris --yes install A | grep ^\' | cut -d\' -f2 > downloads.list
在第一台电脑上我得到的是空文件,因为这个包已经安装在那里(而且我不想卸载它)。
而且包 A 非常复杂并且依赖于包,B
而包又依赖于包,并且第二台 PC 上未安装C
包。C
那么我该如何下载所有需要的软件包?或者还有其他安装方法吗?
答案1
凯瑞克斯
它是一个用于在完全离线系统上安装软件包的 GUI 应用程序。
http://www.omgubuntu.co.uk/2010/09/keryx-offline-package-installation-made-easy-in-ubuntu
...........................................................................................
apt-离线:CLI
让offPC 为离线计算机,onPC 为在线计算机。
apt-offline
在离线电脑上安装从 onPC下载
apt-offline
。(尝试:http://packages.debian.org/wheezy/all/apt-offline/download)将 '.deb' 文件复制并粘贴到 offPC
打开后即可安装。(或使用
sudo dpkg -i '/path/to/file/apt-offline.deb'
)生成更新链接文件[offPC]
sudo apt-offline set /tmp/updateee --update
生成更新所需文件的数据库。
使用链接文件下载更新文件 [onPC]
sudo apt-offline get /tmp/updateee
下载http://security.ubuntu.com/ubuntu/dists/quantal-security/main/binary-i386/Packages.bz2。
http://security.ubuntu.com/ubuntu/dists/quantal-security/main/binary-i386/Packages.bz2完成。
正在下载http://security.ubuntu.com/ubuntu/dists/quantal-security/restricted/binary-i386/Packages.bz2。
http://security.ubuntu.com/ubuntu/dists/quantal-security/restricted/binary-i386/Packages.bz2完成。
正在下载http://security.ubuntu.com/ubuntu/dists/quantal-security/main/i18n/Translation-en.bz2。
http://security.ubuntu.com/ubuntu/dists/quantal-security/main/i18n/Translation-en.bz2完毕..........已将数据下载至 /tmp/apt-offline-downloads-5942
将下载的更新文件添加至 offPC
sudo apt-offline install /tmp/apt-offline-downloads-5942/
gpgv:签名于 2013 年 6 月 21 日星期五 下午 2:08:43 UTC 使用 DSA 密钥 ID 437D05B5 生成 gpgv:来自“Ubuntu 存档自动签名密钥”的良好签名 gpgv:签名于 2013 年 6 月 21 日星期五 下午 2:08:43 UTC 使用 RSA 密钥 ID C0B21F32 生成 gpgv:来自“Ubuntu 存档自动签名密钥 (2012)”的良好签名
生成包链接文件[offPC]
sudo apt-offline set /tmp/package --update
- 使用链接文件下载包文件 [onPC]
sudo apt-offline get /tmp/package
- 将下载的包文件添加到 offPC
sudo apt-offline install /tmp/apt-offline-downloads-5942/
- 安装包 打开终端
sudo apt-get install package_name
或者
打开软件中心,安装包。
注1:在使用文件(updateee、package)之前,您必须将文件从 offPC 传输到 onPC(使用 Pen 驱动器或其他东西)。同时将包含下载文件的文件夹复制到 offPC。
笔记2:如果出现错误
E: 无法找到软件包 package_name
在安装时,这意味着 offPC 不知道该软件包。发生这种情况的原因有很多。例如,个人软件包由私人团体维护。(搜索 PPA)
尝试添加软件源打开软件源(来自 Unity),然后勾选宇宙和其他领域
答案2
立方体
Cube 是一个离线包管理系统,它使 Linux 发行版用户(Ubuntu、Linux Mint 和其他基于 APT 的系统)即使没有互联网连接也能将应用程序安装到他们的系统中。只需在您的 Linux 系统中运行 cube,在其中创建您的项目,将您的项目与 cube 一起粘贴到闪存驱动器中,然后飞到任何有互联网连接的计算机上,打开 cube 并选择您的项目,更新您的应用程序并下载您想要的任何应用程序,返回您的 Linux 系统并直接安装。就是这样!您现在可以使用您的新应用程序 :)。
您可以在启动板页面下载立方体:https://launchpad.net/camicricube
答案3
您读过这里的方法吗?
其中提到,
凯瑞克斯
(回答者@totti 之前提到过)
Keryx 是一款适用于基于 APT(Ubuntu、Debian)系统的可移植、跨平台软件包管理器。它提供了一个图形界面,用于收集离线计算机的更新、软件包和依赖项。Keryx 是免费的开源软件。您可以在此处获取 Keryx: https://launchpad.net/keryx
Synaptic 软件包下载脚本
就是这样:https://help.ubuntu.com/community/Synaptic/PackageDownloadScript
... 该网站未提及:
恰当媒介
似乎是最适合您的用例的,但不幸的是它非常不成熟。 关联
apt-离线
看起来这是完成这项工作的最佳命令行工具。不幸的是,“操作指南”总是从假设您已经在离线机器上安装了“apt-offline”开始,而忽略了它最初是如何到达那里的显而易见的问题。 关联
答案4
检查此文件夹,/var/cache/apt/archives
它应该包含安装包 A 期间下载的所有包,将相同的内容复制粘贴到/var/cache/apt/archives
第二台计算机。尝试 apt-get install package a
为了使这个工作你必须至少做过一次apt-get update
(为了获取 apt 上的参考包列表)
否则,您可以尝试dpkg -i packageA.deb
查看缺少的软件包,然后安装存档文件夹中的软件包。(这种方法很荒谬)
我之前曾使用过 apt cds,尝试使用 Google 搜索从现有系统创建 apt cds。