Cancellare una singola entry nella history della Bash

Avete appena scritto la vostra password supersegreta per accedere a RHN (magari usando rhn-channel…) e non volete cancellare tutta l’history.
Si può fare.
Così:

1. Individuare la/le riga/he che vi interessa rimuovere lanciando il comando history senza opzioni

2. Usare il comando history con l’opzione -d più il numero della riga da cancellare

history -d 340

3. Salvare la modifica appena fatta

history -w

Autojump: per zompare da una cartella all’altra

Autojump è uno di quei giochetti che una volta scoperti diventano essenziali e mancano tantissimo quando si finisce su una macchina che ne è sprovvista. In pratica, una volta installato, potrete anche scordarvi a cosa serve il comando cd.

Installarlo su Ubuntu 18.04 LTS è semplicissimo:

sudo apt-get install autojump

Ci manca ancora un passaggio per poterlo utilizzare in Bash: dobbiamo aggiungere la riga che segue al fondo del file .bashrc presente nella nostra home directory.

. /usr/share/autojump/autojump.sh

Riavviamo la sessione e vediamo se funziona tutto.

Per zompare in una cartella che contiene foo nel nome, a prescindere da dove si trovi e a patto che sia già stata visitata:

j foo

Bash completion per Vagrant

Siccome la prima virtù del buon sistemista deve essere la pigrizia, configuriamo l’autocompletamento per Vagrant in Bash. Per qualche strano motivo, pur essendo incluso nella distribuzione, il file non viene attivato.
Facciamolo noi.

cd /etc/bash_completion.d/
sudo cp /opt/vagrant/embedded/gems/2.2.3/gems/vagrant-2.2.3/contrib/bash/completion.sh .
sudo mv completion.sh vagrant

Riavviamo la sessione e dovrebbe funzionare tutto correttamente.

Installare Vagrant su Ubuntu 18.04 LTS

Per installare Vagrant su Ubuntu 18.04 LTS abbiamo due opzioni:

  • installare la versione presente nei repository ufficiali della nostra distribuzione, nel nostro caso Bionic Beaver;
  • installare l’ultima versione disponibile sul sito di HashiCorp; noi sceglieremo questa seconda strada.

Scarichiamo il pacchetto per Debian — non esiste una versione specifica per Ubuntu — da questa pagina.

wget https://releases.hashicorp.com/vagrant/2.2.3/vagrant_2.2.3_x86_64.deb

Installiamolo con il comando

sudo dpkg -i vagrant_2.2.3_x86_64.deb

Verifichiamo che tutto funzioni correttamente

$ vagrant --version
Vagrant 2.2.3

Avvio della prima VM con Vagrant

A questo punto, se abbiamo precedentemente installato VirtualBox (se non l’avete ancora fatto potete seguire questa guida), possiamo provare  a istanziare la nostra prima macchina virtuale:

$ vagrant init hashicorp/precise64
$ vagrant up

Il primo comando crea un file chiamato Vagrantfile nella cartella corrente, file necessario all’avvio di una virtual machine che, nel nostro esempio, eseguirà Ubuntu 12.04 LTS. L’ avvio verrà eseguito con il secondo comando.

Per collegarci in ssh alla nuova istanza il comando da eseguire è:

$ vagrant ssh

Per stoppare la nostra virtual machine il comando è:

$ vagrant halt

Per rimuoverla del tutto

$ vagrant destroy

Installare VirtualBox 6.0 su Ubuntu 18.04 LTS

Qualche giorno fa  è uscita la nuova major release di VirtualBox. Vediamo come installarla su Ubuntu 18.04  LTS

Per prima cosa dobbiamo importare le chiavi con cui sono firmati i pacchetti che andremo a scaricare

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

Ora configuriamo il repository ufficiale

sudo sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" >> /etc/apt/sources.list.d/virtualbox.list'

Aggiorniamo i repository

sudo apt update

E installiamo finalmente VirtualBox 6.0

sudo apt-get install virtualbox-6.0

Pingare più host con un solo comando

Poniamo il caso di avere la necessità di pingare più host, dove per “più host” potremmo anche intenderne 40,50 o un’intera classe C. Se non capite a cosa possa servire, probabilmente non vi serve. Nessun problema. Se invece vi è capitato di avere questa necessità, la soluzione si chiama fping.

Se gli host che vogliamo pingare non hanno indirizzi consecutivi dovremo crearci un file di testo da passare come argomento al comando. Ad esempio creiamo il file ip_address con un indirizzo per riga, come questo:

10.102.0.1
10.102.0.2
192.168.1.1
192.168.2.1
192.168.2.2

Ora per pingare tutti gli ip basterà usare il comando

fping -f ip_address

Se vogliamo ricevere in output solo gli ip degli host irragiungibili dobbiamo aggiungere lo switch -u (unreachable)

fping -u -f ip_address

Per pingare un’intera classe C il comando sarà

fping -g 192.168.1.0/24

Useremo lo switch -g anche per indicare a fping un intervallo, come in quest’esempio

fping -g 192.168.1.10 192.168.1.100

Vagrant error:1408F10B:SSL

Questo l’errore per esteso, restituito tutte le volte che si prova a scaricare una box:

The box 'hashicorp/precise64' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Vagrant Cloud, please verify you're logged in via
`vagrant login`. Also, please double-check the name. The expanded
URL and error message are shown below:

URL: ["https://vagrantcloud.com/hashicorp/precise64"]
Error: error:1408F10B:SSL routines:ssl3_get_record:wrong version number

La soluzione è cancellare la versione di curl distribuita con Vagrant

sudo rm /opt/vagrant/embedded/bin/curl