jueves, 11 de septiembre de 2008

Comandos de mas uso con Advanced Packaging Tool (APT)


Las principales funciones y comandos del apt:

Advanced Packaging Tool (APT), es un sistema de gestión de paquetes creado por el proyecto Debian. APT simplifica en gran medida la instalación y eliminación de programas en los sistemas Linux. No existe un programa apt en sí mismo, sino que APT es una biblioteca de funciones C++ que se emplea por varios programas de linea de comandos para distribuir paquetes.
APT gestiona las dependencias de forma automática, y realiza otras operaciones sobre los paquetes del sistema para permitir la instalación de los paquetes deseados.

La ejecución de APT en una terminal requiere privilegios administrativos (es decir que el usuario debe ser root o debemos utilizar el comando sudo).

Algunos de estos comandos tienen su equivalente en Synaptic, es decir que se puede hacer con Synaptic lo mismo que hacen estos comandos; es cuestión de gusto hacerlo de una forma u otra; en los casos en que estoy seguro de que se puede hacer también con Synaptic, pongo un (s) detrás de la descripción del comando, en los casos en los que no pongo (s) no quiere decir que este seguro que no tiene su equivalente en Synaptic, quiere decir que no lo se si lo tiene.

Aquí he puesto los que considero de mas uso, pero para mas información: http://www.fentlinux.com/web/?q=node/262 , o en la terminal con: man apt-get

------------------------

apt-get update

Actualiza el listado de paquetes disponibles (s): sincronizar nuestra lista local de paquetes con los paquetes disponibles en los servidores de software que figuran en /etc/apt/sources.list , es por lo tanto el primer comando que debemos usar antes de usar cualquier otro. Hay que usar este comando por ejemplo antes de usar el comando apt-get upgrade.

apt-get check

Una vez ejecutado apt-get update, ejecutamos apt-get para comprobar que todo ha ido bien tras la utilización de apt-get update.

apt-get install lista_de_paquetes

Instala los programas deseados. (s)  Por ejemplo para instalar amule y emesene, pondríamos:
apt-get install amule emesene

apt-get --reinstall install paquete

Reinstala un programa/paquete.

apt-get upgrade

Actualiza los paquetes ya instalados, instalación menor.Upgrade se usa para instalar la versión más nueva de todos los paquetes instalados en el sistema provenientes de alguna de las fuentes listadas en /etc/apt/sources.list. Los paquetes instalados con una nueva versión disponible son descargados y actualizados, bajo ninguna circunstancia se desinstalarán paquetes, o se instalarán paquetes nuevos. Las nuevas versiones de programas instalados que no puedan ser actualizados sin cambiar el estado de instalación de otros paquetes no se instalarán, manteniéndose la versión actual. Debe realizarse un update antes para que apt-get sepa cuales son las versiones disponibles de los paquetes.

apt-get dist-upgrade

Actualización más profunda de la distribución. Permite actualizarse entre las diferentes versiones de la distribución . Equivalente a la instalación inteligente del Synaptic. dist-upgrade, además de realizar las acciones de upgrade, maneja inteligentemente los cambios de dependencias debidos a nuevas versiones de paquetes, apt-get tiene un sofisticado sistema de resolución de conflictos, si es necesario tratará de actualizar los paquetes más importantes a costa de los menos importantes. El fichero /etc/apt/sources.list contiene la lista de sitios de los cuales se descargan los ficheros.

Este comando en teoría serviría por ejemplo para pasar de Guadalinex V4 a Guadalinex V5, pero para ello primero habría que cambiar las fuentes de GV4  por las de GV5 en el fichero /etc/apt/sources.lis; pero por lo que dicen los amigos del foro Guadalinex V4: Los megapaquetes que te traen Guadalinex como que suelen dar la lata si le haces un upgrade, sobretodo con la aceleración gráfica.

El problema en Guadalinex es que al saltarse versiones de Ubuntu la actualización es muy problemática: los pasos normales en una Ubuntu serian: de Ubuntu Gutsy Gibbon a  Ubuntu Hardy Heron, pero en Guadalinex V4 serian: Ubuntu Edgy Eft  > Ubuntu Feisty Fawn > Ubuntu Gutsy Gibbon > Ubuntu Hardy Heron; GuadalinexV4 se ha saltado 2 versiones de Ubuntu....muchos cambios para que una actualización salga bien.

Por lo tanto NO es recomendable usar este comando para actualizarse de Guadalinex V4 a Guadalinex V5.

---------------------------------------------

