Raspberry Pi backup veloce sd card

 

Raspberry Pi backup veloce sd card

Raspberry Pi backup veloce sd card

 

Guida su come ottenere un backup veloce e funzionante del proprio sistema. Per chi utilizza un Raspberry Pi, con tutto il sistema installato su sd card, è buona regola avere un backup completo, per poter ovviare velocemente ad una ipotetica perdita/rottura dei dati sulla sd card. A difesa delle sd card, io posso tetimoniare, essendo possessore di tanti Raspberry Pi, fin da  maggio 2012, che se si acquistano le migliori, difficilmente si rompono. Io per i vari utilizzi, ho speso di più per la sd card che per il Raspberry Pi. I metodi di backup a cui io mi riferisco utilizzano i comandi dd e rsync.  Il classico metodo più utilizzato e sicuro è il seguente:

 

Metodo 1)

Estrarre dal Raspberry Pi la sd card di origine e creare un file img

sudo dd bs=4M if=/dev/sdx of=PiOS.img

Ripristinare su sd card di backup:

sudo dd bs=4M if=PiOS.img of=/dev/sdx

Con il metodo sopra i tempi sono più lunghi, poichè dd, clona tutto. Esistono altri metodi simili, aggiungendo la compressione, ma a me non soddisfano.

 

Metodo 2)

Questo metodo è quello che utilizzo io, e può essere eseguito sia a caldo, sia estraendo la sd card clonandola. Per questo metodo si utilizza dd, solo per quanto riguarda le tabelle delle partizioni, e la partizione di boot, tutto il resto lo farà rsync copiando velocemente il contenuto della rootfs.

Inserire su pc la  sd card da cui effettuare il backup e raccogliere informazioni:

sudo fdisk -l

 

Raspberry Pi backup veloce sd card

 

 

esistono 2 partizioni, nel mio caso, /dev/sdc1 di boot ed /dev/sdc2 rootfs. Bisogna prendere nota delle 2 voci start, 8192 e 534528, cosicchè da creare una identica tabella delle partizioni, contenendo tutti i files di boot:

sudo dd bs=4k count=$((8192/8)) if=/dev/sdc | gzip >boot-img.gz
sudo dd bs=4k count=$((534528/8)) if=/dev/sdc | gzip >rootfs-img.gz

Adesso dobbiamo copiare in una cartella il contenuto di /dev/sdc2 utilizzando rsync:

sudo apt install rsync
sudo mkdir /mnt/{dati,rootfs}
sudo mount /dev/sdc2 /mnt/dati/
sudo rsync -aHAXSP /mnt/dati/ /mnt/rootfs/
sudo umount /dev/sdc2

Basta. Finito. Tempo totale meno di 3 minuti:

 

Raspberry Pi backup veloce sd card

 

Inserire la sd card di backup:

Azzerare tabella partizioni:

sudo dd count=1 bs=512 if=/dev/zero of=/dev/sdc

creazione della tabella delle partizione come da sd card origine:

sudo zcat boot-img.gz | sudo dd bs=4k iflag=fullblock of=/dev/sdc
sudo partprobe /dev/sdc
sudo zcat rootfs-img.gz | sudo dd bs=4k iflag=fullblock of=/dev/sdc
sudo partprobe /dev/sdc

formattare la seconda partizione in ext4:

sudo mkfs.ext4 -L rootfs /dev/sdc2

mount e copia :

sudo mount /dev/sdc2 /mnt/dati/
sudo rsync -aHAXSP /mnt/rootfs/ /mnt/dati/

umount ed attendere, può volerci qualche minuto:

sudo umount /dev/sdc2

 

Tempo totale 15 minuti circa. A questo punto se tutto è andato bene, abbiamo una copia perfetta della sd card di origine. Questo metodo funziona anche in presenza di database.

Raspberry Pi backup veloce sd card

 

enjoy 😉

 

Debian 10 freeze random

 

Debian 10 freeze random

Debian 10 freeze random

