Questa è una vecchia versione del documento!
Ramlog per Raspbian Jessie
FONTI:
NON USARE QUESTA PROCEDURA CON LA DISTRO RASPBIAN WHEEZY funziona solo ed esclusivamente con la distro Raspbian Jessie
Con Raspbian Jessie non è possibile installare Ramlo, in quanto Jessie a differenza di Wheezy utilizza systemd e Ramlog non è attualmente compatibile con systemd.
E' però possibile ricreare il funzionamento di Ramlog anche su Raspbian Jessie, creando un servizio che compie le medesime operazioni di Ramlog.
Installare RamLog
1) Da terminale creiamo il servizio ramlog (/usr/bin/ramlog):
sudo nano /usr/bin/ramlog
ed incolliamo il seguente codice:
#!/bin/sh . /lib/lsb/init-functions start() { log_begin_msg "RAMLOG: Read files from disk.." tar xfz /var/ram_log.tar.gz -C / log_end_msg 0 } stop() { log_begin_msg "RAMLOG: Write files to disk.." tar cfz /var/ram_log.tar.gz --directory=/ var/log/ log_end_msg 0 } case "$1" in start) start ;; stop) stop ;; flush) stop ;; *) echo "Usage: $0 {start|stop|flush}" exit 1 esac
CTRL+O per salvare e CTRL+X per uscire
Diamo ora i corretti permessi al file:
sudo chmod a+x /usr/bin/ramlog
2) Creiamo una voce per systemd (/etc/systemd/system/ramlog.service): Da terminale
sudo nano /etc/systemd/system/ramlog.service
ed incolliamo il seguente codice:
[Unit] Description=Ramlog After=local-fs.target Before=cron.service syslog.service [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/ramlog start ExecStop=/usr/bin/ramlog stop [Install] WantedBy=multi-user.target
CTRL+O per salvare e CTRL+X per uscire
3) aggiungiamo a cron il comando da eseguire ogni giorno a mezzanotte ed 1 minuto
sudo nano /etc/crontab
e aggiungiamo la seguente riga alla fine
1 0 * * * root /usr/bin/ramlog flush >/dev/null 2>&1
CTRL+O per salvare e CTRL+X per uscire
4) modifichiamo fstab per creare ramdisk della cartella /var/log/
sudo nano /etc/fstab
ed incolliamo la riga:
tmpfs /var/log tmpfs nodev,nosuid 0 0<code> CTRL+O per salvare e CTRL+X per uscire 5) installiamo il servizio eseguendo da terminale <code>insserv systemctl enable ramlog.service
6) avviamo quindi il servizio eseguendo sempre da terminale
systemctl start ramlog.service
7) riavviamo il raspberry
sudo reboot
Ora dovrebbe venire creato il ramdisk della cartella /var/log
Disabilitare il file swapping
Una ulteriore protezione per evitare la corruzione della scheda SD è di disabilitare lo swapping
Il Raspberry usa dphys-swapfile per controllare lo swapping. Questo crea dinamicamente una partizione di swap. Utilizzeremo questo tool per disabilitare lo swap.
Eseguire i seguenti comandi da terminale per disabilitare lo swap:
sudo systemctl disable dphys-swapfile
Questa soluzione non è però permanente ed al riavvio il raspberry continuerebbe a creare lo swap file. Per rendere permeanente la modifica è necessario rimuovere il pacchetto dphys-swapfile
sudo apt-get remove dphys-swapfile
Infine riavviamo il raspberry
sudo reboot
Fatto ciò potremo eseguire il commando free -m per verificare l’uso della memoria:
Troveremo che lo swap è stato disabilitato.