Podpora :: RAR Support

2020-12-07 11:45:55
Tom
-idn a -oi (RAR 6.00)

Dobrý den,

dnes v nové verzi je nový přepínač -idn. Samostatně funguje dobře, ale pokud je použit s řepínačem -df, tak vypisuje všechny soubory, které smaže.
Takže z mého pohledu to funguje pouze na 50 %.

Pokud je použit při kompresi přepínač -oi a při pokusu rozbalit jeden soubor z archivu, RAR vyhodí chybu neexitující reference.
Další funkce, která funguje jenom na 50 %.

2020-12-08 18:36:53
Ľubomír Mlích
Re: -idn a -oi (RAR 6.00)

Dobrý den,

díky, požádal jsem o názor Eugena Roshala, dám vědět až odpoví.

Ľubomír Mlích

2020-12-08 19:11:01
Ľubomír Mlích
Re: -idn a -oi (RAR 6.00)

Dobrý den,

ER odpověděl okamžitě:

-idn

Ano, jména smazaných souborů jsou zobrazena. Nikdo takové chování během beta testování nenavrhl. Zvážím jestli to tak bude v některé z dalších verzích. Zatím ještě nevím.

-oi

Jedná se o zdokumentované chování:

"Extraction command must involve the first file to create following files successfully."

neboli příkaz pro rozbalení musí obsahovat první soubor, aby se následující soubory úspěšně vytvořili.

2020-12-08 19:25:11
Anonymous
Re: -idn a -oi (RAR 6.00)

Zde je demonstrační video pro přepínač -oi: https://ulozto.net/file/3So2YicRMS3T/20201208-190531-rar

Konkurenční archivátor nemá problém rozbalit tento archiv, ale samotný WinRAR, který by to měl zvládat nejlépe, to nedokáže?

2020-12-08 20:23:15
Ľubomír Mlích
Re: -idn a -oi (RAR 6.00)

Díky, opět jsem přeposlal ER, ale zatím neodpověděl. Předpokládám, že se ozve později.

2020-12-09 13:56:09
Tom
Re: -idn a -oi (RAR 6.00)

Ještě jedna věc ohledně přepínače -oi. Lze porovnávat pouze soubory, které mají stejnou velikost, jestli jsou stejné i obsahově?
Pokud by existoval jenom jeden soubor určté velikosti, nemusí být kotrolován touhle funkcí. V některých případech by to mohl značně urychlit celý proces.

Zatím se mi zdá, že kontroluje všechno.

2020-12-09 20:29:08
Ľubomír Mlích
Re: -idn a -oi (RAR 6.00)

Cena za to, že RAR bude umět rozbalit kterýkoli soubor z archivu je druhé načtení souborů. To znamená zpomalení rozbalovacího algoritmu pro všechny, aby bylo možné vyřešit tento okrajový případ.

ER zváží zda přidat zvlášť parametr pro dva potřebné běhy do další verze a protože je implementace komplikovanější, bude o tom uvažovat pouze v případě, že o tuto funkci projeví zájem vícero uživatelů.

2020-12-09 20:30:40
Ľubomír Mlích
Re: -idn a -oi (RAR 6.00)

> Ještě jedna věc ohledně přepínače -oi. Lze porovnávat pouze soubory, které mají stejnou velikost, jestli jsou stejné i obsahově?
> Pokud by existoval jenom jeden soubor určté velikosti, nemusí být kotrolován touhle funkcí. V některých případech by to mohl značně urychlit celý proces.

> Zatím se mi zdá, že kontroluje všechno.

Bohužel nerozumím co tím přesně myslíte. Můžete to rozvést?

2020-12-09 22:48:47
Tom
Re: -idn a -oi (RAR 6.00)

>Cena za to, že RAR bude umět rozbalit kterýkoli soubor z archivu je druhé načtení souborů. To znamená zpomalení rozbalovacího algoritmu pro všechny, aby bylo možné vyřešit tento okrajový případ.

>ER zváží zda přidat zvlášť parametr pro dva potřebné běhy do další verze a protože je implementace komplikovanější, bude o tom uvažovat pouze v případě, že o tuto funkci projeví zájem vícero uživatelů.


Ve videu, které jsem nahrál, je možnost to udělat jednoduchým způsobem.
1. každý soubor, který byl uložen přes přepínač -oi jako kopie jiného souboru v archivu, obsahuje referenc na původní soubor
2. při rozbalování stačí pak k tomu přistoupit jako ke klasickému archivu. V případě, že se při rozbalování solid archivu začne rozbalovat soubor, na který odkazuje reference, stačí jenom upravit adresu, kam se má rozbalit. U ne solid archivu je to ještě jednodušší.