Su Debian 10 si verificano dei freeze randomici, dove praticamente l’unica cosa che funziona è il mouse, e questo mi è capitato sia con scheda grafica Nvidia, sia con la solo Intel, di conseguenza ho escluso che fosse un problema grafico. La mia attenzione successivamente è andata al kernel installato, e mi sono ricordato che con il kernel di default Debian, il 4.19, non avevo questi problemi. Aggiornando alla versione 5.8 e 5.9, si presenta randomicamente questo freeze. Praticamente puoi accedere solo in tty ed eseguire il reboot. Ho anche eseguito l’accesso via ssh, ma nei log non ho notato nulla di strano. Verificando la versione dei firmware ho notato che sono tutti alla versione 2019, compresi i firmware-nonfree. Quindi, con kernel aggiornato, servono per forza gli ultimi driver. Si risolve con i repository buster-backports:

$ sudo su
# echo 'deb http://deb.debian.org/debian/ buster-backports main contrib non-free' > /etc/apt/sources.list.d/buster-backports.list.list
# apt update
# apt install -t buster-backports firmware-linux-nonfree firmware-misc-nonfree amd64-microcode firmware-intel-sound firmware-iwlwifi
Debian 10 freeze random

 

enjoy 😉

 

Raspberry rimuovere utente Pi

 

Raspberry rimuovere utente Pi
Raspberry rimuovere utente Pi

Per chi utilizza il Raspberry Pi, e di conseguenza Raspberry Pi OS ex Raspbian e non solo, si deve loggare con username “pi” e password “raspberry“. Chiaramente la prima cosa che si fa è quella di cambiare la password di default, ma ancora meglio sarebbe creare un nuovo user ed eliminare quello di default. Questo è quello che io faccio al primo accesso ssh:

1) Login come user pi e creazione nuovo utente “edmond

$ sudo adduser edmond

2) aggiungere utente al gruppo visudo

$ sudo visudo

ed aggiungere

edmond ALL=(ALL:ALL) ALL

come sotto:

# User privilege specification
root ALL=(ALL:ALL) ALL
edmond ALL=(ALL:ALL) ALL

3) aggiungere il nuovo utente al gruppo sudo

$ sudo usermod -a -G sudo edmond

4) aggiungere il nuovo utente agli stessi gruppi dell’utente “pi”

$ sudo usermod -a -G adm,dialout,cdrom,sudo,audio,plugdev,games,users,input,netdev,ssh,gpio,i2c,spi edmond

5) logout ed accesso col nuovo utente:

$ sudo deluser pi
$ sudo rm -rf /home/pi/

da questo momento si può utilizzare l’utility:

$ sudo raspi-config
Raspberry rimuovere utente Pi

 

enjoy 😉

 

Creare una usb bootable con Windows 10 da terminale Linux

Creare una usb bootable con Windows 10 da terminale Linux

Creare una usb bootable con Windows 10 da terminale Linux

Questa guida spiega come creare una usb bootable di Windows 10 in Bios Mode, utilizzando il terminale Linux. La guida fatta in passato, con lo stesso metodo, non funziona più, poichè la dimensione di Windows 10 ha superato i 4G, quindi non si può più formattare in fat32. Per chi volesse invece una installazione in UEfI Mode, basta seguire questa guida appena aggiornata. Nella guida utilizzo parted da terminale, ma si può utilizzare gparted o altri, l’importante è avere una partizione NTFS.

Tools:

# apt install parted p7zip-full

Identificare la chiavetta usb:

# fdisk -l

nel mio caso /dev/sdc di 16G

Formattazione:

# dd count=1 bs=512 if=/dev/zero of=/dev/sdc

Creazione tabella delle partizioni più partizione NTFS:

# parted /dev/sdc
(parted) mklabel msdos                                          
(parted) mkpart primary 0% 100%                                 
(parted) set 1 boot on                                                   
(parted) q
# mkfs.ntfs -L win10-bios -f /dev/sdc1
# mount /dev/sdc1 /mnt
# cd /mnt/
# 7z x /percorso_win_iso_scaricata/windows10.iso
# cd ..
# umount /dev/sdc1
Creare una usb bootable con Windows 10 da terminale Linux

 

enjoy 😉

 

Installare Wine 5 su Debian 10

How To Wine 5 su Debian 10

Installare Wine 5 su Debian 10

Guida su come installare Winehq 5.0 su Debian 10. Wine è in grado di far girare alcune applicazioni native per Windows, sotto Linux, BSD, OSX.

1) Abilitare architettura 32bit
$ sudo dpkg --add-architecture i386
2) Aggiungere repository ufficiali
$ sudo apt update
$ sudo apt -y install gnupg2 software-properties-common
$ wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -
$ sudo apt-add-repository https://dl.winehq.org/wine-builds/debian/
$ wget -O- -q https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10/Release.key | sudo apt-key add - 
$ echo "deb http://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_10 ./" | sudo tee /etc/apt/sources.list.d/wine-obs.list
3) Installazione wine 5.0
$ sudo apt update
$ sudo apt install --install-recommends winehq-stable
Installare Wine 5 su Debian 10

 

enjoy 😉

 

Creare usb Windows 10 UEFI con Debian 10 e WoeUSB-fronted-wxgtk

Creare una usb bootable Windows 10 da Gui Debian
Creare usb Windows 10 in UEFI con Debian 10 e WoeUSB-fronted-wxgtk

Guida su come creare una usb bootable con Windows 10 in UEFI mode, direttamente da Debian 10 utilizzando Woeusb-fronted-wxgtk come Gui. Precedentemente avevo già fatto una guida utilizzando Woeusb, ma ci sono state delle modifiche. Ancora prima un’altra guida, per lo stesso scopo, ma utilizzando solamente il terminale. Questo metodo è molto più semplice e veloce:

$ sudo apt install devscripts equivs git python3-pip
$ git clone https://github.com/WoeUSB/WoeUSB-frontend-wxgtk.git
$ cd WoeUSB-frontend-wxgtk/
$ ./setup-development-environment.bash
$ mk-build-deps
$ sudo dpkg -i woeusb-build-deps_*
$ sudo apt install -f
$ dpkg-buildpackage -uc -b
$ sudo dpkg -i ../woeusb*.deb
$ sudo apt install -f
Creare usb Windows 10 in UEFI con Debian 10 e WoeUSB-fronted-wxgtk

enjoy 😉

 

Incrementare swap su Rasperry Pi

Incrementare swap su Rasperry Pi Incrementare swap su Rasperry Pi

Guida su come incrementare lo spazio di swap su tutti i Raspberry Pi.

Verifica swap attuale:

$ cat /proc/meminfo | grep Swap

Incrementare:

$ sudo dphys-swapfile swapoff
$ sudo nano /etc/dphys-swapfile

modificare:

CONF_SWAPSIZE=100

a

CONF_SWAPSIZE=512

Abilitare nuovo spazio di swap:

$ sudo dphys-swapfile setup
$ sudo dphys-swapfile swapon
Incrementare swap su Rasperry Pi

enjoy 😉

 

Trasferire files tra PC e telefono con codice QR

Trasferire files tra PC e telefono con codice QRTrasferire files tra PC e telefono con codice QR

Guida su come trasferire files facilmente e velocemente tra un pc ed un telefono, tramite un codice QR, ed entrambi collegati in rete. Per ottenere ciò, bisogna installare qrcp:

$ wget https://github.com/claudiodangelis/qrcp/releases/download/0.7.0/qrcp_0.7.0_linux_x86_64.tar.gz
$ tar xf qrcp_*
$ sudo mv qrcp /usr/local/bin
$ sudo chmod +x /usr/local/bin/qrcp

Inviare file col comando:

$ qrcp file.jpg
$ qrcp file1.jpg file2.jpg

Ricevere da telefono:

$ qrcp receive

Trasferire files tra PC e telefono con codice QR

Trasferire files tra PC e telefono con codice QR

 

enjoy 😉

 

Asterisk FreePbx su Raspberry Pi 4 e Raspberry Pi OS Buster

Asterisk FreePbx su Raspberry Pi 4 e Raspberry Pi OS Buster

 

Asterisk FreePbx su Raspberry Pi 4 e Raspberry Pi OS Buster

Installazione su Raspberri py 4 con Raspberry Pi OS Buster, di Asterisk 16 e Freepbx 15. Esiste anche una versione già pronta, raspbx, ma io preferisco installare tutto da me, poichè il sistema risulta molto più fluido. I passaggi successivi saranno eseguiti come utente root, su una nuova installazione di Raspberry Pi OS Buster lite. L’installazione prenderà circa 90 minuti, e prevede che il sistema sia già stato installato e che si abbia un accesso ssh.

Aggiornare il sistema

$ sudo su
# apt update
# apt upgrade -y
# reboot
Scaricare le dipendenze ed i servizi necessari
# apt install -y wget bison flex php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-gettext php-bcmath php-zip php-xml php-imap php-json php-snmp php-fpm libapache2-mod-php git curl libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev dh-make libssl-dev sox mariadb-client-10.0 mariadb-server-10.0

