Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Cursos gratis / Manual Aprendiendo a aprender Linux - Administración de programas (I)

Manual Aprendiendo a aprender Linux - Administración de programas (I)

 ***** (11 opiniones)
GNU Free Documentation License Curso gratis de Vladimir Támara, Jaime Irving Dávila, Pablo Chamorro e Igor Támara - 14 de Febrero de 2006
Temas Relacionados: Linux
30. Administración de programas (I)

Indicadores de Logros

  • Sabe donde buscar software para Linux que pueda solucionar necesidades de la institución.

  • Puede instalar paquetes deb y programas distribuidos como fuentes.

  • Puede configurar rutas de directorios donde el sistema busca bibliotecas.

Lecturas: Administración de programas

Otra labor del administrador es buscar, instalar, actualizar y configurar los programas que requiera algún grupo de usuarios (es decir los programas disponibles normalmente en /usr/bin /usr/local/bin y /opt). Eventualmente puede promover el desarrollo de software para la institución.

Ejecución de programas y bibliotecas compartidas

El formato binario que soportan las distribuciones actuales de Linux es ELF [1] , el cual permite cargar bibliotecas compartidas [2] durante la ejecución ---pueden verse datos del formato de un ejecutable ELF con el programa readelf. En este contexto biblioteca compartida se refiere a un conjunto de servicios que uno o más programas puede emplear y que están agrupados en un archivo ---para ver las bibliotecas compartidas que un programa requiere puede emplear el programa ldd seguido de la ruta del programa (e.g ldd /bin/cat) y para ver los servicios que ofrece una biblioteca puede emplear objdump.

Comando que permite conocer las bibliotecas compartidas que requiere un programa

Comando que permite conocer los servicios que ofrece una biblioteca compartida.

Para ejecutar un programa, el kernel lo transmite del dispositivo de almacenamiento a memoria RAM (después de que el intérprete de comandos lo ha ubicado empleando la variable PATH y ha decidido que no es un script ver Lectura Scripts básicos para bash).

una vez en RAM identifica el tipo de ejecutable y de ser un ELF emplea como intérprete /lib/ld-linux.so.

El programa /lib/ld-linux.so es el encadenador dinámico, que encuentra las bibliotecas compartidas requeridas por el ejecutable, prepara el programa para ejecución y lo ejecuta [3] . Para localizar bibliotecas compartidas /lib/ld-linux.so busca en orden:

  1. Los directorios especificados en la variable de ambiente LD_LIBRARY_PATH que deben separarse unos de otros con el caracter ':'

  2. En el archivo /etc/ld.so.cache

  3. en los directorios /usr/lib y /lib.

Variable de ambiente que especifica directorios donde se buscan bibliotecas compartidas.

El archivo /etc/ld.so.cache es generado por el administrador con el programa ldconfig. Este programa genera /etc/ld.so.cache a partir de las bibliotecas disponibles en /lib y /usr/lib y en las rutas especificadas en /etc/ld.so.conf. Por esto si se instalan nuevas bibliotecas compartidas en rutas estándar es indispensable ejecutar ldconfig ---la gran mayoría de programas de instalación lo harán automáticamente--- y si se instalan en rutas no estándar asegurarse de que la ruta esté en /etc/ld.so.conf antes de ejecutar ldconfig.

Archivo en donde se especifca en que directorios deben buscarse bibliotecas compartidas.

Una vez se ejecute el programa, este podría leer algunos archivos de configuración (usualmente de /etc/) y variables de entorno. También podría cargar datos que requiera para operar (e.g mensajes para el locale apropiado, sonidos o imagenes usualmente del directorio /usr/share).

Compilación e instalación de programas a partir de fuentes

Aunque en los repositorios oficialesAlgunos programas de libre redistribución son liberados al público junto con el código fuente escrito en algún lenguaje de programación (tipicamente C o C++). Antes de usarlos debe compilarlos e instalarlos siguiendo las instrucciones que acompañan el código fuente; y claro antes debe descomprimirlo y/o desempaquetarlo.

El código fuente podría estar comprimido con diversos programas, dos muy comunes son: gzip - extensión .gz, bzip2 - extensión .bz2. Ambos permiten descomprimir con la opción -d seguida del nombre del fichero comprimido. Además de comprimidas, las fuentes podrían estar archivadas con el programa tar (extensión .tar), para desarchivar ficheros creados por este programa se emplea tar xvf archivo (ver Administración de archivos, directorios y enlaces).

