我需要制作一个 deb 文件列表,这样我就可以在没有互联网的情况下安装东西。
我们知道,执行 时apt-get install XXX
,我们会在 找到一些 deb 文件/var/cache/apt/archives/
。有了这些 deb 文件,我们就可以执行apt install ./*.deb
安装,在本地(无需网络)进行安装。
所以我做了以下事情:
sudo apt-get install pkg1
sudo apt-get install pkg2
...
...
sudo cp /var/cache/apt/archives/*.deb ~/deb/
现在,我获得了所有必要的 deb 文件~/deb
。
然后,我复制~/deb
到另一个新的 Ubuntu 16.04.3 并执行apt install ./deb/*.deb
。
令我惊讶的是,我发现了一些奇怪的错误:
1) 一些 deb 发生冲突。例如,当我执行 时apt install ./deb/*.deb
,它说a.deb
和b.deb
发生冲突,我必须删除其中一个才能完成安装。
2)执行完之后apt install ./deb/*.deb
,系统的ssh断了,必须执行apt update && apt install openssh-server openssh-client
才能修复。
我不明白为什么来自官方来源的 deb 文件无法正确地在本地安装。
答案1
对于本地文件,您可以使用软件包或者格德比。
例如dpkg -i /path/to/file.deb
或者
sudo apt-get install gdebi
gdebi /path/to/file.deb