Home > Centos, Debian, Linux, Server, Ubuntu > sysv-rc-conf controllare e impostare i servizi nei vari runlevel linux

sysv-rc-conf controllare e impostare i servizi nei vari runlevel linux

E’ un situazione abbastanza frequente, utilizzando un sistema linux con funzioni anche di server, dover verificare che un servizio o demone  (service o daemon)  sia in esecuzione ad esempio: apache ,mysqld, postrgresql, samba, ssh, nfs, rsync, cron, syslogd, etc.

Per visualizzare i servizi possibile utilizzare il comando generale

# service --status-all

che indica anche i servizi attivi

# service --status-all
 [ - ] acpi-fakekey
 [ + ] acpi-support
 [ + ] acpid
 [ + ] atd
 [ + ] avahi-daemon
 [ - ] bootlogs
 [ - ] bootmisc.sh
 [ - ] checkfs.sh
 [ - ] checkroot-bootclean.sh
 [ - ] checkroot.sh
 [ + ] console-setup
 [ + ] cron
 ...

In pratica –status-all consente di vedere  i servizi installati.

Può far comodo anche visualizzare i servizi per runlevel.

Il modo più semplice per visualizzare i servizi attivi in un dato runlevel è digitare un comando del tipo:

sudo ls -l /etc/rc(num-run-level).d/
ls -l /etc/rc3.d
total 84
-rw-r--r-- 1 root root 677 Apr  6  2015 README
lrwxrwxrwx 1 root root  22 May 31 16:19 S01acpi-fakekey -> ../init.d/acpi-fakekey
lrwxrwxrwx 1 root root  14 May 30 16:58 S01motd -> ../init.d/motd
lrwxrwxrwx 1 root root  17 May 30 17:00 S01rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  15 May 30 17:02 S02acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root  22 May 31 16:19 S02acpi-support -> ../init.d/acpi-support
lrwxrwxrwx 1 root root  13 May 30 17:19 S02atd -> ../init.d/atd
lrwxrwxrwx 1 root root  14 May 30 17:00 S02cron -> ../init.d/cron
lrwxrwxrwx 1 root root  14 May 30 17:19 S02dbus -> ../init.d/dbus
lrwxrwxrwx 1 root root  15 May 30 17:19 S02exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 May 30 17:20 S02ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  22 May 30 17:19 S03avahi-daemon -> ../init.d/avahi-daemon
lrwxrwxrwx 1 root root  18 May 30 17:02 S03bootlogs -> ../init.d/bootlogs
lrwxrwxrwx 1 root root  14 May 30 17:19 S04cups -> ../init.d/cups
...


E possibile elencare gli script che controllano i vari servizi con

ls /etc/init.d

In generale un servizio viene controllato con il comando service:

digitando service nome-de-servizio è possibile visualizzare l’elenco completo delle opzioni possibili

# service nome-del-servizio
# service cron
[info] Usage: /etc/init.d/cron {start|stop|status|restart|reload|force-reload}.

Per visualizzare lo stato del servizio

# service nome-del-servizio status

oppure

# /etc/init.d/nome-del-servizio status

Le espressioni che compaiono in risposta tuttavia possono variare da distribuzione a distribuzione alcune più “verbose2 altre meno comunque  in genere sono molto chiare.

SysV Runlevel Config   ( sysv-rc-conf ) controllare e impostare i servizi nei vari runlevel

Per controllare lo stato di un servizio e impostare i runlevel esistono anche altri comodi comandi in particolare: chkconfig (Centos/RedHat/Fedora ) e il suo derivato sys-rc-conf (Debian/Ubuntu). Come detto si tratta di programmi che consentono di gestire “/etc/rc{runlevel}.d/” symlinks controllando l’avvio dei servizi stessi

Il controllore di servizi sysv-rc-conf si installa al solito con:

# apt-get install sysv-rc-conf

# sysv-rc-conf

sysv-rc-conf debian servizi base

check o uncheck le opzioni per impostare l’avvio di un servizio in un dato runlevel.

Per avviare un servizio premere + per fermarlo

sysv-rc-conf run stop service

modo CLI molto simile a chkconfig

sysv-rc-conf --list

avviare ssh nei runlevel 3 e 5

sysv-rc-conf --level 35 ssh on

disabilitare l’avvio di ssh nei runlevel 35

sysv-rc-conf --level 35 ssh off

 

chkconfig (Centos – RedHat )

Il controllo di servizi di redhat si installa con

yum install chkconfig

impostare l’avvio di postgresql-9.1 nei runlevel 3 e 5

chkconfig --level 35 postgresql on

disattivare l’avvio di postgresql nei runlevel 35

chkconfig --level 35 postgresql off

lista dei servizi con indicate le impostazioni dei runlevel

chkconfig --list

lista dei servizi con indicate le impostazioni dei runlevel 3

