Установка или запуск программ формата sh и run в Linux
Многообразие вариантов установки программного обеспечения на дистрибутивы Линукс не ограничиваются только пакетными базами (RPM, DEB), портативными форматами приложений (Snap, Flatpak, Appimage) или исходным кодом.
Иногда пользователю могут попадаться такие форматы установочных файлов, как sh или run. Помню, что когда сам впервые столкнулся с ними, то не мог понять, как их запустить. Потому специально для таких же «непонимашек», каким был я, написан этот пост, в котором расскажу и покажу что это за форматы и как с ними работать.
Что представляют из себя файлы sh и run файлы?
Оба формата установочных файлов являются скриптами, то есть содержат некую последовательность команд, которые при выполнении производят необходимые действия с дистрибутивом — устанавливают нужные зависимости, создают необходимые папки и файлы, задают необходимые для работы ПО права. Раз эти файлы являются скриптами, то вполне возможно просмотреть их содержимое при помощи текстового редактора (графического или консольного). Обратите внимание на скриншот, представленный ниже.
Для поста я скачал установочный файл run для установки драйверов Nvidia и программу Mediaget, про которую уже рассказывал в предыдущей заметке на канале.
Если теперь открыть содержимое файла с установкой драйверов Nvidia в текстовом редакторе (в примере использую консольный редактор Neovim), то мы увидим те самые команды, про которые говорил ранее.
Если перейти в папку mediaget, то увидим внутри три sh-файла. Если откроем их в редакторе, то также увидим набор команд, которые выполняются при запуске.
Обратите внимание на самую первую строку в обоих примера.
Она уже упоминалась в заметке про автоматизацию удаления файлов при помощи bash-скрипта. В этой статье я как раз таки объяснил, что указание этой строки в начале файла превращает его в понятный для консоли скрипт.
Запуск sh и run файлов
Настоятельно рекомендую перед тем как запускать скачанные где-либо sh и run-файлы просмотреть их содержимое в текстовом редакторе. Если какие-то команды покажутся вам подозрительными или странными, то лучше найти информацию о том, что они делают в интернете, чтобы запуском сомнительного скрипта не позволить вредоносному коду попасть на компьютер. Но давайте исходить из того, что вы все уже проверили и сомнений в нормальности файлов нет. Как установить программы при помощи этих файлов?
Помним, что любой файл в Linux можно прочитать (read), изменить (write) и запустить (executable). Об этом я рассказывал в статье о правах на файлы и папки.
Нас, как вы понимаете интересует запуск. Для этого нужно сделать скрипт исполняемым. Происходит это при помощи следующей команды:
Если вы используете нестандартную bash-оболочку, то после выполнения команды скрипты, готовые к запуску будут подсвечены другим цветом.
Обратите внимание на пример выше — в папке mediaget все скрипты уже являются исполняемыми и потому выделены зеленым цветом, а вот файл для установки драйверов Nvidia другого цвета. После ввода команды все sh и run файлы становятся зелеными.
Теперь файл готов к запуску, осуществить который мы можем указав на это оболочке:
Так как драйвера Nvidia у меня уже установлены, а программа Mediaget в этой папке работает только для DEB-платформ, то запускать скрипты не стану, но в статьях, на которые давал ссылки ранее есть момент запуска и демонстрация его успешности.
Отдельно встает вопрос об использовании команды sudo, дающей текущему пользователю права суперпользователя. Я поступаю очень просто: сначала запускаю скрипт без sudo, а если оболочка ругается на то, что скрипту для выполнения определенных процедур не хватает прав, уже использую «власть» суперпользователя. Поэтому важно, повторюсь, просматривать скрипты перед их запуском, так как команда запущенная от суперпользователя может сотворить с системой все, что угодно.
Подведем итог
Мы узнали, что sh и run установочные файлы представляют собой последовательность программ, которые выполняются для установки ПО на дистрибутив, познакомились с правилами безопасности при работе с этими файлами и научились их запускать. Видите сколько полезной и нужной информации выхватили из такого небольшого поста!
Надеюсь, что для кого-то этот материал окажется полезным, а также жду от вас обратной связи в виде комментариев, лайков, репостов и подписок на канал.
Как запустить install.sh в Linux через Терминал
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали авторы-волонтеры.
Количество просмотров этой статьи: 88 873.
Установить новую программу в Linux можно следующими способами: через программный центр Ubuntu или Менеджер пакетов Synaptic. Тем не менее, некоторые программы приходится устанавливать с применением более сложных методов, например, через терминал. В этой статье вы ознакомитесь с пошаговым процессом установки программного обеспечения с помощью файла INSTALL.sh . В качестве примера в статье будет показана установка клиента Rockhopper VPN.
Скачайте программу, которую хотите установить. Установочные файлы обычно сжимаются в архив Tar или zip.
Откройте терминал с помощью сочетания клавиш Ctrl + Alt + T . Введите следующую команду: cd ~/Deskop/rockhopper-0.2.b1-020 . Замените rockhopper-0.2.b1-020 именем папки на рабочем столе. Нажмите ↵ Enter .
Сделайте файл .sh исполняемым. Чтобы сделать файл исполняемым, введите в терминал следующую команду: chmod +x install.sh . Замените install.sh именем .sh-файла. Нажмите ↵ Enter .
Запустите файл .sh . Введите эту команду: sudo ./install.sh . Снова замените install.sh именем .sh-файла. Нажмите ↵ Enter Примечание: если это не сработает, попробуйте выполнить команду sudo bash install.sh без «./» (этот способ сработал на Ubuntu 16). Для этого вам придется ввести пароль администратора.
Завершите установку программы. Установка через терминал может включать дополнительные шаги, например, проверку установки.