文件堆积在 /usr/src/ 中。我怎么能阻止这个?

Bog*_*ist 25 apt 12.04

在过去的几周里,我遇到了许多严重的系统问题,并且一直在摸索原因。我现在已经确定这个问题是在根分区上没有剩余的 inode

$ df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/sda6       732960 724565    8395   99% /
udev            125179    518  124661    1% /dev
tmpfs           127001    464  126537    1% /run
none            127001      4  126997    1% /run/lock
none            127001      8  126993    1% /run/shm
/dev/sda7      5234688 144639 5090049    3% /home
Run Code Online (Sandbox Code Playgroud)

原因是什么?我发现其中的 400K 正在 /usr/src 中使用

$ ls /usr/src
linux-headers-3.2.0-25-generic      linux-headers-3.2.0-33
linux-headers-3.2.0-25-generic-pae  linux-headers-3.2.0-33-generic
linux-headers-3.2.0-26              linux-headers-3.2.0-33-generic-pae
linux-headers-3.2.0-26-generic      linux-headers-3.2.0-35
linux-headers-3.2.0-26-generic-pae  linux-headers-3.2.0-35-generic
linux-headers-3.2.0-27              linux-headers-3.2.0-35-generic-pae
linux-headers-3.2.0-27-generic      linux-headers-3.2.0-36
linux-headers-3.2.0-27-generic-pae  linux-headers-3.2.0-36-generic
linux-headers-3.2.0-29              linux-headers-3.2.0-36-generic-pae
linux-headers-3.2.0-29-generic      linux-headers-3.2.0-39
linux-headers-3.2.0-29-generic-pae  linux-headers-3.2.0-39-generic
linux-headers-3.2.0-30              linux-headers-3.2.0-39-generic-pae
linux-headers-3.2.0-30-generic      linux-headers-3.2.0-40
linux-headers-3.2.0-30-generic-pae  linux-headers-3.2.0-40-generic
linux-headers-3.2.0-31              linux-headers-3.2.0-40-generic-pae
linux-headers-3.2.0-31-generic      linux-headers-3.2.0-41
linux-headers-3.2.0-31-generic-pae  linux-headers-3.2.0-41-generic
linux-headers-3.2.0-32              linux-headers-3.2.0-41-generic-pae
linux-headers-3.2.0-32-generic      linux-headers-3.2.0-43
linux-headers-3.2.0-32-generic-pae
Run Code Online (Sandbox Code Playgroud)

当然不是所有这些都是真正需要的吗?我试过 apt-get autoremove 但它让它们全部成为。我不想手动删除它们,但这会使我的机器瘫痪。除了 inode 问题之外,它们还占用了已满 (>80%) 的 11G 系统分区的近 2G。

如何安全地删除不需要的标题?

Kri*_*ian 26

这应该有效:

sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)

您可以在AptGet How-to 中阅读更多内容。


Grz*_*Żur 20

您可以使用以下命令搜索拥有这些文件的包

dpkg -S /usr/src/*
Run Code Online (Sandbox Code Playgroud)

检查您当前的内核版本

uname --kernel-release
Run Code Online (Sandbox Code Playgroud)

并删除所有当前未使用但仍在安装的旧内核 ( linux-image-*) 和头文件包 ( linux-headers-*) 。

您还可以将这些软件包标记为自动安装,它们应该会被自动删除。

  • 以及如何将这些软件包标记为自动安装? (5认同)