tar-Archiv entpacken ähnlich wie rsync --delete

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

tar-Archiv entpacken ähnlich wie rsync --delete

Beitrag von RobertDebiannutzer » 08.06.2018 23:51:06

Edit 09.06. 15:19 Uhr: Korrektur

Ich habe ein Tar-Archiv: "linux-source-4.9.tar.xz".
Das entpacke ich mit "tar xaf", dabei wird dann automatisch der Ordner "linux-source-4.9" erstellt mit den extrahierten Dateien.
Gut, nun ist das Ergebnis 2,5G groß , das muss man eigentlich nicht unbedingt noch einmal entpacken.
Wie kann ich also ein Tar-Archiv so entpacken, dass nur die Änderungen geschrieben werden, aber nicht alles nochmal? So wie rsync mit --delete Option. Also vorhandene Dateien werden nur geupdatet, wenn sie sich von der neueren Version unterscheiden. Außerdem werden Dateien, die nicht mehr existieren, gelöscht.
Geht das? Oder wenn nicht, gibt es dann vielleicht irgendeine andere Möglichkeit, das von mir Gewünschte zu erreichen?
In "man tar" finde ich im entsprechenden Abschnitt nur Folgendes, von dem mir nichts zu passen scheint:

Code: Alles auswählen

   Overwrite control
       These options control tar actions when extracting a file over an existing copy on disk.

       -k, --keep-old-files
              Don't replace existing files when extracting.

       --keep-newer-files
              Don't replace existing files that are newer than their archive copies.

       --no-overwrite-dir
              Preserve metadata of existing directories.

       --one-top-level[=DIR]
              Extract all files into DIR, or, if used without argument, into a subdirectory named by the base name of the archive (minus standard compression suffixes recognizable by --auto-compress).

       --overwrite
              Overwrite existing files when extracting.

       --overwrite-dir
              Overwrite metadata of existing directories when extracting (default).

       --recursive-unlink
              Recursively remove all files in the directory prior to extracting it.

       --remove-files
              Remove files from disk after adding them to the archive.

       --skip-old-files
              Don't replace existing files when extracting, silently skip over them.

       -U, --unlink-first
              Remove each file prior to extracting over it.

       -W, --verify
              Verify the archive after writing it.

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: tar-Archiv entpacken ähnlich wie rsync --delete

Beitrag von cronoik » 09.06.2018 22:59:12

Vielleicht verstehe ich dich falsch, aber was spricht gegen die Option:
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
08.06.2018 23:51:06
--keep-newer-files Don't replace existing files that are newer than their archive copies.
?
Hilf mit unser Wiki zu verbessern!

RobertDebiannutzer
Beiträge: 385
Registriert: 16.06.2017 09:52:36

Re: tar-Archiv entpacken ähnlich wie rsync --delete

Beitrag von RobertDebiannutzer » 11.06.2018 14:27:02

Diese Option ersetzt keine Dateien, die neuer sind. Aber was ist mit Dateien, die den gleichen Zeitstempel haben, und somit auch nicht ausgetauscht werden müssten?
Naja, ich habe meinen Kernel jetzt eben in tmpfs entpackt und gebaut. Man muss nur aufpassen, dass man sich die config vor dem Reboot sichert. 8O

Antworten