Visualizzazione post con etichetta Guide. Mostra tutti i post
Visualizzazione post con etichetta Guide. Mostra tutti i post

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

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

domenica 28 dicembre 2014

Virus Koler per Android: e' questa la tua foto?

Vi arriva con un SMS da una persona che ha il vostro numero in rubrica e nel testo trovate scritto: "VostroNome e' questa la tua foto? http://url7.me/XXXxx".

"VostroNome" sarà il nome con cui la persona vi ha registrato nella sua rubrica, quindi potreste trovare anche vezzeggiativi o cose non proprio carine se gli state antipatico, ma l'essenziale è, se ricevete un messaggio simile, di NON seguire il link.

Facendolo scaricherete un file di nome PhotoViewer.apk. Si tratta di un ransomware per dispositivi Android.

Quello che farà, se voi darete l'avallo e le impostazioni di sicurezza del vostro dispositivo lo permettono, sarà d'installarsi sullo smartphone o altro dispositivo Android e poi provare a:
  • scaricarvi il credito fino ad azzerarlo;
  • infettare vostri amici inviandogli a vostra insaputa lo stesso messaggio che avete ricevuto ma usando come nome nel messaggio quello preso dalla vostra rubrica;
  • mandare il codice IMEI (l'equivalente per uno smartphone del vostro codice fiscale, quindi identifica con certezza il vostro smartphone su tutto il globo) a non meglio identificati malintenzionati;
  • rilevare la vostra posizione (se il GPS è già attivo, al momento non è chiaro se è in grado di attivarlo);
  • in alcuni casi, bloccarvi il dispositivo con un messaggio che vi accusa di aver violato varie leggi e intimandovi di pagare per riavere il controllo.
Se rimanete "infettati", NON PAGATE se chiede soldi, non c'è nessuna garanzia che il dispositivo venga sbloccato, e comunque rimuovetelo al più presto.

Usate un antivirus per Android per farlo, se il dispositivo fosse però già bloccato e non vi permette di fare nulla, o se volete fare da voi, allora potete provare a eliminarlo manualmente con pochi semplici passi.

Per eliminarlo manualmente seguite le istruzioni del post Android: eliminare manualmente i virus.

Altre informazioni utili (in inglese):
http://www.enigmasoftware.com/koler-android-ransomware-self-replicates-sms-disguised-photoviewer/
http://www.pcworld.com/article/2837372/android-ransomware-koler-turns-into-a-worm-spreads-via-sms.html

Android: eliminare manualmente i virus

Il vostro dispositivo è stato infettato dal ransomware Koler, da un virus o qualunque altro tipo di malware per Android?

Potreste provare ad usare un antivirus specifico per il sistema operativo Android, ma se il vostro dispositivo è stato bloccato dal malware o se volete fare da voi, potreste provare ad eliminarlo manualmente.

Determinate quale versione di Android usa il vostro dispositivo:

  • basta andare in Impostazioni | Info sul telefono/tablet/dispositivo | Versione di Android.

Se la versione è maggiore o uguale di 4.1:

  • premete il pulsante fisico di accensione/spegnimento;
  • quando compare sullo schermo, tenete premuto a lungo Spegni/Power Off;
  • premete OK in Riavvia in modalità provvisoria.

Per versioni minori di 4.1 oppure se i passi precedenti non hanno funzionato:

  • premete il pulsante fisico di accensione/spegnimento;
  • premete Spegni/Power Off oppure Reboot;
  • se avete premuto Spegni/Power Off riaccendete il dispositivo;
  • mentre il dispositivo si riaccende tenete premuto il pulsante fisico per abbassare il volume.

Avviata la modalità provvisoria:

  • Impostazioni | Applicazioni | localizzate l'app del virus, dovrebbe chiamarsi "PhotoViewer" | Disinstalla;
  • quando la disinstallazione è terminata, riavviate il dispositivo premendo il pulsante fisico di accensione/spegnimento e poi Reboot.

Infine, un'ultimo passo per non incorrere più in queste brutte sorprese.

Bloccare l'installazione di applicazione da fonti sconosciute:

  • Impostazioni  | Sicurezza e disattivare Origini Sconosciute;
  • Impostazioni  | Sicurezza e attivare Verifica applicazioni.

Mi raccomando, fate sempre la massima attenzione e pensateci almeno due volte prima di scaricare qualunque qualcosa, chiunque vi chieda di farlo. E con questo è tutto.

martedì 19 agosto 2014

Eliminare le etichette dei post su Blogger

Sarà un mio problema, ma il sistema per rimuovere le etichette dei post di Blogger lo trovo davvero poco intuitivo. E non essendo una operazione che faccio spesso, la volta successiva ho già dimenticato come ho fatto quella precedente, così andando a tentativi combino sempre gran casini.

L'ultima volta per esempio, nel tentativo di togliere un'etichetta a tre specifici post ho finito invece per aggiungerla a 27(!) altri post che non centravano nulla.

Un breve promemoria su come rimuovere le etichette indesiderate ad un post di Blogger:
  • selezionare il post da cui rimuovere l'etichetta;
  • cliccare sulla voce "Etichette post selezionati" e lasciare il mouse su una delle etichette del menù a cascata. Ci si accorge che la voce che compare nel tooltip è "Aggiungi o rimuovi l'etichetta".
  • cliccare sull'etichetta da rimuovere assicurandosi che il post selezionato è già contrassegnato con quell'etichetta.
L'inghippo infatti è tutto lì: non ci sono pulsanti separati per aggiungere/togliere un'etichetta, ma cliccando sul nome di un'etichetta, se questa esiste già nel post verrà tolta, altrimenti verrà aggiunta.

mercoledì 4 dicembre 2013

Ubuntu Unity: aggiungere un indicator per vedere la velocità della rete

Una delle cose che trovavo comode nelle vecchie versioni di Ubuntu prima dell'upgrade forzato, era l'applet che mostrava la velocità di upload/download della rete.

Unity di default non ha un indicator del genere, o almeno, fino all'ultima volta che l'ho cercato non ne ho trovati, esiste però l'ottimo System Load Indicator che fa bene il suo lavoro... ma a me non piace.

Non piace perché non mostra il valore numerico della velocità di download/upload in quell'istante, bensì il suo grafico, ed è posizionato sul pannello in alto di Unity, per cui l'immagine è estremamente piccola: si capisce poco o nulla della velocità effettiva.

Occorre cliccarci sopra per vedere il dettaglio in termini di kilobyte/megabyte, e questo ulteriore passo fa perdere l'immediatezza del semplice colpo d'occhio possibile con la vecchia applet.

Poi ho trovato System Monitor Indicator.

Monitorizza tre parametri fondamentali del nostro sistema, CPU, Ram e velocità di rete, e mostra i risultati direttamente come testo nell'indicatore senza dover cliccare da nessuna parte.

Ero ovviamente interessato alla sola velocità di rete, e nell'immagine potete constatare da soli quanto sia immediato capire come sta andando il nostro download/upload:


System Monitor Indicator nel pannello superiore di Unity su Ubuntu 12.04


Se anche voi siete interessati a qualcosa del genere, vediamo come installarlo.

Aprite un terminale e date i comandi:

sudo add-apt-repository ppa:alexeftimie/ppa
sudo apt-get update
sudo apt-get install indicator-sysmonitor dstat

Per configurarlo create una directory nella home,

cd
mkdir -p ~/scripts
cd ~/scripts

e scaricate l'apposito script:

wget http://webupd8.googlecode.com/files/sysmon_0.2.tar.gz
tar -xvf sysmon_0.2.tar.gz

Avviatelo,

./sysmon

e comparirà il nuovo indicator nel pannello in alto di Unity. Cliccateci sopra ed in "Preferences" selezionate "Use this command", come percorso invece inserite quello dello script,

$HOME/scripts/sysmon

poi salvate le impostazioni. Personalmente non mi è mai capitato, ma l'autore del programma lamentava un blocco di System Monitor Indicator proprio durante il salvataggio delle impostazioni. Dovesse capitare anche a voi, date il comando

killall indicator-sysmonitor

e fatelo ripartire. Se come nel mio caso v'interessa solo sapere la velocità della vostra rete, per eliminare la visualizzazione di tutte le altre informazioni aprite il file di configurazione con

gedit ~/scripts/sysmon

e modificatelo così:

#settings:
cpu=false
ram=false
netspeed=true

Salvate e riavviate System Monitor Indicator, lo vedrete finalmente apparire come nell'immagine riportata sopra. Se volete lanciarlo ad ogni avvio di Ubuntu, nel menù "Preferences" selezionate "Run on startup".

lunedì 2 dicembre 2013

Ubuntu: creazione, installazione e disintallazione pacchetti deb Oracle Java 6 e 7

Tempo fa il cambio di licenza di Oracle Java aveva imposto la sua eliminazione dai repository Ubuntu.

Martin Wimpress ha creato un script che non solo sopperisce a questa mancanza, ma fa molto di più:
  • crea un repository locale;
  • scarica i file Java dal sito Oracle;
  • usando questi file crea dei pacchetti deb sia per il runtime che per il JDK (serve a chi sviluppa in Java);
  • i pacchetti deb creati possono essere usati per un'installazione ex-novo o per aggiornare pacchetti precedentemente installati usando direttamente il vostro gestore dei pacchetti preferito, ad esempio Gestore Pacchetti (Sinaptic) o l'Ubuntu Sofware Center.
Ho testato il tutto su Ubuntu 12.04 LTS (Precise) a 64 bit, ma dovrebbe funzionare con tutte le versioni di Ubuntu dalla 10.10 in poi, sia a 32 che 64 bit.

L'autore dello script infatti indica chiaramente che lo script non è compatibile solo con Ubuntu 10.04.

Ecco allora le poche semplici istruzioni per creare ed installare i pacchetti deb di Oracle Java 6 e 7 su Ubuntu:

mkdir ~/Scrivania/java
cd ~/Scrivania/java

Fate attenzione, la prossima è un'unica riga anche se eventualmente la vedrete andare a capo:

wget https://github.com/flexiondotorg/oab-java6/raw/0.3.0/oab-java.sh -O oab-java.sh

e poi

chmod +x oab-java.sh

A questo punto non vi resta che lanciare lo script con le opzioni giuste per scaricare Java dal sito Oracle e creare i pacchetti deb per la successiva installazione.

Per creare i pacchetti di Oracle Java 6 (ATTENZIONE: non riceve più aggiornamenti di sicurezza) basta il comando:

sudo ./oab-java.sh


Se invece volete creare i pacchetti per Oracle Java 7 (consigliato), allora dovete aggiungere un'apposita opzione al  comando precedente:

sudo ./oab-java.sh -7

Se per caso avviate lo script da dietro un proxy, il sudo iniziale diventa sudo -i, così:

sudo -i ./oab-java.sh -7

Appena lo script parte vi indicherà una stringa da inserire in un altro terminale per seguire l'elaborazione in tempo reale, è qualcosa del tipo:

tail -f ~/Scrivania/java/oab-java.sh.log

ma voi usate direttamente quella che compare nel vostro terminale.

Aprite un secondo terminale e incollate lì la vostra stringa, poi date un invio sulla tastiera: potrete vedere il gran numero di operazioni svolte dallo script e anche eventuali messaggi di errore nel caso qualcosa andasse storto.

Ora mettetevi comodi: a seconda della potenza del vostro computer e la velocità della connessione Internet (c'è molta roba da scaricare a cominciare da Java stesso), si va da qualche minuto a qualche decina di minuti di elaborazione.

In realtà tutto potrebbe terminare molto prima se vi sono dipendenze insoddisfatte per la compilazione come è accaduto a me. L'elaborazione si è fermata e ho ricevuto questo messaggio:

dpkg-checkbuilddeps: Unmet build dependencies: curl
dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting.
dpkg-buildpackage: warning: (Use -d flag to override.)
2599's retcode: 3


Se beccate anche voi lo stesso messaggio di errore, tagliate la testa al toro dando questo comando,

sudo apt-get install build-essential curl

poi rilanciate il comando di creazione dei pacchetti Java che avevate dato prima. A me si è fermato una seconda volta con questo nuovo messaggio:

debian/control did change, please restart the build
make: *** [debian/control] Errore 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2
3223's retcode: 2


Sta dicendo di rilanciare nuovamente la creazione dei pacchetti. Se succede anche a voi, rilanciate ancora una volta l'ultimo comando dato e dovrebbe risolversi tutto.

Se invece continua a darvi ostinatamente lo stesso errore, chiudete entrambi le finestre di terminale, poi riapritele e ripetete tutto ancora una volta: prima il comando di creazione dei pacchetti Java,

sudo ./oab-java.sh -7

poi quello per osservare i messaggi dell'elaborazione:

tail -f ~/Scrivania/java/oab-java.sh.log

Una volta che è terminata correttamente la creazione dei pacchetti, viene automaticamente lanciato l'update di apt-get che rende visibile al gestore del software di Ubuntu i pacchetti Java appena creati.

Ora avrete a disposizione alcune opzioni d'installazione, usate quella che vi serve.

Installazione ex-novo Oracle Java 7 runtime:

sudo apt-get install oracle-java7-jre oracle-java7-plugin oracle-java7-fonts

Installazione ex-novo Oracle Java 7 runtime + JDK:

sudo apt-get install oracle-java7-jre oracle-java7-plugin oracle-java7-fonts oracle-java7-jdk

Aggiornamenti di pacchetti precedentemente installati, sia runtime che JDK:

sudo apt-get upgrade

Non dimenticate di verificare il corretto funzionamento di Java.

Se volete disinstallare Java da Ubuntu, trattandosi di normali pacchetti usate i soliti strumenti che Ubuntu mette a disposizione per farlo, ad esempio Gestore Pacchetti (Sinaptic) o l'Ubuntu Sofware Center, basta cercare i pacchetti che iniziano con il nome "oracle-java".

Se invece preferite la riga di comando:

sudo apt-get remove --purge oracle-java7-jre oracle-java7-plugin oracle-java7-fonts oracle-java7-jdk

giovedì 28 novembre 2013

Creare una sitemap per Blogger/Blogspot e segnalarla a Google

Finalmente un modo facilissimo per farlo, perché la novità è che Google ha finalmente aggiunto il supporto alle sitemap xml per Blogger/Blogspot.

La potete trovare all'indirizzo:

http://nome-blog.blogspot.it/sitemap.xml

Niente più tools strani per farsele da se, o siti web a cui dare l'URL del nostro blog per avere sitemap grandi al massimo 500 link, ne c'è più bisogno di pagare qualcuno per farcele preparare.

Una così bella novità, e pare che a Google si siano dimenticati di pubblicizzarla a dovere.

In rete infatti anche guide recentissime nel momento in cui scrivo, continuano ad indicare il sistema di inserire nel Google Webmaster Tools direttamente il feed del blog, superando il limite delle 26 pagine/post con la stringa

atom.xml?max-results=500&start-index=1

solo per poi ritrovarsi bloccati a 500 link e dover correre, prima di sforare, ad aggiungere una seconda sitemap per segnalare i successivi 500 link,

atom.xml?max-results=500&start-index=501

e così via a crescere a blocchi di 500 link alla volta.

È roba vecchia.

Vediamo come adesso si segnala la sitemap di Blogger/Blogspot a Google in modo super semplice.

Do per scontato che abbiate un account Google Webmaster Tools, altrimenti attivatene uno, vi tornerà utile per tantissime altre cose.

Entrate in Google Webmaster Tools e se già non l'avete fatto, aggiungete il vostro blog cliccando sul pulsante "Aggiungi un sito". Quando l'operazione è conclusa correttamente esso comparirà nella Home.

A questo punto cliccate sul nome del sito appena aggiunto, poi

Scansione | Sitemap | Aggiungi/Testa sitemap

e nella finestra che si apre inserite la stringa

sitemap.xml

poi cliccate su "Invia Sitemap".

Basta, avete finito: tutto qua! Ora dovrete solo attendere che Google elabori la sitemap che le avete inviato ed il gioco è fatto.

Ma esattamente, cos'è una sitemap?

Le sitemap sono un modo per aiutare i motori di ricerca a trovare le pagine dei nostri siti web o i post che pubblichiamo sui nostri blog che altrimenti nessuno troverebbe.

La sitemap è un file XML che contiene gli URL delle pagine del sito, o dei post del blog. Vi sono anche informazioni aggiuntive come la data dell'ultimo aggiornamento, eventualmente la frequenza di aggiornamento, l'importanza che vogliamo dare ad alcuni URL rispetto ad altri.

Grazie alla sitemap i motori di ricerca eseguono la scansione di tutte le pagine/post del sito in maniera più efficiente senza perdersene nessuna.

Mettiamo in chiaro una cosa: con le sitemap non abbiamo la garanzia assoluta che le nostre pagine saranno indicizzate dai motori di ricerca, la loro presenza però facilita il processo di scansione affinché questo avvenga.

venerdì 8 novembre 2013

Ubuntu: installazione di SQLite da sorgente

Prima o poi un database può servire, e serve un RDBMS per gestirlo. Una scelta molto comune è MySQL, altra possibile scelta è PostgreSQL, ma non sempre c'è bisogno di scomodare tanta potenza e peso.

A volte serve qualcosa di piccolo ed essenziale, facile da installare e da usare, che sia multipiattaforma e richieda poca o nessuna amministrazione, che possa essere usato sia come prodotto a se stante, sia gestito dall'interno dei nostri programmi scritti in un linguaggio di programmazione come C/Java/PHP/Python, e molti altri per cui esiste il binding.

Queste sono le occasioni in cui SQLite fa al caso nostro. Il prodotto ha notevoli possibilità e anche limiti, per cui è sempre da valutare con attenzione se fa proprio al caso nostro.

Vediamo come installarlo su una macchina Ubuntu partendo direttamente dai sorgenti disponibili per il dowload sul sito ufficiale. Per le prove ho usato una Ubuntu 12.04 LTS a 64 bit e SQLite 3, ma con piccole modifiche immagino sia una procedura del tutto generale. Fatemi sapere laddove doveste incontrare problemi, ma anche laddove è andato tutto bene.

Iniziamo con l'installazione preliminare dell'occorrente per la successiva compilazione dei sorgenti. Aprite un terminale e date il comando:

sudo apt-get install build-essential checkinstall

Scaricate dal link precedente il sorgente sqlite-autoconf-nomeversione.tar.gz, nel momento in cui scrivo il nome esatto del file è sqlite-autoconf-3080100.tar.gz., ma con il tempo la parte numerica cambierà in funzione delle nuove versioni, assicuratevi comunque che si tratti sempre del file con la stringa "autoconf" nel nome.

Portatevi con il terminale nella cartella dove avete scaricato il file e decomprimetelo con

tar xvfz sqlite-autoconf-3080100.tar.gz

poi compilatelo con:

cd sqlite-autoconf-3080100
./configure
make
sudo checkinstall

Se tutto procede bene, ad un certo punto "Checkinstall" vi chiederà:

The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs?  [y]:


Rispondete y oppure n a seconda che vogliate o meno creare ed installare la documentazione del software. Vi verrà anche chiesto di inserire una descrizione del pacchetto:

Inserire una breve descrizione per il pacchetto.
Termina la tua descrizione con un linea vuota o EOF.
>>


Inseritene una a vostro piacimento, per esempio:

SQLite 3.8.1 installed from source with Checkinstall.

e date esattamente 3 volte "Invio" sulla tastiera per proseguire l'installazione. Una volta terminata, per testare il funzionamento di SQLite date il comando:

sqlite3

Se beccate l'errore

SQLite header and source version mismatch

allora c'è un problema di librerie non aggiornate dall'installazione da risolvere così:

sudo updatedb
locate libsqlite3

Vedrete che le librerie libsqlite3.so.0 e libsqlite3.so.0.8.6 sono presenti in almeno 3 directory:

/usr/lib/i386-linux-gnu/libsqlite3.so.0
/usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
/usr/lib/x86_64-linux-gnu/libsqlite3.a
/usr/lib/x86_64-linux-gnu/libsqlite3.la
/usr/lib/x86_64-linux-gnu/libsqlite3.so
/usr/lib/x86_64-linux-gnu/libsqlite3.so.0
/usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
/usr/local/lib/libsqlite3.a
/usr/local/lib/libsqlite3.la
/usr/local/lib/libsqlite3.so
/usr/local/lib/libsqlite3.so.0
/usr/local/lib/libsqlite3.so.0.8.6

Controllando le date (controllate effettivamente, non vorrei che proprio nel vostro caso i problemi fossero altri) si vedrà che i file delle directory usr/lib/i386-linux-gnu/ e /usr/lib/x86_64-linux-gnu/ non sono aggiornati alla stessa data di quelli nella directory /usr/local/lib/, i più recenti appena installati.

Su Ubuntu 64 bit è sufficiente aggiornare i file nella sola directory /usr/lib/x86_64-linux-gnu/ copiandovi quelli della directory /usr/local/lib/.

Immagino, ma NON ho testato l'ipotesi, che per installazioni di Ubuntu a 32 bit la directory /usr/lib/x86_64-linux-gnu/ va sostituita con la directory /usr/lib/i386-linux-gnu/.

Perché SQLite riprenda a funzionare è sufficiente aggiornare solo i 2 file libsqlite3.so.0 e libsqlite3.so.0.8.6, per mantenere il tutto allineato è preferibile aggiornarli tutti.

Per sicurezza è meglio cambiare nome ai file da aggiornare piuttosto che cancellarli o sovrascriverli, così da poter tornare indietro in caso di necessità:

sudo mv /usr/lib/x86_64-linux-gnu/libsqlite3.a /usr/lib/x86_64-linux-gnu/libsqlite3.a_bak

sudo mv /usr/lib/x86_64-linux-gnu/libsqlite3.la /usr/lib/x86_64-linux-gnu/libsqlite3.la_bak

sudo mv /usr/lib/x86_64-linux-gnu/libsqlite3.so /usr/lib/x86_64-linux-gnu/libsqlite3.so_bak

sudo mv /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0_bak

sudo mv /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6_bak

Infine copiare i nuovi file al posto dei vecchi rinominati:

sudo cp /usr/local/lib/libsqlite3.a /usr/lib/x86_64-linux-gnu/

sudo cp /usr/local/lib/libsqlite3.la /usr/lib/x86_64-linux-gnu/

sudo cp /usr/local/lib/libsqlite3.so /usr/lib/x86_64-linux-gnu/

sudo cp /usr/local/lib/libsqlite3.so.0 /usr/lib/x86_64-linux-gnu/

sudo cp /usr/local/lib/libsqlite3.so.0.8.6 /usr/lib/x86_64-linux-gnu/

Se tutto è stato fatto correttamente ora SQLite dovrebbe funzionare. Provate a ridare il comando:

sqlite3

e SQLite dovrebbe rispondervi:

SQLite version 3.8.1 2013-10-17 12:57:35
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
>


Per uscire dal prompt e terminare SQLite:

.q

Per disinstallarlo completamente:

sudo apt-get remove --purge sqlite-autoconf

E' tutto... buon lavoro con SQLite!