我在升级 kali linux 2020 时遇到问题

我在升级 kali linux 2020 时遇到问题

我跑过去apt-get upgrade得到:

subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
text-common
E: Sub-process /usr/bin/dpkg returned an error code (1)

我怎样才能解决这个问题?

答案1

错误消息“子进程 /usr/bin/dpkg 返回错误代码 (1)”表示软件包安装程序出现问题。软件安装失败或安装程序损坏后可能会发生这种情况。

此错误中的关键短语是/usr/bin/dpkg。这是指 Linux 的 dpkg 软件包安装程序。如果它被损坏,任何新的软件安装都会导致此错误消息。

方法一:重新配置dpkg数据库

如果您的包数据库已损坏,重新配置可以修复它。

输入以下命令:

sudo dpkg ––configure –a

此命令重新配置已解压但不一定已安装的软件包。在错误的时间中断可能会导致该数据库损坏。如果您正在运行安装并且该过程被中断,这尤其有用。

方法二:强制安装软件

如果方法 1 不起作用,您可以尝试修复软件包安装程序中的依赖项。

输入以下内容:

sudo apt-get install –f

-f 选项意味着修复损坏。它修复包管理器中任何损坏的依赖项。当下载中断或缓存的下载出现问题时,就会出现依赖关系损坏。

方法三:删除不良软件包

如果您知道哪个软件导致您的系统出现错误,则可以将其删除。

输入命令和 package_name 以及导致问题的软件的名称:

sudo apt-get remove ––purge package_name

如果旧的、过时的或未使用的软件包导致问题,您可以通过删除未使用的软件包来解决问题。

在终端中输入以下命令:

sudo apt autoremove

注意:除非所有其他方法都失败,否则请避免使用接下来的 2 个选项。

方法5:删除帖子文件

如果您知道导致问题的包的名称,则可以手动删除这些文件。安装文件通常位于 /var/lib/dpkg/info 文件中。

输入以下命令并将 package_name 替换为损坏的软件的名称:

sudo ls –l /var/lib/dpkg/info | grep –i package_name

这将生成对您安装的软件的所有引用的列表。

然后您可以通过输入以下内容来删除它们:

sudo mv /var/lib/dpkg/info/package_name.* /tmp

此命令将文件移动到 /tmp 目录,它们不会影响您的包管理器。

接下来,更新包管理器:

sudo apt-get update

之后您可以再次重新安装损坏的软件。

方法六:覆盖包文件

如果您知道导致问题的包的名称,则可以强制覆盖。

使用以下命令并将 full_name_of_package 替换为实际的包名称:

sudo dpkg –i ––force–overwrite /var/cache/apt/archives/full_name_of_package

注意:如果您不知道包的实际名称,可以使用以下命令搜索:

ls /var/cache/apt/archies/*package_name*

将 package_name 替换为您的软件名称。这应该返回该包名称的任何实例。记下确切的文件名,并将其输入到上一个命令中。

相关内容