Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
ramlog_jessie [2017/09/18 08:21]
flane creata
ramlog_jessie [2018/08/23 11:12] (versione attuale)
flane [Spostare la cartella /tmp in ramdisk (tmpfs)]
Linea 1: Linea 1:
-====== ​Ramlog ​per Raspbian Jessie ======+====== ​RamLog ​per Raspbian Jessie/​Stretch ​======
  
 **FONTI:** **FONTI:**
   * [[https://​habrahabr.ru/​post/​272279/​|Ramlog sulle distribuzioni con systemd]]   * [[https://​habrahabr.ru/​post/​272279/​|Ramlog sulle distribuzioni con systemd]]
   * [[https://​www.flurweg.net/​raspberry-pi2-debian-server-image-2015-09-01-ca-200mb/​|Raspberry Pi2 Debian Jessie]]   * [[https://​www.flurweg.net/​raspberry-pi2-debian-server-image-2015-09-01-ca-200mb/​|Raspberry Pi2 Debian Jessie]]
 +  * [[http://​blog.nunosenica.com/​reduce-write-operations-to-sd-card-with-raspbian/​|Reduce write operations to SD card with Raspbian]]
 +
 +<WRAP center round alert> **NON USARE QUESTA PROCEDURA CON LA DISTRO RASPBIAN WHEEZY** funziona solo ed esclusivamente con la distro Raspbian Jessie/​Stretch</​WRAP>​
 +Con Raspbian Jessie non è possibile installare RamLog, 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.
 +
 +<WRAP center round important>​
 +Quanto indicato nella presente pagina è **già incluso nell'​immagine SolarJessie** e non è pertanto necessario eseguire quanto segue
 +</​WRAP>​
  
-<WRAP center round alert> **NON USARE QUESTA PROCEDURA CON LA DISTRO RASPBIAN WHEEZY** funziona solo ed esclusivamente con la distro Raspbian Jessie</​WRAP>​ 
  
 ===== Installare RamLog ===== ===== Installare RamLog =====
  
-1) Da terminale ​creiano ​il servizio ramlog (/​usr/​bin/​ramlog):​+1) Da terminale ​creiamo ​il servizio ramlog (/​usr/​bin/​ramlog):​
 <​code>​sudo nano /​usr/​bin/​ramlog</​code>​ <​code>​sudo nano /​usr/​bin/​ramlog</​code>​
  
 ed incolliamo il seguente codice: ed incolliamo il seguente codice:
  
-<​code>#​!/​bin/​sh+<​code ​bash /​usr/​bin/​ramlog>#​!/​bin/​sh
 . /​lib/​lsb/​init-functions . /​lib/​lsb/​init-functions
  
Linea 59: Linea 67:
 ed incolliamo il seguente codice: ed incolliamo il seguente codice:
  
-<​code>​[Unit]+<​code ​bash /​etc/​systemd/​system/​ramlog.service>[Unit]
 Description=Ramlog Description=Ramlog
 After=local-fs.target After=local-fs.target
Linea 91: Linea 99:
 ed incolliamo la riga: ed incolliamo la riga:
  
-<​code>​tmpfs /var/log tmpfs nodev,​nosuid 0 0<​code>​+<​code ​bash /etc/fstab>tmpfs /var/log tmpfs nodev,​nosuid 0 0</code>
  
 CTRL+O per salvare e CTRL+X per uscire CTRL+O per salvare e CTRL+X per uscire
Linea 110: Linea 118:
  
 Ora dovrebbe venire creato il ramdisk della cartella /var/log Ora dovrebbe venire creato il ramdisk della cartella /var/log
 +
 +<WRAP center round tip>
 +Per **disabilitare RAMLog** se necessario:
 +<​code>​systemctl disable ramlog.service</​code>​
 +</​WRAP>​
 +
 +
 +===== Verifica funzionalità RamLog =====
 +Per verificare che Ramlog sia attivo, puoi comunque fare quanto segue:
 +
 +1) controllare se nella cartella /var/ si trova un file compresso dal nome ram_log.tar.gz con la data dell'​ultimo riavvio/​spegnimento del raspberry, oppure dell'​ultima periodicità del comando inserito in cron (di default prevista alle 00:01 di ogni giorno)
 +{{ :​wiki:​ramlog_jessie_1.jpg?​nolink |}}
 +Questo è il file che verrà scompattato e copiato nella cartella in memoria temporanea /var/log al riavvio del raspberry
 +Viene creato al primo avvio del servizio ramlog oppure con la periodicità impostata in cron
 +
 +2) eseguire da Putty il seguente comando:
 +<​code>​df</​code>​
 +
 +e controllare che la cartella /var/log sia del tipo tmpfs cioè una memoria temporanea (ramdisk)
 +{{ :​wiki:​ramlog_jessie_2.jpg?​nolink |}}
 +
 +
 +Se sono verificati i due punti sopra significa che RamLog è attivo e funzionante.
 +
 +
 +===== 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:
 +
 +<​code>​sudo systemctl disable dphys-swapfile</​code>​
 +
 +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
 +<​code>​sudo apt-get remove dphys-swapfile</​code>​
 +
 +Infine riavviamo il raspberry
 +<​code>​sudo reboot</​code>​
 +Fatto ciò potremo eseguire il commando ​ free -m  per verificare l’uso della memoria:
 +{{ :​wiki:​ramlog_swap.png?​nolink |}}
 +
 +Troveremo che lo swap è stato disabilitato.
 +
 +===== Spostare il file log di lftp =====
 +Se utilizzate il backup ftp con il comando lftp, ad ogni esecuzione lftp creerà un file di log nella cartella
 +
 +Se volete spostare la destinazione di tale file nella cartella /​var/​log/​lftp in modo che si trovi in ramdisk e non vengano effettute scritture sulla sd sarà necessario editare il file /​etc/​lftp.conf ed aggiungere alla fine le righe:
 +
 +<​code>##​ LOG FILE
 +set xfer:log true
 +set xfer:​log-file ​ /​var/​log/​lftp/​transfer_log</​code>​
 +
 +Sarà inoltre necessario ceare la cartella /​var/​log/​lftp con il comando
 +
 +<​code>​mkdir /​var/​log/​lftp</​code>​
 +
 +
 +Se invece volete proprio disabilitare il log:
 +
 +<​code>##​ LOG FILE
 +set xfer:log false</​code>​
 +
 +===== Spostare la cartella /tmp in ramdisk (tmpfs) =====
 +
 +Per impostazione predefinita Raspbian è già configurato per montare diverse cartelle in tmpfs, /dev/shm, /run, /​sys/​fs/​cgroup,​ ma alcune applicazioni usano la cartella /tmp per creare i file temporanei. E' eventualmente possibile spostare anche questa cartella in ramdisk. Attenzione che in questo modo i file che si trovano in /tmp diventeranno temporanei e non permanenti, cioè andranno persi in caso di riavvio.
 +
 +<​code>​systemctl enable tmp.mount</​code>​
 +
 +<WRAP center round important >
 +Con Raspbian Stretch il comando sopra non funziona più a causa di [[http://​metadata.ftp-master.debian.org/​changelogs/​main/​s/​systemd/​unstable_changelog|systemd 220-6 6]].\\
 +E' necessario spostare il file tmp.mount da /​usr/​share/​systemd/​ a /​etc/​systemd/​system/​ con il comando ​
 +<​code>​sudo mv /​usr/​share/​systemd/​tmp.mount /​etc/​systemd/​system/</​code> ​
 + e, dopo un riavvio, controllare con il comando ​
 +<​code>​sudo df -k | grep tmpfs</​code>​
 +l'​effettivo spostamento della cartella /tmp in tmpfs
 +</​WRAP>​
 + 
  • ramlog_jessie.1505715681.txt.gz
  • Ultima modifica: 2017/09/18 08:21
  • da flane