Найти тему

Установка или запуск программ формата sh и run в Linux

Оглавление

Многообразие вариантов установки программного обеспечения на дистрибутивы Линукс не ограничиваются только пакетными базами (RPM, DEB), портативными форматами приложений (Snap, Flatpak, Appimage) или исходным кодом.

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

Что представляют из себя файлы sh и run файлы?

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

-2

Для поста я скачал установочный файл run для установки драйверов Nvidia и программу Mediaget, про которую уже рассказывал в предыдущей заметке на канале.

Если теперь открыть содержимое файла с установкой драйверов Nvidia в текстовом редакторе (в примере использую консольный редактор Neovim), то мы увидим те самые команды, про которые говорил ранее.

-3

Если перейти в папку mediaget, то увидим внутри три sh-файла. Если откроем их в редакторе, то также увидим набор команд, которые выполняются при запуске.

-4

Обратите внимание на самую первую строку в обоих примера.

#!/bin/bash

Она уже упоминалась в заметке про автоматизацию удаления файлов при помощи bash-скрипта. В этой статье я как раз таки объяснил, что указание этой строки в начале файла превращает его в понятный для консоли скрипт.

Запуск sh и run файлов

Настоятельно рекомендую перед тем как запускать скачанные где-либо sh и run-файлы просмотреть их содержимое в текстовом редакторе. Если какие-то команды покажутся вам подозрительными или странными, то лучше найти информацию о том, что они делают в интернете, чтобы запуском сомнительного скрипта не позволить вредоносному коду попасть на компьютер. Но давайте исходить из того, что вы все уже проверили и сомнений в нормальности файлов нет. Как установить программы при помощи этих файлов?

Помним, что любой файл в Linux можно прочитать (read), изменить (write) и запустить (executable). Об этом я рассказывал в статье о правах на файлы и папки.

Нас, как вы понимаете интересует запуск. Для этого нужно сделать скрипт исполняемым. Происходит это при помощи следующей команды:

sudo chmod +x <имя_файла>

Если вы используете нестандартную bash-оболочку, то после выполнения команды скрипты, готовые к запуску будут подсвечены другим цветом.

-5

Обратите внимание на пример выше - в папке mediaget все скрипты уже являются исполняемыми и потому выделены зеленым цветом, а вот файл для установки драйверов Nvidia другого цвета. После ввода команды все sh и run файлы становятся зелеными.

Теперь файл готов к запуску, осуществить который мы можем указав на это оболочке:

./<имя_файла>

Так как драйвера Nvidia у меня уже установлены, а программа Mediaget в этой папке работает только для DEB-платформ, то запускать скрипты не стану, но в статьях, на которые давал ссылки ранее есть момент запуска и демонстрация его успешности.

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

Подведем итог

Мы узнали, что sh и run установочные файлы представляют собой последовательность программ, которые выполняются для установки ПО на дистрибутив, познакомились с правилами безопасности при работе с этими файлами и научились их запускать. Видите сколько полезной и нужной информации выхватили из такого небольшого поста!

Надеюсь, что для кого-то этот материал окажется полезным, а также жду от вас обратной связи в виде комментариев, лайков, репостов и подписок на канал.