网站首页 > 技术文章 正文
问题描述:
Ubuntu在apt 安装软件时,报错如下:
E: Sub-process /usr/bin/dpkg returned an error code (1)
之后无论用sudo apt install -f or sudo apt autoremove 等常见的修复命令都是无效的。
原因:
网上大多数博客指出,此错误是由于软件安装失败或安装程序损坏而触发的。dpkg这一package installers 出现了问题。这一错误一般是使用dpkg安装软件失败或者被中断后出现的。命令行中/use/bin/dpkg这一关键信息说明了系统的dpkg软件出错了
解决方法:
方案一:(网上绝大多数用此方法,我也是用此方法解决)
备份原info文件,防止失败还原用
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bak
新建info文件
sudo mkdir /var/lib/dpkg/info
更新apt相关信息
sudo apt update && sudo apt -f install
再次安装软件,报错解决了
其他解决方法:
以下方案收集于网上其他文章,本人未曾尝试过,写出来仅供参考使用。
方案二:
重新配置 package database,直接运行一下命令即可:
sudo dpkg --configure -a
这一命令把那些已经解压但是没有被安装的package进行重新配置。在特定的时间中断安装可能会造成这一错误。这一命令尤其适用于安装进程被中断的情况。
方案三:
强制安装该软件
sudo apt-get install -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*
- 上一篇: 二、安装Lua(怎样安装路)
- 下一篇: 如何配置 Fail2Ban 来阻止恶意登录
猜你喜欢
- 2024-10-14 Ubuntu19.10系统的软件安装与卸载命令
- 2024-10-14 VMware下安装VMware tools,安装文件没有出现问题的解决
- 2024-10-14 大白话 linux 教程-09-安装和卸载软件包
- 2024-10-14 ubuntu下安装ssh(ubuntu下安装windows10)
- 2024-10-14 蓝易云 - Ubutun开机黑屏解决方法
- 2024-10-14 银河麒麟系统密码忘记了,修改密码和微信安装方法
- 2024-10-14 ubuntu离线apt-get更新源(ubuntu 离线升级)
- 2024-10-14 树莓派安装opencv3.4.0遇到的坑(树莓派安装opencv完整过程)
- 2024-10-14 linux 系统 没有 ifconfig 命令,提示: ifconfig: command not found
- 2024-10-14 go get 命令一直下载不了源站的包解决方案
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)