Aplicación que permite comprimir y descomprimir archivos en formato gz.

Aplicación que permite comprimir y descomprimir archivos en formato bz2.

Comando que permite archivar y desarchivar un conjunto de archivos dentro de un archivo de extensión tar.

Aunque en general debe consultar las instrucciones para lograr la instalación y configuración, varios programas requieren la siguiente secuencia de comandos para compilar (secuencia establecida por autoconf):

./configure
  make
  make install
  

Comando comunmente utilizado para configurar una aplicación antes de compilarla.

Comando comunmente utilizado para compilar e instalar una aplicación a partir de su código fuente.

Esta secuencia instalará por defecto en el directorio /usr/local, si desea instalar en otra vía puede cambiar el primer comando por configure ­­prefix=nueva_via con el directorio destino en lugar de nueva_via. Si las fuentes incluyen mensajes en diversos idiomas (locales) se instalarán los especificados en la variable LINGUAS o todos si tal variable no está definida. La variable LINGUAS debe tener códigos ISO 639 (2 letras como LC_MESSAGE ver Lectura Configuración de una sesión) de los idiomas que se desean, unos separados de otro por espacios.

Cuando busque software, tenga en cuenta que funcione en el computador en el que operará (consulte los requerimientos de hardware y software), y revise la licencia del programa para asegurarse de la posibilidad de usarlo y redistribuirlo sin restricciones (ver Lectura Software de libre redistribución) ---si no lee con detalle la licencia, podría infringir la ley.

Una vez consiga software que solucione una necesidad de su institución, debe instalarlo y configurarlo. Es posible que encuentre las fuentes comprimidas o de un archivo precompilado deb [4] . Por ejemplo para la distribución Debian, hay un inmenso repositorio de archivos precompilados. Cuando busque un programa, ese repositorio es el primer sitio quee puede consultar: http://packages.debian.org/stable/. Para hacerlo, puede emplear el programa dselect, que le permitirá entrar al repositorio principal de Debian o a otros, le permitirá elegir el o los programas que desee, le indicará si el programa es libre o no y le ayudará a resolver conflictos con otros programas o le indicará otros programas que son prerequisitos; tras esto, dselect se encarga de descargarlos a su máquina, instalarlos y configurarlos, todo automáticamente!

Paquetes en 	  		http://packages.debian.org

Extensión de los archivos precompilados para Linux Debian.

Depósito de archivos precompilados deb.

Aplicación que permite elegir e instalar aplicaciones, descargándolas desde un sitio indicado.

Puede darse el caso que el programa que usted busque no esté en ese repositorio, pero que lo logre encontrar en otra parte ya precompilado como deb. En ese caso puede descargarlo y emplear el programa dpkg para instalarlo en su sistema.

Aplicación que permite instalar paquetes precompilados deb.

Paquetes en Debian

Para facilitar el uso de programas, evitando los posibles problemas que se presentan al compilar e instalar se emplean paquetes. Cada paquete es creado y mantenido por un voluntario (normalmente de Debian) e incluye programas precompilados, datos, archivos de configuración, scripts de instalación y desinstalación y datos de control (como nombre, firma digital, descripción, sección, paquetes de los que depende, paquetes con los que entra en conflicto, etc.). Dado que en un computador pueden instalarse muchos paquetes y su administración resulta delicada (porque algunos dependen o entran en conflicto con otros), en Debian se emplean herramientas que evitan conflictos y facilitan la instalación, desinstalación y actualización. La administración del sistema de paquetes (configuración de repositorios), así como las operaciones de paquetes pueden realizarse con el programa dselect que es guiado por menús y ofrece extensa ayuda. Como método de acceso es recomendable apt y especificar los repositorios editando el archivo /etc/apt/sources.list. Si planea emplear varios CDs con paquetes para Debian, al emplear apt-cdrom add el CD quedará registrado en /etc/apt/sources.list y podrá seleccionar e instalar los paquetes con dselect.

Método de acceso que dselect soporta y que permite especificar los repositorios en el archivo /etc/apt/sources.list.

Archivo que permite la especificación de depósitos de paquetes.

Comando que registra un cdrom para como depósito de paquetes.

En esta sección se presentan detalles del sistema de paquetes de Debian y las herramientas que hay disponibles (las herramientas que usa dselect para automatizar la catalogación, obtención, instalación y desinstalación de paquetes).

