Manejo de paquetes,conociendo APT

En este post trataré de abreviar algunos tips de esta gran herramienta para gestionar paquetes en GNU/Linux.

APT:

Advanced Packaging Tool (Herramienta Avanzada de Empaquetado), abreviado APT, es un procedimiento de gestión de paquetes creado por el concepción Debian. APT simplifica en gran medida la instalación y eliminación de programas en los sistemas GNU/Linux.
No existe un programa apt en sí mismo, destino que APT es una biblioteca de funciones C++ que se emplea por varios programas de línea de comandos para asignar paquetes. En especial, apt-get y apt-cache.
Existen también programas que proporcionan un frontispicio para APT, generalmente basados en apt-get, como aptitude con una interfaz de texto ncurses, Synaptic con una interfaz gráfica GTK+, o Adept con una interfaz gráfica Qt. Existe un repositorio central con más de ~25.000 paquetes apt utilizados por apt-get y programas derivados para desencajar e apostar aplicaciones directamente desde Internet, conocida como una de las mejores cualidades de Debian.
APT fue rápidamente utilizado para funcionar con paquetes .deb, en los sistemas Debian y distribuciones derivadas, pero desde entonces ha sido modificado para trabajar con paquetes RPM, con la herramienta apt-rpm, y para funcionar en otros sistemas operativos, como Mac OS X (Fink) y OpenSolaris (distribución Nexenta OS).

Instalando paquetes

Instalar paquetes .deb local (en nuestro disco duro)

invocaremos a dpkg:

dijo:# dpkg -i nombre-de-paquete.deb

Si en cambio tenemos varios paquetes .deb en un directorio:

dijo:# dpkg -i *.deb

El asterisco indica que se instalen todos los .deb dentro de ese directorio

Los paquetes traen archivos de configuración, normalmente con extensión .conf, que se ubican habitualmente bajo /etc/. Al reconfigurar/reinstalar/actualizar un paquete, si los archivos .conf han sido modificados no se reinstalarán. Para obligar a que se sobreescriban haremos:

dijo:# dpkg -i -force-confnew

Atención, dpkg no instala las dependencias, tendremos que hacerlo manualmente.

La interfaz gráfica para apostar paquetes de manera local es GDebi
una vez instalada solo debemos llamarlo con el comando:

dijo:gdebi-gtk

El mejor procedimiento para apostar un paquete con sus dependencias es Aptitude. Tiene en cuenta todas las dependencias (depende, sugiere, recomienda…) y las recuerda al desinstalar.

También podemos utilizar apt-get: es más rápido, pero sólo tiene en cuenta los depende:

dijo:# apt-get install

Para reparar enlaces rotos usaremos la posibilidad -f, que impide que queden dependencias sin cumplir (repetiremos hasta que deje de ceder errores):

dijo:# apt-get -f install

Eliminando paquetes

si ya no necesitás utilizar palpable paquete, podés eliminarlo de su procedimiento utilizando apt. para cristalizar esta tarea sólo escribe: apt-get remove paquete. por ejemplo:

dijo: # apt-get remove gnome-panel
dijo:Reading Package Lists… Done
Building Dependency Tree… Done
The following packages will be REMOVED:
gnome-applets gnome-panel gnome-panel-data gnome-session
0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.
Need to get 0B of archives. After unpacking 14.6MB will be freed.
Do you want to continue? [Y/n]

como se puede apreciar en el ejemplo anterior, apt se hace falta de eliminar los paquetes dependientes del paquete eliminado. no hay manera de eliminar un paquete utilizando apt sin eliminar los paquetes que éste necesitaba.

ejecutando apt-get como en el ejemplo causará que los paquetes sean eliminados, pero sus archivos de configuración, si existían, permanecerán intactos en el sistema. para una eliminación completa del paquete, ejecuta:

