Как запустить install sh в linux через терминал

Обновлено: 07.07.2024

В данной статье пойдет речь о том, как запускать сценарии командной оболочки (shell скрипты) в Ubuntu.

Что такое sh скрипт

Если кратко, sh скрипт - это файл, в котором описываются последовательно выполняемые команды.

Подробнее о сценарии командной оболочки можно прочесть в Wikipedia: Сценарий командной строки.

В такой файл мы можем вписать все команды, которые выполняем в терминале, то есть, которые исполняются командной оболочкой нашей системы.

Стоит упомянуть, что расширение .sh вовсе не обязательно, так как в Unix-подобных операционных системах нет требований к расширению имени файла, однако для скриптов командной оболочки выделено расширение .sh.

Как запускать sh скрипты в командной строке.

Запускать скрипты sh из командной строки легко.

1. Сделать файл скрипта исполняемым (если он еще таковым не является):

2. Запускаем скрипт, просто указав путь до него:

Если скрипт находится в текущей директории, то нужно указать ./ перед именем файла скрипта:

Иногда требуются права суперпользователя для запуска скрипта, тогда просто перед скриптом пишем команду sudo:

Можно запускать скрипты, непосредственно указывая интерпретатор: sh, bash и другие:

Но не советую так делать на постоянной основе.

Как запустить sh в файловом менеджере Ubuntu (Nautilus)

В файловом менеджере (Nautilus) Ubuntu sh скрипты запускаются двойным кликом по файлу:

Как запустить sh в файловом менеджере Ubuntu

Нужно убедиться, что в свойствах файла на вкладке "Права" установлена галочка "Выполнение" - "Разрешить выполнение файла как программы":

Как запустить sh в файловом менеджере Ubuntu

Решаем проблему файлового менеджера Ubuntu при запуске скриптов sh

По умолчанию, после установки системы Ubuntu, если вы попытаетесь выполнить скрипт двойным кликом, то файл у вас откроется в текстовом редакторе:

Решаем проблему файлового менеджера Ubuntu при запуске скриптов sh

Чтобы решить эту проблему, открываем "Параметры", переходим на вкладку "Поведение", в пункте "Исполняемые текстовые файлы" выбираем "Спросить что делать" или "Запустить":

Решаем проблему файлового менеджера Ubuntu при запуске скриптов sh

Разница их в том, что при выборе пункта "Спросить что делать", будет выбор в каком режиме запустить скрипт:

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

Как сделать так, чтобы терминал не закрывался после завершения sh скрипта в Ubuntu.

Когда мы запускам какой-либо скрипт из файлового менеджера, выбрав "Запустить в терминале":

У нас откроется окно терминала. Но после выполнения всех команд, описанных в sh скрипте, окно терминала закроется. В результате, мы не может просмотреть лог (историю) выполнения.

Чтобы решить эту проблему, переходим в "Параметры" терминала. В параметрах выбираем наш профиль и переходим на вкладку "Команда", в пункте "При выходе из команды" выбираем "Держать терминал открытым":

Рассказываем о том, как пользоваться менеджерами пакетов, что такое исходный код, зачем нужны скрипты .sh. В общем, говорим о великом разнообразии вариантов установки дополнительного программного обеспечения в различные дистрибутивы Linux.

Установка программ «классическим» методом

Вряд ли Linux — ваша первая операционная система. Скорее всего, вы уже пользовались Windows или macOS и устанавливали приложения там. В этих системах процесс загрузки и установки сторонних программ построен следующим образом:

  • Открываем официальный сайт разработчика приложения.
  • Ищем там ссылку на установочный файл и кликаем по ней.
  • Затем запускаем загруженный установщик двойным кликом.

Простой алгоритм, который не всегда, но все же работает и в Linux. Так как большое количество программного обеспечения разрабатывается сразу для нескольких операционных систем, то на сайтах разработчиков имеются ссылки на установочные файлы сразу для Windows, macOS и нескольких вариантов Linux.

Более того, некоторые сайты сами определяют тип системы и предлагают подходящий файл для загрузки.

Собственно, в этом случае никаких сложностей возникнуть не должно:

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

Здесь отдельно стоит упомянуть дистрибутив openSUSE и их менеджер пакетов YasT, часть функциональности которого встраивают в веб-страницы для быстрой загрузки и установки пакетов в систему. Грубо говоря, это специальная страница, выступающая в роли установщика и не требующая загрузки отдельных файлов.

Загрузка и установка приложений через встроенные магазины ПО

В мире Linux есть системы, которые больше остальных почитают «обычного пользователя», не очень хорошо разбирающегося в компьютерах. Речь об Ubuntu (ну, и о ее производных). В этом дистрибутиве используются некоторые дизайнерские, функциональные и интерфейсные решения из операционной системы Apple Mac OS X. Одно из таких решений — использование собственного независимого магазина приложений, в котором люди смогут искать нужное программное обеспечение и устанавливать его в один клик без лишних хлопот.

Сейчас такие магазины есть во многих дистрибутивах. Их можно встретить его в Fedora, Ubuntu, openSUSE. В Elementary OS вовсе появился репозиторий с эксклюзивным платным программным обеспечением. Его пополняют разработчики-энтузиасты, ищущие поддержки среди пользователей Open Source продуктов. Принцип их работы прост. В них содержится пакет с файлами приложения, упакованный в правильном формате. Система умеет их распаковывать и превращать в рабочее приложения, проводя всевозможные дополнительные операции вроде создания ярлыка на рабочем столе и так далее.

Чтобы скачать приложений из такого магазина:

  • Открываем магазин приложений (он так и называется зачастую).
  • Вводим в поисковое поле название программы, которую надо установить.
  • Ищем ее в результатах поиска и кликаем по кнопке «Установить».

Устанавливаем программы, используя менеджер пакетов

На самом деле, загрузка и установка программ для Linux с официального сайта (то, что мы разбирали в начале статьи) это тоже работа с менеджером пакетов. Только опосредованная. Мы взаимодействуем с пакетом будто напрямую, игнорируя инструменты, которые вступают в работу при попытке установить приложение. Но за установку, обновление и удаление любого «софта» в Linux отвечают менеджеры пакетов (почти всегда).

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

Самые популярные форматы пакетов в Linux: DEB и RPM. Первый создавался для Debian и его производных, а второй для Red Hat Linux и его производных. Оба управляются специальными пакетными менеджерами. Их намного больше, чем самих форматов. Есть Advanced Packaging Tool для тех, кто использует Ubuntu, есть Yellowdog Updater для пользователей CentOS. А еще dnf, Pacman, Zypper и куча других. Они выполняют одни и те же функции, но не взаимозаменяемы, поэтому придется переучиваться под каждый дистрибутив.

Далее более подробно поговорим о менеджерах пакетов и процессе установки приложений через каждый из них.

Через графическую оболочку

Если вы установили себе Fedora или Ubuntu, то у вас в руках есть графическая оболочка для менеджера пакетов. Ее можно использовать для знакомства с программами и выполнения всех базовых операций вроде установки, обновления и удаления. Никакой нужды в ней, на самом деле, нет. Но, во-первых, она все-таки упрощает установку очень большого количества пакетов. Во-вторых, она значительно упрощает их поиск и анализ. В-третьих, она подходит новичкам, которые еще не очень хорошо знакомы с терминалом и командной строкой.

Расскажу о работе с подобной графической оболочкой на примере Synaptic в Linux Mint.

  • Для начала открываем сам менеджер пакетов Synaptic. Его можно найти, открыв список доступных приложений и введя в поиск слово Synaptic.
Поисковое поле в Linux Mint находится в аналоге меню «Пуск», в левом нижнем углу окна Поисковое поле в Linux Mint находится в аналоге меню «Пуск», в левом нижнем углу окна Для запуска менеджера пакетов придется авторизоваться Для запуска менеджера пакетов придется авторизоваться
  • Затем ищем пакет, который нужно установить (можно воспользоваться поиском).
  • Ставим галочку напротив его названия.
Все пакеты делятся на категории и распределены по списку в алфавитном порядке Все пакеты делятся на категории и распределены по списку в алфавитном порядке
  • После этого нажимаем на кнопку «Применить» в верхней панели управления Synaptic.
В этом случае устанавливаем пакет-интерпретатор Babel для JavaScript-программистов В этом случае устанавливаем пакет-интерпретатор Babel для JavaScript-программистов

Система запустит процесс обновления доступных пакетов и найдет те, которые нужно установить, и загрузит их на компьютер. С помощью Synaptic можно запустить процедуру глобального обновления всех элементов дистрибутива. При этом необходимо будет ввести пароль администратора. Все процедуры требуют прав суперпользователя.

Также через Synaptic можно добавить в систему репозитории с пакетами. Это списки доступных приложений, которые можно скачать в систему, используя встроенный менеджер пакетов.

Через терминал

Так уж сложилось, что пользователи Linux не очень жалуют графический интерфейс. Да и сторонние разработчики не особо стараются делать установщики, которые легко запускаются из графической оболочки. Здесь принято пользоваться командной строкой. С помощью текстовых команд зачастую гораздо проще установить какую-либо программу, чем лезть за ней в магазин приложений или того хуже — на официальный сайт.

