lunedì 22 agosto 2016

Eseguire comando "date" dentro crontab

Vi è capitato di eseguire un cron che svolge del lavoro per voi e voler salvarne l'output su un file che abbia come nome la data e l'ora (timestamp) di esecuzione, ma non funziona? Dopo aver dato un bel crontab -e basta scrivere così:

Perché funzioni è infatti fondamentale fare l'escaping dei simboli di percentuale "%" aggiungendo il backslash davanti, così: "\%".

giovedì 23 luglio 2015

Inserire caratteri unicode da tastiera

Per inserire direttamente il codice unicode di un carattere, gli utenti Windows usano la combinazione di tasti:

ALT + numero sul tastierino numerico.

Per gli utenti Linux la combinazione per inserire caratteri unicode da tastiera è leggermente più articolata:

Ctrl + Maiusc + u

Compare una u, basta scrivere il codice unicode (ad esempio 213b) e dare invio, in questo caso otteniamo il simbolo ℻.

La cosa funziona sicuramente con interfacce basate su GTK, ad esempio Gnome, su altre basate per esempio su KDE non ho verificato.

Sempre per gli utenti Linux, c'è comunque la possibilità di inserire virgolette alte, basse, singole, doppie, la tilde e così via, direttamente tramite queste combinazione di tasti.

mercoledì 22 luglio 2015

Virgolette e altri caratteri speciali sulle tastiere Linux

Combinazioni di tasti per l'inserimento di virgolette e altri caratteri speciali sulle tastiere Linux:

Virgolette alte doppie
aperte: AltGr + V = “
chiuse: AltGr + B = ”

Virgolette alte semplici
aperte: AltGr + Maiusc + v = ‘
chiuse: AltGr + Maiusc + b = ’

