Come determinare l’Harware del pc in Linux – Programmi ad interfaccia grafica

Linux mette a disposizione diversi strumenti per conoscere i dispositivi hardware presenti in un computer. Anche se il terminale la fa da padrone esistono alcuni strumenti ad interfaccia grafica che consentono di ottenere queste informazioni in modo decisamente più amichevole.

Per un elenco dei programmi e dei comandi da terminale che consentono di determinare l’hardware di un computer si può fare riferimento alla pagina del blog: Come determinare l’hardware del pc – linux

Per quanto riguarda i sofware ad interfaccia grafica hardinfo è probabilmente il programma di riferimento per quanto attiene alle informazioni di un sistema linux .
In XFCE è disponibile in System alla voce System Profile and Benchmark.

hardinfo – System Profiler and Benchmark

In fondo al post informazione aggiuntive su questo storico applicativo.
Esistono comunque anche altri applicativi interessanti che gli utenti meno smaliziati potranno utilizzare ed apprezzare per determinare e controllare l’hardware del sistema in un pc/notebook linux. Fra tutti Cpu-X se non altro perchè cerca di essere l’equivalente su linux del noto programma gratuito windows CPU-X di CpuID .

CPU-X

CPU-X come detto vuole essere una trasposizione per linux del noto CPU-Z. CPU-Z è un software aggiornato di frequente per far fronte al rilascio di nuovi processori che oltre ad informazioni dettagliate sulla cpu, fornisce informazioni su chipset, motherboard, memoria e anche una sezione di benchmark. Il look essenziale è invariato da anni. Di sequito di seguito un confronto dei dati forniti dai due programmi quello per windows 10 CPU-Z ver 1.9.1.0 e CPU-Z per linux vers 3.2.4. I due programmi sono stati fatti girare sullo stesso pc quello descritto nel post X79-P3 – una motherboard X79 completa ben riconosciuta da Debian 10.xx
Per precisione la versione linux utilizza è la debian-testing 10.x.
Come si può notare il sistema dei tab e analogo le informazioni disponibili non sono proprio le stesse. Ovviamente vista la sua lunga storia CPU-Z è più completo e ricco di informazioni. Comunque anche CPU-X come il suo omologo è in grado di estrarre le informazioni in tempo reale adifferenza di hardinfo. In conclusione CPU-X é un programma che si fa apprezzare perchè ci sono molti dati direi che sono abbastanza coerenti con il suo omologo, i sistem di benchmark è come si può notare nelle immagini in fondo sono diversi.

Per installare l’ultima versione la 3.2.4 di CPU-X che è ospitato in github si può fare riferimento alla pagina

https://github.com/X0rg/CPU-X/releases/tag/v3.2.4

in debian 10 conviene utilizzare la versione portable che può essere scaricata con

$ wget https://github.com/X0rg/CPU-X/releases/download/v3.2.4/CPU-X_v3.2.4_portable.tar.gz

decompressa al solito con

$ tar xzvf CPU-X_v3.2.4_portable.tar.gz

quindi avviare CPU-X con

$ cd CPU-X_v3.2.4_portable  
$ sudo ./CPU-X_v3.2.4_portable.linux64

Per installare CPU-Z in debian testing è sufficiente digitare da terminale

$ sudo apt install cpu-z

La versione corrente di CPU-X la 3.2.4 è del gennaio 2019.
Conviene in genere avviare la versione CPU-X ( Root ) che è disponibile nel menu System di XFCE

Status Pilatus

StatusPilatus è una interessante applicazione open source ad interfaccia grafica. Multipiattaforma è disponibile infatti per mac e win ha un look moderno. E’ in grado di fornire una visione d’insieme del sistema. I dati sui singoli componenti sono piuttosto essenziali mentre è privilegiata la parte relativa al monitoraggio. Applicativo è alla versione 0.5.0 merita comunque di essere provato e mostra interessanti spazi di sviluppo. La pagina per il download è https://github.com/PilatusDevs/StatusPilatus/releases/tag/0.5.0

In debian può essere agevolmente installata scaricando il pacchetto specifico di circa 60MB

wget https://github.com/PilatusDevs/StatusPilatus/releases/download/0.5.0/StatusPilatus_0.5.0_amd64.deb

installazione al solito con

sudo dpkg -i StatusPilatus_0.5.0_amd64.deb

se dovessero mancare pacchetti risovere digitando

$ apt -f install

avvio da terminale con

statuspilatus

in xfce4 si va a posizionare nel menu Office. Situazione un po ‘ stravagente …

Hardinfo

L’ immagine di seguito è uno screenshot di più di 5 anni fa. Questo evidenzia come l’organizazione di questo programma non sia sostanzialmente cambiata nel tempo. La versione disponibile infatti è la 0.6 alpha che risale a qualche anno. Le informazioni in diverse sezioni più complete dei programmi citati in precedenza. Tuttavia ad esempio quelle relative al processore non sono aggiornate in tempo reale come avviene in CPU-X così da consentire di ottimizzare le prestazioni o diagnosticare problemi.

Hardinfo computer summary

Per installare System Profile e BenchMark da terminale si digita:

$ sudo apt install hardinfo 

Per avviarlo da terminale si digita il nome originale preferibilmente utlizzando l’utente root così da avere più informazioni

$ sudo hardinfo

Anche la sezione benchmark di hardinfo è più ricca la sezione.
Comunque in linux sono presenti diversi applicativi specifici completi per avere benchmark completi ad esempio Phoronix Test Suite – rilasciata la versione 9.0 – la piattaforma di test e benchmarking per linux e applicativi per informazioni in tempo reale del sistema sia da terminale che grafiche.

Risorse:

Your IP address has changed. Please log in again – cPanel

Se accedendo a cPanel si incorre nell’ errore

Your IP address has changed. Please log in again

che rende impossibile l’utilizzo di cPanel.
Lo screenshot evidenzia l’errore ottenuto utilizzando il browser chrome ver. 79.xx con Debian 10 stable.

cPanel Your ip has changed – Browser Chrome 79.xx – Debian 10

Significa che si sta con tutta probabilità utilizzando una connessione che cPanel non considera sufficientemente sicura ad esempio per cambi troppo frequenti nel numero ip assegnato dal provider quando si accede ad internet.

Esistono diverse soluzioni al problema per quanto mi riguarda consiglio di di utilizzare un browser come il TOR-browser. Il browser in questione usando la rete TOR che ha ip di uscita adeguatemente stabili non creerà incertezze a cPanel sul numero ip con il quale viene raggiunto
Questa è anche un’occasione per fare pratica con un browser che ha il vantaggio di consentire la navigazione anonima ( quasi). Il TOR-browser basato su firefox paga solo il pegno di una navigazione più lenta tuttavia in una rete in cui oramai tutto è ultra tracciato e controllato un po’ di pratica con un interessante browser anonimizzante può essere utile.

Tor Browser
Tor Browser 9.xx


Ecco la pagina main di cPanel disponibile grazie a TOR Browser. La connessione utilizzata è la stessa che provocava l’errore con il browser chrome mostrata a inizio pagina.

cPanel 11 Main Page – accesso utilizzando TOR Browser 9.xx

