Archivio

Posts Tagged ‘chkconfig’

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

settembre 10, 2014 Lascia un commento

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:

 

Annunci

Come controllare che un servizio (service) sia in esecuzione in 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.

Il altre situazione alcune modifiche ai files di configurazione richiedono il riavvio del servizio di cui si sta modificando la configurazione ad esempio:   httpd.conf per apache, pg_hda.conf  e/o postgresql.conf per postgresql… E’ anche in questo caso potrebbe essere opportuno controllare lo stato del server.

In generale un servizio viene controllato con il comando:

$ 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.
alcuni esempi:

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 --status-all

In pratica –status-all consente di vedere  i servizi installati.   Può far comodo anche visualizzare i servizi per runlevel.

Visualizzare i 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/

Controllare e impostare i servizi nei vari runlevel

Per controllare lo stato di un servizio e impostare i runlevel di avvio per un servizio si possono utilizzare anche altri comandi in particolare: chkconfig (Centos/RedHat/Fedora ) e 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

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

sysv-rc-conf ( Debian – Ubuntu )

Per controllare i servizi in ubuntu debian utilizzare sysv-rc-conf  l’equivalente  di chkconfig.   il controllore di servizi sysv-rc-conf si installa con:

sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf

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

Per avviare un servizio premere + per fermarlo –

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

Altri comandi che si possono installare per controllare i servizi

sysvconfig
ntsysv

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.

Risorse:

 

chkconfig e sysv-rc-conf

chkconfig (Centos/RedHat/Fedora ) e sys-rc-conf (Debian/Ubuntu) sono programmi che consentono di gestire “/etc/rc{runlevel}.d/” symlinks controllando l’avvio dei servizi

chkconfig (Centos – RedHat )    –  SUSE

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

chkconfig –  SUSE

chckconfig può essere utilizzato anche in SUSE

Per l’eventuale installazione

su

zypper install chkconfig

sysv-rc-conf ( Debian – Ubuntu )

sudo apt-get install sysv-rc-conf

sudo sysv-rc-conf

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

Per avviare un servizio premere + per fermarlo –

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

 

 

 

Altri comandi che si possono installare per controllare i servizi

sysvconfig

ntsysv

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.

 

installare ssh server in ubuntu debian linux

Per installare ssh server in ubuntu debian linux, il servizio per la realizzazione di sessioni crittografate in rete, di norma di fa ricorso all’alternativa open source OpenSSH. OpenSSH è un fork, gestito dal progetto OpenBSD,  del software  SSH sviluppato dalla società finalndese SSH Communications Security Corp.

ubuntu
apt-get  install openssh-server
debian
aptitude install openssh-server
Controllare il corretta configurazione del servizio con
:~$ sudo sysv-rc-conf --list | grep ssh
ssh          2:on	3:on	4:on	5:on

eventualmente settare interattivamente con sysv-rc-conf flaggando i livelli 2345

sysv-rc-conf

oppure

sysv-rc-conf -level 2345 sudo on
controllare sempre con 
 sudo sysv-rc-conf --list | grep ssh
Controllare fermare avviare … ssh server

Per controllare il server ssh si ricorre al tradizionali comandi per controllare i servizi:

sudo service ssh  (start|restart|stop|status)
o
sudo /etc/init.d/ssh  (start|restart|stop|status)

per controllare che ssh sia in ascolto

netstat -anlp | grep ssh

Per installare il gestore dei servizi sysv-rc-conf equivalente a chkconfig in Centos-redhat

sudo apt-get install sysv-rc-conf

Lato ssh client

Aprire una sessione ssh debian, ubuntu o linux

Dal lato client per aprire una sessione ssh il comando  base è

ssh  maurizio@10.0.1.3

per poter  lanciare applicativi Xwindow la connessione ssh va effettuata utilizzando l’opzione  (-X)  l’opzione -C consente di attivare la compressione

ssh -X -C  maurizio@157.123.1.3
Terminare una connessione ssh in ubuntu debian linux

Per terminare una connessione ssh sempre lato cliente dapprima elencare le connessioni ssh attive con

sudo pgrep -lf ssh

oppure con

sudo netstat -anpl | grep ssh

quindi terminare con kill il processo ssh specifico

 
sudo kill ID-processo

A seonda delle esigenze valutare anche killall

scp e sftp  due servizi di trasferimento file

ssh offre due servizi di trasferimento file  scp e sftp.  Il protocollo sftp consente non solo il trasferimento dei dati ma anche funzionalità di manipolazione dei file  è simile a ftp

scp nome-file ip-computer-o-nome-macchina:/percorso/ 

Risorse: