Todos conocemos synaptic, una herramienta grafica que nos permite instalar aplicacion o actualizarlas de manera muy sencilla. Pero tambien es cierto que todos hemos hecho uso de apt-get al menos una vez y el proposito de este post sera el de aprender un poco mas sobre la herramienta apt.
APT significa Advanced Packaging Tool y es usado por todas las distribuciones basadas en Debian. Y es una herramienta que esta orientada a ser usada con conexion internet aunque tambien puede funcionar sin conexion.
El uso basico que casi todos les hemos dado a apt es el de actualizar la lista de paquetes y posteriormente instalar un paquete. Entonces podemos decir que las tareas que realiza APT son las siguientes:
- Buscar los paquetes en Internet o localmente
- Solucionar las dependencias (a veces para que un paquete funcione necesita que haya otros paquetes instalados previamente: se dice que ‘depende de’)
- Descargar de Internet (cuando sea necesario) los paquetes y sus dependencias
- Instalar y configurar en el orden correcto los paquetes y sus dependencias
APT obtiene la lista de paquete desde los repositorios. Los repositorios son algo muy mencionado tambien y basicamente son un conjunto de direcciones de internet donde estan los listados de los paquetes como los propios paquetes. Es tambien importante aclarar que APT debe ser usado en modo superusuario o root. Por ejemplo estos serian los comandos para las tareas mas usadas, en una consola escribimos:
sudo apt-get update
con eso actualizamos los repositorios
sudo apt-get install paquete
con eso instalamos el paquete y APT se encargara automaticamente de las dependencias y el orden de instalacion como ya habia mencionado mas arriba. Ahora veamos otros comandos que normalemente no son muy conocidos:
sudo apt-get -d paquete
con eso se baja el paquete y todas sus dependencias pero no se instala, es util cuando queremos instalar los paquetes en otra pc.
sudo apt-get –reinstall install paquete
con eso podemos actualizar a una version mas nueva o solucionar algun problema cuando ocurre algun error con ese paquete.
sudo apt-get install paquete1 paquete2- paquete 3
con eso instalamos paquete 1 y paquete y al colocar el signo “-” delante de paquete2 le decimos que ese debe ser desinstalado
sudo apt-get remove paquete
desintala paquete y todas sus dependencias
sudo apt-get –purge remove paquete
esta opcion es preferible, al menos por mi :) ya que ademas de desintalar borra todos los archivos de configuracion. Existen unos cuantos comandos que a veces dan algo de miedo pero que pueden llegar a ser muy utiles, pero yo solo recomendaria que los usen si se consideran usuarios avanzados porque puede llegar a ocasionar inestabilidad en el sistema. Son los siguientes:
sudo apt-get upgrade
esa orden actualizara todos los paquetes a su version mas nueva, obviamente antes es preferible haber actualizado los repositorios con un sudo apt-get update
sudo apt-get dist-upgrade
esto actualizara la distribucion de linux que esten usando a su version mas nueva. Ahora, una vez que instalamos un paquete este se queda en la cache (/var/cache/apt/archives) pero podemos ahorrar espacio en disco si los borramos, para ello existen 2 comandos….ha pero ojo que si los borramos y luego necesitamos instalarlos de nuevo APT tendra que bajarlos de nuevo. Bueno estos son los comandos:
sudo apt-get autoclean
Eso eliminara los paquetes de los que ya exista una nueva version
sudo apt-get clean
eso borrara todos los paquetes de la cache :) Ahora veamos un poco de como usar las opciones de consulta que normalmente todo el mundo realiza con synaptic. Para ello haremos uso de apt-cache:
sudo apt-cache search palabra
busca todos los paquetes que tengan “palabra” en el nombre o en las descripciones y nos muestra un listado de ellos.
sudo apt-cache show paquete
Nos mostrara informacion sobre el paquete.
sudo apt-cache depends paquete
Nos mostrara la lista de paquetes de los cuales depende paquete. Creo que toda esta info puede ser, para algunos, algo muy bueno ya que podrian empezar a usar mas la consola y a algunos nos gusta mucho eso :)