Mientras navegaba por Internet para encontrar artículos de Ubuntu, me encontré con este 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
El autor dijo que este es un comando de una sola línea que eliminará todas las versiones anteriores de Linux, ¡dejando solo la actual !
De hecho, estoy buscando ese comando, pero no estoy tan seguro de qué tan seguro es esto. Me gustaría saber:
- ¿Es seguro ejecutar este comando?
- ¿Cómo funciona este comando? es decir, explicación de pequeñas partes de un comando tan grande
- Si este comando tiene un propósito diferente, ¿cuál sería el comando correcto para lograr lo que el autor dice que hace?
Me siento muy confundido y frustrado cuando trato de deducir todo por mí mismo. ¿Cómo funciona este comando ya que contiene numerosas /
, |
, \
, *
, y ^
personajes que son difíciles de Google para.
¡Estoy buscando una traducción y explicación paso a paso para este comando que no pude encontrar en Internet!
apt-get autoremove
no sugiere ninguna eliminación de núcleos antiguos para mí. Si no los elimino, se acumularán hasta que mi /boot
espacio se agote y las actualizaciones fallen. ¿Tiene una referencia sobre eso que debería hacer esto?
s/^[^ ]* [^ ]* \([^ ]*\).*/\1/
lugar de simplemente s/^[^ ]* \([^ ]*\).*/\1/
. El guión no es muy robusto o elegante. Por ejemplo, ¿por qué buscar el núcleo actual antes de extraer el nombre del paquete de la salida? En cuanto a una alternativa, sudo apt-get autoremove --purge
purga la mayoría de los núcleos antiguos en alguna versión más reciente de Ubuntu como Xubuntu 15.10.