更新 Linux 标头后损坏的软件包错误 - 损坏计数 - 0

更新 Linux 标头后损坏的软件包错误 - 损坏计数 - 0

我的平台是Ubuntu 12.04。

我一直在阅读,这篇文章实际上遵循了链接上的流程,更新后损坏的软件包:linux-headers,错误:BrokenCount >0

更新后,我的软件包损坏了。最初我的磁盘已满,但后来我修复了这个问题,现在我有 4+ GB 的可用空间。

然后我在这里读到我应该运行以下命令:

sudo apt-get -f install 
sudo apt-get install --fix-broken,

我得到了以下结果:

(Reading database ... 897477 files and directories currently installed.)
Unpacking linux-image-3.2.0-67-generic (from .../linux-image-3.2.0-67-generic_3.2.0-67.101_amd64.deb) ...
Done.
dpkg: error processing /var/cache/apt/archives/linux-image-3.2.0-67-generic_3.2.0-67.101_amd64.deb (--unpack):
 unable to create `/lib/modules/3.2.0-67-generic/kernel/drivers/usb/gadget/g_dbgp.ko.dpkg-new' (while processing `./lib/modules/3.2.0-67-generic/kernel/drivers/usb/gadget/g_dbgp.ko'): No space left on device
No apport report written because the error message indicates a disk full error
                                                                              dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-67-generic /boot/vmlinuz-3.2.0-67-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-67-generic /boot/vmlinuz-3.2.0-67-generic
Unpacking linux-headers-3.2.0-67 (from .../linux-headers-3.2.0-67_3.2.0-67.101_all.deb) ...
dpkg: error processing /var/cache/apt/archives/linux-headers-3.2.0-67_3.2.0-67.101_all.deb (--unpack):
 error creating directory `./usr/src/linux-headers-3.2.0-67/crypto/async_tx': No space left on device
No apport report written because the error message indicates a disk full error
                                                                              dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Unpacking linux-headers-3.2.0-67-generic (from .../linux-headers-3.2.0-67-generic_3.2.0-67.101_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/linux-headers-3.2.0-67-generic_3.2.0-67.101_amd64.deb (--unpack):
 unable to create `/usr/src/linux-headers-3.2.0-67-generic/include/config/mtd/scb2/flash.h.dpkg-new' (while processing `./usr/src/linux-headers-3.2.0-67-generic/include/config/mtd/scb2/flash.h'): No space left on device
No apport report written because the error message indicates a disk full error
                                                                              dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/linux-image-3.2.0-67-generic_3.2.0-67.101_amd64.deb
 /var/cache/apt/archives/linux-headers-3.2.0-67_3.2.0-67.101_all.deb
 /var/cache/apt/archives/linux-headers-3.2.0-67-generic_3.2.0-67.101_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

然后我读了一些内容并运行了这个命令,

df -i

并得到了这些结果。

Filesystem        Inodes  IUsed     IFree IUse% Mounted on    
/dev/sda3         915712 914583      1129  100% /  
udev              253906    560    253346    1% /dev  
tmpfs             256105    502    255603    1% /run  
none              256105      3    256102    1% /run/lock  
none              256105      5    256100    1% /run/shm  
/dev/sda6        1220608  30875   1189733    3% /home  
/dev/sdb1      821888880 141598 821747282    1% /media/Seagate Backup Plus Drive  

所以我运行了这个命令,

sudo du -h /* | grep '[0-9]M'  

我也得到了一个很长的列表,确切地说是 10 页文本。
但那时我迷失了方向。我不知道哪个文件太大,哪个文件不大。有些文件大到

  • 354M /var/lib
  • 636M /var
  • 130M /var/缓存/apt
  • 260M /var/缓存

但列表中没有“垃圾”这个词,当我运行命令时,

sudo rm -r /root/.local/share/Trash/files/

它告诉我找不到文件垃圾。我想我明白我要做的是弄清楚如何获取以下行

  • /dev/sda3 915712 914583 1129 100% /

阅读一些不完全的内容,这样我才有空间修复损坏的包装,但我不知道该怎么做。我担心会开始随意删除东西。
我愿意阅读,所以如果有链接讨论这方面的问题,请指出我,我会尽我所能去消化。感谢任何人的帮助。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        14G   12G  2.1G  85% /
udev            992M  4.0K  992M   1% /dev
tmpfs           201M  1.1M  200M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none           1001M  140K 1001M   1% /run/shm
/dev/sda6        19G   14G  4.0G  78% /home
/dev/sdb1       932G  148G  784G  16% /media/Seagate Backup Plus Drive
/dev/sda7       104G  188M   99G   1% /media/cd3f76e1-724f-4b8f-b29c-cc901b071fdb
/dev/sda2        94G   84G  9.8G  90% /media/069CBC4E9CBC3A4F
$ df -h /boot
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        14G   12G  2.1G  85% /

答案1

我觉得你不会太在意这些,但还是说说看。你的根目录 ('/') 在 sda3 上,而且已经满了。12 GB 对于 Ubuntu 操作系统 + 程序 + 各种其他项目和设置来说不算多。你的 /boot 位于同一个分区中,因此你可以删除旧内核以恢复一些空间。

下面的命令从终端运行,将删除除当前内核之外的所有内容。我没有编写此脚本,而是从以下位置获取的:如何删除旧内核版本来清理启动菜单? 这可能*会减少足够的空间供您继续操作一段时间。

sudo apt-get remove --purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d')

答案2

我看到 /dev/sda3 已满 100%

SDA3 可能是您的交换分区。启动“磁盘使用情况分析器”以确定是否是这种情况。使用此程序,您可以查看 /dev/sda3 的用途:文件系统还是交换。如果是交换,那么这不是问题。

否则,请尝试清空垃圾箱。

相关内容