Búsqueda de sitios web

Cómo configurar un repositorio de red para instalar o actualizar paquetes - Parte 11


Instalar, actualizar y eliminar (cuando sea necesario) programas instalados son responsabilidades clave en la vida diaria de un administrador de sistemas. Cuando una máquina está conectada a Internet, estas tareas se pueden realizar fácilmente utilizando un sistema de administración de paquetes como aptitude (o apt-get), yum, o zypper, dependiendo de la distribución elegida, como se explica en la Parte 9: Gestión de paquetes de Linux del LFCE (Ingeniero certificado de la Fundación Linux ) serie. También puede descargar archivos .deb o .rpm independientes e instalarlos con dpkg o rpm, respectivamente.

Presentamos el programa de certificación de la Fundación Linux

Sin embargo, cuando una máquina no tiene acceso a Internet, se necesitan otros métodos. ¿Por qué alguien querría hacer eso? Las razones van desde ahorrar ancho de banda de Internet (evitando así varias conexiones simultáneas al exterior) hasta proteger paquetes compilados localmente a partir de fuentes, pasando por la posibilidad de proporcionar paquetes que por razones legales (por ejemplo, software restringido en algunos países) no pueden ser descargados. incluidos en repositorios oficiales.

Ahí es precisamente donde entran en juego los repositorios de red, que es el tema central de este artículo.

Nuestro entorno de pruebas
Network Repository Server:	CentOS 7 [enp0s3: 192.168.0.17] - dev1
Client Machine:			CentOS 6.6 [eth0: 192.168.0.18] - dev2

Configurar un servidor de repositorio de red en CentOS 7

Como primer paso, nos encargaremos de la instalación y configuración de una caja CentOS 7 como servidor de repositorio [dirección IP 192.168.0.17] y un CentOS 6.6 máquina como cliente. La configuración de openSUSE es casi idéntica.

Para CentOS 7, siga los artículos a continuación que explican paso a paso las instrucciones de instalación de CentOS 7 y cómo configurar una dirección IP estática.

  1. Instalación de CentOS 7.0 con capturas de pantalla
  2. Cómo configurar la dirección IP estática de red en CentOS 7

En cuanto a Ubuntu, hay un excelente artículo en este sitio que explica, paso a paso, cómo configurar su propio repositorio privado.

  1. Configurar repositorios locales con 'apt-mirror' en Ubuntu

Nuestra primera elección será la forma en que los clientes accederán al servidor del repositorio: FTP y HTTP son los más utilizados. Elegiremos este último ya que la instalación de Apache se cubrió en la Parte 1: Instalación de Apache de esta serie LFCE. Esto también nos permitirá mostrar la lista de paquetes usando un navegador web.

A continuación, necesitamos crear directorios para almacenar los paquetes .rpm. Crearemos subdirectorios dentro de /var/www/html/repos en consecuencia. Para nuestra comodidad, es posible que también queramos crear otros subdirectorios para alojar paquetes para diferentes versiones de cada distribución (por supuesto, todavía podemos agregar tantos directorios como necesitemos más adelante) e incluso diferentes arquitecturas.

Configurando el repositorio

Una cosa importante a tener en cuenta al configurar su propio repositorio es que necesitará una cantidad considerable de espacio disponible en disco (~20 GB). Si no lo hace, cambie el tamaño del sistema de archivos donde planea almacenar el contenido del repositorio o, mejor aún, agregue un dispositivo de almacenamiento dedicado adicional para alojar el repositorio.

Dicho esto, comenzaremos creando los directorios que necesitaremos para alojar el repositorio:

mkdir -p /var/www/html/repos/centos/6/6

Después de haber creado la estructura de directorios para nuestro servidor de repositorio, inicializaremos en /var/www/html/repos/centos/6/6 la base de datos que mantiene el seguimiento de los paquetes y sus correspondientes dependencias usando < fuerte>createrepo.

Instala createrepo si aún no lo has hecho:

yum update && yum install createrepo

Luego inicialice la base de datos,

createrepo /var/www/html/repos/centos/6/6

Actualizando el repositorio

Suponiendo que el servidor del repositorio tiene acceso a Internet, crearemos un repositorio en línea para obtener las últimas actualizaciones de los paquetes. Si ese no es el caso, aún puede copiar todo el contenido del directorio Paquetes desde un DVD de instalación de CentOS 6.6.

En este tutorial asumiremos el primer caso. Para optimizar nuestra velocidad de descarga, elegiremos un espejo CentOS 6.6 de una ubicación cercana a nosotros. Vaya al espejo de descarga de CentOS y elija el que esté más cerca de su ubicación (Argentina en mi caso):

Luego, navegue hasta el directorio os dentro del enlace resaltado y luego elija la arquitectura adecuada. Una vez allí, copie el enlace en la barra de direcciones y descargue el contenido al directorio dedicado en el servidor del repositorio:

rsync -avz rsync://centos.ar.host-engine.com/6.6/os/x86_64/ /var/www/html/repos/centos/6/6/ 

En caso de que el repositorio elegido esté fuera de línea por algún motivo, regrese y elija uno diferente. No es gran cosa.

Ahora es el momento en el que quizás quieras relajarte y tal vez ver un episodio de tu programa de televisión favorito, porque duplicar el repositorio en línea puede llevar bastante tiempo.

Una vez que se haya completado la descarga, puede verificar el uso del espacio en disco con:

du -sch /var/www/html/repos/centos/6/6/*

Finalmente, actualice la base de datos del repositorio.

createrepo --update /var/www/html/repos/centos/6/6

También es posible que desees iniciar tu navegador web y navegar hasta el directorio repos/centos/6/6 para verificar que puedes ver el contenido:

Y ya está listo: ahora es el momento de configurar el cliente.