Сжатие и разделение файлов в проводнике

Если щелкнуть правой кнопкой мыши файл в Nautilus и выбрать "Сжать", появится диалоговое окно, в котором можно выбрать формат сжатия и имя файла. Если вы нажмете "Дополнительно", то есть настройки для разделения и сжатия файла, но он деактивирован / нечувствителен. Как и как мне активировать эти функции?

Изменить: В ответе ниже, было предложено, что это как-то связано с RAR. Но у меня это установлено, и у меня нет вариантов разделения.

5 ответов

Решение

Только некоторые инструменты архивирования поддерживают разбиение. Одним из них является RAR - пакет rar (но это условно-бесплатная программа, и вам нужно купить ее через 40 дней - условно- бесплатная в репозиториях Ubuntu? (RAR)), а другая, например, 7zip - пакет p7zip-full, Вам нужно установить один из них (я предлагаю 7zip, потому что это совершенно бесплатно).

Вы также можете создать архив сиглов, а затем разбить его на части, используя split команда (или HJSplit для графического интерфейса).

Чтобы активировать опцию разделения, выберите.rar из раскрывающегося списка расширения файла.

введите описание здесь

Рассматривая конкретный случай многосегментных ZIP- файлов,

это дополнительный ответ к основному.

Как уже говорилось в основном ответе, только некоторые инструменты архивации поддерживают разбиение, а основной графический интерфейс пользователя не способен создавать многосегментные архивы в zip формат. Альтернативные форматы могут быть использованы, а именно, а именно rar а также 7z,

Кроме того, только некоторые инструменты могут извлекать из многосегментных zip-файлов, таких как обсуждаемые здесь: об этом смотрите в конце этого ответа.

Поскольку этот вопрос конкретно касается проблемы обработки архивации из контекстного меню файлового менеджера, я рассмотрел некоторые команды, которые могли бы достичь данной цели даже для zip Файлы: такие команды, в случае успеха, могут быть легко добавлены в файловый менеджер как пункты контекстного меню.

Принимая во внимание zip инструмент, многосегментные архивы могут быть созданы непосредственно с помощью команды, как zip my_archive.zip -r <file> -s 20971519 (подробнее по этому вопросу), но они совсем не полезны, потому что они не готовы к извлечению (нужно дополнительное zip -s 0 Команда для создания большого 1-файлового извлекаемого архива - как описано здесь), и этого ограничения нельзя избежать. Отправлять такой многосегментный архив кому-то, кто этого не знает, бессмысленно.

Как уже предлагалось в основном ответе, другой способ - сжать файл, а затем разделить однофайловый архив с помощью split (или hjsplit GUI). (Я протестировал графический интерфейс и нашел его очень медленным, хотя для целей контекстного меню графический интерфейс не нужен.)

Идея состоит в том, чтобы добавить в контекстное меню файлового менеджера запись, которая одним щелчком мыши

  1. сжать выбранные файлы как один zip файл,
  2. разбить zip-файл на части указанного максимального размера и
  3. удалите его, чтобы сохранить только многофайловый архив.

Итак, я проверил с Thunar и пользовательское действие с этими тремя командами, связанными &&:

zip -j my_archive.zip %F && split -b 20m my_archive.zip split.zip && rm my_archive.zip

(Это должно применяться к одному или нескольким выбранным файлам, но не к каталогам; для применения к каталогам zip -r опция необходима:

 zip -r -j my_archive.zip %F && split -b 20m my_archive.zip split.zip && rm my_archive.zip

)

  • -j обозначает вариант для zip "мусорный путь": в отличие от терминальной команды, содержащей полный путь к архивируемому файлу (файлам), команда контекстного меню, которая использует %F для выбранных файлов добавит в архив структуру папок в папках, если только -j используется; (источник: создать zip - игнорировать структуру каталогов);

  • my_archive.zip пользовательское имя еще не разделенного архива; split к нему будет применена команда, а затем первая будет удалена с rm

  • %F может использоваться в настраиваемом действии Thunar для сжатия нескольких файлов как zip; в качестве альтернативы, %f должен использоваться для выбора только одного файла;

  • -b 20m обозначает размер отдельных частей архива, созданных split как указано здесь;

  • split.zip это спецификация, которая не нужна; это пользовательское имя конечного многофайлового архива, это будет что-то вроде split.zipaa, split.zipab, split.zipac... и без него выход будет назван x с последующим aa фрагмент-суффиксы: xaa, xab, xac..., так далее; E сть split вариант -d использовать числовые суффиксы вместо буквенных, но это дает ошибку (потому что, по-видимому, экстрактор ожидает стандартный многосегментный архив ZIP, когда видит числовой суффикс - как предложено в приватном чате Стивена Китта;

  • rm применяется к my_archive.zip Файл оставит нас только с желаемым многосегментным архивом.


Замечания:

Для того, чтобы получить получившийся мульти-zip-архив, инструмент, который поддерживает aa нужны архивы segmentetd, вроде file-roller в Linux и 7-Zip в Windows.

Попробуйте заменить rar на unrar-free или другое.

Это может быть сделано просто

sudo apt-get install rar unrar-free

Использование p7zip-full, как предложил Vojtech Trefny, работает, но не позволило мне выбрать rar в качестве метода сжатия. Ни один не сделал unrar. Тем не менее, установка пакета "rar" представляет эту опцию, и если вы откроете Advanced, все опции будут чувствительными.

Другие вопросы по тегам