![安装更新后计算机出现错误](https://linux22.com/image/1493374/%E5%AE%89%E8%A3%85%E6%9B%B4%E6%96%B0%E5%90%8E%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF.png)
E: Sub-process /usr/bin/dpkg returned an error code (1)
错误代码是什么意思?我该如何修复它?
我在下面运行了这些命令。
apt-get update
apt-get dist-upgrade
更新
输出df -h
Filesystem Size Used Avail Use% Mounted on
/dev/loop0 18G 17G 0 100% /
udev 739M 4.0K 739M 1% /dev
tmpfs 150M 860K 149M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 749M 0 749M 0% /run/shm
/dev/sda1 80G 46G 35G 57% /host
overflow 1.0M 1.0M 0 100% /tmp
/dev/sr0 177M 177M 0 100% /media/F.E.A.R
我尝试卸载占用空间的旧内核,但设备上仍然没有剩余空间。
apt-get remove linux-image-3.2.0-99-generic-pae
apt-get remove linux-image-3.2.0-97-generic-pae
答案1
这是什么意思
你可以将这个命令看作是更apt-get
花哨、更友好的版本dpkg
“用于安装、构建、删除和管理 Debian 软件包的工具”。
软件包通过 进行安装dpkg
,它会调用软件包所需的所有脚本。这些脚本可能以不同的方式运行,并可能返回不同的退出状态。
您收到的错误指出
E: 子进程 /usr/bin/dpkg 返回错误代码 (1)
因此至少有一个子流程因dpkg
错误而退出(错误代码(1)
)。其含义取决于包内失败的单个脚本。
你可以从以下几行中了解更多
cp .... 设备上没有剩余空间。
有写道(您有多个),当将cp
文件复制()到/sbin/
“/lib/...”时脚本会失败,通常在主分区上。
怎么修
df -h
从那时起就有了一个想法
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove
rm -rf /tmp/* # even a reboot should empty the /tmp directory
# mv or rm some big file elsewere.
请注意您的系统可能已经不稳定。最好避免任何重启,直到您修复为止。
假设您释放了足够的空间,现在您可以再试一次
sudo apt-get update # to update the file list
sudo apt-get -f install # to fix errors
# in case of few space (eventually)
sudo apt-get upgrade # to upgrade some parts of the system
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove
# Finally
sudo apt-get dist-upgrade
如果还不够的dpkg-reconfigure -a
话,还可以再使用。apt-get -f install
答案2
您的 上没有剩余空间/tmp/
。 的输出df -h
显示甚至溢出文件系统也启动了。我发现:
如果您在 Linux 文件系统上安装的“/tmp”被挂载为溢出(通常大小为 1MB),这可能是由于您没有将“/tmp”指定为其自己的分区,并且您的根文件系统已填满,因此“/tmp”被重新挂载作为后备。要修复此问题清理空间后,只需卸载后备程序,它就会重新挂载到原来的位置:
sudo umount overflow
看起来安装在 的设备上没有足够的空间/
。
我认为哈斯塔的建议很好:
尝试
apt-get clean; apt-get autoremove
;;rm -rf /tmp
将一些不必要的文件移至备份单元(如果有的话)。
您还可以检查rm
一些旧的登录信息/var/log
。
您/home
可能在同一台设备上(除非它已符号链接到/host/something
)。也许那里有一些您可以丢弃的文件。
哈斯塔在我之前就讲解了“如何修复”这个话题。我做得再好不过了。