Rimuovere i servizi inutili in Yast

Rimuovere tutti i servizi inutili per aumentare le prestazioni del sistema. Con l’installazione standard vengono installati molti pacchetti e molti demoni sono attivi per default, cosa che naturalmente rende il sistema meno stabile e veloce.

Per vedere quali demoni sono attivi eseguire il seguente comando:

# netstat -lp

Tipici demoni attivi per default sono per es: avahi-daemon, dchcpd, cups e altri.

L’avahi-demon è una applicazione che permette di cercare le risorse (cartelle condivise e stampanti condivise) disponibili nella rete, un po’ come il comando net view in Windows. Lo rimuovo visto che non ne ho bisogno.

Anche del dhcpd non ho bisogno che è il servizio che offre dhcp.

Cups serve per condividere e configurare stampanti, posso rimuovere anche questo visto che non ho una stampante in uso su questo computer.

E non ho neanche bisogno di cron, che serve per svolgere azioni pianificate in modo automatico.

In poche parole li rimuovo tutti eccetto quelli indispensabili per il corretto funzionamento del sistema e delle applicazioni in uso.

Per rimuovere i servizi inutili vi sono diverse possibilità, una di queste è usare Yast. Avviare Yast e spostarsi in System/runlevel:

SUSE Yast runlevel

Apparirà una lista – vedi immagine sopra – con i servizi e le relative informazioni a riguardo, in particolar modo lo stato (se sono attivi o no) e una descrizione. Per disattivare un servizio selezionarlo e cliccare su disable o disattiva.

Rimuovere le Shared Libraries inutili

Al giorno d’oggi molto codice necessario al corretto funzionamento delle varie applicazioni viene messo in file separati, le Shared Libraries. Per potere usare questi pezzi di codice viene usato il dynamic link loader (ld.so). Per ulteriori informazioni eseguire man ld.so.

Ecco la descrizione ottenuta in inglese: “The programs ld.so and ld-linux.so* find and load the shared libraries needed by a program, prepare the program to run, and then run it.”
Traduzione:“Il programma ld.so cerca e poi carica – nella memoria – le Shared Libraries necessare per il corretto funzionamento di un programma. Prepara il programma per l’esecuzione e lo esegue.”

Questo programma usa il file /etc/ld.so.cache per ottenere informazioni sulle varie librerie (Una lista delle Shared Libraries trovata nelle varie cartelle… ) e ovviamente per ottenere delle buone prestazioni, sarebbe buona cosa fare in modo di tenere il file il più piccolo possibile. Per ottenere questo risultato cancellare tutte le “Shared Libraries” di cui non si ha bisogno. Per cercare le librerie installate cercare “lib” in “Yast/Software Management” e una lista di file lib apparirà. Togliere quello di cui non si ha bisogno.

Lib files

Un altro modo per vedere quali libs sono installate è con il seguente comando:

# rpm -qa | grep "lib"

Stare molto attenti alle dipendenze ed eliminate le Shared Libraries solo se ne siete sicuri. Fare al limite un immagine del sistema o un backup prima di proseguire.

Un utile programma per vedere di quali libs abbia bisogno un programma è ldd.

Eccone un esempio:

#ldd /bin/ls
        linux-vdso.so.1 (0x00007fffce7ff000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fbc913e1000)
        libcap.so.2 => /lib64/libcap.so.2 (0x00007fbc911dc000)
        libacl.so.1 => /lib64/libacl.so.1 (0x00007fbc90fd3000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fbc90c25000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fbc90a21000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fbc91601000)
        libattr.so.1 => /lib64/libattr.so.1 (0x00007fbc9081c000)

Cercare di eliminarne il più possibile ma fare attenzione alle dipendenze e cioè da che programmi vengono usate le libs, se non si ha bisogno di tali programmi, rimuovere tranquillamente. Rimuovere direttamente anche il pacchetto del programma di cui non si ha bisogno.

Se si usa Suse a 64 bit, cancellare tutte le Shared Libraries 32 ma fare attenzione, perché potrebbero venire richieste da alcune applicazioni office. Non nel mio caso. Per eliminare le “libs” 32 bit cercare in Yast/Software Management “32” ed eliminarle tutto quello che si può.

Disablilitare la partizione Swap

Se si ha molta RAM potrebbe essere una buona pratica quella di disabilitare la partizione Swap. A questo scopo usiamo il comando swapoff:

