Trucco per ottimizzare il Raspberry PI 3B+

La Raspi è una macchinetta piccola per un utilizzo che su un computer desktop o laptop al giorno d’oggi consideriamo sostanzialmente banale e per ottimizzarla un pochettino oggi vi presento un trucchetto veloce veloce.

Problema

Ho tentato di avviare un container NextCloud su Docker.

Premetto che avevo già alcuni container Docker funzionanti su di un’installazione Raspbian, come ad esempio OpenVPN, Pi-Hole e MotionEye e aggiungendo i container di MariaDB e di NextCloud mi sono trovato con solo 44 mega di Ram liberi.

Soluzione

Seguendo il corso LPI di primo livello di Morrolinux su Udemy, uno dei primi video è quello inerente alla swap e c’è anche la spiegazione di come abilitare la swap su file e ne ho fatto tesoro

In prima battuta ho pensato di ripartizionare, ma sarebbe stato un casino e poi mi sono vagamente ricordato che era possibile formattare un file ed abilitarlo da /etc/fstab.

Ho preso la mia tastierina, cambiato il canale della mia televisione sulla porta HDMI e ho pensato di aprire per prima cosa il file /etc/fstab il mio Raspberry Pi.

Sul file c’è scritto infatti che non bisogna inserire nuove voci per la swap, ma di usare dphys-swapfile swapon.

Io mi sono letto la pagina man a riguardo di questo comando che non conoscevo e sostanzialmente c’è scritto che il file di configurazione è il rispettivo file di configurazione in /etc/dphys-swapfile.

l’ho aperto con nano, ho modificato la voce CONF_SWAPSIZE da 100 a 2048 che sostanzialmente sono da 100 Mega a 2 GB di swap e poi con il comando “dphys-swapfile swapon” l’ho abilitata.

Un check veloce con “free -m” e adesso la mia installazione di Nexcloud è molto più responsiva.

Alla prossima.

Come installare un’immagine disco su una Micro SD con Linux

Premetto che in questa guida si utilizza Linux e Raspberry PI 3 B+ per fare queste cose.

In questa mini guida andremo a vedere la parte del processo di installazione più controversa e sulla quale ci si ancora al primo approccio.

Si possono usare vari strumenti per scrivere l’immagine IUSO di un sistema operativo su una MicroSD e vi mostrerò quelli che so usare io.

1. usando il comando da terminale dd

Individuare il punto di mount.

Bisogna sempre partire da una microSD vuota o che comunque contenga dati che possono essere sovrascritti e un immagine ISO di un qualche sistema operativo compatibile con il nostro device. Nel caso di un Raspberry consiglio sempre e comunque di scaricarsi la ISO di Raspbian

Inseriamo la MicroSD nell’apposita entrata del nostro computer.

A questo punto dobbiamo individuare il punto dove è stata montata la nostra Micro SD.

La via che a mio personale parere trovo più semplice è di usare Gparted.

Partiamo con Gparted:
su ogni derivata di Ubuntu e Debian in generale:

sudo get install gparted -y
sudo gparted

e vi verrà mostrata una schermata simile alla seguente:

In alto a destra troviamo la tendina con la lista delle memorie (hard disk, schede di memoria ecc…) collegate al nostro computer.

Per trovare la nostra scheda dovremo far riferimento alla capienza della stessa.

La selezioniamo e al centro della schermata ci compariranno le partizioni della Mircro SD

ATTENZIONE: andremo ad eliminare tutti i dati dalla scheda di memoria. Ponete attenzione a selezionare la scheda giusta; se no vi ritroverete con i dati dell’hard disk o della memoria difficilmente se non impossibili da recuperare; ed io non me ne prendo alcuna responsabilità.

La selezioniamo e con un click col tasto destro su ognuna delle partizioni dell’hard disk andremo prima a smontarle con unmount, poi ad eliminarle ad una ad una e infine clicchiamo la spunta verde per applicare le modifiche.

A questo punto abbiamo la schedina Micro SD completamente vuota e smontata

Trovare il percorso del file system

Prima di chiudere gparted segnamoci il percorso del file system della periferica, ad esempio /dev/sdc.

Un altro modo per trovarlo è tramite la mitica riga di comando:

df -h

nella prima colonna sono segnati i percorsi di tutti i file system e ad occhio, tramite la dimensione in Giga, riconosciamo la nostra schedina Micro SD

Creare l’immagine dulla MicroSD con dd

ATTENZIONE: la procedura descritta in seguito è molto delicata ed io non mi prendo alcuna responsabilità se copiate l’immagine sul drive sbagliato.

Quindi ponete attenzione a quel che fate.

Per una guida sul comando dd fare riferimento a questo link o digitate da terminale man dd

A questo punto se abbiamo già scaricato l’immagine dell’OS che vogliamo caricare sulla Micro SD, la procedura è abbastanza semplice…via terminale scrivere:

dd bs=4M if=path/dell/immagine.iso of=/dev/sdX

