2012-08-19

← Older revision

Revision as of 17:14, 19 August 2012

(2 intermediate revisions by one user not shown)

Line 11:

Line 11:

{{Article summary wiki|Systemd/Services}}

{{Article summary wiki|Systemd/Services}}

{{Article summary end}}

{{Article summary end}}



'''
systemd
''' è un gestore di sistema e di servizi per Linux, compatibile con gli initscript SysV e LSB. Systemd fornisce una notevole capacità di parallelizzazione, usa socket e [[D-Bus]] per l'avvio dei demoni, offre un avvio su richiesta dei demoni, tiene traccia dei processi con l'utilizzo dei [[cgroups]] di Linux, supporta lo snapshotting e il restore dello stato del sistema, mantiene i punti di mount e di automount e implementa un elaborato servizio di controllo logico basato sulle relazioni delle dipendenze. Può funzionare come rimpiazzo totale di sysvinit.

+

'''
Systemd
''' è un gestore di sistema e di servizi per Linux, compatibile con gli initscript SysV e LSB. Systemd fornisce una notevole capacità di parallelizzazione, usa socket e [[D-Bus]] per l'avvio dei demoni, offre un avvio su richiesta dei demoni, tiene traccia dei processi con l'utilizzo dei [[cgroups]] di Linux, supporta lo snapshotting e il restore dello stato del sistema, mantiene i punti di mount e di automount e implementa un elaborato servizio di controllo logico basato sulle relazioni delle dipendenze. Può funzionare come rimpiazzo totale di sysvinit.

Leggi anche l'[http://en.wikipedia.org/wiki/Systemd articolo su Wikipedia] e la [http://freedesktop.org/wiki/Software/systemd pagina del progetto].

Leggi anche l'[http://en.wikipedia.org/wiki/Systemd articolo su Wikipedia] e la [http://freedesktop.org/wiki/Software/systemd pagina del progetto].

Line 131:

Line 131:

=== Sleep hooks ===

=== Sleep hooks ===



Systemd non usa [[pm-utils]] per mettere la macchina a riposo quando usa {{ic|systemctl suspend}} o {{ic|systemctl hibernate}}, Quindi gli hooks di [[Pm-utils_(Italiano)|Pm-utils]] incluso qualsiasi [[Pm-utils_(Italiano)#Creazione_di_un_Hook_personale|hook personalizzato]] si sia creato non funzionerà. Tuttavia, systemd fornisce un meccanismo simile per avviare script personali in base a questi eventi. Systemd
avvierà
tutti gli eseguibili in {{ic|/usr/lib/systemd/system-sleep/}} e
potrà passare
due
tipi di
argomenti a ognuno di essi:

+

Systemd non usa [[pm-utils]] per mettere la macchina a riposo quando usa {{ic|systemctl suspend}} o {{ic|systemctl hibernate}}, Quindi gli hooks di [[Pm-utils_(Italiano)|Pm-utils]] incluso qualsiasi [[Pm-utils_(Italiano)#Creazione_di_un_Hook_personale|hook personalizzato]] si sia creato non funzionerà. Tuttavia, systemd fornisce un meccanismo simile per avviare script personali in base a questi eventi. Systemd
avvia
tutti gli eseguibili in {{ic|/usr/lib/systemd/system-sleep/}} e
passa
due argomenti a ognuno di essi:



*
argument
1: o {{ic|pre}} o {{ic|post}}, a seconda che la macchina si stia addormentando o svegliando

+

*
Argument
1: o {{ic|pre}} o {{ic|post}}, a seconda che la macchina si stia addormentando o svegliando



*
argument
2: o {{ic|suspend}} o {{ic|hibernate}}, dipende da cosa è stato invocato.

+

*
Argument
2: o {{ic|suspend}} o {{ic|hibernate}}, dipende da cosa è stato invocato.

Al contrario di [[Pm-utils_(Italiano)|Pm-utils]], systemd avvierà questi scripts in parallelo e non uno dopo l'altro.

Al contrario di [[Pm-utils_(Italiano)|Pm-utils]], systemd avvierà questi scripts in parallelo e non uno dopo l'altro.

Line 142:

Line 142:

Vedi {{ic|man systemd.special}} e {{ic|man systemd-sleep}} per maggiori informazioni.

Vedi {{ic|man systemd.special}} e {{ic|man systemd-sleep}} per maggiori informazioni.

+

==== Esempi ====

{{hc|/usr/lib/systemd/system-sleep/example.sh|

{{hc|/usr/lib/systemd/system-sleep/example.sh|

case "$1" in

case "$1" in

pre )

pre )



command

+

echo going to $2

;;

;;

post )

post )



command

+

echo waking up from $2

;;

;;

esac
}}

esac
}}

Line 186:

Line 187:

Quando si usa {{ic|systemctl}}, occorre generalmente specificare sempre il nome completo dell'unità compreso il suffisso, per esempio {{ic|sshd.socket}}. Esistono tuttavia delle scorciatoie quando si specifica l'unità nei seguenti comandi {{ic|systemctl}}:

Quando si usa {{ic|systemctl}}, occorre generalmente specificare sempre il nome completo dell'unità compreso il suffisso, per esempio {{ic|sshd.socket}}. Esistono tuttavia delle scorciatoie quando si specifica l'unità nei seguenti comandi {{ic|systemctl}}:

