> Van egy nagyméretű .tar fájlom. Kicsomagolni nincs hely. A tartalmát
> tömörítőprogrammal (pl. 7-zip) is át tudom nézni, ki tudom
> szelektálni: mi az ami kell és mi az, ami nem.
> Ha a 7-zip segítségével a .tar fájlból törlök fájlokat, akkor a
> törlési művelet során fájlsérülés, tehát a többi, .tar-ban lévő fájl
> sérülése előfordulhat?
> Nincs tömörítve mással, sima tar parancs segítségével van tömörítve,
> sem gzip, sem bzip2 programmal nincs rátömörítve.
> Tudom hogy ezt nem itt kellene megkérdezni, de sajnos jelenleg az a
> helyzet, hogy Windows-os (Windows 10, 64 bit) legújabb 7-zip
> filemanager esetén is érdekelne hogy nem okozhat -e adatsérülést.
Nem egészen értem, hogy egy tar fájlhoz miért kellene 7-zip, miért nem
jó maga a tar. Viszont bármit is használsz törlésre, az helyben fogja a
fáljt felülírogatni, tehát ha menet közben történik valami (elmegy az
áram, vagy a helyi adatmaffia nyom egy Ctrl+C-t), akkor bizony fennáll
az adatsérülés veszélye.
Szerintem vágj bele - legrosszabb esetben visszaállítod backup-ból. Ha
nincs backup, akkor meg úgysem fontos az az adat, ugyebár...
Ugyan írtad, hogy a teljes archívumot kicsomagolni nincs hely. De ha a
megtartani kívánt részek összességének van elég hely, akkor a törlést
végezheted egy pipe segítségével, mert a doksi szerint a "tar --delete"
működik stdin/stdout használata esetén is. Ekkor biztosan nem fog
sérülni az eredeti adat.
Ja: "sima tar parancs segítségével van tömörítve" - ne beszéljünk
össze-vissza, kérem szépen. A tar _NEM_ tömörít, hanem csomagol. Könnyű
megjegyezni: egy tömörített izé kisebb, mint az eredeti izé, egy
becsomagolt izé viszont nagyobb, mint az eredeti izé. Még akkor is, ha
vékony papírba csomagolod.
Gábor
_________________________________________________
linux lista - li...@mlf.linux.rulez.org
http://mlf.linux.rulez.org/mailman/listinfo/linux
Köszönöm a választ.
Gabor Gombas <gom...@digikabel.hu> írta, 2021. 01. 06.:
>
> Nem egészen értem, hogy egy tar fájlhoz miért kellene 7-zip, miért nem
> jó maga a tar. Viszont bármit is használsz törlésre, az helyben fogja a
> fáljt felülírogatni, tehát ha menet közben történik valami (elmegy az
> áram, vagy a helyi adatmaffia nyom egy Ctrl+C-t), akkor bizony fennáll
> az adatsérülés veszélye.
Többszáz fájl van benne, egyszerűbbnek tartom grafikus filemanager
segítségével kitörölgetni, ami nem kell.
>
> Szerintem vágj bele - legrosszabb esetben visszaállítod backup-ból. Ha
> nincs backup, akkor meg úgysem fontos az az adat, ugyebár...
Ez egy backup, viszonylag kevésbé fontos adatokról. :D
>
> Ugyan írtad, hogy a teljes archívumot kicsomagolni nincs hely. De ha a
> megtartani kívánt részek összességének van elég hely, akkor a törlést
> végezheted egy pipe segítségével, mert a doksi szerint a "tar --delete"
> működik stdin/stdout használata esetén is. Ekkor biztosan nem fog
> sérülni az eredeti adat.
Sose csináltam még ilyet és félek elrontanék valamit.
>
> Ja: "sima tar parancs segítségével van tömörítve" - ne beszéljünk
> össze-vissza, kérem szépen. A tar _NEM_ tömörít, hanem csomagol. Könnyű
> megjegyezni: egy tömörített izé kisebb, mint az eredeti izé, egy
> becsomagolt izé viszont nagyobb, mint az eredeti izé. Még akkor is, ha
> vékony papírba csomagolod.
Ebben teljesen igazad van, tévesen fogalmaztam: a .tar formátum nem
tömörített, ezt tudtam, csak arra akartam utalni hogy nem lett
összenyomva semmivel a .tar fájl, mivel akkor tömörítésről beszéltem,
ezért írhattam a tar parancs után is tömörítést.
Üdv: Csaba
Ez azért nem mindig van így... A backup nem isten. A restore az esetek
90+%-ában adatvesztéssel jár, mert az utolsó backup és a restore
időpontja közötti adatváltozás elvész. De poénnak elmegy :)
Máskülönben szerintem a --delete nem véletlenül van az
argumentumlistában évtizedek óta, minden bizonnyal jól működik - bár én
próbálgatáson kívül nem foglalkoztam vele. Ami biztos: tömörített
archivum esetén nem működik kicsomagolás nélkül, mivel a 'tar -cz'
tulajdonképpen egy 'tar | gzip', azaz a tar.gz csak egy gzip bináris,
nem több, ahhoz, hogy egyáltalán csak belenézzünk, már ki kell bontani
valahol.
Én azt mondom, fogd meg a tar fájlt, másold le valahová, és kísérletezz
vele másutt, ha félsz tőle, hogy baja esik.
Ám, érdemes utána nézni a technikai specifikációnak is, hogy a törlés
megvalósítása hogyan történt, nem képződik-e (akár csak ideiglenesen is)
a törlés közben egy másik archivum. A tar fájl felépítéséből ítélve nem
feltétlenül képződik, de az ördög nem alszik.
> Én azt mondom, fogd meg a tar fájlt, másold le valahová, és kísérletezz
> vele másutt, ha félsz tőle, hogy baja esik.
Lemásolni? Minek? Csak össze tud rakni egy 431 byte-os tesztfile-t. :)
És legyen kéznél a strace!
kissg
Ez a teszt semmit nem mond. Lesz benne 1 db read() es 1 db write()
(nagyjából).
A fő veszély nem az, hogy a "tar --delete" hibás. A dokumentáció szerint
a "--delete" helyben írja felül a fájlt, és lassú. Ha nincs hely
kicsomagolni, az arra utal, hogy az archívum nem kicsi. Mivel a művelet
dokumentáltan lassú, a parancs várhatóan jóóó sokáig fog futni, tehát
szemmel látható esély van arra, hogy közben valami történik, és a
művelet megszakad. Márpedig a dokumentáció semmit nem mond arról, hogy
egy félbeszakított "--delete" mit hagy maga után - a tar nem tud
tranzakciókat.
Gábor
> Máskülönben szerintem a --delete nem véletlenül van az
> argumentumlistában évtizedek óta, minden bizonnyal jól működik - bár én
> próbálgatáson kívül nem foglalkoztam vele.
Hát izé. Ha már archeológia - https://bugzilla.redhat.com/show_bug.cgi?id=66047:
"well, according to Paul Eggert, the current maintainer of GNU tar,
there are several unfixed bugs in delete. it's unfortunate that
the man page, info page, and all the source documentation neglect to
mention this."
Ez már régen volt, szóval lehet tippelni, hogy mennyi bug lett azóta
kijavítva :-)
Gábor
Az openek az érdekesek.
> A fő veszély nem az, hogy a "tar --delete" hibás. A dokumentáció szerint
> a "--delete" helyben írja felül a fájlt, és lassú. Ha nincs hely
Hol olvashatnám én is azt dokumentációt? Mánuel nem mond erről semmit. :)
kissg
Mindenki válaszát köszönöm!
7-zip segítségével csináltam, a törlés után maradt fájlokra írogatta,
hogy "replicating" és valóban, elég sokáig tartott a művelet.
Csaba
> Hol olvashatnám én is azt dokumentációt? Mánuel nem mond erről semmit. :)
apt install tar-doc; info tar
Gábor