Temizlik / önyükleme bölümünü temizlemenin en güvenli yolu nedir?

256

/boot bölümü için 200 MB atanmış. Çekirdeği güncelleştirmeye çalıştığımda, temel olarak /boot dolduğunu belirten bir hata iletisi alıyorum.

/boot 'yi temizlemek ve eski çekirdekleri silmek / yedeklemek için ne yapabilirim?

    
sordu koba101 14.09.2013 21:41

7 cevap

311

Komut satırı yöntemi:

İlk önce çekirdek sürümünüzü kontrol edin, böylece kullanımda bulunan çekirdek görüntüsünü silmeyecek ve aşağıdakileri yapmayacaksınız:

uname -r

Şimdi bu komutu yüklü çekirdeklerin listesi için çalıştırın:

dpkg --list 'linux-image*' | grep ^ii

ve bunu yapmak istemediğiniz çekirdeklere ihtiyacınız varsa / bunları siliniz:

sudo apt-get remove linux-image-VERSION

Kaldırmak istediğiniz çekirdeğin sürümü ile VERSION değiştirin.

Eski çekirdekleri temizlemeyi bitirdiğinizde, artık ihtiyacınız olmayan paketleri kaldırmak için bunu çalıştırabilirsiniz:

sudo apt-get autoremove

Son olarak, bu grubun çekirdek listesini güncellemek için bunu çalıştırabilirsiniz:

sudo update-grub
    
verilen cevap PeppeDAlterio 14.09.2013 22:34
251

Not: Bu yalnızca% 100 tam / önyükleme nedeniyle temizlemek için apt kullanamıyorsanız

apt-get, / boot'iniz% 100 olduğu için çalışmıyorsa, önce / boot'u temizlemeniz gerekir. Bu kısmen kısmi bir yüklemede bir çekirdek yükseltmesi yakaladı, yani apt tamamen dondu ve bu komutun başarısız olmasına rağmen apt-get -f install çalıştırmanızı söyleyecek.

Çekirdek resimlerinin listesini alın ve olmadan neler yapabileceğinizi belirleyin. Bu komut, şu anda çalışan bir sudo dpkg --list 'linux-image*'|awk '{ if (=="ii") print }'|grep -v 'uname -r' dışında yüklü çekirdekleri gösterecektir. Listedeki en yeni iki sürümü not alın. Burada listelenmediği için endişelenmenize gerek yok. Bunu uname -r ile kontrol edebilirsiniz.

Aklınızda tutmanızı sağlamak için brace genişletme kullanarak sizin için önemi olmayan çekirdeğe ait tüm dosyaları / boot'u silmek için bir komut oluşturun. Mevcut ve iki yeni çekirdek görüntüsünü hariç tutmayı unutmayın. Örnek: sudo rm -rf /boot/*-3.2.0-{23,45,49,51,52,53,54,55}-* . Sözdizimi {80..84} olan bir aralık da kullanabilirsiniz.

Kısmi bir yükleme hakkında huysuz kalmanın ne olduğunu temizlemek için sudo apt-get -f install .

"Dahili Hata: Resim bulunamadı (/boot/vmlinuz-3.2.0-56-generic)" gibi bir satırı içeren bir hata ile karşılaşırsanız, sudo apt-get purge linux-image-3.2.0-56-generic komutunu çalıştırın (uygun sürümünüzle birlikte) ).

Son olarak, elle önyükleme temizlemesiyle yetim kalan eski çekirdek resim paketlerini temizlemek için sudo apt-get autoremove .

Öneri, tam / önyükleme bölümünü bulmanızı beklerken yedeklemiş olabilecek yükseltmelere dikkat çekmek için sudo apt-get update ve sudo apt-get upgrade komutlarını çalıştırın.

Öneri2, İşte 'yi gözden geçirin ve Katılımsız Yükseltme :: Kaldır-Kullanılmayan-Bağımlılıkları true olarak / etc / olarak ayarlamayı düşünün. apt / apt.conf.d / 50unattended-yükseltmeleri. Bu, kullanılmayan çekirdekleri temizlediğinizden emin olmak için her güvenlik güncellemesinden sonra otomatik çalıştırmanın eşdeğeri olacaktır, ancak gelecekte bu sorundan korunmadığını düşündüğü diğer şeyleri de kaldıracaktır.

    
verilen cevap flickerfly 07.03.2014 17:54
43

Bu konuda İşte 'de dokümantasyon var

Özetle: Kullan

sudo apt-get autoremove --purge
# and/or:
sudo purge-old-kernels

purge-old-kernels aracı sudo apt install byobu yoluyla yüklenebilir. İşte onun adam sayfasından açıklaması:

  

Bu program eski çekirdek ve üstbilgi paketlerini kaldıracak   sistem, boş alan. Şu anda asla kaldırmaz   çalışan çekirdek. Varsayılan olarak, en az 2 çekirdeği koruyacaktır,   ancak kullanıcı --keep parametresini kullanarak bu değeri geçersiz kılabilir.

Kopyala-yapıştır çözümünü istiyorsanız ReSearchIT Eng aşağıdakileri önerdi:

sudo apt install -y byobu
sudo purge-old-kernels -y --keep 1
sudo apt-get -y autoremove --purge
    
verilen cevap peq 09.08.2016 11:12
6

Küçük bölümü terk etmenin ve /boot 'i köke taşımanın çok daha kolay olduğunu buldum. Bu ayrıca gelecekte herhangi bir alan sorununu da önler.

Öncelikle verilerinizi önyükleme bölümünden köke taşıyın ( sudo -s olarak çalıştırın):

cp -a /boot /boot2
umount /boot
rmdir /boot
mv /boot2 /boot

/boot girdisini /etc/fstab dizininde kaldırın (veya yorumlayın):

vim /etc/fstab

Grubunu güncelleyin ve her şeyin doğru olduğundan emin olun:

update-grub

apt artık sorunsuz bir şekilde güncellenebilmelidir.

Bu, kullanılmayan bir 200mb bölümden (sorun olduğuna karar verirseniz başka bir şey için kullanabilirsiniz) ayrılır.

    
verilen cevap laktak 14.04.2017 09:43
3

Eski Çekirdekleri Kaldırma (boş alanı aç / önyükleme) bkz .: İşte

sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print }' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')")

Çalıştırın

sudo apt-get update
    
verilen cevap Amos Folarin 14.08.2017 16:09
2

sudo apt-get autoremove

Bu, son 2 çekirdeğin tümünü temizler. % Co_de%% 100, /boot ise son çekirdek yükseltmesi başarısız olduğunda Ubuntu 16.04 LTS üzerinde test edildi. Çekirdek autoremove yinelemeli, bu yüzden birkaç çekirdek varsa, her seferinde bir tane kaldırılacaklar. Yani sabırlı ol.

    
verilen cevap DeepSpace101 03.10.2017 18:39
0

Neden bir araçla yapabileceğiniz zaman el ile yapıyorsunuz? 30 saniye içinde tekrar ihtiyacın olacağını biliyorsun, çünkü bu günlerde yeni bir kernal güncellemesi yapmaları 30 saniye sürüyor = P

Bu aracı kullanmanızı öneririz. bootnukem

git clone https://github.com/erichs/bootnukem.git
cd bootnukem
sudo ./install.sh

Sonra

sudo bootnukem --dry-run

Güvenli görünüyor onayladıktan sonra --dry-run öğesini kaldırın

    
verilen cevap Jonathan 04.05.2017 19:28

Etiketlerdeki diğer soruları oku