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 
