Saya mengalami kesalahan berikut saat memutakhirkan server Ubuntu 12.04 saya. Sekarang apt-get
tidak dapat menginstal atau menghapus paket apa pun.
Bongkar linux-headers-3.13.0-62 (dari ... / linux-headers-3.13.0-62_3.13.0-62.102 ~ precision1_all.deb) ... dpkg: pemrosesan kesalahan /var/cache/apt/archives/linux-headers-3.13.0-62_3.13.0-62.102 ~precise1_all.deb (--unpack): tidak dapat membuat `/usr/src/linux-headers-3.13.0-62/arch/arm/include/asm/ptrace.h.dpkg-new ' (saat memproses `./usr/src/linux-headers-3.13.0-62/arch/arm/include/asm/ptrace.h '): Tidak ada ruang tersisa di perangkat Tidak ada laporan tertulis yang ditulis karena pesan kesalahan menunjukkan disk kesalahan penuh dpkg-deb: error: paste subprocess terbunuh oleh sinyal (Broken pipe) Galat ditemukan saat memproses: /var/cache/apt/archives/linux-headers-3.13.0-62_3.13.0-62.102~precise1_all.deb E: Sub-proses / usr / bin / dpkg mengembalikan kode kesalahan (1)
Meskipun saya tidak benar-benar kehabisan ruang disk,
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 4.7G 1.8G 69% /
Bagaimanapun inode saya penuh,
# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 458752 455214 3538 100% /
Saya memiliki lebih dari sepuluh kernel lama tetapi saya tidak dapat menghapusnya karena saya apt-get
sendiri lumpuh. Jadi saya tidak dapat mengikuti pos ini yang melaporkan masalah serupa.
Satu-satunya opsi tampaknya menghapus beberapa kernel lama secara manual. Apakah akan menimbulkan masalah?
Apakah ada jalan keluar yang lebih baik? Dapatkah saya menggunakan ruang yang disediakan untuk root untuk saat ini dan menghapus kernel yang lebih lama?
apt
dpkg
disk-usage
inode
souravc
sumber
sumber
/usr/src
untuk menyingkirkan situasi. Untungnya semuanya berjalan dengan baik danapt
mulai bekerja lagi. Tetapi saya akan meminta Anda untuk mengambil kembali sebelum melakukan hal seperti itu pada mesin produksi. Saya melakukannya pada mesin virtual yang memiliki cadangan lengkap.Jawaban:
Saya tahu posting ini agak lama, tetapi saya menemukan jawaban di sini untuk siapa saja yang mungkin menemukan posting ini: https://help.ubuntu.com/community/RemoveOldKernels
Jika tautan rusak, berikut cuplikan yang relevan:
Menghapus kernel tua dengan aman
Untuk pengguna sistem LVM, sistem terenkripsi atau sistem penyimpanan terbatas, masalah yang paling sering adalah bahwa partisi / boot cukup penuh. Manajer paket tidak dapat menginstal pemutakhiran yang tertunda karena kurangnya ruang. Selain itu, apt-get tidak dapat menghapus paket karena ketergantungan yang rusak.
Masalah ini dapat diperbaiki dengan cepat dan mudah dari shell. Cukup identifikasi satu atau dua kernel lama untuk dihapus secara manual, yang akan memberikan cukup ruang kepada manajer paket untuk menginstal pembaruan yang antri.
Saya mengikuti ini dengan:
sumber
Saya menemukan sekarang jalan keluar dari situasi dan menghapus beberapa kernel yang lebih tua dari
/usr/src
untuk menyingkirkan situasi. Untungnya semuanya berjalan dengan baik dan mulai bekerja lagi.Sangat disarankan untuk mengambil kembali sebelum mengeluarkan kernel yang lebih tua pada mesin produksi.
sumber
apt-get autoremove
dan menginstal beberapa dependensiapt-get -f install
memperbaiki masalah saya/boot
tetapi tidak menggunakandkpg
sehingga masih ada*-header
file di/usr/src