Virgolette basse (caporali o all'italiana)
aperte: AltGr + < = «
chiuse: AltGr + x = »

Virgoletta inversa
AltGr + ' = `

E accentata maiuscola
Bloc Maiusc + è = È

Tilde
AltGr + ì  = ~

Parentesi quadre
aperte: AltGr + è = [
chiuse: AltGr + + = ]

Parentesi graffe
aperte: AltGr + 7 = {
chiuse: AltGr + 0 = }

Un'altra possibilità è quella di inserire da tastiera il codice Unicode dei caratteri.

martedì 21 luglio 2015

CentOS: installazione ifconfig

Sopratutto nella versione Minimal di CentOS è da considerarsi normale che ifconfig non sia installato di default, in fondo il suo uso è deprecato a favore di ip.

In realtà è tutta la suite di programmi di net-tools a essere considerata obsoleta e sostituita per lo più da ip, ma anche da altri programmi contenuti all'interno di iproute2.

Volendo comunque usarlo, basta installare ifconfig con:

# yum -y install net-tools

lunedì 20 luglio 2015

Yum: rimuovere i pacchetti senza rimuovere le dipendenze

Per rimuovere una serie di pacchetti, in questo caso quelli del database PostgreSQL versione 9.4,

# yum erase postgresql94*

===================================================================================
 Package                 Arch         Versione                Repository     Dim.
===================================================================================
Rimozione in corso:
 postgresql94            x86_64       9.4.4-1PGDG.rhel7       @pgdg94       5.4 M
 postgresql94-contrib    x86_64       9.4.4-1PGDG.rhel7       @pgdg94       2.1 M
 postgresql94-libs       x86_64       9.4.4-1PGDG.rhel7       @pgdg94       650 k
 postgresql94-server     x86_64       9.4.4-1PGDG.rhel7       @pgdg94        16 M
Rimozioni per dipendenze:
 barman                  noarch       1.4.1-1.rhel7           @pgdg94       642 k
 python-psycopg2         x86_64       2.6-1.rhel7             @pgdg94       433 k

Riepilogo della transazione
===================================================================================
Remove  4 Pacchetto (+2 Pacchetti dipendenti)

Dimensione installata: 26 M

senza rimuovere i pacchetti delle dipendenze (barman e python-psycopg2 evidenziati in grassetto) si può usare direttamente rpm:

# rpm -e --nodeps postgresql94-contrib postgresql94-libs postgresql94-server

venerdì 17 luglio 2015

CentOS: installazione font TrueType Microsoft

Grazie ai progetti Microsoft's Core Fonts for the Web e Cleartype Fonts sono disponibile in formato TrueType i font proprietari Andale Mono, Arial, Arial Black, Comic Sans MS, Courier New, Georgia, Impact, Times New Roman, Trebuchet MS, Verdana and Webdings che permettono una visione dei documenti più uniforme su varie piattaforme anche non Windows.

Per installare i Microsoft's Core Fonts for the Web e Cleartype Fonts su CentOS:

# yum install curl cabextract xorg-x11-font-utils fontconfig
# rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

giovedì 16 luglio 2015

CentOS: assegnare/modificare il nome host

Modifica dell'hostname su CentOS 5 e 6


Occorre modificare sia il file /etc/sysconfig/network che /etc/hosts.

Se non viene modificato anche il secondo, alcuni comandi ci mettono molto più tempo per l'esecuzione perché cercano di ricavare l'IP dell'host locale dal nome host. Senza una voce in /etc/hosts, si deve passare attraverso il processo di ricerca completo del nome prima di poter andare avanti. A seconda della configurazione del DNS questo può significare ritardi più o meno consistenti.

Dopo essersi loggati come amministratori, aprire il file /etc/sysconfig/network e inserire:

NETWORKING=yes
HOSTNAME=nome-host

Nel file /etc/hosts inserire:

indirizzo-ip   nome-host

Ad esempio:

192.168.1.10   server1

Far ripartire la rete:

# service network restart

Modifica dell'hostname su CentOS 7


Qui le cose sono molto più semplici, è sufficiente

hostnamectl set-hostname nome-host

ed il nome è subito assegnato alla macchina senza fare altro.

mercoledì 15 luglio 2015

CentOS: assegnare un indirizzo IP statico

Stanchi di veder cambiare l'indirizzo IP assegnato dal DHCP alla vostra macchina CentOS? Assegnamogli un indirizzo IP statico usando NetworkManager text user interface (TUI):

# nmtui

Configurate la macchina sulla falsariga di Fig. 1:

Figura 1: configurazione IP statico su CentOS con NetworkManager Text User Interface

Riavviate la macchina e verificate di avere l'indirizzo IP scelto:

$ ifconfig
enp0s9: flags=4163  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.100
        inet6 fe80::a00:27ff:fea1:c640  prefixlen 64  scopeid 0x20
        ether 08:00:27:a1:c6:40  txqueuelen 1000  (Ethernet)
        RX packets 31  bytes 3380 (3.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 55  bytes 6555 (6.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

martedì 14 luglio 2015

CentOS: eliminare vecchi kernel

I kernel occupano spazio su disco, spazio che possiamo recuperare rimuovendo i kernel più vecchi e tenendo solo gli ultimi due:
  • quello attualmente in funzione;
  • quello precedente come scorta, per avere un kernel funzionante a cui poter tornare nel caso quello attuale desse qualche problema.

Disinstallare i kernel più vecchi su CentOS è particolamente semplice.

La lista dei kernel attualmente installati:

# rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-229.1.2.el7.x86_64
kernel-3.10.0-229.4.2.el7.x86_64
kernel-3.10.0-229.7.2.el7.x86_64

Installazione di yum-utils, un tool per estendere la gestione dei package e dei repository di yum:

# yum install yum-utils

Fra gli strumenti forniti con yum-utils c'è il programma package-cleanup. Per eliminare tutti i kernel tranne i 2 più recenti:

# package-cleanup --oldkernels --count=2

Controllare che effettivamente siano rimasti i due kernel più recenti:

# rpm -q kernel
kernel-3.10.0-229.4.2.el7.x86_64
kernel-3.10.0-229.7.2.el7.x86_64

E per le prossime volte si può lasciare a yum il compito di tenere solo i due kernel più recenti. È sufficiente modificare il file /etc/yum.conf con:

installonly_limit=2

È tutto.

lunedì 13 luglio 2015

CentOS: installazione VirtualBox Guest Additions

Installazione delle VirtualBox Guest Additions in un guest CentOS.

Prima di tutto l'installazione degli strumenti di sviluppo necessari alla compilazione e al mantenimento delle VirtualBox Guest Additions:

# yum -y update kernel
# yum -y install kernel-devel kernel-headers dkms gcc gcc-c++ bzip2

Montare il CD-ROM delle Guest Additions dal menù Dispositivi | Inserisci l'immagine del CD delle Guest Additions... nella finestra del guest, attendere che si apra la finestra dell'autorun e cliccare su Esegui inserendo la password da amministratore quando richiesto.

Nel caso non ci sia l'interfaccia grafica, ad esempio nella versione Minimal di CentOS non l'avete ancora avviata e state lavorando da shell, il CD-ROM va montato a mano:

# mount /dev/cdrom /mnt
# sh /mnt/VBoxLinuxAdditions.run

Riavviate il sistema e avete finito.

Senza l'installazione del dkms, ad ogni aggiornamento del kernel le VirtualBox Guest Additions smetterebbero di funzionare (si perderebbe l'integrazione del mouse, maggiori risoluzioni video a dispozione, copia-incolla e così via), a volte accade anche se dkms è stato installato (dipende dal tipo di aggiornamento del kernel).

In questi casi:

# /etc/init.d/vboxadd setup

oppure

# service vboxadd setup

e le VirtualBox Guest Additions riprenderanno a funzionare.