Installare nodejs

# curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
# apt install -y nodejs

Reboot server

# reboot

Scaricare Asterisk 16 e FreePBX 15

$ sudo su
# cd /usr/src
# wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
# wget https://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz

Installare Asterisk 16

# tar xvfz asterisk-16-current.tar.gz
# rm -rf asterisk-16-current.tar.gz
# cd asterisk-16.*
# contrib/scripts/get_mp3_source.sh
# ./contrib/scripts/install_prereq install
# ./configure --with-jansson-bundled
# make menuselect

inserire il prefisso internazionale, nel nostro caso 39:

Asterisk 14 Freepbx 14 su Debian Stretch 9.1abilitare format_mp3

# make -j8
# make install
# make samples
# make config

Creazione utente Asterisk e permessi

# groupadd asterisk
# useradd -r -d /var/lib/asterisk -g asterisk asterisk
# usermod -aG audio,dialout asterisk
# chown -R asterisk.asterisk /etc/asterisk
# chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
# chown -R asterisk.asterisk /usr/lib/asterisk
# sed -i 's/#AST_USER="asterisk"/AST_USER="asterisk"/g' /etc/default/asterisk
# sed -i 's/#AST_GROUP="asterisk"/AST_GROUP="asterisk"/g' /etc/default/asterisk
# systemctl restart asterisk
# /lib/systemd/systemd-sysv-install enable asterisk

verificare che asterisk funzioni correttamente:

# asterisk -rvvv

Configurazione Apache2

# cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
# sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
# mv /var/www/html /var/www/html.bak
# a2enmod rewrite
# systemctl restart apache2

Installare FreePBX 15

# cd /usr/src/
# tar xvfz freepbx-15.0-latest.tgz
# rm -rf freepbx-15.0-latest.tgz
# cd freepbx
# ./install -n
# fwconsole chown
# fwconsole ma installall
# fwconsole ma refreshsignatures
# fwconsole reload
# fwconsole restart

se tutto è andato bene il server Asterisk è raggiungibile all’indirizzo http://ip_raspberry. La prima cosa da fare è quella di scegliere nome utente, password e mail, per accedere al pannello di amministrazione. Andare poi nel menu Admin-Module Admin e scaricare ed aggiornare i moduli rimanenti.

PS: Nel caso di problema di chiamate in entrata ed in uscita, facendo un debug ci si può ritrovare con l’errore l’errore: No application ‘Macro’ for extension
per risolvere bisogna abilitare “macro” in make menuselect > Application > app_macro

Asterisk FreePbx su Raspberry Pi 4 e Raspberry Pi OS Buster

enjoy 😉

Systemback creazione iso superiore a 4 Giga

Systemback creazione iso superiore a 4 GigaSystemback creazione iso superiore a 4 Giga

Quando si usa systemback per la clonazione del proprio sistema in modalità live ed installabile, se la dimensione è inferiore ai 4 giga, il programma da la possibilità di convertirlo in .iso, mentre se è superiore c’è solo la possibilità di scriverlo direttamente su una pen drive. A questo proposito condividerò i comandi per potersi creare una immagine .iso bootable di dimensioni enormi da poter condividere. Tutto questo in attesa di un futuro aggiornamento ed alla risoluzione di alcuni bug. Quindi dopo aver utilizzato systemback abbiamo un file del tipo: systemback_live_2020-06-01.sblive

$ mkdir sblive/
$ sudo tar -xavf /home/systemback_live_2020-06-01.sblive -C sblive/
$ sudo chmod 777 -R sblive/
$ mv sblive/syslinux/syslinux.cfg sblive/syslinux/isolinux.cfg
$ mv sblive/syslinux/ sblive/isolinux/

creazione iso:

$ xorriso -as mkisofs -V sblive -J -l -b -isohybrid-mbr sblive/isolinux/ -c isolinux/boot.cat -b isolinux/isolinux.bin -iso-level 3 -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -isohybrid-gpt-basdat -o sblive.iso sblive

per ultimo utilizzare isohybrid per il boot in uefi:

$ isohybrid -h 256 -s 63 --uefi sblive.iso

Systemback creazione iso superiore a 4 Giga

enjoy 😉