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:

X79-P3 – una motherboard X79 completa ben riconosciuta da Debian 10.xx

Ancora un post dedicato alla realizzazione di una macchina debian linux con motherboard x79. La scheda è la versione con connettore verdi della Jingsha X79 – P3. Rilasciata nella primavera estate del 2019 la P3 è una delle più avanzate X79 cinesi attualmente disponibili.

Oltre alla modalità quad channel per l’accesso alla memoria ( 128 GB max ) che può essere come sempre DDR3 U-DIMM ( pc standard – memorie unbuffered ) o R-DIMM ( server – memoria registered ) con e senza controllo di parità (ECC) abbiamo il supporto ai processori con socket LGA 2011.
Precisamente  Xeon E5 v1 (Sandy-Bridge) e Xeon E5 v2 (Ivi Bridge), Xeon 1600 e Core i7 (sandy Bridge-E) che possono essere facilmente trovati di seconda mano a basso costo. 


La X79-P3 presenta inoltre:

  • ben 3 slot PCI-e x16, 1 slot PCI-e x4 e 1 slot PCI-e x1.
  • connettore NVME con supporto al PCI-e x4 che consente il boot diretto ad alta velocità.
  • 4 USB 3.0
  • modalità di sospensione pienamente funzionante in Windows 10
  • 7.1 audio ( ALC892)
  • Status Code su led display a due caratteri ( video in basso ) .
  • nota di colore abbiamo con un Ambient led rossa sulla sinistra una striscia led con effetto fade ( secondo video sotto).

Il chipset di queste schede è, in genere, il chipset X79 nella versione arancio e C602 nella versione con connettori verdi ( versione in esame ).

Per quanto riguarda il connettore NVME va evidenziata una posizione non proprio felice. Infatti se si usa come “game machine” risulta troppo vicino allo slot per la scheda video. Questo comporta che non può essere utilizzato un NVME con dissipatore. Inoltre l’accesso alla NVME richiede la rimozione obligatoria della scheda video.
Ovviamente si può utilizzando un adattatore e montare NVME su uno slot x16 come si intravede nel video sottostante . La velocità del disco sempre di tutto rispetto. In questo video con gli status code si intravede sul secondo slot PCI-e x16 il disco NVME Sabrent Rocket su adapter NVME MFHK (Adattatore NVME NFHK e Intel SSD 660p in Linux )

CONTRO:
Seppur ben confezionata non si può non evidenziare che oramai tutte queste schede vengono spesso fornite senza manuali e senza disco driver.
Trattandosi comunque di una tecnologia con qualche annetto alle spalle in genere sia Windows che Linux riconoscono tutto senza problemi e possibile comunque anche installare driver specifici per Windows. In fondo al post alcuni link eventualmente utilizzabili.

Anche se manca il manuale i vari componenti e connettori sono facilmente individuabili nello schematico sopra riportato.

Questa la versione con connettori arancio la prima rilasciata con il logo Jingsha in evidenza. La versione con connettori in verde non evidenzia particolari differenze a libello di piastra madre. Come già evidenziato il chipset può variare da X79 chipset per desktop C602 per server.

La scheda madre x79 in oggetto, ha stampato sulla piastra X79-P3 v: 1.0.
Da un punto di vista estetico ricorda un po’ la Huananzhi X79 Deluxe è probabile che sia realizzata negli stessi stabilimenti. Però dal lato pratico ci sono importanti differenze inoltre ed è più economica.

Sospensione

Perchè la sospensione in Windows 10 si attivi correttamente conviene impostare a livello di Bios “ACPI sleep state parameter” su “S3 only”.

bios-300x163

In generale nelle motherboard X79 cinesi qualora la sospensione dia problemi conviene controllare che tastiera e mouse non siano collegate a connettori USB 3.0.  Conviene in questi casi utilizzare i connettori USB 2.0 per tastiera e mouse.

Sensori temperatura

Ecco finalmente una X79 cinese con il sensore per la temperatura della motherboard nativamente funzionante.

A voler essere proprio “precisini” dopo ibernazione il sensore della MB potrebbe non riportare il valore correttamente.

Window 10 e Jinghsa X79-P3

Di seguito alcuni report con la scheda la X79-P3 e Windows 10.
Di seguito i dati di test con processore Xeon E5-2630L V2, disco Rocket NVME Sabrent da 256 GB e una scheda grafica XFX RX 580 con 8 GB.

Scheda sotto stress Con OCCT si nota la Cpu al 100% e nessun errore rilevato

X79-P3 sotto stress con OCCT V.5.5.3

Di seguito le performance CrystalDiskMark del NVME Sabrent Rocket da 256GB installato sul secondo connettore PCI x16

Sabrent Rocket 256GB – DiskMark

Linux e Jingsha X79-P3

Debian

L’installazione con Debian 10  non evidenzia problemi e l’unità NVME è ben riconosciuta come disco di avvio.

