Saltar al contenido
56K

56K

Slow IT Notes – Just 4 Fun

Menú
Menú

Monta tu propio repositorio APT sobre Debian 10

Publicada el 04/10/202128/01/2025 por fanta

Este post se ha realizado sobre una Debian 10 recién instalada. Una debian 10 con el sistema base.
Es importante tener esto en cuenta y si intentas replicarlo prueba a hacerlo sobre una Debian limpia :).

La finalidad es disponer de nuestro propio repositorio de paquetes DEB. Esto nos permitirá poder generar nuestros propios paquetes DEB que se incluirán en nuestra plataforma.

Lo mismo Debian tiene una versión de nginx que tu no deseas o no existe cierto programa empaquetado. Puedes compilar una más nueva o con ciertos parámetros diferentes para que se instale en tus máquinas.
El caso es que no vas a ir máquina a máquina subiendo el paquete DEB. Para ello se monta un repositorio en el que incluirás tus propios paquetes DEB.

 

Vamos con los comandos que hemos de ir metiendo para montar el tinglado.

 

Actualizar e instalar dependencias.

# apt update && apt upgrade -y
# apt-get install gnupg rng-tools reprepro vim dpkg-sig nginx -y

Generar una clave GPG para firmar los paquetes

# echo "HRNGDEVICE=/dev/urandom" >> /etc/default/rng-tools
# systemctl enable rng-tools
# systemctl restart rng-tools
# systemctl status rng-tools
# gpg --gen-key
# gpg --list-keys

Anotamos la cadena resultante del comando:

58AD69AAD4170C7B00CFDC7EC7A7820CF0E30319

 

Montar el repositorio

# mkdir -p /var/packages/debian/conf
# touch /var/packages/debian/conf/distributions
# touch /var/packages/debian/conf/options

En el archivo «distributions» metemos el siguiente contenido:

Origin: lab1.56k.es
Label: lab1.56k.es
Codename: buster
Architectures: amd64
Components: main
Description: Prueba de repositorio APT
SignWith: 58AD69AAD4170C7B00CFDC7EC7A7820CF0E30319
DebOverride: override.testing
DscOverride: override.testing

En el archivo «options» lo siguiente:

verbose
ask-passphrase
basedir /var/packages/debian

Levantar un servidor web con NGINX para que sea accesible vía HTTP

# rm -rf /etc/nginx/sites-available/default
# rm -rf /etc/nginx/sites-enabled/default
# touch /etc/nginx/sites-available/lab1.56k.es
# ln -s /etc/nginx/sites-available/lab1.56k.es /etc/nginx/sites-enabled/lab1.56k.es
# vim /etc/nginx/sites-enabled/lab1.56k.es
server {
listen 80;
server_name lab1.56k.es;

access_log /var/log/nginx/lab1.56k.es-access.log;
error_log /var/log/nginx/lab1.56k.es-error.log;

location / {
root /var/packages;
index index.html;
autoindex on;
}

location ~ /(.*)/conf {
deny all;
}

location ~ /(.*)/db {
deny all;
}
}
# systemctl enable nginx
# systemctl restart nginx
# systemctl status nginx
# gpg --armor --output /var/packages/lab1.56k.es.gpg.key --export 58AD69AAD4170C7B00CFDC7EC7A7820CF0E30319

Crear un paquete DEB de prueba

# mkdir -p /opt/packages/testfanta
# cd /opt/packages/testfanta
# mkdir DEBIAN
# vim DEBIAN/control
Package: testfanta
Version: 1.0
Section: custom
Priority: optional
Architecture: all
Essential: no
Installed-Size: 1024
Maintainer: 56k.es
Description: Print 56k.es on the screen
# mkdir -p /opt/packages/testfanta/usr/bin
# echo "echo 56k.es" > /opt/packages/testfanta/usr/bin/testfanta
# chmod +x /opt/packages/testfanta/usr/bin/testfanta
# cd /opt/packages/
# dpkg-deb --build testfanta
# file testfanta.deb

 

Firmar paquetes e incluirlos en nuestro repositorio

# export GPG_TTY=$(tty)
# dpkg-sig -k 58AD69AAD4170C7B00CFDC7EC7A7820CF0E30319 --sign builder /opt/packages/*.deb
# cd /var/packages/debian/
# reprepro includedeb buster /opt/packages/*.deb

 

Configurar el repositorio en alguna máquina

# apt install gpg -y
# echo "deb http://lab1.56k.es/debian/ buster main" >> /etc/apt/sources.list
# wget -O - -q http://lab1.56k.es/lab1.56k.es.gpg.key | apt-key add -
# apt update

 

Y eso es todo amigo. Un saludo cordial.


fanta

Escrito por Fanta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

fanta de naranja
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
💾 QEMU
💾 SOLARIS
💾 ESXi
💾 FREEBSD
💾 DEBIAN
💾 AMIGA
💾 SYSADMIN
💾 JUNOS
💾 IMPRIMIR
💾 MSDOS
💾 WINDOWS
💾 FAIRPHONE
💾 GAMING
💾 STREAMING
💾 REDHAT
💾 GRÁFICOS
💾 CACHARROS
💾 SONIDO
💾 NETWORKING
💾 ROCKY
💾 SUSE
💾 TMP
©2025 56K | Construido utilizando WordPress y Responsive Blogily tema por Superb