Alcune diverse alternative per risolvere il problema :
– farsi assegnare e quindi utilizzare un IP statico,
– disattivare o farsi disattivare il controllo di sicurezza
basato sulla “cookie IP validation”
– cambiare ISP … direi eccessivo 🙂
– a pensarci bene ritengo che anche un tunnel ssh utilizzando un server pubblico

Risorse:

Certificato Wildcard gratuito con Let’s Encrypt e installazione in cPanel – provider Arvixe – debian 10

Let’s encrypt è un autorità di certificazione che, con l’obiettivo di riuscire a cifrare tutte le comunicazioni sul web, offre gratuitamente certificati per il protocollo SSL/TLS. Il protocollo https è un esempio di applicazione del protocollo crittografico TLS/SSL. ACME ( Automated Certificate Management Environment ) è il protocollo utilizzato da Let’s Encript per l’autenticazione e il rilascio dei certificati.

In un precedente post si è descritto come generare certificati Let’s Encrypt e installarli via cPanel: Certificato SSL/TLS gratuito con Let’s Encrypt e installazione in cpanel – provider Arvixe – linux

Da marzo 2018 Let’s Encrypt offre gratuitamente anche i certificati Wildcard. Il certificato Wildcard che vale per domini del tipo *.dominio.it prende il nome proprio dal carattere jolly * in inglese Wildcard. Il certicato Wildcard è di grande comodità con un solo certificato di tipo *.dominio.it è possibile infatti certificare tutti i sottodomini del tipo xxxx.dominio.it.

La procedura per installare certificati wildcard letsencrypt si differenzia da quella descritta in Certificato SSL/TLS gratuito con Let’s Encrypt e installazione in cpanel – provider Arvixe – linux per un maggior numero di dettagli: più immagini, più blocchi di terminale. Gli scripts script riferiti alla fase di rinnovo. Nel caso del certificato Wildcard invece di utilizzare un file per autenticare la proprietà del dominio è necessario aggiungere un record DNS TXT con nome e valore fornito da let’s encrypt.

In debian sono disponibili diversi applicativi per la gestione dei certificati ACME in questo caso verrà utilizzato certbot (python) che è quello consigliato, al momento, da Let’s Encrypt.

Certbot

L’installazione di certbot da terminale è di tipo tradizionale

su 
apt install certbot

Oltre a certbot verranno installati anche una serie di pacchetti python. Il linguaggio in cui certbot è sviluppato.

Per la generazione del certificati utilizzare il comando per la generazione manuale degli stessi con alcuni parametri aggiuntivi

 # sudo certbot certonly --manual --preferred-challenges=dns --server https://acme-v02.api.letsencrypt.org/directory  
 
sudo certbot certonly --manual --preferred-challenges=dns --server https://acme-v02.api.letsencrypt.org/directory  
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Please enter in your domain name(s) (comma and/or space separated)  (Enter 'c'
to cancel): siagri.net, *.siagri.net
Cert is due for renewal, auto-renewing...
Renewing an existing certificate
Performing the following challenges:
dns-01 challenge for siagri.net
dns-01 challenge for siagri.net

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.

Are you OK with your IP being logged?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

la verifica della disponibilità diretta (proprietà) del dominio avviene con l’aggiunta di un record TXT alle impostazioni DNS. In questo caso trattandosi di 2 domini due saranno i record da aggiungere del tipo:
Name= _acme-challenge.nome-dominio.xxx
Type = TXT
Record = XXXXXXXXXXXXXXXXXXXXXXXXXX

a terminale avremo:

 Please deploy a DNS TXT record under the name
 _acme-challenge.siagri.net with the following value:

 cTN5jWrb5h4usxn9B8gTO1Gavvs2ZUdHQmNU_MIrQWQ

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue


 (This must be set up in addition to the previous challenges; do not remove,
 replace, or undo the previous challenge tasks yet. Note that you might be
 asked to create multiple distinct TXT records with the same name. This is
 permitted by DNS standards.)

Utilizzando cPanel è possibile aggiungere il record TXT alle impostazioni DNS

Precedente record TXT in cpanel

Sostituzione del valore comunicato nei record TXT

prima di premere [Enter] e avviare la verifica conviene accertarsi che i record TXT siano effettivamente disponibili. In questo caso anche una decina di minuti. Il tempo dipende dall’impostazione TTL.

E’ possibile verificare la disponibilità dei record TXT con il comando host:

host -a _acme-challenge.siagri.net
Trying "_acme-challenge.siagri.net"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53558
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_acme-challenge.siagri.net.	IN	ANY

;; ANSWER SECTION:
_acme-challenge.siagri.net. 599	IN	TXT	"nurUeHu_DSfm0l8kU9y9SrzGDzvr4wwvZFzWvcPDXxs"
_acme-challenge.siagri.net. 599	IN	TXT	"I7NjTUZYZbH_fv-Znj0ML8SJcJc-EbOiMGQwKSHG5Gk"

Received 156 bytes from 8.8.8.8#53 in 137 ms

premetere Entere verrà comunicato il secondo Record TXT.
E cambiare anche il secondo Record TXT.
con Host possiamo verificare che ambedue i record TXT sono quelli indicati le letsencrypt.

host -a _acme-challenge.siagri.net
Trying "_acme-challenge.siagri.net"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31089
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_acme-challenge.siagri.net.	IN	ANY

;; ANSWER SECTION:
_acme-challenge.siagri.net. 599	IN	TXT	"I7NjTUZYZbH_fv-Znj0ML8SJcJc-EbOiMGQwKSHG5Gk"
_acme-challenge.siagri.net. 599	IN	TXT	"oyUu6-NK4PEK0IhQNhR96FgqXAk_Jp3kMKb4qh0Oyvc"

Received 156 bytes from 8.8.8.8#53 in 178 ms

Al termine la cartella /etc/letsencrypt si popolerà con il certificato e la full chain come indicato nel messaggio che appare a video.

Before continuing, verify the record is deployed.
(This must be set up in addition to the previous challenges; do not remove,
replace, or undo the previous challenge tasks yet. Note that you might be
asked to create multiple distinct TXT records with the same name. This is
permitted by DNS standards.)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/siagri.net/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/siagri.net/privkey.pem
   Your cert will expire on 2020-07-03. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le


Al termine la cartella /etc/letsencrypt si popolerà con il certificato e la full chain come indicato nel messaggio che appare a video.

Installazione certificato SSL/TLS Let’S Encrypt con cPanel

Adesso che si dispone dei certificati SSL/TLS gli stessi vanno installati utilizzano Manage SSL Sites in cPanel con la stessa procedura evidenziata nel post Certificato SSL/TLS gratuito con Let’s Encrypt e installazione in cpanel – provider Arvixe – linux.

cPanel – Security – SSL/TLS
cPanel – SSL/TLS: Manage SSL sites

Con un taglia incolla andranno caricati il certificato ( file cert.pem ) e la Private Key ( file privkey.pem ). Opzionale chain.pem in Certificate: Authority

SSL-TLS certificate copy

Se tutto va correttamente avremo il messaggio SSL Certificate Successfully …

Qualora di aggiungano nuovi sottodomini sarà sufficiente richiamare il certificato già installato per poter abilitare il protocollo https:

