Tips & Tricks Archivio | SolutionCAFE IT

Tips & Tricks

Tips & Tricks,vmdk,find,head,tail, kali

Tips & Tricks: Correggere gli Errori e Compattare i file vmdk in VMware Workstation

1920 1280 Nicola Montemurro

Correggere gli Errori e Compattare i file vmdk in VMware Workstation

Tips & Tricks del giorno.

Per esigenze professionali, mi trovo spesso ad utilizzare un numero elevato di VM e pur utilizzando i dischi (vmdk) in modalità “Thin Provision”, mi ritrovo sovente a dover “inventare” spazio, sul computer, per farci stare l’ennesimo Vdisk.

Essendo, fondamentalmente, pigro nel dover ripetere le cose più e più volte, preferisco “delegare” la macchina alle operazioni ripetitive (come è giusto che sia).

Questo script correggere gli errori e compatta i file vmdk.

Versione Windows:

:: ----------------------------------------------------------------------------------
:: - File Name : vmdk-shrink.cmd
:: - Author : Nicola Montemurro
:: - Administrator : Nicola Montemurro - Mobile: -
:: - Create : 18/01/2021
:: - Last Update : 02/12/2022
:: - Description : VMware vmdk shrinker 
:: - Position : E:\Progetti\software\scripts\cmd
:: - Note : NON modificare senza AUTORIZZAZIONE dell'AMMINISTRATORE
:: -----------------------------------------------------------------------------------
@echo off

set VMDIR="F:\VMware VM"

for /f "tokens=*" %%D in ('dir %VMDIR%\*.vmdk /A-D /S /B') do (
echo .
echo Checking "%%D"
vmware-vdiskmanager.exe -e "%%D"
echo .
echo Repairing "%%D"
vmware-vdiskmanager.exe -R "%%D"
echo .
echo Shrinking "%%D"
vmware-vdiskmanager.exe -k "%%D"
)

In alcune circostanze, su Windows, si verifica l’errore seguente, si tratta di un errore conosciuto dagli sviluppatori VMWare, che potete ignorare.

SSLConfigLoad: Failed to load OpenSSL config file.

Versione Linux:

# ----------------------------------------------------------------------------------
# - File Name : vmdk-shrink.sh
# - Author : Nicola Montemurro
# - Administrator : Nicola Montemurro - Mobile: -
# - Create : 18/01/2021
# - Last Update : 02/12/2022
# - Description : VMware vmdk shrinker
# - Position : /usr/local/scripts
# - Note : NON modificare senza AUTORIZZAZIONE dell'AMMINISTRATORE
# -----------------------------------------------------------------------------------
#!/usr/bin/bash

VMDIR=~/vmware

find $VMDIR -type f -name *.vmdk -exec vmware-vdiskmanager -e {} \; \
-exec vmware-vdiskmanager -R {} \; \
-exec vmware-vdiskmanager -k {} \;
Tips & Tricks,vmdk,find,head,tail, kali

Tips & Tricks: Risoluzione di “An error occurred during the signature verification” in Kali Linux

1920 1280 Nicola Montemurro

Tips & Tricks del giorno.

Per coloro che cercando di aggiornare l’ultima versione dell’elenco dei pacchetti dal repository software di Kali Linux e da qualsiasi repository di terze parti eventualmente configurato e all’esecuzione del comando:

apt update

dovessero visualizzare i seguenti messaggi di avviso:

Warning: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. OpenPGP signature verification failed: https://http.kali.org/kali kali-rolling InRelease: Sub-process /usr/bin/sqv returned an error code (1), error message is: Missing key 827C8569F2518CC677FECA1AED65462EC8D5E4C5, which is needed to verify signature.
Warning: Failed to fetch https://http.kali.org/kali/dists/kali-rolling/InRelease Sub-process /usr/bin/sqv returned an error code (1), error message is: Missing key 827C8569F2518CC677FECA1AED65462EC8D5E4C5, which is needed to verify signature.
Warning: Some index files failed to download. They have been ignored, or old ones used instead.

Sappiate che molto probabilmente non è un problema del vostro sistema, ma come da comunicato sul sito ufficiale di Kali Linux, lo staff informa, che, per un errore, sono andate perdute le firme (chiavi) del repository e che è stato necessario ricrearle.

Per recuperare le nuove firme, occorre seguire quanto indicato di seguito:

Scaricare il file:

wget https://archive.kali.org/archive-keyring.gpg -O /usr/share/keyrings/kali-archive-keyring.gpg

ed importare la chiave tramite il comando gpg:

gpg --no-default-keyring --keyring /usr/share/keyrings/kali-archive-keyring.gpg -k /usr/share/keyrings/kali-archive-keyring.gpg

dopodiché sarete nuovamente in grado di aggiornare i repository all’ultima versione.

Tips & Tricks,vmdk,find,head,tail, kali

Tips & Tricks: head e tail per estrarre contenuti da un file di testo

1920 1280 Nicola Montemurro

Tips & Tricks del giorno.

A volte, potrebbe essere necessario conoscere il contenuto di una specifica riga oppure un intervallo di righe di un file testo senza doverlo aprire con un editor, soprattutto se l’operazione deve essere fatta in modo non interattivo; la soluzione di usare head e tail combinati si dimostra essere utile soprattutto nel caso in cui il file in questione sia di grandi dimensioni.

Preparare il file da utilizzare per le prove, contenente un numero arbitrario di righe (in questo caso 100).

