Hola a todos, en veces necesitamos eliminar kernels antiguos en nuestro Fedora, pero resulta tedioso hacerlo cada vez que actualizas y lo peor es que siempre son los mismos comandos, para eso existen los scripts que son lineas de código ejecutadas en bash o en dash donde se especifican los comandos y algoritmos que sirven para realizar una tarea en el sistema.
A continuación copiaré el código y vendrá brevemente explicado después del guión:
#!/bin/bash- elegimos el programa interprete de comandos en este caso bash.
echo "Bienvenido, debe ejecutar este script con permisos de Super Usuario o como root."- echo imprime con un espacio de linea el texto o variables que le indiquemos en consola.
echo- escribir "echo" solo imprime un espacio de linea o un enter por así decirlo.
version=`uname -r`- tenemos la variable "version" la cual es un string o una variable con texto en la cual almacenamos el nombre y la versión del kernel que se está usando, "uname -r" es el comando que nos devuelve esto.
echo "kernel actual: kernel-$version"- imprimimos en pantalla la version actual que el usuario tiene instalada.
versiones=`rpm -qa | grep -i kernel | grep -v devel | grep -v loop | grep -v headers | grep -v $version`- obtenemos por medio del programa rpm, los kernel que están instalados en el sistema menos el actual.
if test "$versiones" = ""; then- este if (condicional) nos dice que si no tienes kernels viejos te salgas del programa ejecutando antes lo que viene debajo.
echo "kernels antiguos: Ninguno"; echo; sleep 1- le decimos al usuario que no tiene kernels antiguos.
echo "Al no tener kernels antiguos no se realizará ninguna acción."
else- si, sí tienes kernels antiguos se ejecutará lo que sigue.
echo "kernels antiguos: $versiones"- informa al usuario los kernel que desinstalara.
echo
echo "comando ejecutado \"sudo yum remove -y $versiones\""- informa al usuario el comando que ejecuta para desinstalarlos.
echo "Se desinstalaran los kernels antiguos tenga paciencia..."; sleep 1
sudo yum remove -y $versiones- se ejecuta el comando que desinstalará los kernels antiguos.
echo
echo "Se han eliminado los kernels antiguos éxitosamente."- termina el condicional.
fi
echo; echo "Gracias por usar este script.";echo "Escrito por: Jorge Ulises Useche Cuellar"
Ahora que he terminado de explicarlo les copiaré el código del script que tiene comentado como instalarlo si pensamos hacerlo:
#INSTRUCCIONES DE INSTALACIÓN #1. Guarda el texto de este archivo en un fichero sin extensión, yo lo llamé rmoldkernels. #2. Guardalo en la dirección /usr/bin/rmoldkernels, puedes hacerlo con nano u otro editor #que te permita guardarlo con permisos de root por ejemplo: $ sudo nano /usr/bin/rmoldkernels #y pegar el código con ctrl + shift + v. #3. Dale permisos de ejecución con el comando: $ sudo chmod +x /usr/bin/rmoldkernels #4. Ahora puedes ejecutar el script escribiendo desde una consola: $ sudo rmoldkernels # ##COMIENZO DEL SCRIPT #!/bin/bash echo "Bienvenido, debe ejecutar este script con permisos de Super Usuario o como root." echo version=`uname -r` echo "kernel actual: kernel-$version" versiones=`rpm -qa | grep -i kernel | grep -v devel | grep -v loop | grep -v headers | grep -v $version` if test "$versiones" = ""; then echo "kernels antiguos: Ninguno"; echo; sleep 1 echo "Al no tener kernels antiguos no se realizará ninguna acción." else echo "kernels antiguos: $versiones" echo echo "comando ejecutado \"sudo yum remove -y $versiones\"" echo "Se desinstalaran los kernels antiguos tenga paciencia..." sleep 1 sudo yum remove -y $versiones echo echo "Se han eliminado los kernels antiguos éxitosamente." fi echo; echo "Gracias por usar este script.";echo "Escrito por: Jorge Ulises Useche Cuellar"
Buena suerte.