Portál AbcLinuxu, 4. května 2025 15:37
Ke své lítosti musím přiznat, že ač používám výhradně linuxové pracovní prostředí již víc než 8 let, k rozbalování zip a rar archívů používám raději Total Commander, spuštěný pod wine, než dostupné nativní nástroje.
Nevím proč, ale často se mi stává, že tyto nástroje buďto nejsou schopny archiv rozbalit vůbec - ohlásí chybu a nazdar, nebo vybalí soubor neúplný. Přičemž zmíněný Total Commander vybalí obsah téhož archívu bez nejmenších problémů.
Používám ho téměř výhradně obzvláště na rozbalování starších archivů, které pocházejí ještě z win98 - neboť je schopen ošetřit případnou diakritiku v názvech souborů uvnitř archivů. A jaké máte zkušenosti s rozbalováním takových archívů pod linuxem vy?
Tiskni
Sdílej:
$ touch test.txt $ zip -e -P test test.zip test.txtA teraz otvor ten test.zip v MC a skus sa pozriet cez F3 do suboru test.txt.
S tím opravdu moc udělat nejde. FISH protokol je založený na tom, že se přes SSH spustí na druhé straně běžný shell a do něho se posílají příkazy, které se spouští na cílové mašině a do nich se přes standardní vstup sypou data. Přitom jména souborů se musí pro shell příkazy escapovat tak, aby znich po odescapováním shellem vyšlo to co má. Je to hromada berliček, ale má to výhodu, že na druhé straně opravdu stačí jen SSH a shell.
Jakmile je na protistraně SSH-2 kompatibilní SSH daemon s podporou SFTP (většinou ve formě binárky /usr/lib/sftp-server -> /usr/lib/openssh/sftp-server) a daný uživatel má přidělené oprávnění k jeho využití (většinou default k právu loginu), tak je použití FISH nesmyls. Bohužel MC je staré a z dob SSH-1 uvázlo na FISH. Současná vývojová verze již v jedné větvi zahrnuje i plnou podporu SFTP, takže se blíská na lepší časy.
Jinak podpora ZIP vychází v MC velmi špatně. Při kopírování více souborů je často archiv pro každý otevíraný zvlášť. ZIP má sice výhodu (i nevýhodu), že je každý soubor komprimovaný zvlášť, takže není všechny soubory okolo nutné dekomprimovat, ale seek na pozici souboru je vražedý. Přitom MC,alespoň co vím, využívá volání externí bunárky a k naskenované adresářové struktuře offsety k souborům nezná, předat neumí. Co se týče problémů se jmény, tak při UTF-8 localech jména v osmibitových kódováních nadělají strašnou paseku. UNIX přitom pro nativní souborové systémy žádné konverze jmnen neřeší - uloží je binárně 1:1 jak je open/create zavolaný. Stejně tak je dodá při čtení adresáře. Při snaze o interpretaci předaného "unicode" pak dojde vychlášení nepovolených sekvencí UTF-8 kódování a prostředí se s tím poperou různě.
Na příkazové řádce je pak řešením použít "rm" nebo "mv", kde se místo nezobrazitelných/nezadatelných znaků použije žolík - ? nebo *.
ZIP z příkazové řádky většinou žádné problémy s rozbalením nemá, ale žádné překódování jmen také neřeší - binární řetezec z archivu předá open/create. TotalCommander správně očekává, že ve Windows mohou být s podivnými znaky potíše ještě větší a proto je nějak ošetří. Zároveň soubory vytváří přes Wine, které Windows kódování (CP852 nebo 437 +/-) (které je natvrdo ve jménech) převede na UTF-8.
Takže na ZIPy vytvořené na Windows není nakonec TC ve Wine špatná volba. Alternativa je buď naučit přímo unzip převádět jmnéna přes iconv knihovnu nebo soubor rozbalit a buď v C nebo oprasy v shellu jmnéna překódovat do utf-8. Zatím na to používám jen skript, který jsem někde potkal, upravil možná i částečně vymyslel.
for x in *; do y=`echo $x | iconv -c -f ISO-8859-2 -t ASCII | tr -d '[!:+*]'` if [ "$x" != "$y" ]; then mv -v "$x" "$y" fi done
S tím opravdu moc udělat nejde.Zvětšit hodnotu
bs
. Stále to sice bude ošklivé, zbytečně složité a se spoustou berliček, ale o něco rychlejší. Za minimum práce (změna jednoho čísla) alespoň nějaké zlepšení.
BTW: už řadu let používám SSHFS a je to už hodně dávno, co jsem potřeboval shell link v mc, takže mě to ani tak netrápí.
Se zbytkem souhlasím.
proc vsichni (90% lidi kolem mne) ma neskutenou potrebu balit veci do raruLOL! Chytráku!
něco zabalim do taruA to buď rád, že to nejsou policajti – jednou se mi dostalo odpovědi – ať to prý pošlu nezašifrované
když u mě při domovní prohlídceTo na tebe byl někdo hodný a naprášil tě?
Od tý doby jenom uložto a spol. a výjimečně torrent, ale těm se taky snažim vyhnout.
To byl nějakej celorepublikovej zátahjo to si tehdy pamatuji
protože to byla síť nahovno. To nasere ...to máš pravdu, že to nasere. Já jsem nějak DC nepoužíval.
výjimečně torrenttaky ne, uložto a mediafire mi stačí.
insertto se mi sem tam taky stane, že se mi hotovej text nahrazuje tim co píšu, ale insert sem teď skoušel a tim to neni
unrar
, což je nástroj přímo od výrobce.
Zip - v podstate zadny vetsi problem.
Rar - nekolik tipu:
"keep broken" flag -kb zachova i nekompletni fajly a fajly s blbym CRC
unrar x -kb blabla.rar
"recover" command: hodi se pri poskozeni nebo kdyz nejaka cast multipart archivu chybi (zachrani co se da)
rar r blabla.rar
rar rc blabla.rar
Diakritika: AFAIK moc problemu nebylo (kdyz je to blbe, tak se soubor prejmenuje pozdeji).
pacman -Qi kdelibs
)...
200 nebo 300 MB? Co to dneska je?Tak to bych chtěl vidět, jak jsi to zjišťoval, kotyz.
(kde muzes pouzivat 100x lepsi krusader)To by mě zajímalo, podle jakýho měření je Krusader 100x lepší než TC. Přijde mi to naopak. Beru v úvahu přehlednost zobrazení, ovládání klávesnicí a FTPS.
unrar
na Linuxu (s UTF8 locale) naprosto korektně.
Otázkou je, zda systém souborů je ta správná vrstva, která by měla řešit (re)kódování znaků do různých kódování.Právě. Použitím univerzálního kódování, které by bylo zároveň fyzickým uložením ve filesystému a zároveň v API, by úplně odpadla potřeba překódování. Tady vše hraje pro UTF-8, které je navíc používáno v aplikacích.
A když už unicode, tak spíše UTF32, ne? Ať je pevně daná maximální délka řetězce.Mně je to v celku jedno... v oblasti filesystémů jsem obyčejným uživatelem. Ale taky bych se rozhodoval mezi UTF-8 a UTF-32. Všechna ostatní kódování znaků mi dneska přijdou zbytečná.
Filesystem predsa neriesi ziadne kodovanie. Nazov suboru je jednoducho postupnost nenulovych bajtov. Ci si tam das UTF-8 alebo nieco ine, tak to uz je tvoj problem.Zřejmě jsi nikdy neslyšel o NTFS, že?
Filesystem predsa neriesi ziadne kodovanie. Nazov suboru je jednoducho postupnost nenulovych bajtov.Což je ale špatně, protože názvy souborů jsou informace především pro uživatele. A uživatele nezajímají nějaké bajty, ale znaky.
.cbr
. Což jsou v podstatě zabalené stránky naskenované knížky.
.cbr
archív a ten pak prohnat přes calibre do fb2
. Výsledek je lepší, než když to je rovnou v PDF a taky mi to umožňuje podle potřeby ty obrázky předtím upravit (natočit stránky, optimálně snížit počet barev, spojit stránky atp.) tak aby pak byla optimálně využita celá plocha čtečky.
Skor na warez vseobecne, nielen na porno.My používáme jenom OSS warez :).
15070 státem spočtenejch rytířů Jedi používá na rozbalování sílu!!!
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.