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.

venerdì 10 luglio 2015

CentOS 7 Minimal: installazione Xfce

CentOS 7 Minimal è appunto tale: minimale.

La prima cosa che non c'è di default è un ambiente desktop con la sua rassicurante (per alcuni) interfaccia grafica. Su una macchina server in genere la cosa è accettabile, in fondo si passa parte del tempo sulla linea di comando, su macchine con poca RAM è quasi una scelta obbligata.

Ci sono però occasioni in cui sarebbe davvero utile averne una. Mi capita spesso di lavorare con macchine virtuali su VirtualBox, e per motivi documentali vorrei poter fare il copia-incolla di comandi e messaggistica dall'host al guest e viceversa.

La cosa è possibile con le VirtualBox Guest Additions installate su un guest con interfaccia grafica. Le macchine virtuali però hanno appena 1 GB di Ram l'una, quindi serve un'interfaccia grafica leggera e funzionale: Xfce.

Per installare Xfce su CentOS 7 Minimal:

# yum -y install epel-release
# yum -y groupinstall "Xfce" "X Window system"

Per evitare in alcuni casi possibili messaggi di errore, vanno installati anche i seguenti pacchetti:

# yum -y install xorg-x11-fonts-Type1 xorg-x11-fonts-misc

Per un look-and-feel un po' più aggraziato:

# yum -y install faience-icon-theme

Se volete avere un terminale con cui continuare a lavorare da linea di comando anche una volta avviata l'interfaccia grafica di Xfce:

# yum install xfce4-terminal

Infine, per avviare Xfce:

# startxfce4

Al primo avvio (Fig. 1) viene chiesta la configurazione del pannello, cliccare su Utilizza la configurazione predefinita per proseguire:

Figura 1: configurazione pannello al primo avvio

Terminata la configurazione ecco finalmente Xfce pienamente funzionante (Fig. 2):

Figura 2: configurazione Xfce completata.

Per far partire CentOS 7 direttamente con l'interfaccia grafica di Xfce, settare come default il runlevel 5. Questo nella nuova gestione di Systemd è stato rimpiazzato con il concetto di target ed emulato tramite il target graphical.target:

# systemctl set-default graphical.target

Se poi si cambia idea, si può togliere la partenza automatica di Xfce all'avvio di CentOS 7 tornando al runlevel 3, ora emulato da multi-user.target:

# systemctl set-default multi-user.target

Giusto come curiosità il consumo di RAM prima di avviare Xfce in Fig. 3,


Figura 3: consumo di RAM prima di avviare Xfce

ed il consumo di RAM con Xfce avviato appena dopo l'installazione, quindi non appesantito da plugin:

$ free
              total        used        free      shared  buff/cache   available
Mem:        1017368      159892      609004        8432      248472      702244
Swap:       2097148           0     2097148



Il consumo di RAM rimane buono, la comodità per alcune attività aumenta, e quando l'interfaccia grafica non serve più basta cliccare in alto a destra sul proprio nome utente | Esci... | Esci e si torna alla shell liberando memoria.

giovedì 9 luglio 2015

CentOS: aggiungere repository EPEL

EPEL (Extra Packages for Enterprise Linux) è un progetto avviato dalla comunità Fedora desiderosa di utilizzare i pacchetti di questa distribuzione anche sulle versioni Enterprise Linux, quindi Red Hat Enterprise Linux (RHEL) e derivate compatibili, in primis CentOS, Scientific Linux (SL) e Oracle Linux (OL).

I pacchetti di questo repository sono quindi basati (quasi sempre) sugli analoghi del progetto Fedora, e si affiancano (senza sostituirsi) a quelli già compresi nelle distribuzioni Enterprise Linux in versione, almeno attualmente, 7, 6, 5. In questo modo si ha più software tra cui scegliere anche per sistemi Enterprise Linux, con tutta la qualità che il supporto della comunità Fedora fornisce.

Per aggiungere i repository EPEL a CentOS:

# yum install epel-release

mercoledì 8 luglio 2015

martedì 7 luglio 2015

CentOS 7 Minimal: configurare la rete

La fretta è sempre cattiva consigliera: durante l'installazione di CentOS 7 Minimal ho dimenticato di configurare la rete. Una volta terminata l'installazione si può però configurare la connessione di rete direttamente da terminale usando il NetworkManager.

Verificare lo stato della connessione da NetworkManager command-line interface (cli):

# nmcli d


Figura 1: CentOS 7 Minimal, rete non configurata

Se lo stato è scollegato come in Fig. 1, la connessione va attivata usando per comodità il NetworkManager Text User Interface (TUI) che fornisce una interfaccia semigrafica più comoda da usare:

# nmtui

Apparirà la schermata di Fig. 2, dare Invio:

Figura 2: Network Manager per configurare la rete

Spostarsi con Tab su Modifica come in Fig. 3:

Figura 3: Network Manager modifica opzioni di connessione

Spostandosi sempre con il tasto Tab, assicurarsi che tutto sia come in Fig. 4, in particolare:
  • la configurazione IPv4 e IPv6 sia impostata su Automatico così da avere l'indirizzo ip assegnato in automatico tramite DHCP;
  • Connessione automatica sia selezionato con [X], altrimenti spostarsi con Tab e premere la barra spaziatrice per selezionare.

Figura 4: configurazione connessione di rete tramite DHCP

Quando è tutto correttamente configurato, con il tasto Tab portarsi su OK e dare Invio per salvare. Controllare che la connessione adesso sia attiva come in Fig. 5 con il comando:

#nmcli d


Figura 5: connessione di rete attiva

Se la connessione non fosse ancora attiva riavviare la rete:

# systemctl restart network.service

Se serve conoscere l'indirizzo IP assegnato automaticamente da DHCP all'host (in Fig. 6 evidenziato quello IPv4):

# ip addr


Figura 6: indirizzi ip (evidenziato IPv4) assegnati da DHCP all'host

È tutto.

lunedì 6 luglio 2015

Installazione di locate su CentOS Minimal

Una delle cose che mi manca su CentOS Minimal è la sua comodità e velocità. Per installare il comando locate:
$ su
# yum -y install mlocate
# yum updatedb