由于 DPKG 错误,无法在 18.04 上安装或删除任何内容

由于 DPKG 错误,无法在 18.04 上安装或删除任何内容

上次我能够安装的是使用 snap 安装 adobe,现在我无法安装任何东西并且出现多个错误;当我运行 sudo dpkg --configure -a 、 sudo apt-get -f install 时,我得到下面的信息

马丁@马丁~$ sudo dpkg--configure-a
设置 php-pear (1:1.10.8+submodules+notgz-1+ubuntu16.04.1+deb.sury.org+1) ...
dpkg-maintscript-helper:错误:dpkg:错误:未知选项--validate-version

输入 dpkg --help 获取有关安装和卸载软件包的帮助 [*];
使用‘apt’或‘aptitude’进行用户友好的包管理;
输入 dpkg -Dhelp 获取 dpkg 调试标志值的列表;
输入 dpkg --force-help 获取强制选项列表;
输入 dpkg-deb --help 获取有关操作 *.deb 文件的帮助;

标有 [*] 的选项会产生大量输出 - 通过“less”或“more”进行管道传输!
dpkg: 处理软件包 php-pear 时出错(--configure):
 子进程安装后安装脚本返回错误退出状态 1
设置 mysql-common (5.8+1.0.4) ...
dpkg-maintscript-helper:错误:dpkg:错误:未知选项--validate-version

输入 dpkg --help 获取有关安装和卸载软件包的帮助 [*];
使用‘apt’或‘aptitude’进行用户友好的包管理;
输入 dpkg -Dhelp 获取 dpkg 调试标志值的列表;
输入 dpkg --force-help 获取强制选项列表;
输入 dpkg-deb --help 获取有关操作 *.deb 文件的帮助;

标有 [*] 的选项会产生大量输出 - 通过“less”或“more”进行管道传输!
dpkg:处理软件包 mysql-common 时出错(--configure):
 子进程安装后安装脚本返回错误退出状态 1
设置 mysql-utilities (1.6.4-1) ...
dpkg-maintscript-helper:错误:dpkg:错误:未知选项--validate-version

输入 dpkg --help 获取有关安装和卸载软件包的帮助 [*];
使用‘apt’或‘aptitude’进行用户友好的包管理;
输入 dpkg -Dhelp 获取 dpkg 调试标志值的列表;
输入 dpkg --force-help 获取强制选项列表;
输入 dpkg-deb --help 获取有关操作 *.deb 文件的帮助;

标有 [*] 的选项会产生大量输出 - 通过“less”或“more”进行管道传输!
dpkg:处理软件包 mysql-utilities 时出错(--configure):
 子进程安装后安装脚本返回错误退出状态 1
设置 apache2 (2.4.29-1ubuntu4.13) ...
dpkg-maintscript-helper:错误:dpkg:错误:未知选项--validate-version

输入 dpkg --help 获取有关安装和卸载软件包的帮助 [*];
使用‘apt’或‘aptitude’进行用户友好的包管理;
输入 dpkg -Dhelp 获取 dpkg 调试标志值的列表;
输入 dpkg --force-help 获取强制选项列表;
输入 dpkg-deb --help 获取有关操作 *.deb 文件的帮助;

标有 [*] 的选项会产生大量输出 - 通过“less”或“more”进行管道传输!
dpkg:处理软件包 apache2 时出错(--configure):
 子进程安装后安装脚本返回错误退出状态 1
设置 git(1:2.17.1-1ubuntu0.7)...
dpkg-maintscript-helper:错误:dpkg:错误:未知选项--validate-version

输入 dpkg --help 获取有关安装和卸载软件包的帮助 [*];
使用‘apt’或‘aptitude’进行用户友好的包管理;
输入 dpkg -Dhelp 获取 dpkg 调试标志值的列表;
输入 dpkg --force-help 获取强制选项列表;
输入 dpkg-deb --help 获取有关操作 *.deb 文件的帮助;

标有 [*] 的选项会产生大量输出 - 通过“less”或“more”进行管道传输!
dpkg:处理软件包 git 时出错(--configure):
 子进程安装后安装脚本返回错误退出状态 1
处理时遇到错误:
 php-pear
 mysql 常用
 mysql 实用程序
 阿帕奇2
 git
马丁@马丁~$ 

这是我的 /var/lib/dpkg/status 的副本

  GNU nano 2.9.3 /var/lib/dpkg/status                                                            

