Untuk memulakan saya akan menyebutkan sejarah bagaimana masalah itu berlaku dan kemudian bagaimana menyelesaikannya.
Pasukan saya adalah Netbook Sony Vaio m120AL yang saya ada selama lebih kurang 3 tahun dengan cakera keras 320 GB di mana mereka wujud bersama Windows 7, chakra , partition kerja saya dengan Xubuntu 12.04, partition swap, partition / home dan partition maklumat tambahan yang dengannya saya berkongsi maklumat Windows.
Atas sebab-sebab ini, partisi root saya pada kedua-dua sistem ini sangat kecil dari kebanyakan piawaian (masing-masing sekitar 6GB) tetapi mereka tidak pernah memberi saya masalah kerana ia lebih daripada cukup untuk semua pakej yang saya perlukan.
Sekarang, memasuki situasi khususnya, beberapa hari yang lalu menerapkan beberapa kemas kini di Xubuntu (di antaranya Kernel baru disertakan) Saya melihat bahawa pengurus kemas kini menunjukkan ralat yang mengatakan bahawa ia cuba memasang linux-image-3.2.0-51-generik tetapi bahawa ketergantungannya linux-headers-3.2.0-51 It tidak akan dipasang, saya menyemak ralat secara terperinci dan saya perhatikan bahawa dpkg mengadu bahawa tidak ada ruang yang tersedia.
Kesalahan mengatakan gaya seperti ini, walaupun tidak serupa kerana saya tidak menuliskannya:
tidak dapat membuat `/usr/src/linux-headers-3.2.0-43/arch/xtensa/include/asm/coprocessor.h.dpkg-new '(semasa memproses` ./usr/src/linux-headers -3.2.0 .43-XNUMX / arch / xtensa / include / asm / coprocessor.h '): Tidak ada ruang yang tersisa pada peranti
Pada beberapa peristiwa sebelumnya, perkara yang sama telah berlaku kepada saya, tetapi kerana saya telah membiarkan beberapa Kernel lama terkumpul tanpa menghapusnya, tetapi kali ini saya periksa dan saya telah menyediakan hampir 600 Mb mengikut Conky dari apa yang saya tidak faham, tetapi untuk mengesahkan sama ada itu adalah kesalahan bagaimana saya mengkonfigurasinya atau serupa saya menjalankan df -h:
Oleh itu, saya tidak salah dan itu lebih daripada cukup ruang untuk melakukan kemas kini (saya telah melakukannya dengan cara ini berkali-kali dalam tahun yang panjang sejak saya bersama Xubuntu) bagaimanapun saya melakukan apt-get clean untuk membersihkan pakej yang telah saya muat turun dan cuba lagi, tetapi dengan hasil yang sama.
Saya masih merasa pelik tetapi bagaimanapun saya cuba keluar dari / tema ikon yang selalu saya gunakan dan yang saya telah banyak mengubah suai (faenza y Tersedar) untuk mengosongkan lebih banyak ruang, dan dengan itu saya akhirnya berjaya melakukan kemas kini, meneruskan lagi untuk mengembalikannya ke /.
Walau bagaimanapun, idea tetap ada di dalam fikiran saya bahawa perkara itu harus pergi ke tempat lain tetapi saya tidak tahu yang mana. Beberapa jam kemudian ketika saya cuba memasang beberapa pakej tambahan, saya mendapat ralat di atas sekali lagi, dan sekali lagi terdapat ruang yang mencukupi, jadi saya membuat penyelidikan.
Pencarian internet membawa saya ke beberapa utas di forum ubuntu-adalah, tetapi jawapan beberapa individu selalu sama: anda tidak mempunyai cukup ruang memadam fail atau memperluaskan partisi root, tetapi saya perhatikan ada persamaan dalam pelbagai utas yang saya dapati, selalu partisi root yang mempunyai ruang kosong, tetapi ia serupa dengan milik saya (~ 600-900 Mb) dan ukuran partisi tidak pernah melebihi 10 Gb jadi saya akhirnya meyakinkan diri saya bahawa masalahnya harus lain, dan ini adalah bagaimana saya sampai ke tajuk jawatan terima kasih kepada ini halaman, masalahnya ialah partition root mempunyai 100% inode yang digunakan.
Penggunaan inode dapat dilihat dengan arahan df -i:
Dan sekarang ada penjelasannya.
Inode adalah dalam perkataan Dennis Ritchie:
Indeks, kerana struktur sistem fail yang agak tidak biasa yang menyimpan maklumat akses ke fail sebagai senarai rata pada cakera, menyisihkan semua maklumat hierarki direktori
dan oleh itu mungkin berlaku bahawa untuk sistem fail tertentu masih ada ruang kosong untuk menyimpan fail, tetapi tidak ada inode yang tersedia untuk mengindeksnya kerana terdapat banyak fail dalam sistem dan oleh itu yang baru tidak dapat dibuat.
Maksudnya ialah bilangan inode dalam partition EXT4 tidak dapat diubah (ada jenis sistem lain seperti JFX o XFS di mana ini bukan batasan kerana dinamik) ia adalah nombor tetap yang dikira semasa partisi dibuat dengan mkfs.ext4 mengikut ukurannya dengan nisbah byte per inode mengikut pilihan yang terdapat di /etc/mke2fs.conf.
Semasa memasang sistem, biasanya menggunakan pilihan lalai yang merangkumi hubungan inode = 16384, yang untuk partisi kecil mungkin terlalu besar dan tidak cukup dibuat (seperti dalam kes saya). Satu-satunya cara untuk mengubahnya adalah dengan membuat / memformat partisi dan menentukannya dengan pilihan -i.
Namun ini bukan pilihan untuk saya, kerana saya sudah menyebutkan inode berkaitan dengan jumlah fail yang ada, jadi gunakan skrip bash berikut yang terdapat di aliran tumpukan dan bahawa ia dihubungkan pada halaman yang anda nyatakan sebelumnya untuk mencari direktori mana yang terdapat dalam partition root dengan lebih banyak fail:
#!/bin/bash
# count_em - count files in all subdirectories under current directory.
echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$
chmod 700 /tmp/count_em_$$
find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n
rm -f /tmp/count_em_$$
Yang memberikan hasil berikut:
Nombor yang muncul di sebelah kiri menunjukkan jumlah fail yang ada dan jalan menunjukkan direktori yang berkaitan, satu baris di bawah muncul direktori / var / lib / dpkg / info tetapi seperti biasa saya membersihkan pakej saya di sini tidak ada hubungannya.
Walau bagaimanapun, jika saya mengenali dua masalah, yang pertama dan walaupun catpura tidak naik dari sana beberapa lagi entri termasuk ikon Tersedar, jadi saya harus memindahkannya ya atau ya, selain itu menjelaskan mengapa ketika saya melakukan, saya dapat mengemas kini pakej, kerana saya membebaskan banyak inode dari partisi root ketika saya memindahkannya, tetapi masalahnya kembali ketika saya memindahkannya.
Dan kedua, jumlah entri terbesar berikutnya dikaitkan dengan tajuk beberapa kernel lama, dan saya menyedari bahawa prosedur yang selalu saya gunakan untuk menghilangkan kernel lama tidak menghilangkan tajuk, yang biasanya saya gunakan adalah yang berikut, dalam terminal saya menulis:
dpkg - pilihan-pilihan | grep linux-gambar
yang menunjukkan kepada saya kernel yang dipasang dan kemudian saya menggunakan:
pakej sudo apt-get purge
Di mana pakej adalah nama kernel yang dimaksudkan, tetapi ini tidak menghapus tajuk yang berkaitan, jadi saya melakukan:
dpkg - pilihan-pilihan | grep linux
Kemudian saya terus membuang tajuk lama, dengan:
sudo apt-get purge linux-headers-3.2.0-41 linux-headers-3.2.0-44 linux-headers-3.2.0-45 linux-headers-3.2.0-48
Dan voilà, tetapi tentu saja ada juga masalah ikon Tersedar jadi saya memutuskan untuk memindahkannya ke ~ / .icons dan menjadikannya tersedia untuk keseluruhan sistem. Saya hanya membuat pautan simbolik di / usr / share / ikon, hasil pertama df -i Ini adalah dengan penghapusan header dan yang kedua setelah memindahkan ikon.
Dengan ini masalah dapat diselesaikan, dan saya dapat memasang / mengemas kini pakej tanpa masalah, saya harap siaran ini dapat membantu seseorang, atau berfungsi untuk rujukan pada masa depan mengenai pemasangan di partisi kecil dan menghilangkan topik yang disebarkan oleh forum kekurangan Ruang.
Hai, gunakan ubuntu tweak ( http://ubuntu-tweak.com seperti tuneup untuk windows, ia membantu anda membuang banyak sampah dan dalam proses menyahpasang kernel lama dengan selamat, namun ia meninggalkan kernel sebelumnya untuk boot, pada beberapa kesempatan kernel terakhir tidak berfungsi untuk saya dan saya berjaya untuk memasuki sistem terima kasih kerana tidak memadamkan semuanya.
Saya telah lama mengenali dia, tetapi saya selalu memilih untuk melakukannya dengan cara saya dan memahami cara kerja sesuatu, bagaimanapun, walaupun tanpa sepasang pengepala lama yang mempunyai masalah, ia akan menunjukkan perkara yang sama dalam lebih kurang tema masa jadi ikon, dan pada akhirnya seperti yang saya sebutkan itu BUKAN masalah kekurangan ruang tetapi inod yang digunakan.
Terima kasih kerana berkongsi ini. Sejauh ini saya tidak menghadapi masalah itu, kerana cakera yang saya gunakan semuanya dalam format Linux, tidak ada tingkap, kerana saya tidak mempunyai sistem itu di komputer saya.
Oleh itu, saya akan mengingatnya, sekiranya suatu hari saya menemui masalah ini.
Masalahnya bukan berpunca daripada mempunyai partisi dengan Windows (ini hanya keunikan dari kes saya) tetapi dari mempunyai partisi root kecil, kurang dari 10Gb di mana pemasang menggunakan pilihan lalai dari mke2fs (yang merupakan yang membentuk partisi) dan anda meninggalkannya dengan sebilangan kecil inod untuk ukurannya, dan seperti yang hampir biasa, semua partisi kami ada di EXT4 yang menetapkan nombor ini ketika ia dibuat dan tidak mungkin mengubahnya kemudian.
Seperti yang anda lihat, ini adalah jenis yang membuat orang jauh dari linux dan mereka akhirnya kembali ke tingkap. Bagaimana anda fikir pengguna biasa dalam situasi ini dapat menyelesaikan masalah?
anda tidak perlu membuang masa memperbaiki dan mengkonfigurasi perkara seperti ini dan membuang masa yang produktif.
Miguel de Icaza benar dengan apa yang dia katakan dan itulah sebabnya dia memutuskan untuk beralih ke Mac kerana SEMUA BEKERJA di sana, tempoh.
Itu sahaja. Di OS X semuanya berfungsi dengan baik .. Tidak ada gunanya menjelaskan pada masa ini mengapa apa yang penulis komen posting berlaku, jadi tolong, jangan beri komen ini. Ia akan berakhir dengan api.
Dalam kes saya, Debian berfungsi semuanya di PC saya dan ternyata saya menggunakan DVD sebagai repo tambahan untuk menaik taraf dari Squeeze ke Wheezy. Oleh itu, sesiapa sahaja boleh mengemas kini.
Baiklah, anda mempunyai pemikiran pengguna windows.
GNU / Linux sangat sesuai untuk anda.
berkaitan
ini menarik.
Kesalahan ini sangat kerap berlaku semasa memasang gentoo pada disk kecil, begitu banyak fail sumber kecil dan partition kehabisan inode walaupun terdapat 60% ruang kosong yang tersisa. Sekurang-kurangnya buku panduan menyelesaikannya dengan menaip mke2fs -j -T small / dev / sdaX, ia mungkin berjalan di ubuntu. Sebelum saya bermain tetapan pelik 😛
Tepat, seperti yang saya nyatakan sebelumnya, anda dapat menentukan nisbah byte inode dengan pilihan -i, tetapi ada juga pilihan yang anda sebutkan -T menggunakan salah satu mod lalai dalam fail konfigurasi yang menamakan /etc/mke2fs.conf, di dalam kes ini kecil akan menerapkan blokize = 1024, ukuran inode = 128 dan nisbah byte-inods = 4096.
Excelente!
Masalah biasa adalah yang memakan kepala anda sejak sekian lama sehingga anda menyedari dari mana asalnya.
+10 untuk penjelasan 😀
Seperti yang anda katakan, anda bersenang-senang membunuh kepala saya! Terima kasih banyak atas komennya, yang datang dari seseorang yang mengetahui seberapa banyak anda sebagai penghormatan!
Hebat !!, saya telah belajar sesuatu yang lain, dan ia telah membantu saya memulihkan 19Mb atau lebih dengan membuang header lama, dan juga memulihkan beberapa inode. Sekarang saya mempunyai lebih banyak ruang untuk dipasang. Oleh kerana saya cukup baru untuk Linux, jika anda rasa tidak apa-apa, saya mendorong anda untuk membuat catatan mengenai cara memformat untuk mendapatkan bilangan inod yang paling tinggi dan adakah ia boleh dilakukan sambil menyimpan maklumat cakera atau tidak.
Salam dan terima kasih
Seperti yang saya nyatakan dalam petunjuk pada awal entri, ini adalah masalah yang sangat jarang berlaku dan dikaitkan dengan partisi root kecil (<10GB) seperti halnya saya, dengan ukuran lain tidak mungkin berlaku. Sekarang, mengenai perubahan jumlah inode, seperti yang saya sebutkan dalam entri, tidak mungkin dilakukan tanpa memformat partisi jenis EXT4, jadi anda tidak dapat menyimpan maklumat pada disk tanpa membuat sandaran sebelumnya, untuk menukar inode nisbah bait gunakan pilihan -i dalam perintah mke2fs atau salah satu pilihan yang berkaitan dengan -T (kecil, besar, besar dll).
Hebat! Pemaparan masalah, penjelasan mengapa ia berlaku, asasnya, dan langkah penyelesaiannya! Saya menyebutnya sebagai sumbangan yang sangat baik! Terima kasih Rayonant!
Terima kasih untuk artikel itu, banyak membantu saya. Saya telah mencuba segala-galanya untuk mengatasi ralat ini dan dengan membuang tajuk lama dan pergantungan mereka dengan kemampuan, saya dapat memasang semula program dan melakukan kemas kini. Terima kasih!
Masalah yang sama berlaku kepada saya, tidak ada yang berlaku, dan ia telah membawa saya terbalik hahaha. Dalam kes saya, partition root mempunyai sedikit memori percuma, tetapi menggunakan 100% inode yang digunakan! Intinya adalah, jika anda telah lama menggunakan distribusi yang sama dan tidak membuang kernel lama dari masa ke masa, tunggakannya sangat teruk. Dalam kes saya, saya dapat menyelesaikan masalah dengan cara yang serupa dengan cara anda meletakkannya, hanya bahawa sudo apt-get remove or purge tidak berfungsi untuk saya dan kunci untuk dapat membuang fail kernel yang tidak digunakan itu adalah dengan menggunakan sudo dpkg –hapus dan –purge, dan satu demi satu saya dapat melepaskan inod. Semua yang anda pelajari. Saya harap saya mendapat entri ini lebih awal kerana ia akan menyelesaikan masalahnya lebih awal. Terima kasih kerana membuat sketsa sedikit tentang inode, saya tidak mempunyai banyak idea.
Blog yang hebat, salam!
Anda seorang groso dan walaupun membebankan ia dapat difahami dengan baik. Saya melakukan segalanya untuk surat itu tetapi apa yang tidak dapat saya lakukan adalah membuang header linux sebelumnya, ia tidak akan membiarkan saya, ini meletakkan saya
E: dpkg terganggu, anda mesti menjalankan "sudo dpkg –configure -a" secara manual untuk menyelesaikan masalah
Saya melaksanakan apa yang diceritakannya dan itu menjadikan saya
Menetapkan openshot (1.4.0-1ubuntu1) ...
Jejak balik (panggilan terakhir terakhir):
Fail "/ usr / sbin / update-python-modules", baris 478, dalam
package.install (py_installed)
Fail "/ usr / sbin / update-python-modules", baris 112, dalam pemasangan
os.symlink (nama fail, destpath)
OSError: [Errno 2] Tiada fail atau direktori seperti itu
Ralat dalam sys.excepthook:
Jejak balik (panggilan terakhir terakhir):
Fail "/usr/lib/python2.7/dist-packages/apport_python_hook.py", baris 128, di apport_excepthook
os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o640), 'w')
Kesalahan OS: [Errno 28] Tidak ada ruang yang tersisa pada peranti: '/var/crash/_usr_sbin_update-python-modules.0.crash'
Pengecualian asal adalah:
Jejak balik (panggilan terakhir terakhir):
Fail "/ usr / sbin / update-python-modules", baris 478, dalam
package.install (py_installed)
Fail "/ usr / sbin / update-python-modules", baris 112, dalam pemasangan
os.symlink (nama fail, destpath)
OSError: [Errno 2] Tiada fail atau direktori seperti itu
dpkg: ralat pemprosesan kesalahan (–configure):
utas memasang skrip pasca pemasangan mengembalikan kod keluar ralat 1
dpkg: ralat: gagal membuka `/ var / lib / dpkg / status 'untuk menulis status pangkalan data: Tidak ada ruang yang tersisa pada peranti
Persoalannya, apa yang saya pakai?
Terima kasih banyak-banyak! Catatan ini banyak membantu saya.
Ole!!!
Anda bukan sahaja menyelesaikan masalah yang sukar, tetapi saya juga belajar (dan menikmati) sepanjang perjalanan
Hai. Pertama sekali, terima kasih untuk jawatan ...
Kedua, malangnya ia tidak membantu saya. Saya datang kepadanya kerana masalah bungkusan yang rosak, yang sistemnya tidak membenarkan saya menyelesaikannya kerana kekurangan ruang, yang sebenarnya dari apa yang dijelaskan di sini adalah node i.
Oleh itu, saya cuba membersihkan kernel lama, seperti yang disarankan, tetapi sistem tidak akan membiarkan saya:
juan @ juan-P29G: ~ $ sudo apt-get purge linux-image-3.2.0-29-generic-pae
Senarai pakej membaca ... Selesai
Membuat pokok pergantungan
Membaca maklumat status ... Selesai
Anda mungkin mahu menjalankan "apt-get -f install" untuk membetulkannya:
Pakej berikut mempunyai kebergantungan yang belum dipenuhi:
tzdata-java: Bergantung: tzdata (= 2014i-0ubuntu0.12.04) tetapi 2014e-0ubuntu0.12.04 akan dipasang
E: Ketergantungan tidak dipenuhi. Cuba "pasang apt-get -f" tanpa pakej (atau tentukan penyelesaian).
Dan semasa saya mengikuti nasihat sistem:
juan @ juan-P29G: ~ $ sudo apt-get -f install
Senarai pakej membaca ... Selesai
Membuat pokok pergantungan
Membaca maklumat status ... Selesai
Membetulkan kebergantungan ... Selesai
Pakej tambahan berikut akan dipasang:
tzdata
Pakej berikut akan dikemas kini:
tzdata
1 dikemas kini, 0 akan dipasang, 0 untuk dikeluarkan, dan 23 tidak dikemas kini.
1 tidak dipasang sepenuhnya atau dikeluarkan.
0 B / 461 kB fail perlu dimuat turun.
31,7 kB akan dilepaskan selepas operasi ini.
Adakah anda mahu meneruskan [Y / n]? s
Pakej pra-konfigurasi ...
(Membaca pangkalan data ... 893468 fail atau direktori yang sedang dipasang.)
Bersedia untuk menggantikan tzdata 2014e-0ubuntu0.12.04 (menggunakan… / tzdata_2014i-0ubuntu0.12.04_all.deb)…
Membongkar penggantian tzdata ...
dpkg: memproses ralat /var/cache/apt/archives/tzdata_2014i-0ubuntu0.12.04_all.deb (–unpack):
Tidak dapat membuat sandaran symlink untuk `./usr/share/zoneinfo/posix/America/Santo_Domingo ': Tidak ada ruang yang tersisa pada peranti
Laporan "apport" tidak ditulis kerana mesej ralat menunjukkan bahawa ralat itu penuh dengan cakera
Kesalahan ditemui semasa memproses:
/var/cache/apt/archives/tzdata_2014i-0ubuntu0.12.04_all.deb
E: Sub-proses / usr / bin / dpkg kembali kod ralat (1)
Lingkaran setan ... Bagaimanapun, saya akan melihat apa yang boleh saya lakukan.
Greetings.
Halo lagi ... Saya tahu bagaimana untuk mematahkan kitaran ganas.
Saya akan membuang gambar kernel tertua dengan arahan ini:
sudo dpkg –hapus linux-image-3.2.0-29-generic-pae
Dengan itu saya memperoleh 4389 i-node, cukup untuk membaiki paket yang rosak, dan kemudian saya membuang tajuk kernel yang lebih lama seperti yang ditunjukkan dalam catatan.
Dan sekarang saya akan memulihkan lebih banyak i-node dengan membuang sebilangan kernel lama ...
Terima kasih dan salam sejahtera, Juan Carlos.
Dia tidak akan membiarkan saya menghapus tajuk
Saya telah menaip
sudo nautilus
Dan saya telah pergi ke folder / usr / src
Di sana saya telah melihat fail "header" dan saya telah menghapuskannya
Dengan itu dia telah membiarkan saya membuat pesanan autoremove
Terima kasih!! jawatan mungkin agak lama tetapi masih sangat berguna, masalah diselesaikan dengan inode
Rayonant: penjelasan teladan.
Walaupun, dalam kes saya, saya perlu memperluas partisi (dengan Gparted), siaran anda telah membantu saya memahami masalahnya. Dan setelah mengikuti kaedah anda, saya telah beralih dari 90% inode yang dihuni (setelah mengembangkan partition), menjadi hanya 28%.
Terima kasih banyak-banyak. Saya akan menggunakannya mulai sekarang untuk menghilangkan kernel lama (dan tajuk).
Terima kasih juga kepada Juan Carlos (saya mempunyai masalah yang sama).
Pelukan.
Pos yang menarik,
Dalam kes saya, saya telah menurun dari penggunaan 100% kepada 9%
root @ pi: / rumah / pi # apt-bersihkan
root @ pi: / rumah / pi # df -i
S. files Nodes-i NUsados NLibres NUso% Dipasang pada
/ dev / root 1915424 1915288 136 100% /
kemudian saya mendapati bahawa ribut ntopng menyentuh hidung saya, saya menghilangkannya dan ...
root @ pi: / rumah / pi # rm -rf / var / tmp / ntopng /
Tachán !!!
root @ pi: / # df -i
S. files Nodes-i NUsados NLibres NUso% Dipasang pada
/ dev / root 1915424 160408 1755016 9% /
Terima kasih