# systemd-analyze critical-chain graphical.target @8.265s └─lightdm.service @8.220s +43ms └─systemd-user-sessions.service @5.054s +6ms └─network.target @5.051s └─NetworkManager.service @4.770s +280ms └─network.service @4.397s +371ms └─sysinit.target @4.373s └─systemd-update-done.service @4.368s +5ms └─ldconfig.service @1.233s +3.134s └─local-fs.target @1.232s └─tmp.mount @1.229s +3ms └─local-fs-pre.target @1.228s └─lvm2-monitor.service @308ms +919ms └─systemd-journald.socket @294ms └─system.slice @284ms └─-.slice @284ms 38% времени тратится впустую на (бессмысленное) выполнение ldconfig. Можно обойти, загрузившись с systemd.condition-needs-update=no но хочется, чтоб работало "из коробки", без чёрной магии. Например, чтобы в образе был (пустой) файл /etc/.updated, с mtime более "новым", чем у директории /usr (см. man systemd-update-done.service) P.S. Проблема не только в Simply, но и в Workstation и прочих образах. P.P.S. На какой пакет можно повесить этот баг?
Навскидку: для live можно добавить прямо в m-p, для устанавливаемых систем - postinstall-скрипт в installer.
(Ответ для Alexey Sheplyakov на комментарий #0) > но хочется, чтоб работало "из коробки", без чёрной магии. > Например, чтобы в образе был (пустой) файл /etc/.updated, с mtime более > "новым", > чем у директории /usr (см. man systemd-update-done.service) Точно пустой? У меня два одинаковых файла /etc/.updated и /var/.updated: # This file was created by systemd-update-done. Its only # purpose is to hold a timestamp of the time this directory # was updated. See man:systemd-update-done.service(8). TIMESTAMP_NSEC=1600057782544812822
(Ответ для Антон Мидюков на комментарий #2) > (Ответ для Alexey Sheplyakov на комментарий #0) > > но хочется, чтоб работало "из коробки", без чёрной магии. > > Например, чтобы в образе был (пустой) файл /etc/.updated, с mtime более > > "новым", > > чем у директории /usr (см. man systemd-update-done.service) > > Точно пустой? У меня два одинаковых файла /etc/.updated и /var/.updated: > # This file was created by systemd-update-done. Its only > # purpose is to hold a timestamp of the time this directory > # was updated. See man:systemd-update-done.service(8). > TIMESTAMP_NSEC=1600057782544812822 Да, пустые файлы проблему решают. Сделал такой коммит в mkimage-profiles: https://git.altlinux.org/people/antohami/packages/mkimage-profiles.git?p=mkimage-profiles.git;a=commitdiff;h=4662dc203d14f6c7157ef3ad7e0480196c5e1565
Вообще у меня некоторые сомнения по этому поводу. Запуск ldconfig действительно выглядит бесполезным в данном случае, но так ведь отключается все действия, завязанные на systemd-update-done.service, насколько я понимаю. Там ведь может быть и что-то важное. Может лучше с ldconfig.service что-то сделать?
(Ответ для Mikhail Efremov на комментарий #4) > Вообще у меня некоторые сомнения по этому поводу. Запуск ldconfig > действительно выглядит бесполезным в данном случае, но так ведь отключается > все действия, завязанные на systemd-update-done.service, насколько я > понимаю. Там ведь может быть и что-то важное. Может лучше с ldconfig.service > что-то сделать? Замаскировать?
Ну как вариант... Может его вообще не паковать? В каких случаях этот сервис может быть нам полезным?
Сделал пакет livecd-no-ldconfig-service https://packages.altlinux.org/ru/sisyphus/srpms/livecd-no-ldconfig-service/ Как попадёт в p10, добавлю в mkimage-profiles в цель use/live.
mkimage-profiles-1.6.4-alt1 -> sisyphus: Wed May 08 2024 Anton Midyukov <antohami@altlinux> 1.6.4-alt1 - live: disable ldconfig.service by using livecd-no-ldconfig.service (Closes: 40802) - stage2: do not remove cjk and legacy fonts - Do not add menu items for SUBPROFILES - live: add use/live/rescue/extra as an analogue of use/rescue - regular.mk: initial regular-rescue-live - install2, live: add missing e2fsprogs - cleanup: create postinstall script for cleanup package for live with installer - init: add missing mingetty to sysvinit - mobile.mk: renaming of targets - server-v: apply commits from @andy