Diferencia entre revisiones de «Paquetes»
Línea 117: | Línea 117: | ||
*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 === | ||
== Procedimiento == | == Procedimiento == |
Revisión del 18:30 20 nov 2011
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 gestion de paquetes creado por Debian, esta herramienta es de mucha ayuda ya que facilita mucho a la hora de realizar cambios en el sitema, 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 iteractivo cuales paquetes desea instalar y eliminar.Este dispone de un sistema muy poderoso de busqueda.
A nivel de línea de comando:
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 actualizactualizacionacion 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
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
Notas adicionales
Alternativas: control de aplicación invocada por defecto cuando hay diferentes aplicaciones para una misma cosa, con un mismo nombre de comando.
Ej: vi para vim, vim-tiny, elvis, nano, ...
Directorio: /etc/alternatives. Comando: update-alternatives.
Reconfigurar un paquete: dpkg-reconfigure.
Control de repositorios (fuentes) de paquetes para instalar: /etc/sources.list.
%%%%%%%%%%%%%%%%%%%%
- Gráfica: aplicaciones Synaptic, Gestor de actualizaciones.
- En terminal, modo curses: aptitude. Esta es la aplicación preferida para mantener paquetes en modo texto (en terminal). Usa la biblioteca "curses", que permite crear interfaces de usuario en texto, con recuadros, similares a las interfaces gráficas.
- En terminal, para un paquete con resolución de dependencias: apt-get; admite muchas opciones, controla todo el sistema de paquetes.
- En terminal, para instalar un paquete .deb: dpkg
- Tasksel es una aplicación para instalar tareas; una tarea (task) es un conjunto de paquetes para un cierto tipo de trabajo o aplicación. OJO, examinar bien cómo funciona, puede instalar / desinstalar a su gusto.
- 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".
Referencias
Adminitración Avanzada de GNU/Linux