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 14 e 19 (in 5 versioni)
Versione 14 del 08/05/2008 10.40.36
Dimensione: 3616
Commento:
Versione 19 del 02/02/2016 08.11.24
Dimensione: 4465
Commento: CategoryDaRevisionare
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.

= Preparativi =

[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://dpkg-dev|dpkg-dev]].
Linea 14: 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 18: Linea 32:
== Creazione di un repository per pacchetti binari == = Script update-repository =
Linea 20: 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 22: 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 38: 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 42: 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 56: 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
}}}
 * 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 vogliamo 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 60: 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 64: 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 68: Linea 92:

Al successivo ''update'' di '''apt''' o '''Synaptic''' i pacchetti saranno disponibili.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Qualora comandi dpkg-scanpackages e dpkg-scansources risultassero non disponibili occorre installare il pacchetto dpkg-dev.'' ||


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.

Script clean-repository

Nel caso in cui periodicamente si vogliamo 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


CategoryAmministrazione CategoryDaRevisionare