当前位置: 首页>>技术问答>>正文


你怎么能完全删除一个包?

, , ,

问题描述

我正在尝试干净安装octave3.2软件包。

为此,我将其删除,然后尝试重新安装。

当我重新安装时,发生错误。这可能是软件包中的一个错误,但我想确保删除了所有内容,以便我可以进行全新安装。

这样做够了吗?

sudo apt-get --purge remove octave3.2

最佳解决方案

这是关于一般清除软件包的影响问题的通用答案。对于特定于您的情况的建议,您必须编辑您的问题以包含其他信息 – 特别是您收到的错误消息的完整文本。

使用sudo apt-get purge ...sudo apt-get --purge remove ...删除软件包将删除它们及其所有全局(即全系统)配置文件。这通常是人们谈论完全移除软件包时的意思。

但这并不意味着你的系统与安装包之前的系统是一样的。尤其是:

  • 这不会移除作为依赖项安装的软件包,当您安装您现在要移除的软件包时。假设这些软件包不是任何其他软件包的依赖项,并且您没有将它们标记为手动安装,则可以使用sudo apt-get autoremove或(如果您想要删除其全系统配置文件)sudo apt-get --purge autoremove来删除依赖项。

  • 这不会删除non-systemwide配置文件。具体来说,它不会删除user-specific配置:

    • 它不会删除位于用户主目录(或其主目录的.config子目录中)中的配置文件和目录,该包由软件提供。

      • 如果这些文件/文件夹没有存储在.config中,它们通常以.本身开头。无论哪种方式,您可以通过使用-a-A标志看到他们ls,你可以看到他们在 nautilus 和大多数其他文件浏览器/按Ctrl + H或将视图&gt管理人员;显示隐藏的文件。

    • 它不会反转对现有user-specific配置文件所做的更改。

    • 它不会删除新的gconfdconf密钥,或者反转任何gconfdconf配置更改。

  • 使用purge--purge remove而不是remove不会反转对由其他软件包提供或由用户手动创建的现有系统范围配置文件的更改。但是,有时通过卸载程序包取消了这些更改(不管它是否是purge而不是remove)。

次佳解决方案

使用命令:

sudo apt-get purge --auto-remove packagename

它将清除所需的软件包以及与这些软件包一起安装的依赖项。 --auto-remove选项与sudo apt-get autoremove类似。

第三种解决方案

更好地跟踪安装过程中安装的附加依赖包。

The following extra packages will be installed: libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbind

如果仅删除原始软件包,则依赖软件包可能会保留。

所以你必须手动删除每一个使用

apt-get purge package_name

第四种方案

手动删除auto-installed相关软件包,而不是使用以下代码:


 zanfilip@zanfilip-VPCEB3L0E:~/jp/eclipse$ sudo apt-get --purge autoremove
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following packages will be REMOVED
      libupstart1* linux-headers-3.16.0-30* linux-headers-3.16.0-30-generic*
      linux-image-3.16.0-30-generic* linux-image-extra-3.16.0-30-generic*
    0 to upgrade, 0 to newly install, 5 to remove and 23 not to upgrade.
    After this operation, 279 MB disk space will be freed.
    Do you want to continue? [Y/n] 

第五种方案

如果你想删除一些数据包,你可以使用这些命令:

dpkg --get-selections | grep PACKAGE_NAME | awk '{ print $1}'| xargs apt-get -y --purge autoremove

不要忘记”-y”开关,否则apt-get将不断询问是否移除单个软件包,并且不会删除任何内容。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/323.html,未经允许,请勿转载。