离线时从 CD-ROM 安装 .deb,仅使用默认应用程序

离线时从 CD-ROM 安装 .deb,仅使用默认应用程序

我有一个应用程序,.deb其中包含一个安装包。如果用户在线,则一切正常。但是,我需要支持在离线我只能从 CD-ROM 中下载并安装到计算机上,并且我只能假设已安装默认应用程序,即我不能告诉他们,“首先下载 XYZ,然后它才能工作。”我的 CD-ROM 必须是自包含的。(用户几乎没有或根本没有互联网连接……想想“巴布亚新几内亚的丛林”。)假设操作系统已稳定安装,则 CD-ROM 包含所有必要的依赖包。

这是针对 11.10 的。(希望在 12.04 中不会再次发生改变。)

我努力了:

  • Ubuntu 软件中心- 如果您处于离线状态,“安装”按钮将被禁用。即使您将 CD 添加为软件源,情况也是如此。
  • 使用 dpkg 目录- 这并不能解决依赖关系。我永远无法向我们的用户解释如何在命令行中手动解决依赖关系。

一些有用的工具(keryx、gdebi、aptoncd、synaptic)没有包含在 11.10 的默认安装中。

有什么方法aptitude可以在离线时获取并解析 CD-ROM 中的软件包吗?

基本上,如果一个用户在偏僻的地方从普通的桌面 CD 安装 Ubuntu,那么他应该能够从另一张 CD 安装我的应用程序。那张 CD 上需要有什么才能实现这一点?

答案1

您必须使用 dpkg 安装 .deb 和依赖项。只要您拥有所有依赖项,您就应该能够使用 dpkg 安装它们。

如果您遇到问题,请将您收到的命令和输出粘贴到 pastebin 中。

更自动化的方法是使用 Aptoncd

http://aptoncd.sourceforge.net/

答案2

在一台可以上网的新电脑上,用 Synaptic 包管理器创建一个脚本,下载 .deb 文件并把它们刻录到 CD 上。

在其他计算机上,将所有 .deb 文件放在一个文件夹中,然后

sudo dpkg -i *.deb

将工作。

答案3

好吧,考虑到你想让这一切变得非常简单,不需要额外的下载,不需要额外的应用程序,你只剩下一个选择(而且它不是坏的):

  1. 将所有 deb 及其依赖项放入 CD 中
  2. 将其插入目标计算机,使用 cd 插入并运行:

    sudo dpkg -i *.deb
    

是的,没有选择,没有聪明才智,但如果你想以最少的麻烦来部署某些东西,一切都相当简单。

或者你整理你的包然后玩弄dpkg-scanpackages(AFAICS 的默认应用程序)创建索引文件

答案4

如果它是一个 .deb 文件,你可以使用此命令安装它

sudo dpkg -i filename.deb

如果您所有必需的依赖项都已存在,则将所有那些 .deb 文件放在 /var/cache/apt/archives 中,然后使用 aptitude 安装它们。

一切顺利。

有关详细信息,请参阅 https://help.ubuntu.com/community/InstallingSoftware

相关内容