Portál AbcLinuxu, 5. května 2025 21:29
# systemctl enable postfix.service
postfix.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig postfix on
Warning: unit files do not carry install information. No operation executed.
Nepředpokládám, že v unit pro postfix by byla tak hrubá chyba, takže musím mít někde problém já. Ale netuším, jak ho najít. V logu (messages) o postfixu není ani známka, ovšem zato:
* v logu se mi objevují záznamy typu:
[system] Activating via systemd: service name='org.freedesktop.NetworkManager' unit='dbus-org.freedesktop.NetworkManager.service'
přestože jsem NetworkManager zakázal. Nebo
systemd[1]: Failed to read PID file /run/sendmail.pid after start. The service might be broken.
to mu můžu rovnou říct, service není broken, ale je zakázaná. Proč se snaží spusti něco, o čem jsem mu jednoznačně řekl systemctl disable?
* přestože mám nainstalované mysql i httpd (podle yum i rpm), netuším, jak je zapnout. systemctl --all neobsahuje ani ťuk o nějakém http nebo mysql.
Z celého toho mám opravdu hrozný pocit, děsím se toho, že základní systémová věc mi dělá naprosto nepředvídané věci a nejsem schopen ji spolehlivě používat. Jsem tak extrémní uživatel nebo s tím bojují i ostatní? Se žádnou technologií, kterou Fedora měla už téměř dvě verze, jsem neměl tak hluboké problémy. To co zde popisuju vždycky vyřešilo service start/stop, chkconfig a ntsysv. A měl jsem jistotu, že vím, co server při startu udělá. A když jsem se na boot koukal, tak jsem věděl, jestli je nějaký startovní problém nebo ne.
Dá se nějak vypsat všechny služby, co běží?Pro výpis omezený jenom na služby se hodí
systemctl -t service
ten (textový) boot je strašně nepřehledný, dá se nějakým způsobem zapnout staré dobré [OK] a [Failed]?Moc dobře ne. Tím, že tolik věcí startuje paralelně, to není triviální. Je potřeba napsat prográmek, který by události nastávající při startu prezentoval v nějaké hezké formě. Zatím se k tomu nikdo nedostal.
# systemctl enable postfix.service postfix.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig postfix on Warning: unit files do not carry install information. No operation executed.Myslím, že ta poslední hláška je sice matoucí, ale chkconfig provedl to, co měl. Postfix by po tomto měl opravdu po rebootu startovat.
[system] Activating via systemd: service name='org.freedesktop.NetworkManager' unit='dbus-org.freedesktop.NetworkManager.service'Nějaký klient se pokouší komunikovat s NM přes D-Bus. dbus-daemon se pokouší o aktivaci služby. O tom je tato hláška. Jestli jsi ale opravdu NM zakázal (
systemctl disable NetworkManager.service
), tak k aktivaci nedojde.
systemd[1]: Failed to read PID file /run/sendmail.pid after start. The service might be broken. to mu můžu rovnou říct, service není broken, ale je zakázaná. Proč se snaží spusti něco, o čem jsem mu jednoznačně řekl systemctl disable?Nějaký skript tu službu asi spouští bez ohledu na to, jestli je zakázaná nebo ne. Podezřelý je
/etc/NetworkManager/dispatcher.d/10-sendmail
, který používá restart
místo try-restart
.
přestože mám nainstalované mysql i httpd (podle yum i rpm), netuším, jak je zapnout. systemctl --all neobsahuje ani ťuk o nějakém http nebo mysql.
systemctl enable mysqld.service httpd.service
Užitečný příkaz je systemctl list-unit-files
. A nebo taky rpm -ql | grep systemd
.
rpm -ql jméno_balíku | grep systemd
.
Je potřeba napsat prográmek, který by události nastávající při startu prezentoval v nějaké hezké formě.Tj. bug 622663.
Podezřelý je /etc/NetworkManager/dispatcher.d/10-sendmail, který používá restart místo try-restart.sendmail bug 748416, oprava je na cestě do updates-testing.
systemd[1]: Failed to read PID file /run/sendmail.pid after start. The service might be broken.sendmail bug 748171.
SYSTEMD: Service xy started [OK]
Chápu, že je to kosmetika, ale hrozně by to podle mně zpřehlednilo.
Dále zatím svedu na betu to, že se někdo snaží spustit sendmail, u NM to asi musím očekávat. Stejně tak to, že se postfix nespustí. Naopak moje chyba je to, že jsem nenašel ty mysqld.service a httpd.service, myslel jsem, že --all vypíše právě úplně všecko a ani bash-completion mi je nenabízel...
chybí mi přehlednost startu, kdy plná řada zelených OK znamenala, že vše se nastartovalo, jak si představuju
To je tím, že řada startovacích skriptů kydá hnůj na stdout, a když se jich takhle překřikuje několik desítek, tak je z toho guláš.
Až tyhle hlášky budou vyčištěné, tak bude stačit snížit ukecanost systemd, protože ten do toho sype taky dost velmi nízkoúrovňových hlášek, které by mělo smysl zobrazit jen, když se daný podsystém pokazí. Systemd má totiž logování dost nedodělané.
Problém trochu je, že desktopoví uživatelé mají grafický boot, kde se nezobrazuje nic, tak ti to opravovat nebudou a správci serveru reboot jednou za čas přežijí. Takže se obávám, že čištění bude trvat hodně dlouho.
a vadí mi, když se mi při startu nenapíše služba, která se spustí.
To je tak trochu vlastnost. Ona se často žádná ani nepouští, protože místo ní systemd připraví jen socket, a službu pustí, až když je opravdu potřeba (takový inetd). Takže že služba nefunguje, se člověk dozví, až se ji pokusí použít.
Doporučuji si zvyknout na výstup nástroje systemctl, tam jsou také barvičky. Asi by to ale chtělo nějaký inteligentní režim, který by vyplivl stav jen služeb explicitně zapnutých k automatickému startu.
To je tak trochu vlastnost. Ona se často žádná ani nepouští, protože místo ní systemd připraví jen socket, a službu pustí, až když je opravdu potřeba (takový inetd). Takže že služba nefunguje, se člověk dozví, až se ji pokusí použít.Tohle je mi jasné, už jsem se tu o tom několikrát s lidmi bavil a opradu rád bych tuhle featuru měl možnost vypnout. Ovšem to není případ postfixu, protože ten je ještě rc skript a u těch, pokud vím, to tak snadno nejde, protože vytvořený socket je potřeba demonovi nějak předat. Navíc hned po startu, sotva jsem se přilogoval, tak proces postfixu běžel, aniž by se někdo na socket připojil. Jinak ostatní věci chápu, chápu grafický boot a spol, ale i přesto trvám na (svém) názoru, že po téhle stránce je to opravdu méně příjemné než starý runinit. A znovu přidávám svůj pocit, že na serveru je mi jedno, jestli to bootuje minutu nebo dvě, ale potřebuju 100% kontrolu a pocit jistoty
systemctl --all neobsahuje ani ťuk o nějakém http nebo mysql.Otevřel jsem to jako bug 748512.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.