[RISOLTO][jessie] systemd e target

Ottimizzazione, pulizia, gestione e manutenzione di una Debian Box

[RISOLTO][jessie] systemd e target

Messaggioda fcel2001 » 02/08/2014, 0:39

da qualche tempo sono passato a systemd.
mi sono accorto che i miei "vecchi" runlevel non sono stati correttamente convertiti in target.
mi spiego meglio:
con sysvinit avevo configurato il runlevel 2 (di default) con i demoni apache2 e mysql disattivati, e il runlevel 3 con questi demoni attivati, così con telinit potevo decidere quando avviarli o stopparli.

ora il target graphical.target avvia tutto indistintamente.

problema 1: apache2 e mysql non hanno un file *.service >:(
pare che i manteiners del pacchetto mysql-server non abbiano intenzione di provvedere (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742900)
del file apache2.service non so nulla.

domando a chi usa questi 2 software come si è regolato: continua ad usare lo script LSB o ha provveduto a creare un file service ?

problema 2: per fare come prima con telinit, ho creato un mio target personalizzato in cui apache2 e mysql sono disattivati, copiando graphical.target in /etc/systemd/system/ e modificandolo:
Codice: Seleziona tutto
[Unit]
Description=Modifica di Graphical Interface
Documentation=man:systemd.special(7)
Requires=multi-user.target
After=multi-user.target
Conflicts=rescue.target mysql.service apache2.service
Wants=display-manager.service
AllowIsolate=yes

[Install]
Alias=default.target


dopodichè ho provato a passare da un target all' altro con systemctl isolate mio.target e systemctl isolate graphical.target: il comportamento è quello che volevo, con i servizi apache2 e mysql che si avviano e si stoppano correttamente.

Ma ho notato che la connessione WiFi in NetworkManager di gnome si sgancia e riaggancia durante il cambiamento del target: questo non succedeva con il vecchio telinit.
Sbaglio io qualcosa ? E' normale così o c'è modo di evitare questa disconnessione ?
Ultima modifica di fcel2001 il 08/08/2014, 15:26, modificato 1 volta in totale.
fcel2001
Full Member
Full Member
 
Messaggi: 158
Iscritto il: 12/08/2008, 15:39

Re: [jessie] systemd e target

Messaggioda s3v » 02/08/2014, 10:57

man systemd.unit ha scritto: IgnoreOnIsolate=
Takes a boolean argument. If true, this unit will not be stopped when isolating
another unit. Defaults to false.

Non utilizzo NM ma dovresti capire la unit che si occupa della connessione e aggiungere quella opzione a "true".
In questo modo quella unit non dovrebbe essere fermata quando termini con "isolate" un'altra unit.

Strano che non esista un servizio per mysql.
Avatar utente
s3v
Global Moderator
Global Moderator
 
Messaggi: 5589
Iscritto il: 31/12/2008, 11:54

Re: [jessie] systemd e target

Messaggioda fcel2001 » 02/08/2014, 15:04

s3v ha scritto:
man systemd.unit ha scritto: IgnoreOnIsolate=
Takes a boolean argument. If true, this unit will not be stopped when isolating
another unit. Defaults to false.

Non utilizzo NM ma dovresti capire la unit che si occupa della connessione e aggiungere quella opzione a "true".
In questo modo quella unit non dovrebbe essere fermata quando termini con "isolate" un'altra unit.

ho "studiato" questa soluzione: dovrebbe fare al caso mio, ma non funziona ???

i files che controllano NM dovrebbero essere network-manager.service e NetworkManager.service (sono identici) in /lib/systemd/system .

siccome i file network-manager.service e NetworkManager.service sono di sistema, ho pensato di "estendere" la loro configurazione creando le directory network-manager.service.d e NetworkManager.service.d, in cui i files *.conf vengono letti da systemd per sovrascrivere la configurazione dell' unità che ha lo stesso nome della directory.
Ho fatto così (sia per NetworkManager che per network-manager):
Codice: Seleziona tutto
root# ls /etc/systemd/system/NetworkManager.service.d/
personalizzazione.conf

root# cat NetworkManager.service.d/personalizzazione.conf
[Unit]
IgnoreOnIsolate=true

root# systemctl daemon-reload
root# systemctl restart NetworkManager

ma passando da un target all' altro il NM si sgancia sempre.

il comando systemd-delta conferma che le mie modifiche sono state lette:
Codice: Seleziona tutto
[REDIRECTED]   /etc/systemd/system/default.target → /lib/systemd/system/default.
[EXTENDED]   /run/systemd/system/session-1.scope → /run/systemd/system/session-1
[EXTENDED]   /run/systemd/system/session-1.scope → /run/systemd/system/session-1
[EXTENDED]   /run/systemd/system/session-1.scope → /run/systemd/system/session-1
[EXTENDED]   /run/systemd/system/session-1.scope → /run/systemd/system/session-1
[EXTENDED]   /run/systemd/system/session-1.scope → /run/systemd/system/session-1
[EXTENDED]   /run/systemd/system/session-c1.scope → /run/systemd/system/session-
[EXTENDED]   /run/systemd/system/session-c1.scope → /run/systemd/system/session-
[EXTENDED]   /run/systemd/system/session-c1.scope → /run/systemd/system/session-
[EXTENDED]   /run/systemd/system/session-c1.scope → /run/systemd/system/session-
[EXTENDED]   /run/systemd/system/session-c1.scope → /run/systemd/system/session-
[EXTENDED]   /lib/systemd/system/network-manager.service → /etc/systemd/system/n
[EXTENDED]   /lib/systemd/system/cups.socket → /etc/systemd/system/cups.socket.d
[EXTENDED]   /lib/systemd/system/NetworkManager.service → /etc/systemd/system/Ne

14 overridden configuration files found.


ho anche fatto un reboot, ma non cambia nulla.

**EDIT**
ho trovato che è wpa_supplicant a disattivarsi....ma quanto è complicato questo systemd !!!!!
per stoppare 2 daemon biosogna riconfigurare mezzo sistema >:( >:(
s3v ha scritto:Strano che non esista un servizio per mysql.

già, sono passati mesi e il maintainer ancora non provvede
fcel2001
Full Member
Full Member
 
Messaggi: 158
Iscritto il: 12/08/2008, 15:39

Re: [jessie] systemd e target

Messaggioda fcel2001 » 02/08/2014, 15:48

dunque, ho eliminato tutte le precedenti modifiche, e poi ho creato la directory /etc/systemd/system/wpa_supplicant.service.d/ con dentro il file personalizzazione.conf:
Codice: Seleziona tutto
[Unit]
IgnoreOnIsolate=true


questo permette di passare dal target "graphical" ad un altro personalizzato senza problemi.
ma se vado nel rescue.target e poi premo CTRL-D per tornare alla grafica, si verificano degli errori:
  • non viene completato il logout dalla shell di rescue
  • gdm3 inizia a caricarsi ma mostra solo il desktop senza la finestra di login

Sicuramente è la direttiva IgnoreOnIsolate su wpa_supplicant a creare problemi: sicuramente ha a che fare con dbus
Codice: Seleziona tutto
[Unit]
Description=WPA supplicant

[Service]
Type=dbus
BusName=fi.epitest.hostap.WPASupplicant
ExecStart=/sbin/wpa_supplicant -u -s -O /var/run/wpa_supplicant

[Install]
WantedBy=multi-user.target
Alias=dbus-fi.epitest.hostap.WPASupplicant.service
fcel2001
Full Member
Full Member
 
Messaggi: 158
Iscritto il: 12/08/2008, 15:39

Re: [jessie] systemd e target

Messaggioda s3v » 02/08/2014, 16:54

Ho cercato di individuare la causa del malfunzionamento ma non ci sono riuscito (uso KDM).
1) Ho installato "wpasupplicant"
2) Ho creato il file "/etc/systemd/system/wpa-supplicant.service.d/mio.conf" con il tuo stesso contenuto
3) Ho riavviato in rescue mode

