Установка программ в Calculate Linux: полное руководство

Команда cl-update в терминале Calculate Linux одновременно обновляет систему и подтягивает свежее дерево пакетов — именно с неё начинается любая установка программ в этом дистрибутиве, построенном на базе Gentoo. Если попытаться ставить софт «в лоб» через emerge без предварительного обновления репозиториев, можно столкнуться с конфликтами версий зависимостей, характерными для rolling-релизов.

Calculate Linux отличается от классической Gentoo тем, что поставляется с готовыми бинарными пакетами из собственного репозитория, поэтому установка большинства программ занимает минуты, а не часы компиляции. В этой статье разберём все способы установки софта: от утилит семейства cl-* до классического Portage и оверлеев.

Особенности пакетной системы Calculate Linux

В основе дистрибутива лежит пакетный менеджер Portage, унаследованный от Gentoo. Однако разработчики Calculate добавили поверх него собственную прослойку — набор утилит Calculate Utilities, который автоматизирует типовые операции и снижает порог входа для пользователей, не знакомых с Gentoo.

Ключевая особенность — бинарный репозиторий. Пакеты собираются на серверах проекта с типовыми USE-флагами, и при установке по умолчанию загружаются готовые сборки. Компиляция из исходников запускается только тогда, когда вы меняете USE-флаги или запрашиваете версию, которой нет в бинарном хранилище.

Управление системой ведётся через шаблоны конфигурации: утилиты cl-setup и родственные им перезаписывают часть настроек при обновлении. Это значит, что ручные правки некоторых файлов могут быть отменены — об этом подробнее в разделе про предупреждения.

Подготовка: обновление дерева пакетов

Перед установкой любого софта синхронизируйте репозитории и обновите систему. Для этого служит команда:

cl-update

Утилита выполняет сразу несколько действий: синхронизирует дерево Portage и оверлеи, проверяет обновления установленных пакетов и устанавливает их с учётом бинарных сборок. Если нужно только синхронизировать репозитории без обновления пакетов, используйте флаг --sync-only:

cl-update --sync-only

Пропуск этого шага — типичная причина ошибок вида «нет подходящей версии пакета» или блокировок зависимостей. В rolling-дистрибутиве дерево пакетов устаревает быстро, и emerge начинает требовать версии, которых уже нет на зеркалах.

⚠️ Внимание: команда cl-update может перезаписать часть конфигурационных файлов согласно шаблонам Calculate. Если вы вручную правили системные настройки, перед обновлением сохраните их копии и после обновления проверьте, не откатились ли изменения.

Установка программ через emerge

Основной инструмент установки — команда emerge. Чтобы поставить программу из официального дерева, достаточно указать её имя:

emerge -av firefox

Флаги -a (спросить подтверждение) и -v (подробный вывод) не обязательны, но удобны: вы видите список зависимостей, USE-флаги и размер загрузки до начала установки. В Calculate Linux emerge по умолчанию настроен на использование бинарных пакетов, поэтому загрузка идёт с зеркал проекта.

☑️ Установка программы в Calculate Linux

Выполнено: 0 / 5

Для поиска пакета по имени используется команда:

emerge --search браузер

Более быстрый вариант поиска — утилита eix, если она установлена: eix firefox. Она индексирует дерево и выдаёт результаты мгновенно, показывая также доступные версии и USE-флаги.

📊 Как вы чаще всего устанавливаете программы в Calculate Linux?
Только emerge с бинарными пакетами
emerge с компиляцией и своими USE-флагами
Графические менеджеры пакетов
Flatpak или другие универсальные форматы

USE-флаги и компиляция из исходников

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

Глобальные флаги задаются в файле /etc/portage/make.conf, а флаги для отдельных пакетов — в /etc/portage/package.use/. Например, чтобы включить поддержку конкретной возможности у одного пакета, создаётся файл с записью вида:

media-video/mpv vaapi vulkan

После изменения флагов пакет нужно пересобрать — emerge сам определит, что бинарная сборка не соответствует настройкам, и начнёт компиляцию. Учтите: сборка крупных приложений вроде браузеров из исходников занимает заметное время и нагружает процессор.

Как узнать, какие USE-флаги есть у пакета

Выполните emerge -pv имя_пакета — в выводе будут перечислены все доступные USE-флаги, активные подсвечены. Описание каждого флага можно посмотреть командой euse -i имя_флага (утилита входит в пакет gentoolkit) или в документации Gentoo.

⚠️ Внимание: при смене глобальных USE-флагов в make.conf система может потребовать пересборки десятков пакетов. Перед такой операцией оцените объём изменений командой emerge -pvuDN @world — она покажет, что именно будет пересобрано.

Оверлеи и сторонние репозитории

Если программы нет в основном дереве, её можно поискать в оверлеях — дополнительных репозиториях ebuild-файлов. Управлять ими удобно через утилиту layman или встроенный механизм eselect repository, в зависимости от того, что предустановлено в вашей редакции.

Типовая последовательность с eselect выглядит так:

eselect repository enable guru

emaint sync -r guru