描述:扫描仪的 API 库--实用程序
 SANE 代表“Scanner Access Now Easy”,是一款应用程序
 编程接口(API),提供对任何
 光栅图像扫描仪硬件(平板扫描仪、手持扫描仪、
 视频和静态相机、帧抓取器等)。SANE 标准是
 自由,其讨论和发展对所有人开放。
 当前源代码支持多种操作系统,
 包括 GNU/Linux、OS/2、Win32 和各种 Unices,并且可用
 根据 GNU 通用公共许可证(商业应用程序和
 但是,后端也是受欢迎的。
 该软件包包括命令行前端 scanimage、saned
 服务器和 sane-find-scanner 实用程序及其文档。
主页:http://www.sane-project.org
原创维护者:Jörg Frings-Fürst <[电子邮件保护]>

软件包:python-yaml
状态:安装成功
优先级:可选
部分:python
安装大小:468
维护者:Ubuntu 开发人员 <[电子邮件保护]>
架构:amd64
来源:pyyaml
版本:3.12-1build2
依赖:python(<< 2.8)、python(>= 2.7~)、python:any(<< 2.8)、python:any(>= 2.7.5-5~)、libc6(>= 2.14)、libyaml-0-2
描述:Python 的 YAML 解析器和发射器
 Python-yaml 是一个完整的 YAML 1.1 解析器和 Python 发射器。它可以解析
 所有示例均来自规范。解析算法非常简单,
 可以作为 YAML 解析器实现者的参考。一个简单的扩展 API
 提供。该包使用 libyaml 构建,以提高速度。

^G 获取帮助 ^O 写出 ^W 在哪里 ^K 剪切文本 ^J 对齐 ^C 当前位置 MU 撤消 MA 标记文本 M-] 到括号
^X 退出 ^R 读取文件 ^\ 替换 ^U 未剪切文本 ^T 拼写 ^_ 转至行 ME 重做 M-6 复制文本 MW 下一个位置

当我尝试删除 php-pear 时

马丁@马丁~$ sudo apt-get 删除 php-pear
正在读取软件包列表...完成
构建依赖关系树       
正在读取状态信息...完成
以下软件包已自动安装并且不再需要:
  php-cli php-xml php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-xml
使用“sudo apt autoremove”来删除它们。
下列软件包将被删除:
  php-pear
0 已升级,0 已新安装,1 已删除,0 未升级。
5 未完全安装或删除。
此操作后将释放2,117 kB的磁盘空间。
您想继续吗?[Y/n] y
(正在读取数据库...当前安装了 173197 个文件和目录。)
正在删除 php-pear (1:1.10.8+submodules+notgz-1+ubuntu16.04.1+deb.sury.org+1) ...
dpkg-maintscript-helper:错误:dpkg:错误:未知选项--validate-version

输入 dpkg --help 获取有关安装和卸载软件包的帮助 [*];
使用‘apt’或‘aptitude’进行用户友好的包管理;
输入 dpkg -Dhelp 获取 dpkg 调试标志值的列表;
输入 dpkg --force-help 获取强制选项列表;
输入 dpkg-deb --help 获取有关操作 *.deb 文件的帮助;

标有 [*] 的选项会产生大量输出 - 通过“less”或“more”进行管道传输!
dpkg: 处理软件包 php-pear 时出错(--remove):
 子进程安装的预删除脚本返回错误退出状态 1
dpkg-maintscript-helper:错误:dpkg:错误:未知选项--validate-version

输入 dpkg --help 获取有关安装和卸载软件包的帮助 [*];
使用‘apt’或‘aptitude’进行用户友好的包管理;
输入 dpkg -Dhelp 获取 dpkg 调试标志值的列表;
输入 dpkg --force-help 获取强制选项列表;
输入 dpkg-deb --help 获取有关操作 *.deb 文件的帮助;

标有 [*] 的选项会产生大量输出 - 通过“less”或“more”进行管道传输!
dpkg:清理时出错:
 子进程安装后安装脚本返回错误退出状态 1
处理时遇到错误:
 php-pear
E: 子进程 /usr/bin/dpkg 返回错误代码 (1)
马丁@马丁~$ 

编辑:

马丁@马丁~$ python -V
Python 2.7.17
马丁@马丁~$ 哪个python
/usr/bin/python
马丁@马丁~$ 

软件包:

马丁@马丁~$ dpkg——版本
Debian `dpkg' 包管理程序版本 1.17.5(amd64)。
这是免费软件;请参阅 GNU 通用公共许可证版本 2 或
稍后将了解复制条件。无任何保证。
马丁@马丁~$ 

答案1

你的dpkg版本不对,目前是 Ubuntu 18.04版本号为 1.19.0.5.您需要重新安装dpkg

尝试这个:

sudo -i
mkdir /tmp/dpkg
cd /tmp/dpkg
wget http://launchpadlibrarian.net/366329727/dpkg_1.19.0.5ubuntu2_amd64.deb
ar x dpkg*.deb data.tar.xz
tar xvf data.tar.xz ./usr/bin/dpkg
cp ./usr/bin/dpkg /usr/bin/
apt-get update
apt-get install --reinstall dpkg

无法安装软件--我可以修复丢失的 dpkg 吗?

相关内容