dijo: # apt-get –purge remove gnome-panel
dijo:Reading Package Lists… Done
Building Dependency Tree… Done
The following packages will be REMOVED:
gnome-applets* gnome-panel* gnome-panel-data* gnome-session*
0 packages upgraded, 0 newly installed, 4 to remove and 1 not upgraded.
Need to get 0B of archives. After unpacking 14.6MB will be freed.
Do you want to continue? [Y/n]

observa el «*» después de los nombres. esto indica que los archivos de configuración de cada paquete serán eliminados también.

Se puede utilizar un emblema con la posibilidad de «remove» para trocar el significado de un paquete en especial. en el acontecimiento de la eliminación, si agrega un «+» después del nombre del paquete, el paquete será instalado en vez de eliminarlo.

dijo: # apt-get –purge remove gnome-panel nautilus+
dijo:Reading Package Lists… Done
Building Dependency Tree… Done
The following extra packages will be installed:
bonobo libmedusa0 libnautilus0 nautilus
The following packages will be REMOVED:
gnome-applets* gnome-panel* gnome-panel-data* gnome-session*
The following NEW packages will be installed:
bonobo libmedusa0 libnautilus0 nautilus
0 packages upgraded, 4 newly installed, 4 to remove and 1 not upgraded.
Need to get 8329kB of archives. After unpacking 2594kB will be used.
Do you want to continue? [Y/n]

observa que apt-get enlista los paquetes que serán instalados aparte de los seleccionados (esto es, aquellos que su instalación es necesaria para el funcionamiento de aquellos que son seleccionados), aquellos que serán eliminados, y aquellos que serán instalados (incluyendo los paquetes adicionales otra vez).

Eliminando archivos de paquete no utilizados: apt-get clean y autoclean.

cuando apt instala un paquete, descarga los archivos necesarios de los servidores enlistados en /etc/apt/sources, estos a su vez son guardados en un depósito local (/var/cache/apt/archives/), y de ahí se procede con la instalación

con el tiempo el depósito puede crecer y llenar mucho espacio en disco. afortunadamente, apt provee de herramientas para manejar su depósito local: apt-get, clean y autoclean.

apt-get clean elimina todo excepto los archivos «lock» de /var/cache/apt/archives/ y /var/cache/apt/archives/partial/. así, si necesita reinstalar un paquete apt, lo descargará de nueva cuenta.

apt-get autoclean elimina sólo los archivos que no pueden entidad descargados de nuevo.

el siguiente ejemplo muestra como funciona la autolimpieza de apt-get:

dijo:# ls /var/cache/apt/archives/logrotate* /var/cache/apt/archives/gpm*
dijo:logrotate_3.5.9-7_i386.deb
logrotate_3.5.9-8_i386.deb
gpm_1.19.6-11_i386.deb

en /var/cache/apt/archives hay dos archivos para el paquete logrotatey indiviso para gpm.

dijo: # apt-show-versions -p logrotate
dijo: logrotate/stable uptodate 3.5.9-8
dijo: # apt-show-versions -p gpm
dijo:gpm/stable upgradeable from 1.19.6-11 to 1.19.6-12

apt-show-versions muestra que logrotate_3.5.9-8_i386.deb provee la transposición actualizada de of logrotate, así pues logrotate_3.5.9-7_i386.deb es innecesario. también gpm_1.19.6-11_i386.deb no es necesario debido a que una transposición mas actual puede entidad descargada.

dijo: # apt-get autoclean
dijo:Reading Package Lists… Done
Building Dependency Tree… Done
Del gpm 1.19.6-11 [145kB]
Del logrotate 3.5.9-7 [26.5kB]

finalmente, apt-get autoclean elimina los archivos viejos. consulte cómo actualizar paquetes de versiónes específicas de debian

Fuentes de Información

El contenido del post es de mi autoría, y/o, es un recopilación de distintas fuentes.

Deja un comentario

Tu dirección de correo electrónico no será publicada.