viernes, 9 de febrero de 2018

Administrando Paquetes

¿Como administramos los paquetes en Debian (Y sus derivados)?




El sistema APT (Advanced Packaging Tool), fue creado dentro del proyecto  Debian y se usa tanto para la instalación y la eliminación de programas en  GNU/Linux. APT fue adoptado para los paquetes .deb, tanto en Debian, como en Ubuntu y derivados

Los paquetes .deb siguen la siguiente nomenclatura:

<nombre>_<Nro.Version>-<NúmeroDeRevisión>_<arquitectura>.deb

<nombre>: Nombre del paquete

<Nro.Version> Numero de version, asignado por el desarrollador.

<Revisión>  Este numero, implica cambios en el archivo de control, los scripts de instalación o des-instalación, o en los archivos de configuración utilizados en el paquete.

<arquitectura> Indica para qué arquitectura es el paquete.

Administrando Paquetes 

Los paquetes .deb son manipulados mediante el comando dpkg 
Dicho comando, tiene dos interfaces, que facilitan mucho el manejo tanto del paquete como de sus dependencias, y las mismas son APT y APTITUDE

Dentro de un archivo .deb, vamos a encontrar el siguiente contenido:

debian-binary: Tiene el número de versión del paquete

control.tar.gz: Contiene la información de control del paquete en una serie de ficheros de texto, por ejemplo, dependencias del paquete, prioridad, mantenedor, arquitectura, conflictos, versión, md5sum,…

data.tar: Contiene los archivos que se instalarán, con sus rutas de destino.

¿Como instalamos el software?


Mediante dpkg que contiene información sobre los paquetes en /var/lib/dpkg.
Tenemos  dos archivos que son los más relevantes en este caso:
available contiene la lista de todos los paquetes disponibles e información sobre los mismos.
status contiene los atributos de los paquetes (si esta instalado o marcado para eliminarse).

También pueden ser modificados por apt-get y dselect


La sintaxis de dpkg es la siguiente:

dpkg [opciones] acción paquete
Opciones

 --configure Configura un paquete que está desempaquetado.

 -i (–install) Instala el paquete. Si se especifica la opción –recursive o -R, el paquete debe ser un directorio.

 -l (–list) Lista todos los paquetes. Si se le agrega -l [patron] lista el o los paquetes que coinciden con el patrón.

-L <paquete> Lista los archivos instalados por el paquete.
-s <paquete> Obtiene información del mismo, como el estado, versión, dependencias, etc.
-r <paquete> Des-instala el paquete.

Repositorios

Son las locaciones, desde donde se descarga el software a ser instalado.
En el caso de Debian (vale también para sus derivados) los mismos se configuran en el archivo sources.list 

La ruta de dicho archivo es la siguiente:
/etc/apt/sources.list
Por ejemplo, usando el comando cat, podemos ver su contenido. 
  
[juan@juan ~]$cat /etc/apt/sources.list
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
deb http://ftp.us.debian.org/debian squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian squeeze main contrib non-free

Una breve explicación sobre el archivo:

deb: es el repositorio con los paquetes compilados
deb-src: es el repositorio con el código fuente
Vemos que se mencionan a "squeeze", "main" y "non-free"
"Squeeze" es la versión de Debian y solo buscara paquetes y updates para dicha versión.
Los paquetes se dividen en "main" (de licencia libre), "contrib" (Los paquetes son de licencia libre, pero las dependencias no) y "non-free" que contiene paquetes no libres.

Apt-get 

apt-get, a diferencia de dpkg, funciona con el nombre del paquete, como por ejemplo:

[juan@juan ~]# apt-get install iceweasel
 
La sintaxis es

apt-get [opciones] [comando] [nombre_paquete …]
Las opciones mas frecuentes son:

 -d Descarga los archivos unicamentes
 -s No realiza ninguna acción, simula lo que hubiese ocurrido sin hacer cambios en el sistema.
 -y Responde que si(yes), a todas las preguntas que nos realiza la herramienta.

Comandos usados frecuentemente:

install Instala o actualiza uno o más paquetes

remove Remueve los paquetes seleccionados

update Sincroniza el listado de paquetes disponibles en los repositorios (configurados en el archivos sources.list)

upgrade Realiza una actualización de un paquete (si no le pasamos ningún paquete como parametro, actualiza todos los que pueden ser actualizados)

dist-upgrade Realiza una actualización de versión del sistema. (Hay que configurar el repositorio como stable en vez del nombre de la versión - ver archivo sources.list)

clean Borra los paquetes de instalación descargados (/var/cache/apt/archives)

Apt-cache 


show Muestra descripción acerca del paquete y paquetes sugeridos.
search Busca un paquete por su nombre o descripción.


Por ejemplo, podemos buscar un paquete que contenga en su nombre o descripción la palabra commander:

[juan@juan ~]# apt-cache search commander
gnome-commander - nice and fast file manager for the GNOME desktop
mc - Midnight Commander - a powerful file manager

Aptitude 

Es un otro gestor de paquetes que su uso es muy similar al de apt, la diferencia está en su interfaz en modo texto para el manejo del sistema de paquetes, y, pueden resolverse de mejor manera problemas con las dependencias y permite eliminar paquetes inutiles.

Los archivos mas importantes de aptitude son los siguientes:

/var/lib/aptitude/pkgstates: Contiene el estado de los paquetes.

Comparte el mismo archivo sources.list que apt.

La Sintaxis es la siguiente:

aptitude [opciones] [comando] [paquetes]
[juan@juan ~]# aptitude search iceweasel  (igual que apt-cache search, busca el paquete iceweasel)

[juan@juan ~]# aptitude update (Realiza un update de la base de datos de los repositorios)

[juan@juan ~]# aptitude install iceweasel (instala iceweasel, junto a sus dependencias.

Para acceder a la interfaz de texto hay que ejecutar aptitude sin ningún parámetro adicional.

Dselect
 
Presenta una pantalla para seleccionar paquetes, para su instalación, actualización o eliminación. El mismo se invoca sin parámetros y muestra un menú interactivo e intuitivo.

Alien 

Alien es un software que convierte principalmente paquetes rpm a deb y viceversa. En lo personal, desaconsejo su utilización, decantando-me por los sistemas de paquetes nativos, por lo cual no voy a profundizar en su uso. Lo menciono a modo informativo.

Para mas información, les recomiendo la wiki de debian.

Fuente: https://www.debian.org/doc/

No hay comentarios:

Publicar un comentario

Bienvenidos

Que es Lynis?

Lynis es un software que se utiliza para auditar, chequear si cumple los requerimientos de seguridad, y asegurar un sistema basado en Unix...