Diferencia entre revisiones de «Paquetes»
m |
|||
(No se muestran 58 ediciones intermedias de otro usuario) | |||
Línea 1: | Línea 1: | ||
+ | == Introducción a la gestión de paquetes == | ||
+ | |||
+ | Antes, muchos de los programas Linux se distribuían como código fuente que los usuarios luego transformaban en el programa o en el conjunto de programas requeridos, junto con las paginas '''man''', los archivos de configuración y todo lo demás que resultaba necesario. Hoy en día Linux usan programas o conjuntos de programas prefabricados denominados '''paquetes''', estos '''paquetes''' se envían listos para ser instalados en dicha distribución. En esta pagina le iremos a brindar conocimientos sobre herramientas de gestión de paquetes (ej:instalar, borrar, actualizar). Hay que mencionar que en este articulo nos vamos a basar mas en el uso de ''Advanced Packagin Tool'' (apt), este es usado por Debian como también por sus distribuciones que derivan de este. También para brindar un conocimiento general de esto, iremos a dar información de herramientas de gestión de otras distribuciones de Linux como Red Hat, este usa paquetes de tipo RPM, y su gestor de paquetes es '''yum'''. | ||
+ | |||
+ | Desde la perspectiva de los usuarios, la función básica de la gestión de paquetes es por medio de comandos, esto hizo que las distribuciones desarrollaran herramientas muy fácil de usar por este. Como mencionamos anteriormente nos vamos a centrar en '''.deb''' y '''.rpm''', pero también hablaremos de herramientas el cual el alumno podrá investigar mas adelante. | ||
+ | |||
== Sistema de gestión de paquetes == | == Sistema de gestión de paquetes == | ||
− | + | Un sistema de gestión de paquetes, también conocido como gestor de paquetes,es un conjunto de herramientas que sirven para la instalación, actualización, configuración y eliminación de paquetes de software. El software se distribuye en formas de paquetes, encapsulado en un solo fichero. Estos paquetes ademas de tener el software, también pueden incluir la descripción de su funcionalidad, datos sobre la versión, información sobre quien lo distribuye, suma de verificación y también alguna lista de paquetes requeridos para poder hacerlo funcionar correctamente. | |
+ | |||
+ | |||
+ | === <u>Principales Funciones de Sistemas de Gestión de Paquetes</u> === | ||
+ | |||
+ | Estos tienen la tarea de organizar todos los paquetes instalados en el sistema y se encargan de mantener su usabilidad, todo esto se hace combinando esto: | ||
+ | |||
+ | *Comprueba suma de verificación para evitar que haya diferencias entre la versión local de un paquete y la versión oficial. | ||
+ | *Comprobar legitimidad de software. | ||
+ | *Instalación, actualización y eliminación simple de paquetes. | ||
+ | *Resolución de dependencias para ciertos software, esto se verifica para que el software funcione correctamente. | ||
+ | *Búsqueda de actualizaciones para proveer la ultima versión de un paquete. | ||
+ | *Agrupamiento de los paquetes según la función que tenga, esto lo hace para evitar confusión al instalarlos o mantenerlos. | ||
== Paquetes == | == Paquetes == | ||
− | Un paquete de software es un archivo comprimido con una estructura determinada para ser usado por herramientas de gestión. | + | Un paquete de software es un archivo comprimido con una estructura determinada para ser usado por herramientas de gestión,los paquetes son el elemento básico para tratar las tareas de instalación, actualización del existente o eliminación del no utilizado. El uso de paquetes facilita añadir o quitar software al considerarlo una unidad y no tener que trabajar con los ficheros individuales. |
− | + | === Categoría de paquetes=== | |
*Base: paquetes indispensables para el funcionamiento del sistema (útiles, programas de inicio, bibliotecas de sistema). | *Base: paquetes indispensables para el funcionamiento del sistema (útiles, programas de inicio, bibliotecas de sistema). | ||
Línea 14: | Línea 32: | ||
*Gráficos: controladores e interfaces gráficas, escritorios, gestores de ventanas. | *Gráficos: controladores e interfaces gráficas, escritorios, gestores de ventanas. | ||
*Otras categorías. | *Otras categorías. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Objetivos == | == Objetivos == | ||
Línea 43: | Línea 41: | ||
== Software == | == Software == | ||
− | *'''Synaptic''': es | + | *'''Synaptic''': Es un programa informático que es una interfaz gráfica GTK+ de APT, para el sistema de gestión de paquetes de debian GNU/Linux. Generalmente se utiliza en sistemas basados en paquetes .deb pero también puede ser usado en sistemas basados en paquetes RPM.Synaptic utiliza repositorios Debian, y permite su gestión mediante un menú interactivo.Mediante un click, es posible actualizar la lista de paquetes disponibles o marcar automáticamente todas las actualizaciones de los paquetes ya instalados. Dispone de un avanzado filtro de búsqueda, es capaz de reparar las dependencias rotas de paquetes y permite deshacer y rehacer las últimas selecciones de paquetes. Normalmente se realiza una actualización de la lista de paquetes de los servidores del fichero sources.list. |
*'''Adept''': Es un gestor de paquetes gráfico desarrollado para KDE, este también funciona bien en gnome, es muy fácil de usar y al igual que Synaptic, funciona en base a repositorios de donde extrae información sobre paquetes disponibles para instalar o actualizar. | *'''Adept''': Es un gestor de paquetes gráfico desarrollado para KDE, este también funciona bien en gnome, es muy fácil de usar y al igual que Synaptic, funciona en base a repositorios de donde extrae información sobre paquetes disponibles para instalar o actualizar. | ||
− | |||
== Conceptos, comandos, archivos == | == Conceptos, comandos, archivos == | ||
+ | Existen muchos tipos de herramientas para el trabajo con los paquetes obtenidos desde los repositorios, estas herramientas varían según la distribución de Linux que estemos usando. Ahora iremos a mencionar algunas de esas herramientas, estas pueden ser usadas tanto en un entorno gráfico como en una terminal: | ||
− | + | <u>Herramientas interactivas</u> | |
− | |||
− | |||
− | |||
− | |||
− | Herramientas interactivas | ||
− | * tasksel: permiten escoger unos subconjuntos de paquetes agrupados por tipo de tareas. | + | *tasksel: permiten escoger unos subconjuntos de paquetes agrupados por tipo de tareas. |
− | * dselect: permite navegar por toda la lista de paquetes disponibles, y escoger aquellos que queramos instalar o desinstalar. | + | *dselect: permite navegar por toda la lista de paquetes disponibles, y escoger aquellos que queramos instalar o desinstalar. |
− | + | === Paquetes Debian === | |
− | + | <u>A nivel de linea de comando</u>: | |
− | + | *dpkg: comando de más bajo nivel, para gestionar directamente los paquetes DEB de software, típicamente dpkg -i paquete.deb para realizar la instalación. Pueden realizarse todo tipo de tareas, de información, instalación, borrado o cambios internos a los paquetes de software. | |
− | + | *apt (Advanced Packaging Tool): es un sistema de gestión de paquetes creado por Debian, esta herramienta es de mucha ayuda ya que facilita mucho a la hora de realizar cambios en el sistema, como instalar o eliminar programas de la maquina. Existe también un front-end a apt-get, llamado aptitude, cuya interfaz de opciones es prácticamente igual; ; como ventaja aporta una mejor gestión de dependencias de los paquetes y permite una interfaz interactiva. | |
− | + | *aptitude: Este es es una interfaz para apt. Este muestra una lista de paquetes de software y permite al usuario elegir en modo iterativo cuales paquetes desea instalar y eliminar.Este dispone de un sistema muy poderoso de búsqueda. | |
− | |||
− | |||
− | |||
− | |||
− | * apt | ||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
La herramienta apt-cache dispone de comandos que nos permiten buscar información sobre los paquetes, como por ejemplo: | La herramienta apt-cache dispone de comandos que nos permiten buscar información sobre los paquetes, como por ejemplo: | ||
Línea 88: | Línea 68: | ||
* De qué paquetes depende: apt-cache depends paquete | * De qué paquetes depende: apt-cache depends paquete | ||
− | === <u> Actualizar fuentes</u> === | + | ==== <u> Actualizar fuentes</u> ==== |
− | Para la | + | Para la actual actualización de las fuentes el comando que se usa es: |
apt-get update | apt-get update | ||
− | === <u> Instalar un Programa</u> === | + | ==== <u> Instalar un Programa</u> ==== |
Se puede instalar un paquete con el comando: | Se puede instalar un paquete con el comando: | ||
Línea 100: | Línea 80: | ||
apt-get install [nombre del paquete] | apt-get install [nombre del paquete] | ||
− | === <u> Desinstalar un programa</u> === | + | ==== <u> Desinstalar un programa</u> ==== |
Se puede desinstalar un paquete con el comando: | Se puede desinstalar un paquete con el comando: | ||
Línea 106: | Línea 86: | ||
apt-get remove [nombre del paquete] | apt-get remove [nombre del paquete] | ||
− | === <u> Borrar paquetes descargados</u> === | + | ==== <u> Borrar paquetes descargados</u> ==== |
Para borrar totalmente el repositorio local que contiene los ficheros de los paquetes descargados se usa el comando: | Para borrar totalmente el repositorio local que contiene los ficheros de los paquetes descargados se usa el comando: | ||
Línea 114: | Línea 94: | ||
Borra todo excepto el fichero de bloqueo de los directorios /var/cache/apt/archives/ y /var/cache/apt/archives/partial/. | Borra todo excepto el fichero de bloqueo de los directorios /var/cache/apt/archives/ y /var/cache/apt/archives/partial/. | ||
− | ===<u> Actualización de la distribución </u> === | + | ==== <u> Actualización de la distribución </u> ==== |
apt-get update --> Actualiza la base de datos de los programas disponibles. | apt-get update --> Actualiza la base de datos de los programas disponibles. | ||
Línea 124: | Línea 104: | ||
*apt-get source --> Descarga los paquetes fuente, este los guarda en el directorio /var/cache/apt/archives/. | *apt-get source --> Descarga los paquetes fuente, este los guarda en el directorio /var/cache/apt/archives/. | ||
− | |||
*apt-get -s install nombre_paquete --> Simula instalación. | *apt-get -s install nombre_paquete --> Simula instalación. | ||
*apt-get purge [nombre de paquete] --> Borra paquetes instalados incluyendo los archivos de configuración. | *apt-get purge [nombre de paquete] --> Borra paquetes instalados incluyendo los archivos de configuración. | ||
− | |||
*apt-get -f install --> Acaba instalaciones anteriores. | *apt-get -f install --> Acaba instalaciones anteriores. | ||
*apt-get --compile source nombre_paquete --> Se baja las fuentes del paquete, lo compila y crea un deb recompilado obtimizado para tu máquina. | *apt-get --compile source nombre_paquete --> Se baja las fuentes del paquete, lo compila y crea un deb recompilado obtimizado para tu máquina. | ||
*apt-cache show nombre_paquete --> Información del programa. | *apt-cache show nombre_paquete --> Información del programa. | ||
*apt-cache search [nombre de comando] --> Busca paquetes sobre la base de un nombre incompleto. | *apt-cache search [nombre de comando] --> Busca paquetes sobre la base de un nombre incompleto. | ||
+ | |||
+ | === Paquetes Red Hat === | ||
+ | |||
+ | *rpm: es un poderoso gestor de paquetes para extensiones '''.rpm''', el cual es usado para instalar, verificar, actualizar y borrar paquetes individuales. Este es bueno pero es debajo nivel como para gestionar facilmente todos los paquetes del sistema. | ||
+ | *yum: es una herramienta libre de gestión de paquetes para sistemas linux basados en RPM. A pesar de que es para ser usado a nivel de comandos, existen otras herramientas que le brindan interfaz gráfica. Este comando usa la información de la base de datos RPM, para ver las dependencias para que todo ande bn | ||
+ | |||
+ | ==== <u> Instalar un Programa</u> ==== | ||
+ | |||
+ | El comando para instalar es: | ||
+ | |||
+ | rpm -i [nombre de paquete] | ||
+ | yum install [nombre de paquete] | ||
+ | |||
+ | ==== <u> Borrar un Programa</u> ==== | ||
+ | |||
+ | El comando para borrar un programa es: | ||
+ | |||
+ | rpm -e [nombre de paquete] | ||
+ | yum remove [nombre de paquete] | ||
+ | |||
+ | ==== <u> Actualizar un Programa</u> ==== | ||
+ | |||
+ | El comando para actualizar es: | ||
+ | |||
+ | rpm -U | ||
+ | yum update | ||
+ | |||
+ | === Observaciones === | ||
+ | |||
+ | Hay que tener en cuenta que los comandos descritos en esta sección son estando logueado como '''root''', si estamos logueados como un usuario con privilegios, hay que agregarle '''sudo''' al principio de cada comando. | ||
== Procedimiento == | == Procedimiento == | ||
+ | Lo que haremos ahora es describir el típico flujo de información en el sistema de gestión de paquetes, desde que el usuario hace un requerimiento de instalación de software hasta que finalmente lo puede utilizar. | ||
− | + | #Usuario solicita instalación de paquetes. | |
+ | #El sistema de gestión de paquetes encuentra los paquetes necesarios. | ||
+ | #El sistema de gestión de paquetes descarga los paquetes necesarios desde el repositorio. | ||
+ | #El sistema de gestión de paquetes configura y hace recomendaciones. | ||
+ | #Usuario usa el software. | ||
− | + | === Repositorio === | |
− | + | ||
− | + | El software normalmente se pone a disposicion de los usuarios en los repositorios, con el fin de proporcionar a los usuarios de un sencillo control sobre los diferentes tipos de software que van a instalar en el sitema. El archivo que maneja los repositorios en linux es /etc/sources.list. | |
== Verificación == | == Verificación == | ||
+ | |||
+ | En esta sección del articulo lo que vamos a tratar de hacer es ver todos los paquetes instalados en la maquina, tratando de filtrar el que nos interesa. luego de esto vamos a instalar un paquete. | ||
+ | |||
+ | dpkg -l -->listara todos los paquetes instalados en la maquina | ||
+ | dpkg -s [nombre de paquete]--> verifica si el paquete esta instalado. | ||
+ | |||
+ | Luego para instalar usamos el comando: | ||
+ | |||
+ | apt-get install finger | ||
+ | |||
+ | Esto es lo que nos aparecerá: | ||
+ | |||
+ | Leyendo lista de paquetes... Hecho | ||
+ | Creando árbol de dependencias | ||
+ | Leyendo la información de estado... Hecho | ||
+ | Se instalarán los siguientes paquetes NUEVOS: | ||
+ | finger | ||
+ | 0 actualizados, 1 se instalarán, 0 para eliminar y 180 no actualizados. | ||
+ | Necesito descargar 19,6 kB de archivos. | ||
+ | Se utilizarán 81,9 kB de espacio de disco adicional después de esta operación. | ||
+ | Des:1 http://uy.archive.ubuntu.com/ubuntu/ natty/main finger amd64 0.17-14 [19,6 kB] | ||
+ | Descargados 19,6 kB en 1seg. (10,2 kB/s) | ||
+ | Seleccionando el paquete finger previamente no seleccionado. | ||
+ | (Leyendo la base de datos ... 146992 ficheros o directorios instalados actualmente.) | ||
+ | Desempaquetando finger (de .../finger_0.17-14_amd64.deb) ... | ||
+ | Procesando disparadores para man-db ... | ||
+ | Configurando finger (0.17-14) ... | ||
+ | |||
+ | Verificamos si el paquete finger quedo instaldo con el comando mostrado anteriormente. | ||
+ | |||
+ | Si queremos verificar las dependencias de este paquete usamos: | ||
+ | |||
+ | apt-cache depends grub | ||
+ | |||
+ | Depende: grub-common | ||
+ | Depende: udev | ||
+ | Depende: ucf | ||
+ | Depende: debconf | ||
+ | Depende: cdebconf | ||
+ | Depende: util-linux | ||
+ | Sugiere: grub-legacy-doc | ||
+ | Sugiere: mdadm | ||
+ | Entra en conflicto: grub-coreboot | ||
+ | Entra en conflicto: grub-efi-amd64 | ||
+ | Entra en conflicto: grub-efi-ia32 | ||
+ | Entra en conflicto: grub-ieee1275 | ||
+ | Entra en conflicto: grub-pc | ||
+ | |||
+ | Si queremos saber la informacion del programa : | ||
+ | |||
+ | apt-cache show finger | ||
+ | |||
+ | Package: finger | ||
+ | Priority: optional | ||
+ | Section: net | ||
+ | Installed-Size: 80 | ||
+ | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> | ||
+ | Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> | ||
+ | Architecture: amd64 | ||
+ | Source: bsd-finger | ||
+ | Version: 0.17-14 | ||
+ | Replaces: netstd | ||
+ | Depends: libc6 (>= 2.8) | ||
+ | Filename: pool/main/b/bsd-finger/finger_0.17-14_amd64.deb | ||
+ | Size: 19584 | ||
+ | MD5sum: 6ed13d7fdab075ee3d3c4ef780267586 | ||
+ | SHA1: 890928e9edfe41a75102c91170d5d67efb832215 | ||
+ | SHA256: b8218c4106b9fbdda321056df1472244b01e41500a9fe8ea3b760d54a3d8b935 | ||
+ | Description: user information lookup program | ||
+ | finger displays information about the system users. | ||
+ | Bugs: https://bugs.launchpad.net/ubuntu/+filebug | ||
+ | Origin: Ubuntu | ||
+ | Supported: 18m | ||
+ | Task: kubuntu-full, kubuntu-mobile-full | ||
+ | |||
+ | Luego si nos arrepentimos de haber instalado un paquete lo que debemos hacer es: | ||
+ | |||
+ | apt-get remove finger | ||
+ | |||
+ | Leyendo lista de paquetes... Hecho | ||
+ | Creando árbol de dependencias | ||
+ | Leyendo la información de estado... Hecho | ||
+ | Los siguientes paquetes se ELIMINARÁN: | ||
+ | finger | ||
+ | 0 actualizados, 0 se instalarán, 1 para eliminar y 180 no actualizados. | ||
+ | Se liberarán 81,9 kB después de esta operación. | ||
+ | ¿Desea continuar [S/n]? s | ||
+ | (Leyendo la base de datos ... 146998 ficheros o directorios instalados actualmente.) | ||
+ | Desinstalando finger ... | ||
+ | Procesando disparadores para man-db ... | ||
+ | |||
+ | === Observaciones === | ||
+ | |||
+ | En realidad este tema es un tema muy extenso el cual es imposible mostrar todas las opciones, aquí solamente damos una idea básica de la cantidad de cosas que se pueden hacer con esto, por esta razón recomendamos las paginas '''man''' de los comandos para mas información. | ||
+ | |||
== Notas adicionales== | == Notas adicionales== | ||
+ | |||
+ | * Comando alien, del paquete alien: instala paquetes con otros formatos de empaquetamiento, e.g. rpm de RedHat. OJO, puede haber dependencias y no funcionar o romper algo; conviene usar sólo si es imprescindible, y para paquetes "stand-alone", que pueden funcionar por sí solos. Como siempre, "unless you know what you are doing". | ||
+ | |||
+ | === Ficheros === | ||
+ | |||
+ | */etc/apt/sources.list--> Ubicaciones de dónde conseguir los paquetes. | ||
+ | |||
+ | */etc/apt/sources.list.d/--> Fragmentos de fichero para las ubicaciones de dónde descargar los paquetes. | ||
+ | |||
+ | */etc/apt/apt.conf--> Fichero de configuración de APT. | ||
+ | |||
+ | */etc/apt/apt.conf.d/--> Fragmentos del fichero de configuración de APT. | ||
+ | |||
+ | */etc/apt/preferences--> Ficheros de preferencias de versión. Aquí puede especificar el anclaje ("pinning"), una preferencia para conseguir ciertos paquetes a partir de una fuente diferente o de una versión diferente de una distribución. | ||
+ | |||
+ | */etc/apt/preferences.d/--> Fragmentos de fichero para las preferencias de la versión. | ||
+ | |||
+ | */var/cache/apt/archives/--> Área de almacenamiento para los ficheros de paquetes descargados. | ||
+ | |||
+ | */var/cache/apt/archives/partial/--> Área de almacenamiento para los ficheros de paquete en tránsito. | ||
+ | |||
+ | */var/lib/apt/lists/--> Área de almacenamiento para la información del estado de cada fuente de paquetes especificado en sources.list(5). | ||
+ | |||
+ | */var/lib/apt/lists/partial/--> Área de almacenamiento para la información del estado en tránsito. | ||
== Referencias == | == Referencias == | ||
− | + | Administración Avanzada de GNU/Linux | |
http://doc.ubuntu-es.org/Formatos_de_paquetes#Paquetes_Deb | http://doc.ubuntu-es.org/Formatos_de_paquetes#Paquetes_Deb | ||
+ | |||
+ | http://linuca.org/body.phtml?nIdNoticia=39 | ||
+ | |||
+ | http://es.kioskea.net/faq/274-linux-instalar-programas-gestion-de-paquetes-compilacion#i-4-2-actualizacion-de-fuentes | ||
+ | |||
+ | http://linuxhelp.blogspot.com/2005/12/concise-apt-get-dpkg-primer-for-new.html | ||
+ | |||
+ | http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/s1-rpm-using.html | ||
+ | |||
+ | [[Category:Descontinuadas]] |
Revisión actual - 17:04 14 ene 2022
Introducción a la gestión de paquetes
Antes, muchos de los programas Linux se distribuían como código fuente que los usuarios luego transformaban en el programa o en el conjunto de programas requeridos, junto con las paginas man, los archivos de configuración y todo lo demás que resultaba necesario. Hoy en día Linux usan programas o conjuntos de programas prefabricados denominados paquetes, estos paquetes se envían listos para ser instalados en dicha distribución. En esta pagina le iremos a brindar conocimientos sobre herramientas de gestión de paquetes (ej:instalar, borrar, actualizar). Hay que mencionar que en este articulo nos vamos a basar mas en el uso de Advanced Packagin Tool (apt), este es usado por Debian como también por sus distribuciones que derivan de este. También para brindar un conocimiento general de esto, iremos a dar información de herramientas de gestión de otras distribuciones de Linux como Red Hat, este usa paquetes de tipo RPM, y su gestor de paquetes es yum.
Desde la perspectiva de los usuarios, la función básica de la gestión de paquetes es por medio de comandos, esto hizo que las distribuciones desarrollaran herramientas muy fácil de usar por este. Como mencionamos anteriormente nos vamos a centrar en .deb y .rpm, pero también hablaremos de herramientas el cual el alumno podrá investigar mas adelante.
Sistema de gestión de paquetes
Un sistema de gestión de paquetes, también conocido como gestor de paquetes,es un conjunto de herramientas que sirven para la instalación, actualización, configuración y eliminación de paquetes de software. El software se distribuye en formas de paquetes, encapsulado en un solo fichero. Estos paquetes ademas de tener el software, también pueden incluir la descripción de su funcionalidad, datos sobre la versión, información sobre quien lo distribuye, suma de verificación y también alguna lista de paquetes requeridos para poder hacerlo funcionar correctamente.
Principales Funciones de Sistemas de Gestión de Paquetes
Estos tienen la tarea de organizar todos los paquetes instalados en el sistema y se encargan de mantener su usabilidad, todo esto se hace combinando esto:
- Comprueba suma de verificación para evitar que haya diferencias entre la versión local de un paquete y la versión oficial.
- Comprobar legitimidad de software.
- Instalación, actualización y eliminación simple de paquetes.
- Resolución de dependencias para ciertos software, esto se verifica para que el software funcione correctamente.
- Búsqueda de actualizaciones para proveer la ultima versión de un paquete.
- Agrupamiento de los paquetes según la función que tenga, esto lo hace para evitar confusión al instalarlos o mantenerlos.
Paquetes
Un paquete de software es un archivo comprimido con una estructura determinada para ser usado por herramientas de gestión,los paquetes son el elemento básico para tratar las tareas de instalación, actualización del existente o eliminación del no utilizado. El uso de paquetes facilita añadir o quitar software al considerarlo una unidad y no tener que trabajar con los ficheros individuales.
Categoría de paquetes
- Base: paquetes indispensables para el funcionamiento del sistema (útiles, programas de inicio, bibliotecas de sistema).
- Sistema: útiles de administración, comandos de utilidad.
- Desarrollo (developement): útiles de programación: editores, compiladores, depuradores.
- Gráficos: controladores e interfaces gráficas, escritorios, gestores de ventanas.
- Otras categorías.
Objetivos
- Instalar, reinstalar y actualizar paquetes.
- Buscar paquetes que contengan archivos o bibliotecas especificas, incluso si el paquete instalado no esta instalado.
- Obtener información de los paquetes instalados(versión,contenido, dependencias,estado de instalación), incluso si el paquete no esta instalado.
Software
- Synaptic: Es un programa informático que es una interfaz gráfica GTK+ de APT, para el sistema de gestión de paquetes de debian GNU/Linux. Generalmente se utiliza en sistemas basados en paquetes .deb pero también puede ser usado en sistemas basados en paquetes RPM.Synaptic utiliza repositorios Debian, y permite su gestión mediante un menú interactivo.Mediante un click, es posible actualizar la lista de paquetes disponibles o marcar automáticamente todas las actualizaciones de los paquetes ya instalados. Dispone de un avanzado filtro de búsqueda, es capaz de reparar las dependencias rotas de paquetes y permite deshacer y rehacer las últimas selecciones de paquetes. Normalmente se realiza una actualización de la lista de paquetes de los servidores del fichero sources.list.
- Adept: Es un gestor de paquetes gráfico desarrollado para KDE, este también funciona bien en gnome, es muy fácil de usar y al igual que Synaptic, funciona en base a repositorios de donde extrae información sobre paquetes disponibles para instalar o actualizar.
Conceptos, comandos, archivos
Existen muchos tipos de herramientas para el trabajo con los paquetes obtenidos desde los repositorios, estas herramientas varían según la distribución de Linux que estemos usando. Ahora iremos a mencionar algunas de esas herramientas, estas pueden ser usadas tanto en un entorno gráfico como en una terminal:
Herramientas interactivas
- tasksel: permiten escoger unos subconjuntos de paquetes agrupados por tipo de tareas.
- dselect: permite navegar por toda la lista de paquetes disponibles, y escoger aquellos que queramos instalar o desinstalar.
Paquetes Debian
A nivel de linea de comando:
- dpkg: comando de más bajo nivel, para gestionar directamente los paquetes DEB de software, típicamente dpkg -i paquete.deb para realizar la instalación. Pueden realizarse todo tipo de tareas, de información, instalación, borrado o cambios internos a los paquetes de software.
- apt (Advanced Packaging Tool): es un sistema de gestión de paquetes creado por Debian, esta herramienta es de mucha ayuda ya que facilita mucho a la hora de realizar cambios en el sistema, como instalar o eliminar programas de la maquina. Existe también un front-end a apt-get, llamado aptitude, cuya interfaz de opciones es prácticamente igual; ; como ventaja aporta una mejor gestión de dependencias de los paquetes y permite una interfaz interactiva.
- aptitude: Este es es una interfaz para apt. Este muestra una lista de paquetes de software y permite al usuario elegir en modo iterativo cuales paquetes desea instalar y eliminar.Este dispone de un sistema muy poderoso de búsqueda.
La herramienta apt-cache dispone de comandos que nos permiten buscar información sobre los paquetes, como por ejemplo:
- Buscar paquetes sobre la base de un nombre incompleto: apt-cache search nombre
- Mostrar la descripción del paquete: apt-cache show paquete
- De qué paquetes depende: apt-cache depends paquete
Actualizar fuentes
Para la actual actualización de las fuentes el comando que se usa es:
apt-get update
Instalar un Programa
Se puede instalar un paquete con el comando:
apt-get install [nombre del paquete]
Desinstalar un programa
Se puede desinstalar un paquete con el comando:
apt-get remove [nombre del paquete]
Borrar paquetes descargados
Para borrar totalmente el repositorio local que contiene los ficheros de los paquetes descargados se usa el comando:
apt-get clean
Borra todo excepto el fichero de bloqueo de los directorios /var/cache/apt/archives/ y /var/cache/apt/archives/partial/.
Actualización de la distribución
apt-get update --> Actualiza la base de datos de los programas disponibles. apt-get upgrade --> Actualiza todo el sistema, con las nuevas versiones de los programas. apt-get dist-upgrade --> Cambia de una versión a otra.
Otros comandos interesantes
- apt-get source --> Descarga los paquetes fuente, este los guarda en el directorio /var/cache/apt/archives/.
- apt-get -s install nombre_paquete --> Simula instalación.
- apt-get purge [nombre de paquete] --> Borra paquetes instalados incluyendo los archivos de configuración.
- apt-get -f install --> Acaba instalaciones anteriores.
- apt-get --compile source nombre_paquete --> Se baja las fuentes del paquete, lo compila y crea un deb recompilado obtimizado para tu máquina.
- apt-cache show nombre_paquete --> Información del programa.
- apt-cache search [nombre de comando] --> Busca paquetes sobre la base de un nombre incompleto.
Paquetes Red Hat
- rpm: es un poderoso gestor de paquetes para extensiones .rpm, el cual es usado para instalar, verificar, actualizar y borrar paquetes individuales. Este es bueno pero es debajo nivel como para gestionar facilmente todos los paquetes del sistema.
- yum: es una herramienta libre de gestión de paquetes para sistemas linux basados en RPM. A pesar de que es para ser usado a nivel de comandos, existen otras herramientas que le brindan interfaz gráfica. Este comando usa la información de la base de datos RPM, para ver las dependencias para que todo ande bn
Instalar un Programa
El comando para instalar es:
rpm -i [nombre de paquete] yum install [nombre de paquete]
Borrar un Programa
El comando para borrar un programa es:
rpm -e [nombre de paquete] yum remove [nombre de paquete]
Actualizar un Programa
El comando para actualizar es:
rpm -U yum update
Observaciones
Hay que tener en cuenta que los comandos descritos en esta sección son estando logueado como root, si estamos logueados como un usuario con privilegios, hay que agregarle sudo al principio de cada comando.
Procedimiento
Lo que haremos ahora es describir el típico flujo de información en el sistema de gestión de paquetes, desde que el usuario hace un requerimiento de instalación de software hasta que finalmente lo puede utilizar.
- Usuario solicita instalación de paquetes.
- El sistema de gestión de paquetes encuentra los paquetes necesarios.
- El sistema de gestión de paquetes descarga los paquetes necesarios desde el repositorio.
- El sistema de gestión de paquetes configura y hace recomendaciones.
- Usuario usa el software.
Repositorio
El software normalmente se pone a disposicion de los usuarios en los repositorios, con el fin de proporcionar a los usuarios de un sencillo control sobre los diferentes tipos de software que van a instalar en el sitema. El archivo que maneja los repositorios en linux es /etc/sources.list.
Verificación
En esta sección del articulo lo que vamos a tratar de hacer es ver todos los paquetes instalados en la maquina, tratando de filtrar el que nos interesa. luego de esto vamos a instalar un paquete.
dpkg -l -->listara todos los paquetes instalados en la maquina dpkg -s [nombre de paquete]--> verifica si el paquete esta instalado.
Luego para instalar usamos el comando:
apt-get install finger
Esto es lo que nos aparecerá:
Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Se instalarán los siguientes paquetes NUEVOS: finger 0 actualizados, 1 se instalarán, 0 para eliminar y 180 no actualizados. Necesito descargar 19,6 kB de archivos. Se utilizarán 81,9 kB de espacio de disco adicional después de esta operación. Des:1 http://uy.archive.ubuntu.com/ubuntu/ natty/main finger amd64 0.17-14 [19,6 kB] Descargados 19,6 kB en 1seg. (10,2 kB/s) Seleccionando el paquete finger previamente no seleccionado. (Leyendo la base de datos ... 146992 ficheros o directorios instalados actualmente.) Desempaquetando finger (de .../finger_0.17-14_amd64.deb) ... Procesando disparadores para man-db ... Configurando finger (0.17-14) ...
Verificamos si el paquete finger quedo instaldo con el comando mostrado anteriormente.
Si queremos verificar las dependencias de este paquete usamos:
apt-cache depends grub
Depende: grub-common Depende: udev Depende: ucf Depende: debconf Depende: cdebconf Depende: util-linux Sugiere: grub-legacy-doc Sugiere: mdadm Entra en conflicto: grub-coreboot Entra en conflicto: grub-efi-amd64 Entra en conflicto: grub-efi-ia32 Entra en conflicto: grub-ieee1275 Entra en conflicto: grub-pc
Si queremos saber la informacion del programa :
apt-cache show finger
Package: finger Priority: optional Section: net Installed-Size: 80 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> Architecture: amd64 Source: bsd-finger Version: 0.17-14 Replaces: netstd Depends: libc6 (>= 2.8) Filename: pool/main/b/bsd-finger/finger_0.17-14_amd64.deb Size: 19584 MD5sum: 6ed13d7fdab075ee3d3c4ef780267586 SHA1: 890928e9edfe41a75102c91170d5d67efb832215 SHA256: b8218c4106b9fbdda321056df1472244b01e41500a9fe8ea3b760d54a3d8b935 Description: user information lookup program finger displays information about the system users. Bugs: https://bugs.launchpad.net/ubuntu/+filebug Origin: Ubuntu Supported: 18m Task: kubuntu-full, kubuntu-mobile-full
Luego si nos arrepentimos de haber instalado un paquete lo que debemos hacer es:
apt-get remove finger
Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Los siguientes paquetes se ELIMINARÁN: finger 0 actualizados, 0 se instalarán, 1 para eliminar y 180 no actualizados. Se liberarán 81,9 kB después de esta operación. ¿Desea continuar [S/n]? s (Leyendo la base de datos ... 146998 ficheros o directorios instalados actualmente.) Desinstalando finger ... Procesando disparadores para man-db ...
Observaciones
En realidad este tema es un tema muy extenso el cual es imposible mostrar todas las opciones, aquí solamente damos una idea básica de la cantidad de cosas que se pueden hacer con esto, por esta razón recomendamos las paginas man de los comandos para mas información.
Notas adicionales
- Comando alien, del paquete alien: instala paquetes con otros formatos de empaquetamiento, e.g. rpm de RedHat. OJO, puede haber dependencias y no funcionar o romper algo; conviene usar sólo si es imprescindible, y para paquetes "stand-alone", que pueden funcionar por sí solos. Como siempre, "unless you know what you are doing".
Ficheros
- /etc/apt/sources.list--> Ubicaciones de dónde conseguir los paquetes.
- /etc/apt/sources.list.d/--> Fragmentos de fichero para las ubicaciones de dónde descargar los paquetes.
- /etc/apt/apt.conf--> Fichero de configuración de APT.
- /etc/apt/apt.conf.d/--> Fragmentos del fichero de configuración de APT.
- /etc/apt/preferences--> Ficheros de preferencias de versión. Aquí puede especificar el anclaje ("pinning"), una preferencia para conseguir ciertos paquetes a partir de una fuente diferente o de una versión diferente de una distribución.
- /etc/apt/preferences.d/--> Fragmentos de fichero para las preferencias de la versión.
- /var/cache/apt/archives/--> Área de almacenamiento para los ficheros de paquetes descargados.
- /var/cache/apt/archives/partial/--> Área de almacenamiento para los ficheros de paquete en tránsito.
- /var/lib/apt/lists/--> Área de almacenamiento para la información del estado de cada fuente de paquetes especificado en sources.list(5).
- /var/lib/apt/lists/partial/--> Área de almacenamiento para la información del estado en tránsito.
Referencias
Administración Avanzada de GNU/Linux
http://doc.ubuntu-es.org/Formatos_de_paquetes#Paquetes_Deb
http://linuca.org/body.phtml?nIdNoticia=39
http://linuxhelp.blogspot.com/2005/12/concise-apt-get-dpkg-primer-for-new.html
http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/s1-rpm-using.html