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 %.
Dobrý den,
díky, požádal jsem o názor Eugena Roshala, dám vědět až odpoví.
Ľubomír Mlích
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.
-oiJedná 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.
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?
Díky, opět jsem přeposlal ER, ale zatím neodpověděl. Předpokládám, že se ozve později.
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.
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ů.
> 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?
>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ů.
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í.
Dobrý den, omlouvám se, dnes se na to už bohužel nestihnu podívat. Zítra.
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ě.
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.
ok, napíšu to ER
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.