PDA

View Full Version : dpkg --get-selections


gianlucab70
27-11-2008, 21:15
Ciao a tutti.
Ho intenzione di fare delle prove con debian etch 4.
Non posseggo adsl flat.
Posseggo diversi pacchetti debian.
L'intenzione è quella di usare gli stessi per l'aggiornamento di una nuova installazione etch4.
Vorrei procedere così:
dpkg --get-selections>pacchetti
Ricopiare i pacchetti posseduti, nella stessa posizione della nuova debian, lanciare questo comando:
cd /var/apt/cache/archives
sudo dpkg -i <pacchetti

Vanno bene questi passaggi?
Grazie a tutti

Sir Wallace
28-11-2008, 08:30
Secondo me non vanno un gran chè bene... perchè così tu tenti di installare i pacchetti in ordine alfabetico, non tenendo conto delle varie dipendenze: quindi un pacchetto fallirà sicuramente l'installazione se prima non ne hai installati altri X ;)
Ti consiglio di prendere i pacchetti che hai, copiarli nel nuovo sistema e lì ricrearti un repository locale da usare con apt. Sul come fare guarda qua (http://www.debian.org/doc/manuals/reference/ch-package.en.html), paragrafo "6.4.11 Local package archive".

Poi, per aggiornare il sistema puoi eventualmente usare getdeb (http://www.yalab.net/getdeb/) ;)

Psycotic
28-11-2008, 09:07
Apparte le dipendenze dovrebbe anche darti errore di sintassi perche il primo comando torna una lista del tipo:
apt install
apt-build deinstall
apt-utils install
ark install


Mentre l'altro comando accetta solo il nome del pacchetto "dpkg -i pkg1 pkg2 etc.."

Io da ignorante farei manualmente cosi'....

dpkg --get-selections|awk '{print $1}' > XXX
dpkg -i `cat XXX |while read pkg; do echo -e " $pkg\c "; done`

dando tuttla lista staticamente in pasto a dpkg nn dovresti avere problemi di dipendenza...

gianlucab70
28-11-2008, 15:02
Io da ignorante farei manualmente cosi'....

dpkg --get-selections|awk '{print $1}' > XXX
dpkg -i `cat XXX |while read pkg; do echo -e " $pkg\c "; done`

dando tuttla lista staticamente in pasto a dpkg nn dovresti avere problemi di dipendenza...

..:eek: Alla faccia dell'ignoranza!!!.......
..Se è proprio scritta così come la vedo e se funziona , allora è proprio il comando che cercavo........
Ti farò sapere. Grazie mille.

Sir wallace .Ti consiglio di prendere i pacchetti che hai, copiarli nel nuovo sistema e lì ricrearti un repository locale da usare con apt. Sul come fare guarda qua, paragrafo "6.4.11 Local package archive".

La guida è in inglese..........vedrò cmq. quello che si può fare.
Grazie mille.

diabolicus
28-11-2008, 21:02
dal manuale debian (http://www.debian.org/doc/manuals/quick-reference/ch-package.it.html#s-record):

dpkg --set-selections <pacchetti
apt-get -u dselect-upgrade

gianlucab70
29-11-2008, 20:22
dal manuale debian (http://www.debian.org/doc/manuals/quick-reference/ch-package.it.html#s-record):

dpkg --set-selections <pacchetti
apt-get -u dselect-upgrade

Ciao. Probabilmente era proprio questo il completamento al comando che cercavo.
Riepiloghiamo per completezza:
Pc "A" con debian gia installata e con tutti i pacchetti salvati in cache.
Pc "B" debian da installare e aggiornare.

@Pc "A"
sudo dpkg --get-selections>pacchettiA.txt
sudo cp -r /var/apt/cache/archives /media/sdb/programmi
sudo cp pacchettiA.txt /media/sdb/elenco_pacchetti

@Pc "B"
sudo cp -r programmi /var/apt/cache/archives
sudo cp elenco_pacchetti home
sudo dpkg --set-selections <pacchetti
sudo apt-get -u dselect-upgrade

....In buona sostanza questi sono i passaggi che ho intenzione di fare.

diabolicus
29-11-2008, 20:45
non ho mai provato una cosa del genere, se le versioni dei pacchetti da installare sono le stesse presenti nella cache dovrebbe funzionare (fai un apt-get update nel nuovo sistema per allinearlo a quello già installato e aggiornato)

gianlucab70
01-04-2009, 16:38
Apparte le dipendenze dovrebbe anche darti errore di sintassi perche il primo comando torna una lista del tipo:
apt install
apt-build deinstall
apt-utils install
ark install


Mentre l'altro comando accetta solo il nome del pacchetto "dpkg -i pkg1 pkg2 etc.."

Io da ignorante farei manualmente cosi'....

dpkg --get-selections|awk '{print $1}' > XXX
dpkg -i `cat XXX |while read pkg; do echo -e " $pkg\c "; done`

dando tuttla lista staticamente in pasto a dpkg nn dovresti avere problemi di dipendenza...

Ho provato ma i tuoi comandi non funzionano.

dal manuale debian:

dpkg --set-selections <pacchetti
apt-get -u dselect-upgrade
....ovviamente idem con patate.

6.4.11 Local package archive

In order to create a local package archive which is compatible with APT and the dselect system, Packages needs to be created and package files need to be populated in a particular directory tree.

A local deb repository similar to an official Debian archive can be made in this way:
# aptitude install dpkg-dev
# cd /usr/local
# install -d pool # physical packages are located here
# install -d dists/unstable/main/binary-i386
# ls -1 pool | sed 's/_.*$/ priority section/' | uniq > override
# editor override # adjust priority and section
# dpkg-scanpackages pool override /usr/local/ \
> dists/unstable/main/binary-i386/Packages
# cat > dists/unstable/main/Release << EOF
Archive: unstable
Version: 3.0
Component: main
Origin: Local
Label: Local
Architecture: i386
EOF
# echo "deb file:/usr/local unstable main" \
>> /etc/apt/sources.list

Alternatively, a quick-and-dirty local deb repository can be made:
# aptitude install dpkg-dev
# mkdir /usr/local/debian
# mv /some/where/package.deb /usr/local/debian
# dpkg-scanpackages /usr/local/debian /dev/null | \
gzip - > /usr/local/debian/Packages.gz
# echo "deb file:/usr/local/debian ./" >> /etc/apt/sources.list

These archives can be remotely accessed by providing access to these directories through either HTTP or FTP methods and changing entries in /etc/apt/sources.list accordingly.


Questa invece è troppo macchinosa.

Ma non c'è il sistema per impostare un repo locale direttamente in sources.lst ?
Tipo queste:



deb = localhost://var/cache/apt/archives
ftp://localhost/var/cache/apt/archives
server = file:///var/cache/apt/archives
Ho fatto diversi tentativi ma è come se c'è un errore di sintssi.

Ovviamente ho copiato tutti i pacchetti nella cache.

con dpkg -i *
me li spacchetta tutti ma poi ovviamente lavorando in ricorsivo restituisce errore.
Chiedo aiuto :muro: :muro:

gianlucab70
03-04-2009, 21:13
....:mad::incazzed: ..Purtroppo niente da fare.
Ho provato anche l'installazione manuale, cioè quella diretta con dpkg -i (per intenderci).
Peggio che andar di notte !. Addirittura sembra che dpkg non ricordi nemmeno i pacchetti già installati e continui ad invocare dipendenze insoddisfatte.

Oddio!! ...potrebbe anche essere che lanciando in precedenza quel dpkg -i * gli abbia fatto perdere l'orientamento.

Comunque sia ho risolto in maniera brutale.
Ho spianato il tutto reinstallando una netinstall nuova di pacca e poi con un live cd di Ubuntu , in chroot ho installato il dovuto.;)

Pazienza!!!

Chroot, grazie di esistere!!:eek: :eek: