Durante la navigazione in Internet per gli articoli di Ubuntu, mi sono imbattuto in questo comando:
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
L'autore ha detto che si tratta di un comando a riga singola che eliminerà tutte le versioni precedenti di Linux, lasciando solo quella corrente !
In realtà sto cercando un tale comando, ma non sono così sicuro di quanto sia sicuro. Mi piacerebbe sapere
- Se è sicuro eseguire questo comando?
- Come funziona questo comando? cioè spiegazione di piccole parti di un comando così grande
- Se questo comando ha uno scopo diverso, quale sarebbe il comando corretto per ottenere ciò che l'autore afferma di fare?
Divento molto confuso e frustrato quando provo a dedurre tutto da solo. Come funziona questo comando perché contiene numerose /
, |
, \
, *
, e ^
personaggi che sono difficili da Google per.
Sto cercando una traduzione passo passo e una spiegazione per questo comando che non sono riuscito a trovare su Internet!
apt-get autoremove
non mi suggerisce alcuna rimozione di kernel più vecchi. Se non li elimino, si accumuleranno fino a quando il mio /boot
spazio è esaurito e gli aggiornamenti falliscono. Hai un riferimento per questo che dovrebbe farlo?
s/^[^ ]* [^ ]* \([^ ]*\).*/\1/
invece semplicemente s/^[^ ]* \([^ ]*\).*/\1/
. La sceneggiatura non è molto robusta o elegante. Ad esempio, perché controllare il kernel corrente prima di estrarre il nome del pacchetto dall'output? Per quanto riguarda un'alternativa, sudo apt-get autoremove --purge
elimina i kernel più vecchi in alcune ultime versioni di Ubuntu come Xubuntu 15.10.