Вместо предисловия
Если вы решитесь установить себе на ПК Calculate Linux, то держите первые три небольших совета от автора. Совет номер один — не устанавливайте систему с релизных ISO-образов. Calculate — это rolling-дистрибутив и есть довольно неиллюзорный шанс, что ваша система установленная с такого образа не переживет обновление из-за изменений в зависимостях пакетов, флагах и т.д, особенно если последний релиз был уже приличное время назад. Соответственно, можете испортить себе все первоначальное впечатление, как это сделал в свое время автор этой статьи. Поэтому, как для установки, так и для «пощупать» настоятельно рекомендую использовать регулярные сборки которые можно взять тут: https://wiki.calculate-linux.org/ru/nightly
Совет номер два, привыкайте работать в терминале. В Calculate, как и в Gentoo, отсутствует, графический интерфейс для некоторых вещей, например, установки программ и т.д. Поэтому все действия выполняемые в этом гайде будут проводиться исключительно в терминале. Хотя некоторые вещи, все же, могут быть выполнены и с использование GUI. Но тут на ваше усмотрение.
Совет номер три, с случае проблем и вопросов, всегда можно получить помощь тут:https://t.me/joinchat/Qx7b2K-Y5IFvPeem Не стесняйтесь задавать вопросы. Ну и не ленитесь пользоваться поиском (в том числе и в телеге).
Включение sudo и установка nano
Настройку дистрибутива я всегда начинаю с установки текстового редактора nano и настройки прав sudo.
Для начала устанавливаем текстовый редактор:
$ su
# emerge -av nano
Затем открываем и редактируем файл /etc/sudoers
# nano /etc/sudoers
Ищем и раскомментируем (т.е. убираем знак решетки) следующую строку
%wheel ALL=(ALL:ALL) ALL
Сохраняем файл и наслаждаемся правами root :)
Избавляемся от сложного пароля
По умолчанию во время установки дистрибутива требуется задать достаточно сложный пароль как для root, так и для обычного пользователя. Что может быть не сильно удобно в повседневном использовании. Если вы привыкли использовать более простые пароли, то можно изменить это правило.
Открываем файл /etc/pam.d/system-auth:
# nano /etc/pam.d/system-auth
Найдем в нем и закомментируем (добавим знак #) строку:
#password required pam_passwdqc.so min=8,8,8,8,8 retry=3
И ниже добавим следующее:
password required pam_passwdqc.so enforce=none
Сохраняем файл и выходим.
Теперь можно поменять пароль пользователя командой:
$ passwd
Вводим сначала старый пароль, затем два раза повторяем новый и все! Повторяем тоже самое для root, если необходимо. После этого можно вернуть содержимое файла /etc/pam.d/system-auth в первоначальное состояние.
Обновление системы
Для обновления системы используется команда:
# cl-update
Эта утилита не только обновляет программы, но и удаляет не нужные, осиротевшие (если таковые появляются в системе), а также производит изменение в системных конфигах (если они нужны, опять же). Крайне полезная вещь, которой вы будете пользоваться не раз.
Для обновления программ установленных из сторонних оверлеев (репозиториев) используем:
# cl-update -o
Если что-то пошло не так с cl-update, например компьютер был перезагружен во время обновления системы и команда обновления теперь падает с какой-нибудь ошибкой, то можно использовать альтернативную команду для завершения обновления:
# emerge -avuDN @world
Как найти нужный пакет:
Прежде всего надо обновить кэш eix, без этой команды поиск по пакетам работать не будет:
# eix-remote update
Далее для поиска нужной программы используем:
eix -R PROGNAME
Например:
Поиск бинарного Firefox везде, включая сторонние оверлеи
$ eix -R firefox-bin
PS: Проверить наличие или отсутствие того или иного пакета для установки, можно и не выходя из браузера, по адресу: https://gpo.zugaina.org/Overlays
Установка пакета
Для установки пакетов:
# emerge -av PROGNAME
Например:
$ sudo emerge -av app-backup/grub-btrfs
или
$ sudo emerge -av grub-btrfs
Оба варианта допустимы для использования, но первый является более правильным с точки зрения синтаксиса. Я лично предпочитаю не заморачиваться и пользуюсь вторым вариантом.
Для установки всяческих зависимостей для других пакетов, библиотек и всего того, что не имеет для вас ценности и не должно попасть в @world, используем команду:
# emerge -av1 PROGNAME
Удаление пакета
Для удаления пакетов используем:
# emerge -acv PROGNAME
Например:
$ sudo emerge -acv app-backup/grub-btrfs
Принудительное удаление пакета (использовать с осторожностью!)
С помощью данной команды можно удалить абсолютно любой пакет из системы не затрагивая и не смотря ни на какие зависимости. Будьте крайне осторожны при ее использовании, можно легко сломать систему! Иногда эта команда бывает полезна при проблемах с обновлениями. Лично автора она выручала уже не раз.
emerge -aCv PROGNAME
Например:
$ sudo emerge -aCv dev-qt/linguist-tools
Безопасное использование оверлеев
Оверлеи - это дополнительные репозитории с ebuild-ами, которые не вошли в официальное дерево Gentoo.
Предположим нужная вам программа отсутствует в основном репозитории, но нашлась в одном из сторонних т.н. оверлеев. Как установить ее так, чтобы ничего не сломать? Рассмотрим на примере стабильной версии Яндекс.Браузера, которую можно найти в оверлее rasdark.
Получаем права root (запуск команды через sudo тут не поможет)
$ sudo su
Маскируем все пакеты из данного репозитория (т.е. запрещаем установку любого пакета из этого оверлея) добавив строку */*::rasdark в файл /etc/portage/package.mask/custom
# echo "*/*::rasdark" >> /etc/portage/package.mask/custom
И делаем исключение из этой общей для оверлея маскировки для Я.Браузера добавив строку www-client/yandex-browser-stable::rasdark в /etc/portage/package.unmask/custom
# echo "www-client/yandex-browser-stable::rasdark" >> /etc/portage/package.unmask/custom
Включение оверлея и его синхронизация
После выполнения предыдущих операций активируем нужный нам оверлей:
# eselect repository enable rasdark
И синхронизируем информацию о содержащихся в нем пакетах:
# emerge --sync rasdark
И далее штатно устанавливаем пакет с помощью emerge -av PROGNAME
# emerge -av www-client/yandex-browser-stable
Отключение оверлея
Если в процессе дальнейшей работы возникнет необходимость отключить подключенный ранее оверлей, сделать это можно командой:
# eselect repository disable rasdark
Установка нестабильных версий программ
Нестабильная версия у программы в Gentoo вовсе не означает, что он нестабильно работает - просто на данный момент эта версия не прошла достаточного тестирования. Некоторые программы в оверлеях, кстати, вообще не имеют стабильных версий как таковых. Но это вовсе не означает, что ими нельзя пользоваться. Просто их никто официально не проверял на совместимость и стабильность работы в Gentoo. Одной из таких программ, не имеющей т.н «стабильной» версии является Timeshift. На ее примере и рассмотрим установку такого рода программ. Чтобы разрешить установку нестабильной 64-битной версии Timeshift, сначала добавим необходимую строку в файл /etc/portage/package.accept_keywords/custom с помощью команды:
# echo "app-backup/timeshift ~amd64" >> /etc/portage/package.accept_keywords/custom
И затем уже выполним непосредственно установку самого пакета:
# emerge -av app-backup/timeshift
Можно также добавлять такие записи в файл /etc/portage/package.accept_keywords/custom автоматически с помощью добавления в команду установки следующей опции --autounmask-write. В таком случае установка будет выглядеть так:
Размаскируем пакет
# emerge -av --autounmask-write app-backup/timeshift
Применяем сделанные изменения
# dispatch-conf
И устанавливаем пакет
# emerge -av app-backup/timeshift
Автор статьи предпочитает ручной метод, если что. Вы же можете использовать любой на свой выбор. И тот, и тот способ являются верными.
Использование локального оверлея
Ebuild, подобно пакетам в других дистрибутивах, можно скачать и выполнить с его помощью установку программы локально без подключения сторонних ресурсов. Для этого можно использовать custom-overlay. Это локальный предварительно настроенный оверлей, который располагается в вашей системе по адресу /var/calculate/repos/custom. Рассмотрим установку yd-tools, из ebuild взятого, например, с моего Яндекс.Диска https://disk.yandex.ru/d/BE7pI_8-dCY-yA
Скачиваем архив yd-tools-1.11.0-r1.zip и распаковываем оттуда штатным архиватором файл yd-tools-1.11.0-r1.ebuild, например в корень домашней директории. Далее создаем в нашем оверлее директорию с названием x11-misc
# cd /var/calculate/repos/custom/
# md x11-misc
И в этой директории еще одну директорию с названием самой программы:
# cd x11-misc
# md yd-tools
И копируем скачанный и распакованный файл ebuild в нашу подготовленную директорию:
# cp ~/yd-tools-1.11.0-r1.ebuild /var/calculate/repos/custom/x11-misc/yd-tools/
Осталось создать файл Manifest, в котором содержатся checksum для нашего ebuild и выполнить установку. Наличие файла Manifest обязательно для выполнения установки!
Создание файла Manifest
Переходим в директорию с нашим ebuild:
# cd /var/calculate/repos/custom/x11-misc/yd-tools/
И выполняем:
# ebuild yd-tools-1.11.0-r1.ebuild digest
Теперь все готово для начала установки. Устанавливаем как обычно:
# emerge -av yd-tools
Обновление конфигурации grub
Если нужно обновить конфигурацию загрузчика grub используем команду:
# grub-mkconfig -o /boot/grub/grub.cfg
Добавление модулей ядра в загрузку
Если какая-то программа жалуется на отсутствие модулей, например Virt-manager на отсутствие tun, то выполняем добавление их в загрузку с помощью следующих команд:
Добавление модуля tun
$ sudo echo tun >> /etc/modules-load.d/tun.conf
Добавление модуля fuse
$ sudo echo fuse >> /etc/modules-load.d/fuse.conf
В дальнейшем, чтобы удалить такой добавленный модуль из загрузки, когда он станет не нужен, просто удаляем созданный файл:
$ sudo rm /etc/modules-load.d/tun.conf
Управление службами
Управление службами в OpenRC, который используется в Calculate Linux по сути не сильно отличается от управления таковыми в SystemD. Немного разные команды, но синтаксис похожий. Рассмотрим на примерах:
Добавление в автозапуск службы libvirtd
$ sudo rc-update add libvirtd default
Удаление из автозапуска службы libvirtd
$ sudo rc-update del libvirtd default
Запуск службы anydesk
$ sudo rc-service anydesk start
Остановка службы
$ sudo rc-service anydesk stop
Перезапуск службы
$ sudo rc-service anydesk restart
Узнать текущее состояние службы:
$ sudo rc-service anydesk status
Использование USE флагов
Также в этом гайде я немного, опять же на примерах, затрону тему USE-флагов и маскировки пакетов. Немного - потому что темы эти подходят скорее для отдельной статьи и, вероятно, могут оказаться не совсем для новичков. Кому будет интересно, в заключении будут ссылки, где потом можно будет почитать более подробную информацию по этой или любой другой интересующей теме.
USE-флаги - одна из классных, на мой взгляд, «фишек» Gentoo и Calculate. С их помощью можно добавлять или убирать определенный функционал у различных программ в случае возникновения такой необходимости. Например, можно добавить к ядру системы поддержку Fsync или добавить автоматический ввод логина/пароля в KeepassXC, убрать из пакета mangohud поддержку видеокарт Nvidia, если вы используете Intel или AMD и т.д. Для этого нужно указать название программы и тот флаг, который нужно добавить или убрать, в файл:
/etc/portage/package.use/custom
Если нужно добавить флаг, пишем название программы и, через пробел, флаг
Например:
Добавление поддержки Fsync в ядро
# echo ''sys-kernel/calculate-sources fsync'' >> /etc/portage/package.use/custom
Если нужно наоборот убрать флаг, то название программы и через пробел, минус и название флага.
Например:
# echo ''games-util/mangohud -nvidia'' >> /etc/portage/package.use/custom
Узнать какие флаги включены, какие выключены, какие они вообще есть у программы можно просмотрев выхлоп команды eix -R PROGNAME, той самой, которую мы использовали ранее для поиска этой же программы.
Маскировка пакетов
Может понадобиться вам, если нужно зафиксировать определенную версию какого-либо пакета, чтобы он не обновлялся. Или заблокировать установку какого-либо не нужного пакета, который тянется за другим, но не обязателен по зависимостям. Например можно зафиксировать ядро на версии 5.18, в случае, если с новой версией не собираются модули VirtualBox и нужно переждать, пока Oracle не выпустит новую версию программы. Для этого используется файл
/etc/portage/package.mask/custom
Да-да, это тот самый файл, который мы использовали раннее для безопасного использования оверлеев. Просто добавим в него следующую строку: >=sys-kernel/calculate-sources-5.18, командой:
# echo ''>=sys-kernel/calculate-sources-5.19'' >> /etc/portage/package.mask/custom
Затем останется выполнить обновление системы, которое удалит более новое ядро и оставит версию 5.18, до момента, пока вы вручную не уберете эту запись из файла /etc/portage/package.mask/custom
Заключение
На этом закончу данный гайд. Постарался дать вам как можно более полезную базовую информацию по использованию Calculate Linux на десктопе. Надеюсь это поможет новичкам, только-только прикасающимся к Gentoo-based дистрибутивам, таким как Calculate Linux, быстрее освоится и сэкономить кучу времени на поиски нужных команд. Буду рад ответить на ваши вопросы, если таковые возникнут. Ну а более подробную информацию по каждому пункту описанному в данной статье можно получить тут https://wiki.calculate-linux.org/ru/ или тут https://wiki.gentoo.org/wiki/Handbook:Main_Page/ru
Удачи в освоении!
[about@Linux ~]# - Сообщество пользователей и любителей ОС на базе ядра Linux и по-совместительству персональный блог одного из таких людей.
Страница ВК: https://vk.com/about_linux