La scheda madre x79 in oggetto, ha stampato sulla piastra X79-P3 v: 1.0.

Chipset riconosciuto

lshw | grep chipset
product: C600/X79 series chipset PCI Express Virtual Root Port
....

CPU-X portable – CPU-Z per linux ( quasi )

Phoronix benchmark

Test sommario con phoronix Unigine Heaven v4.0.
Il risultato è migliorabile anche perchè il test è stato avviato con altre applicazioni attive.

phoronix-test-suite run unigine-heaven
X79-P3 Phoronix Unigine-Heaven

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

Avvio del test con

phoronix-test-suite run unigine-heaven

Per quanto attiene ai consumi ovviamente si passa da 85 Watt 225- 250 watt

Linux disco SSD NVME

In Debian 10 testing la velocità del disco SSD NVME è in linea con quanto registrato da CristalDiskMark in Windows 10

Dettagli della configurazione di test:

Dettagli del sistema testato.

Il sistema è stato assemblato utilizzando hardware usato o già a disposizione. Nuova la sola mortherboard.

  • Motherboard x79-P3 V.1.0 LGA 2011 ( circa 83 Euro Amazon )
  • CPU: Intel Xeon E5-2630L V26 core CPU ( usato )
    Dissipatore : ARCTIC Alpine 20 CO
  • RAM: 32GB DDR3 1333 R-DIMM ECC Samsung
  • Scheda Video XFX AMD RX580 8GB
  • SSD NVME Sabrent Rocket 256GB
  • Sistema Operativo: Debian 10 testing
  • Alimentatore da 460 Watt
  • Nessun overclock

Dettagli del sistema grazie ad inxi

# inxi -Fxz
Specifiche del sistema basato sulla X79-P3 utilizzando inxi

System information via phoronix suite

# phoronix-test-suite system-info

I vari tipi di memoria sono descritti sinteticamente nel post:  Memorie DIMM SDRAM DDR: U-DIMM, U-DIMM ECC, R-DIMM, R-DIMM ECC.

Come già evidenziato nessun problema nell’installazione di Debian se non la necessità di installare i soliti driver non free per la scheda di rete  firmware-realtek_0.43_all.deb.  Ubuntu non dovrebbe richiedere neppure questo mettendo da subito a disposizione anche i driver non free.

Caratteristiche della scheda:

  • Chipset: C602/X79 
    Product Name: X79-P3
  • Cpu:  Xeon E5 1600 e 2600 V1 e V2 , core i7 Sandy Bridge-E
  • BIOS: American Megatrend v 4.6.5  data 10/29/2019
  • Memory4 x 240pin DDR3 1333/1600/1866 , quattro canali, capacità massima dichiarata 64 GB
  • PCI Express:
    • 3 x PCI Express x 16 supporta schede grafiche PCI 3.0,
    • 1 x PCI Express  x  4
    • 1 x PCI Express  x  1
  • LAN:  RTL 8111el   Realteck 10/100/1000 LAN
  • SATA:
    • 1 x NVME ( PCI-e x4 @3.0)
    • 2 x SATA 3.0
    • 4 x SATA 2.0
  • Audio: Realteck ALC6892 7.1 Channel
  • USB: 4 x USB 3.0 ( + su chassis ) ,  4 x USB 2.0 ( + remote su chassis)
  • 1 x CPU Fan ( 4pin ) , 1 x case fans
  • 1 x RS232
  • I/O connectors:
    • 1 Ps/ 2  Keyboard
    • 1 Ps/2 Mouse
    • 1 RJ45  Giga LAN Realteck
    • 4 x USB 3.0
    • 2 x USB 2.0
    • audio:  input/output/mic
    • 7.1 Channel Audio
    • Ovviamente mancano connettori per display
  • Dimensioni: 305 mm x 220mm ATX
  • Brand: Non indicato

Processori supportati

Elenco parziale da aggiornare …

Processori: i7 Core

i7 3820,  i7 3930K,  i7 3960x,  i7 3970x, i7 4820K, i7 4930k, i7 4960x e altri

Processori: Intel Xeon

Xeon v1 ( Sandy Bridge ) e Xeon v2 ( Ivi Bridge )  E5-16xx, E5-26xx, E5-46xx

Elenco esemplificativo di processori Xeon supportati :

 Xeon V.1Xeon V.2
 Xeon E5-1620Xeon E5-1620 v2
 Xeon E5-1650Xeon E5-1650 v2
 Xeon E5-1660Xeon E5-1660 v2
Xeon E5-1680Xeon E5-1680 v2
 Xeon E5-2603 v2
 Xeon E5-2620Xeon E5-2620 v2
 Xeon E5-2628L v2 (basso consumo)
Xeon E5 2630Xeon E5-2630 v2
Xeon E5-2630L ( basso consumo )Xeon E5-2630L v2
 Xeon E5-2637 v2