L’unica nota non positiva dei certificati Let’s Encrypt è che gli stessi non hanno durata annuale ma di soli 90 giorni con i wildcard è ampiamente compensata.

Risorse:

Phoronix Test Suite – rilasciata la versione 9.0 – la piattaforma di test e benchmarking per linux

Aggiornamento 2020

Phoronix Test Suite Logo

La Phoronix test suite è una piattaforma di test è benchmarking open source particolarmente completa. Per le macchine linux è probabilmente la più completa. La suite è multipiattaforma pertanto è disponibile anche per i sistemi macOS, Windows …

La suite di test è affiancata dalla una piattaforma di archiviazione per la condivizione dei test: OpenBenchmarking.org

Per l’utilizzo di questa suite di test l’installazione non è obbligatoria è possibile infatti eseguire localmente la suite una volta che il pacchetto è stato decompresso. Unica dipendenza la PHP Command-line in genere disponibile come pacchetto php,php7-cli, php5-cli o php7.

Tra le caratteristiche salienti della 9.0 una nuova versione del visualizzatore dei risultati per offrire più funzionalità che vedrà un ulteriore potenziamento con la versione 9.2. Inoltre miglioramenti nel rilevamento hardware/software e una varietà di altre aggiunte.

La Versione Universal Linux/BDS/MacOS .tar.gz può essere scaricata con

$ wget https://phoronix-test-suite.com/releases/phoronix-test-suite-9.0.0.tar.gz

E decompressa con il solito

$ tar xzvf phoronix-test-suite-9.0.0.tar.gz

Chi usa debian/ubuntu può anche scaricare lo specifico pacchetto .deb con:

$ wget https://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_9.0.0_all.deb

e installare il pacchetto da terminale con

dpkg -i phoronix-test-suite_9.0.0_all.deb

Il comando base è

phoronix-test-suite 

un test di base valido per la CPU è avviabile con

$ phoronix-test-suite benchmark smallpt

Nell’immagine sotto come si presenta il terminale.
Al termine si vedono le due domande finali e la scelta operata:
– Y (yes) alla domanda di visualizzazione del risultato nel browser.
– N alla richiesta di caricamento dei risultati su OpenBenchmarking.org

Risultato visualizzato a livello di browser

Utilizzo della CPU durante il test smallpt

Centinaia i benchmark e i test per mettere sotto stress i vari componenti del sistema: processore, dischi, memoria, grafica, …

per elencare tutti i tests:

$ phoronix-test-suite list-all-tests

Un esempio di test per le performance 3D

$ phoronix-test-suite benchmark unigine-heaven

oppure installare il test e quindi avviarlo con

$ phoronix-test-suite install unigine-heaven
$ phoronix-test-suite run unigine-heaven

X79-P3 Phoronix Unigine-Heaven

Breve video con Unigine-Heaven v.4.0. Modalità windows.

Molti i comandi disponibili ragruppati nelle categorie:
System, Test Installation, Testing, Batch Testing, OpenBenchmarking.org , Information, Assets Creation, Result Management, Other, Modules, User configuration, … :

$ phoronix-test-suite list-all-tests
Phoronix-test-suite: I primi test elencati dal comando
$ phoronix-test-suite show-result smallpt2x79-e52658-v35B

grazie a phoronix è possibile ottenere le informazioni del sistema con:

$ phoronix-test-suite system-info

Phoronix può elencare anche i sensori presenti nel sistema

$ phoronix-test-suite system-sensors 

Il comando diagnostic consente di visualizzare versione, percorsi di installazione, variabili di vario tipo …

$ phoronix-test-suite diagnostics

Risorse:

“mount error(112): Host is down”

Se in Debian 10  provando a montare una risorsa di tipo Windows share con il comando mount -t cifs ( mounting samba share )

esempio

$ mount -t cifs -o username=xxxxxx //10.0.1.111/myshare /mnt/winshare

si ottiene l’errore

mount error(112): Host is down

Risolvere provando a impostare la versione 1.0 di samba 

$ mount -t cifs -o username=xxxxxx,vers=1.0 //10.0.1.111/myshare /mnt/winshare


E’ bene precisare che attualmente la versione 1.0 è considerata non sicura.  Tuttavia diversi dispositivi come i validi modem router Fritz!Box offrono questo tipo di servizio per accedere alle unità di memoria che vengono collegate alle porte USB. Di fatto in questo modo i modem router Fritz!Box offrono funzionalità NAS di base.  

Fritz!Box Memoria NAS ( SMB) vers 1.0

 

Altri esempi con precisati altri parametri che potrebbero risultare utili in vari contesti e distribuzioni:

sudo mount -t cifs -o username=pippo,password=topolino, vers=1.0 //10.0.3.165/www /mnt/mnt165/www

sudo mount -t cifs -o username=pippo,vers=1.0,uid=pluto,gid=pluto //10.0.3.165/www /mnt/mnt165/www
sudo mount -t cifs -o username=pippo,password=topolino, vers=1.0 //10.0.3.165/www /mnt/mnt165/www

Risorse:

SQLWorkbench configurare per MySQL – Extended Properties

SQLWorkbench è un SQL query tool free particolarmente efficace che supporta un ampio numero di DBMS. Scritto in Java è in grado di interfacciarsi con qualsiasi database per il quale sia disponibile un JDBC driver.  Essendo in java SQLWorkbench potrebbe essere eseguito in qualsiasi Sistema Operativo che disponga di JRE ( Java Runtime Environment)

Tra i database supportati e testati ci sono MySQL e MariaDB SQL. Di seguito i passi per “installare” e configurare SQLWorkbench per MySQL. 
La configurazione per il database postgresql nel post: SQLWorkbench build 125 configurare per PostgreSQL – debian 9.xx

L’ultima versione stabile è la Build 125 del 5 maggio 2019.
Release Note Build 125. Con questa release si è avuto un cambio nel layout delle directory. Tutte le librerie addizionali ( es. esportazione excel ) ora si trovano nella sottodirectory /ext. Pertanto conviene effettuare il download con tutte le librerie opzionali che verranno posizionate correttamente.

Di fatto SQLWorkbench non necessita di una vera installazione è sufficiente scaricare il pacchetto generico, decomprimere e lanciare lo script sqlworkbench.sh. Per poter utilizzare SQLWorkbench è ovviamente necessario java JRE.

Controllare la versione java disponibile con java -version

# java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-2~deb9u1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

Configurare e Installare SQLWorkbench per MySQL

Il pacchetto SQLWorkbench è disponibile alla pagina

http://www.sql-workbench.net/downloads.html

Per poter interagire con MySQL serve inoltre lo specifico driver JDBC. Il driver che andra opportunamente configurato in SQLworkbench è scaricabile dalla pagina
https://dev.mysql.com/downloads/connector/j/
la versione corrente di mysql JDBC Driver è la 8.0.16.
Scaricare la versione JDBC Platform independent

una volta scaricato il driver effettuare il check md5 con

# md5sum mysql-connector-java-8.0.16.tar.gz 
3cd3a2cfa510b48fc54fadfc1db5db61  mysql-connector-java-8.0.16.tar.gz# md5sum mysql-connector-java-8.0.16.tar.gz 

decomprimere con

#  tar zxvf mysql-connector-java-8.0.16.tar.gz 

Il driver estratto