Un paquete para Debian (archivo con postfijo .deb) es un archivo de ficheros creado con el programa ar [5] , que sigue diversas convenciones (por ejemplo contiene los datos del programa y datos para controlar instalación y desintalación comprimidos con gzip empleando nombres estándar). La herramienta dpkg-deb permite operar estos paquetes como archivos (no es recomendable instalar paquetes usando dpkg-deb).

Aplicación que permite instalar paquetes deb.

Comando que permite descomprimir un paquete deb.

Para instalar propiamente un paquete se emplea dpkg -i archivo .... El programa dpkg además de verificar dependencias, eliminar versiones previas del mismo paquete, extraer archivos, ejecutar los scripts de instalación y configurar el paquete, actualiza los archivos con información sobre paquetes instalados y disponibles: /var/lib/dpkg/status y /var/lib/dpkg/available (estos archivos son también llamados caches por apt-cache).

Los caches además del nombre, descripción, versión, arquitectura y espacio en disco de cada paquete incluyen información para organizar y controlar los paquetes: estado, estado de selección, sección, prioridad, paquetes de los que depende, paquetes que reemplaza, con los que entra en conflicto y los que recomienda. Los posibles estados de un paquete son: instalado, instalado a medias, no-instalado, desempaquetado (archivos ubicados pero no configurado), configurado a medias, archivos de configuración [6] (sólo los archivos de configuración estan). Los estados de selección (usados por dselect) son: instalar, desinstalar, limpiar (desinstalar incluso archivos de configuración). Las secciones posibles son main, contrib, non-US y non-free diferenciadas por los términos de las licencias y la posibilidad de redistribuirlos. Los paquetes en main cumplen con los lineamientos de Debian para decidir si un programa es libre o no [7] ---DFSG Debian Free Software Guidelines---, los paquetes en contrib cumplen con esos lineamientos pero requieren paquetes en non-free o non-US, los paquetes en non-free permiten libre redistribución pero no otros requerimientos de DFSG, los paquetes en non-US contienen material criptográfico que no puede exportarse de EUA (estos paquetes pueden ser usados en todo el mundo pero no pueden obtenerse de servidores en EUA). Las secciones se dividen en subsecciones: admin, base, comm, devel, doc, editors, games, graphics, interpreters, libs, mail, misc, net, science, shells, sound, tex, text, utils, web, x11, comm, devel. Las prioridades posibles son: required (mínimo para que el administrador inicie el sistema), important (aplicaciones mínimas encontradas en cualquier sistema Unix), standard (mínimo para tener un sistema en modo texto), optional (aplicación que no requiere ser instalada) y extra.

Sección de la jerarquía de paquetes Debian que cumple con los lineamientos para ser considerado software libre.

Sección de la jerarquía de paquetes Debian que cumple con los lineamientos para ser considerado software libre, pero requieren paquetes de non-free o non-US.

Sección de la jerarquía de paquetes Debian que contiene material criptográfico.

Sección de la jerarquía de paquetes Debian que permite libre redistribución pero no otras libertades.

dpkg cuenta con varios comandos para operar paquetes y los caches, a continuación se presentan algunos:

dpkg ­­configure paquetes

Configura un paquete cuya configuración esta pendiente. Si en lugar de usar un nombre de paquete se emplea -a configura todos los paquetes cuya configuración esté pendiente. Para reconfigurar un paquete que ya está instalado y que empleaba debconf se usa dpkg-reconfigure paquete.

dpkg -r paquetes

Desinstala un paquete. Si se emplea -a en lugar del nombre de un paquete desinstala todos los que estén pendientes. La desinstalación de un paquete no elimina archivos de configuración, para eliminarlos puede emplearse ­­purge en lugar de -r.

dpkg ­­clear-avail

Elimina información sobre paquetes disponibles (/var/lib/dpkg).

dpkg -A -R directorio

Agrega al cache de paquetes disponibles, información de todos los paquetes en el directorio especificado y en sus subdirectorios. Pueden emplearse con un propósito análogo las opciones ­­update-avail y ­­merge-avail seguidas del nombre de un archivo con descripciones de paquetes (típicamente Packages.gz). Este método NO es el recomendado para actualizar paquetes disponibles, es más flexible emplear apt como se explica más adelante.

dpkg -l 'cadena'

Presenta información de los paquetes disponibles que concuerden con la cadena. La cadena puede tener caracteres para expansión de nombres.

dpkg -s paquetes

Presenta el estado de los paquetes especificados.

dpkg -C

Busca paquetes cuya instalación no este completa.

dpkg -L paquetes

Muestra la ubicación de los ficheros de los paquetes dados.

