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

Разве не раздражает, даже утомляет, объяснять контакту, что это такое и как его распаковать после отправки архива? Если вы ответили “да”, вам понравится shar в Linux.
С помощью shar вы можете “упаковать” множество файлов в один. Если вы отправите его своему контакту, им просто нужно убедиться, что он исполняемый, и запустить его для извлечения. Нет сложных команд и необходимости проводить их через процесс.
Давайте посмотрим, как вы можете использовать его для упаковки группы файлов в один файл “shar”.
Также читайте: Как извлекать zip-файлы в Linux
Установка Shar
Shar не включен в большинство дистрибутивов Linux по умолчанию, поэтому вам сначала нужно будет установить его, чтобы иметь возможность создавать самораспаковывающиеся архивы Shar. Вы не найдете его в Центре программного обеспечения, а также отдельно через apt. Вместо этого вам нужно будет установить более крупный пакет “sharutils”, который его содержит. Для этого откройте терминал и используйте команду:
sudo apt install sharutils
Найдите и подготовьте ваши файлы
Shar — это инструмент командной строки и работает с множеством файлов одновременно, помещая их в один архив. Таким образом, для удобства и простоты использования создайте временную папку и переместите или скопируйте все файлы, которые вы хотите включить в архив shar, в эту временную папку.
С вашим терминалом все еще активным, cd в только что созданный каталог.

Упакуйте ваши файлы
Чтобы создать архив shar, выполните следующую команду:
shar ./*> ../archive-filename.sharИзмените “archive-filename” на предпочитаемое вами имя файла.

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

После того как вы создали архив, вы можете поделиться вашим новым файлом с вашими контактами. Хотя им также нужно будет установить sharutils, чтобы автоизвлечение работало, как вы увидите на следующем шаге, что все будет проще, чем иметь дело с типичными архивами.
Извлечение архива shar
Когда ваш друг получит архив shar, все, что им нужно сделать, это сделать его исполняемым, а затем запустить его.
Предполагая, что у вашего друга уже установлен sharutils, они могут извлечь архив с помощью следующих команд:
chmod +x archive.shar
./archive.shar

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

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