Xeon E5-2640Xeon E5-2640 v2
Xeon E5-2643Xeon E5-2643 v2
 Xeon E5-2648L v2 (basso consumo)
Xeon E5 2650Xeon E5-2650 v2
Xeon E5 2658 ( usato per il test ) Xeon E5-2658 v2
 Xeon E5-2660Xeon E5-2660 v2
 Xeon E5-2667Xeon E5-2667 v2
 Xeon E5-2670Xeon E5-2670 v2
 Xeon E5-2680Xeon E5-2680 v2
Xeon E5-2687W 
 Xeon E5-2690 v2
 Xeon E5-2695 v2
 Xeon E5-2697 v2
  
Xeon E5-4603 
Xeon E5-4616 
Xeon E5-4640 
Xeon E5-4650 
Xeon E5-4616 

Xeon E5-2630 V2

La cpu Xeon E5-2630L è una cpu a 6 core 12 thread di discreta potenza con consumi come riportato tutto sommato contenuti.

Esempio di test phoronic

Nel corso del test phoronic Smallpt   i consumi massimi del pc sono stati 140 W .  Consumi in idle circa85W.   Nmon evidenzia come tutte le unità di calcolo della cpu XEON siano al 100% nel corso del test.

# phoronix-test-suite benchmark smallpt

Molte sono le CPU Xeon E5-xxxx v1 e v2 rilasciate e che conseguentemente si possono acquistare usate in rete.
Per un computer versatile un processore interessante è senz’altro E5-2650 V2 8 core 95Watt ( 50 euro ) .
Per un computer da gioco privilegiare le cpu con elevate performance per Single Thread praticamente quella con più alta frequenza e magari che supporti l’overclock E5-1620 .
Per un home server vale la pena considerare anche i consumi le versioni a basso consumo marcate L non sono molte. Il TDPdi  65W le rende  decisamente interessanti. Per confrontare le prestazioni in base ai Watt spesi il sito cpubenchmark ha un interessante tabella riepilogativa
https://www.cpubenchmark.net/CPU_mega_page.html

Nell’elenco le CPU sono ordinate per Power performance

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:

Aggiornare WordPress Manualmente – Windows 2012

Talvolta può rendersi necessario l’upgrade manuale di wordpress.
Di seguito i passi per portare a termine la procedura su server windows 2012 la procedura è simile a quella utilizzata per aggiornare manualmente wordpress su macchine linux.  La procedura descritta anche se ha validà generale è applicata all’aggiornamento di wp da 4.9.9 a 5.2.2. La procedura per l’update manuale è raggiungibile su wordpress.org con il seguente link wp manual update.

Backup completo di wordpress

Il primo passa da compiere consiste del  realizzare un backup completo del sito.

Se si dispone di un backup e qualcosa va storto si può sempre ripristinare wordpress e riprovare. 

Un bel zip della cartella di wordpress con le classiche sottodirectory wp-admin, wp-content, wp-includes e il backup dell’azplicazione è pronto.

wp_backup_w2008

E’ opportuno copiare non solo le cartelle ma anche il database.
E’ infatti altamente probabile che l’aggiornamento determini un upgrade anche del database.
Per il backup del database si può utilizzare mysqldump

Aggiornamento Manuale da WordPress 4.9.6 a WordPress 5.2.2

.1) Disattivare i plugins presenti. Spuntare i checkbox di tutti i plugins e applicare Deactivate bulk action.

.2) Scaricare l’ultima versione, attualmente la 5.2.2, di wordpress che è  disponibile alla pagina:  https://wordpress.org/download/.
File: https://wordpress.org/latest.zip

Decomprimere il file wordpress-5.2.2.zip scaricato. Si otterrà la classica struttura a cartelle che corrisponde a quella sopra riportata in occasione del backup.

.3) Posizionarsi nella cartella dell’installazione corrente di wp

cancellare le directory dell’installazione corrente:
wp-admin
wp-include
sostituirle copiando le corrispondenti directory ( wp-admin e wp-include ) dalla nuova versione scaricata

Sovrascrivere la cartella wp-content dell’installazione corrente con la corrispondente cartella della nuova versione.

Copiare e sovrascrivere i file presenti nella directory root con i corrispondenti file della nuova versione.

.4) Potrebbe essere opportuno un confronto con un analizzatore di differenze tra i file. Tra il nuovo wp-config.sample.php e wp-config.php per vedere se la nuova versione richiede di apportare integrazione al file wp-config.php corrente. Come camparatore si può utilizzare meld

.5) Effettuare il log in wordpress. Se si presenta la necessità di effettuare l’update del database si verrà reindirizzati alla pagina /wp-admin/upgrade.php. Seguire le indicazioni per effettuare l’aggioranemtno del dataabse.

.6) Riattivare i plugins

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 partizione del disco sorgente nel disco di destinazione con sgdisk

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: