Problemi in questa pagina? Segnalali in questa discussione
Introduzione
In questa pagina viene spiegato come realizzare un repository locale. Ciò può essere molto utile se si possiede una connessione lenta o se si vogliono salvare per una nuova installazione tutti i software già scaricati automaticamente senza doverli nuovamente riscaricare.
Preparativi
Installare il pacchetto dpkg-dev.
Creazione del repository locale
Creare una cartella in cui inserire i pacchetti che formeranno il repository:
sudo mkdir /usr/local/repository
Spostare i pacchetti .deb già presenti in /var/cache/apt/archives all'interno della cartella /usr/local/repository digitando i seguenti comandi in una finestra di terminale:
cd /var/cache/apt/archives sudo mv *.deb /usr/local/repository
E' anche possibile aggiungere altri pacchetti .deb scaricati da internet. Se in precedenza è stato installato il pacchetto apt-cacher, altri pacchetti saranno presenti all'interno della cartella /var/cache/apt/archives/packages.
Sources.list
Aprire il file /etc/apt/sources.list con un editor di testo con i privilegi di amministrazione e aggiungere in fondo al file la riga seguente:
deb file:/usr/local/repository ./
Script update-repository
Con lo script seguente, dpkg-scanpackages controllerà tutti i pacchetti presenti in /usr/local/repository e l'output verrà salvato all'interno di un file compresso Packages.gz che il comando apt-get update è in grado di leggere.
Con un editor di testo e i privilegi di amministrazione creare il file update-repository all'interno della cartella /bin:
sudo gedit /bin/update-repository
Inserire all'interno del file le righe seguenti:
#! /bin/bash cd /usr/local/repository dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
Modificare i permessi del file appena creato:
sudo chmod u+x /bin/update-repository
In alternativa, il file update-repository potrebbe essere modificato nel seguente modo al fine di automatizzare lo spostamento dei file .deb dalla cartella /var/cache/apt/archives alla cartella /usr/local/repository
#! /bin/bash sudo mv /var/cache/apt/archives/*.deb /usr/local/repository cd /usr/local/repository dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
Masterizzazione
Nel caso si voglia creare un CD con il proprio repository, basta masterizzare il contenuto di /usr/local/repository. Per utilizzare un CD come repository sarà necessario semplicemente digitare il seguente comando in una finestra del terminale:
sudo apt-cdrom add
Usare il repository
Digitare il seguente comando in una finestra del terminale:
sudo update-repository && sudo apt-get update
In questo modo, i pacchetti locali possono essere utilizzati dai gestori di pacchetti che verificheranno se le dipendenze sono soddisfatte.
Script clean-repository
Nel caso in cui periodicamente si vogliano cancellare i pacchetti .deb presenti all'interno della cartella /usr/local/repository, può essere utile utilizzare lo script seguente. L'effetto sarà identico a quello del comando
sudo apt-get clean
sulla cartella /var/cache/apt/archives/.
Con un editor di testo e i privilegi di amministrazione creare il file clean-repository all'interno della cartella /bin:
sudo gedit /bin/clean-repository
Inserire all'interno del file le righe seguenti:
#! /bin/bash sudo rm /usr/local/repository/*.deb
Modificare i permessi del file appena creato:
sudo chmod u+x /bin/update-repository
Per cancellare il contenuto della cartella /usr/local/repository sarà sufficiente digitare il seguente comando in una finestra di terminale:
sudo clean-repository
Ulteriori risorse
Repository cosa sono e come gestirli