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

25

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

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

Джо-Эрленд Шинстад
источник
Где «компресс», они удалили эту функцию?
№ прямо над свойствами.
Джо-Эрленд Шинстад

Ответы:

18

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

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

Войтех Трефны
источник
2
когда я установил p7zip, тогда я мог разделить файл, если я выбрал 7z. Если я установлю p7zip-full, то смогу защитить его паролем. В связи с этим мой вопрос вроде как решен. Но я все еще не могу выбрать RAR.
Джо-Эрленд Шинстад
А у вас установлен пакет rar? Пакеты unrarи unrar-freeтолько для поддержки распаковки RAR.
Войтех Трефни
Что касается нескольких zipфайлов, 7-Zip в Wine / Playonlinux кажется самым простым способом (поскольку я не смог выполнить zipкоманду для указанной цели, как указано здесь ; в случае успеха такая команда может быть добавлена ​​в контекстное меню файлового менеджера) , Создание большого zip- hjsplitфайла и последующее использование его для разделения, как указано выше, является подходящим способом (полученные zip-файлы могут быть извлечены непосредственно как исходный неархивированный файл), но разделение архива кажется гораздо более медленной процедурой, чем прямое многофайловое архивирование.
Рассматривая zipфайлы в этом контексте, кажется, что zipкоманду можно использовать для создания многотомных zip-архивов, только результаты не очень полезны, поскольку многофайловый zip-архив не может быть извлечен напрямую, а должен быть составлен как один файл через вторую команду перед извлечением: больше здесь и здесь . Создание одного архива с последующим разделением на него splitявляется предпочтительным.
8

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

введите описание изображения здесь

aneeshep
источник
4
Я не могу выбрать rar, хотя у меня установлен unrar.
Джо-Эрленд Шинстад
2
@ Jo-ErlendSchinstad, вы должны сначала установить rar: apt-get install rar. Надеюсь, что этот поздний комментарий может помочь другим.
Фернандо Кош
Выбор 7zтакже работал для меня.
1

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

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

sudo apt-get install rar unrar-free
PvdL
источник
Это не позволяет вам создавать RAR-файлы ... только извлекать их.
Cerin
Как сказал в комментарии Фернандо Кош, rarтакже необходимо; sudo apt-get install rar, Выбор 7zтакже работал для меня.
1

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

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

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

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

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

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

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

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

  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...и т. д .; есть splitвозможность -dиспользовать числовые суффиксы вместо буквенных, но это дает ошибку (потому что, очевидно, экстрактор ожидает стандартный многосегментный архив ZIP, когда видит числовой суффикс - как предложено в приватном чате Стивена Китта ;

  • rmПриложенный к my_archive.zipфайлу оставит нам только нужный многосегментный архив.


Заметка:

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


источник
-1

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

Джо-Эрленд Шинстад
источник