Ich versuche ein sehr altes System auf den neuesten Stand zu bringen. Bisherige Versuche scheiterten an einem PGP-Schlüsselproblem (siehe
https://forum.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:
- Boot using the Arch installation media. Preferably use a recent media so that the pacman version matches/is newer than the system.
- Mount the system's root filesystem, e.g. mount /dev/sdaX /mnt as root, and check the mount has sufficient space with df -h
- 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
- 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.
- After the upgrade, one way to double-check for not upgraded but still broken packages: find /mnt/usr/lib -size 0
- 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?