meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| linux:comandos:gestion_paquetes [032013/03/ 21:41] – creado lc | linux:comandos:gestion_paquetes [182023/01/ 13:36] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | ===== Herramientas de manejo de paquetes ===== | ||
| + | Dado que los paquetes de software están estandarizados, | ||
| + | Las herramientas de Debian para el manejo de paquetes están de algún modo organizadas en capas, yendo desde herramientas de bajo nivel como Dpkg quien directamente maneja paquetes, pasando por herramientas de nivel medio como Apt que automáticamente obtiene los paquetes y sus dependencias, | ||
| + | |||
| + | Usuarios experimentados de Debian tienden a utilizar distintas herramientas en diferentes momentos, dependiendo de lo que traten de hacer. Por ejemplo, si tienes un paquete guardado en tu disco que descargaste de un sitio web, lo más simple sería solamente utilizar Dpkg para instalarlo directamente. O si estás manejando un sistema desde la línea de comandos y quieres instalar paquetes desde un servidor Debian o un CD, Apt es probablemente la mejor herramienta a utilizar. O si quieres una interface que te permita buscar dentro de categorías de software y seleccionar los elementos que requieras, una variedad de opciones como Synaptic, Dselect o Aptitude pueden ser lo mejor. | ||
| + | |||
| + | Personalmente me doy cuenta que casi siempre termino utilizando Apt, más Dpkg cuando quiero manejar paquetes directamente. Esta es mi preferencia: | ||
| + | |||
| + | < | ||
| + | Los equipos Linux son sistemas multiusuario reales y cuando el software es instalado es normalmente accesible para todos los usuarios. No hay una forma estandarizada para permitir a usuarios individuales instalar paquetes solo para su uso personal. Todo el software instalado está centralizado. Los usuarios normales, por lo tanto, no pueden instalar o remover paquetes, porque eso podría provocar un riesgo de seguridad así como una molestia a los demás usuarios si una pieza de software con la que cuentan de pronto cambia o desaparece por completo. | ||
| + | Es posible establecer un sistema llamado ' | ||
| + | |||
| + | ==== Dpkg ==== | ||
| + | Dpkg es la base del sistema de manejo de paquetes de Debian, y permite la manipulación directa de los paquetes. Si tienes un paquete local en tu disco llamado ' | ||
| + | Existen dos formas en las que Dpkg se puede referir a un paquete, dependiendo de las circunstancias: | ||
| + | < | ||
| + | Eliminar (desinstalar) el paquete de programa enlistado. ESto solamente elimina los binarios (el programa en sí) y algunos scripts de arranque, pero no elimina los archivos de configuración. Reinstalarlo en una posterior ocasión utilizará los archivos existentes de configuración, | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | Instalar un paquete desde el archivo Deb local en el disco: si descargas un paquete .deb directamente de Internet, puede ser instalado directamente de este modo. | ||
| + | < | ||
| + | Enlista la información de la versión y el estado del paquete actualmente instalado. | ||
| + | < | ||
| + | Enlista todos los archivos relacionados con el paquete actualmente instalado: si acabas de instalar algo, y no sabes a dónde fue, usa esto para localizarlo. | ||
| + | < | ||
| + | Encuentra el paquete que contiene el archivo llamado ' | ||
| + | |||
| + | |||
| + | ==== Apt ==== | ||
| + | El HOWTO del Apt en www.debian.org/ | ||
| + | < | ||
| + | |||
| + | === Comandos === | ||
| + | < | ||
| + | Esto recupera la lista actual de paquetes de todos los servidores en tu sources.list. Si no haces esto de vez en cuando tu lista local de paquetes disponibles puede quedar obsoleta. Haz esto ocasionalmente antes de hacer un dist-upgrade o buscar un paquete nuevo. La lista de paquetes es larga: hacer un update puede resultar en varios MB de datos recuperados de Internet. | ||
| + | < | ||
| + | Esto realizará una búsqueda por palabra clave dentro de la lista de paquetes disponibles, | ||
| + | < | ||
| + | Una vez que haz encontrado un paquete que parece interesante utilizando ' | ||
| + | < | ||
| + | Esto obtendrá la última versión de un paquete específico y lo instalará, junto con los otros paquetes de los que depende para poder trabajar. Si el paquete solicitado ya se encuentra instalado, esto lo actualizará a la última versión disponible. | ||
| + | < | ||
| + | Si previamente instalaste un programa y decides que no lo requieres más, puedes eliminarlo utilizando este comando. Debido a que algunos paquetes de software pueden depender de otros, eliminar un porgrama puede afectar a otros. Ejecutar apt-get remove por lo tanto verifica primero para ver si algún otro software necesita el programa para funcionar, y lo desinstala también. Este es solo un ejemplo de la manera en que las herramientas de manejo de paquetes de Debian han sido diseñadas para tratar de matnener tu computadora en un estado adecuado, sin software inservible o medio instalado. Es posible hacer que un sistema Debian falle, pero generalmente tienes que intentar hacerlo. Es difícil que lo hagas por equivocación. | ||
| + | < | ||
| + | A lo largo del tiempo, muchos de los paquetes de software en tu computadora se volverán desactualizados conforme nuevas versiones sean liberadas para añadir funcionalidades o corregir defectos. Podrías manualmente ejecutar ' | ||
| + | < | ||
| + | Algunas veces tendrás un paquete de software instalado, y una nueva versión vendrá que tiene muchas nuevas funcionalidades y por lo tanto depende de algún otro programa para correr. Por ejemplo, puedes tener instalado un visualizador de películas que soporta un sinfín de formatos de película. Cuando salgan nuevos formatos, los módulos para esos formatos se podrán añadir en paquetes separados, así que la última versión del visualizador de películas depende de un nuevo paquete que no tienes instalado aún en tu sistema. Si solamente haces un ' | ||
| + | < | ||
| + | Cuando pides a Apt que instale un paquete de software, descarga el paquete y lo almacena en una cache de tu disco antes de realizar la instalación. Si después de eso eliminas el paquete, pero te arrepientes y lo tratas de reinstalar, Apt no requiere de volverlo a obtener de la Internet porque el paquete se encuentra en la la cache local. Esto es grandioso para ahorrar ancho de banda, pero después de un rato puede utilizar espacio en tu disco, así que es buena idea borrar periódicamente paquetes viejos de la caché. Ejecutar ' | ||
| + | < | ||
| + | Esto es casi lo mismo que ' | ||
| + | |||
| + | ==== Synaptic ==== | ||
| + | Synaptic es una adición relativamente reciente al universo Debian, y su intención es proveer una manera amigable de buscar en listas de paquetes disponibles e instalarlos. Si no lo tienes ya instalado en tu sistema, abre una terminal y cambiate al usuario root, y teclea < | ||
| + | |||
| + | Por ejemplo, para actualizar la lista de paquetes de software disponibles utilizando Apt teclearías ' | ||
| + | |||
| + | De forma similar si seleccionas un paquete que ya está seleccionado en tu sistema, puedes seleccionar el botón ' | ||
| + | |||
| + | ==== Aptitude y Dselect ==== | ||
| + | No entraré en mucho detalle acerca de Aptitude y Dselect tampoco, ya que solamente son distintas herramientas para hacer un trabajo parecido a Synaptic. Algo que puede ser una ventaja si estás manejando una computadora remota o solamente prefieres usar la lína de comandos es que ambas herramientas se ejecutan en una consola, así que no tienes que ejecutar X para poder utilizarlos. Como Synaptic permiten buscar en una lista de paquetes, marcar paquetes para la instalación, | ||
| + | |||
| + | Dselect, en particular, puede provocar fuertes respuestas cuando es mencionado a los usuarios de Debian: nadie parece ser ambivalente acerca de el, o se saben todos los atajos del teclado y lo adoran, o le echaron una ojeada y no pudieron salir más pronto de él, juraron no volver a ejecutarlo nunca más. Sospecho que el uso de Dselect va en disminución excepto dentro de los más duros de los que proponen, ya que alternativas como Aptitude y ahora Synaptic han provisto tan buenas alternativas. | ||
| + | |||
| + | ==== Adaptando tus fuentes de software ==== | ||
| + | Para poder instalar todo este software tu computadora necesta que le digas dónde lo puede encontrar. Cuando Debian es instalado configura un conjunto de fuentes de software por defecto como punto de partida, pero tu puedes decidir que quieres adaptarlo para obtener el software desde otro distribuidor o de un servidor más cercano que mejore el rendimiento. | ||
| + | |||
| + | === / | ||
| + | Tu computadora guarda una lista de posibles fuentes de software en un archivo llamado '/ | ||
| + | Una entrada típica para un servidor de software basado en Internet se vería más o menos así: | ||
| + | < | ||
| + | deb http:// | ||
| + | deb http:// | ||
| + | deb-src http:// | ||
| + | deb-src ftp:// | ||
| + | </ | ||
| + | Apt puede inteligentemente manejar múltiples fuentes, para que puedas agregar líneas extras a este archivo para tener acceso a más software. Si ve que el mismo paquete está disponible de múltiples fuentes, Apt solamente tomará la fuente que contiene la versión más alta y la instalará. | ||
| + | Synaptic provee una muy bonita manera de manejar las entradas en tu sources.list sin editar el archivo directamente: | ||
| + | |||
| + | ==== www.apt-get.org ==== | ||
| + | ¿Así que cómo encuentras servidores de software para agregar a tu sources.list? | ||
| + | Nota que los paquetes de Debian de terceros pueden no ser de la misma calidad que los paquetes oficiales. Si descargas un paquete de una fuente dudosa en Internet, puedes no tener idea de lo que realmente viene en el paquete: puede ser de muy alta calidad y cuidadosamente mantenido, o puede estar lleno de defectos y nunca actualizado. Si sabes lo que estás haciendo las fuentes de terceros pueden ser una ventaja, pero siempre guarda precaución cuando utilices fuentes distintas de las oficiales. | ||
| + | |||
| + | |||
| + | ==== Establecer prioridades entre repositorios para " | ||
| + | Normalmente no se suelen mezclar los paquetes de las distintas ramas de Debian (Stable, Unstable, Testing, Experimental). Pero hay ocasiones en que pese a que estemos en una rama relativamente actualizada como " | ||
| + | |||
| + | Lo más sencillo es editar el archivo "/ | ||
| + | < | ||
| + | [...] | ||
| + | deb http:// | ||
| + | deb http:// | ||
| + | [...] | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | Ahora hacemos un " | ||
| + | |||
| + | Esto funciona pero no es correcto. Porque si ahora quisieramos actualizar algún paquete suelto de nuestra distribución " | ||
| + | |||
| + | Para evitar estos problemas podemos establecer lo que se conoce como Prioridades entre Ramas; estamos en " | ||
| + | Conseguir esto es tan sencillo como crear el archivo "/ | ||
| + | < | ||
| + | Package: * | ||
| + | Pin: release testing | ||
| + | Pin-Priority: | ||
| + | |||
| + | Package: * | ||
| + | Pin: release unstable | ||
| + | Pin-Priority: | ||
| + | </ | ||
| + | |||
| + | |||
| + | Con esto los paquetes de " | ||
| + | Si queremos instalar un paquete que está en ambas ramas pero nos interesa la de " | ||
| + | |||
| + | < | ||