Portál AbcLinuxu, 3. listopadu 2025 23:01
tar -Oxzf foo.tar.gz | md5sum -c foo.md5
tar -O pošle obsah všech souborů za sebou (bez oddělení) na stdout, zatímco seznam souborů vypisuje na stderr. To je md5sum k ničemu...
když jsem si to včera zkoušel, tak jsem zapomněl smazat soubory, které jsem zataroval, takže jsem se domníval, že kontroluji soubory z archívu a místo toho jsem kontroloval nezatarované soubory v aktuálním adresáři. Za svoji blbost se omlouvám.
tar.gz funguje tak, že nejprve tar poskládá soubory za sebe a pak výsledná jeden soubor zazipuje gzipem. Pokud se budou soubory rozbalovat po jednom, bude celý proces výrazně pomalejší, než rozbalení všeho na ráz – musí se jet vždy od začátku, dekomprimovat blok v paměti a hledat příslušný soubor. Takže bych spíš zkusil něco jako
tar -xzf archiv.tar.gz --to-command=script.shkde
script.sh bude mít v proměnné prostředí TAR_FILENAME jméno souboru a na standardním vstupu jeho obsah – to už by mělo stačit, abyste z toho dokázal vyrobit něco, co podstrčíte do md5sum.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.