Cómo crear su propio repositorio para paquetes en Debian

Cómo crear su propio repositorio para paquetes en Debian

 

Existen varias razones por las que desearía crear su propio repositorio local. Es una excelente manera de crear un repositorio espejo local para almacenar en caché los paquetes que se usan con frecuencia en muchas computadoras para ahorrar el uso de ancho de banda, o puede tener algunos paquetes modificados que desea que estén disponibles internamente para el equipo de desarrollo.

En este tutorial, le mostraremos cómo crear fácilmente un repositorio de paquetes Debian local , compatible con las versiones de Debian y Ubuntu.

Paso 1: Instalación del paquete requerido

En los sistemas basados ​​en Debian, todos los repositorios son administrados por las utilidades APT (apt, apt-get, apt-cache, etc.). El paquete dpkg-dev es necesario para la creación de un repositorio local compatible con APT.

Primero actualice los paquetes del sistema usando el siguiente comando:

$ sudo apt update && sudo apt upgrade

A continuación, instale el paquete dpkg-dev escribiendo lo siguiente:

$ sudo apt-get install dpkg-dev

Cuando finalice la instalación del paquete, continúe con la creación de un directorio para los archivos de su paquete.

Paso 2: Crear un Directorio para el Repositorio Local

Cree un directorio para guardar paquetes binarios. Para este ejemplo, usaremos /opt/local/debs, pero puede usar cualquier directorio que desee.

$ sudo mkdir -p /opt/local/debs

A continuación, cambie de directorio:

$ cd /opt/local/debs

Paso 3: agregar paquetes al directorio de repositorio local

A los efectos de este tutorial, descargaremos el paquete del navegador Chrome a nuestro repositorio local, ya que no se encuentra en el repositorio predeterminado de Ubuntu:

$ sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

Puede copiar o descargar tantos paquetes como desee en este paso.

Paso 4: Cree el Meta del paquete de repositorio requerido para APT

Para ello, debemos ejecutar varios comandos dpkg-scanpackages. Cambiaré a la cuenta de usuario raíz porque estoy usando el directorio /opt/local para omitir el uso de sudo.

$ sudo su

Primero, crearemos un archivo de lanzamiento ejecutando el siguiente comando:

# dpkg-scanpackages . /dev/null > Release

Debería obtener un resultado similar según la cantidad de paquetes que haya agregado al repositorio local:

dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: google-chrome-stable
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.

Luego, escanee todos los archivos deb en el directorio y cree un archivo Packages.gz apropiado

# dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

Producción:

dpkg-scanpackages: warning: Packages in archive but missing from override file:
dpkg-scanpackages: warning: google-chrome-stable
dpkg-scanpackages: info: Wrote 1 entries to output Packages file.

Tenga en cuenta que debe ejecutar estos comandos cada vez que agregue nuevos paquetes deb a su directorio de repositorio local. También puede crear un script bash simple y ejecutarlo cada vez que agregue nuevos paquetes.

Para enumerar la estructura del directorio del repositorio local, ejecute el comando ls:

$ ls -l

Producción:

-rw-r--r-- 1 root root 83325072 May 8 02:29 google-chrome-stable_current_amd64.deb
-rw-r--r-- 1 root root 761 May 17 20:44 Packages.gz
-rw-r--r-- 1 root root 1321 May 17 20:39 Release

Paso 5: agregar nuestro repositorio local a Sources.list

El último paso es editar el archivo sources.list. Edite el archivo usando el editor de su elección:

$ sudo nano /etc/apt/sources.list

Agregue la siguiente línea a su /etc/apt/sources.list:

deb [trusted=yes] file:/opt/local/debs ./

Ahora probaremos nuestro repositorio local en acción.

Paso 6: Verificación

Podemos verificar instalando o eliminando los paquetes del repositorio local.

Primero debemos actualizar los paquetes:

$ sudo apt-get update

Ahora instalamos nuestro paquete como de costumbre usando apt-get:

$ sudo apt-get install google-chrome-stable

Ahora sus paquetes locales se pueden instalar, actualizar y eliminar usando Synaptic, aptitude y los comandos apt: apt-get, apt-cache, etc. Cuando ejecute apt-get install, cualquier dependencia se resolverá e instalará automáticamente, siempre y cuando como se pueden cumplir.

Podemos eliminar fácilmente nuestros paquetes instalados de la misma manera que con cualquier paquete instalado en nuestro sistema:

$ sudo apt-get remove google-chrome-stable

Conclusión

En este tutorial, hemos aprendido cómo crear nuestro propio repositorio local de Debian y agregar/eliminar paquetes localmente. Estos pasos se aplican a la mayoría de las distribuciones basadas en Debian.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.