问题描述
我正在尝试干净安装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
或将视图>管理人员;显示隐藏的文件。
-
-
它不会反转对现有user-specific配置文件所做的更改。
-
它不会删除新的
gconf
或dconf
密钥,或者反转任何gconf
或dconf
配置更改。
-
-
使用
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将不断询问是否移除单个软件包,并且不会删除任何内容。