* Se non si specifica il suffisso, per systemctl sarà sottointeso {{ic|.service}}. Per esempio, {{ic|netcfg}} e {{ic|netcfg.service}} sono equivalenti.

* Se non si specifica il suffisso, per systemctl sarà sottointeso {{ic|.service}}. Per esempio, {{ic|netcfg}} e {{ic|netcfg.service}} sono equivalenti.

+

{{Note|Attualmente non funzionante con i comandi {{ic|enable}} e {{ic|disable}}.}}

* I punti di montaggio saranno automaticamente tradotti nella appropriata unità {{ic|.mount}}. Per esempio, specificare {{ic|/home}} è equivalente a {{ic|home.mount}}.

* I punti di montaggio saranno automaticamente tradotti nella appropriata unità {{ic|.mount}}. Per esempio, specificare {{ic|/home}} è equivalente a {{ic|home.mount}}.

* Come i punti di montaggio, anche i dispositivi sono automaticamente tradotti nell'appropriata unità {{ic|.device}}, quindi specificare {{ic|/dev/sda2}} è equivalente a {{ic|dev-sda2.device}}.

* Come i punti di montaggio, anche i dispositivi sono automaticamente tradotti nell'appropriata unità {{ic|.device}}, quindi specificare {{ic|/dev/sda2}} è equivalente a {{ic|dev-sda2.device}}.

Line 270:

Line 272:

!SysV Runlevel!!Systemd Target!!Notes

!SysV Runlevel!!Systemd Target!!Notes

|-

|-



| 0 || runlevel0.target, poweroff.target ||
Halt the system
.

+

| 0 || runlevel0.target, poweroff.target ||
Ferma il sistema
.

|-

|-



| 1, s, single || runlevel1.target, rescue.target ||
Single
user
mode
.

+

| 1, s, single || runlevel1.target, rescue.target ||
Modalità utente singolo (single
user
)
.

|-

|-



| 2, 4 || runlevel2.target, runlevel4.target, multi-user.target ||
User-defined/Site-specific runlevels
.
By default, identical to
3.

+

| 2, 4 || runlevel2.target, runlevel4.target, multi-user.target ||
Definita dall'utente
.
Preconfigurata a
3.

|-

|-

| 3 || runlevel3.target, multi-user.target || Multi-user, non-graphical.  Users can usually login via multiple consoles or via the network.

| 3 || runlevel3.target, multi-user.target || Multi-user, non-graphical.  Users can usually login via multiple consoles or via the network.

|-

|-



| 5 || runlevel5.target, graphical.target || Multi-user,
graphical
.
Usually has all the services of
runlevel 3
plus a graphical
login.

+

| 5 || runlevel5.target, graphical.target || Multi-user,
grafica
.
Solitamente ha tutti i servizi del
runlevel 3
con l'aggiunta di un
login
grafico
.

|-

|-



| 6 || runlevel6.target, reboot.target ||
Reboot

+

| 6 || runlevel6.target, reboot.target ||
Riavvio

|-

|-



| emergency || emergency.target ||
Emergency shell

+

| emergency || emergency.target ||
Console di emergenza

|-

|-

|}

|}

Line 393:

Line 395:

Se occorre configurare la rete in modo statico, ma non si vuole usare [[netcfg]], c'é un servizio personalizzato disponibile alla [[Systemd/Services#Network|pagina dei servizi di systemd]].

Se occorre configurare la rete in modo statico, ma non si vuole usare [[netcfg]], c'é un servizio personalizzato disponibile alla [[Systemd/Services#Network|pagina dei servizi di systemd]].





{{Nota|Se si sta usando [[NetworkManager]] attivare {{ic|NetworkManager-wait-online.service}} per forzare l'unità da cui dipende {{ic|network.target}} ad aspettare affinché òa connessione alla rete sia completa prima di partire.}}

== Integrazione con Arch ==

== Integrazione con Arch ==

Line 411:

Line 411:

* CONSOLEMAP

* CONSOLEMAP

* HOSTNAME

* HOSTNAME

+

* DAEMONS

Variabili non supportate e configurazioni di systemd:

Variabili non supportate e configurazioni di systemd:

* TIMEZONE: fare un link simbolico {{Ic|/etc/localtime}} al proprio file con le informazioni di zona manualmente.

* TIMEZONE: fare un link simbolico {{Ic|/etc/localtime}} al proprio file con le informazioni di zona manualmente.

* HARDWARECLOCK: Vedere [[Systemd_(Italiano)#Orario_di_sistema|Orario di sistema]].

* HARDWARECLOCK: Vedere [[Systemd_(Italiano)#Orario_di_sistema|Orario di sistema]].



* USELVM: al suo posto usare {{ic|lvm.service}} fornito da {{Pkg|
systemd-arch-units
}}.

+

* USELVM: al suo posto usare {{ic|lvm.service}} fornito da {{Pkg|
lvm2
}}.

* USECOLOR

* USECOLOR

* MODULES

* MODULES



* DAEMONS

+

=== Conversione totale a systemd puro ===

=== Conversione totale a systemd puro ===

Show more