dpkg --get-selections

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
Benutzeravatar
Strunz_1975
Beiträge: 2512
Registriert: 13.04.2007 14:29:32
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

dpkg --get-selections

Beitrag von Strunz_1975 » 02.03.2022 19:44:49

Hallo,

ich habe zwei Rechner und möchte die installierten Pakete vom einen auf den
anderen Rechner übertragen, dazu gebe ich folgendes ein:

dpkg --get-selections > IP.txt
dpkg --set-selections < IP.txt

Jetzt kommt folgende Fehlermeldung:
dpkg: Fehler: unerwartetes Zeilenende im Paketnamen in Zeile 1

hier ist das folgende File (IP.txt)

acroread:i386
acroread-data
acroread-debian-files:i386
acroread-dictionary-en
acroread-l10n-de:i386

Wer kann mir weiterhelfen?

Mfg
Strunz_1975
Debian Bookworm

reox
Beiträge: 2571
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: dpkg --get-selections

Beitrag von reox » 02.03.2022 20:33:08

unabhängig der problematik habe ich letztens Debianapt-clone gefunden. Das löst zwar nicht dieses problem, finde aber es ist deutlich einfacher in der anwendung, vor allem weil es auch die paketquellen mitsichert und anzeigt welche pakete auf dem zielsystem nicht installierbar sind.

Benutzeravatar
Strunz_1975
Beiträge: 2512
Registriert: 13.04.2007 14:29:32
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: dpkg --get-selections

Beitrag von Strunz_1975 » 02.03.2022 20:44:56

reox hat geschrieben: ↑ zum Beitrag ↑
02.03.2022 20:33:08
unabhängig der problematik habe ich letztens Debianapt-clone gefunden. Das löst zwar nicht dieses problem, finde aber es ist deutlich einfacher in der anwendung, vor allem weil es auch die paketquellen mitsichert und anzeigt welche pakete auf dem zielsystem nicht installierbar sind.
Hallo,

dieses Problem hab ich schon:

viewtopic.php?t=183010&start=15
Debian Bookworm

reox
Beiträge: 2571
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: dpkg --get-selections

Beitrag von reox » 02.03.2022 20:56:56

Strunz_1975 hat geschrieben: ↑ zum Beitrag ↑
02.03.2022 20:44:56
viewtopic.php?t=183010&start=15
ok das wusste ich nicht. Offenbar fehlt da die Datei `'var/lib/apt-clone/installed.pkgs` im tar.

Das Problem mit dpkg ist sehr wahrscheinlich, dass das Format falsch ist:

Code: Alles auswählen

       --set-selections
           Set package selections using file read from stdin. This file should be in the format “package state”, where state is one of install, hold, deinstall or purge. Blank lines and comment lines beginning with ‘#’ are also permitted.

           The available file needs to be up-to-date for this command to be useful, otherwise unknown packages will be ignored with a warning. See the --update-avail and --merge-avail commands for more information.
In der zeile sollte IMHO ein `install` stehen, was es nicht tut. Was aber merkwürdigt ist wenn du es vorher mit --get-selections geholt hast.
vgl:

Code: Alles auswählen

# echo "bash" | dpkg --set-selections
dpkg: error: unexpected end of line in package name at line 1
# echo "bash install" | dpkg --set-selections
# echo $?
0

Benutzeravatar
Strunz_1975
Beiträge: 2512
Registriert: 13.04.2007 14:29:32
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: dpkg --get-selections

Beitrag von Strunz_1975 » 02.03.2022 21:36:01

Ich habe jetzt per "dpkg --set-selections < IP.txt "
folgende Aussage bekommen:

dpkg: Warnung: Paket nicht in der »status«- oder »available«-Datenbank

Kannst du mir bitte weiterhelfen, danke :-)
Debian Bookworm

Benutzeravatar
Strunz_1975
Beiträge: 2512
Registriert: 13.04.2007 14:29:32
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: dpkg --get-selections

Beitrag von Strunz_1975 » 02.03.2022 21:49:20

Hallo,

wenn ich folgenden Befehl eingebe: " sync-available"

kommt folgende Aussage:

Merging available database in /tmp/apt-available.CTGxZ8...done.
Informationen über verfügbare Pakete werden unter Verwendung von /tmp/apt-available.CTGxZ8 ersetzt.
dpkg: Fehler: Parsen der Datei »/tmp/apt-available.CTGxZ8«, nahe Zeile 1687963 Paket »libc-bin«:
Wert für Feld »Triggers-Pending« ist in diesem Kontext nicht erlaubt
Debian Bookworm

Benutzeravatar
Strunz_1975
Beiträge: 2512
Registriert: 13.04.2007 14:29:32
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: dpkg --get-selections

Beitrag von Strunz_1975 » 03.03.2022 10:29:49

Wie ändere ich das Format ?
Debian Bookworm

Benutzeravatar
Strunz_1975
Beiträge: 2512
Registriert: 13.04.2007 14:29:32
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Re: dpkg --get-selections

Beitrag von Strunz_1975 » 03.03.2022 10:50:32

Dann kommt diese Fehlermeldung:
https://nopaste.debianforum.de/41607
Debian Bookworm

soundrolf
Beiträge: 274
Registriert: 21.07.2009 13:50:22
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Köln

Re: dpkg --get-selections

Beitrag von soundrolf » 03.03.2022 14:36:46

Wer seinen neuen Rechner mit den Programmen seines alten Rechners haben
will kann das mit einer minimal Installations CD auf dem neuen Rechner in
der nachfolgender Weise durchführen.
Zuerst muss auf dem Original System eine Paket Liste erstellt werden.
Mit diesem Befehl wird die Paket Liste erzeugt. Das kann man als normaler
Benutzer, also ohne root Rechte, machen.

Code: Alles auswählen

dpkg --get-selections > paket-liste-$HOSTNAME
Diese Liste sollte danach auf einen Datenträger zB. einen USB Stick
Kopiert werden. Der neue Rechner bekommt jetzt eine minimal Installation.
Anschließend wird der Datenträger (USB Stick) eingesteckt und eingehangen.
Mit ’dmesg’ schauen welches Device am ende angezeigt wird (zB. /dev/sdd).
Nun mounten wir den USB Stick mit: mount /dev/sdd1 /mnt
Von hier Kopieren wir unsere Paket Liste auf das neue System mit: cp /mnt/-
paketliste /root/paketliste. Nachdem die Paket Liste Kopiert wurde können
wir den USB Stick wieder aushängen mit: umount /mnt Der USB Stick kann
jetzt ausgesteckt werden.
Jetzt müssen wir noch einige Befehle eintippen um das neue System auf
den Stand zu bringen wie es auf dem alten Rechner war.

Code: Alles auswählen

dpkg --clear-selections
dpkg --set-selections < paket-liste-$HOSTNAME
apt-get update
apt-get dselect-upgrade
Je nachdem wieviele Pakete auf dem alten Rechner waren, wird es etwas
dauern bis alle Pakete Installiert sind.

Gruß soundrolf

Antworten