Abych to nasimuloval:

1. mám solid archiv:
soubor      velikost   reference
123.exe     5 689 301
file.exe    1 674 681
file1.exe                             file.exe

Soubor file1.exe je kopie souboru file.exe a je uložen jako reference.

2. chci ozbalit soubor file1.exe . RAR by měl začít rozbalovat archiv. Z důvodu, že se jedná o solid archiv, začne rozbalovat:
    - soubor 123.exe není ten, co je potřeba - je rozbalen pouze v paměti
    - soubor file.exe - odkazuje na něj reference u požadovaného souboru - začne rozbalování, ale ukládá do souboru file1.exe

U ne solid archivu je rozbalen soubor file.exe přímo do file1.exe
Podle mě se jedná o jednoduchou úpravu.

--------------------------

U vyhodnocování, které soubory uložit jako reference:

1. zjistit velikosti souborů:

soubor      velikost
123.exe     5 689 301
file.exe    1 674 681
file1.exe   1 674 681

2. soubor 123.exe byl nalezen jenom jeden a není potřeba jej tedy zahrnout do vyhodnocení obsahu. Soubory file.exe a file1.exe mají stejnou velikost a vyhodnotí se, jestli jsou i obsahově stejné.

Když je např. vybráno 100 000 souborů o velikosti 80 GB a jenom 3 jsou stejné, je jednodušší porovnat obsahově jenom ty 3, jako 100 000 souborů.

2020-12-10 12:51:36
Tom
Re: -idn a -oi (RAR 6.00)

Zde https://ulozto.net/file/k3EG3FDJWLgn/real-simulace-rar je reálný příklad, jak by to mělo fungovat.

Soubor 000.png je složka, kterou chci rozbalit.

Soubor Simulace.pdf je tabulka, kterou by měl RAR vyhodnotit před samotným rozbalováním - zjistit, zda obsahuje reference mimo rozbalovanou složku.
Pokud je referencí na stejný soubor více, stačí jej nakopírovat i do jiných umístění.

2020-12-10 21:27:13
Ľubomír Mlích
Re: -idn a -oi (RAR 6.00)

Dobrý den, omlouvám se, dnes se na to už bohužel nestihnu podívat. Zítra.

2020-12-11 20:57:15
Ľubomír Mlích
Re: -idn a -oi (RAR 6.00)

Nevím jestli tomu rozumím správně, ale vy pořád mluvíte o druhém běhu nad soubory, který WinRAR nedělá z důvodu zlepšení výkonu. Nevím jak na to reagovat a jaký by měl být cíl. ER říkal, že zváží zda umožní přidat parametr, který tento druhý běh vyvolá v některé z dalších verzí

Možná to ale chápu špatně.

2020-12-11 21:23:49
Tom
Re: -idn a -oi (RAR 6.00)

Tak jinak, stáhnout si zdroják 7-zipu, kde je upravený unRAR, který to dokáže > nastudovat.
Podle vlastních testů nezaznamenávám zpomalení dekomprese. Rozbaluje se stejně rychle, jako archiv bez použití přepínače -oi.

Jinak to už říct nedokážu.

2020-12-12 09:29:52
Ľubomír Mlích
Re: -idn a -oi (RAR 6.00)

ok, napíšu to ER

2020-12-13 20:31:08
Ľubomír Mlích
Re: -idn a -oi (RAR 6.00)

ER mi odpověděl dlouhý email, který obsahuje spoustu důvodů proč váhá s implementací této funkcionality (dvou běhů při dekompresi) a znovu napsal, že to zváží pokud tato funkcionalita bude zajímat více než jednoho člověka.

  • kromě toho, že se změní výkon při dekompresi (rozdíl nemusí být viditelná při méně než 1000 souborech a opravdu viditelná při 100000+ souborech a také závisí na velikostech keší disku a výkonnosti disku)
  • tato změna vyžaduje nezanedbatelné vývojářské usílí
  • aktuálně se tato funkcionalita zdá být jednou z nejméně používaných (v 6.0)
  • vznikne další prostor pro DOS zaplnění paměti RAM počítače speciálně připraveným archivem za tímto účelem (to by se dalo řešit nastavením hranice počtu odkazů na soubory)