首页 > 其他分享 >解决 dpkg 安装出错后的 Sub-process /usr/bin/dpkg returned an error code (1) 错误

解决 dpkg 安装出错后的 Sub-process /usr/bin/dpkg returned an error code (1) 错误

时间:2023-04-14 10:36:54浏览次数:35  
标签:bin code package sudo apt 命令 安装 dpkg


在使用 dpkg -i 安装.deb软件包的过程中,会出现安装失败的可能。之后无论用 sudo apt install -f or sud apt autoremove 等常见的修复命令都是无效的。网络上很多解决方案都直接给出需要运行的命令,不分析原因也不说明理由。我从来不尝试这样的解决方案,除非我自己知道或是只能死马当活马医。

不过针对Sub-process /usr/bin/dpkg returned an error code (1)的问题,很简单的就能找到原因。参考博客:https://phoenixnap.com/kb/fix-sub-process-usr-bin-dpkg-returned-error-code-1

错误的原因
Sub-process /usr/bin/dpkg returned an error code (1)说明dpkg这一package installers 出现了问题。这一错误一般是使用dpkg安装软件失败或者被中断后出现的。

命令行中/use/bin/dpkg这一关键信息说明了系统的dpkg软件出错了。任意一次新的安装都会报这样的错误。

针对这一问题有很多解决方案,有简单的也有复杂的。接下来就告诉大家如何修复这一问题。

解决方法

方案一:卸载存在问题的软件
如果你知道是哪个软件导致了这个问题,你可以卸载它。运行如下命令:

sudo apt-get remove --purge package_name

 

方案二:强制安装该软件
如果方案一不行,你可以尝试自动解决依赖问题,安装该软件。执行以下命令:

sudo apt-get install -f

-f选项意味着修复问题。它会尝试修复损坏的依赖信息。这常常适用于解决因为网络问题而导致的安装失败。

 

这一命令会卸载相关软件的所有痕迹。

方案三:清除所有无用的软件
如果是旧的、过时的、无用的软件造成的错误,运行如下命令

sudo apt autoremove

卸载无用的软件

方案四:删除 post file
如果你知道导致这一错误的软件,你可以手动删除相关的文件。这些文件通常在/var/lib/dpkg/info文件夹下。执行如下命令

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

方案五:重写package file
执行以下命令:
sudo dpkg –i ––force–overwrite /var/cache/apt/archives/full_name_of_package
如果你不知道实际的package name,可以执行以下命令进行搜索:
ls /var/cache/apt/archies/*package_name*

 

方案六:重新配置 dpkg database(慎重,具体看评论区)
重新配置 package database,直接运行一下命令即可:

 

sudo dpkg --configure -a

这一命令把那些已经解压但是没有被安装的package进行重新配置。在特定的时间中断安装可能会造成这一错误。这一命令尤其适用于安装进程被中断的情况。

 


————————————————
版权声明:本文为CSDN博主「持久决心」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013832707/article/details/113104006

标签:bin,code,package,sudo,apt,命令,安装,dpkg
From: https://www.cnblogs.com/Jamesblog/p/17317524.html

相关文章

  • 解决URLEncoder.encode 编码空格变 + 号
    jdk自带的URL编码工具类URLEncoder在对字符串进行URI编码的时候,会把空格编码为+号。空格的URI编码其实是:%20解决办法:对编码后的字符串,进行+号替换为%20。总感觉这种方式不优雅。使用spring提供的UriUtils来代替URLEncoder进行编码importjava.io.UnsupportedEncoding......
  • 【DP】【分治】LeetCode 53. 最大子数组和
    题目链接[https://leetcode.cn/problems/maximum-subarray/description/](53.最大子数组和"https://leetcode.cn/problems/maximum-subarray/description/")思路分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律在数......
  • POJ 1780 Code (欧拉回路+非递归版dfs)
    题目地址:POJ1780还是求序列的欧拉回路。只不过这题有两坑。第一坑是用数字来当点的话,会MLE,因为每个数字可以连10条边,100w条边会MLE,即使用vector也会TLE。这题可以用边来记录,对于n为1时直接输出,然后后面的,比如12,23这两个点就用边权值为123来表示这两个点,这样就把点和边的范围......
  • Codeforces Round #289 Div. 2 解题报告 A.B.C.E
    A-MaximuminTable纯递推。代码如下:#include<iostream>#include<string.h>#include<math.h>#include<queue>#include<algorithm>#include<stdlib.h>#include<map>#include<set>#include<stdio.h>usingn......
  • Codeforces Round #290 (Div. 2) 解题报告 A.B.C.D.
    A-FoxAndSnake模拟。代码如下:#include<iostream>#include<string.h>#include<math.h>#include<queue>#include<algorithm>#include<stdlib.h>#include<map>#include<set>#include<stdio.h>usingnames......
  • Codeforces Round #287 (Div. 2) 解题报告 A.B.C.D.E
    这次的CF挺水的,当时B题犯了一个很SB的错误,浪费了好多时间,所以D和E也没来得及看。sad,。。A-AmrandMusic水题,从小的开始选。代码如下:#include<iostream>#include<string.h>#include<math.h>#include<queue>#include<algorithm>#include<stdlib.h>#include<map>......
  • Codeforces Round #286 (Div. 2) C题 Mr. Kitayuta, the Treasure Hunter (DFS+记忆化D
    题目地址:http://codeforces.com/contest/505/problem/C从d点开始,每个点都有三个方向,形成了一棵树,那么就从跟结点开始进行dfs查找,dp数组记录当前的点和长度,当这两个条件相同的时候,显然,后面的子树是完全相同的,于是用记忆化来优化。代码如下:#include<iostream>#include<string.h>#......
  • codeforces #185 A Plant(矩阵快速幂+递推)
    题目地址:http://codeforces.com/problemset/problem/185/A通过这个题终于找回了点找递推公式的信心。。TAT。。不过真心感觉CF的题目质量都真不错。。。首先,第n个图形的上方,左下方,右下方的三个大三角形是跟第n-1个是一模一样的,所以是3*f(n-1)。然后只剩下中间一个倒着的大三角形了,......
  • 剑指 Offer 09. 用两个栈实现队列 && leetcode225.用队列实现栈
     剑指Offer09.用两个栈实现队列 classCQueue{private:stack<int>inStack,outStack;voidin2out(){//这里必须是while循环,如果是if判断,则输出栈日常只有一个值,没有起到先入后出的作用while(!inStack.empty()){//将输入栈栈顶......
  • leetcode:路径总和 III
    问题描述给定一个二叉树的根节点root ,和一个整数targetSum,求该二叉树里节点值之和等于targetSum的路径的数目。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。示例1输入:root=[10,5,-3,3,2,null,11,3,-2,null,1],ta......