dpkg -S fichero

Busca el paquete que haya instalado el fichero especificado.

dpkg -x paquete directorio

Descomprime un paquete en el directorio especificado sin instalarlo.

El inconveniente de usar dpkg -i archivo ... para instalar un paquete es que no resuelve problemas de dependencias (por ejemplo si el paquete que se instala requiere otro que aún no se ha instalado). Para resolver dependencias y obtener e instalar paquetes se requiere uno o más repositorios de paquetes y se usa apt-get install paquete ... [8].

Programa que permite instalar paquetes Debian, instalando automáticamente paquetes adicionales en los que dependa la instalación.

Los repositorios de paquetes contienen un fragmento de los paquetes disponibles para Debian, pueden ser medios de almacenamiento (CD-ROMs, directorios locales o compartidos, disquettes) o sitios en una red a la que su computador está conectado (pueden usarse los protocolos FTP y HTTP). Los posibles repositorios de paquetes se especifican en el archivo /etc/apt/sources.list y normalmente el cache de paquetes disponibles en su sistema (/var/lib/dpkg/available) es extraido de los archivos Packages.gz de cada repositorio de paquetes.

Archivo en el que se configuran los repositorios de paquetes que apt emplea.

Para actualizar el cache con la información más reciente en los repositorios puede emplear apt-get update, para agregar un CD-ROM como repositorio y actualizar el cache de paquetes disponibles emplee apt-cdrom con la opción add. Para agregar repositorios FTP o HTTP edite el archivo /etc/apt/souces.list y agregue líneas de la forma:

deb ftp://ftp.debian.org/debian stable main contrib non-free
  
remplazando el URL por el del depósito. A la derecha del URL se especifican las secciones que desea emplear de ese repositorio. La cadena "deb" a la izquierda del URL indica que se trata de un repositorio de paquetes precompilados, puede agregarse un repositorio de fuentes de programas con "deb-src".

Los comandos para apt-get son:

update

Actualiza caches de paquetes con información de los repositorios especificados en /etc/apt/sources.list. De cada repositorio extrae los paquetes disponibles del archivo Packages.gz. Debe hacerse antes de upgrade o dist-upgrade.

upgrade

Instala las versiones más recientes de todos los paquetes, mientras para una instalación no requiera reinstalar otro paquete. Emplea los repositorios especificados en /etc/apt/sources.list.

dselect-upgrade

Completa los cambios que un usuario haya especificado (pero no completado) con dselect.

dist-upgrade

Realiza la misma función de upgrade tratando de resolver conflictos entre nuevas versiones y existentes.

install paquete ...

Obtiene el/los paquete(s) especificado(s) de alguna de los repositorios y lo(s) instala, así como los paquetes que sean requeridos. El nombre del paquete no es una ruta, es la identificación del paquete en el cache o una expresión regular de identificaciones de paquetes. Puede marcarse un paquete para su futura desintalación agregandole al nombre el caracter '-' (con '+' se marca para futura instalación).

remove paquete ...

Desinstala el(los) paquete(s) especificado(s). Sigue convenciones análogas a install.

source

Obtiene las fuentes de un paquete de un repositorio de fuentes (los especificados en /etc/apt/sources/lists en líneas deb-src). Dejas las fuentes en el directorio de trabajo.

build-dep paquete ...

Instala paquetes que satisfacen dependencias de uno o más paquetes.

clean

Limpia el directorio donde se dejan paquetes extraidos de repositorios /var/cache/apt/archives.

autoclean

Realiza la misma función de clean pero evita eliminar paquetes útiles.

check

Examina el cache de paquetes buscando posibles problemas en las dependencias.

Entre las opciones que apt-get recibe están:

-f

Intenta solucionar problemas de dependencias.

-d

Descarga todos los paquetes pero no los instala. Una vez descargados para instalarlos se usa el mismo comando de apt-get que los descargo pero sin -d.

-m

Ignora paquetes faltantes.

-no-download

Evita que se descarguen paquetes de la red (útil junto con -m).

-o

Opción para establecer una opción que tome precedencia sobre las opciones del archivo de configuración. El archivo de configuración es indicado por la variable APT_CONFIG o en su defecto es /etc/apt/apt.conf.

El programa apt-cache le permite operar los caches de paquetes instalados y disponibles simultaneamente, algunas de las operaciones que permite son:

show paquete

Muestra la información de control del paquete especificado.

showpkg paquete

Muestra información de dependencias de un paquete. Presenta tanto los paquetes de los cuales depende como los paquetes que dependen de ese (dependencias reversas).

search expreg

Busca paquetes disponibles e instalados cuyo nombre concuerde con una expresión regular.

Program que le permite operar el cache de paquetes instalados.

Tabla de contenidos
  1. 1 - Guías para colegios con plataforma de referencia S-Helio 1.1
  2. 2 - Primera exploración de Linux desde la perspectiva de un usuario
  3. 3 - Software de libre redistribución
  4. 4 - Linux
  5. 5 - Sistema de usuarios y manejo de clave
  6. 6 - Escritorio y herramientas Gnome
  7. 7 - Directorios y archivos
  8. 8 - Disquetes y CDROM
  9. 9 - Búsqueda y consulta de documentación
  10. 10 - Linux desde la perspectiva de un usuario con experiencia
  11. 11 - Archivos y permisos
  12. 12 - Información personal y comunicación con otros usuarios
  13. 13 - Servicios de la Intranet
  14. 14 - Edición de texto
  15. 15 - Linux desde la perspectiva de un usuario con mas experiencia
  16. 16 - Sistemas para preparar documentos (I)
  17. 17 - Sistemas para preparar documentos (II)
  18. 18 - bash y el juego de herramientas
  19. 19 - Procesos y tareas
  20. 20 - Scripts basicos para bash (I)
  21. 21 - Scripts basicos para bash (II)
  22. 22 - Configuración de una sesión
  23. 23 - Desarrollo de habilidades para administrar computadores con Linux
  24. 24 - El rol del administrador de red
  25. 25 - Apagado y encendido de una red
  26. 26 - Administración de usuarios (I)
  27. 27 - Administración de usuarios (II)
  28. 28 - Administración de archivos (I)
  29. 29 - Administración de archivos (II)
  30. 30 - Administración de programas (I)
  1. 31 - Administración de programas (II)
  2. 32 - Colaboración y soporte
  3. 33 - Administración de Linux en computadores aislados
  4. 34 - Inicialización del sistema
  5. 35 - Kernel y módulos
  6. 36 - Hardware basico y Linux (I)
  7. 37 - Hardware basico y Linux (II)
  8. 38 - Dispositivos y Linux (I)
  9. 39 - Dispositivos y Linux (II)
  10. 40 - Dispositivos y Linux (III)
  11. 41 - Instalación de Debian
  12. 42 - Localización y configuración de algunos programas
  13. 43 - Administración de una red con Linux
  14. 44 - Redes, protocolos e Internet
  15. 45 - Dispositivos para interconexión y Linux
  16. 46 - Direcciones, enrutamiento y transporte
  17. 47 - Protocolos de soporte y de usuario (I)
  18. 48 - Protocolos de soporte y de usuario (II)
  19. 49 - Protocolos de soporte y de usuario (III)
  20. 50 - Protocolos de soporte y de usuario (IV)
  21. 51 - Protocolos de soporte y de usuario (V)
  22. 52 - Protocolos de soporte y de usuario (VI)
  23. 53 - Apéndice A. Plataforma de referencia S-Helio 1.1
  24. 54 - Apéndice B. Sobre estas guías
  25. 55 - Apéndice C. Actualización del kernel de Debian Linux (I)
  26. 56 - Apéndice C. Actualización del kernel de Debian Linux (II)
  27. 57 - Apéndice D. Respuestas a los ejercicios (I)
  28. 58 - Apéndice D. Respuestas a los ejercicios (II)
  29. 59 - Apéndice D. Respuestas a los ejercicios (III)
Autor y licencia de 'Manual Aprendiendo a aprender Linux - Administración de programas (I)'
Vladimir Támara, Jaime Irving Dávila, Pablo Chamorro e Igor Támara Extraído de: http://es.tldp.org/Manuales-LuCAS/AA_Linux_colegio-1.1/AA_Linux_colegio-1.1-html/ GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Manual Aprendiendo a aprender Linux - Administración de programas (I)'

Este documento recopila la información de importantes autores en cuanto a programas de investigación se... Más »
En los últimos años, el desarrollo basado en componentes se ha convertido en una de... Más »
Este es el Diccionario de Plantas Mágicas elaborado por nosotr@s. Esta basado en nuestra propia... Más »
En este documento se presenta la información acerca de la instalación, configuración, ejecución y mantenimiento... Más »
El poder de Unix1 se esconde en pequeños comandos que no parecen ser muy útiles... Más »
¿Estás seguro de que deseas eliminar este capítulo?