Tutto sembra andare regolarmente dopo il ctrl+d
Codice: Seleziona tutto
$ systemctl -p IgnoreOnIsolate show wpa_supplicant.service
IgnoreOnIsolate=yes


Puoi indicare esattamente tutti i passi che hai intrapreso? Così cerco di replicare il problema.
Avatar utente
s3v
Global Moderator
Global Moderator
 
Messaggi: 5589
Iscritto il: 31/12/2008, 11:54

Re: [jessie] systemd e target

Messaggioda fcel2001 » 02/08/2014, 18:18

s3v ha scritto:...
3) Ho riavviato in rescue mode
...
Puoi indicare esattamente tutti i passi che hai intrapreso? Così cerco di replicare il problema.

Al momento ho fatto piazza pulita.......ora magari riprovo a fare il boot direttamente in rescue mode per poi dare il ctrl-d e vedere che fa.

Hai provato invece dal graphical.target a dare il comando systemctl rescue, entrare con la password, e poi ctrl-d ?
E' in questo caso che nascevano i problemi.
fcel2001
Full Member
Full Member
 
Messaggi: 158
Iscritto il: 12/08/2008, 15:39

Re: [jessie] systemd e target

Messaggioda fcel2001 » 03/08/2014, 11:47

s3v ha scritto:Tutto sembra andare regolarmente dopo il ctrl+d