mysql-connector-java-8.0.16.jar

andrà copiato nella directory /ext di sqlworkbench

Operando da terminale

scegliamo la directory opt per l’applicazione quindi

su 
mkdir /opt/sqlworkbench
cd /opt/sqlworkbench

SQLWorkBench 125 con le librerie opzionali occupa circa 26MB e può essere scaricato con

# wget http://www.sql-workbench.eu/Workbench-Build125-with-optional-libs.zip ... Workbench-Build125-with-op 100%[=======================================>]  26.40M  1.03MB/s    in 26s  wget http://www.sql-workbench.eu/Workbench-Build125-with-optional-libs.zip

Decomprimiamo il pacchetto con

# unzip Workbench-Build125-with-optional-libs.zip 

Rendiamo eseguibile per tutti gli users lo script di avvio workbench.sh

# chmod a+x sqlworkbench.sh 

copiare il driver mysql-connector-java-8.0.16.jar che dovrebbe trovarsi in

Download/mysql-connector-java-8.0.16

in
/opt/sqlworkbench/ext

Volendo si può creare un link simbolico a sqlworkbench nel desktop con

ln -s /opt/sqlworkbench/sqlworkbench.sh sqlworkbench

avviamo. Come sempre all’ avvio la finestra in primo piano è quella per creare un profilo di connessione.

Per connettersi a MySQL è necessario a questo punto configurare il driver.

  • Click sul pulsante Manage Drivers
  • In primo piano ci sarà  la finestra Manage drivers

  • Selezionare MySQL dall’ elenco di destra con i DBMS supportati
  • Click sul pulsante cartella in alto a sinistra e selezionare il file driver JDBC per mysql. Evidenziato in giallo era stato precedentemente scaricato nella cartella ext. Premere Open apparirà nella Library il driver .jar quindi premere OK.
  • a questo  punto è possibile completare il profilo di connessione

Si dovrà inserire:

  • nome per la connessione
  • nell URL: host (ip, dominio), porta e database
  • username e password

Se si verifica l’errore:

"The server time zone value 'EDT' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support."

E’ necessario impostare la variabile serverTimezone = UTC utilizzando il pulsante [ Extended Properties ].

Collegamento diretto a server arvixe

Ricercare una stringa in tutto il database mysql

SQLworkbench in azione. Grazie alla funzione  WbGrepData è possibile ricercare una stringa in qualsiasi campo (field) di tutte le tabelle del database. In questo caso la ricerca della stringa maurizio

WbGrepData -searchValue=maurizio -tables=* -types=table

viene riscontrata in 3 tabelle mysql. Tutte chiaramente visualizzate.

Database Compatibili con SQLworkbench

Risorse:

SQLWorkbench build 125 configurare per PostgreSQL – debian 9.xx

SQLWorkbench è un SQL query tool free particolarmente efficace che supporta un ampio numero di DBMS. Scritto in Java è in grado di interfacciarsi con qualsiasi database per il quale sia disponibile un JDBC driver.  Essendo in java SQLWorkbench potrebbe essere eseguito in qualsiasi Sistema Operativo che disponga di JRE ( Java Runtime Environment).

L’ultima versione stabile è la Build 125 del 5 maggio 2019.
Release Note Build 125.
Con questa release si è avuto un cambio nel layout delle directory. Tutte le librerie addizionali ( es. esportazione excel ) ora si trovano nella sottodirectory /ext.
pertanto conviene effettuare il download con tutte le librerie opzionali che verranno posizionate correttamente.

 Tra i database supportati e testati non poteva mancare PostgreSQL. Di seguito i passi per “installare” e configurare SQLWorkbench per PostgreSQL.

Essendo in Java l’ applicativo SQLWorkbench prevede un package generico che va bene per tutti i sistemi. Di fatto non necessita di una vera installazione è sufficiente scaricare il pacchetto generico, decomprimere e lanciare lo script sqlworkbench.sh. Per poter utilizzare SQLWorkbench è necessario java JRE. Possiamo controllare la versione java disponibile con java -version

# java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b03-2~deb9u1-b03)
OpenJDK 64-Bit Server VM (build 25.212-b03, mixed mode)

per installare Oracle JRE  manualmente su macchina linux si può fare riferimento  al post   Oracle Java Runtime 8 installazione manuale – versione 8.121 – Debian 8.xx 64 bit

Configurare e Installare SQLWorkbench per PostgreSQL


Il pacchetto SQLWorkbench è disponibile alla pagina

http://www.sql-workbench.net/downloads.html

Per poter interagire con postgresql serve inoltre lo specifico driver JDBC.

Aggiornamento il 18/06/2019 a distanza di circa un anno è stata rilasciata la nuova versione del driver jdbc: PostgreSQL JDBC Driver 42.2.6.
Il driver che andra opportunamente configurato in SQL workbench è scaricabile all’indirizzo

https://jdbc.postgresql.org/download.html

Operando con il terminale

scegliamo la directory opt per l’applicazione quindi

su 
mkdir /opt/sqlworkbench
cd /opt/sqlworkbench

SQLWorkBench 125 con le librerie opzionali occupa circa 26MB e può essere scaricato con

# wget http://www.sql-workbench.eu/Workbench-Build125-with-optional-libs.zip ... Workbench-Build125-with-op 100%[=======================================>]  26.40M  1.03MB/s    in 26s  wget http://www.sql-workbench.eu/Workbench-Build125-with-optional-libs.zip

Decomprimiamo il pacchetto con

# unzip Workbench-Build125-with-optional-libs.zip 

Rendiamo eseguibile per tutti gli users lo script di avvio workbench.sh

# chmod a+x sqlworkbench.sh 

La pagina con i JDBC Drivers di Postgresql
https://jdbc.postgresql.org/download.html
il nuovo PostgreSQL JDBC Driver 42.2.6 (16-06-2019) è scaricabile da terminale con

# cd ext 
# wget https://jdbc.postgresql.org/download/postgresql-42.2.6.jar

Volendo si può creare un link simbolico nel desktop con

ln -s /opt/sqlworkbench/sqlworkbench.sh sqlworkbench

avviamo.

Come per le versioni precedenti all’ avvio la finestra in primo piano è quella per creare un profilo di connessione.

Per connettersi a postgresql è necessario a questo punto configurare il driver.

  • Click sul pulsante Manage Drivers
  • In primo piano ci sarà  una nuova finestra Manage drivers
  • Selezionare postgreSQL dall’ elenco di destra con i DBMS supportati
  • Click sul pulsante cartella in alto a sinistra e selezionare il file driver JDBC per postgresql. Evidenziato in giallo era stato precedentemente scaricato nella cartella ext. Premere Open apparirà nella Library il driver .jar quindi premere OK.
  • a questo  punto è possibile completare il profilo di connessione

Si dovrà inserire:

  • nome per la connessione
  • nell URL:  host, porta e database
  • username e password

Collegamento a server postgresql AWS via tunnel ssh 127.0.0.1:54325 porta 54325 ( ssh tunnel per accedere a servizi http, postgresql, samba in remoto )

Ricercare una stringa in tutto il database postgresql

SQLworkbench in azione. Grazie alla funzione  WbGrepData è possibile ricercare una stringa in qualsiasi campo (field) di tutte le tabelle del database. In questo caso la ricerca della stringa Zeus

WbGrepData -searchValue=Zeus -tables=public.* -types=table

viene riscontrata in 18 tabelle postgresql. Tutte chiaramente visualizzate.

Database Compatibili con SQLworkbench

Risorse:

efibootmgr – l’applicazione per interagire e modificare l’ EFI Boot Manager – Linux

efibootmgr è un’applicazione userspace utilizzata per modificare il Boot Manager Extensible Firmware Interface (EFI) di Intel. EFI che oramai ha rimpiazzato il BIOS è l’interfaccia firmware che si occupa del modo in cui hardware e software comunicano in un computer. Tra i benefici di EFI è di essere non legato all’architettura x86.  Attualmente viene implementata l’estensione di  EFI denominata UEFI (Unified EFI ).  Tra i compiti di UEFI c’è proprio anche quello di occuparsi dei servizi di Boot. Grazie ad UEFI è possibile avviare diversi sistemi operativi Linux, Mac, Windows senza la necessità di un bootmanager esterno. UEFI infatti può automaticamente selezionare la partizione appropriata con il sistema operativo. L’unica condizione è che l’hardware e  il software ( SO ) supportino le specifiche UEFI.

Esempi di UEFI Boot Menu.

AsRock FM2 – AMD
x79-Xeon

ATTENZIONE: nei primi tempi le implementazioni UEFI, seppur lungimiranti, sono state accompagnate da diversi bug anche peggiorativi rispetto alla controparte BIOS. In questi casi l’utilizzo di efibootmgr si deve accompagnare alla conoscenza della motherboards specifica. 
In generale poichè si potrebbe anche rendere necessario il caricamento del firmware della MB si sconsiglia la modifica con efibootmgr ( anche nel caso dei Macintosh si sconsiglia la modifica con efibootmgr dei menu entry).
Per disporre di un boot manager userfriendly  si consiglia di valutare l’uso di rEFInd.

Boot Manager: rEFInd

Verificare che il sistema sia stato avviato in UEFI mode

Per poter utilizzare efibootmgr è necessario che le variabili filesystem EFI ( EFI vars )  siano accessibili. Questo implica che il sistema sia stato avviato in EFI mode.

In debian:

# sudo [ -d /sys/firmware/efi ] && echo "EFI boot on HDD" || echo "Legacy boot on HDD"
EFI boot on HDD

dal kernel 4.0 si può verificare che l’avvio sia avvenuto in EFI mode con

# cat /sys/firmware/efi/fw_platform_size
se UEFI mode
64  # se 64 bit 
32  # se 32 bit 
diversamente No UEFI mode  
cat: /sys/firmware/efi/fw_platform_size: No such file or directory 

Per visualizzare le variabili EFI si può utilizzare il comando

# efivar –list

Altro comando per verificare l’avvio in EFI mode

#mount | grep efivars
efivarfs on /sys/firmware/efi/efivars type efivarfs (ro,relatime)

Se  il sistema NON è stato avviato in EFI mode digitando efibootmgr avremo il seguente messaggio:

# efibootmgr 
EFI variables are not supported on this system.

UEFI Boot Manager

Usualmente un Computer UEFI mette a disposizione anche tool di configurazione per il menu del Boot Manager EFI. Se il tool non è sufficientemente amichevole  è preferibile utilizzare il già citato rEFInd oppure l’applicazione efibootmgr oggetto del post.

Efibootmgr

Efibootmgr può creare e rimuovere le voci nel menu di avvio UEFI, modificare l’ordine delle voci nel menu e altro ancora.

In debian/ubuntu  efibootmgr si installa da terminale al solito con

# apt install efibootmgr

lanciato efibootmgr verranno visualizza i dati relativi all’ UEFI Boot Manager con il menu di Avvio UEFI, la voce di avvio corrente del sistema, l’ordine di visualizzazione,…

# efibootmgr 
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0000,0001,0006,0004,0005,0002
Boot0000* ubuntu
Boot0001* mx
Boot0002* UEFI: Built-in EFI Shell 
Boot0004* Hard Drive 
Boot0005* USB 
Boot0006* UEFI: Samsung Flash Drive 1100

Il menu di avvio è composto da 6 voci: Boot0000, Boot0001, …

BootCurrent: la prima linea evidenzia quella che è la voce predefinita del menu di avvio. In questo caso mx.

Timeout: il tempo di attesa del menu di avvio che risulta di default inpostato a 0 infatti in genere non si riesce a vedere il menu di avvio.

BootOrder: la successione che verra seguita qualora il precedente menu entry non venga caricato / fallisca il caricamento.
Nell’esempio l’ordine seguito sarà: 0000,  0001, 0006, 0004, 0005, 0002

E ‘  possibile visualizzare le voci del menu EFI  in modo completo utilizzando l’opzione -v verbose

