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