Du bist nicht angemeldet.

#1 17.10.2020 14:09:02

phunsoft
Mitglied

[Solved] Problem beim Update eines sehr alten Systems mit Live-Medium

Ich versuche ein sehr altes System auf den neuesten Stand zu bringen. Bisherige Versuche scheiterten an einem PGP-Schlüsselproblem (siehe https://bbs.archlinux.de/viewtopic.php?id=33580). Da ich dort nicht weiter gekommen bin, versuche ich es jetzt (wie mir geraten wurde) mit Hilfe eines Live-Mediums.

Ich habe das System ab dem aktuellen ISO-Image hochgefahren und versuche jetzt das System wie im pacman-Wiki https://wiki.archlinux.org/index.php/pacman beschrieben, auf den neuen Stand zu bringen. Obwohl das Problem im wiki ein "database write error" war, schien es mir einen Versuch Wert zu sein. Die Anweisungen sind:

  1. Boot using the Arch installation media. Preferably use a recent media so that the pacman version matches/is newer than the system.

  2. Mount the system's root filesystem, e.g. mount /dev/sdaX /mnt as root, and check the mount has sufficient space with df -h

  3. Mount the proc, sys and dev filesystems as well: mount -t proc proc /mnt/proc; mount --rbind /sys /mnt/sys; mount --rbind /dev /mnt/dev

  4. If the system uses default database and directory locations, you can now update the system's pacman database and upgrade it via pacman --sysroot /mnt -Syu as root.

    ==> Update: Mit der Option "--sysroot" funktioniert das möglicherwise (wie bei mir) nicht. Was schliesslich funktioniert hat: pacman --root /mnt -Syu --cachedir /mnt/var/cache/pacman/pkg.

  5. After the upgrade, one way to double-check for not upgraded but still broken packages: find /mnt/usr/lib -size 0

  6. Followed by a re-install of any still broken package via pacman --sysroot /mnt -S package.

Bei Schritt 4 reklamiert pacman, dass es die Datenbank-Files nicht von den Mirrors laden kann, da der Hostname nicht aufgelöst werden kann:

error: failed retrieving file 'some-database.db' from some.host.name : Could not resolve host: some.host.name

Diese Meldung erscheint für "some-database.db": core.db, extra.db und community.db und es werden jeweils eine Liste grösser als 100 Hostnamen probiert. Es endet pro DB mit der Meldung

error: failed to update ....db (invalid url for server)
error: faile to synchronize all databases.

Ich kann jedoch beliebige dieser Hosts mit ping erreichen, die Netzwerkverbindung und DNS funktionieren also.
Warum kann pacman die Namen nicht auflösen?

Beitrag geändert von phunsoft (18.10.2020 16:28:00)

Offline

#2 17.10.2020 15:04:45

Greg
Mitglied

Re: [Solved] Problem beim Update eines sehr alten Systems mit Live-Medium

phunsoft schrieb:

..error: failed to update ....db (invalid url for server)
error: faile to synchronize all databases.

Hast du einen Server in der /mnt/etc/pacman.d/mirrorlist ausgesucht bzw. den Kommentator entfernt?
Mal einen anderen auswählen.

Offline

#3 17.10.2020 19:59:52

phunsoft
Mitglied

Re: [Solved] Problem beim Update eines sehr alten Systems mit Live-Medium

Greg schrieb:

Hast du einen Server in der /mnt/etc/pacman.d/mirrorlist ausgesucht bzw. den Kommentator entfernt?
Mal einen anderen auswählen.

Ich habe die mirrorlist vom Live-System nach /mnt/etc kopiert und darin sind 80 Server aufgelistet, alle aktiv, d.h. ohne Kommentarzeichen. Gleiches Resultat: Es kann kein Hostnme aufgelöst werden, wenn pacman mit --sysroot läuft. Das Auflösen und z.B. ping funktionieren jedoch von der Command Line. Was fehlt hier?

Offline

#4 17.10.2020 20:45:19

phunsoft
Mitglied

Re: [Solved] Problem beim Update eines sehr alten Systems mit Live-Medium

Ich habe hier einen interessanten Beitrag zu pacman --sysroot gefunden: Making the new pacman --sysroot work (https://bbs.archlinux.org/viewtopic.php?id=238486). Mit dem dort vorgeschlagenen

pacman --root /mnt -Syu --cachedir /mnt/var/cache/pacman/pkg

komme ich einen wesentlichen Schritt weiter. Alle benötigten Keys werden installiert, Packages werden heruntergeladen und verifiziert. Das alles ohne Fehler.

Es treten jedoch danach eine Anzahl Fehler auf, die die Installation im Moment noch abbrechen lassen:

error: failed to commit transaction (conflicting files)
ca-certificates-utils: /mnt/etc/ssl/certs/ca-certificates.crt exists in filesystem
xorgproto: /mnt/usr/include/X11/DECkeysym.h exists in filesystem (owned by xproto)
xorgproto: /mnt/usr/include/X11/HP.h exists in filesystem (owned by xproto)
...
xorgproto: /mnt/usr/include/X11/ap_keysym.h exists in filesystem (owned by xproto)
xorgproto: /mnt/usr/include/X11/extensions/EVI.h exists in filesystem (owned by xextproto)
...
xorgproto: /mnt/usr/include/X11/extensions/xtestproto.h exists in filesystem (owned by xextproto)
xorgproto: /mnt/usr/include/X11/keysym.h exists in filesystem (owned by xproto)
xorgproto: /mnt/usr/include/X11/keysymdef.h exists in filesystem (owned by xproto)
libX11: /mnt/usr/include/X11/extensions/XKBgeom.h exists in filesystem (owned by bkproto)
open-vm-tools: /mnt/usr/bin/vm-support exists in filesystem
Errors occurred, no packages were upgraded.

Das open-vm-tools Package kann ich entfernen und später wieder hinzufügen. Aber was mache ich mit den anderen Files, bzw. Packages? Warum reklammiert pacman hier die Existenz all der C-header Files? Ich mach' mich mal auf die Suche...

Offline

#5 17.10.2020 21:17:20

Taeghoo9
Gast

Re: [Solved] Problem beim Update eines sehr alten Systems mit Live-Medium

phunsoft schrieb:

error: failed to commit transaction (conflicting files)
ca-certificates-utils: /mnt/etc/ssl/certs/ca-certificates.crt exists in filesystem

Dazu gab es auch eine Ankündigung:
https://bbs.archlinux.de/viewtopic.php?id=30267

xorgproto: /mnt/usr/include/X11/DECkeysym.h exists in filesystem (owned by xproto)
xorgproto: /mnt/usr/include/X11/HP.h exists in filesystem (owned by xproto)

Auch dazu gab es eine Ankündigung:
https://bbs.archlinux.de/viewtopic.php?id=32947

Ich würde erst mal hier https://bbs.archlinux.de/viewforum.php?id=257 alle Ankündigungen lesen, was sich seit der letzten Aktualisierung getan hat, möglicherweise klärt sich dann schon das eine oder andere Problem

#6 17.10.2020 22:09:00

Taeghoo9
Gast

Re: [Solved] Problem beim Update eines sehr alten Systems mit Live-Medium

phunsoft schrieb:

Aber was mache ich mit den anderen Files, bzw. Packages? Warum reklammiert pacman hier die Existenz all der C-header Files? Ich mach' mich mal auf die Suche...

Die Pakete xproto, xextproto und bkproto gibt es mittlerweile nicht mehr in den aktuellen Repos, die Dateien befinden sich in anderen Paketen, deshalb kommt es zu den Konflikten.

Die Pakete (und die dazugehörenden Abhängigkeiten) wirst du erst de-installieren müssen, bevor du xorgproto bzw. libX11 installieren kannst. Das ist es auch, was Dirk in seinem Posting beschrieben hat, dass hier möglicherweise noch manuelle Eingriffe notwendig sind.

#7 17.10.2020 22:35:54

phunsoft
Mitglied

Re: [Solved] Problem beim Update eines sehr alten Systems mit Live-Medium

Taeghoo9 schrieb:

Die Pakete xproto, xextproto und bkproto gibt es mittlerweile nicht mehr in den aktuellen Repos, die Dateien befinden sich in anderen Paketen, deshalb kommt es zu den Konflikten.

Die Pakete (und die dazugehörenden Abhängigkeiten) wirst du erst de-installieren müssen, bevor du xorgproto bzw. libX11 installieren kannst. Das ist es auch, was Dirk in seinem Posting beschrieben hat, dass hier möglicherweise noch manuelle Eingriffe notwendig sind.

Vielen Dank für deine Hinweise.

Ich bin inzwischen auf anderem Weg darauf gestossen, dass pacman die Dateien neu nicht mehr einem Packet zuordnenen kann. Habe alle manuell in ein "Saved"-Unterverzeichnis verschoben und danach lief der Update durch.

Ich werde mir die von Dir gezeigten Beiträge noch durchlesen.

Werde dann morgen vom jetzt aktuslisierten System booten und nochmals einen pacman -Syu machen.

Wie setzte ich denn den Beitrag auf "solved", d.h. wie kann den Titel ändern?

Offline

#8 17.10.2020 23:08:24

Taeghoo9
Gast

Re: [Solved] Problem beim Update eines sehr alten Systems mit Live-Medium

phunsoft schrieb:

Wie setzte ich denn den Beitrag auf "solved", d.h. wie kann den Titel ändern?

Einfach den ersten Beitrag aufrufen, da lässt sich das Thema editieren.

Ich würde trotzdem die veralteten Pakete entfernen, denn beim nächsten Update wird es wieder zu den Konflikten kommen, weil der pacman-Datenbank der lokal installierten Pakete immer noch die Dateien als mehreren Paketen zugehörend bekannt ist.

Pakete, die sich nicht in den offiziellen Repos befinden, kannst du mit "pacman -Qtm" finden, wobei dabei auch selbstgebaute Pakete des AUR berichtet werden. Dennoch sollte man diese Pakete einer Überprüfung unterziehen, weil einem die immer wieder mal vor die Füße fallen werden.

#9 18.10.2020 16:22:11

phunsoft
Mitglied

Re: [Solved] Problem beim Update eines sehr alten Systems mit Live-Medium

Taeghoo9 schrieb:
phunsoft schrieb:

Wie setzte ich denn den Beitrag auf "solved", d.h. wie kann den Titel ändern?

Einfach den ersten Beitrag aufrufen, da lässt sich das Thema editieren.

Soo einfach, ... wenn man's weiss :-)

Taeghoo9 schrieb:

Ich würde trotzdem die veralteten Pakete entfernen, denn beim nächsten Update wird es wieder zu den Konflikten kommen, weil der pacman-Datenbank der lokal installierten Pakete immer noch die Dateien als mehreren Paketen zugehörend bekannt ist.

Pakete, die sich nicht in den offiziellen Repos befinden, kannst du mit "pacman -Qtm" finden, wobei dabei auch selbstgebaute Pakete des AUR berichtet werden. Dennoch sollte man diese Pakete einer Überprüfung unterziehen, weil einem die immer wieder mal vor die Füße fallen werden.

Danke für den Hinweis. Ist erledigt.

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums