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?


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.