我在我的 ubuntu 上安装了一个名为“vbaexpress”的包,为了卸载它,我使用以下命令清除了它
sudo apt-get purge vbaexpress
并卸载它的依赖项我自动删除了它
sudo apt-get autoremove vbaexpress
此时,我假设该包已从我的计算机上完全卸载,但当我输入
sudo apt-get install vbaexpress
即使我的计算机没有连接到互联网,它也会安装。为什么会发生这种情况?我完全卸载该软件包的假设是否错误?如果是,我该如何彻底删除它?
答案1
该软件包已被完全卸载,但您的系统已默认配置,因此安装后不会删除下载的 DEB 文件。
因此开始
sudo apt-get autoclean
删除无法再下载的包,或者
sudo apt-get clean
删除所有下载的包
从man apt-get
clean
clean clears out the local repository of retrieved package files. It
removes everything but the lock file from /var/cache/apt/archives/ and
/var/cache/apt/archives/partial/.
autoclean
Like clean, autoclean clears out the local repository of retrieved
package files. The difference is that it only removes package files
that can no longer be downloaded, and are largely useless. This allows
a cache to be maintained over a long period without it growing out of
control. The configuration option APT::Clean-Installed will prevent
installed packages from being erased if it is set to off.
答案2
清除操作后,软件包实际上已卸载。软件包中的任何文件都无法供您的系统使用。您之所以需要再次安装它,是因为 apt 会缓存从存储库下载的任何软件包,以防止重新下载相同的软件包,从而浪费镜像带宽。软件包缓存位于 中/var/cache/apt/archives
。
如果你是Windows用户,那么等效的行为是:下载安装程序,然后拔掉网线,然后安装软件。