Итак, для установки «софта» через терминал нужно:

  • Открыть терминал. Это можно сделать, одновременно нажав клавиши Ctrl + Alt + T на пустом рабочем столе.
  • Ввести специальную команду для установки программы.
  • Вписать пароль администратора для подтверждения загрузки.
  • Подтвердить свои действия нажатием на клавишу Y или «Ввод», если потребуется.

Команды для установки ПО в Linux строятся следующим образом: sudo название менеджера пакетов install название программы

  • Здесь sudo — это выдача прав суперпользователя на выполняемую операцию. Это как запуск от имени администратора в Windows. Без привилегий установить программу в Linux нельзя.
  • название менеджера пакетов — это, скорее всего, уникальная для вашего дистрибутива аббревиатура, которая управляет процессами установки, удаления и обновления приложений.
  • install сообщает менеджеру пакетов, что нужно именно установить ПО, а не обновить или удалить.
  • название программы — ну и имя самого приложения, конечно. Иногда его нужно сопровождать номером версии. Иногда достаточно одного названия. Например install firefox установит самую новую итерацию браузера из доступных.
Далее разберем установку программ в разных дистрибутивах более подробно и с примерами.

В Ubuntu (Debian, Mint, Elementary OS)

Ubuntu, Mint и Elementary OS как раз те дистрибутивы Linux, на которые люди уходят из Windows. Это наиболее дружелюбные операционные системы, которые идут на встречу неопытным пользователям и всячески пытаются подражать Windows и macOS, чтобы сразу же не отпугнуть новичков.

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

Или Advanced Package Tool. Это утилита, специально разработанная для распаковки пакетов в формате .deb, которые, в свою очередь, используются в операционной системе Debian и ее дериватах. Работает она точно так же, как и любой другой менеджер пакетов. Отзывается на те же команды. Для установки какого-нибудь приложения надо ввести в терминал что-то в духе sudo apt-get install firefox . Естественно, Firefox можно заменить на любой другой доступный для установки программный продукт .

С недавних пор в Ubuntu и некоторых других современных дистрибутивах появился инструмент под названием snap. Это программа для установки сторонних лицензированных приложений. В частности, коммерческих. Дело в том, что в репозитории с ПО (откуда обычно скачиваются пакеты с помощью apt) намеренно не добавляют проприетарный «софт». Там лежат только программы с открытым исходным кодом. Это, конечно, усложняло их установку до определенного момента. То есть до появления snap. В его базе приложений есть все полезные коммерческие продукты типа Skype, Opera и проч. Работает так: snap install skype . Даже __sudo__вводить не нужно. snap сам затребует пароль через графическую оболочку.

Одна из самых сложных задач, возникающих в процессе установки Unix-программ — отслеживание зависимостей.

Любая более-менее сложная программа в своей работе использует возможности, предоставляемые другими модулями, системными библиотеками и т.д. Таким образом, появляется зависимость — если мы хотим установить программу «А», которая при работе использует библиотеки программы «Б», сначала необходимо установить программу «Б» (у которой, в свою очередь, могут быть свои зависимости). Таким образом, чем больше программ и зависимостей появляется на сервере, тем сложнее их отслеживать и управлять ими. Хорошая новость в том, что это можно делать с помощью пакетного менеджера APT (Advanced Packaging Tool).

Установка с помощью пакетного менеджера

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

Перед началом установки пакетов рекомендуется обновить данные о версиях и зависимостях в репозитории следующей командой:

sudo apt-get update

Обновление данных о версиях и зависимостях в репозитории

Скриншот №1. Обновление данных о версиях и зависимостях в репозитории

Если необходимо уточнить название пакета, который требуется установить — ищем в локальном кэше менеджер по ключевым словам, например, web server:

sudo apt-cache search web server

В результате получим большой перечень пакетов, где данное ключевое слово присутствует в описании:

Поиск по ключевым словам

Скриншот №2. Поиск по ключевым словам

Выбираем нужный нам пакет — в данном случае это apache2, и устанавливаем его:

sudo apt-get install apache2

Пакетный менеджер проверяет зависимости, версии, сравнивает их с уже установленными через apt-get пакетами, после чего выдает список необходимых для установки компонентов и запрашивает разрешение на продолжение операции:

Установка пакета

Скриншот №3. Установка пакета

Нажимаем y и дожидаемся окончания установки.

