Jak ustawić poziom kompresji 7z za pomocą GUI w Ubuntu?

14

Menedżer archiwów lub file-rollerwydaje się nie mieć opcji ustawiania poziomu kompresji 7zplików.

wprowadź opis zdjęcia tutaj

Jednak klient Windows 7-zip ma taką opcję za pomocą GUI -

wprowadź opis zdjęcia tutaj

W systemie Ubuntu / Linux można ustawić poziom kompresji w wierszu polecenia (CLI) za pomocą -mflagi. Szczegółowe informacje można znaleźć w tej odpowiedzi .

Czy istnieje przepis dotyczący ustawiania poziomu kompresji dla 7zarchiwów korzystających z GUI w Ubuntu?

Rohith Madhavan
źródło
Według mojej najlepszej wiedzy ultradomyślnie używa poziomu!
blade19899,
@ blade19899 Domyślny poziom to 5 (Normalny)
Rohith Madhavan
Uczyłeś mnie. Jedyną opcją jest użycie wersji wiersza polecenia. I prześlij żądanie funkcji! Według mojej najlepszej wiedzy :)
blade19899,
Myślę, że chodzi o ten sam algorytm, którego normalnie używa xz, a wyższe poziomy kompresji mogą wymagać „kilku gigabajtów” pamięci RAM (tak mówi man xz) - Nie jest to zip, gdzie określenie „maks.” Przez cały czas jest najlepszym pomysłem.
Xen2050,
To zależy od wielkości plików, które mają być archiwizowane. Ze względów praktycznych wymóg pamięci RAM nie stanowi większego problemu.
Rohith Madhavan

Odpowiedzi:

16

Miałem pomysł, aby znaleźć wskazówkę w liście plików pakietów lub w gconf, ale nie miałem szczęścia. Ktoś inny znał odpowiedź.

Superuser: Zmienić domyślne poziomy kompresji dla rolki plików?

Zarówno:

$ dconf write /org/gnome/file-roller/general/compression-level "'maximum'"

Lub:

$ dconf-editor
  1. Wybierz orgw panelu po lewej stronie.
  2. Wybierz gnomew panelu po lewej stronie.
  3. Wybierz file-rollerw panelu po lewej stronie.
  4. Wybierz generalw panelu po lewej stronie.
  5. Wybierz compression-levelw panelu po prawej stronie.
  6. Ustaw compression-levelna 'maximum'.

Niestety nie można dostroić tego ustawienia dla różnych programów do kompresji. Jeśli chcesz całej swobody, możesz zamiast tego użyć swojej powłoki.

Obraz edytora dconf z poziomem kompresji rolki plików ustawionym na maksimum. .

Ta odpowiedź wcześniej nie miała pozytywnych opinii, więc sprawdziłem, czy to w ogóle ma jakiś efekt, i wybrałem kompresowanie niektórych dokumentów z ustawieniami domyślnymi i maksymalnymi (typ 7z). Wynik: poprawa o 2,3 KB w archiwum ~ 300 KB.

Uwaga:

  • W zależności od zawartości może to mieć negatywny wpływ na kompresję wszystkiego za pomocą LZMA / LZMA2 na poziomie maksymalnym. Na przykład pliki PNG są już skompresowane za pomocą Deflate i nie zyskają dużo na kompresji. Bardziej sensowne byłoby zoptymalizowanie ich za pomocą PNGOUT / OptiPNG, Zopfli, a następnie zarchiwizowanie ich za pomocą LZ4 , osiągając szybszą dekompresję archiwum i zmniejszając rozmiar pliku.

Próbowałem dowiedzieć się więcej na stronie podręcznika i instrukcji obsługi rolek , ale wciąż nie mam szczęścia. Następnie ściągnąłem pakiet źródłowy i szukałem „maksimum” w fr-command-7z.c(zauważ, jak unikam mówienia, że czytam źródło), co dało mi następujące informacje:

switch (archive->compression) {
case FR_COMPRESSION_VERY_FAST:
    fr_process_add_arg (command->process, "-mx=1");
    break;
case FR_COMPRESSION_FAST:
    fr_process_add_arg (command->process, "-mx=5");
    break;
case FR_COMPRESSION_NORMAL:
    fr_process_add_arg (command->process, "-mx=7");
    break;
case FR_COMPRESSION_MAXIMUM:
    fr_process_add_arg (command->process, "-mx=9");
    if (! _g_mime_type_matches (archive->mime_type, "application/zip")
        && ! _g_mime_type_matches (archive->mime_type, "application/x-cbz"))
    {
        fr_process_add_arg (command->process, "-m0=lzma2");;
    }
    break;
}

To, o ile mogę obecnie, wydaje się, że nie ma ustawienia ultra.

LiveWireBT
źródło
1
Chociaż sugerowana metoda może poprawić poziomy kompresji, wymaga ona od użytkownika zmiany wartości w edytorze dconf za każdym razem, gdy wymagany jest inny poziom. Czy istnieje metoda dynamicznego wybierania poziomów kompresji?
Rohith Madhavan
+1 za odpowiedź. Chociaż nie rozwiązuje to dokładnie problemu, stanowi alternatywne rozwiązanie.
Rohith Madhavan
@RohithMadhavan Rozumiem, co masz na myśli. Staram się nie obwiniać tutaj nikogo, ale myślę, że właśnie tak powinny działać domyślne aplikacje Gnome: możesz włączyć ukryte funkcje, ale nie znajdziesz wielu pól wyboru i menu rozwijanych.
LiveWireBT,
Chyba masz racje. Mogę spróbować zgłosić żądanie funkcji, być może uwzględnione w opcjach zaawansowanych. Dzięki :-)
Rohith Madhavan