Как создать самораспаковывающиеся архивы с помощью shar в Linux

Автоизвлечение с помощью Shar

Разве не раздражает, даже утомляет, объяснять контакту, что это такое и как его распаковать после отправки архива? Если вы ответили “да”, вам понравится shar в Linux.

С помощью shar вы можете “упаковать” множество файлов в один. Если вы отправите его своему контакту, им просто нужно убедиться, что он исполняемый, и запустить его для извлечения. Нет сложных команд и необходимости проводить их через процесс.

Давайте посмотрим, как вы можете использовать его для упаковки группы файлов в один файл “shar”.

Также читайте: Как извлекать zip-файлы в Linux

Установка Shar

Shar не включен в большинство дистрибутивов Linux по умолчанию, поэтому вам сначала нужно будет установить его, чтобы иметь возможность создавать самораспаковывающиеся архивы Shar. Вы не найдете его в Центре программного обеспечения, а также отдельно через apt. Вместо этого вам нужно будет установить более крупный пакет “sharutils”, который его содержит. Для этого откройте терминал и используйте команду:

sudo apt install sharutils

Автоизвлечение с помощью Shar Установка

Найдите и подготовьте ваши файлы

Shar — это инструмент командной строки и работает с множеством файлов одновременно, помещая их в один архив. Таким образом, для удобства и простоты использования создайте временную папку и переместите или скопируйте все файлы, которые вы хотите включить в архив shar, в эту временную папку.

С вашим терминалом все еще активным, cd в только что созданный каталог.

Автоизвлечение с помощью Shar Ls

Упакуйте ваши файлы

Чтобы создать архив shar, выполните следующую команду:

shar ./*> ../archive-filename.shar

Измените “archive-filename” на предпочитаемое вами имя файла.

Автоизвлечение с помощью Shar Упаковка файлов

Давайте “разобьем” это, чтобы понять, как вы можете использовать это для ваших файлов.

  • shar в самом начале — это, конечно, сама программа.
  • ./* — это ввод, и в этом конкретном случае это означает “все файлы в каталоге, в котором мы находимся”.
  • > — это разделитель между вводом и выводом команды. Программа понимает это как “возьми каждый ввод слева от скобки и объедини его в единый файл, определенный справа от скобки”.
  • ../archive-filename.shar — это путь и имя выходного файла. Вы можете изменить его на любое желаемое.

Процесс довольно быстрый и обычно занимает не более нескольких секунд (в зависимости от производительности вашего ПК).

Автоизвлечение с помощью Shar Упаковка завершена

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

Извлечение архива shar

Когда ваш друг получит архив shar, все, что им нужно сделать, это сделать его исполняемым, а затем запустить его.

Предполагая, что у вашего друга уже установлен sharutils, они могут извлечь архив с помощью следующих команд:

chmod +x archive.shar  
./archive.shar

Автоизвлечение с помощью Shar Сделать исполняемым

Автоизвлечение с помощью Shar Запуск Shar

И это все – файлы, которые он содержал, были извлечены рядом с ним в той же папке. Мы можем теперь удалить оригинальный файл, который они нам отправили.

Автоизвлечение с помощью Shar Извлеченные файлы

Большинство рабочих столов Linux предоставляют всестороннюю поддержку форматов сжатия, таких как tar, gz, zip и т. д., поэтому shar не очень полезен в этом случае. Однако, если вы используете Linux в серверной (или безголовой) среде, shar будет очень полезен, так как вы можете легко извлечь архив, не запоминая различные команды – нет дополнительных шагов, флагов и переключателей, и никаких других программ для установки. В дополнение к shar, Windows, macOS и Linux все поставляются с родным приложением для создания самораспаковывающегося архива. Ознакомьтесь с ним!