Часто используемые команды пакетного менеджера:

  • apt-get update — обновление информации о пакетах и зависимостях в подключенных репозиториях;
  • apt-get upgrade — обновление всех установленных пакетов до актуальной версии, имеющейся в репозитории;
  • apt-get install имя_пакета — установка пакета;
  • apt-get remove имя_пакета — удаление пакета;
  • apt-get download имя_пакета — скачать deb-пакет в локальную папку;
  • apt-cache search ключевые слова — поиск пакета по ключевым словам;
  • apt-cache show имя_пакета — показать информацию о пакете;
  • apt-cache depends имя_пакета — показать от каких компонентов зависит данный пакет;
  • apt-cache rdepends имя_пакета — показать какие компоненты зависят от пакета;
  • apt-mark hold имя_пакета — зафиксировать текущую версию пакета, прекратить обновление пакета;
  • apt-mark unhold имя_пакета — разрешить обновление пакета.

Установка через Debian package

Программные пакеты могут распространяться и не через репозитории. Например, они могут быть доступны на сайтах разработчиков. В таком случае, пакет можно скачать и воспользоваться утилитой dpkg (debian package) для установки. При использовании dpkg не происходит автоматическое отслеживание зависимостей и скачивание дополнительных пакетов. В случае нехватки каких-либо программ или библиотек установка завершится ошибкой с указанием списка отсутствующих пакетов. Их придется установить отдельно, например, через apt-get, если они присутствуют в подключенных репозиториях, либо скачивать с сайтов разработчиков и устанавливать в нужном порядке через dpkg.

Для примера скачаем из системного репозитория установочный пакет веб-сервера Nginx командой:

sudo apt-get download nginx

и попробуем установить через dpkg –i имя_файла.deb:

sudo dpkg –i ./nginx_1.14.0-0ubuntu1.6_all.deb

В результате система выдает ошибку с перечнем отсутствующих пакетов:

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

Скриншот №4. Ошибка с перечнем отсутствующих пакетов

установка приложений в Ubuntu

Для установки данных форматов приложений, нам как всегда требуется консоль то есть Терминал, без которого очень трудно представить установку программ подобных форматов.

Что нужно сделать для установки программы в формате sh? первым делом перейдите в директорию(папку) куда вы загружаете(скачиваете) приложения, обычно это папка "Загрузки", откройте терминал(Ctrl+Alt+T), далее выполните следующие команды:

Лично по своему опыту, я с форматов sh ставил лишь(мини вебмани и еще скрипт был один, сборка сервера уже и забыл название, в общем для wine). Если вам ничего не говорит слово Wine и вы не понимаете, что это такое, ознакомьтесь с материалом - Изучаем Wine, основы для начинающих.

установка пакета формата RUN

  • 2. Установка приложений в формате run, немного таких я встречал. Обычно это драйвера для видеокарты, в большей части случаев.

Устанавливается аналогичным методом как и sh:

Установка формата Deb

  • 3. Установка программ в формате deb, приложения в подобном формате вы будете видеть часто если вы работаете в одной из систем семейства Debian. Как установить deb файлы, я уже описывал в материале - Как установить пакет формата deb и куда делся exe.

Но так же еще есть вариант установки через терминал, как я ранее писал, первым делом перейдите в папку где лежит ваш файл, далее откройте терминал(Ctrl+Alt+T), и выполните следующую команду:

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

установка пакета формата BIN

  • 4. Установка программ в формате bin, в данном формате я устанавливал несколько приложений, это драйвера для Java скачанные с официального сайта производителя и установка приложения "Cisco Packet Tracer" для модулирования сетей.

Установка приложения в формате bin, очень похожа на установку приложений в форматах(sh,run,linux и install), откройте терминал, аналогично не забываем перейти в директорию в которой находится данный файл, как перейти, я уже описывал в выше.

Перешли в нужную директорию, далее выполните следующие команды:

После запуска установки, от вас будет запрошен лишь пароль администратора и как вариант как это было у меня - "(press any to enter)", нажать любую клавишу для продолжения установки, ну и возможно на следующем шаге еще ввести Y(yes). На некоторых этапах установки приложений в данном формате это требуется.

установка пакетов формата linux и install

  • 5. Установка программ в формате install и linux, ничем практически не отличается от(sh,run и bin). В формате install, я в сети наблюдаю регулярно приложения. Как вариант, я в последнее время где-то месяц назад, скачивал для тестирования антивирус Nod Eset для Linux, там приложение было не в форматах deb либо run, а именно в формате linux.

Установка аналогично очень проста, переходим в директорию в которой лежит наш скачанный файл и выполняем следующие команды:

После начнется установка в которой вам придется просто нажимать на кнопочки - "Я согласен и тому подобные".

Читайте также: