![更新 .deb 包之前是否需要先卸载?](https://linux22.com/image/1055770/%E6%9B%B4%E6%96%B0%20.deb%20%E5%8C%85%E4%B9%8B%E5%89%8D%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E5%85%88%E5%8D%B8%E8%BD%BD%EF%BC%9F.png)
有时我会安装一个无法通过软件包存档(即dpkg -i some-package-v1.deb
)获得的 .deb 包。
我想知道我是否应该在更新之前卸载这些软件包以保持干净。我的意思是,当我这样做时,dpkg -i some-package-v2.deb
以前安装的版本 v1 文件会发生什么?它们会被自动删除吗?
答案1
不,您不必删除以前安装的。
但是,这取决于软件包的质量。我自己只有在遇到问题时才会先卸载。
正常更新安装只需删除以前保存的配置文件,然后安装新的配置文件。如果配置文件存在并且不同,系统
dpkg
会要求您覆盖或保留以前的配置文件。/etc
如果我要删除第一个,那么我会清除相反,这将删除所有文件,包括配置文件。
dpkg -P package... dpkg --purge package...
这篇文章展示了升级流程图:https://askubuntu.com/a/1116587/26246
上游文档在这里: https://www.debian.org/doc/debian-policy/ap-flowcharts.html
答案2
您不需要卸载该软件包。如果您运行
dpkg -i some-package-v2.deb
旧版本将被新版本替换。所有文件都将被覆盖。这是不使用存储库升级软件包的正常方法。