web-dev-qa-db-ja.com

apt-get:デバイスにスペースが残っていません(12.04)

私は見つけることができるすべてのスレッドを読んでいます-質問が他の場所で回答されたと言っているスレッドでも、私が抱えている特定の問題に対処するスレッドはありません。 Update Managerが実行され、満たされていない依存関係に関連するエラーが生成され、このメッセージで失敗するapt-get install -fの使用が提案されました。

Unpacking linux-headers-3.5.0-36 (from .../linux-headers-3.5.0-36_3.5.0-36.57~precise1_all.deb) ...
dpkg: error processing /var/cache/apt/archives/linux-headers-3.5.0-36_3.5.0-36.57~precise1_all.deb (--unpack):
 unable to create `/usr/src/linux-headers-3.5.0-36/Arch/arm/mach-iop32x/include/mach/glantank.h.dpkg-new' (while processing `./usr/src/linux-headers-3.5.0-36/Arch/arm/mach-iop32x/include/mach/glantank.h'): No space left on device

最後の5ワードデバイスにスペースが残っていないは重要ですが、dfとduは両方とも十分なスペースを示していると思います。だから、どのデバイスがより多くのスペースを必要とするのだろうか?

df -hからの出力

Filesystem 
Size Used Avail Use% 
Mounted on /dev/sda1 5.5G 4.4G 786M 86% 
/ udev 996M 4.0K 996M 1% 
/dev tmpfs 402M 880K 401M 1% 
/run none 5.0M 0 5.0M 0% /run/lock none 1004M 156K 1004M 1% 
/run/shm /dev/sdb1 30G 1.4G 27G 5% 
/home /dev/sdc1 299G 31G 268G 11% /media/HD-PCTU2 
40
Don A

これと同じ問題が発生しました。私は他の場所でiノードについて言及し、私のノードでiノードの使用状況を確認するために走りました。

  df -i 

これにより、99%でiノードの使用が示されました。そのため、ディスクには十分な空き容量がありましたが、inodeの数に制限があるため、これ以上ファイルを作成できませんでした。いくつかのディスククリーンアップが私の問題の解決策でした。

46
Kevin

ブートパーティションには古いカーネルイメージがいっぱいで、新しい[apt-get]がインストールしようとするスペースを残していないと思います。入力できます

dpkg -l linux-headers-\* linux-image-\* | grep ^ii

端末ウィンドウに。これを行うと、

ii  linux-headers-3.8.0-18                    3.8.0-18.28                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-18-generic            3.8.0-18.28                            AMD64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-3.8.0-19                    3.8.0-19.30                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-19-generic            3.8.0-19.30                            AMD64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-3.8.0-21                    3.8.0-21.32                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-21-generic            3.8.0-21.32                            AMD64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-3.8.0-22                    3.8.0-22.33                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-22-generic            3.8.0-22.33                            AMD64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-3.8.0-23                    3.8.0-23.34                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-23-generic            3.8.0-23.34                            AMD64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-3.8.0-25                    3.8.0-25.37                            all          Header files related to Linux kernel version 3.8.0
ii  linux-headers-3.8.0-25-generic            3.8.0-25.37                            AMD64        Linux kernel headers for version 3.8.0 on 64 bit x86 SMP
ii  linux-headers-generic                     3.8.0.25.43                            AMD64        Generic Linux kernel headers

私にはかなりの数があるので、最も古いもののいくつかを削除することができます

Sudo apt-get remove linux-headers-3.8.0-18

apt-getが一部のパッケージの依存関係(空きiノードの不足のためインストールできない)を逃して失敗した場合、代わりにdpkgに直接頼ることができます:

Sudo dpkg --remove linux-headers-3.8.0-18

最も古いlinux-headers-*に対して数回実行すると、余裕ができます。

36
Marc

Sudo apt-get autoremoveを使用し、古いカーネルヘッダーパッケージを削除しました。その後に行って良い。

15

私の知る限り、Linux ext *ファイルシステムのiノードの制限は約40億ですが、それ以下ではなく、膨大な量のファイルです。あなたの問題は、何かが多くのファイルを生成していることです。最初にこれを確認することを提案できます: http://blog.scoutapp.com/articles/2014/10/08/understanding-disk-inodes したがって、FSのiノードを埋めているものを見つけることができます。 aptキャッシュを消去することも提案できます。

Sudo apt-get clean

そして

Sudo apt-get autoclean
1
Stefan