在离线时使用默认应用程序从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获取和解析包?
基本上,如果用户在不知名的地方安装Ubuntu来自普通的“桌面CD”,那么他应该可以从另一张CD安装我的应用程序。 需要在CD上做些什么才能做到这一点?
您必须使用dpkg安装.deb和依赖项。 只要您拥有所有依赖项,就应该能够使用dpkg安装它们。
如果遇到问题,请输入您正在获取的命令和输出。
更自动化的方法是使用Aptoncd
在具有Internet的新计算机中,使用Synaptic包管理器创建脚本,下载.deb文件并将其刻录到CD。
在其他计算机中,将所有.deb文件放在一个文件夹中
sudo dpkg -i * .deb
将工作。
好吧,考虑到你想让这个超级简单,没有额外的下载,没有额外的应用程序,你只剩下一个选项(并没有那么糟糕):
- 用所有deb及其依赖项填充CD
-
将其粘贴在目标计算机中,然后将其插入并运行:
sudo dpkg -i *.deb
是的,没有选择,没有聪明,但如果你想用最小的烦恼部署一些东西,那一切都相当简单。
或者你整理你的包,然后使用dpkg-scanpackages
(一个默认的应用程序dpkg-scanpackages
)来创建索引文件 。
首先运行sudo apt-get clean
将清除var / cache / apt / archives目录。 然后将其安装在仅具有默认应用程序的系统上。所有依赖项将保存在var / cache / apt / archives目录中。 将var / cache / apt / archives的内容与deb文件一起复制到CD中。
或者,如果您知道包名称运行这些命令以从存储库下载包含所有必需依赖项的包: –
sudo apt-get --download-only -o Dir::Cache="/path/to/destination/dir/" \ -o Dir::Cache::archives="./" install package_name
复制CD上的文件夹。 运行sudo dpkg -i *.deb
以安装软件(及其依赖项)。
如果是.deb文件,则可以使用此命令进行安装
sudo dpkg -i filename.deb
如果您需要所有必需的依赖项,然后将所有这些.deb文件放在/ var / cache / apt / archives中,然后使用aptitude安装它们。
祝一切顺利。
有关更多信息,请查看此https://help.ubuntu.com/community/InstallingSoftware
- 使用aptoncd创建包cd-rom并提供给您的客户
- 将磁盘插入客户的计算机
- 使用
apt-cdrom
命令将cd添加到软件存储库 -
sudo apt-get install package-name
来安装包
或者你可以尝试
-
Autopackage
-
Listaller
没有GUI方法(就我所知,软件中心是CD上唯一的GUI包管理器)。 但apt-get应该能够处理这个问题。
如果您禁用所有需要Internet的源,并保留CD,那么apt-get
应该没有任何问题。
( apt-cdrom add
会将一张CD添加到sources.list
)
您可以考虑使用SuperDeb Creator。 Ubuntu没有本机安装的实用工具。
SuperDeb Creator是一个创建SuperDebs的程序,可以脱机安装,在CD,DVD等上共享……它们的主要目标不仅是为没有互联网连接的用户提供易于使用的安装程序,而且还提供了一种以分散方式共享软件的简便方法,减少了对在线软件存储库的依赖。
资源
可以为Debian 5.0.7,Ubuntu 9.10,10.04,10.10,11.04(alpha 1或更高版本)创建SuperDeb
下载页面
你建议你没有任何选择:
假设你的cd结构是基本的(只是在cdrom中复制/粘贴debs)
那么程序将是:
- 将CD插入计算机
- 让ubuntu自动挂载cd,如果它是桌面版,如果没有挂载cdrom
- 在终端或控制台内键入:sudo cp / media / CDROMPOINT / DebFolder / * / var / cache / apt / archives
- 使用apt-get或软件中心:安装您的应用程序
但是你可能有本地存储库数据库的问题,可以阻止你…
如果是这种情况,则必须创建cd作为存储库。 就像bodhi.zazen告诉的那样:使用aptoncd来创建你的cd。 然后使用apt-cdrom add将cdrom添加为存储库,就像tumbleweed所建议的那样。
您可以尝试通过创建autorun.sh来自动执行此操作
最好的祝福。