Script en bash para actualizar y limpiar el sistema con apt-get

Ya tengo algún tiempo con este pequeño script el cual en pocas palabras lo que hace es actualizarme la lista de paquetes en ubuntu e instalarme opcionalmente nuevos paquetes así como eliminarme paquetes en desuso y tratar de corregirme aquellos con dependecias incumplidas.

Pueden apreciarlo aquí:

 

#!/bin/bash

# Actualiza el sistema y remueve paquetes no necesarios
update() {
    echo -e "\n********** ACTUALIZANDO EL SISTEMA **********\n"
    echo -e "1. ACTUALIZANDO LA LISTA DE PAQUETES...\n"
    sudo apt-get update 1> /dev/null
    echo -e "2. ACTUALIZANDO...\n"
    sudo apt-get upgrade
    echo -e "\n3. CHECANDO DEPENDENCIAS INCUMPLIDAS...\n"
    sudo apt-get check  1> /dev/null
    echo -e "4. CORRIGIENDO DEPENDENCIAS INCUMPLIDAS...\n"
    sudo apt-get install -fy 1> /dev/null
    echo -e "********** ELIMINADO PAQUETES BASURA **********\n"
    echo -e "5. DESINSTALANDO PAQUETES EN DESUSO...\n"
    sudo apt-get autoremove
    echo -e "\n6. BORRANDO ARCHIVOS DESCARGADOS...\n"
    sudo apt-get autoclean 1> /dev/null
    echo -e "7. BORRANDO ARCHIVOS ANTIGUOS DESCARGADOS...\n"
    sudo apt-get clean 1> /dev/null
}

sudo true
update
echo -e "********** ^^ LISTO ^^ **********"
sleep 1
clear

#mas info en [man apt-get] o [apt-get --help] (mas breve)

 

Por último les recomiendo que cualquier script que hagan, lo guarden en un directorio que este incluido en el $PATH esto es en la variable de entorno para las rutas. Para que lo puedan ejecutar desde la terminal, p.e. yo nombre a mi script "update", entonces cada vez que lo quiero ejecutar voy a la terminal y escribo:

update 

y me da la sig. salida:

user@host:~$ update
[sudo] password for user:

********** ACTUALIZANDO EL SISTEMA **********

1. ACTUALIZANDO LA LISTA DE PAQUETES...

2. ACTUALIZANDO...

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias      
Leyendo la información de estado... Hecho
0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.

3. CHECANDO DEPENDENCIAS INCUMPLIDAS...

4. CORRIGIENDO DEPENDENCIAS INCUMPLIDAS...

********** ELIMINADO PAQUETES BASURA **********

5. DESINSTALANDO PAQUETES EN DESUSO...

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias      
Leyendo la información de estado... Hecho
0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.

6. BORRANDO ARCHIVOS DESCARGADOS...

7. BORRANDO ARCHIVOS ANTIGUOS DESCARGADOS...

********** ^^ LISTO ^^ **********

Recomendación:

Ejecuta este comando hasta que en todas las secciones te aparezca

 0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.

Esto significa que ya no hay paquetes por actualizar, instalar, eliminar y actualizar, y que por lo tanto 0 paquetes se actualizaron.

 

Dudas?, comentarios?




Leave comments

authimage
  • Buen aporte aunque sin el comango dpkg --purge ese problema no se puede solucionar tienes que incluirle el nombre el paquete con dependneias rotas anteponiendole el comando dpkg --purge xx nombre del paquete

    • smoli
  • Hola me podrías decir que función tiene el comando:
    1> /dev/null
    Gracias

    • Os
  • Te manda la salida estándar hacia la variable null del sistema, osea que te anula la salida, hace que un comando que te debe despegar información, no desliegue nada en pantalla, también puedes usar 2 > /dev/null pra anular la salida de errores ó & > /dev/null para anular ambas salidas.
    Espero que sirva, saludos

    • pythonista

Copyright(c) 2017 - PythonBlogs.com
By using this website, you signify your acceptance of Terms and Conditions and Privacy Policy
All rights reserved