Está en la página 1de 14

UNIX:

Administracion
del software
Gestion
Juan Hernando Vieites
jhernando@fi.upm.es

Noviembre 2014

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 1/1
de software
Instalacion

A la hora de instalar software nuevo existen varias alternativas


Mediante paquetes de instalacion (el modo preferido)
A partir de binarios precompilados.
Compilando desde el codigo
fuente.
Adaptando el codigo
desde otra plataforma
Ciertos programas pueden ser instalados localmente por los
usuarios, pero normalmente esto es tarea del administrador.

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 2/1
Sistemas de paquetes
Paquetes
Un paquete es un fichero comprimido que incluyen el
acerca de
software a instalar junto con metainformacion

versiones, dependencias y configuracion.
Existen multiples
sistemas de paquetes:
RHEL, Fedora, SuSE, ...: .rpm
Debian, Ubuntu, ...: .deb
Solaris: PKG
AIX: Smit

Repositorios
Cada sistema de paquetes tiene un sistema de base de datos
para gestionar colecciones de paquetes y poder automatizar la
de paquetes desde la misma.
descarga e instalacion

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 3/1
RPM Package Manager
Paquetes rpm
Sistema de paquetes creado por Red Hat en 1999,
Forma parte de la norma Linux Standard Base.
La convencion
de nombrado de paquetes sigue el
esquema: nombre-version-release.arquitectura.rpm
Los paquetes de bibliotecas suelen comenzar por lib y
las cabeceras de desarrollo para las mismas acabar en
-devel
Los paquetes se construyen con rpmbuild
La base de datos de paquetes instalados se mantiene en
/var/lib/rpm
El sistema de paquetes rpm evalua
automaticamente las
dependencias de un binario (ej. bibliotecas) durante su

construccion.
jhernando@fi.upm.es UNIX: Gestion
Administracion del software 4/1
RPM Package Manager

Mandato rpm
Es poco habitual, pero a veces es necesario utilizar el
de paquetes mas
mandato de gestion bajo nivel.
El mandato rpm actua
sobre ficheros de paquete o sobre
paquetes ya instalados en el sistema.
Actua
sobre la base de datos local pero no accede a
repositorios
Los dos comandos mas habituales son
rpm -i ficheros paquete
Instalacion:
rpm -e nombre paquetes
Eliminacion:

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 5/1
Gestores RPM de alto nivel
yum
Herramienta que ayuda en la gestion
de dependencias de
busqueda
paquetes rpm, as como la catalogacion, y
descarga.
Necesita una base de datos y repositorios.
La configuracion
de las URIs de los repositorios se
encuentran en /etc/yum.conf o /etc/yum.repos.d.
Mandatos habituales:
yum install paquetes
yum erase paquetes
yum list patron (busca en nombre)

yum search patron (busca en descripcion)
yum check-updates
yum update
yum upgrade

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 6/1
Gestores RPM de alto nivel

Otros sistemas para rpm son:


up2date
Sistema para RHEL, la distribucion
de pago equivalente a
Fedora
Permite automatizacion
de despliegue sobre multiples


maquinas de paquetes remota.
y administracion

Zypp, zypper
La version
SuSE de yum.

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 7/1
Sistemas de paquetes Debian

Paquetes deb
Sistema de paquetes ideado para la distribucion
Debian
en los 90.
La base de datos se alamacena en /var/lib/dpkg
Los paquetes se generan con dpkg-deb o
dpkg-buildpackage.
El fichero de un paquete Debian se puede descomprimir
con ar x paquete y su contenido es un fichero
data.tar.gz (ficheros y directorios a instalar) y otro
control.tar.gz (metadatos)

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 8/1
Debian Package Manager

dpkg
Muy similar al mandato rpm. Opera con los paquetes a muy
se usa con paquetes que no forman
bajo nivel por lo que solo
parte de repositorios.
Instalacion:
dpkg -i ficheros paquete
Eliminacion:
dpkg -r nombres paquete
Reconfiguracion:
dpkg-reconfigure
Listado de todos los paquetes instalados: dpkg -l
Listado de ficheros contenidos en un paquete instalado:
dpkg -l nombre paquete

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 9/1
de paquetes .deb de alto
Gestion
nivel
Familia de mandatos apt
Conjunto de mandatos para gestion
automatica
de
paquetes del mismo estilo que yum (pero anterior

cronologicamente).
Se basan en la informacion
de una base de datos que se
repositorios.
sincroniza con uno o mas
Los repositorios se configuran en
/etc/apt/sources.lists y en ficheros individuales en
/etc/apt/sources.lists.d
Soporta validacion
de integridad por firmas criptograficas.

aptitude es otra alternativa que puede considerarse como
front-end de apt en modo lnea de mandatos o con interfaz
ncurses. Es mala idea mezclar ambos.
jhernando@fi.upm.es UNIX: Gestion
Administracion del software 10/1
Mandatos apt

apt-get
desistalacion
Ejecuta acciones de instalacion, y actualizacion

apt-get install paquetes
apt-get remove paquetes
apt-get update: Actualiza la base de datos de paquetes.
de
Se debe ejecutar tras modificar la configuracion
repositorios
apt-get upgrade: Actualiza todos los paquetes a su
mas
version reciente en la distribucion.

apt-get dist-upgrade: Actualiza la distribucion
(aunque
en Ubuntu lo reemplaza do-release-upgrade).

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 11/1
Mandatos apt
apt-cache
Ejecuta acciones de consulta
apt-cache search patr
on
apt-cache show paquete

apt-file
Mandato semi-independiente que maneja bases de datos de
ficheros para poder buscar que paquetes proporcionan
que ficheros.
apt-file update: Actualiza la base de datos
apt-file search patr
on : Busca paquetes que
proporcionan algun
fichero que case con el patron.

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 12/1
de binarios
Instalacion
En este caso el codigo
ha sido precompilado por el autor
del software, en principio sin pensar en un sistema
especfico.
Lo habitual es instalar el software en /opt/ o /usr/local,
posiblemente en su propio subdirectorio
Los paquetes se suelen distribuir como .zip, .tar.gz, .bz2,
pero algunos paquetes traen sus propios instaladores
binarios (Matlab, CUDA, ...)
Posibles problemas:

Incompatibilidad con bibliotecas dinamicas del sistema y
otros programas.
en el caso de paquetes autocontenidos
Gran tamano

(enlazado estatico, de bibliotecas)
redistribucion

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 13/1
desde el codigo
Instalacion fuente
basada en autotools
Compilacion
Este es el modo habitual de configurar y compilar herramientas

del proyecto GNU. Tras descomprimir el codigo lo habitual es
hacer
./configure
./make
./make install

basada en CMake
Compilacion
Puede generar
CMake es un metasistema de compilacion.
para gmake, Visual Studio,
instrucciones de compilacion
XCode. En sistemas UNIX
source/$ mkdir build; cd build
source/build/$ cmake ..
source/build/$ make install

jhernando@fi.upm.es UNIX: Gestion


Administracion del software 14/1

También podría gustarte