chkconfig --list | grep 3:on

Lista dei file delle directory che contengono i vari script lanciati al boot

pstree

I processi sono mostrati con uno schema ad albero. In questo caso INIT è il processo di partenza mentre tutti gli altri processi discendono da questo.

Esempi

Esempi dei comandi da terminale per controllare e configurare i servizi linux con relativo output. Servizi attivi con service –status-all

# service --status-all
 [ - ] acpi-fakekey
 [ + ] acpi-support
 [ + ] acpid
 [ + ] atd
 [ + ] avahi-daemon
 [ - ] bootlogs
 [ - ] bootmisc.sh
 [ - ] checkfs.sh
 [ - ] checkroot-bootclean.sh
 [ - ] checkroot.sh
 [ + ] console-setup
 [ + ] cron
 [ + ] cups
 [ + ] cups-browsed
 [ + ] dbus
 [ + ] ebtables
 [ + ] exim4
 [ + ] hdparm
 [ - ] hostname.sh
 [ - ] hwclock.sh
 [ + ] kbd
 [ + ] keyboard-setup
 [ - ] killprocs
 [ + ] kmod
 [ + ] libvirt-guests
 [ + ] libvirtd
 [ - ] lvm2
 [ - ] motd
 [ - ] mountall-bootclean.sh
 [ - ] mountall.sh
 [ - ] mountdevsubfs.sh
 [ - ] mountkernfs.sh
 [ - ] mountnfs-bootclean.sh
 [ - ] mountnfs.sh
 [ + ] networking
 [ + ] nfs-common
 [ + ] procps
 [ ? ] qemu-system-x86
 [ + ] rc.local
 [ - ] rmnologin
 [ + ] rpcbind
 [ + ] rsyslog
 [ - ] saned
 [ - ] screen-cleanup
 [ - ] sendsigs
 [ + ] ssh
 [ + ] udev
 [ + ] udev-finish
 [ - ] umountfs
 [ - ] umountnfs.sh
 [ - ] umountroot
 [ + ] urandom
 [ - ] x11-common
 [ + ] xrdp

elenco scripts dei servizi  ls /etc/init.d

# ls /etc/init.d
acpid			cups-browsed	libvirt-guests	       rc	       ssh
acpi-fakekey		dbus		lvm2		       rc.local        udev
acpi-support		ebtables	motd		       rcS	       udev-finish
atd			exim4		mountall-bootclean.sh  README	       umountfs
avahi-daemon		halt		mountall.sh	       reboot	       umountnfs.sh
bootlogs		hdparm		mountdevsubfs.sh       rmnologin       umountroot
bootmisc.sh		hostname.sh	mountkernfs.sh	       rpcbind	       urandom
checkfs.sh		hwclock.sh	mountnfs-bootclean.sh  rsyslog	       x11-common
checkroot-bootclean.sh	kbd		mountnfs.sh	       saned	       xrdp
checkroot.sh		keyboard-setup	networking	       screen-cleanup
console-setup		killprocs	nfs-common	       sendsigs
cron			kmod		procps		       single
cups			libvirtd	qemu-system-x86        skeleton
root@debians8vm:/home/maurizio# ls /etc/init.d
acpid			cups-browsed	libvirt-guests	       rc	       ssh
acpi-fakekey		dbus		lvm2		       rc.local        udev
acpi-support		ebtables	motd		       rcS	       udev-finish
atd			exim4		mountall-bootclean.sh  README	       umountfs
avahi-daemon		halt		mountall.sh	       reboot	       umountnfs.sh
bootlogs		hdparm		mountdevsubfs.sh       rmnologin       umountroot
bootmisc.sh		hostname.sh	mountkernfs.sh	       rpcbind	       urandom
checkfs.sh		hwclock.sh	mountnfs-bootclean.sh  rsyslog	       x11-common
checkroot-bootclean.sh	kbd		mountnfs.sh	       saned	       xrdp
checkroot.sh		keyboard-setup	networking	       screen-cleanup
console-setup		killprocs	nfs-common	       sendsigs
cron			kmod		procps		       single
cups			libvirtd	qemu-system-x86        skeleton

Visualizzare i runlevel

sudo ls -l /etc/rc(num-run-level).d/
elecno dei servizi del runlevel 2

# ls -l /etc/rc2.d
total 84
-rw-r--r-- 1 root root 677 Apr  6  2015 README
lrwxrwxrwx 1 root root  22 May 31 16:19 S01acpi-fakekey -> ../init.d/acpi-fakekey
lrwxrwxrwx 1 root root  14 May 30 16:58 S01motd -> ../init.d/motd
lrwxrwxrwx 1 root root  17 May 30 17:00 S01rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  14 May 30 23:50 S01xrdp -> ../init.d/xrdp
lrwxrwxrwx 1 root root  15 May 30 17:02 S02acpid -> ../init.d/acpid
lrwxrwxrwx 1 root root  22 May 31 16:19 S02acpi-support -> ../init.d/acpi-support
lrwxrwxrwx 1 root root  13 May 30 17:19 S02atd -> ../init.d/atd
lrwxrwxrwx 1 root root  14 May 30 17:00 S02cron -> ../init.d/cron
lrwxrwxrwx 1 root root  14 May 30 17:19 S02dbus -> ../init.d/dbus
lrwxrwxrwx 1 root root  15 May 30 17:19 S02exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 May 30 17:20 S02ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  22 May 30 17:19 S03avahi-daemon -> ../init.d/avahi-daemon
lrwxrwxrwx 1 root root  18 May 30 17:02 S03bootlogs -> ../init.d/bootlogs
lrwxrwxrwx 1 root root  14 May 30 17:19 S04cups -> ../init.d/cups
lrwxrwxrwx 1 root root  22 May 30 17:20 S04cups-browsed -> ../init.d/cups-browsed
lrwxrwxrwx 1 root root  18 May 30 22:54 S04libvirtd -> ../init.d/libvirtd
lrwxrwxrwx 1 root root  15 Sep 10 19:05 S04saned -> ../init.d/saned
lrwxrwxrwx 1 root root  24 May 30 22:54 S05libvirt-guests -> ../init.d/libvirt-guests
lrwxrwxrwx 1 root root  18 May 30 22:54 S06rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 May 30 22:54 S06rmnologin -> ../init.d/rmnologin

Elaborazione lista servizi

# ls -1 /etc/rc$(runlevel| cut -d" " -f2).d/S*
/etc/rc5.d/S01acpi-fakekey
/etc/rc5.d/S01motd
/etc/rc5.d/S01rsyslog
/etc/rc5.d/S02acpid
/etc/rc5.d/S02acpi-support
/etc/rc5.d/S02atd
/etc/rc5.d/S02cron
/etc/rc5.d/S02dbus
/etc/rc5.d/S02ssh
/etc/rc5.d/S03avahi-daemon
/etc/rc5.d/S03bootlogs
/etc/rc5.d/S04libvirtd
/etc/rc5.d/S05libvirt-guests
/etc/rc5.d/S06rc.local
/etc/rc5.d/S06rmnologin
/etc/rc5.d/S90umountroot

Pulizia completa

# ls -1 /etc/rc$(runlevel| cut -d" " -f2).d/S* | \
> awk -F'[0-9][0-9]' '{print "Startup :-> " $2}'
Startup :-> acpi-fakekey
Startup :-> motd
Startup :-> rsyslog
Startup :-> acpid
Startup :-> acpi-support
Startup :-> atd
Startup :-> cron
Startup :-> dbus
Startup :-> ssh
Startup :-> avahi-daemon
Startup :-> bootlogs
Startup :-> libvirtd
Startup :-> libvirt-guests
Startup :-> rc.local
Startup :-> rmnologin
Startup :-> umountroot

Controllare  un servizio:

# service nome-del-servizio status

oppure

# /etc/init.d/nome-del-servizio status

Le espressioni che compaiono in risposta tuttavia possono variare da distribuzione a distribuzione alcune più “verbose2 altre meno comunque  in genere sono molto chiare.

centos 5

$ service postgresql-9.1 status
(pid 29401) is running...

service mysqld status
mysqld (pid 2879) is running...

ubuntu  12

$ service postgresql status
9.1/main (port 5432): online

~$ service apache2 status
Apache2 is running (pid 17803)

Per verificare lo stato di tutti i servizi presenti nel sistema basta usare l’opzione –status-all

# service nome-del-servizio status

Lista dei file delle directory che contengono i vari script lanciati al boot

# pstree
# pstree
systemd─┬─acpid
        ├─agetty
        ├─atd
        ├─avahi-daemon───avahi-daemon
        ├─cron
        ├─cups-browsed
        ├─cupsd
        ├─dbus-daemon
        ├─dnsmasq───dnsmasq
        ├─exim4
        ├─libvirtd───10*[{libvirtd}]
        ├─rpc.idmapd
        ├─rpc.statd
        ├─rpcbind
        ├─rsyslogd─┬─{in:imklog}
        │          ├─{in:imuxsock}
        │          └─{rs:main Q:Reg}
        ├─sshd───sshd───sshd───bash───su───bash───pstree
        ├─systemd───(sd-pam)
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─xrdp
        └─xrdp-sesman

sysv-rc-conf  check o uncheck per impostare l’avvio di un servizio in un dato runlevel.

sysv-rc-conf debian servizi base

check per abilitare altri servizi

sysv-rc-conf debian

sysv-rc-conf warning:

sysv-rc-conf debian run stop warning

 

Risorse:

 

  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: