
Umgang mit .pacnew Dateien in Arch Linux
Verstehen Sie, wie Arch Linux während Updates .pacnew-Dateien erstellt und wie Sie Konfigurationsänderungen verwalten können, ohne Ihre Einrichtung zu beschädigen.
Eine Übersetzung von 🇬🇧 Linuxiac.com
Wenn Sie Arch Linux verwenden, haben Sie wahrscheinlich bemerkt, dass nach einer Weile und insbesondere nach Systemaktualisierungen Dateien mit der Erweiterung .pacnew auf Ihrem System erscheinen. Und da Sie dies lesen, ist das wahrscheinlich der Grund, warum Sie hierher gekommen sind: um herauszufinden, was diese Dateien sind, warum sie erscheinen und was Sie mit ihnen tun sollen.
Nun, dann sind Sie hier genau richtig. Im Folgenden werde ich versuchen, alles klar und verständlich zu erklären. Beginnen wir also mit der wichtigsten Frage.
Was sind .pacnew-Dateien in Arch Linux?
Wenn Sie Ihr Arch Linux-System mit einem Befehl wie pacman -Syu aktualisieren, enthalten einige bereits installierte Pakete Konfigurationsdateien, die in der Regel unter /etc gespeichert sind. Wenn Sie jedoch eine dieser Dateien angepasst haben und der Paketbetreuer sie in einer aktualisierten Version ändert, überschreibt Arch (natürlich) nicht Ihre lokal installierte Version.
Dies ist eine Sicherheitsmaßnahme, die verhindert, dass Ihre lokalen Änderungen verloren gehen. Stattdessen erstellt Pacman im Hintergrund eine .pacnewDatei – eine „neue“ Version der Konfigurationsdatei, die mit dem aktualisierten Paket geliefert wird, sodass Sie Zugriff auf die aktualisierte Konfiguration haben, die das Paket nun bietet. Stellen Sie sich das so vor:
- Ihre aktuelle Konfiguration = Ihre benutzerdefinierten Einstellungen.
- Die Datei
.pacnew= die aktualisierte Version des Betreuers.
Wenn beispielsweise die Datei /etc/pacman.conf upstream geändert wurde, sehen Sie nach der Aktualisierung die Datei /etc/pacman.conf.pacnew. Sie können dann beide Dateien nebeneinander öffnen (mehr dazu weiter unten) und die wichtigen Unterschiede kopieren.
Nachdem Sie die Datei zusammengeführt oder ersetzt haben, können Sie die .pacnew Version sicher löschen, um Ordnung zu halten. Das ultimative Ziel ist es, die Konfiguration Ihres Systems auf dem neuesten Stand zu halten, ohne Ihre benutzerdefinierten Anpassungen zu verlieren. Und wenn Sie sich bereits fragen, wie Sie die Zusammenführung selbst durchführen können, lesen Sie einfach weiter. Es ist eigentlich eine ziemlich einfache Aufgabe.
So vergleichen und führen Sie .pacnew-Dateien in Arch Linux zusammen
Nachdem wir nun die Theorie behandelt haben, ist es Zeit, praktisch zu werden. Der erste Schritt besteht erwartungsgemäß darin, zu überprüfen, welche .pacnew Dateien auf unserem Arch-System vorhanden sind. Dafür bietet Arch ein praktisches kleines Tool namens pacdiff, das diese Dateien für Sie findet.
Es ist jedoch nicht standardmäßig enthalten, sondern Teil des pacman-contrib Pakets. Beginnen wir also damit, dieses zu installieren.
Ganz einfach, oder? Jetzt, wo wir pacdiff eingerichtet haben, schauen wir uns mal alle .pacnew Dateien an, die auf unserem Arch-System verfügbar sind.
Wie Sie auf dem Bild oben sehen können, hat das System still und leise sechs .pacnew Dateien erstellt, die nun darauf warten, von uns bearbeitet zu werden. Hier sind die Möglichkeiten, wie wir nun weiter vorgehen können.
Die einfachste und naheliegendste Lösung – an die Sie wahrscheinlich schon gedacht haben – besteht darin, die .pacnew Datei einfach über die Originaldatei zu kopieren (oder zu verschieben). Etwa so:
Anschließend können Sie die Datei pacnew löschen und fortfahren. Sicher, das mag in manchen Fällen funktionieren, aber im Allgemeinen ist es keine gute Idee, und ich rate dringend davon ab.
Hier sind die Gründe dafür: Erstens wissen Sie dann überhaupt nicht, was sich in der neuen Version tatsächlich geändert hat. Sie vertrauen einfach blind darauf, dass nichts kaputt geht. Zweitens funktioniert dieser Ansatz nur – und ich meine nur –, wenn Sie absolut sicher sind, dass Sie diese Datei zuvor nicht selbst geändert haben, denn in diesem Fall gehen alle Ihre wertvollen manuellen Änderungen verloren.
Aber vor allem sind Sie ein Arch-Benutzer (übrigens). Das bedeutet, dass Sie immun gegen die üblichen Bedenken sein sollten, welche die Befehlszeile (leider) bei einigen Benutzern hervorruft. Anstatt Abkürzungen zu nehmen, schlage ich vor, eine ordnungsgemäße, konsistente Vorgehensweise für den Umgang mit .pacnew Dateien zu befolgen, die ich Ihnen gleich zeigen werde.
Um die Unterschiede zwischen Ihrer Originaldatei und ihrer .pacnew Version zu vergleichen – und um alle Änderungen zusammenzuführen – können Sie das praktische Tool vimdiff verwenden, das im vim-Paket enthalten ist. Wenn Sie es also noch nicht installiert haben, führen Sie einfach Folgendes aus:
Ich bin mir sicher, dass viele schon bereit sind, sich zu beschweren, also warum nicht die Dinge einfacher machen und eine der vielen GUI-Anwendungen verwenden, die für diesen Zweck verfügbar sind? Der Grund ist einfach: Diese ziehen in der Regel eine Menge zusätzlicher Abhängigkeiten nach sich, wie z. B. Qt oder GTK, je nach Ihrer Desktop-Umgebung, was nicht für jede Konfiguration ideal ist. Ich bevorzuge eine universelle Lösung, und für diese Aufgabe eignet sich das terminalbasierte vimdiff perfekt.
Führen Sie also Folgendes aus, und pacdiff ruft standardmäßig vimdiff auf:
Zur Verdeutlichung: Damit werden alle gefundenen .pacnew Dateien nacheinander verarbeitet. Leider akzeptiert pacdiff selbst kein Dateinamenargument. Entscheidend sind hier die Optionen, die Ihnen zur Verfügung stehen:
- (V)iew: Öffnet einen Nebeneinander-Vergleich Ihrer aktuellen Datei und der
.pacnewVersion. - (M)erge: Versucht, die
.pacnewDatei und die vorhandene Datei interaktiv zu mergen. - (S)kip: Ignoriert diese Datei vorerst und fährt mit der nächsten fort.
- (R)emove pacnew: Löscht die Datei
.pacnew, ohne Ihre aktuelle Konfiguration zu verändern. - (O)verwrite with pacnew: Ersetzt Ihre vorhandene Konfigurationsdatei durch die
.pacnewVersion. - (Q)uit: Beendet
pacdiffsofort, ohne die restlichen Dateien zu verarbeiten.
Der nächste Schritt besteht natürlich darin, die Unterschiede zu überprüfen. Drücken Sie v, dann Enter, und Sie gelangen zum nächsten vimdiff Bildschirm, auf dem die erste von pacdiff gefundene Datei angezeigt wird – in diesem Beispiel /etc/hosts.
Das Wichtigste, was Sie sich merken sollten, da es die Grundlage für unsere nächsten Schritte bildet, ist, dass im linken Fensterbereich die Datei .pacnew angezeigt wird, während im rechten Fensterbereich Ihre aktuelle Originaldatei angezeigt wird, die das System tatsächlich verwendet.
Hier können Sie Änderungen zwischen den beiden verglichenen Dateien mit den leistungsstarken Diff-Befehlen dp und do verschieben.
- dp: Kopiert (überträgt) die Unterschiede aus der aktuellen Datei in die andere Datei. Denken Sie sich das so: „Ich möchte diese Änderung dorthin übertragen.“
- do: Kopiert (bezieht) die Unterschiede aus der anderen Datei in die aktuelle Datei. Denken Sie sich das so: „Ich möchte diese Änderung übernehmen und hierher übertragen.“
Bewegen Sie einfach den Cursor auf die Zeile, die sich unterscheidet, und geben Sie einen der beiden oben genannten Befehle ein, um die gewünschten Änderungen vorzunehmen. Wenn Sie fertig sind, geben Sie den Vim-Befehl :wqa (write and quit all) ein und drücken Sie die Eingabetaste – dadurch gelangen Sie zurück zum Hauptbildschirm.
Da wir bereits alle Änderungen vorgenommen haben, können wir die Datei .pacnew sicher entfernen, indem wir r eingeben und die Eingabetaste drücken. Die Datei wird entfernt und pacdiff fährt automatisch mit der nächsten Datei fort, wo Sie erneut gefragt werden, wie Sie fortfahren möchten.
Wie Sie sehen, können Sie all dies umgehen, indem Sie die Datei einfach zusammenführen oder direkt überschreiben, aber ich rate Ihnen dringend davon ab. Der sicherste (und professionellste) Ansatz besteht darin, jede Änderung selbst zu überprüfen und zu entscheiden, wie Sie damit umgehen möchten.
Zum Schluss noch ein kurzer Hinweis: Wenn Sie sich im Vergleichsmodus (vimdiff) befinden, können Sie zwischen den Fenstern wechseln, indem Sie Strg +W drücken und dann mit der linken oder rechten Pfeiltaste den Cursor auf das gewünschte Fenster bewegen.
Fazit
Die Verwaltung von .pacnew Dateien ist einfach Teil der Wartung eines gesunden und vorhersehbaren Arch-Linux-Systems. Wie Sie bereits gelernt haben, scheinen diese Dateien Ihre benutzerdefinierten Konfigurationen vor dem Überschreiben zu schützen, aber sie signalisieren auch, dass sich etwas im Upstream geändert hat. Es liegt ganz bei Ihnen, zu überprüfen und zu entscheiden, wie diese Änderungen integriert werden sollen.
Für weitere Informationen empfehle ich Ihnen auch, das Arch Wiki zu konsultieren.
Vielen Dank für Ihre Zeit! Ich hoffe, Sie finden meine Tipps hilfreich. Wie immer freue ich mich über jedes Feedback.





















Comments