Тебе, конечно, никто не мешает загрузить программу в виде одного бинарного файла и запустить. Главное — не забыть дать ему права на исполнение! Но такие отдельно стоящие файлы — редкость. Обычно, чтобы программа работала, в систему нужно установить сразу много всего. Именно поэтому программы распространяются в виде пакетов через репозиторий.
Например, в Ubuntu для установки пакета достаточно написать sudo apt install пакет. Однако рекомендуется сначала сделать sudo apt update, чтобы ОС обновила свой список пакетов и узнала о выходе новых версий.
Важное отличие Linux заключается в том, что программа после установки будет разбросана по разным каталогам. Исполняемые файлы — в свой каталог, графические ресурсы — в свой, настройки — в свой, и так далее. При этом программы обычно используют общие библиотеки, что немного экономит место на диске, но иногда создает неудобные ситуации с версиями библиотек.
РЕКОМЕНДУЕМ:
Структура каталогов в Linux
При использовании такой системы установки практически бесполезно пытаться выяснить, куда же установилась программа. Если тебе вдруг понадобится удалить ее, пиши apt remove пакет, и его содержимое покинет твой диск, а вместе с ним уйдут и все компоненты, которые никто, кроме него, не использовал.
Но Linux — это страна свободных исходных кодов, а потому сборка программы из исходников — обычное дело. Считай, что вместо кресла ты купил «конструктор» из IKEA. Важное отличие от нее заключается в том, что вместо инструкции со смешными человечками ты получаешь Makefile — сценарий для программы make, который соберет все сам на автопилоте. А по дороге он изучит и учтет все особенности твоей системы либо наругается на тебя из‑за отсутствия каких‑то компонентов (в отличие от пакетного менеджера, который установил бы их сам).
Установка программ в Linux
Итак, предположим, ты нашел на гитхабе утилиту nnn (это такой минималистичный файловый менеджер, работающий в терминале) и хочешь ее установить из исходников. Тебе понадобится сделать следующее.
Шаг 1: Удостовериться, что у тебя в системе есть сам Git. Если его нет — установи:
1 |
sudo apt install git |
Шаг 2: Установить зависимости для nnn. Все их собирать из исходников — немного слишком, поэтому просто пиши
1 |
sudo apt install pkg-config libncursesw5-dev libreadline-dev |
Шаг 3: Теперь пора достать nnn с GitHub. Это делается такой командой:
1 |
git clone https://github.com/jarun/nnn.git |
Шаг 4: Заходи в скачанный каталог:
1 |
cd nnn |
Шаг 5: Пиши make и жми Enter. Эта команда найдет Makefile и выполнит инструкции по компиляции.
Шаг 6: Пиши sudo make install — эта команда разложит созданные бинарные файлы по каталогам.
Готово! Можешь писать nnn, находясь в любом каталоге, и файловый менеджер запустится.
Обрати внимание, это была лишь демонстрация. В реальности проще и лучше будет установить версию nnn из репозитория. В таком случае пакетный менеджер сможет обновлять установленную программу и удалить подчистую, если понадобится. Сборка из исходных кодов может понадобиться, если софт редкий или нужна самая‑самая новая версия.
Кстати, помимо бинарных пакетов, в репозиториях бывают и пакеты с исходниками. Их сборка пройдет на автомате и позволит не морочиться с установкой зависимостей.
РЕКОМЕНДУЕМ:
Полезные инструменты для работы с сетью в консоли Linux
В последнее время набирают популярность новые системы установки, в которых программы распространяются вместе со всеми зависимостями и библиотеками: AppImage, Flatpak и Snap. Это менее экономный метод, но более удобный и надежный. Также некоторые программы удобно устанавливать через Docker — то есть вместе с миниатюрным образом Linux. Но разговор обо всем этом выходит за рамки сегодняшней статьи.