• [gelöscht]

  • Bearbeitet
Hallo zusammen,

ich versuche gerade ein System zu updaten, dass ich seit einigen Monaten (ich tippe auf Frühjahr 2019) ausgeschaltet war und nicht aktualisiert wurde. Mein Update Versucht läuft leider auf folgenden Fehler:

$pacman -Syu
(...)
Fehler: Konnte Datei /var/cache/pacman/pkg/libarchive-3.4.1-1-x86_64.pkg.tar.zst nicht öffnen: Unrecognized archive format
Fehler: Konnte Datei /var/cache/pacman/pkg/git-2.24.1-4-x86_64.pkg.tar.zst nicht öffnen: Unrecognized archive format
Fehler: Konnte Datei /var/cache/pacman/pkg/linux-5.4.7.arch1-1-x86_64.pkg.tar.zst nicht öffnen: Unrecognized archive format
Fehler: Konnte Datei /var/cache/pacman/pkg/s-nail-14.9.16-1-x86_64.pkg.tar.zst nicht öffnen: Unrecognized archive format
Fehler: Konnte Datei /var/cache/pacman/pkg/smartmontools-7.1-1-x86_64.pkg.tar.zst nicht öffnen: Unrecognized archive format
Fehler: Konnte Datei /var/cache/pacman/pkg/sudo-1.8.30-1-x86_64.pkg.tar.zst nicht öffnen: Unrecognized archive format
Fehler sind aufgetreten, keine Pakete wurden aktualisiert.

