Cómo crear tu propio repositorio para paquetes en Debian

Paso 1: Instalación del paquete requerido

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

Lo primero que debemos hacer es actualizar los paquetes del sistema usando el siguiente comando:

$ apt update && apt upgrade

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

$ apt 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.

$ mkdir -p /opt/local/debs

A continuación, cambie el 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:

$ 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.

$ 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:

$ 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:

$ apt update

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

$ apt 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:

$ apt 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

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

Esta web funciona gracias a WordPress.com.

Subir ↑