# /sbin/swapoff -a

Per disabilitare permanentemente la partizione swap cancellare la riga relativa a swap nel file /etc/fstab:

#vi /etc/fstab
/dev/disk/by-id/ata-ST2000DM001-9YN164_Z1E0E9YF-part6 swap                 swap       defaults
... 

Su questo punto vi sono molte contraddizioni in rete, guardate un po’ in giro e vedete se vi conviene. Alcuni affermano che non è necessario e che può portare ad effetti collaterali. Vi sono sicuro pro e contro. Vi invito dunque come detto a fare ricerche e a leggere il seguente documento in inglese:

Should I completely turn off swap for linux webserver

Una soluzione più elegante e in alcuni casi migliore sarebbe editare il file /etc/sysctl.conf e aggiungere le seguenti righe:

vm.swappiness = 0
vm.dirty_background_ratio = 50
vm.dirty_ratio = 80

Con questi parametri si fa in modo che la partizione swap viene attivata solo nel caso che la Memoria (RAM) si esaurisca completamente. Vm.swappiness viene usato per definire l'”aggressività” in cui viene usata la memoria swap, in caso di 0, solo se non c’è più memoria. Gli altri due parametri fanno in modo di aspettare più a lungo prima di iniziare a scrivere sul disco.

Disattivare Desktop Search

Desktop Serch è l’equivalente del sevizio index in windows, se non si usa spesso cercare tra i dati e non è importante che se nel caso si dovesse cercare, fosse un po’ più lento, disattivarlo.
Per disattivare questa funzionalità muovere il cursore del mouse sull’icona di SUSE, in basso a sinistra, e poi nel campo Search inserire Desktop Search. Una volta apparsa l’icona del programma, selezionarlo, dovrebbe aprirsi una finestra come nell’immagine sottostante.

SUSE: Desktop search service

Togliere il visto da “Desktop search services are active” e abbiamo finito. Se si preferisce solo limitare la memoria andare sotto Advanced Settings.

Disattivare Klipper di SUSE

Altra applicazione che usa risorse inutilmente e che si potrebbe disabilitare è Klipper. Per farlo cliccare in basso a destra sul simbolo della forbice, apparirà una lista in cui scegliere quit. Il programma chiederà allora se si desidera che Klipper venga eseguito automaticamente quando si accede al sistema. Vedi immagine sottostante:

klipper SUSE Linux

Mettere il visto in “do not ask again” e cliccare su “do not start”.

Migliorare le prestazioni della rete

Ecco alcuni punti per migliorare la performance della rete. Come prima cosa rimuovere il protocollo IPv6. Suse supporta il protocollo IPv6 ma se non si usa è buona cosa rimuoverlo. Rimuovendo il protocollo IPv6 si fa in modo che alcune attività della rete vengono eseguite più velocemente.

Per rimuovere il supporto per il protocollo IPv6 eseguire il seguente comando:

# export KDE_NO_IPV6=1

Un altro modo sarebbe impedire al modulo di venire caricato nel Kernel. Per farlo aggiungere la seguente riga nel file /etc/modprobe.d/blacklist: “blacklist IPv6”.

Ancora meglio sarebbe chiaramente ricompilare il Kernel e rimuoverlo del tutto, per farlo vedere l’ultimo punto di questa guida.

Se si usa Firefox rimuovere il supporto per IPv6 anche li, per ottenere questo risultato inserire il seguente comando nel campo in cui si inserisce la URL: about:config

Poi nel campo Search digitare IPv6, premere con il tasto destro del mouse su network.dns.disableIPv6 e scegliere imposta. Il valore ora è true.

Remove IPv6 from Firefox

Una altra cosa che si potrebbe fare per velocizzare un po’ la rete è assegnare l’indirizzo IP manualmente.

In una piccola rete si potrebbe anche rimuovere arp editando il file /etc/dhcpd.conf e aggiungendo “noarp“. Una volta fatto rinviare il sistema o il demone per far si che i cambiamenti abbiano effetto.

Compilare il Kernel (SUSE Linux)

Un punto importantissimo è chiaramente compilare il Kernel in modo da ottenere le maggiori prestazioni possibile. In poche parole dobbiamo togliere anche qui tutto quello che non ci serve.

Per questo punto vi invito a leggere la guida sulla compilazione del Kernel di Linux SUSE: Guida sul come compilare il Kernel in Linux SUSE