Стиснення та розділення файлів у провіднику файлів


25

Якщо ви клацніть правою кнопкою миші файл у Nautilus і виберіть "Стиснути", тоді ви отримаєте діалогове вікно, де ви можете вибрати формат стиснення та ім'я файлу. Якщо натиснути кнопку Додатково, то є параметри для розділення та стиснення файлу, але він відключений / нечутливий. Як це зробити і як я активувати ці функції?

Редагувати: У відповіді нижче було висловлено припущення, що це має щось спільне з рар. Але у мене це встановлено, і я не отримую варіантів для поділу.


Де "компрес" вони видалили цю функцію?

Ні. Право над властивостями.
Жо-Ерленд Шінстад

Відповіді:


18

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

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


2
коли я встановив p7zip, тоді я міг би розділити файл, якщо вибрав 7z. Якщо я встановлю p7zip-full, я також можу захистити його паролем. Отже, в цьому плані моє питання начебто вирішене. Але я все ще не можу вибрати рар.
Жо-Ерленд Шінстад

А у вас встановлений пакет rar? Пакети unrarта unrar-freeпризначені лише для підтримки декомпресії RAR.
Войтех Трефний

Що стосується декількох zipфайлів, 7-Zip у Wine / Playonlinux здається найпростішим способом (оскільки мені не вдалося спробувати zipкоманду для заданої мети, як зазначено тут ; така команда, якщо вона буде успішною, може бути додана до контекстного меню файлових менеджерів) . Створення великого zip, а потім використання hjsplitрозділення, що, як зазначено вище, - це спосіб піти (отримані zip-файли можна витягти безпосередньо як оригінальний неархівований файл), але розділення архіву здається набагато повільнішою процедурою, ніж прямий багатофайл архівація.

Дивлячись на zipфайли в цьому контексті, здається, що zipкоманду можна використовувати для створення багатотомних zip-архівів, тільки що результати не дуже корисні, оскільки багатофайловий zip-архів не може бути вилучений безпосередньо, але його потрібно скласти як один файл через другу команду перед вилученням: більше тут і тут . Краще створити один архів і потім розділити його split.

8

Щоб активувати параметр розділення, виберіть .rar зі спадного меню розширення файлу.

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


4
Я не можу вибрати rar, навіть якщо у мене встановлено unrar.
Жо-Ерленд Шінстад

2
@ Jo-ErlendSchinstad спочатку слід встановити rar: apt-get install rar. Сподіваюся, що цей пізній коментар може допомогти іншим.
Фернандо Кош

Вибір 7zтакож працював для мене.

1

Спробуйте замінити rar на unrar-free або інший мудрий.

Це можна зробити просто

sudo apt-get install rar unrar-free

Це не дозволяє створювати rar файли ... лише витягувати їх.
Серін

Як сказано в коментарі Фернандо Коша, 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). (Я протестував графічний інтерфейс, і виявив його надзвичайно повільним, тоді як для цілей контекстного меню 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...тощо; є splitможливість -dвикористовувати числові суфікси замість алфавіту, але це призводить до помилки (адже, мабуть, екстрактор очікує стандартного багатосегментного архіву ZIP, коли бачить числовий суфікс - як це запропонував у приватному чаті Стівен Кітт ;

  • rmзастосований до my_archive.zipфайлу залишить нам лише потрібний багатосегментний архів.


Примітка:

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


-1

Використання p7zip-full, як запропонував Войтех Трефні, працює, але не дало мені змоги обрати rar як метод стиснення. Ні, і unrar. Однак при встановленні пакета "rar" ця опція є такою, і якщо ви відкриєте Advanced, всі параметри є чутливими.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.