Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Repository/Locale"
Differenze tra le versioni 16 e 17
Versione 16 del 14/03/2011 12.48.00
Dimensione: 3429
Autore: localhost
Commento: converted to 1.6 markup
Versione 17 del 03/04/2011 13.13.19
Dimensione: 3511
Commento: update
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 5: Linea 5:
<<Informazioni(forum="http://forum.ubuntu-it.org/index.php/topic,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à saltavo 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 masterizzate il contenuto di `/usr/local/repository`. Per utilizzare un CD come repository sarà necessario semplicemente digitare il seguente comando in una finestra di 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 di terminale: {{{
sudo update-repository && sudo apt-get update
Linea 63: Linea 65:
 * In questo modo, i pacchetti locali possono essere utilizzati dai [[AmministrazioneSistema/InstallareProgrammi|gestori di pacchetti]] che verificheranno se le dipendenze sono soddisfatte.
Linea 64: Linea 67:
 * Per un repository su CD di pacchetti binari: {{{
deb cdrom:[nome_del_CD]/ /
}}}

 * 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 73: Linea 72:
Al successivo ''update'' di '''apt''' o '''Synaptic''' i pacchetti saranno disponibili.
Linea 76: Linea 73:
CategoryAmministrazione CategoryDaRevisionare CategoryAmministrazione


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

Script update-repository

Con lo script seguente, dpkg-scanpackages controllerà tutti i pacchetti presenti in /usr/local/repository e l'output verrà saltavo 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 masterizzate il contenuto di /usr/local/repository. Per utilizzare un CD come repository sarà necessario semplicemente digitare il seguente comando in una finestra di terminale:

    sudo apt-cdrom add

Usare il repository

  • Digitare il seguente comando in una finestra di 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.

Ulteriori risorse


CategoryAmministrazione