A dmesg parancs kimenetében a következő jelzés látható:
systemd[1]: /lib/systemd/system/plymouth-start.service:16: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
Azt mondja a jelzés, hogy a KillMode=none beállítás nem biztonságos, és fontos systemd folyamatokat kapcsol ki. Továbbá, elavult, valamint a közeljövőben megszüntetésre is kerül. Ajánlott inkább a KillMode=mixed vagy a KillMode=control-group beállítás használata.
A systemd szolgáltatások közvetlenül szövegszerkesztővel nem szerkeszthetőek, a beállítások megváltoztatása a szolgáltatást felülbíráló override.conf fájl létrehozása után és ennek szerkesztésével lehetséges.
Az első systemd szolgáltatás szerkesztésekor létre lesz hozva
- a szolgáltatásra jellemző (Plymouth -> plymouth-start.service.d) könyvtár, ahová az override.conf kerül,
- továbbá, ki kell választani a szerkesztésekhez használni kívánt szövegszerkesztőt.
Javaslom, a nano szövegszerkesztő használatát. Írd be a sorszámát, majd a kiválasztás érvényesítéséhez nyomj Entert.
Ajánlott módszer
Szerkesztés az edit paraméter használatával (példa, egy szolgáltatás szerkesztésére):
sudo systemctl edit plymouth-start.service
Manapság nem csak a változtatásokat kell bemásolnod vagy beírnod a szövegtömb elnevezésével együtt az override.conf fájlba, hanem a meglévő beállításokat látod és szerkeszted egy, az egyben. A kiindulópont az, hogy az összes sor megjegyzésbe van téve (#). Első lépésként töröld a # karaktert a beállításokat tartalmazó sorok elejéről, hiszen megjegyzésbe téve, ki vannak kapcsolva. Majd illeszd be a változtatásokat, amiket én kiemeléssel jelöltem.
A [Unit] szövegtömb végére beillesztettem az IgnoreOnIsolate=true sort, és a [Service] szövegtömbben megjegyzésként, azaz kikapcsolva hagytam a # KillMode=none sort, és utána beillesztettem a KillMode=mixed sort, mint új beállítást.
Mindez így néz ki:
### Editing /etc/systemd/system/plymouth-start.service.d/override.conf ### Anything between here and the comment below will become the new contents of the file ### Lines below this comment will be discarded ### /etc/systemd/system/plymouth-start.service [Unit] Description=Show Plymouth Boot Screen DefaultDependencies=no Wants=systemd-ask-password-plymouth.path After=systemd-udev-trigger.service systemd-udevd.service keyboard-setup.service Before=systemd-ask-password-plymouth.service ConditionKernelCommandLine=!plymouth.enable=0 ConditionKernelCommandLine=!nosplash ConditionVirtualization=!container IgnoreOnIsolate=true [Service] ExecStart=/usr/sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session ExecStartPost=-/usr/bin/plymouth show-splash Type=forking RemainAfterExit=yes # KillMode=none KillMode=mixed SendSIGKILL=no
A beállítások mentése és kilépés a nano szövegszerkesztőből:
Ctrl + O, és Enter,
majd Ctrl + X
Itt hibaüzenetet kaptam:
Editing "/etc/systemd/system/plymouth-start.service.d/override.conf" canceled: temporary file is empty.
Az override.conf fájl nem jött létre...
A szolgáltatásokat újraindítottam, ami a sikeres szerkesztés után is kötelező (daemon-reload):
sudo systemctl daemon-reload
Nem segített. A biztonság kedvéért visszavontam a nem érvényesíthető beállítást a revert paraméter használatával:
sudo systemctl revert plymouth-start.service
A visszavonás törli a plymouth-start.service.d könyvtárat, és az override.conf fájlt.
A beállítások érvényesítése minden esetben a sudo systemctl daemon-reload parancssorral történik.
A plymouth-start.service statikus fájl, eredetileg nem az etc, hanem a lib könyvtár alatt lakik. Említettem, sem a statikus, sem a dinamikus systemd szolgáltatásokat közvetlenül nem ajánlott szerkeszteni. A hibázás lehetősége miatt sem. Használd a fenti, hivatalos módszert! Vélhetően, bugos a szerkesztés.
Nem ajánlott módszer
Közvetlen szerkesztés az edit --full paraméter használatával (még egyszer: nem ajánlott).
sudo systemctl edit --full plymouth-start.service
A szerkesztett tartalom:
[Unit] Description=Show Plymouth Boot Screen DefaultDependencies=no Wants=systemd-ask-password-plymouth.path After=systemd-udev-trigger.service systemd-udevd.service keyboard-setup.service Before=systemd-ask-password-plymouth.service ConditionKernelCommandLine=!plymouth.enable=0 ConditionKernelCommandLine=!nosplash ConditionVirtualization=!container IgnoreOnIsolate=true [Service] ExecStart=/usr/sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session ExecStartPost=-/usr/bin/plymouth show-splash Type=forking RemainAfterExit=yes # KillMode=none KillMode=mixed SendSIGKILL=no
A beállítások mentése és kilépés a nano szövegszerkesztőből:
Ctrl + O, és Enter,
majd Ctrl + X
A szolgáltatások újraindítása a szerkesztés után kötelező:
sudo systemctl daemon-reload
Az ellenőrzés (cat)
sudo systemctl cat plymouth-start.service
azt mutatja, a szerkesztés sikerült, a változtatások a fájlba kerültek.
Rendszer újraindítás után a dmesg kimenetében nem látható a hibajelzés, a rendszer gyorsabban indul, mint korábban.
Szolgáltatás beállításai
A beállítások a cat paraméter használatával olvashatóak (eredeti beállításaim):
sudo systemctl cat plymouth-start.service # /etc/systemd/system/plymouth-start.service [Unit] Description=Show Plymouth Boot Screen DefaultDependencies=no Wants=systemd-ask-password-plymouth.path After=systemd-udev-trigger.service systemd-udevd.service keyboard-setup.service Before=systemd-ask-password-plymouth.service ConditionKernelCommandLine=!plymouth.enable=0 ConditionKernelCommandLine=!nosplash ConditionVirtualization=!container [Service] ExecStart=/usr/sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session ExecStartPost=-/usr/bin/plymouth show-splash Type=forking RemainAfterExit=yes KillMode=none SendSIGKILL=no
Forrás / jegyzet