Dimensione: 3430
Commento:
|
← Versione 20 del 07/12/2022 17.47.58 ⇥
Dimensione: 4467
Commento: Revisione
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 3: | Linea 3: |
[[BR]] [[Indice()]] |
<<BR>> <<Indice>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=452390"; rilasci="10.10 10.04")>> |
Linea 8: | Linea 9: |
Capita spesso di voler creare un archivio locale di software da poter installare utilizzando '''apt''' o '''Synaptic'''. I motivi possono essere vari: * si possiede una connessione lenta e si vuole sfruttare per i download un connessione più veloce di un amico o dell'ufficio; * si vogliono salvare per una nuova installazione tutti i software già scaricati automaticamente senza doverli nuovamente riscaricare; |
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. |
Linea 14: | Linea 13: |
[:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto ''dpkg-dev''. | [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://dpkg-dev|dpkg-dev]]. |
Linea 18: | Linea 17: |
* Creiamo una directory in cui inserire i pacchetti che formeranno il nostro repository: {{{ sudo mkdir /usr/repository |
* 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 ./ |
Linea 22: | Linea 32: |
== Creazione di un repository per pacchetti binari == | = Script update-repository = |
Linea 24: | Linea 34: |
* Inseriamo nella directory i pacchetti `.deb` che vogliamo inserire nel repository. È possibile effettuare il download da Internet oppure prendere quelli eventualmente già scaricati dalla cartella {{{/var/cache/apt/archives}}}. | 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. |
Linea 26: | Linea 36: |
* Creiamo un file di testo in {{{/usr}}} dove inseriamo delle informazioni supplementari sui pacchetti. Il nome del file non è importante, per comodità supponiamo di chiamarlo ''indice'', la sua struttura è composta da una riga per pacchetto come: {{{ Nome Priorità Sezione }}} dove «'''Nome'''» è il nome del pacchetto, ad esempio per il pacchetto ''acroread-plugin_5.09-0.0_i386.deb'' il nome sarà '''acroread-plugin''', «'''Priorità'''» può assumere un valore ''low'', ''medium'' o ''high''; «'''Sezione'''» è il nome della sezione nella quale troveremo il pacchetto in Synaptic. * Per creare il repository da terminale ci posizionamo nella cartella ''/usr'' e diamo il comando: {{{ sudo sh -c "dpkg-scanpackages repository indice | gzip > repository/Packages.gz" }}} La creazione del file indice non è obbligatoria, se decidiamo di non crearlo sostituiamo nel comando precedente «`indice`» con «`/dev/null`» == Creazione di un repository per pacchetti sorgenti == * Inseriamo nella directory i pacchetti `.orig.tar.gz`, `.dsc` e `.diff.gz` che vogliamo inserire nel repository. * Per creare il repository da terminale ci posizionamo nella cartella `/usr` e diamo il comando: {{{ sudo sh -c "dpkg-scansources repository | gzip > repository/Sources.gz" |
* 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 |
Linea 42: | Linea 48: |
Per i pacchetti sorgenti non c'è il file «`indice`» come nel caso precedente. | 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 }}} |
Linea 46: | Linea 57: |
Nel caso vogliate creare un CD con il vostro repository, basta masterizzate il contenuto di `/usr/repository` e ricordate il nome dato al CD. Sarà utile nella configurazione di `/etc/apt/sources.list` = Modifiche al file sources.list = Per poter usare il repository con '''apt''' o '''Synaptic''' è necessario aggiungerlo all'interno del file `/etc/apt/sources.list`. La linea da aggiungere è diversa in base al tipo di repository creato. * Per un repository di pacchetti binari: {{{ deb file:/usr repository/ |
* 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 |
Linea 60: | Linea 61: |
* Per un repository di pacchetti sorgenti: {{{ deb-src file:/usr repository/ |
= 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 |
Linea 64: | Linea 84: |
* Per un repository su CD di pacchetti binari: {{{ deb cdrom:[nome_del_CD]/ / |
Per cancellare il contenuto della cartella `/usr/local/repository` sarà sufficiente digitare il seguente comando in una finestra di terminale: {{{ sudo clean-repository |
Linea 68: | Linea 88: |
* Per un repository su CD di pacchetti sorgenti: {{{ deb-src cdrom:[nome_del_CD]/ / }}} |
= Ulteriori risorse = * [[https://help.ubuntu.com/community/Repositories/Personal|Documento originale]] * [[Repository|Repository]] cosa sono e come gestirli |
Linea 72: | Linea 92: |
Al successivo ''update'' di '''apt''' o '''Synaptic''' i pacchetti saranno disponibili. |
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