我正在尝试对octave3.2软件包进行全新安装。

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

重新安装后发生错误。

这可能是程序包中的错误,但我想确保已删除所有内容,以便可以进行全新安装。

这样做是否足够?

sudo apt-get --purge remove octave3.2


评论

一个人可以重新安装该软件包并注意该软件包的OR依赖项列表吗?。

推荐访问此

#1 楼

这是关于清除程序包影响的非常普遍的答案。对于特定于您的情况的建议,您必须编辑问题以包括其他信息,尤其是所收到错误消息的完整而准确的文本。

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

但这并不意味着您的系统与安装软件包之前的系统相同。特别是:


这不会删除作为依赖项安装的软件包,而在安装要删除的软件包时。假设这些软件包与任何其他软件包都不存在依赖性,并且没有将其标记为手动安装,则可以使用sudo apt autoremove或(如果要删除其系统范围的配置文件)sudo apt --purge autoremove除去这些依赖性。

这不会删除非系统范围的配置文件。具体来说,它不会删除用户特定的配置:



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


如果这些文件/文件夹未存储在.config中,它们通常以.开头。无论哪种方式,您都可以使用ls-a标志与-A一起查看它们,并且可以在Nautilus和大多数其他文件浏览器/管理器中通过按Ctrl + H或转到查看>显示隐藏文件来查看它们。


它不会撤消对现有用户特定配置文件的更改。
它不会删除新的gconfdconf键,也不会撤消任何gconfdconf配置更改。


使用purge--purge remove代替remove不会撤消对其他软件包提供或用户手动创建的现有系统范围配置文件的更改。但是,有时通过卸载软件包来撤消此类更改(无论是purge而不是remove)。


#2 楼

使用命令:

sudo apt-get purge --auto-remove packagename


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

评论


这解决了我的问题,尤其是使用certbot

–T.Todua
19年5月11日14:25

#3 楼

您首先要检查要删除的软件包的名称:

dpkg --list

,然后删除给定的软件包

sudo apt-get remove package_name

清除所有相关代码

sudo apt-get purge package_name

然后自动删除

sudo apt-get autoremove

最后,进行清洁您检查所有内容均已正确删除
sudo apt-get clean

您想检查软件包列表中是否不再列出要删除的软件包,但它是可选的。 br />
祝你有美好的一天,

#4 楼



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


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

/>,因此您必须使用

apt-get purge package_name

手动删除每个

评论


如果我的控制台滚动不够远,如何获得这些软件包的列表

–泰勒(Luke Taylor)
16年1月19日在18:27

@LukeTaylor apt-get install package_name> output然后减少输出以滚动查看所有输出。

– Harikrishnan
16 Jan 20'3:34



#5 楼

代替手动删除自动安装的从属软件包,请使用以下命令:

 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] 



#6 楼

如果要删除某些安全软件包,可以使用以下命令:

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


不要忘记“ -y”开关,因为否则apt-get会不断询问删除单个程序包,不会删除任何内容。

评论


这可能很有用,但也可能具有破坏性:它可以轻松匹配您确实不想删除的软件包,并在不进行确认的情况下删除其配置!幸运的是,由于软件包名称从不包含空格,因此我们可以将其转过来并删除-y:apt-get --purge autoremove $(dpkg --get-selections | grep PACKAGE_NAME | awk'{print $ 1}')。这样会更安全。

– joeytwiddle
2015年12月25日在8:11



可能更安全地将命令运行为:dpkg --get-selections | grep PACKAGE_NAME | awk'{print $ 1}'首先,然后使用xargs运行它是一种更好的做法,以便用户看到由于命令而删除的内容。

– Kerem Ersoy
17年9月9日23:28

#7 楼

您还有另一个选择,就是使用debfoster软件包。这将以交互方式查找和建议要删除(和清除)的软件包以及相关的软件包。

sudo apt install debfoster
sudo debfoster
# and optionally remove debfoster too
sudo purge debfoster


#8 楼

如果使用的是snap,则可以使用以下命令删除软件包:

$ sudo snap remove <package>


应用程序代码,其运行时相关性和关联的用户数据都将被清除。如果您的快照宣布服务,那么它们也将被关闭并删除。