Ubuntu 的问题 apt-get 安装 -f
W: Some index files failed to download. They have been ignored, or old ones used instead.
E: Problem executing scripts APT::Update::Post-Invoke-Success 'test -x /usr/bin/apt-show-versions || exit 0 ; apt-show-versions -i'
E: Sub-process returned an error code
E: Write error - write (28: No space left on device)
E: IO Error saving source cache
E: The package lists or status file could not be parsed or opened.
我尝试重新挂载 tmp,但是它不起作用,有人知道如何修复它吗?
root@pipoca:/var/tmp# mount /tmp
mount: can't find /tmp in /etc/fstab
root@pipoca:/var/tmp# free -m
total used free shared buff/cache available
Mem: 3008 868 1327 13 812 1964
Swap: 263 0 263
root@pipoca:/tmp# df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.5G 0 1.5G 0% /dev
tmpfs 301M 4.5M 297M 2% /run
/dev/vda1 25G 25G 0 100% /
tmpfs 1.5G 8.0K 1.5G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.5G 0 1.5G 0% /sys/fs/cgroup
/dev/vda15 105M 3.6M 101M 4% /boot/efi
tmpfs 301M 0 301M 0% /run/user/0
root@pipoca:/# dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
dpkg-query: no packages found matching linux-*
Reading package lists... Error!
E: Write error - write (28: No space left on device)
E: IO Error saving source cache
E: The package lists or status file could not be parsed or opened.
使用
sudo apt autoremove
sudo apt autoclean
我有
E: Write error - write (28: No space left on device)
E: Write error - write (28: No space left on device)
使用
root@pipoca:/# sudo journalctl --vacuum-time=2d
Vacuuming done, freed 0B of archived journals on disk.
root@pipoca:/# journalctl --vacuum-size=500M
Vacuuming done, freed 0B of archived journals on disk.
root@pipoca:/# apt-get update
Hit:1 http://mirrors.digitalocean.com/ubuntu xenial InRelease
Hit:2 http://mirrors.digitalocean.com/ubuntu xenial-updates InRelease
Hit:3 http://mirrors.digitalocean.com/ubuntu xenial-backports InRelease
Hit:4 http://software.virtualmin.com/vm/6/gpl/apt virtualmin-xenial InRelease
Hit:5 http://software.virtualmin.com/vm/6/gpl/apt virtualmin-universal InRelease
Hit:6 http://security.ubuntu.com/ubuntu xenial-security InRelease
Hit:7 https://packages.microsoft.com/ubuntu/16.04/prod xenial InRelease
Hit:8 http://archive.ubuntu.com/ubuntu xenial InRelease
not a reference at /usr/bin/apt-show-versions line 222.
Reading package lists... Done
E: Problem executing scripts APT::Update::Post-Invoke-Success 'test -x /usr/bin/apt-show-versions || exit 0 ; apt-show-versions -i'
E: Sub-process returned an error code
答案1
你的硬盘已满。
由于df
没有显示任何其他空白空间,您需要删除一些内容。
首先从中删除不需要的数据/home
,例如,您可以将图片、视频和音乐移动到外部驱动器或删除不再需要的数据。删除文件~/.thumbnails
夹中的文件。您可以使用bleachbit
它来获得更多空间(它会尝试删除缓存文件等)。
之后,尝试:
sudo apt autoremove
sudo apt autoclean
但所有这只是一个临时解决办法,25G对于操作系统和数据来说只是很少的空间。
我看到两种可能性:
- 安装更少的程序并在驱动器上保留更少的数据。
或者
- 安装第二块硬盘
/home
。
答案2
看起来您需要删除 下任意位置的某些文件/
。您的df -h
输出显示 已满。
您可能会发现du
(磁盘使用情况)有助于查看哪些特定目录包含大量数据(可能比预期的还要多)。
常常/var/log
会~/Downloads
积累很多不必要的数据。
有时journalctl
- systemd 日志工具会意外使用大量内存。它使用的内存量可以控制:
仅保留过去两天:
sudo journalctl --vacuum-time=2d
仅保留过去 500 MB:
journalctl --vacuum-size=500M