root@kali:~# for i in $(seq 1 1 100); do echo "Line number $i" >> test.txt; done

Verificare il contenuto del file, appena creato.

root@kali:~# cat test.txt

Line number 1
Line number 2
Line number 3
.....
Line number 98
Line number 99
Line number 100

Gestire lo stream di dati, partendo dall'alto

Per visualizzare una specifica riga (es. riga 15):

Attraverso la pipeline , si procedera’ a ridurre, sempre di più il numero di righe necessario, fino ad ottenere il risultato aspettato; Lo stream del file contenente 100 righe, generato dal comando cat, sara’ inviato, al comando head, che attraverso l’opzione -15, considerera’ solo le prime 15 righe; sara’, poi, inviato al comando tail, che attraverso l’opzione -1 considerera’ solo la prima riga, dal basso, l’ultima dello stream, di 15 righe, ricevuto da head, che sara’, quindi, inviata, in questo caso, alla console o terminale per essere visualizzato (Line number 15).

root@kali:~# cat test.txt | head -15 |tail -1
Line number 15

Per un range di righe specifico (es dalla riga 37 alla riga 39), digitare:

root@kali:~# cat test.txt | head -39 |tail -3
Line number 37
Line number 38
Line number 39

Gestire lo stream di dati, partendo dal basso

Questo metodo, è sicuramente controintuitivo, ma potrebbe rivelarsi essere utile nel caso il file contenesse molte righe (milioni) e l’informazione di cui avete bisogno, potrebbe risiedere verso il fondo, in pratica nella seconda metà del file per evitare di produrre uno stream da tutto il file inutilmente.

Il questo caso, abbiamo bisogno di avere una informazione aggiuntiva; contando dall’alto, la prima riga del file è la riga uno (1), per contare dal basso, occorre, quindi, conoscere il numero dell’ultima riga del file.

root@kali:~# cat test.txt |wc -l
100

Conoscendo, che il file è composto da 100 righe per estrarre la riga 90 digitare:

root@kali:~# cat test.txt |tail -11| head -1
Line number 90

Per un range di righe specifico (es dalla 75 alla 79) digitare:

root@kali:~# cat test.txt |tail -26| head -5
Line number 75
Line number 76
Line number 77
Line number 78
Line number 79

Considerazioni finali

In questo articolo abbiamo esplorato l’uso essenziale dei comandi Linux head e tail,  svelandone le funzionalità, le applicazioni e le sinergie, nel conteggio delle righe di file di testo; vi invito ad approfondire questi comandi e a sperimentare gli esempi fin qui visti per sfruttare tutto il loro potenziale.

Tips & Tricks,vmdk,find,head,tail, kali

Tips & Tricks: Python per Sottrarre Giorni, Mesi, Anni dalla Data

1920 1280 Nicola Montemurro

Tips & Tricks del giorno.

A volte in uno script può essere necessario sottrarre o eventualmente sommare un numero arbitrario di giorni e/o mesi e/o anni da una data;

Ecco l’esempio di una soluzione per la sottrazione; per l’addizione é sufficiente invertire il segno di ciascuna variabile.

Versione Bash:

# ----------------------------------------------------------------------------------
# - Script file name    :       subtractdate.sh
# - Author              :       NM
# - DNS administrator   :       NM  - Tel. xxx, Mobile: xxx -
# - Create              :       28.12.2009
# - Last Update         :       28.12.2009
# - Description         :       Sottrae n giorni dalla data attuale
# - Position            :       /usr/local/script/
# - note                :       NON modificare senza AUTORIZZAZIONE dell'AMMINISTRATORE
#  -----------------------------------------------------------------------------------

#!/bin/bash

DAYS=$1
MONTHS=$2
YEARS=$3

[ -z $DAYS ] && DAYS=0
[ -z $MONTHS ] && MONTHS=0
[ -z $YEARS ] && YEARS=0


RESDATE=$(date -d "$date -$DAYS days -$MONTHS months -$YEARS years" '+%d/%m/%Y')

echo $RESDATE

Versione Powershell:

[CmdletBinding()]
Param(
    [Parameter(Mandatory=$false)][int]$days,
    [Parameter(Mandatory=$false)][int]$months,
    [Parameter(Mandatory=$false)][int]$years 
    )
        
    Process {
        if (($days -eq $null) || ($days -eq "")) {
            $days=0
        }
        if (($months -eq $null) || ($months -eq "")) {
            $months=0
        }
        if (($years -eq $null) || ($years -eq "")) {
            $years=0
        }
    
        $today = Get-Date
    
        return $($($today.AddYears(-$years).AddMonths(-$months)).AddDays(-$days))
    }

 

Segui:

Se sei interessato ad altri vai alla sezione: Tips & Tricks

    Preferenze Privacy

    Quando visiti il nostro sito web, possono essere memorizzate alcune informazioni, di servizi specifici, tramite il tuo browser, di solito sotto forma di cookie. Qui puoi modificare le tue preferenze sulla privacy. Il blocco di alcuni cookie può influire sulla tua esperienza sul nostro sito Web e sui servizi che offriamo.

    Click to enable/disable Google Analytics tracking code.
    Click to enable/disable Google Fonts.
    Click to enable/disable Google Maps.
    Click to enable/disable video embeds.
    Il nostro sito web utilizza cookie, principalmente di terze parti. Personalizza le preferenze sulla privacy e/o acconsenti all'utilizzo dei cookie.