Portál AbcLinuxu, 5. května 2025 02:15
# systemctl restart <TAB><TAB>
alsa-restore.service remote-fs.target systemd-random-seed-load.service
alsa-store.service rescue.service systemd-random-seed-save.service
auditd.service rescue.target systemd-readahead-collect.service
boot.mount rpcbind.target systemd-readahead-done.service
CM.mount rpcidmapd.service systemd-readahead-done.timer
emergency.service SMSC.mount systemd-readahead-replay.service
emergency.target sysel_replace.mount systemd-shutdownd.service
fsck@dev-sda1.service sys-kernel-security.automount systemd-tmpfiles-clean.service
fsck-root.service sys-kernel-security.mount systemd-update-utmp-runlevel.service
GBGold.mount systemd-ask-password-console.service systemd-update-utmp-shutdown.service
halt.service systemd-ask-password-wall.service TELEPATH.mount
mnt-cdrom.mount systemd-binfmt.service var-lib-nfs-rpc_pipefs.mount
plymouth-quit-wait.service systemd-initctl.service var-run.mount
poweroff.service systemd-kmsg-syslogd.service view.mount
ppcdoc.mount systemd-logger.service wicd.service
reboot.service systemd-modules-load.service WSB.mount
Jinak je za to zodpovedny balicek:
# cave owner /usr/share/bash-completion/completions/systemd
sys-apps/systemd-29-r1::installed
Kdyz se podivam do zdrojaku tak tam ten soubor je:
$ tar tvf systemd-29.tar.bz2 | grep completion
-rw-rw-r-- lennart/lennart 6022 2011-04-11 23:44 systemd-29/src/systemctl-bash-completion.sh
Tudiz to neni specialni vlastnost distribuce.function a(){ [[ "$1" =~ (\?|-h) ]] && { echo -e "-nothing-\tstatus\ne\t\tenable\nd\t\tdisable\nr\t\trestart\ns\t\tstart\nk\t\tstop\n" return; } if [ $# -eq 0 ]; then C="--all list-units"; S="|grep '\.service'"; else C="status"; S="$1"; [[ "$1" =~ \. ]] || S="$S.service"; [[ "$2" =~ ^e ]] && C="enable"; [[ "$2" =~ ^d ]] && C="disable"; [[ "$2" =~ ^r ]] && C="restart"; [[ "$2" =~ ^s ]] && C="start"; [[ "$2" =~ ^k ]] && C="stop" fi eval systemctl $C $S }
Fedora 16 má /etc/bash_completion.d/systemd-bash-completion.sh v balíčku systemd-units - který by měl být normálně nainstalován, takže by vám doplňováni (v bash-i) mělo fachat.Jo, ale ještě musí být nainstalován balíček bash-completion, jinak tam ten soubor nemá žádný vliv.
Dam
systemctl start syslog-ng.service --- zadne OK, nic..
Když to nevypsalo nic, tak spuštění služby proběhlo úspěšně.
Je pravda, že služba může chcípnout třeba milisekundu po tomto okamžiku.
A je taky pravda, že u služby typu "simple" se za okamžik spuštění považuje prakticky už forknutí procesu pro ni, protože u tohoto typu není žádná vhodnější událost k dispozici - služba svou skutečnou připravenost nijak neoznamuje. Proto je lepší prosazovat typ "notify", při kterém je služba považována za spuštěnou, až když to o sobě sama prohlásí.
Dam
systemctl status syslog-ng.service ---- Failed nebezi
Určitě to vypíše ještě aspoň návratový kód procesu. Ten by mohl něco napovědět. V F16 ještě není journal, takže chybová hlášení služeb jsou zapisována implicitně do syslogu. Zrovna u služby implementující syslog by ovšem hrozila nekonečná rekurze, takže syslog-ng.service má nastaveno StandardOutput=null. Pokud tedy syslog-ng hlásí nějakou chybu na stdout/stderr, neuvidíme ji. Možná, že s tím ale syslog-ng počítá a zaloguje to rovnou do /var/log/messages, ne? Případně je možno aspoň na zkoušku mu dát StandardOutput=tty.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.