#format wiki #LANGUAGE it <
> <> <> = 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 = [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://dpkg-dev|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://apt-cacher|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 [[Ufficio/EditorDiTesto|editor di testo]] con i [[AmministrazioneSistema/Sudo|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 [[EditorDiTesto|editor di testo]] e i [[Sudo|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: {{{#!bash #! /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` {{{#!bash #! /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 [[AmministrazioneSistema/InstallareProgrammi|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 [[EditorDiTesto|editor di testo]] e i [[Sudo|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: {{{#!bash #! /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 = * [[https://help.ubuntu.com/community/Repositories/Personal|Documento originale]] * [[Repository|Repository]] cosa sono e come gestirli ---- CategoryAmministrazione CategoryDaRevisionare