Saat menjelajah internet untuk artikel Ubuntu, saya menemukan perintah ini:
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
Penulis mengatakan bahwa ini adalah perintah baris tunggal yang akan menghapus semua versi Linux sebelumnya, hanya menyisakan yang sekarang !
Saya sebenarnya mencari perintah seperti itu, tapi saya tidak begitu yakin seberapa aman ini. Saya ingin tahu:
- Apakah aman untuk menjalankan perintah ini?
- Bagaimana cara kerja perintah ini? yaitu penjelasan bagian-bagian kecil dari perintah besar tersebut
- Jika perintah ini memiliki tujuan yang berbeda, lalu apa yang akan menjadi perintah yang benar untuk mencapai apa yang penulis klaim lakukan?
Saya menjadi sangat bingung dan frustrasi ketika saya mencoba menyimpulkan semuanya sendiri. Bagaimana perintah ini bekerja untuk itu berisi banyak /
, |
, \
, *
, dan ^
karakter yang sulit untuk Google untuk.
Saya mencari terjemahan langkah demi langkah & penjelasan untuk perintah ini yang tidak dapat saya temukan di internet!
apt-get autoremove
tidak menyarankan penghapusan kernel yang lebih tua untuk saya. Jika saya tidak menghapusnya, mereka hanya akan menumpuk sampai saya /boot
kehabisan ruang dan pembaruan gagal. Apakah Anda memiliki referensi untuk itu tentang hal yang seharusnya dilakukan?
s/^[^ ]* [^ ]* \([^ ]*\).*/\1/
bukan hanya s/^[^ ]* \([^ ]*\).*/\1/
. Scriptnya tidak terlalu kuat atau elegan. Sebagai contoh mengapa memeriksa kernel saat ini sebelum mengekstraksi nama paket dari output? Sebagai alternatif, sudo apt-get autoremove --purge
hapus sebagian besar kernel lama di beberapa rilis terbaru Ubuntu seperti Xubuntu 15.10.