No soy administrador de sistemas, sin embargo, por algunas razones necesito realizar algunas tareas como se describe a continuación:
Necesito instalar algunos paquetes en RHEL en 4-5 nodos, usando "yum" en el sistema operativo RHEL 7.x. Para ello, me encontré con varios términos como: yum
, .repo
, .rpm
.
De alguna manera entendí que al usarlo yum
podemos instalar un software, pero tengo dificultades para yum
obtener el software de Internet.
¿Alguien puede ayudarme a comprender los siguientes puntos?
1) ¿Es yum
el programa que realiza la instalación del software?
2) ¿Qué es .rpm
? ¿ .rpm
Tiene el software real que se instala? ¿Es .rpm
algo similar a .tar
?
3) ¿Cómo se yum
obtiene/descarga el software de Internet? ¿Consulta el .repo
expediente?
4) Cuando escribimos yum - y install some_program
, primero descarga los binarios de Internet y luego los instala o necesitamos hacer algunos rsync
.
Estoy confundido, intenté encontrar las respuestas en línea, sin embargo, mis dudas siguen ahí. ¿Alguien puede ayudarme con palabras sencillas?
Respuesta1
RPM es un paquete. Paquete de algún software. Contiene los archivos en el archivo CPIO (similar a tar, solo que en un formato diferente) y alguna información (por ejemplo, qué otros paquetes necesita) y scripts que deben ejecutarse cuando el paquete se instala/actualiza/elimina (esos se ejecutan automáticamente mediante /usr). /bin/rpm).
La mayoría del software de Linux está vinculado dinámicamente. Es decir, para el paquete Firefox necesita el paquete libnss (y muchos otros). Esto tiene la ventaja de que si hay un error o un problema de seguridad, el responsable de esta biblioteca actualiza solo esa biblioteca y no necesita volver a compilar todos los programas que la usan (pueden ser cientos de ellos).
La distribución típica (RHEL) está compuesta por miles de paquetes RPM. Están agrupados en un directorio llamado repositorio. Red Hat proporciona un repositorio base. Luego hay otros repositorios con algunos productos (por ejemplo, todos los paquetes necesarios para OpenStack o Satellite o algo más). Uno de los repositorios más conocidos es EPEL.https://fedoraproject.org/wiki/EPELque contiene el paquete para RHEL. Proporciona software que falta en RHEL y cuenta con el respaldo de la comunidad (es decir, sin garantía).
Si bien puede descargar el paquete RPM a mano e instalarlo,
/usr/bin/rpm -Uvh somepackage.rpm
es muy probable que obtenga algún errorsomelibrary
necesario. Si descarga ese paquete e intenta instalarlo, obtendrá el errorsomeotherlibrary
necesario. Esto se llama cadena de dependencia. A veces esta dependencia es incluso circular y no se puede instalar una por una. Cuando instalas algún software, es bastante habitual que requiera decenas o incluso cientos de dependencias. Instalarlos a mano llevaría muchísimo tiempo.YUM es un programa que resolverá automáticamente las dependencias y elegirá entre los repositorios los mejores paquetes para satisfacer esas dependencias. Por lo tanto, incluso actualizar e instalar algún software es una tarea sencilla. P.ej
yum install firefox
.Yum puede descargar los paquetes por usted. Sólo necesita saber la URL de esos repositorios (recuerde que puede tener uno o más repositorios configurados para su sistema). La URL se almacena en
.repo
archivos. Residen en/etc/yum.repos.d/
. Es un archivo de texto plano (en formato INI) y contiene la URL y alguna otra información (por ejemplo, si los paquetes están firmados GPG). Si configura correctamente los archivos de repositorio, YUM puede instalar fácilmente el software desde esos repositorios. Al ejecutarlo/usr/bin/yum install firefox
descargará información de todos los repositorios configurados, luego le informará que se instalarán Firefox y X otras dependencias. Cuando confirme, descargará esos paquetes y luego los instalará. No es necesario ejecutar rsync.