Ubuntu16.04更新和下载东西报错
查询系统当前内核
查询系统现有内核文件
由上可知,当前使用的4.13.0-26内核,系统内还有4.10.0-42内核。
清除多余内核文件
如上,报错!
共有三个报错:
- 子进程 旧的 pre-removal 脚本 返回错误状态 1
- 子进程 新的 pre-removal 脚本 返回错误状态 1
- 子进程 已安装 post-installation 脚本 返回错误状态 1
解决方法:
“子进程 旧的 pre-removal 脚本 返回错误状态 1”问题:
打开了status文档,寻找linux 内核对应的package,只找到了一个linux-base的package,删掉了对应描述。
事实上,打开的文件有几万行,实在不好找一个字符串,然后自己对Linux命令行不是特别熟悉。
我是用下面的方法找的:
输入sudo vi /var/lib/dpkg/status
但是并没有显示行号,
输入冒号set number再回车,可显示行号:
输入斜杠,再输入要查找的字符串再回车即可跳到要查找的字符串的位置。
然后就可以在对应的文件找到在哪一行了。
删除这一部分。
(备份至此:
Package: linux-base
Status: install ok installed
Priority: optional
Section: kernel
Installed-Size: 22
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Multi-Arch: foreign
Version: 4.0ubuntu1
Description: Linux image base package
This package contains files and support scripts for all Linux
images.
Original-Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
)
运行以下命令,继续删除内核:
依据提示,运行
还是会报错!会报错!报错!错!
No module named 'ConfigParser',报错的原因是在Python3中,ConfigParser被重新命名为configparser。
而我使用到的package 不支持pyhton3,没有更新。之前因为学习需要,我将系统默认的Python2改为指向Python3,导致了这一问题。
运行以下指令,设置Python2和Python3作为alteratives
以后可以随时使用以下指令来更换Python2和Python3