Ubuntu makaleleri için internette gezinirken, şu komutla karşılaştım:
sudo dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
Yazar, bunun önceki tüm Linux sürümlerini silen ve sadece geçerli olanı bırakan tek bir satır komutu olduğunu söyledi !
Aslında böyle bir komut arıyorum, ama bunun ne kadar güvenli olduğundan emin değilim. Bilmek isterdim:
- Bu komutu yerine getirmenin güvenli olup olmadığı?
- Bu komut nasıl çalışır? yani, bu kadar büyük bir komutun küçük parçalarının açıklaması
- Bu komut farklı bir amaca hizmet ederse, yazarın yapmak istediğini elde etmek için doğru komut ne olurdu?
Kendi başıma çıkarmaya çalıştığımda kafam çok karıştı ve hüsrana uğradım. İçerdiği için bu komut nasıl çalışır sayısız /
, |
, \
, *
, ve ^
Google'a zor karakter.
İnternette bulamadığım bu komut için adım adım çeviri ve açıklama adımını arıyorum !
apt-get autoremove
benim için eski çekirdeğin çıkarılmasını önermiyor. Bunları silmezsem /boot
, alanım tükenene ve güncellemeler başarısız olana kadar yığılırlar. Bunu yapması gerektiğine dair bir referansınız var mı?
s/^[^ ]* [^ ]* \([^ ]*\).*/\1/
basitçe olduğunu anlamıyorum s/^[^ ]* \([^ ]*\).*/\1/
. Senaryo çok sağlam veya zarif değil. Örneğin, paket adını çıktıdan çıkarmadan önce neden mevcut çekirdeği kontrol etmelisiniz? Alternatif olarak, sudo apt-get autoremove --purge
en eski çekirdeği, Ubuntu'nun Xubuntu 15.10 gibi son sürümlerinde temizler.