Calculate, тормоза после обновления «мира»
Доброго времени суток всем!
Может кто сталкивался.
После установки Calculate 11 beta 2 CLD на ноутбук загрузка системы занимала порядка 25-30 сек. Но после обновления «мира» загрузка стала длиться больше 3 мин. Причем очень долго стоит уже после ввода логина/пароля — около 2.5 минут. Судя по индикаторам — активно работает с диском.
Что можно посмотреть/поправить, чтобы ликвидировать это безобразие?
Что в логах, какие демоны в автозапуске..
В логах нет ничего необычного. Никаких предупреждений или ошибок
$ ls /etc/runlevels/boot
alsasound cpufrequtils hwclock modules preload swap termencoding
bootmisc fsck keymaps mtab procfs sysctl urandom
consolefont hostname localmount net.lo root syslog-ng
$ ls /etc/runlevels/default
acpid fbcondecor hotplug netmount sshd vixie-cron wicd
cupsd hald local portmap udev-postmount vmware xdm
Ничего не изменял. После установки эксплуатировал пару дней. Загружался очень быстро. От логина до рабочего стола проходило где-то секунд 5. А обновил мир и вот на тебе — после логина трещит диском больше 2 минут, а от логина до рабочего стола проходит примерно 2.5 минуты.
гентообразие! юэайте слакваре! не менее интересно!
Выходит, не так этот калькулейт хорош, как его малюют.
Да как-то нареканий не было. Видимо разработчики активно стали пилить свои cl-* утилиты. Думаю, что проблема в них, что-то они там, видимо, втихаря делают.
А грузится он через OpenRC?
А не надо было без необходимости этот мир обновлять, вот теперь сам и разбирайся с совместимостью всего. Ещё легко отделался. После установки ванильного ядра, у меня при запуске рут не монтировался, пересобрал родное и стало грузиться нормально. Разработчики ядра не протестировали его на калькуляторе, вот и результат.
как это не надо? ЗАчем тогда вообще такую систему ставить? о_0
Всё одно ведь обновлять мир придётся рано или поздно. Так лучше вначале шишек набить.
>Calculate 11 beta 2 CLD
Причем очень долго стоит уже после ввода логина/пароля — около 2.5 минут.
Возможно, это автозапуск программ в KDE долго работает, обновление могло добавить в него что-то для всей системы. Или же можно создать нового юзера (или снести .kde, или переименовать) и посмотреть, будут ли в нём тормоза. Если не будут — то проблема в настройках пользователя, а не в обновлении.
Надеюсь, обновлять мир не придётся, хотя можно будет попробовать чисто из научного интереса. У разных людей разный жизненный ритм, кому-то и 24 часов в сутках мало, особенно в выходные)))) Только обжился в системе, как вышла 11 версия дистра. Уже несколько дней как скачана а установить пока руки не доходят. При такой скорости выхода новых версий, успеть бы их поставить. А если всё обновляется быстрей чем ставится, то зачем в промежутках обновлять мир? Вот ядро пересобрать можно, дело полезное. В версии 10.9 завёл шпоргалочку в которую записываю всё, что дополнительно съемерджил, что из этого не заработало, что оказалось бесполезным, удалял мало. Как доберусь до одиннадцатой, так самое полезное из этого надо будет накатить, потом скомпилить плагины гимпа. А потом наступит весна — дрель в руки и сверлить вентиляционные отверстия в крышке. И без обновления мира весело.
Руководство по обновлению системы
Обновлено 17 января 2020
Введение
Процесс обновления Calculate Linux максимально упрощён. Для обновления достаточно запустить графическое приложение «Обновление Calculate Linux» или выполнить в консоли:
Во время выполнения программа обновит портежи и оверлеи, выполнит обновления пакетов и выполнит удаление устаревших зависимостей.
Утилита может быть запущена как от суперпользователя root, так и от обычного пользователя системы, при наличии необходимых прав для обновления (см. раздел Пользователи):
Этапы обновления
Условно работу программы можно разделить на две части — синхронизацию репозиториев и обновление пакетов. При желании вы можете выполнить только синхронизацию репозиториев без обновления пакетов, для этого используйте параметр , пример:
Синхронизация репозиториев
В Calculate Linux существует несколько зеркал с бинарными пакетами обновлений, описанных в оверлее Calculate. Утилита обновления сама определит «мёртвые» или недоступные зеркала, а также зеркала, находящиеся в процессе обновления, и, в случае необходимости, переключит систему на другое наиболее быстрое зеркало. Для пересканирования зеркал с определением наиболее быстрого зеркала выполните cl-update —scan . Лог сканирования будет доступен в файле .
Доступны два типа зеркал — стабильные и нестабильные (тестовые). Тестовые зеркала отличаются более свежими версиями обновлений. Чтобы переключиться на тестовые обновления выполните cl-update —stable off .
Пакеты на зеркалах обновляются в разное время. Для того, чтобы версии пакетов были согласованы с версией портежей и оверлеев Calculate с Distros, утилита считывает с зеркала номера коммитов Git-репозитория и синхронизирует портежи и оверлеи до этого состояния. Тэги коммитов, благодаря которым можно минимизируя трафик скачать дерево портежей до определённого состояния, являются единственным отличием копии портежей Gentoo, используемой в дистрибутивах Calculate Linux.
Важной составляющей Calculate Linux является наличие вспомогательных оверлеев. Оверлеи играют важную роль в системе. При помощи них можно менять флаги и маски пакетов, устанавливать переменные, добавлять ebuild-ы пакетов. Оверлеи в Calculate Linux могут содержать шаблоны утилит Calculate. Все дистрибутивы Calculate Linux включают как минимум один оверлей , который содержит все необходимые настройки и шаблоны утилит. Оверлей , присутствующий в официальных сборках, включает только отличия разных дистрибутивов. Такое разделение сделано для того, чтобы на примере оверлея Distros можно было в любой момент создать свой полнофункциональный форк дистрибутива.
Конфигурация системы
После синхронизации и до начала установки обновлений пакетов выполняются шаблоны миграции, которые настраивают в файле выбранный репозиторий. На этом этапе обновления могут быть выполнены шаблоны ревизии и миграции.
Исправления могут вноситься, например, через искусственное понижение номера версии установленного пакета для последующей переустановки исправленной версии. Номера версий таких пакетов после изменения будут заканчиваться на . В качестве другого, более редкого, случая исправления можно привести удаление из служебного файла устаревшего пакета, приводящего к блокировке просчёта зависимостей пакетного менеджера.
Обновление пакетов
После синхронизации репозиториев, при наличии изменений, утилита обновления выполнит запуск пакетного менеджера emerge для выполнения просчёта зависимостей. Этот процесс не быстрый, т.к. выполняется в один поток и требует значительных вычислений.
В случае, если пользователь изменял USE-флаги или маски пакетов, либо устанавливал пакеты, отсутствующие в бинарном репозитории, например — из других оверлеев, такие пакеты во время установки будут скомпилированы из исходного кода. Отличить бинарные и не бинарные пакеты можно по зелёному цвету и коричневому цвету текста соответственно.
Пересборка изменённых пакетов
Данный шаг выполняется утилитой cl-builder-update при выполнении обновления пакетов в образе и служит для своевременной пересборки изменённых пакетов в дереве портежей. На этом этапе выполняется проверка изменений слота, USE-флагов и зависимостей пакетов. В случае наличия изменений такие пакеты будут пересобраны.
Обновление модулей Perl
Если во время обновления был обновлён пакет dev-lang/perl, программа выполнит perl-cleaner all для обновления модулей языка Perl.
Очистка системы от ненужных пакетов
При установке программ могут быть установлены дополнительные пакеты с зависимостями, необходимыми для работы. С течением времени зависимости могут меняться, а программы удаляться. Высвободившиеся от зависимостей пакеты могут остаться в системе мёртвым грузом. Такие пакеты не будут обновляться, т.к. не будут попадать в просчёт зависимостей пакетного менеджера. На данном шаге программа обновления выполнит удаление этих пакетов, выполнив вызов emerge —depclean .
Из списка удаляемых пакетов будет исключено ядро, если удаляемая версия пакета совпадёт с работающей в системе версией ядра. Таким образом, вы всегда сможете загрузить систему, используя предыдущую рабочую версию ядра, которое будет присутствовать в меню загрузчика.
Для предотвращения удаления работающей версии PostgreSQL при обновлении мажорной версии, во время вызова настройки emerge —config postgresql в файл шаблонами утилит будет прописан пакет с указанием номера слота.
Обновление модулей ядра
В случае обновления ядра на этом шаге программа выполнит вызов emerge @module-rebuild для обновления модулей ядра.
Обновление модулей X.Org сервера
При обновлении пакета x11-base/xorg-server программа выполнит вызов emerge @x11-module-rebuild для обновления модулей Xorg-сервера.
Пересборка зависимых модулей
Во время обновления будет выполнено определение пакетов, использующих устаревшие библиотеки, для последующей их пересборки. Для этого программа обновления использует вызов emerge @preserved-rebuild .
Проверка обратных зависимостей
Опционально может быть выполнен вызов утилиты revdep-rebuild , входящей в состав пакета и выполняющей поиск пакетов, содержащих повреждённые исполняемые файлы и библиотеки. Для его включения выполните:
Полезные опции запуска
По умолчанию программа не обновляет сторонние оверлеи. Для синхронизации всех подключённых оверлеев во время обновления используйте опцию . Пример:
Для просчёта зависимостей с последующим отображением устанавливаемых пакетов, без фактической установки, по аналогии с пакетным менеджером emerge есть опция . Пример:
Чтобы отобразить вывод списка просчитанных зависимостей с USE-флагами по аналогии с пакетным менеджером emerge , используйте опцию , пример:
Для восстановления целостности портежей и оверлеев — например, после ручного редактирования, используйте опцию , пример:
Весьма полезной могут оказаться опции обновления файла списка пакетов . Для того, чтобы привести список пакетов установленных в вашей системе к состоянию в текущей ночной сборке, достаточно выполнить:
Приведение списка пакетов может также разрешить блокировки, которые могут оказаться по причине перегруженности world-файла конфликтующими пакетами.
Другой полезной возможностью может оказаться дополнение world-файла списком пакетов профиля. К примеру, вы установили и настроили Calculate Linux Scratch, после этого захотели попробовать переключиться на профиль . Чтобы установить после этого MATE со всеми зависимостями, можно выполнить:
Для сокращения места на жестком диске вы можете использовать две опции: для очистки истории изменений локальной копии Git-репозитория и —clean-pkg для удаления скачанных и устаревших архивов программ. Пример:
cl-update -1 —clean-pkg
Интеграция в другие приложения
Важно не нарушать соответствие состояния бинарного репозитория и дерева портежей. Для этого вызов утилиты cl-update интегрирован в системные приложения.
При запуске emerge —sync будет выполнен вызов модуля синхронизации утилит Calculate, прописанный в файле настроек . Утилита eix-sync , обновляющая портежи в наглядном виде, также вызывает метод обновления утилит Calculate благодаря настройке . Утилита обновления портежей и пакетов в собираемом образе cl-builder-update также использует общий модуль обновления системы.
Автоматическая проверка обновлений
Проверка обновлений выполняется по планировщику задач . Вызов утилиты настраивается в файле . При доступности обновления будет создан файл . Для настройки интервала обновления или отключения выполнения проверки обновлений используйте утилиту cl-setup-update .