community italiana di domotica personale
 
Le prime cose da fare dopo aver installato Linux Debian 12 per la propria smart home

Le prime cose da fare dopo aver installato Linux Debian 12 per la propria smart home

SCOPI DEL PROGETTO:
  • Effettuare una prima configurazione di Linux Debian usato come server per la propria domotica (e non solo)
  • Livello di difficoltà: basso
  • Costo: n.a.
CONCETTI AFFRONTATI:
  • Configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
DISPOSITIVI FISICI UTILIZZATI:
  • Mini PC/Intel NUC (o computer equivalente)
  • Un computer di appoggio per collegarsi remotamente via SSH/VNC al server oppure tastiera, mouse e schermo direttamente connessi ad esso
GUIDA DEDICATA A utenti:
Debian
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione guida: 1.2

Debian Gears

Abstract

Dopo aver installato Linux Debian 12 “Bookworm” sul proprio Mini PC / Intel NUC (o su computer analoghi) a scopo “server” per gestire la propria domotica personale (o funzioni analoghe) è utile effettuare una “prima configurazione” tale da perfezionarne il funzionamento.

Si assume che sul computer “server” con sistema operativo Linux Debian l’utente abbia attivato, in fase di installazione o successivamente, i servizi SSH e/o VNC, così da consentirgli di collegarsi, tramite il proprio computer, a tale host.

Si parte

Sudo e sudoers

Assumendo che per operare sul server si utilizzi una specifica utenza, diciamo “deb“, è utile aggiungerla al gruppo sudoers, così da poter eseguire i comandi in modalità sudo.

Sudo (a volte considerato l’abbreviazione di Super-user do) è un programma progettato per far sì che gli amministratori di sistema permettano ad alcuni utenti di eseguire certi comandi come root (o altro utente). La filosofia di base è quella di dare meno privilegi possibile, ma permettere ancora di compiere il lavoro. Sudo è anche un modo efficace per registrare chi ha usato un dato comando e quando.

Per aggiungere l’utenza al gruppo sudoers, usiamo un computer di appoggio per collegarci via SSH (non utilizzando l’utenza root, bensì una di servizio, per esempio deb, se si è seguita la nostra guida di installazione) al nostro computer dotato di sistema operativo Linux Debian 12 ed eseguiamo:

su

inserire la password dell’utente root, dopodiché eseguire i seguenti comandi:

apt update && apt install sudo -y
nano /etc/sudoers

che aprirà l’editor di testo nano inserire poi, sul fondo del file la seguente stringa:

username ALL=(ALL) NOPASSWD:ALL

dove username dovrà essere sostituito dal nome utente che si vuole rendere abile al sudo, per esempio deb:

deb ALL=(ALL) NOPASSWD:ALL

eseguita la modifica, uscire salvando (CTRL-X, Y, invio).

Infine, effettuare un riavvio col comando:

exit
sudo reboot

e attendere che l’host riparta.

dialout

Successivamente, è consigliabile aggiungere il proprio utente Linux all’interno al gruppo dialout, un gruppo di utenti di sistema operativo che hanno diritti sulle porte seriali (viene utile in futuro ad esempio per riprogrammare i firmware di alcuni device USB e altro.

Eseguire quindi:

sudo usermod -aG dialout nome_utente

adeguando quindi nome_utente al proprio nome utente Linux in uso.

Vetrina - Offerte del giorno

Wi-Fi

Se durante l’installazione di Debian sarà stata configurata/utilizzata la Wi-Fi e sarà stato installato anche l’ambiente desktop, allora la Wi-Fi sarà collegata al primo avvio, automaticamente.

Diversamente, l’host non sarà connesso via wireless. Provvedere alla connessione via cavo e attuare queste procedure manuali per collegarlo via Wi-Fi.

Aggiornamento

Ora è sano aggiornare il software, qualora non lo fosse già (e in caso, anche aggiornando “a vuoto”, danni non se ne fanno).
Sempre da terminale, eseguire:

sudo apt-get update
sudo apt-get full-upgrade -y
sudo apt autoremove -y
sudo apt-get install linux-headers-$(uname -r)

una volta terminata la procedura automatica di aggiornamento, riavviare il server con il comando:

sudo reboot

Evitare l’auto-sospensione

Dato che il nostro computer dotato di sistema operativo Linux Debian dovrà fungere da “server”, è impensabile che si spegna automaticamente per mancata rilevazione dell’attività umana tramite tastiera e mouse. Configureremo quindi il server per non andare automaticamente in auto-spospensione, ma per rimanere invece sempre operativo.

Colleghiamoci nuovamente via SSH ed eseguiamo il seguente comando per creare la cartella sleep.conf.d sotto /etc/systemd/:

sudo mkdir /etc/systemd/sleep.conf.d

ora creiamo al suo interno un file:

sudo nano /etc/systemd/sleep.conf.d/nosuspend.conf

copiamoci dentro la seguente configurazione:

[Sleep]
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no

eseguita la modifica, uscire salvando (CTRL-X, Y, invio).

Infine, effettuare un riavvio col comando:

sudo reboot

e attendere che l’host riparta.

Software utili

Andiamo ad aggiungere qualche software utile, come curl, net-tools e pip. 

Sempre via SSH, eseguire:

sudo apt install curl net-tools python3-pip -y
sudo reboot

e attendere il completamento dell’installazione automatica e poi il seguente riavvio.

Errore “Can’t set locale”

Per evitare che, collegandosi via SSH ed eseguendo comandi si ottenga l’errore:

Can't set locale; make sure $LC_* and $LANG are correct!

eseguire il seguente comando:

sudo nano /etc/ssh/sshd_config

e commentare la linea:

AcceptEnv LANG LC_*

aggiungendovi un # in testa.
Uscire e salvare (CTRL+X, Y, invio).

Infine, riavviare con un comando:

sudo reboot

Bene! Il vostro server è pronto a operare.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.