# efibootmgr 
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0000,0001,0006,0004,0005,0002
Boot0000* ubuntu	HD(2,GPT,defb0216-f5f6-4969-8345-ff816517a944,0xee800,0x1ad000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* mx	HD(1,GPT,9c281ac1-76a6-4b39-b2c2-ff65b0d0bef6,0x800,0x1ef000)/File(\EFI\mx\grubx64.efi)
Boot0002* UEFI: Built-in EFI Shell 	VenMedia(5023b95c-db26-429b-a648-bd47664c8012)AMBO
Boot0004* Hard Drive 	BBS(HD,,0x0)AMGOAMNO........m.S.e.a.g.a.t.e. .S.T.9.5.0.0.5.6.2.0.A.S....................A.........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .Y.5.1.X.D.C.C.9......AMBO
Boot0005* USB 	BBS(USB,,0x0)AMGOAMNO........s.S.a.m.s.u.n.g. .F.l.a.s.h. .D.r.i.v.e. .1.1.0.0....................A.......................F..Gd-.;.A..MQ..L.S.a.m.s.u.n.g. .F.l.a.s.h. .D.r.i.v.e. .1.1.0.0......AMBO
Boot0006* UEFI: Samsung Flash Drive 1100	PciRoot(0x0)/Pci(0x10,0x0)/USB(2,0)/HD(1,MBR,0x23,0x800,0x4e3e800)AMBO

In questo caso è possibile individuare anche le informazioni relative al percorso del bootloader. Ad esempio la varibile mx, ( Boot0001) relativa alla derivativa debian, mx linux, evidenzia che il booloader è di fatto GRUB. Il percorso con la configurazione efi ( grubx64.efi), menu entry ( mx) per il bootloader grub nella partizioni EFI system partition risulta essere (\EFI\mx\grubx64.efi ). La partizione è localizzata nel disco 1 che è partizionato GPT.

Cambiare il Timeout

Se si desidera visualizzare il menu per poter scegliere sempre dal bootmanager EFI si può portare il timeout a 5 srecondi con

efibootmgr -t 5

Cambiare l’ordine di avvio

Per cambiare l’ordine di avvio si utilizza l’opzione -o

efibootmgr -o 0001,0000,0006,0004,0005,0002

è possibile cambiare l’ordine solo per il primo successivo avvio.
In questo caso si usa l’opzione -n

efibootmgr -n 0002

Creare una voce nel menu di boot EFI

Per aggiungere un entry al menu EFI si usa l’opzione -c

efibootmgr -c -d /dev/sdb -p 2 -L “Debian” -l “\EFI\debian\grubx64.efi”

efibootmgr -c -d /dev/sdb -p 1 -L "multibootusb" -l "\EFI\boot\bootx64.cfg"
  • --create or -c crea una nuova voce;
  • --part or -p seguito dal numero di partizione della Partizione di Sistema EFI;
  • --disk or -d seguito dal disco nel quale la Partizione di Sistema EFI è ospitata;
  • --label or -L seguito dall’etichetta da utilizzare come voce nel menu di avvio;
  • --loader or -l seguito dal percorso dell’immagine EFI da avviare \EFI\boot\bootx64.cfg.

Cancellare una voce dal menu EFI

per cancellare un voce di menu di utilizza l’opzione -B

efibootmgr -b 4 -B

–bootnum (-b) seleziona la voce del menu da cancella
–delete-bootnum (-B) effettua la cancellazione

Se la voce cancellata era la prima fare attenzione e cambiare l’ordine di avvio dei menu.

UEFI Bootloader di fallback

Nelle specifiche UEFI 2.3, section 3.4.1.2, si precisa che in assenza di boot variabili configurate è permesso al firmware trattare la EFI system partition come media rimovibile – il percorso di boot sarà EFI/boot/bootx64.efi.

Quindi va considerata l’opportunità dell’installazione di un bootloader di fallback. Di seguito esempi di bootloader di fallback per debian e window

Nel caso di Debian Linux boot entry in NVRAM debian percorso di Boot EFI nella partizione EFI system partition:

EFI/debian/grubx64.efi

il percorso del bootloader di fallback risulta essere

EFI/boot/grubx64.efi

ad esempio nel caso di window variabile di boot configurata: microsoft
oltre a percorso di boot

EFI/microsoft 

potremmo avere il percorso di fallback

EFI/boot/bootx64.efi  

 

Opzioni efibootmgr:

-a | –active
Sets bootnum active
-A | –inactive
Sets bootnum inactive
-b | –bootnum XXXX
Modify BootXXXX (hex)
-B | –delete-bootnum
Delete bootnum (hex)
-c | –create
Create new variable bootnum and add to bootorder
-d | –disk DISK
The disk containing the loader (defaults to /dev/sda)
-e | –edd 1|3|-1
Force EDD 1.0 or 3.0 creation variables, or guess.
-E | –device NUM
EDD 1.0 device number (defaults to 0x80)
-g | –gpt
Force disk with invalid PMBR to be treated as GPT
-H | –acpi_hid XXXX
set the ACPI HID (used with -i)
-i | –iface NAME
create a netboot entry for the named interface
-l | –loader NAME
Specify a loader (defaults to \\elilo.efi)
-L | –label LABEL
Boot manager display label (defaults to “Linux”)
-n | –bootnext XXXX
Set BootNext to XXXX (hex)
-N | –delete-bootnext
Delete BootNext
-o | –bootorder XXXX,YYYY,ZZZZ
Explicitly set BootOrder (hex)
-O | –delete-bootorder
Delete BootOrder
-p | –part PART
Partition number containing the bootloader (defaults to 1)
-q | –quiet
Quiet mode – supresses output.
–test filename
Don’t write to NVRAM, write to filename.
-t | –timeout seconds
Boot Manager timeout, in seconds.
-T | –delete-timeout
Delete Timeout variable.
-u | –unicode | –UCS-2
pass extra command line arguments as UCS-2 (default is ASCII)
-U | –acpi_uid XXXX
set the ACPI UID (used with -i)
-v | –verbose
Verbose mode – prints additional information
-V | –version
Just print version string and exit.
-w | –write-signature
write unique signature to the MBR if needed
-@ | –append-binary-args
append extra variable args from file (use – to read from stdin). Data in file is appended as command line arguments to the boot loader command, with no modification to the data, so you can pass any binary or text data necessary.

Risorse:

CloneZilla – Clonare un hard disk su un disco più piccolo

Clonezilla l’efficace tools free e open source per  la clonazione di dischi e partizioni non consente in modalità standard la clonazione verso un disco fisso più piccolo anche quando  la quantità di dati da trasferire non eccede la capacità del disco di destinazione.
Tuttavia se  si utilizza la modalità expert è possibile effettuare la copia del hard disk più grande verso un hard disk più piccolo. L’accorgimento che si deve avere è sfruttare le opzioni -icds e l’opzione –k2 sopratutto che consente di copiare la tabella partizioni manualmente prima dell’avvio definitivo della clonazione.

Di seguito le schermate principali e il listato da terminale generato da clonezilla nella clonazione di un disco seagate SATA 2.5 da 500GB verso un disco hitachi IDE 2.5 da 80GB collegato con adattatore su porta usb 2.0.

Il disco seagate da clonare ha la seguente organizzazione 7 partizioni e circa 55GB di dati nella prima porzioni del disco.

avviare clonezilla da terminale come superuser e avremo a disposizione li menu interativo

# sudo su 
# clonezilla 

Selezionare copia da disco/partizione a disco/partizione senza il passare per un immagine.

Selezionare la modalità Expert

clonezilla-st500nvmego-80_003exp-1.jpg

Selezionare disk to local disk

clonezilla-st500nvmego-80_004dtod.jpg

Selezionare il disco sorgente/ source disk  in questo caso il segate da 500 GB

clonezilla-st500nvmego-80_004dtod_1.jpg

Adesso selezioanre il disco destinazione

clonezilla-st500nvmego-80_004dtod_2-1.jpg

Nella schermata con  i parametri extra di clonezilla selezionare anche il parametro -icds

clonezilla-st500nvmego-80_004dtodexp_1.jpg

Optiamo per il check e l’eventuale repair del source

clonezilla-st500nvmego-80_004dtodexp_2noskip.jpg

La scelta che segue è la più importante -k2 ( Enter command line prompt to create partition manually later ).

Clonezilla-St500nvmeGO-80_004dtodexp_k2

A questo punto appare un messaggio ci informa che la clonazione è in pausa e ci viene permesso di creare la tabella delle partizioni nel disco di destinazione manualmente. Possiamo riavvare successivamente la procedura di clonazione digitando exit da terminale.

...
...
*****************************************************.
Now enter another shell to allow you to create partition table on 
the destination disk. You may use fdisk, cfdisk, sfdisk or parted 
to do that. When everything is done, run "exit" to go back to the original program.
Press "Enter" to continue......

Clonare la tabella delle partizioni del disco sorgente nel disco di destinazione con sgdisk.
Attenzione in sgdisk prima il disco destinazione /dev/sdc  poi il disco da clonare.
Dettagli nel post

CLONARE LA TABELLA DELLE PARTIZIONI IN ALTRO DISCO: SGDISK ( GTP ) SFDISK ( MBR )\

e riavviare la clonazione digitando exit

# sgdisk -R /dev/sdc /dev/sda
Caution! Secondary header was placed beyond the disk's limits! Moving the
header, but other problems may occur!
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

# exit
exit
Informing the OS of partition table changes.... done!
The disk and partitions in this system now:
*****************************************************.
Model: Hitachi HTS541680J9AT00 (scsi)
Disk /dev/sdc: 80.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1039MB  1038MB                     bios_grub
 2      1039MB  2622MB  1583MB
 3      2622MB  36.7GB  34.1GB
...

A questo punto si avvia la clonazione vera e propria di tutte le partizioni. la schermata che accompagna la clonazione della partizione sda3

clonezilla-st500nvmego-80_004dtodexp_partclone_4.jpg

Clonezilla è un tools ben fatto per avere tutti ipacchetti a disposizione per i vari tipi di partizione potrebbe essere conventiente usare una live dedicata.
Comunque con un po’ di attenzione e seguendo i messaggi da terminale è possibile individuare tutti i pacchetti che dovessero rendersi necessari compresi quelli per le partizioni macintosh (+hfs).

Il risultato finale partizionamento Hitachi 80GB su porta USB.

ST500-25-xGOnvme-80cloned

Di seguito il listato generato da clonezilla a livello di terminale nella clonazione in modalità expert con l’opzioni -icds e  -k2  da disco grande a disco più piccolo

root@mx-nvme:/home/ms# clonezilla
Clonezilla mode is device-device
Setting the TERM as xterm-256color
Starting /usr/sbin/ocs-onthefly at 2019-06-25 14:05:21 CEST...
Excluding busy partition or disk...
Disk number: 3
Excluding busy partition or disk...
Disk number: 2
PS. Next time you can run this command directly:
/usr/sbin/ocs-onthefly -g auto -e1 auto -e2 -j2 -r -icds -fsck-src-part -k2  -f sda -t sdc
This command is also saved as this file name for later use if necessary: /tmp/ocs-onthefly-2019-06-25-14-11
****************************************************.
Press "Enter" to continue...
*****************************************************.
///WARNING/// filesystem.squashfs not found! No idea where is LIVE MEDIA!!! Assume this is running in DRBL client.
*****************************************************.
setterm: terminal xterm-256color does not support --blank
*****************************************************.
Searching for data partition(s)...
Excluding busy partition or disk...
Unmounted partitions (including extended or swap): sdc1 sdc2
Collecting info... done!
Getting /dev/sdc1 info...
Getting /dev/sdc2 info...
WARNING!!! WARNING!!! WARNING!!!
WARNING! THE EXISTING DATA IN THIS HARDDISK/PARTITION(S) WILL BE OVERWRITTEN! ALL EXISTING DATA WILL BE LOST: sdc
*****************************************************.
Machine: Unknown product name
sdc (80.0GB_HTS541680J9AT00__Hitachi_HTS541680J9AT00-0:0)
sdc1 (59.3G_exfat(In_HTS541680J9AT00_)_Hitachi_HTS541680J9AT00-0:0)
sdc2 (15.2G_ext4(In_HTS541680J9AT00_)_Hitachi_HTS541680J9AT00-0:0)
*****************************************************.
*****************************************************.
Are you sure you want to continue? (y/n) y
OK, let's do it!!
*****************************************************.
Let me ask you again.
WARNING!!! WARNING!!! WARNING!!!
WARNING! THE EXISTING DATA IN THIS HARDDISK/PARTITION(S) WILL BE OVERWRITTEN! ALL EXISTING DATA WILL BE LOST: sdc
Are you sure you want to continue? (y/n)
re you sure you want to continue? (y/n) y
OK, let's do it!!
*****************************************************.
Saving the GPT of /dev/sda as /tmp/ocs_onthefly_local.Ri34n8/src-gpt.gdisk by sgdisk...
The operation has completed successfully.
Saving the primary GPT of /dev/sda as /tmp/ocs_onthefly_local.Ri34n8/src-gpt-1st.img by dd...
34+0 records in
34+0 records out
17408 bytes (17 kB, 17 KiB) copied, 0.000222642 s, 78.2 MB/s
Saving the secondary GPT of /dev/sda as /tmp/ocs_onthefly_local.Ri34n8/src-gpt-2nd.img by dd...
32+0 records in
32+0 records out
16384 bytes (16 kB, 16 KiB) copied, 0.000175774 s, 93.2 MB/s
*****************************************************.
Collecting partition /dev/sda1 info...
Collecting partition /dev/sda2 info...
Collecting partition /dev/sda3 info...
Collecting partition /dev/sda4 info...
Collecting partition /dev/sda5 info...
Collecting partition /dev/sda6 info...
Collecting partition /dev/sda7 info...
Non-grub boot loader found on /tmp/ocs_onthefly_local.Ri34n8/sdc-mbr...
The CHS value of hard drive from EDD will be used for sfdisk.
Sfdisk >= 2.26 does not support C/H/S option. Skip using C/H/S option.
*****************************************************.
Searching for data partition(s) in source disk: sda ...
Excluding busy partition or disk...
Unmounted partitions (including extended or swap): sda1 sda2 sda3 sda4 sda5 sda6 sda7
Collecting info........ done!
*****************************************************.
Running file system check and repair for /dev/sda1...
Running: fsck -f  /dev/sda1
fsck from util-linux 2.29.2
fsck.fat 4.1 (2017-01-24)
/dev/sda1: 3 files, 34/252940 clusters
Running file system check and repair for /dev/sda2...
Running: fsck -f  /dev/sda2
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda2: 11/96000 files (0.0% non-contiguous), 15356/386560 blocks
Running file system check and repair for /dev/sda3...
Running: fsck -f  /dev/sda3
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
rootMX18.1: 265235/2088960 files (0.0% non-contiguous), 1641803/8326912 blocks
Running file system check and repair for /dev/sda4...
Running: fsck -f  /dev/sda4
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
boot: 779/106496 files (0.5% non-contiguous), 164652/407040 blocks
Running file system check and repair for /dev/sda5...
Running: fsck -f  /dev/sda5
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda5: 341/169680 files (1.5% non-contiguous), 49544/657664 blocks
Running file system check and repair for /dev/sda6...
Running: fsck -f  /dev/sda6
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda6: 314/171024 files (1.6% non-contiguous), 73266/685312 blocks
Running file system check and repair for /dev/sda7...
Running: fsck -f  /dev/sda7
fsck from util-linux 2.29.2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda7: 11/640848 files (0.0% non-contiguous), 65844/2560000 blocks
*****************************************************.
Will create the partition on the target machine...
Trying to clean the MBR and GPT partition table on the destination disk first: /dev/sdc
Informing the OS of partition table changes... done!
*****************************************************.
Now enter another shell to allow you to create partition table
on the destination disk. You may use fdisk, cfdisk, sfdisk or parted
to do that. When everything is done, run "exit" to go back to the original program.
Press "Enter" to continue......

# sgdisk -R /dev/sdc /dev/sda
Caution! Secondary header was placed beyond the disk's limits! Moving the
header, but other problems may occur!
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

# exit
exit
Informing the OS of partition table changes.... done!
The disk and partitions in this system now:
*****************************************************.
Model: Hitachi HTS541680J9AT00 (scsi)
Disk /dev/sdc: 80.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1039MB 1038MB bios_grub
2 1039MB 2622MB 1583MB
3 2622MB 36.7GB 34.1GB
4 36.7GB 38.4GB 1667MB
5 38.4GB 41.1GB 2694MB
6 45.7GB 48.5GB 2807MB
7 48.5GB 59.0GB 10.5GB

*****************************************************.
done!
*****************************************************.
*****************************************************.
Searching for data partition(s) in source disk: sda ...
Excluding busy partition or disk...
Unmounted partitions (including extended or swap): sda1 sda2 sda3 sda4 sda5 sda6 sda7
Collecting info........ done!
*****************************************************.
Source partition file system is vfat...
Cloning the /dev/sda1 to /dev/sdc1...
Clean filesystem header in device /dev/sdc1...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.vfat -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda1 -O /dev/sdc1
Cloned successfully.
*****************************************************.
Source partition file system is ext4...
Cloning the /dev/sda2 to /dev/sdc2...
Clean filesystem header in device /dev/sdc2...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda2 -O /dev/sdc2
Cloned successfully.
*****************************************************.
Source partition file system is ext4...
Cloning the /dev/sda3 to /dev/sdc3...
Clean filesystem header in device /dev/sdc3...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda3 -O /dev/sdc3
Cloned successfully.
*****************************************************.
Source partition file system is ext4...
Cloning the /dev/sda4 to /dev/sdc4...
Clean filesystem header in device /dev/sdc4...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda4 -O /dev/sdc4
Cloned successfully.
*****************************************************.
Source partition file system is ext4...
Cloning the /dev/sda5 to /dev/sdc5...
Clean filesystem header in device /dev/sdc5...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda5 -O /dev/sdc5
Cloned successfully.
*****************************************************.
Source partition file system is ext4...
Cloning the /dev/sda6 to /dev/sdc6...
Clean filesystem header in device /dev/sdc6...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda6 -O /dev/sdc6
Cloned successfully.
*****************************************************
Source partition file system is ext4...
Cloning the /dev/sda7 to /dev/sdc7...
Clean filesystem header in device /dev/sdc7...
*****************************************************.
Using partclone to clone...
Run partclone: partclone.ext4 -z 10485760 -N -L /var/log/partclone.log -b -s /dev/sda7 -O /dev/sdc7
Cloned successfully.
*****************************************************.
*****************************************************.
Searching for data partition(s) in target disk for post process: sdc...
Excluding busy partition or disk...
Unmounted partitions (including extended or swap): sdc1 sdc2 sdc3 sdc4 sdc5 sdc6 sdc7
Collecting info........ done!
*****************************************************.
Now tuning the file system size on partition /dev/sdc1 to fit the partition size...
Program fatresize not found! Skip this partition /dev/sdc1
*****************************************************.
Now tuning the file system size on partition /dev/sdc2 to fit the partition size...
e2fsck -f -y /dev/sdc2; resize2fs -p -f /dev/sdc2
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdc2: 11/96000 files (0.0% non-contiguous), 15356/386560 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 386560 (4k) blocks long. Nothing to do!

*****************************************************.
Now tuning the file system size on partition /dev/sdc3 to fit the partition size...
e2fsck -f -y /dev/sdc3; resize2fs -p -f /dev/sdc3
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
rootMX18.1: 265235/2088960 files (0.0% non-contiguous), 1641803/8326912 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 8326912 (4k) blocks long. Nothing to do!

*****************************************************.
Now tuning the file system size on partition /dev/sdc4 to fit the partition size...
e2fsck -f -y /dev/sdc4; resize2fs -p -f /dev/sdc4
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
boot: 779/106496 files (0.5% non-contiguous), 164652/407040 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 407040 (4k) blocks long. Nothing to do!

*****************************************************.
Now tuning the file system size on partition /dev/sdc5 to fit the partition size...
e2fsck -f -y /dev/sdc5; resize2fs -p -f /dev/sdc5
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdc5: 341/169680 files (1.5% non-contiguous), 49544/657664 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 657664 (4k) blocks long. Nothing to do!

*****************************************************.
Now tuning the file system size on partition /dev/sdc6 to fit the partition size...
e2fsck -f -y /dev/sdc6; resize2fs -p -f /dev/sdc6
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdc6: 314/171024 files (1.6% non-contiguous), 73266/685312 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 685312 (4k) blocks long. Nothing to do!

*****************************************************.
Now tuning the file system size on partition /dev/sdc7 to fit the partition size...
e2fsck -f -y /dev/sdc7; resize2fs -p -f /dev/sdc7
e2fsck 1.43.4 (31-Jan-2017)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdc7: 11/640848 files (0.0% non-contiguous), 65844/2560000 blocks
resize2fs 1.43.4 (31-Jan-2017)
The filesystem is already 2560000 (4k) blocks long. Nothing to do!

*****************************************************.
Creating the swap partition if exists...
*****************************************************.
Trying to remove udev hardware record in the restored OS...
The specified destination device: sdc1 sdc2 sdc3 sdc4 sdc5 sdc6 sdc7
Trying to remove udev persistent files. The devices to be searched: sdc1 sdc2 sdc3 sdc4 sdc5 sdc6 sdc7...
Skip /dev/sdc1 (vfat).
Now searching possible device /dev/sdc2...
Now searching possible device /dev/sdc3...
Now searching possible device /dev/sdc4...
Now searching possible device /dev/sdc5...
Now searching possible device /dev/sdc6...
Now searching possible device /dev/sdc7...
done!
*****************************************************.
Device /dev/sdc2 is not a FAT partition.
Skip updating syslinux on that.
Device /dev/sdc3 is not a FAT partition.
Skip updating syslinux on that.
Device /dev/sdc4 is not a FAT partition.
Skip updating syslinux on that.
Device /dev/sdc5 is not a FAT partition.
Skip updating syslinux on that.
Device /dev/sdc6 is not a FAT partition.
Skip updating syslinux on that.
Device /dev/sdc7 is not a FAT partition.
Skip updating syslinux on that.
*****************************************************.
Run grub install on disk sdc...
Found grub partition: /dev/sdc3
Found grub 2 installed in the restored OS.
Test if we can chroot the restored OS partition /dev/sdc3...
Yes, we are able to chroot the restored OS partition /dev/sdc3.
Trying to use the grub2 in the restored OS...
Running: run_grub2_from_restored_os "/dev/sdc3" "/dev/sdc3" "/dev/sdc"
Re-installing grub2 on disk/partition /dev/sdc with grub2 dir in partition /dev/sdc3 and root partition /dev/sdc3...
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory.
Unable to use the grub 2 in the restored OS, trying another method...
Trying to use the grub2 from the running OS...
Checking grub-install version...
Running: grub-install --force --recheck --root-directory=/tmp/hd_img.MOkrC9 /dev/sdc
Installing for x86_64-efi platform.
grub-install: error: /tmp/hd_img.MOkrC9 doesn't look like an EFI partition.
Failed to install grub!!!
*****************************************************.
Try to run partclone.ntfsfixboot for NTFS boot partition if it exists. Scanning partition(s): sdc1 sdc2 sdc3 sdc4 sdc5 sdc6 sdc7...
The NTFS boot partition was not found or not among the restored partition(s). Skip running partclone.ntfsfixboot.
*****************************************************.
Checking if udevd rules have to be restored...
Now syncing - flush filesystem buffers...

Ending /usr/sbin/ocs-onthefly at 2019-06-25 14:31:55 CEST...
Press "Enter" to continue......

Risorse: