![使用 dpkg 手动安装软件包是否会阻碍将来的升级路径?](https://linux22.com/image/805558/%E4%BD%BF%E7%94%A8%20dpkg%20%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85%E8%BD%AF%E4%BB%B6%E5%8C%85%E6%98%AF%E5%90%A6%E4%BC%9A%E9%98%BB%E7%A2%8D%E5%B0%86%E6%9D%A5%E7%9A%84%E5%8D%87%E7%BA%A7%E8%B7%AF%E5%BE%84%EF%BC%9F.png)
我管理一个私人网络,由于客户的安全策略,该网络没有互联网连接。该网络只有一个 Ubuntu 10.04 LTS 服务器安装(很快会安装更多),我一直在尝试使用软件对其进行自定义 - 但是,由于缺乏互联网连接,我不得不使用 dpkg 手动安装软件包。
当 Ubuntu Server(LTS)有新版本可用时,这是否会阻止我升级到新版本,因为我安装的软件包不在当前的发行版 CD 上,所以它们也不太可能在较新的版本上。
答案1
不会。使用 dpkg 从官方存储库安装软件包不会给您带来任何问题。
事实上,从技术角度来看,通过 dpkg 安装软件包与运行sudo apt-get install
package
.同样的事情发生了。
使用 dpkg 安装软件包的唯一问题是,您必须确保依赖项以正确的顺序安装。否则,您可能会得到损坏的软件包数据库。
我从个人经历中知道这种情况会发生......
答案2
只是为了完整性:升级时,如果您的软件包不再受支持,或者与较新的软件包不兼容(依赖关系损坏等),则升级过程将询问您是否要删除这些软件包。我不确定如果您不卸载它们会发生什么 - 可能它们将不再起作用。
无论如何,您都能够升级。
答案3
在这种情况下,AptOnCD 可能是一个有用的工具:http://aptoncd.sourceforge.net/
答案4
考虑到您很快会添加更多服务器,设置本地存储库可能是一个更好的主意。这样,您可以将存储库添加到每个服务器的 apt 源,然后将它们全部指向本地存储库,该存储库只是真实 ubuntu 存储库的镜像。
然后,当需要安装或升级软件包时,您只需使用标准的 ubuntu 工具来处理此操作。另一个好处是,您只需偶尔使用几张 DVD 或硬盘更新集中式本地存储库,然后将其带入封闭环境并与存储库的目录同步。然后,每台服务器都会提醒您他们安装的软件包在本地存储库上有可用的升级……这意味着您需要维护的管理工作少了很多。这些工具可以做它们擅长的事情。
Ubuntu 布道者、Ubuntu UK 播客团队成员 Alan Pope 撰写了一篇关于创建官方 Ubuntu 存储库镜像的文章,应该会有所帮助。您可以找到它这里。