ho trovato questo:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=693522

non è esattamente la stessa situazione, ma il problema è molto simile: anche nel mio caso il processo /sbin/agetty va al 100% della CPU (messaggio #37 del bugreport).
non è solo un fatto di networkmanager, è proprio systemd che è buggato
fcel2001
Full Member
Full Member
 
Messaggi: 158
Iscritto il: 12/08/2008, 15:39

Re: [jessie] systemd e target

Messaggioda s3v » 06/08/2014, 18:16

fcel2001 ha scritto:Hai provato invece dal graphical.target a dare il comando systemctl rescue, entrare con la password, e poi ctrl-d ?
E' in questo caso che nascevano i problemi.

Non ho problemi se non il terminale tty1 bloccato, ma non saprei se sia normale o meno in rescue mode lanciato dopo il boot.

Tu hai problemi anche col escue mode al boot?
Sei comunque riuscito a fermare i due servizi che ti interessavano?
Avatar utente
s3v
Global Moderator
Global Moderator
 
Messaggi: 5589
Iscritto il: 31/12/2008, 11:54

Re: [jessie] systemd e target

Messaggioda fcel2001 » 07/08/2014, 14:25

s3v ha scritto:Tu hai problemi anche col escue mode al boot?
Sei comunque riuscito a fermare i due servizi che ti interessavano?


Al boot funziona correttamente: soltanto dal graphical.target verso rescue.target si presentano problemi.

Ho fermato i due servizi con il modo da te suggerito (e ti ringrazio) e riportato sopra: spero che sia giusto, non conoscendo ancora bene systemd non so se magari ci sono effetti collaterali nei confronti di altri target
fcel2001
Full Member
Full Member
 
Messaggi: 158
Iscritto il: 12/08/2008, 15:39

Re: [jessie] systemd e target

Messaggioda s3v » 08/08/2014, 13:22

Credo tu possa contrassegnare la discussione come [Risolta].

Non so se eseguire il rescue mode a sistema avviato sia un'operazione consigliata o prevista. Bisognerebbe sapere quali servizi vengono disabilitati: forse a sistema avviato accade che qualche servizio non venga chiuso oppure che non venga riaperto.

Facci sapere se hai in futuro informazioni su questo punto.
Avatar utente
s3v
Global Moderator
Global Moderator
 
Messaggi: 5589
Iscritto il: 31/12/2008, 11:54


Torna a Tuning

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite