Am găsit acest paragraf în GNU gudron
doc, deci suprascrierea nu este acceptată de gudron
. Voi elimina fișierul original din tar și îl voi adăuga pe cel modificat.
https://www.gnu.org/software/tar/manual/html_node/how-to-update.html#how-to-update
4.2.3.1 Cum se actualizează o arhivă utilizând â--updateâ
Trebuie să utilizați argumente de nume de fișier cu operația â--updateâ (â-uâ). Dacă nu specificați niciun fișier, tar nu va acționa asupra niciunui fișier și nu vă va spune că nu a făcut nimic (ceea ce ar putea ajunge să vă încurce).
Pentru a vedea opțiunea â--updateâ la locul de muncă, creați un fișier nou, âclasicâ, în directorul de practică și ceva text suplimentar în fișierul âbluesâ, folosind orice editor de text . Apoi invocați tar cu operațiunea âupdateâ și opțiunea â--verboseâ (â-vâ) specificată, folosind numele tuturor fișierelor din directorul âpracticeâ ca argumente de nume de fișier:
$ tar --update -v -f collection.tar blues folk rock clasic
blues
clasic
$
Deoarece am specificat modul verbose, tar tipărește numele fișierelor la care lucrează, care în acest caz sunt numele fișierelor care trebuiau actualizate. Dacă rulați âtar --listâ și vă uitați la arhivă, veți vedea âbluesâ și âclassicalâ la sfârșitul acesteia. Vor exista în total două versiuni ale membrului âbluesâ; cel de la sfârșit va fi mai nou și mai mare, deoarece ați adăugat text înainte de a-l actualiza.
Motivul pentru care tar nu suprascrie fișierul mai vechi atunci când îl actualizează este că scrierea la mijlocul unei secțiuni de bandă este un proces dificil. Benzile nu sunt concepute pentru a merge înapoi. Consultați secțiunea Benzi și alte medii de arhivă, pentru mai multe informații despre benzi.
EDITAȚI | ×:
--șterge
nu funcționează/este foarte lent. Se pare că ștergerea fișierelor din tar nu este foarte fezabilă, poate prin proiectare. Cred că trebuie să extrag/elimină/reambalez, sau: https://unix.stackexchange.com/questions/68732/remove-files-from-tar-archive dar inca nu stiu cum.