Zunächst habe ich mich auf "Unrecognized archive format" konzentriert, leider ändert sich durch das Folgende nichts:
$pacman -Sy archlinux-keyring
$sudo rm -f /var/lib/pacman/sync/*
$sudo pacman -Syu

Danach bin ich auf das neue Kompressionsverfahren zstd gestoßen, dass im Oktober 2019 eingeführt wurde (https://www.archlinux.de/news/32816-Neuer-Kompressionsalgorithmus-fuer-Pakete). Allerdings müsste mein System meiner Meinung nach aktuell genug sein:

$pacman -Q | grep pacman
pacman 5.2.1-1
$pacman -Q | grep libarchive
libarchive 3.3.2-1

Eine weitere Aktualisierung dieser Pakete schlägt leider erneut fehl
$ pacman -S pacman libarchive
(...)
Pakete (2) libarchive-3.4.1-1 pacman-5.2.1-1
(...)
Fehler: Konnte Datei /var/cache/pacman/pkg/libarchive-3.4.1-1-x86_64.pkg.tar.zst nicht öffnen: Unrecognized archive format
Fehler: Konnte den Vorgang nicht durchführen (Kann Paketdatei nicht öffnen)
Fehler sind aufgetreten, keine Pakete wurden aktualisiert.

So langsam gehen wir die Ideen aus. Hat jemand einen Tipp für mich?
(Bin ich auf der richtigen Spur? Wie bekomme ich den zstd Support in mein System bzw. wie das libarchive nochmals aktualisiert?)

Vielen Dank
Martin
Versuche erst mal nur ein pacman -Sy pacman base

libarchive ist aktuell im zstd Archivformat. Du kannst aber die Vorversion 3.4.0-3 installieren, dass auch schon zstd mit drin hat. Hier ist ein Link von dem Paket:
https://fz-juelich.sciebo.de/s/vXY5D0G550HW6QU
dass als xz Archiv vorhanden ist.
Danach noch ein pacman -Su sollte alles aktualisieren können.

Die aktuellen Pakete pacman und base sind noch im xz Archivformat und müßten sich mit einem älteren pacman noch installieren lassen.
Das Paket base war früher eine Gruppe und muß als Paket nochmal nachinstalliert sein. Siehe auch hier: https://www.archlinux.de/news/32759-Ersetzung-der-Gruppe-base-durch-Metapaket-base
  • [gelöscht]

Danke für deine Antwort. Das mit dem Base Paket werde ich ausprobieren.

Hast du zu deinen Tipp das libarchive Paket „irgendwoher holen“ einen Ansatz für mich? Gibt es irgendwo ein Archiv?

Danke
Martin
  • [gelöscht]

PS: kann ich das Paket manuell entpacken und an die richtigen Stellen schieben?
Siehe meinen Beitrag oben, den habe ich verändern müssen. Da ist auch ein libarchive dabei. Das kannst du per pacman -U libarchive... installieren.
Irgendwas manuell entpacken und verschieben usw. ist nicht ratsam. Am Paketmanager vorbei zu installieren ist keine gute Idee.
  • [gelöscht]

Danke Greg für deine super Hilfe. Es hat auf Anhieb funktioniert. Perfekt :-)

PS: Ich bin momentan noch als Gast unterwegs. Hat jemand eine Chance den Thread auf SOLVED zu setzen?
MartinP schrieb..Es hat auf Anhieb funktioniert. Perfekt ....
Es wäre noch sehr nett, wenn du deinen Vorgang genau beschreiben könntest, da sicher Andere auf das gleiche Problem stoßen könnten.

Es gibt übrigens noch eine elegante und sogar offizielle Möglichkeit:
Man installiere sich das Paket asp. Ist noch als xz Archiv aktuell.
$ asp checkout libarchive
Das macht ein Verzeichnis ~/libarchive
In ~/libarchive/trunk/ sind die nötigen Dateien die zum Bauen des Pakets erforderlich sind.
Ein $ makepkg macht eine Fehlermeldung wegen fehlendem Schlüssel.
Mit $ makepkg --skippgpcheck wird das aktuelle Paket libarchive-3.4.1-1-x86_64.pkg.tar.xz neu gebaut.
Das kann man mit # pacman -U *.pkg.tar.xz installieren.
Danach ein # pacman -Sy pacman sorgt für das neueste pacman.
Das komplette update läßt sich jetzt per # pacman -Syu durchführen in denen auch zstd Archive mit dabei sind.
Damit wäre auch ein älteres Arch-Linux wieder hinzukriegen solange asp und pacman selber noch als xz-Archiv zu bekommen sind.
Gruß aus DN
Greg
Greg schrieblibarchive ist aktuell im zstd Archivformat. Du kannst aber die Vorversion 3.4.0-3 installieren, dass auch schon zstd mit drin hat. Hier ist ein Link von dem Paket:
https://fz-juelich.sciebo.de/s/vXY5D0G550HW6QU
Greg ich wollte dir nur danke sagen - du bist mein Held des Abends. Ich hatte ein (recht lange nicht mehr aktualisiertes) System updaten wollen und bin daran gescheitert mir das Packet selber zu bauen (ich hatte mir die PKGBUILD von zstd und libarchive aus dem gleichen commit aus dem November geholt, bin dann aber nach der Installation des gebauten zstd bei den Checks für zstd beim Bauen von libarchive nicht weiter gekommen)

Lange Rede, kurzer Sinn: Danke 🙂
2 Monate später
  • [gelöscht]

Greg schrieb
MartinP schrieb..Es hat auf Anhieb funktioniert. Perfekt ....
Es wäre noch sehr nett, wenn du deinen Vorgang genau beschreiben könntest, da sicher Andere auf das gleiche Problem stoßen könnten.

Es gibt übrigens noch eine elegante und sogar offizielle Möglichkeit:
Man installiere sich das Paket asp. Ist noch als xz Archiv aktuell.
$ asp checkout libarchive
Das macht ein Verzeichnis ~/libarchive
In ~/libarchive/trunk/ sind die nötigen Dateien die zum Bauen des Pakets erforderlich sind.
Ein $ makepkg macht eine Fehlermeldung wegen fehlendem Schlüssel.
Mit $ makepkg --skippgpcheck wird das aktuelle Paket libarchive-3.4.1-1-x86_64.pkg.tar.xz neu gebaut.
Das kann man mit # pacman -U *.pkg.tar.xz installieren.
Danach ein # pacman -Sy pacman sorgt für das neueste pacman.
Das komplette update läßt sich jetzt per # pacman -Syu durchführen in denen auch zstd Archive mit dabei sind.
Damit wäre auch ein älteres Arch-Linux wieder hinzukriegen solange asp und pacman selber noch als xz-Archiv zu bekommen sind.
Gruß aus DN
Greg

Danke für diese ausführliche Beschreibung zum Bauen des Pakets libarchive.
Erst funktionierte es nicht auf dem betroffenden, veralteten System, jedoch konnte ich das Paket auf einem anderen System bauen, übertragen und erfolgreich auf dem veraltete System installieren. Nun laufen auch wieder die Aktualisierungen der anderen Pakete.
Gruß aus Niedersachsen
5 Monate später
  • [gelöscht]

Es gibt noch einen anderen (einfacheren) Weg:

hierzu einfach in der pacmon.conf die Signaturprüfung ausschalten:
vim  /etc/pacman.conf 
# SigLevel = Required DatabaseOptoinal
SigLevel = Never
und im Anschluss das letzte tar.xz Paket der libarchive einspielen:
 pacman -U https://archive.archlinux.org/packages/l/libarchive/libarchive-3.4.0-3-x86_64.pkg.tar.xz
im Anschluss noch ein Packman -Syu und fertig ist der Salat

Vergesst nicht danach die Signaturprüfung wieder einzuschalten.

Viel Glück
😃
Die Signaturprüfung zu deaktivieren ist eine extrem dumme Idee, da es somit ein leichtes ist, Malware untergeschoben zu bekommen.