- Установка программ Ubuntu/Debian с помощью пакетного менеджера
- Установка с помощью пакетного менеджера
- Установка через Debian package
- Установка через файлы сценариев
- Как запустить install.sh в Linux через Терминал
- Установка или запуск программ формата sh и run в Linux
- Что представляют из себя файлы sh и run файлы?
- Запуск sh и run файлов
- Подведем итог
Установка программ Ubuntu/Debian с помощью пакетного менеджера
Одна из самых сложных задач, возникающих в процессе установки Unix-программ — отслеживание зависимостей.
Любая более-менее сложная программа в своей работе использует возможности, предоставляемые другими модулями, системными библиотеками и т.д. Таким образом, появляется зависимость — если мы хотим установить программу «А», которая при работе использует библиотеки программы «Б», сначала необходимо установить программу «Б» (у которой, в свою очередь, могут быть свои зависимости). Таким образом, чем больше программ и зависимостей появляется на сервере, тем сложнее их отслеживать и управлять ими. Хорошая новость в том, что это можно делать с помощью пакетного менеджера APT (Advanced Packaging Tool).
Установка с помощью пакетного менеджера
Эволюция методов установки и управления программными пакетами со временем дошла до использования пакетных менеджеров, плотно интегрированных с репозиториями. В репозиториях содержатся упакованные файлы программ с данными об их зависимостях. После установки к операционной системе уже подключены системные репозитории: с их помощью можно обновлять ОС и устанавливать программные пакеты, которые были адаптированы и оптимизированы для работы с этой версией операционной системы.
Перед началом установки пакетов рекомендуется обновить данные о версиях и зависимостях в репозитории следующей командой:
Если необходимо уточнить название пакета, который требуется установить — ищем в локальном кэше менеджер по ключевым словам, например, web server:
В результате получим большой перечень пакетов, где данное ключевое слово присутствует в описании:
Выбираем нужный нам пакет — в данном случае это apache2, и устанавливаем его:
Пакетный менеджер проверяет зависимости, версии, сравнивает их с уже установленными через apt-get пакетами, после чего выдает список необходимых для установки компонентов и запрашивает разрешение на продолжение операции:
Нажимаем 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 командой:
и попробуем установить через dpkg –i имя_файла.deb:
В результате система выдает ошибку с перечнем отсутствующих пакетов:
Основные опции dpkg:
- dpkg –i имя_файла.deb — установка пакета; в качестве параметра указывается полное имя файла;
- dpkg –r имя_пакета — удаление ранее установленного пакета;
- dpkg –l — выведение списка установленных в системе пакетов.
Установка через файлы сценариев
Установка программы представляет собой распаковку архива, копирование файлов программы в системные директории и, при необходимости, внесение изменений в системные конфигурационные файлы. Все эти действия могут быть внесены в исполняемый файл сценария и выполнены при его запуске. Сейчас достаточно редко встречается подобный метод установки программы, но, тем не менее, некоторые разработчики его используют. Если возникла необходимость в установке такого пакета, необходимо скачать архив (обычно это файл с расширением .tgz или .tar.gz), распаковать его в отдельную директорию на сервере, изучить распакованные файлы, а также прочитать файл readme, если он имеется. Установка программы запускается, обычно, сценарием install.sh, поэтому нужно включить атрибут исполняемого файла командой:
после чего запустить непосредственно сценарий:
Как запустить 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). Для этого вам придется ввести пароль администратора.
Завершите установку программы. Установка через терминал может включать дополнительные шаги, например, проверку установки.
Установка или запуск программ формата 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 установочные файлы представляют собой последовательность программ, которые выполняются для установки ПО на дистрибутив, познакомились с правилами безопасности при работе с этими файлами и научились их запускать. Видите сколько полезной и нужной информации выхватили из такого небольшого поста!
Надеюсь, что для кого-то этот материал окажется полезным, а также жду от вас обратной связи в виде комментариев, лайков, репостов и подписок на канал.