Рассказываем о том, как пользоваться менеджерами пакетов, что такое исходный код, зачем нужны скрипты .sh. В общем, говорим о великом разнообразии вариантов установки дополнительного программного обеспечения в различные дистрибутивы Linux.
Установка программ «классическим» методом
Вряд ли Linux — ваша первая операционная система. Скорее всего, вы уже пользовались Windows или macOS и устанавливали приложения там. В этих системах процесс загрузки и установки сторонних программ построен следующим образом:
- Открываем официальный сайт разработчика приложения.
- Ищем там ссылку на установочный файл и кликаем по ней.
- Затем запускаем загруженный установщик двойным кликом.
Простой алгоритм, который не всегда, но все же работает и в Linux. Так как большое количество программного обеспечения разрабатывается сразу для нескольких операционных систем, то на сайтах разработчиков имеются ссылки на установочные файлы сразу для Windows, macOS и нескольких вариантов Linux.
Более того, некоторые сайты сами определяют тип системы и предлагают подходящий файл для загрузки.
Собственно, в этом случае никаких сложностей возникнуть не должно:
- Заходим на сайт нужной программы.
- Ищем кнопку «Скачать».
- При необходимости указываем тип системы (Linux-дистрибутив, который используете).
- Запускаем (или распаковываем) загруженный файл.
С большой долей вероятности вы скачаете файл в специально запакованном архиве, который подходит только для вашей системы и который можно будет установить обычным двойным кликом. В противном случае придется вручную переархивировать программу либо найти другой способ ее установить.
Здесь отдельно стоит упомянуть дистрибутив openSUSE и их менеджер пакетов YasT, часть функциональности которого встраивают в веб-страницы для быстрой загрузки и установки пакетов в систему. Грубо говоря, это специальная страница, выступающая в роли установщика и не требующая загрузки отдельных файлов.
Загрузка и установка приложений через встроенные магазины ПО
В мире Linux есть системы, которые больше остальных почитают «обычного пользователя», не очень хорошо разбирающегося в компьютерах. Речь об Ubuntu (ну, и о ее производных). В этом дистрибутиве используются некоторые дизайнерские, функциональные и интерфейсные решения из операционной системы Apple Mac OS X. Одно из таких решений — использование собственного независимого магазина приложений, в котором люди смогут искать нужное программное обеспечение и устанавливать его в один клик без лишних хлопот.
Сейчас такие магазины есть во многих дистрибутивах. Их можно встретить его в Fedora, Ubuntu, openSUSE. В Elementary OS вовсе появился репозиторий с эксклюзивным платным программным обеспечением. Его пополняют разработчики-энтузиасты, ищущие поддержки среди пользователей Open Source продуктов. Принцип их работы прост. В них содержится пакет с файлами приложения, упакованный в правильном формате. Система умеет их распаковывать и превращать в рабочее приложения, проводя всевозможные дополнительные операции вроде создания ярлыка на рабочем столе и так далее.
Чтобы скачать приложений из такого магазина:
- Открываем магазин приложений (он так и называется зачастую).
- Вводим в поисковое поле название программы, которую надо установить.
- Ищем ее в результатах поиска и кликаем по кнопке «Установить».
И на этом все.
Из минусов этого способа стоит выделить отсутствие большого количества программ. Дело в том, что список доступных приложений регулируют разработчики дистрибутива. Иногда людям не удается найти там какой-то важный для них продукт. Но создатели Ubuntu, например, пытаются исправить эту проблему и добавляют в систему гигантское количество полезного «софта», включая Skype, VS Code и другие популярные вещи.
Устанавливаем программы, используя менеджер пакетов
На самом деле, загрузка и установка программ для 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.
- Затем ищем пакет, который нужно установить (можно воспользоваться поиском).
- Ставим галочку напротив его названия.
- После этого нажимаем на кнопку «Применить» в верхней панели управления Synaptic.
Система запустит процесс обновления доступных пакетов и найдет те, которые нужно установить, и загрузит их на компьютер. С помощью 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 можно с помощью одной из трех программ.
apt
Или Advanced Package Tool. Это утилита, специально разработанная для распаковки пакетов в формате .deb, которые, в свою очередь, используются в операционной системе Debian и ее дериватах. Работает она точно так же, как и любой другой менеджер пакетов. Отзывается на те же команды. Для установки какого-нибудь приложения надо ввести в терминал что-то в духе sudo apt-get install firefox. Естественно, Firefox можно заменить на любой другой доступный для установки программный продукт .
snap
С недавних пор в Ubuntu и некоторых других современных дистрибутивах появился инструмент под названием snap. Это программа для установки сторонних лицензированных приложений. В частности, коммерческих. Дело в том, что в репозитории с ПО (откуда обычно скачиваются пакеты с помощью apt) намеренно не добавляют проприетарный «софт». Там лежат только программы с открытым исходным кодом. Это, конечно, усложняло их установку до определенного момента. То есть до появления snap. В его базе приложений есть все полезные коммерческие продукты типа Skype, Opera и проч. Работает так: snap install skype. Даже __sudo__вводить не нужно. snap сам затребует пароль через графическую оболочку.
dpkg
В некоторых ситуациях может пригодиться команда распаковки dpkg. Например, при установке того же проприетарного ПО. Работает она несколько иначе. Слово install не используется. Нужно просто ввести dpkg и указать путь до файла, который нужно распаковать. После этого перед вами появится окно с инструкциями по дальнейшей распаковке и установке приложения.
При этом файл (архив с компонентами ПО) должен находиться на компьютере, а в список репозиторием уже добавлены все необходимые ссылки. Обычно разработчики программ заранее указывают, что необходимо добавить в систему и в какой последовательности.
В Fedora
Fedora тоже довольно популярный дистрибутив. Один из многих, который в свое время отстыковался от знаменитого Red Hat Linux. Собственно, из-за этого наследия в Fedora поддерживается формат файлов .rpm. С ними можно работать прямо как в Ubuntu. Просто скачиваете файл в подходящем формате и запускаете. Система автоматически запустит менеджер пакетов и поможет с установкой программы.
А вот работа с менеджером пакетов немного отличается. В современных версиях Fedora используется утилита dnf. Поэтому процесс установки нового ПО выглядит примерно так sudo dnf install thunderbird. В общем, это альтернатива apt в Ubuntu.
Установка .deb-пакетов
Если вы не смогли найти пакет в формате .rpm и не можете собрать какой-то «софт» из исходного кода, то можно попытаться преобразовать .deb-пакет в .rpm, а затем установить его как «родной».
Для этого:
- Скачиваем программу Alien с помощью команды sudo dnf install alien
- Затем переходим в папку с загруженным .deb-пакетом.
- Вводим команду __ sudo alien –to-rpm название пакета в формате .deb__
- А потом вводим sudo dnf install *путь до преобразованного файла в формате .rpm
Во избежание сложностей во время установки лучше все-таки искать пакеты в «родных» форматах. К тому же, .rpm довольно распространенный вариант.
В CentOS
CentOS — еще один дериват от Red Hat Linux. Он тоже поддерживает формат файлов RPM и знает, как с ними взаимодействовать. Это значит, что здесь также сработает трюк с трансформацией DEB-пакета в RPM-пакет с его последующей установкой. Правда, здесь используется иной пакетный менеджер и есть свои нюансы при работе с файлами из онлайн-хранилища и с теми, что лежат в компьютере. Для решения этих задач нужно прописывать разные команды.
Для установки ПО из репозитория используется менеджер пакетов YUM. Например, чтобы скачать конвертер Alien, нужно ввести в терминал команду sudo yum install alien
А вот чтобы установить пакет, который уже хранится на компьютере, нужно слегка изменить ее. Получится sudo yum localinstall название пакета в формате RPM
В openSUSE
openSUSE так же, как и CentOS с Fedora, произошел от Red Hat Linux. Поддерживает тот же формат пакетов и парочку интересных новшеств, связанных с их фирменной проприетарной утилитой YaST. Программа с забавным названием Yet another Setup Tool (очередной установщик пакетов) отвечает за загрузку и обновление приложений в дистрибутивах SuSE.
Она работает в тандеме с менеджером пакетов Zypper. Поэтому, чтобы загрузить какой-то «софт» в openSUSE:
- Открываем терминал.
- Вводим в него команду sudo zypper install название пакета.
Все вот так просто. Правда, многие пользователи жалуются на нехватку пакетов во встроенных репозитория SuSE. Говорят, часто приходится собирать программы своими руками из исходного кода. Об этом поговорим чуть ниже.
В Arch Linux (Chakra)
Arch Linux — самый необычный дистрибутив из всех описанных. Он поставляется только в базовом виде. Без графического интерфейса, без кодеков и проприетарных драйверов. Но это не значит, что он устарел или не соответствует стандартам современности. Напротив, он очень продвинутый и поддерживает огромное количество свежих пакетов. База доступных приложений строится руками сообщества и пополняется каждый день.
Для загрузки и обновления пакетов в Arch Linux используется менеджер пакетов pacman. Например, чтобы установить браузер Firefox, нужно ввести в терминал команду pacman -S firefox
Как видите, все довольно просто.
Распаковка архива
Некоторые приложения поставляются в уже «готовом» виде. То есть их даже не нужно как-то распаковывать и куда-то прятать по системным папкам. Достаточно вытащить содержимое архива и кликнуть по файлу инициализации.
Такая ситуация наблюдается с браузером Firefox. Вообще, он распространяется бесплатно и доступен во всех популярных репозиториях. То есть независимо от используемого менеджера пакетов его всегда можно скачать и обновить. При этом на официальном сайте Mozilla есть архив с программой, но в ней нет установщика. Просто набор файлов, один из которых запускает браузер. Так что иногда удается обойтись без установки чего-либо.
Запуск скрипта .sh
В некоторых подобных архивах лежат схожие компоненты, но предназначены они не для запуска, а именно для установки. Правда, сходу не совсем понятно, как эту установку произвести. Речь идет о «софте» типа интегрированных сред разработки от компании JetBrains.
Продукты этой фирмы устанавливаются с помощью специального скрипта в формате .sh, который изначально надо скачать с официального сайта разработчиков.
Чтобы запустить такой скрипт:
- Открываем терминал.
- И пишем туда sudo *полный путь до .sh-скрипта, который нужно запустить
И все. Далее перед вами скорее всего появится графический интерфейс установщика.
Сборка исходного кода с помощью make
Это самый универсальный способ установки новых программ в Linux. Универсальный он, потому что работает в любой операционной системе одинаково. Исходный код чист. Он не упакован в какой-либо формат, который может считать только определенный менеджер пакетов. И эта универсальность подкупает.
С другой стороны, сборка исходного кода — это полностью ручной труд. Менеджеры пакетов хороши тем, что они сами ищут нужные файлы, сами ищут зависимые пакеты и так далее. Команда make так не умеет. Если в системе чего-то не хватает для сборки приложения из исходного кода, то утилита сборки откажется выполнять свою работу. Придется читать длинные инструкции и логи, чтобы исправить все ошибки и наконец собрать нужное ПО.
Что касается самого процесса, то он выглядит примерно так:
- Сначала загружаем архив с исходным кодом.
- Распаковываем его в любую папку.
- Открываем терминал.
- Переходим с помощью команды cd в папку с исходным кодом.
- Запускаем скрипт make для сборки программы.
Звучит довольно просто, но на деле можно столкнуться с кучей неразрешенных зависимостей. В этом случае придется все их установить самостоятельно.