systemd FAQ (Italiano)
FAQ
Per una lista aggiornata dei problemi conosciuti, vedere il TODO.
Q: Perché non ricevo messaggi di log sulla console?
/etc/rc.sysinit lo faceva e configurava il livello di log di dmesg a 3, che era un ragionevole livello. Ora aggiungere loglevel=3 o quiet ai parametri del kernel.Q: Come posso cambiare il numero di console funzionanti di default?
/etc/systemd/system/getty.target.wants/ :
# ln -sf /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@tty9.service # systemctl start getty@tty9.service
Per rimuovere una console, semplicemente rimuovere il collegamento alla console nella cartella /etc/systemd/system/getty.target.wants/ :
# rm /etc/systemd/system/getty.target.wants/getty@{tty5,tty6}.service
# systemctl stop getty@tty5.service getty@tty6.service
Gli utenti possono cambiare il numero delle console anche editando /etc/systemd/logind.conf e cambiando il valore di NAutoVTs. Seguendo questo metodo, l'attivazione al bisogno sarà preservata, mentre con il metodo iniziale semplicemente si avranno le console funzionanti al boot.
systemd non usa il file /etc/inittab.
Q: Come posso ottenere un output più dettagliato durante l'avvio?
quiet è presente nella linea di comando del kernel. E' meglio rimuoverlo, almeno per i primi avvii con systemd, per vedere se tutto è ok. Poi, si potrà vedere una lista di [ OK ] in verde o [ FAILED ] in rosso.
Tutti i messaggi sono registrati nel log di sistema e se si vuole scoprire lo stato del proprio sistema usare $ systemctl (non sono necessari privilegi di root) oppure guardare il log di avvio con journalctl.Q: Come evitare che la console sia pulita dopo l'avvio?
getty@tty1.service personalizzato copiando /usr/lib/systemd/system/getty@.service in /etc/systemd/system/getty@tty1.service e cambiando TTYVTDisallocate in no.LANG in /etc/locale.conf
Q: Quali opzioni del kernel occorrono attive nel mio kernel nel caso non usassi il kernel Arch ufficiale?
Questa è una lista parziale delle opzioni richieste/raccomandate, ce ne possono essere ulteriori:
General setup
CONFIG_FHANDLE=y
CONFIG_AUDIT=y (raccomandata)
CONFIG_AUDIT_LOGINUID_IMMUTABLE=y (non raccomandata, può danneggiare la compatibilità con sysvinit)
CONFIG_CGROUPS=y
-> Namespaces support
CONFIG_NET_NS=y (per reti private)
Networking support -> Networking options
CONFIG_IPV6=[y|m] (altamente raccomandata)
Device Drivers
-> Generic Driver Options
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y (richiesta se non si usa un initramfs)
-> Real Time Clock
CONFIG_RTC_DRV_CMOS=y (altamente raccomandata)
File systems
CONFIG_FANOTIFY=y (richiesta per readahead)
CONFIG_AUTOFS4_FS=[y|m]
-> Pseudo filesystems
CONFIG_TMPFS_POSIX_ACL=y (raccomandata se si vuole usare pam_systemd.so)Q: Quali altre unità dipendono da una unità?
multi-user.target, si usi qualcosa del genere:
$ systemctl show -p "Wants" multi-user.target
Wants=rc-local.service avahi-daemon.service rpcbind.service NetworkManager.service acpid.service dbus.service atd.service crond.service auditd.service ntpd.service udisks.service bluetooth.service cups.service wpa_supplicant.service getty.target modem-manager.service portreserve.service abrtd.service yum-updatesd.service upowerd.service test-first.service pcscd.service rsyslog.service haldaemon.service remote-fs.target plymouth-quit.service systemd-update-utmp-runlevel.service sendmail.service lvm2-monitor.service cpuspeed.service udev-post.service mdmonitor.service iscsid.service livesys.service livesys-late.service irqbalance.service iscsi.serviceInvece di
Wants si può provare WantedBy, Requires, RequiredBy, Conflicts, ConflictedBy, Before, After per i rispettivi tipi di dipendenza e il loro contrario.Q: Il mio computer si spegne, ma l'alimentatore resta acceso.
$ systemctl poweroffinvece di
systemctl halt.Q: Dopo la migrazione a systemd, perché non riesco a montare fakeRAID?
Q: Come posso fare in modo che uno script sia eseguito al boot?
/etc/systemd/system (e.g. "myscript".service) e aggiungere il seguente contenuto:
[Unit] Description=My script
[Service] ExecStart=/usr/bin/my-script
[Install] WantedBy=multi-user.target
Poi
# systemctl enable "myscript".service
Questo esempio presuppone che si voglia avviare lo script quando il target multi-user sarà lanciato. Nota: Nel caso si voglia avviare uno script di schell, assicurarsi di avere
#!/bin/sh
nella prima riga dello script. Non scrivere qualcosa come
ExecStart=/bin/sh /path/to/script.sh # NON FUNZIONAperché non funziona.
Q: Lo stato del .service dice "active (exited)" in verde. (per iptables)
Nel caso specifico di iptables è perché non c'è nessun demone da avviare, è controllato dal kernel. Tuttavia esiste dopo che le regole sono state caricate. Per verificare se le regole di iptables sono state caricate correttamente:
# iptables --list
Q: Failed to issue method call: File exists error
systemctl enable e si tenta di creare il link simbolico in /etc/systemd/system/ ed esiste già. Di solito accade quando si passa da un display manager ad un altro (per esempio da GDM a KDM, che possono essere abilitati con gdm.service e kdm.service, rispettivamente) e il link simbolico corrispondente /etc/systemd/system/display-manager.service esiste già.
Per risolvere il problema usare systemctl -f enable per sovrascrivere link simbolici già esistenti.