После подключения оверлея пакеты из него устанавливаются обычным emerge. Учитывайте, что оверлеи поддерживаются сообществом, и качество ebuild-файлов там разное: перед установкой полезно посмотреть, какие зависимости подтянет пакет.

  • 🔍 emerge --search — поиск в основном дереве пакетов;
  • 📦 eselect repository list — просмотр доступных оверлеев;
  • 🔄 emaint sync -r имя — синхронизация конкретного оверлея;
  • 🧩 eix — быстрый поиск сразу по всем подключённым репозиториям.

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

Удаление пакета выполняется командой emerge --depclean имя или с коротким флагом -C. Безопаснее первый вариант в связке с последующей чисткой зависимостей:

emerge --ask --depclean

Эта команда без указания имени ищет «осиротевшие» зависимости — пакеты, которые были установлены автоматически и больше никому не нужны. Всегда внимательно читайте список перед подтверждением: если в него попал нужный пакет, добавьте его в world-файл командой emerge --noreplace имя.

ЗадачаКомандаКомментарий
Обновить системуcl-updateСинхронизация + обновление пакетов
Установить программуemerge -av имяС подтверждением и подробным выводом
Найти пакетemerge --search словоПоиск по имени и описанию
Удалить программуemerge --depclean имяС проверкой зависимостей
Чистка сиротemerge -a --depcleanТолько после проверки списка

Альтернативные способы: Flatpak и AppImage

Не весь софт есть в Portage и оверлеях. Для таких случаев Calculate Linux поддерживает универсальные форматы пакетов. Flatpak устанавливается из дерева: emerge -av flatpak, после чего приложения ставятся из репозитория Flathub командой flatpak install flathub имя. Такие программы работают в изолированном окружении и не конфликтуют с системными библиотеками.

Формат AppImage вообще не требует установки: скачанный файл делается исполняемым (chmod +x файл.AppImage) и запускается напрямую. Минус — отсутствие автоматических обновлений и интеграции с системным меню из коробки.

  • 📥 Flatpak — изоляция, автообновления, большой каталог Flathub;
  • 🚀 AppImage — один файл, ничего не нужно устанавливать;
  • ⚙️ Portage/emerge — максимальная интеграция с системой и тонкая настройка;
  • 🧪 Оверлеи — свежий и редкий софт, но без гарантий стабильности.

Выбор способа зависит от задачи. Системные утилиты и библиотеки логично ставить через emerge, а проприетарные приложения вроде мессенджеров или редакторов — через Flatpak, чтобы не тянуть в систему лишние зависимости.

Решение типичных проблем при установке

Самая частая жалоба — блокировки пакетов и слот-конфликты в выводе emerge. Обычно это следствие давно не обновлявшейся системы: свежее дерево требует версии библиотек, несовместимые с установленными. Решение — полное обновление через cl-update, а не попытка ставить программу с флагом --nodeps, который игнорирует зависимости и почти гарантированно ломает систему.

Вторая типичная ситуация — замаскированный пакет. Emerge сообщает, что пакет masked: значит, он либо в тестовой ветке, либо признан нестабильным. Размаскировка делается через файл в /etc/portage/package.accept_keywords/ с записью вида категория/пакет ~amd64. Делать это стоит осознанно: тестовые версии могут содержать ошибки.

Если бинарный пакет не скачивается или зеркало недоступно, проверьте сетевое подключение и попробуйте повторить синхронизацию позже — зеркала проекта иногда обновляются. Как временную меру можно принудительно собрать пакет из исходников соответствующей настройкой emerge.

⚠️ Внимание: не прерывайте компиляцию или обновление системы выключением компьютера — полустановленные пакеты придётся восстанавливать вручную. Если emerge завершился с ошибкой, сначала прочитайте последние строки лога: там почти всегда указана причина и пакет, на котором произошёл сбой.
Где искать логи emerge

Подробные логи сборки сохраняются в каталоге /var/log/portage/ (по каждому пакету отдельный файл). Краткую историю установок можно посмотреть командой genlop -l, если установлен пакет genlop. Это помогает понять, какой именно пакет сломал сборку.

Часто задаваемые вопросы

Чем Calculate Linux отличается от Gentoo при установке программ?

Calculate использует тот же Portage, но с преднастроенным бинарным репозиторием и утилитами cl-*. Программы по умолчанию ставятся из готовых сборок, а компиляция запускается только при изменении USE-флагов или отсутствии бинарника.

Нужно ли компилировать всё из исходников, как в Gentoo?

Нет. Бинарный репозиторий покрывает основную массу пакетов, и установка происходит быстро. Компиляция требуется лишь при нестандартных USE-флагах или для пакетов, которых нет в бинарном хранилище.

Что делать, если emerge пишет, что пакет замаскирован?

Пакет находится в тестовой ветке. Для размаскировки добавьте строку категория/пакет ~amd64 в файл внутри /etc/portage/package.accept_keywords/ и повторите установку. Учтите, что тестовые версии менее стабильны.

Можно ли пользоваться графическим менеджером пакетов?

Официального графического фронтенда уровня Synaptic в Calculate нет; управление ведётся через терминал. В качестве альтернативы для десктоп-приложений подходит Flatpak с графическими клиентами вроде GNOME Software или KDE Discover, если они установлены.

Как безопасно удалить программу со всеми зависимостями?

Выполните emerge --depclean имя, затем emerge -a --depclean для чистки осиротевших зависимостей. Перед подтверждением обязательно просмотрите список удаляемых пакетов, чтобы не потерять нужный софт.