Hasta donde yo se lo mejor es hacer copia de seguridad de todos nuestros archivos: fotos, musica, documentos, etc y empezar desde cero con cada nueva versión de Guadalinex. Si se tiene /home en una partición aparte, quizás se pueda intentar ,antes de empezar de cero, el instalar la nueva versión en /  y reactualizar los programas que se instalaron/quitaron de la versión anterior.

apt-get remove lista_de_paquetes

Desinstala una lista de  paquetes ( es decir desinstala varios paquetes a la vez) . (s) Es por tanto el comando contrario a apt-get install lista_de_paquetes

apt-get --purge remove lista_de_paquetes

Desinstala un paquete y además también elimina los archivos de configuración. ( cuidado aunque parezca uno solo, delante de reinstall hay dos guiones).  Es un comando que por lo tanto amplia la función de apt-get remove lista_de_paquetes

apt-get -f install

Para resolver dependencias.

apt-get clean

Para limpiar los paquetes descargados e instalados.

apt-get autoclean

Para limpiar los paquetes viejos que ya no se usan.

apt-cache search nombre paquete

Para buscar un paquete determinado. (s)

apt-get autoremove

Para mantener el sistema limpio de librerías que no hacen falta. Cuando instalamos un programa es posible que con él se instalen algunas dependencias. Si luego borramos ese programa en cuestión, dichas dependencias quedaran obsoletas. Para borrar paquetes que no se necesitan.

apt-get check

Para diagnosticar: Actualiza la caché de paquetes (/var/cache/apt/pkgcache.bin), crear un nuevo árbol de dependencias y busca dependencias imposibles de resolver..

apt-cache pkgnames --generate

Muestra una lista de todo lo que tenemos instalado en el sistema. La salida es rapidísima, por lo que mejor sería enviarla a un archivo para poder revisarla tranquilamente editándolo (apt-cache pkgnames --generate > archivo). Lo de --generate es opcional, pero parece que optimiza la cosa un poco. También se le puede poner un prefijo: apt-cache pkgnames lib --generate nos listará todos los paquetes de nuestro sistema que comiencen con la cadena "lib".

Desde la página http://www.debian.org/doc/user-manuals#apt-howto se puede conseguir un manual de Apt ( en varios idiomas y en varios formatos ).

 -------------------------------------------------












5 comentarios:

  1. Hola apañero.

    Sólo comentar que es aconsejable utilizar 'aptitude' en lugar de 'apt-get', ya que es un poco más "inteligente"; un vistazo a 'aptitude -h' nos muestra que sus opciones son idénticas a 'apt-get' (sólo hay que cambiarlo en los ejemplos que das).

    El caso típico, por poner un ejemplo, instalar k3b en guadalinex. Tanto 'apt-get install k3b' como 'aptitude install k3b' van a instalar muchas dependencias (de hecho las mismas), pero si luego hacemos 'apt-get remove k3b' éste no elimina esas dependencias, mientras que 'aptitude remove k3b' sí.

    Más claro, imaginemos que para instalar A hacen falta B y C; hacemos lo siguiente:

    - apt-get install C (instala C)

    - apt-get install A (se instala B como dependencia, C no porque ya está instalado)

    - apt-get remove A (sólo elimina A, no quita ni B ni C)

    El mismo ejemplo con aptitude:

    - aptitude install C (instala C)

    - aptitude install A (se instala B como dependencia, C no porque ya está instalado)

    - aptitude remove A (elimina A, pero también B porque se instaló como dependencia suya; C no porque ya estaba instalado).

    Espero que se vea claro.

    Taluego.

    ResponderEliminar
  2. Buenas:

    Y un añadido a lo que dice alfabet de porqué es mejor aptitude que apt-get es la posibilidad de hacer 'aptitude safe-upgrade' que actualiza el sistema de forma segura.

    ResponderEliminar
  3. [...] Instalar/Desinstalar paquetes .deb: es uno de los usos mas frecuentes de la terminal, para lo que se usa el comando apt-get ; en Guadalinex no usar el comando aptitude. [...]

    ResponderEliminar
  4. En Guadalinex NO usar el comando aptitude: el motivo…los metapaquetes propios de la distribución; Los metapaquetes no desinstalan, solo instalan, por eso precisamente solo da problemas con aptitude, porque aptitude tiene en cuenta los paquetes que instalo el metapaquete y quiere desinstalarlos….cosa que no debería hacer apt-get, ni Synaptic.

    ResponderEliminar
  5. Aptitude es problemático a veces, es mejor apt-get

    ResponderEliminar

A la vez que haces un comentario, por favor da una puntuación al tema: malo, normal, bueno o muy bueno.
Gracias.