Найти в Дзене
[about@Linux ~]#

Calculate Linux после установки. Основы для начинающих.

Вместо предисловия Если вы решитесь установить себе на ПК Calculate Linux, то держите первые три небольших совета от автора. Совет номер один — не устанавливайте систему с релизных ISO-образов. Calculate — это rolling-дистрибутив и есть довольно неиллюзорный шанс, что ваша система установленная с такого образа не переживет обновление из-за изменений в зависимостях пакетов, флагах и т.д, особенно если последний релиз был уже приличное время назад. Соответственно, можете испортить себе все первоначальное впечатление, как это сделал в свое время автор этой статьи. Поэтому, как для установки, так и для «пощупать» настоятельно рекомендую использовать регулярные сборки которые можно взять тут: https://wiki.calculate-linux.org/ru/nightly Совет номер два, привыкайте работать в терминале. В Calculate, как и в Gentoo, отсутствует, графический интерфейс для некоторых вещей, например, установки программ и т.д. Поэтому все действия выполняемые в этом гайде будут проводиться исключительно в термина
Оглавление

Вместо предисловия

Если вы решитесь установить себе на ПК 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