Fastlogin для доменных пользователей
Главным нововведением новой версии утилит Calculate 3.6.9 является многократное ускорение входа в сеанс пользователей Calculate Linux Desktop, введенных в домен Calculate Directory Server. Надо сказать, что узкое горлышко мы нашли довольно случайно. Сравнительное тестирование скорости передачи файлов по rsync через samba ресурс и с rsync сервера не показывало большой разницы в скорости. Однако если попробовать сравнить скорость передачи файлов профиля пользователя, то разница будет уже отличаться в разы!
Возможно кто-то помнит, как на ранних версиях Calculate Linux Desktop приходилось подолгу ждать загрузки рабочего стола. Причиной длительного ожидания было выполнение шаблонов при входе в сеанс. Это было сделано для того, чтобы установленное или обновленное ПО могло получить настройки для всех пользователей. В некоторых случаях это было критично, например в ранних версиях KDE 4, когда настройки plasma от версии к версии постоянно ломались. Позже, для не доменных пользователей, мы добавили механизм fastlogin, в котором профиль пользователя настраивался только в случае, если установка ПО выполнялась пока пользователь был не в сеансе, а его профиль зашифрован.
В новых утилитах механизм fastlogin работает и для доменных пользователей. Один раз настроенный профиль пользователя не претерпевает дальнейших изменений если не вносились правки в шаблоны или файлы настроек (calculate.env, ini.env). То есть, если администратор поменяет на сервере настройки ini.env, пользователь залогинится на другом компьютере, будет установлено ПО или изменено разрешение монитора, только в этом случае при входе в сеанс будут выполнены настройки. В противном случае пользователь будет входить в сеанс максимально быстро, выполняя только синхронизацию профиля с сервера.
К профилю пользователя относятся файлы настроек ПК, они обычно находятся в директориях .config
, .local
, но могут так же иметь собственные директории или файлы начинающиеся с точки. По этому принципу мы отделяем профиль, синхронизируя его с сервером. Многие программы в этих же директориях хранят свои кэши. Такие файлы не имеет смысла передавать на сервер, при этом они могут оставаться локально. Решается это исключением передачи определенных путей в параметрах rsync и писывается в переменной cl_sync_skip_path
(см. cl-core-variables-show --filter cl_sync_skip_path
). Одновременно с выходом новой версии утилит мы добавили множество новых правил чтобы исключить разрастание профиля на сервере. В итоге размер среднестатистического профиля сотрудника в нашей компании сократился до приемлемых 100-130 Мб.
Выполненные оптимизации позволили добиться значительного ускорения входа в сеанс доменным пользователем. На протестированном профиле размером 318 Мб вход в сеанс с полным выкачиванием профиля с сервера занял 18 секунд вместо прежних 1м 49 сек. Повторный вход без настройки профиля составил 8,8 сек вместо 14,7 сек. Выход из сеанса теперь занимает 9 сек. вместо прежних 24,2 сек.
Не менее важно и то, что отказ от передачи профиля через samba ресурс позволил отказаться от поддержки устаревшего формата NT1, который приходилось использовать для поддержки прав доступа к файлам.
Zstd для пакетов
Тихо и незаметно в портежи была добавлена поддержка формата сжатия Zstd для бинарных пакетов. Мы воспользовались этой возможностью и перешли на новый, уже полюбившийся нам формат. Выигрыш получился небольшим, но все равно приятным. Не так давно вышло обновление GCC-10.2, бинарные пакеты были пересобраны новым компилятором и запакованы уже в Zstd.
Переход на ядро 5.10
Следуя устоявшемуся правилу использовать только LTS версии ядра, сразу после выхода версии 5.10 системы Calculate Linux так же получили обновление. Как и прежде, вы всегда можете использовать самую свежую версию ядра, доступную в бинарном репозитории. Для этого достаточно размаскировать пакет sys-kernel/calculate-sources
без указания версии.
Новый Git-репозиторий
Не так давно мы запустили новый сайт https://git.calculate-linux.org перенеся все проекты из Gitolite в Gitea. Регистрация на сайте выполняется в профиле пользователя основного сайта Calculate Linux. Вы можете использовать новый Git репозиторий для своих проектов.