martedì 18 gennaio 2022

Montare Dischi di computer virtuali (virt-manager)

 Se vuoi sfogliare un disco utilizzato su una macchina virtuale quindi un file .img o .iso allora segui le istruzioni del seguente link

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/virtualization/sect-virtualization-troubleshooting_xen-accessing_data_on_guest_disk_image

Testato a gennaio 2022 su MX-Linux

# sudo apt install kpartx

# kpartx -l /var/lib/libvirt/images/guest1.img

# kpartx -a /var/lib/libvirt/images/guest1.img

a questo punto, se il sistema operativo ha l'automount, aprirà il disco

per smontare:

# kpartx -d /var/lib/libvirt/images/guest1.img

comandi per connettersi in rete da bash

Aggiormnamento del Gennaio 2022

Diventa sempre più utile configurare la connessione ad una rete wifi in un headless Linux 
Specialmente con l'avvento del raspberry pi.

Per connettersi ad un Access Point

su raspbian basta editare il file (con sudo) e poi riavviare
/etc/wpa_supplicant/wpa_supplicant.conf
inserendo SSID e passphrase. Attenzione: se l'SSID è nascosto, bisogna inserire dopo l'SSID la frase "scan_ssid=1"

in breve di seguito un esenpio del file wpa_supplicant.conf:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=EU

network={
        ssid="Bodorfree"
        scan_ssid=1
        psk="kekka2013"
}

network={
        ssid="TIM-18100795"
        psk="=gr4zie=1000perfibradavide#"
        key_mgmt=WPA-PSK
}

scansione degli access point:

sudo iwlist scan | grep SSID

stato di connessione wifi:

iwconfig

16/10/2017

nmcli tools:


"nmcli g" lo stato della connessione
"nmcli d wifi list" ti dice le reti disponibili
"nmcli c" ti dice le connessioni memorizzate

Esempi:
se vuoi connetterti ad una di quelle memorizzate
"sudo nmcli c up <nome della connessione memorizzata>"
nmcli d disconnect <nome del device>

per apprfondire:
https://www.tecmint.com/configure-network-connections-using-nmcli-tool-in-linux/

giovedì 11 marzo 2021

installa nordVPN su Manjaro

https://archived.forum.manjaro.org/t/howto-nordvpn-usage-installation-updating-and-troubleshooting/71268

The package is in AUR and must be installed using an AUR helper. Most Manjaro distribution comes with the Pamac software tool and this is what we will use to install NordVPN client.

pamac build nordvpn-bin (senza sudo)


When you have installed the package you need to enable/start the service daemon to use it.

sudo systemctl enable --now nordvpnd
 

lunedì 4 gennaio 2021

IOT con raspberry pi zero, enviro + e plantower

Con poco più di 100 euro si può assemblare un sistema sensore per l'analisi della qualità dell'aria completo di: sensori meteo come temperatura, pressione e umidità; sensore di particolato; triplo sensore di gas basato su tecnologia MOX; sensore di luce e prossimità; sensore acustico. Il tutto OPEN-SOURCE Che volete di più?

Secondo me è una piccola rivoluzione perché è il primo esempio di sistema sensore economico e da sviluppo per poter registrare "impronte" ripetibili dell'ambiente in cui si è immersi.  Gli scenari applicativi sono innumerevoli.

La centralina per la qualità dell'aria, basata sull'enviro+ della pimoroni. L'enviro+ è innestato sul raspberry pi zero W. la batteria (bianca) sotto fa da base di  ancoraggio su cui ho fissato con un po' di patafix i componenti. A sx in Blue il sensore di particolato Plantower 5003.

Il sistema è modulare quindi si può iniziare con un minimo di spesa e poi man mano che si ha voglia si aggiungono pezzi. E' un'ottima palestra per conoscere e addentrarsi in diversi campi quali i sensori a stato solido. la qualità dell'aria, la programmazione in python, l'IOT, l'analisi multivariata di sensori. Inoltre permette da subito di partecipare a progetti di "citizen science" come ad esempio quello di  Map Sensor.Community messo su dal CODE for Germany, un network di sviluppatori OPEN tedeschi.

acquistato da MELOPERO a nov 2020, l'enviro+ (56,19€ compresa la spedizione) ha la seguente dotazione di sensori e hardware:

(https://learn.pimoroni.com/tutorial/sandyj/getting-started-with-enviro-plus)

BME280 temperature, pressure, and humidity sensor

LTR-559 light and proximity sensor

MICS6814 triplo sensore di gas con tecnologia MOX e ADS1015 analog to digital converter (ADC)

MEMS microphone (l'unico sensore che non so se funziona veramente)

0.96" colour LCD (160x80)

Conviene installarlo su di un Raspberry Pi zero W che ho acquistato in un secondo momento (34€ con case, heatsink e spedizione). Infatti avevo a disposizione un raspberry pi 3 ma il riscaldamento della board falsava troppo la lettura del sensore di temperatura. Come si vedrà più avanti il sensore di temperatura ha un algoritmo di correzione che compensa la temperatura della cpu per un Pi zero.

Chiaramente con il Pi zero le cose sono un pochino più complicate dall'hardware: non c'è una porta hdmi standard; le porte USB sono quelle micro. 

Io ho risparmiato tempo e soldi programmando il raspbian con il wifi di casa sul raspberry classico e poi ho montato la ssd sul Pi zero. In questo modo mi collego via SSH al raspberry (anche da remoto seguendo QUESTO TUTORIAL) con il PC o con App sul telefonino come JuiceSSH o RaspController.

Seguendo il tutorial minimal di Sandyj si installano nel raspbian le librerie python per far funzionare sensori e dysplay lcd ( a parte il sensore del microfono). La pimoroni offre diversi programmi di esempio in python, tutti utili e funzionanti per capire le potenzialità della scheda.

Osservazioni sul Funzionamento

In circa due mesi, nel poco tempo libero a disposizione durante le vacanze in lock-down, ho potuto divertirmi con l'enviro +, completando la sua dotazione con il sensore per particolato PLANTOWER 5003 (~30€) che si innesta sulla presa UART dell'enviro+.
 
Semplicemente utilizzando gli script in python di esempio si possono fare molte cose senza scrivere una linea di codice.
Il sensore di Temperatura e Umidità ha bisogno di essere compensato a causa del riscaldamento del raspberry. L'esempio "compensated-temperature.py" e "weather-and-light.py" illustrano come fare la compensazione.
Per la trasmissione e fruizione dei dati le possibilità sono varie:

Rapidamente si può provare la trasmissione dei dati con il protocollo MQTT (cinguettio degli IOT) in una rete locale seguendo i link sotto indicato e usando l'esempio "mqtt-all.py"

https://github.com/robmarkcole/rpi-enviro-mqtt

https://appcodelabs.com/introduction-to-iot-build-an-mqtt-server-using-raspberry-pi

https://desertbot.io/blog/headless-raspberry-pi-4-mqtt-setup

In questa modo è possibile già trasmettere ,visualizzare, e registrare dati in una rete locale.

Schermata sensori con mqqt explorer

Invece per Trasmettere su un server IOT, mi sono appoggiato ad Adafruit, utilizzando lo script python "adafruit_io.py" indicato al link 

https://github.com/dedSyn4ps3/enviroplus-python/blob/master/examples/adafruit_io.py

che trasmette feeds dei sensori "meteo" al server che possono essere raccolti in un dashboard. 

Le librerie sono solo per il sensore BLE280, quindi non posso trasmettere i sensori di gas e il valore di lux

FEEDS Adafruit Dashboard

Per funzionare ha bisogno di installare le librerie e i moduli adafruit seguendo il tutorial 

https://learn.adafruit.com/adafruit-io-basics-digital-output/python-setup  

e registrando un account free sul sito io.adafruit.com.

Per caratterizzare correttamente il sistema si potrebbe usare il protocollo MQTT per twittare i dati in formato json verso un MQTT server che li può visualizzare e storare in formato json. 

Il sistema così com'è è un ottima stazione meteo ed è piccolo abbastanza per monitorare piccoli volumi come frigoriferi.

TODO:

bypass crash python: riavvio ogni volta che sposto il sistema sensore (falso contatto alimentazione); crontab riavvio ogni 30min (problema riscaldamento sensori); crontab kill e riavvio python. ricerca sui forum per avvio servizio sentinella.

Iscrizione e trasmissione feeds a  luftdaten

formattazione json FEED adafruit IO

trasmissione ssh tunnelling al server 192.107.82.250

formattazione json MQTT

elaborazione json MQTT con R

script python per trasmissione MQTT solo del sensore di GAS per caratterizzazioni in laboratorio

FEED per il sensore di GAS e altri parametri del sistema sensore

compensazione temperatura

OSSERVAZIONI sui sensori di gas 

I sensori di Gas sono quelli più difficili da utilizzare perché non danno misurazioni "assolute" di grandezze fisiche ma indicano la presenza e la variazione di specie gassose ossidanti e riducenti o la variazione di VOC (composti chimici volatili) in aria. Quindi possono concorrere a fornire informazioni sulla qualità dell'aria che ci circonda ma hanno bisogno di una trattazione dei dati abbastanza "specialistica".  Per chi, come me, si occupa di sensori di gas per mestiere e passione sono affascinanti da studiare. Di seguito annoto qualche osservazione sui sensori.

23 nov 2020

dopo una prima notte di accensione ecco i valori all'equilibrio:

Temperatura 23°C +-1°C; valore vero 19.1 °C

umidità 32%+-1%; valore vero 70%

baseline sensori gas:misure outdoor alle 9 di mattina

oxisdses: 28+-1

reduced : 340

nh3: 98

24 nov

misure outdoor alle 9 di mattina

Temperatura 10°C +-1°C; valore vero 14 °C

umidità 54%+-2%; valore vero 70% (http://www.meteo.unina.it/davis/dati-in-tempo-reale)

pressione 101770 +- 10 valore vero 102440

baseline sensori gas:

oxisdses: 37+-1

reduced :600+-50

nh3: 750+-50

poi sposto il sensore in Bagno

il sensore NH3 vede bene i detersivi in aria come mostra il minimo corrispondente all'ingresso in aria di detersivo usato da mara per pulire vetri. Anche il reducing si accorge ma forse è a più largo spettro. L'oxidizing, insieme all'abbassamento di umidità da info sul ricambio d'aria

Il sensore rimane in bagno durante la pulizia da parte di mara. Pulizia effettuata a finestre aperte. Quando la pulizia viene completata e le finestre chiuse, L'aria si riempe di VOC derivanti dal lavaggio (semaforo giallo)


 

proviamo a dare delle condizioni di soglia giallo-verde:

oxides > 31

reduced > 275

nh3 > 200

contano in primis oxides ed nh3

In tarda mattinata ho visto l'oxides superare i 50

La sera l'aria ha meno componenti ossidanti con l'oxides che scende a 36, nh3 scende sotto i 200 anche se il sensore "reduced" si mantiene sopra i 300. 

alle 18.45 sposto il sensore nel salone

il "reduced" sente gli odori della cucina, scendendo sotto i 275

il sensore "nh3" sente bene le puzze del bagno

l'"oxides" è lento a stabilizarsi dopo l'accensione (30 minuti ancora deve stabilizzarsi)

in salone la sera solo l'oxides è sopra la zona verde

Odori di cucinato fortemente percepibili, apro la finestra

Enviroplus spostato in cucina. Foto prima di aprire la finestra e aumentare la velocità della cappa

lunedì 20 maggio 2019

visionare una radiografia con Linux

Oggi, ma gia' da anni, le RX te le danno con il cd con un visualizzatore che funziona sotto windows.
Il tipo di immagine da visualizzare e' di tipo DICOM
Con linux ci sono diversi software a disposizione, ma se vuoi vedere la RX a piena risoluzione e salvarla in formato tradizionale, il primo che ha funzionato e' DicomBrowser (che e' da scaricare)
https://wiki.xnat.org/xnat-tools/dicombrowser

lunedì 28 gennaio 2019

Recupero di File

Il recupero dei file è una questione spinosa, delicata e importante per chi smanetta con i computer. Linux mette a disposizione diverse utility per recuperare dati da HD e dvd o cdrom. Di seguito esempi reali di recupero.
Consiglio di attrezzare il PC con un HD da 1T da dedicare solo al recupero.
Buona lettura

Aggiornamento 2020

ESEMPIO5 - Recupero del 28 Gennaio 2018

DVD non leggibile i/o error anche con dd, probabilmente masterizzato male con il TOC illegibile
Ho usato ddrescue ma non tutti i cdrom permettono la lettura dei blocchi. Sono stato fortunato e ho recuperato il contenuto semplicemente con
# ddrescue /dev/sr0 path/cdrom.iso
senza nessuna opzione, ho interrotto con Ctrl+c quando oramai non riusciva a recuperare più nulla.
poi con
# photorec path/cdrom.iso ho recuperato i tanto sospirati video di una comunione del 1992. MISSIONE COMPIUTA!


ESEMPIO4 - Recupero del 14 settembre 2018

3 memorie SD per macchina fotografica. Passando i file sul PC si sono perse tracce di parecchie foto.
Passo tutte e tre le memorie con Photorec (apt-get install testdisk) e straggo 70GB di file cancellati.
Sembrerebbe che con l'undelete di testdisk nei tools recupero i file segnalati nelle folder scomparse. Purtroppo, dopo il recupero, solo tre file sono leggibili. Photorec rimane quindi la soluzione migliore

Esempio3 - gennaio 2018

Disco dati  SATA da 1 GB con due partizioni primarie:
ext4 e ntfs (sdi1 e sdi2)
montato in fstab
sintomi: il SO non riconosce più il partizionamento
Azioni:
monto un disco (sda) della stessa capacità ed eseguo
# ddrescue -n -d --force /dev/sdi /dev/sda
dopo circa 10 ore e zero errori di lettura avvio testdisk che mi corregge l'MBR del disco e rimette tutto a posto sul disco nuovo. Riavvio e tutto torna come prima.
Forse sarebbe bastato fare un Testdisk sul vecchio disco. Ma nel dubbio e avendo a disposizione un disco di analoga capacità o preferito fare la sostituzione.

Esempio2 - settembre 2017

Recupero dati da disco sata formattato con una sola partizione ntfs 2.5 pollici con errori di Input/output. Il sistema operativo non è in grado di riconnoscere la partizione
  • con DDrescue trascrivo su un file IMG quello che riesco a leggere sul disco. Forse faccio un errore. Questa è le sintassi del comando: ddrescue -d /dev/sdi1 /media/TANK_L/brigida.img /media/TANK_L/brigida.log Forse avrei fatto meglio a scrivere sdi invece di sdi1
  • con dd riscrivo il contenuto del file IMG su un disco sano che ha una capacità simile a quello rotto (che fortuna)
  • con TestDisk non riesco ad accedere alla partizione perchè dice "Partition sector doesn't have the endmark 0xAA55"
  • con photorec (che si installa quando installi TestDisk) posso recuperare i file che vengono raggruppati in folder diverse senza però avere più il nome dei file e delle folder e la data dei file. Photorec non può leggere file .img
  • scalpel invece è in grado di leggere il file img ma recupera troppa roba e non la separa nemmeno per folder. Praticamente è ingestibile su grandi partizioni
  • altra alternativa per tentare recuperi più mirati è DMDE che essendo un freeware ti permette di recuperare solo i file che riesci a selezionare ma almeno puoi vedere da che folder li stai recuperando
Affinale in prima battuta posso recuperare tutti file ma perdo nomi, folders e date dei file

Per fare qualcosa di meglio dovrei ripassare ddrescue recuperando anche il boot sector per vedere se riesco a recuperare la struttura del filesystem.

DDrescue serve a recuperare quanto c'è di leggibile nel disco ma successivamente hai bisogno di strumenti per ricostruire i file:
Scalpel
https://www.chimerarevo.com/linux/recuperare-file-cancellati-linux-scalpel-63139/
DMDE (freeware)
http://dmde.com/
TestDisk non lavora su file .img quindi va direttamente sul disco

Aggiornamento di febbraio 2015
DDrescue
esempio
#ddrescue -n /dev/sda/ /mnt/dusb/sda.img /mnt/dusb/sda.log
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html

esempioB (2017)
ddrescue -d /dev/sdi1 /media/TANK_L/brigida.img /media/TANK_L/brigida.log
https://www.technibble.com/guide-using-ddrescue-recover-data/

Esempio1 - 2015

Recupero dati da due unità esterne WD My Passport:
  • la prima unità USB2.0 è formattata Mac (HFS) ed ha problemi hardware e di filesystem. Dopo un primo recupero di 6GB con rsync sono passato a DDrescue che dopo 4 giorni ho interrotto e mi ha creato un immagine di 24.7GB che però non riesco a montare (non riconosce il filesystem). Serviranno poi altri software per estrarre file leggibili
  • La seconda unità USB3.0 è formattata NTFS e sembra che si sia rovinato il filesystem dopo 24 ore ho recuperato in una immagine 6GB di dati. Di questo passo mi serviranno almeno 20 giorni!! Quindi interrompo e decido un diverso approccio. Con TestDisk ci sono le opzioni per scegliere e recuperare determinati file ma non hai info su come procede il recupero. La velocità di recupero è 60KB/s (stiamo simili a ddrescue) cioè 1 GB ogni 4 ore e mezza ma almeno scelgo quali file recuperare.

Esempio 0 - 2013

Se i file sono stati cancellati in un filesystem ext4 con rm -rf *
Dicembre 2013
Su fedora 19, i tool più comodi son stati
yum install testdisk
TestDisk che ti permette di fare l'undelete su EXT2 (http://www.cgsecurity.org/wiki/TestDisk:_undelete_file_for_ext2)
e PhotoRec (viene installato insieme a testdisk) che permette di recuperare anche da EXT4 ma perdi nomi, date dei file e directory

giovedì 27 dicembre 2018

Condivisione di Internet

Esempio reale:
Ho un computer con il wifi connesso ad internet e voglio condividere la connessione tramite ethernet:

Fonte citata:
https://ubuntrucchi.wordpress.com/2008/02/23/condividere-la-connessione-internet/
https://wiki.archlinux.org/index.php/Internet_sharing_(Italiano)

Sul computer NAT
do il comando "ip -a" per vedere come si chiamano le mie interfacce di rete.
l'interfaccia wifi si chiama "wlp1s0" mentre l'interfaccia di ethernet "enp2s0".
la "enp2s0" va configurata con ip manuale ad esempio 192.168.1.1 e sottorete il gateway lo si può lasciare vuoto



sul computer ospite bisogna configurare il collegamento ethernet con ip fisso (ad esempio 192.168.1.2) gateway verso il computer NAT (192.168.1.1) e dns qualsiasi (se non li sai, utilizzi quelli del NAT interrogando il NAT con il comando $ cat /etc/resolv.conf).

Sul computer NAT bisogna battere i seguenti comandi come root (il sudo non basta)

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -A FORWARD -i wlp1s0 -o enp2s0 -j ACCEPT
# iptables -A FORWARD -i enp2s0 -o wlp1s0 -j ACCEPT
# iptables -t nat -A POSTROUTING -o wlp1s0 -j MASQUERADE

per maggiori dettagli sui comandi puoi fare riferimento ai seguenti link:
https://ubuntrucchi.wordpress.com/2008/02/23/condividere-la-connessione-internet/
https://wiki.archlinux.org/index.php/Internet_sharing_(Italiano)

A questo punto tutto dovrebbe funzionare

sabato 27 ottobre 2018

LXDNA18 - Linuxday 2018



Linux Day Napoli 2018
 Programma della giornata:

10:30 - 11:00: Ambra Lanzo / Antonio Iandoli (NetCom Group)

11:00 - 11:30: Alessandro Verna / Ass. Enrico Panini (Comune di Napoli) - La Blockchain applicata alle procedure amministrative del Comune di Napoli

11:30 – 12:00: Paolo Patierno (RedHat) - Take the Open Source road: learn, share, grow

12:00 – 12:30: Marco Ferrigno (NaLUG) - Il paradigma DevOps: l'evoluzione dei professionisti IT e i toolkit opensource

12:30 – 13:15: Gaetano Perrone (UniNA) ft. Gabriele Previtera (NaLUG) - DSP: Docker Security Playground

14:30 – 15:00: Giovanni Di Dio Bruno (NaLUG) - Linux in robotics: tanti robot pochi closed source

15:00 – 15:30: Marcello Marino - JACK Audio Connection Kit

16:00 – 16:30: Christian Basile - I Databases sognano cartelle elettroniche?

16:30 – 17:00: Michele Domenico Todino (UniSA) - Esperienza, distance education ed edugames

martedì 11 settembre 2018

La mia workstation 2018

mi appresto a installare debian9 sulla mia macchina d'ufficio.
Debian 8 ha resistito bene 2 anni e mezzo. Qualche segno di stanchezza lo mostra all'avvio con un processo che s'impalla per 90 sec; il sistema di update appesantito da troppe installazioni.
Inoltre a causa della rottura del disco di swap-backup la macchina sta funzionando da più di un anno senza swap
Vediamo come ho strutturato la macchina:

Dischi:

disco sda "TANK" da 1 TERA  partizionato da 400 ntfs e 600 ext4 per le copie di backup (sarebbe il caso di togliere la partizione ntfs, poco utilizzata estendendo la ext4 ad 1 GB)
disco sdb da 250GB SSD di sistema con partizione efi; partizione di sistema da 40GB e partizione home da 200GB. dopo 2 anni lo spazio è al 60% sia per il sistema che per la home.
disco sdc da 1T per recupero dati ext4
***debian9*** disco sdx  da 160GB: 20GB per lo swap (due volte la memoria) e 140GB per lo storage delle macchine virtuali.




App da ricordare: 

Atom [ok]
Conky Manager [ok]
Owncloud [ok]
Dropbox [OK]
Eboard (scacchi)
Gimp [compreso]
Inkscape [compreso]
Master pdf editor - passato a pdfmod che è opensource
Opera [ok]
Play on linux
R [OK]
Remmina [non c'è! ma l'ho installato lo stesso]
Skype
Teamviewer [ok]
VirtualMachineManager (virt-manager) [ok]
WPS (suite office)? forse meglio provare qualche altra alternativa
Xboard (scacchi)

Stampanti:
Kyocera_TASKalfa_3511i

linee di comando utili all'avvio di debian:

ettore_history.txt:
sudo mount.cifs //192.168.14.83/CartellaEttore/ /mnt/cifs -o username=ettore,nounix
root_history.log:
screen -f -da -m syncthing -no-browser
chown -R ettore ownCloud/Lavoro/

linee di comando utili per backup
rsync -ar --delete --progress --exclude "Scaricati" --exclude ".cache" --exclude ".local/share/Trash/" /home/ettore/ /media/TANK_L/backup_ettore/
rsync -avr --delete --progress ownCloud/Lavoro/ Dropbox/ownCloud/Lavoro/

Osservazioni ulteriori

L'adattatore wifi usb Edimax EW-7811UN non mi funziona correttamente. Ho seguito il seguente Post e le cose ora funzionicchiano.

giovedì 30 agosto 2018

Ripristino password di root e utente in debian 9 - stretch

Antefatto

Prima dell'estate decido di formattare e installare debian 9 sulla mia macchina in ufficio. Installo, nuova password. Le piccole buone abitudini. Algoritmo mentale per scegliere la password giusta e che possa ricordare. Configuro e ripristino tutti i dati e poi vado in vacanza. Rientro ma non ricordo correttamente la password. Provo svariate combinazioni, niente! Devo per forza reimpostare le password di root e user. Come fare?

Aggiornamento nov2020

https://itsfoss.com/how-to-hack-ubuntu-password/

Istruzioni rapide

Basta googolare che trovi tutto, come al solito.
questo link https://www.itzgeek.com/how-tos/linux/debian/how-to-reset-root-password-on-debian-9-stretch.html spiega bene come fare.
in sintesi:
dal GRUB premi "e"
scendi fino alla line LINUX e aggiungi “init=/bin/bash“ (senza le virgolette)
riavvii con F10 o Ctrl+x
a questo punto, se non ho capito male sei in modalità chroot quindi monti il filesystem con "mount -o remount / "
quindi usi il comando passwd per root e user
digita reboot e incrocia le dita

piccoli effetti collaterali da correggere

cambiando la password del tuo account si sputtana il portachiavi delle tue password nel desktop environment. Per mettere a posto la cosa devi rifare il portachiavi. Trova nella tua home la cartella keyrings e cancellala o rinominala e riavvia. Non mi è stato possibile recuperare il portachiavi.
Ho dimenticato pure la password Samba (ho usato lo stesso algoritmo mentale BACATO). In questo caso basta digitare da root smbpasswd -a iltuousername e ti verrà richiesto di inserire la nuova password.

Osservazione

qualcuno può pensare che accedere con pochi passaggi ad un computer possa essere un fragilità nella sicurezza del computer. Non sono d'accordo. La procedura è valida solo in locale e non può essere eseguita in remoto. Si può facilmente rendere inespugnabile il proprio PC criptando il file system ma a questo punto, se non hai motivi seri, rischi per eccesso di zelo, di dover riformattare tutto.

venerdì 10 agosto 2018

condivisione di cartelle in rete con Samba e Fedora

SAMBA Protocollo per Condividere file in rete anche con il mondo windows.

Agosto 2018 - Purtroppo è un tarlo enorme: ne farei volentieri a meno ma è necessario specialmente per chi come me utilizza antiche macchine windows virtualizzate per far funzionare SW ed HW non supportati più.

E' una seccatura perché ogni qualvolta mi trovo a cambiare sistema operativo perdo molte ore a far funzionare SAMBA. Per un po' di anni sono stato tranquillo ma poi con l'avvento di Samba 4.5 (venendo dal 4.1) qualcosa è cambiato e Windows XP non si connette più.

Comunque, per una installazione rapida e minimale di Samba per mettere in condivisione file in rete seguite questa guida:

https://wiki.debian.org/SambaServerSimple 

lasciate stare samba-tools (almeno per ora) perchè non riescono a portare a termine i comandi e visualizzano errori nel db di samba forviandovi.
Invece per ripristinare la compatibilità di SAMBA con windows XP dovete aggiungere righe al /etc/samba/smb.conf :

server max protocol = NT1
lanman auth = yes
ntlm auth = yes

nella sezione [GLOBAL]
ATTENZIONE che ciò compromette la sicurezza del protocollo

Osservazioni del 2013 su Fedora (16?) con SELINUX:


Abilitate nel firewall le due connessioni Samba (client e server)

e poi bisogna dire a SELINUX che deve lasciare stare Samba (ci ho messo più di un anno per capire che SELINUX creava casini con Samba)
Sempre da root
setsebool -P samba_enable_home_dirs on
setsebool -P samba_enable_home_dirs on

attenzione che selinux potrebbe aggiornare le policy di sicurezza per samba e quindi conviene sempre sfogliare il file smb.conf digitando sempre da root

nano /etc/samba/smb.conf

ricordo che il demone di samba è smbd

lunedì 6 agosto 2018

una utility per il controllo del disco

ago 2018
da linea di comando su Debian
smartctl
fa controlli approfonditi o rapidi dei dischi 

ott 2012
GSmartControl ti aiuta a verificare lo stato del disco e a correggere eventuali settori danneggiati. Testato su fedora con il mio disco che ha lo smart in allarme ma che continua a funzionare

sabato 24 marzo 2018

comandi per il backup e snellimento della folder Dropbox

Il problema è annoso: lo spazio su Dropbox è limitato e prima o poi si esaurisce e quindi ci si trova davanti a un bivio. O si paga o si ottimizza lo spazio.
Seguendo poche semplici regole si può rapidamente ottimizzare lo spazio e lasciare in Dropbox ciò che è necessario tenere sincronizzato e spostare in una folder "archivio" ciò che oramai non viene più sincronizzato.

da un client Dropbox su Linux.
Verifico che l'account è sincronizzato;
lancio il backup su macchine remote o in locale con comandi del tipo:

rsync -avr --progress 'ssh -l ettore' --exclude ".dropbox.cache/" Dropbox/ 192.168.14.76:/media/TANK_L/backup_mara/Dropbox

incomincio a cancello i file in maniera selettiva, cercando (find) i tipi da archiviare e quelli più vecchi che uso poco. Ad esempio

find Dropbox/ -type f -name '*.enc' -delete
find Dropbox/ -type f -name '*.p7m' -delete
fine Dropbox/ -type f -mtime +750 -delete

con ncdu /Dropbox controllo la dimensione della folder e diminuendo il parametro di -mtime sfoltisco la folder Dropbox fino al valore che ritengo ottimale.

Infine riporto un utile comando per rsync che ricerca per data e sincronizza su un'altra cartella: file piu' vecchi di 2000 giorni
find Dropbox/ -mtime +2000 >/tmp/rsyncfiles
rsync -Ravh --files-from=/tmp/rsyncfiles . Documenti/Archivio_up2017/

mercoledì 7 marzo 2018

virtualizzazione: nozioni di base

Nell'universo della virtualizzazione di sistemi operativi e architetture di computer e' facile fare confusione.
E' utile fare un po' di ordine nelle definizioni

LIVELLO 0: piattaforma di virtualizzazione x86 o hypervisor: vmware, virtualbox, qemu

LIVELLO -1: kernel - based - Virtualmachine (KVM): infrastruttura di virtualizzazione per kernel che unita a qemu puo' virtualizzare diverse architetture e sistemi operativi sotto linux.

LIVELLO 1: tool di gestione di hypervisor: libvirt
LIVELLO 2: layer di gestione libvirt: virsh, virtual machine manager, gnome boxes, ovirt

Dalla riunione NALUG del 5 maggio 2018

Il primo concetto chiave esposto è stato quello della differenza tra
virtualizzazione e paravirtualizzazione -
https://stackoverflow.com/questions/21462581/what-is-the-difference-between-full-para-and-hardware-assisted-virtualization

Gli esempi citati sono stati i seguenti

- virtualbox - https://www.virtualbox.org/
- kvm - https://www.linux-kvm.org/page/Main_Page
- qemu - https://www.qemu.org/
- libvirt - https://libvirt.org/
- virt-manager - https://virt-manager.org/
- proxmox - https://www.proxmox.com/en/ 

Proxmox slides LDNA16 -
https://materiale.nalug.net/02_eventi_pubblici/linuxday_napoli/linuxday2016/03_Francesco_Taurino_-_Proxmox_pa_e_pmi.pdf 


Proxmox video LDNA16 - https://www.youtube.com/watch?v=lSPZoh5msHc

- xen - https://www.xenproject.org/

venerdì 9 febbraio 2018

Archeologia informatica, applicativo di fine anni 90

è una collezione di immagini di CD che hanno data 1999. Gira su DOS ma non basta forse c'e' bisogno di qualche funzionalità' grafica di windows 3.11 o 95. Purtroppo non trovo un system requirement che mi permetta di capire come configurare le cose.

bisogna configurare l'ambiente secondo il CDSETUP.BAT
e poi inserire il CD F
provo con DOS box emulator
purtroppo mi fermo alla schermata seguente

dove capisco che non riconosce il percorso dei dischi come il cdrom.
ciò lo capisco anche dal file di diagnostica "PIPPO" che produce prima di chiederti di inserire il cd F

Usiamo invece un approccio più sofisticato: la virtualizzazione QEMU

questa è un'ottima guida per creare rapidamente una macchina DOS
http://gunkies.org/wiki/Installing_MS-DOS_on_Qemu

impari ad usare la QEMU console per cambiare dischetti e CDROM
(qemu) info block 
https://www.linux-kvm.org/page/Change_cdrom
https://superuser.com/questions/97491/how-to-change-the-floppy-image-of-qemu
(qemu) change floppy0 os.img

impari a creare un floppy disk virtuale
https://www.linux.org/threads/create-img-files.11174/

il problema nasce sul cdrom perchè il dos non riconosce in automatico il cdrom, bisogna installarlo. In aiuto viene il seguente tutorial
http://manmrk.net/tutorials/DOS/cdrom.htm per cercare il driver giusto per il cdrom
io ho utilizzato questo setup.exe che mi ha ffinalmente permesso di vedere e caricare virtualmente il CDROM.

Adesso tutto si avvia correttamente ma mi scontro con la risoluzione video DOS che e' troppo bassa. Bisogna adottare un enhanchement grafico successivo al DOS, la risoluzione ottimale dovrebbe essere 640X480. Provo ad installare windows 3.11

ma il risultato non cambia, dovrei cambiare le impostazioni video di win 3.11 ma la cosa non è così immediata, preferisco passare a win95-OSR2
Ho trovato un portale con tutti i sistemi operative Microsoft:
https://winworldpc.com/library/operating-systems
c'è da sbizzarrirsi
Win95 utilizza una versione avanzata di DOS conb questa dovrei trovare l'environment giusto.
Speriamo....

qemu-system-x86_64 -hda win95.disk -m 64 -L .

sarebbe da provare anche il freedos forse un po' più avanzato del dos
https://en.wikibooks.org/wiki/QEMU/FreeDOS

lunedì 15 gennaio 2018

installazione Archlinux con NALUG

Nel programma didattico NALUG 2018 

archlinux è distribuito a 64 bit ma è possibile anche installare versioni a 32bit. All'avvio della ISO non hai ambiente grafico.
Cio che viene indicato di seguito è una validazione della guida all'installazione di arch ufficiale fatta da uno che non ha mai installato Arch ne altri sistemi Linux "a Manella".  L'esercitazione è fatta su una macchina virtuale qemu-kvm creata con virt-manager.

Preinstallazione - tutto ciò che vafatto prima di fare il "Change root"

appena si avvia la ISO la prima cosa da fare è mettere a posto il layout tastiera
per settare la tastiera:
# localectl set-keymap --no-convert it

inoltre poichè sono su di una macchina virtuale remota, vorrei continuare connettendomi in ssh per non utilizzare l'ambiente grafico visto che non serve.
Quindi
# systemctl start sshd

per verificare se il sistema si avvia con EFI:
# efibootmgr
se risponde: "EFI variables are not supported by this system" allora vuol dire che non c'è EFI

andiamo avanti considerando che il sistema è non EFI
partizionamento si possono usare sia parted che fdisk:
parted può fare i filesystem
fdisk non lo fa può solo creare partizione

vediamo quante partizioni fare:
  • minimo di partizioni:solo quella di root
  • numero classico di partizioni: root, swap e home

entriamo nell'ambiente parted digitando
# parted
(parted) print all ci fa vedere i dischi
(parted) select /dev/sdx selezioni il disco su cui lavorare
(parted) mklabel msdos crei una tabella delle partizioni MBR
(parted) mkpart primary ext4 0% 100% crei la partizione formattata ext4 sul 100% del disco.
Ognuno può organizzarsi il disco come meglio crede, io ho creato una unica partizione ext4

A questo punto sembra ci sia un baco di PARTED che non crea il filesystem
quindi diamo il comando
# mkfs -t ext4 /dev/vda1
che crea il filesystem ext4
montiamo il disco
# mount /dev/vda1 /mnt

Installazione - organizziamo le cose sul disco affinchè Arch funzioni al prossimo avvio.

lanciamo il comando# pacstrap /mnt base base-devel
così abbiamo installato il gruppo di pacchetti di base per il semplice funzionamento del sistema operativo

generiamo l'Fstab sul disco necessario per montare i dischi all'avvio
# genfstab -U /mnt >> /mnt/etc/fstab
controlliamo cosa ha generato in /mnt/etc/fstab

Spostiamoci in chroot in modo da modificare i setup del SO sul disco
# arch-chroot /mnt
a questo punto non ho più come riferimento il cdrom...

configuriamo il time-zone italiano in maniera persistente
# ln -sf /usr/share/zoneinfo/Europe/Rome /etc/localtime

L'orologio invece sarà settato sull'ora UTC secondo il comando
# hwclock --systohc (oppure hwclock -w da provare)
in italia, durante l'ora solare (inverno) siamo un'ora in avanti rispetto all'UTC

bisogna poi generare dei file locali per le impostazioni di lingua e tastiera:
togli il commento da it_IT.UTF-8 UTF-8 in /etc/locale.gen dopodichè dai il comando
# locale-gen
scrivi nel file /etc/locale.conf
LANG=it_IT.UTF-8
per il layout della tastiera  scrivere nel file /etc/vconsole.conf
KEYMAP=it

settaggio del nome del Computer (hostname):
scrivi nel file /etc/hostname
myhostname (il nome del tuo computer)

configurazione di rete: di default è in DHCP...

root password
# passwd

BOOT LOADER:
devi installare il grub nell'mbr del disco
#pacman -S grub
# grub-install --target=i386-pc /dev/sdv
ora bisogna generare il main configuration file grub.cfg con il comando
# grub-mkconfig -o /boot/grub/grub.cfg
A questo punto sembra che i giochi siano completi per il primo avvio.

Esci da chroot con
#exit

e riavvia
Risultato:
non parte, vede il grub ma non trova il disco per caricare il kernel...
sembra che il problema sia legato alla virtualizzazione.
Che sola! Bhe questo è proprio il bello di queste esercitazioni.


martedì 7 novembre 2017

copia e sincronia file con rsync

Aggiornamento nov 2017
copia e sincronia di file con un determinato pattern
rsync -avr ---include "pattern" --include "*/" --exclude "*" <from-path> <to-path>

copia e sincronia file con find per file vecchi
find path -mtime +2000 >/tmp/rsyncfiles #cerca i file modificati o creati più di 2000 giorni fa e li scrive in un file
rsync -Ravh --files-from=/tmp/rsyncfiles . <destination-path> 
attenzione al punto è importante!
Aggiornamento dicembre 2016
http://www.tecmint.com/sync-new-changed-modified-files-rsync-linux/#

Aggiornamento Giugno 2016automatizzare rsync con Crono:
https://www.marksanborn.net/howto/use-rsync-for-daily-weekly-and-full-monthly-backups/


Aggiornamento maggio 2014:
rsync con samba:
si monta prima la periferica di rete samba con il comando
# mkdir /mnt/cifs
# mount.cifs //192.168.101.100/sales /mnt/cifs -o username=shareuser,nounix

attenzione che le opzioni scritte dopo la -o non vogliono spazi
e quindi il gioco è fatto perchè userai il comando rsync come per qualsiasi folder locale

settembre 2013
Se nasce l'esigenza di copiare tonnellate di file e magari fare in modo che le volte successive la copia sia sincronizzata, rsync è il comando più potente anche perchè permette di copiare o sincronizzare in locale ed in remoto tramite ssh
alcune dritte:

questi link danno qualche esmpio utile
http://www.cyberciti.biz/tips/linux-use-rsync-transfer-mirror-files-directories.html
http://www.thegeekstuff.com/2010/09/rsync-command-examples/

gli attribbuti che ho usato
-r per copiare anche le sottodir
--progress mi dice per ogni file quanto ci vuole
-v mi dice che file o dir sta copiando
-a per conservare tutti gli attributi
--delete cancella file nella destinazione che non appartengono al source
--remove-source-files cancella il file copiato dalla dir sorgente
se specifichi una dir di destinazione inesistente lui la crea

per collegarmi ad un computer remoto ho usato ad esempio
# rsync -arve "ssh -l ettore" --delete Dropbox/ 192.168.13.112:~/Dropbox/

# rsync --progress -avre 'ssh -l root' /var/lib/libvirt/images/ 192.168.13.51:/var/lib/libvirt/images/

chiaramente è necessario che lo user ssh abbia i permessi per scrivere

altri esempi utili:
http://www.thegeekstuff.com/2011/01/rsync-exclude-files-and-folders/

sabato 28 ottobre 2017

Antix- la distro veramente leggera

la distro più leggera che conosco,
non ha systemd e quindi ad esempio nmcli non funziona
il programma che gestisce le interfacce di rete non è in grado di tenere accese due device
per fare la pennetta avviabile hai bisogno di un antix che ti fa la pennetta. La iso che scarichi la puoi masterizzare su cd o usare per avviare una VM per poi fare la pennetta. Ho provato con dd ma senza successo

inxi per vedere le caratteristiche hardware

giovedì 19 gennaio 2017

Creare e testare una live usb

Oramai i CD sono in via d'estinzione e sono anni che ricorro alle penne USB per avviare live OS sui computer. La situazione delle USB-stick avviabili però a me pare molto più intricata di quella dei CD.
all'inizio c'erano i programmi GUI che la facevano da padrone ma non erano mai compatibili al 100% per tutte le distro. Ho notato anche come sui sistemi Microsoft ci fosse sempre enorme scelta ma sempre abbastanza confusionaria come per tutto ciò che riguarda microsoft.
Poi è arrivato DD... semplice ed efficace
le opzioni nel comando? L'unica che sembrava un po ambiugua era bs (blocksize): 4M dovrebbe assicurarti una buona velocità e compatibilità ma se hai problemi abbassa a 1M.

Purtroppo ci sono vari ostacoli al funzionamento della distro sulla pennetta USB:
  1. l'immagine iso deve essere avviabile: ad esempio alcuni come Antix facevano delle iso non avviabili ed era necessario un programma pper creare una penna usb avviabile. Ciò però può essere verificato come vedremo più tardi;
  2. La penna USB deve essere compatibile con l'avvio della live: ho visto che alcune pennette, benchè visibili fino al grub, dopo non vengono; riconosciute, come se all'avvio il sistema non caricasse i driver per quelle penne. Spero in futuro di capire che tipo di hardware mette in crisi l'avvio
  3. La penna USB non è compatibile con il Bios: nonostante sia letta correttamente il non la riconosce come periferica di boot. Ciò sembra accadere tra computer vecchi e pennette nuove.

Vediamo come verificare il funzionamento di una ISO o di una pennetta

Un esempio per tutti con la iso di mint:
con la penna usb in sdi
scriviamo la pennetta con il comando
sudo dd if=linuxmint-18-xfce-64bit.iso of=/dev/sdi oflag=direct  bs=1M

aggiornamento del 9 sett 2021

per verificare come funziona appicci la macchina virtuale con la USB-stick con un semplice comando:
qemu-system-x86_64 -m 512 -enable-kvm -usb -usbdevice disk:/dev/sdi

per verificare se l'immagine scaricata funziona:
qemu-system-x86_64 -m 512 -enable-kvm linuxmint-18-xfce-64bit.iso

Se l'accensione della macchina virtuale da USB-stick è troppo lenta, ma vuoi verificare se la ISO è scritta correttamente allora puoi riscrivere l'immagina della USB-stick sul disco e avviare quella:
dd bs=4M if=/dev/sdi of=Scaricati/USBstick.img
qemu-system-x86_64 -m 512 -enable-kvm Scaricati/USBstick.img

giovedì 12 gennaio 2017

syncthing

dal linuxday 2016 è uscita una piccola perla:
syncthing
un sistema di sincronizzazione molto semplice tra computer. Il sistema non fa sincronizzazione tra folder locali, o dispositivi esterni come penne usb, etc ma solo fra dispositivi di rete. Completamente opensource e con una GUI http.

Utile per sincronizzare file tra computer multipiattaforma (per windows installate Sync Trayzor)di una LAN.
Con Rsync dovresti utilizzare il protocollo samba e quindi montare il disco remoto come risorsa locale come mostrato QUI. e quindi il computer con linux dovrebbe adoperarsi di fare le sincronie tra le macchine.
Con rsync la cosa è perfettamente biunivoca ed è molto efficace perchè riduce al minimo gli errori.
per linux:
# Add the release PGP keys:
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -

# Add the "release" channel to your APT sources:
echo "deb https://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list

# Update and install syncthing:
sudo apt-get update
sudo apt-get install syncthing

Ottima guida introduttiva:
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-syncthing-to-synchronize-directories-on-ubuntu-14-04

per avviare syncthing sul server senza gui (avendo installato screen):
screen -f -da -m syncthing -no-browser