GNU/Linux >> Linux Esercitazione >  >> Debian

Come creare il tuo repository per i pacchetti su Debian

Ci sono vari motivi per cui vorresti creare il tuo repository locale. È un ottimo modo per creare un repository mirror locale per memorizzare nella cache i pacchetti utilizzati di frequente utilizzati da molti computer per risparmiare l'utilizzo della larghezza di banda, oppure potresti avere alcuni pacchetti modificati che desideri rendere internamente disponibili per il team di sviluppo.

In questo tutorial, ti mostreremo come creare facilmente un repository di pacchetti Debian locale , compatibile con le versioni Debian e Ubuntu.

Fase 1:installazione del pacchetto richiesto

Sui sistemi basati su Debian, tutti i repository sono gestiti dalle utilità APT (apt, apt-get, apt-cache, ecc.). Il pacchetto dpkg-dev è necessario per la creazione di un repository locale compatibile con APT.

Per prima cosa Aggiorna i pacchetti di sistema usando il seguente comando:

$ sudo apt update && sudo apt upgrade

Quindi installa dpkg-dev pacchetto digitando quanto segue:

$ sudo apt-get install dpkg-dev

Al termine dell'installazione del pacchetto, procedi con la creazione di una directory per i file del pacchetto.

Fase 2:crea una directory per il repository locale

Crea una directory per conservare i pacchetti binari. Per questo esempio useremo /opt/local/debs, ma puoi usare qualsiasi directory tu voglia.

$ sudo mkdir -p /opt/local/debs

Quindi, cambia directory:

$ cd /opt/local/debs

Fase 3:aggiunta di pacchetti alla directory Repo locale

Ai fini di questo tutorial, scaricheremo il pacchetto Chrome-browser nel nostro repository locale, perché non si trova nel repository Ubuntu predefinito:

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

Puoi copiare o scaricare tutti i pacchetti che vuoi in questo passaggio.

Fase 4:crea il pacchetto di repository richiesto Meta per APT

Per questo, dobbiamo eseguire diversi comandi dpkg-scanpackages. Passerò all'account utente root perché sto usando la directory /opt/local per saltare usando sudo.

$ sudo su

Innanzitutto, creeremo un file di rilascio eseguendo il seguente comando:

# dpkg-scanpackages . /dev/null > Release

Dovresti ottenere un output simile a seconda di quanti pacchetti hai aggiunto al repository locale:

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.

Quindi, scansiona tutti i file deb nella directory e crea un file Packages.gz appropriato

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

Uscita:

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.

Nota che devi eseguire questi comandi ogni volta che aggiungi nuovi pacchetti deb alla directory del tuo repository locale. Puoi anche creare un semplice script bash ed eseguirlo ogni volta che aggiungi nuovi pacchetti.

Per elencare la struttura della directory del repository locale, eseguire il comando ls:

$ ls -l

Uscita:

-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

Fase 5:aggiunta del nostro repository locale a Sources.list

Il passaggio finale consiste nel modificare il file sources.list. Modifica il file utilizzando l'editor di tua scelta:

$ sudo nano /etc/apt/sources.list

Aggiungi la seguente riga al tuo /etc/apt/sources.list:

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

Ora testeremo il nostro repository locale in azione.

Fase 6:verifica

Possiamo verificare installando o rimuovendo i pacchetti dal repository locale.

Per prima cosa dobbiamo aggiornare i pacchetti:

$ sudo apt-get update

Ora installiamo il nostro pacchetto come al solito usando apt-get:

$ sudo apt-get install google-chrome-stable

Ora i tuoi pacchetti locali possono essere installati, aggiornati e rimossi usando Synaptic, aptitude e i comandi apt:apt-get, apt-cache, ecc. Quando esegui apt-get install, tutte le dipendenze verranno risolte e installate per te, purché come possono essere soddisfatte.

Possiamo rimuovere facilmente i nostri pacchetti installati allo stesso modo di qualsiasi pacchetto installato sul nostro sistema:

$ sudo apt-get remove google-chrome-stable

Conclusione

In questo tutorial, abbiamo imparato come creare il nostro repository Debian locale e aggiungere/rimuovere pacchetti in locale. Questi passaggi si applicano alla maggior parte delle distribuzioni basate su Debian.


Debian
  1. Come creare un repository Red Hat locale

  2. Come creare RPM per il tuo script in CentOS/RedHat

  3. Come creare un utente Sudo in Debian

  4. Come creare un pem per il tuo SSL esistente

  5. Come creare un repository Yum locale per i pacchetti MySQL Enterprise

Come aggiungere un repository a Debian

Come trovare il tuo indirizzo IP su Debian 11

Come creare il tuo primo programma Java in Debian 10

Come installare backport e repository sperimentale su Debian 11

Come creare il tuo server VPN IPsec in Linux

Come creare la tua VPN:istruzioni dettagliate