avendo cura di sostiutuire la X di /dev/sdX con la lettera della nostra Micro SD che ci siamo segnati prima e /pat/dell/immagine.iso con il path dove abbiamo salvato l’immagine disco.

Aspettiamo con pazienza che esegua il comando e la nostra Micro SD una volta smontata è pronta per essere inserita nel nostro Raspberry spento.

Creare l’immagine disco con Etcher

un altro metodo, più user friendly, per scrivere le immagini dico su una Micro SD è Etcher, scaricabile qui, che è un programma multipiattaforma con interfaccia grafica.

Nella sua versione Linux è un file AppImage eseguibile tramite doppio click.

Semplicemente si apre il programma, si sceglie l’immagine .img del sistema operativo, si seleziona la nostra micro SD e si flasha.

Ora è tutto pronto per installare la Micro SD sul Raspberry e iniziare ad esplorare le meraviglie di questo piccolo computer.

Buona vita.

Come configurare un dns dinamico con duckdns.org

Tra i tanti servizi che ho trovato per configurare un dns dinamico gratuito, sono incappato in duckdns.org, che fino ad ora si è dimostrato affidabile e facile da configurare con la mia Rasperry Pi 3 B+.
Cos’è e a cosa serve un DNS Dinamico

A riguardo dei DNS Dinamici o DDNS o Dinamic DNS, Wikipedia a questa pagina dice:

I nomi DNS (ad esempio www.kernel.org) sono normalmente associati stabilmente ad indirizzi IP (ad esempio 147.75.44.153), i quali a loro volta sono stabilmente assegnati ad host (di solito computer) che hanno funzioni di server. Molti host, in particolare quelli che si collegano ad internet utilizzando i servizi di uno (o più) ISP, ricevono invece un indirizzo IP diverso ad ogni connessione. Pertanto è impossibile raggiungerli da internet, perché non si conosce il loro indirizzo IP. Ciò preclude la possibilità di amministrarli remotamente e di offrire servizi su questi host.

Il DNS dinamico permette a questi host di essere sempre raggiungibili attraverso il loro nome DNS, e quindi rende possibile amministrarli remotamente ed erogare servizi raggiungibili da chiunque su internet.

I servizi di cui parla, possono essere ad esempio siti web, server di posta, programmi come NextCloud, server ftp o una VPN privata.

Quindi per rendere raggiungibile alcuni servizi della nostra rete dall’esterno, non avendo un IP statico, dobbiamo fare la procedura che segue.

I siti che offrono Dynamic DNS gratuito, sono parecchi ed io ho scelto duckdns.org, iniziando per provare, poi adottato in pianta stabile vista la sua affidabilità.

Procedura di registrazione a duckdns.org

Una volta su duckdns.org (clicca qui) ci si presenta la pagina principale, dove in alto ci sono vari tipi di login.

Ne scegliete uno e vi verrà presentata una schermata simile alla seguente:

A volte bisognerà avere un po’ di pazienza e ritentare alcune volte, in quanto il sito web non è proprio perfetto e come nel mio caso ho fatto 5 o 6 tentativi con la seguente schermata:

A questo punto aggiungiamo il nome del sotto dominio e clicchiamo su add domain e abbiamo bello pronto il nostro indirizzo DNS Dinamico

Configurare l’aggiornamento del DNS Dinamico

A questo punto dobbiamo fare in modo che il nostro IP sia sincronizzato con il nostro terzo livello su duckdns.

Per farlo, cliccando qui, si va alla bellissima pagina delle istruzioni per i vari sistemi operativi dove ci spiega passo a passo le impostazioni da mettere.

Io ho seguito la procedura per linux cron, e come prima cosa ho notato che qualche volta, la VPN che avevo installato sulla mia Raspberry perdeva la connessione proprio mentre mi stavo stimando con un collega di averla configurata.

Infatti era settata per aggiornare l’IP del DNS Dinamico ogni 5 minuti e l’IP Dinamico della mia connessione di casa cambia purtroppo spesso.

Mi ha consigliato di impostarla ad 1 minuto, in quanto mi ha accennato che il TTL degli IP dinamici è appunto di 1 minuto (o qualcosa del genere).

Comunque a parte se ho capito bene o male, ho cambiato quell’impostazione e adesso va che è una favola

Esporre un servizio tramite DDNS

A seconda di che servizio vogliamo esporre ad internet della nostra rete locale, dovremo aprire la porta corrispondente sul router e sul firewall del computer che lo fornirà.

Per farlo bisogna accedere all’amministrazione del router e fare il port forwarding della porta verso l’ip dell’apparecchio.

Per vedere guide dettagliate per vari router cliccare qui

Se abbiamo impostato un indirizzo statico al computer, tanto meglio, se no molti router riconoscono l’ip del port forwarding in automatico tramite il MAC address

Conclusione

Alla fine magari, mi sono dilungato anche troppo in spiegazioni per una procedura così semplice.

Ma tant’è, a volte può servire una mini guida per avventurarsi in un territorio sconosciuto.

Buona vita