Ecco una veloce guida su come installare Spotify 0.8.8 partendo dai pacchetti .deb ufficiali rilasciati da Spotify.
La versione in oggetto e’ la 0.8.8, attualmente l’ultima. Nel caso ci fossero aggiornamenti, basta cambiare l’url all’interno dello script con l’ultima versione aggiornata disponibile.
Installiamo git ed altri software necessari:
yum install wget git perl perl-devel qt-webkit binutils rpm-build libXScrnSaver
Creamo due directory temporanei per l’installazione e scarichiamo spotify:
mkdir /root/tmp-spotify-install/ && cd /root/tmp-spotify-install/
wget http://repository.spotify.com/pool/non-free/s/spotify/spotify-client_0.8.8.323.gd143501.250-1_amd64.deb
Scarichiamo Alien che ci servirà per “convertire” a rpm il pacchetto .deb ufficiale:
git clone git://git.kitenet.net/alien
cd alien && perl Makefile.PL; make; make install && cd ..
Convertiamo il .deb a .rpm ed installiamolo:
alien –to-rpm spotify-*.deb
rpm -Uvh –nodeps spotify-*.rpm
A questo punto bisogna creare qualche link simbolico a librerie richieste da spotify. Mi raccomando, controllare prima che non siano gia’ presenti i percorsi di destinazione onde evitare possibili problemi.
ln -s /usr/lib64/libnss3.so /usr/lib64/libnss3.so.1d
ln -s /usr/lib64/libnssutil3.so /usr/lib64/libnssutil3.so.1d
ln -s /usr/lib64/libsmime3.so /usr/lib64/libsmime3.so.1d
ln -s /usr/lib64/libplc4.so /usr/lib64/libplc4.so.0d
ln -s /usr/lib64/libnspr4.so /usr/lib64/libnspr4.so.0d
ln -s /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.0.9.8
ln -s /lib64/libcrypto.so.10 /lib64/libcrypto.so.0.9.8
Completiamo l’installazione di spotify con questi comandi di pulizia:
mv /usr/bin/spotify{,-linux} && echo -e “#! /bin/sh\nrm -rf ~/.cache/spotify\n/usr/bin/spotify-linux” >> /usr/bin/spotify
chmod a+x /usr/bin/spotify
cd /root/ && rm -rf tmp-spotify-install/
Finito!
Come e’ possibile rimuovere tutte le regole di IPtables senza eseguire nessun restart di servizi e/o sistema operativo? Semplicissimo:
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
Alcune considerazioni: (-t specifichiamo la table), -F significa flush. Stiamo quindi flushando il chain attuale. Con l’opzione -X specifichiamo che vogliamo eliminare tutte le regole del chain espressamente aggiunte dall’utente.
Le ultime tre regole aggiungono alle policy INPUT, FORWARD, OUTPUT di accettare qualunque rispettiva richiesta.
Fatto!
Quando ho dovuto preparare una serie di brochures per la mia attività sistemistica, ho avuto l’esigenza di poter racchiudere in un singolo file pdf, più files. Nello specifico, dovevo riuscire ad ottenere un unico pdf contenente sia il fronte che il retro della brochure.
Per risolvere il problema, ho provato ad usare il tool pdftk
L’installazione e’ molto semplice:
Per installare il pacchetto in Ubuntu / Debian:
aptitude install pdftk
In CentOs / Fedora:
yum install pdftk
Unire più pdf:
Eseguire in un console il seguente comando.
pdftk file1.pdf file2.pdf cat output file_unico.pdf
Fatto!
Grazie al tool qrencode, è possibile generare un codice a barre QR personalizzato direttamente con Linux.
Il pacchetto necessario per il processo di encoding in genere non risulta preinstallato nelle varie distro linux. Per installarlo:
Linux Ubuntu / Debian:
aptitude install qrencode
Linux Fedora / CentOS:
yum install qrencode
Proviamo quindi a generare un codice QR con il comando qrencode.
Il nostro intento è quello di ottenere un qr code stampabile servendoci di un file VCARD contenente alcuni dati anagrafici.
Creazione VCard
Utilizzando un comune editor di testo generiamo manualmente un file vcard. Se non si ha pratica con i file vcard, oppure lo si vuole personalizzare ulteriormente, esistono in internet diversi generatori di file vcard. Nell’esempio, un file vcard versione 4.
BEGIN:VCARD
VERSION:4.0
N:Rossi;Mario;;;
FN:Mario Rossi
ORG:Imbianchini Associati
TITLE:Imbianchino
TEL;TYPE="work,voice";VALUE=uri:tel:+39 012 3456789
TEL;TYPE="home,voice";VALUE=uri:tel:+30 987 654321
ADR;TYPE=work;LABEL="Viale Roma, 1\nRoma, 12345\nItalia"
:;;Via Roma, 1;Roma;IT;12345;Italia
EMAIL:mariorossi@imbianchini.bar
END:VCARD
Generazione QR code
Procediamo quindi con la generazione del file png contentente il nostro codice:
qrencode -o qr.png -s 3 --level=L --margin=2 --dpi=300 < vcard.txt
Vediamo quali sono le opzioni più indicative utilizzate nell’esempio:
- –level: indichiamo il livello di correzione degli errori. Il valore di default è Low. Nel caso volessimo generare un codice QR con pochi dati come quello dell’esempio illustrato, potremmo permetterci di alzare il livello. (H M Q L).
- –output: percorso e file di destinazione del QR code.
- –margin: indichiamo lo spessore del margine. Di default è 4. Valori minori corrispondono ad un margine minore.
- –dpi: specifichiamo i DPI del PNG che generiamo. Di default è 72.
E se volessimo conoscere quanto tempo ci mette a caricarsi una pagina web? Facile!
Per ottenere il tempo di caricamento ci serviamo di cURL come da esempio sottostante:
curl -s -o /dev/null –write-out %{time_total} –connect-timeout 2 -m 10 www.website.foo
La prima cosa che facciamo quindi è sopprimere l’output di default cURL e, con l’opzione –write-out, dichiariamo la variabile che ci interessa, ovvero time_total
Ci sono anche altre variabili relative al tempo che possono essere utili, ecco le principali:
- %{time_connect}: tempo impiegato dal comando cURL per completare la connessione all’host remoto.
- %{time_starttransfer}: tempo impiegato calcolato dal primo byte trasferito.
Per maggiori dettagli consultare curl_easy_getinfo ampiamente discussa al seguente link: http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
L’MBR è la sezione dell’hard disk (512bytes) che contiene il settore d’avvio. Noto come Master Boot Record, contiene le istruzioni utili all’avvio del sistema operativo. È la destinazione di default dove praticamente la totalità delle distribuzioni linux installa il boot loader grub.
Ecco come copiare l’MBR o come ripulirlo con linux.
Copiare l’MBR:
Per copiare l’MBR ci serviamo del comando dd, aprire una console linux e digitare:
dd if=/dev/disk1 of=/dev/disk2 bs=512 count=1
Sostituire disk1 con il device di origine, disk2 con il device di destinazione.
Rimuovere il contenuto dell’MBR:
Per rimuvere il contenuto dell’MBR ci serviamo del comando dd, aprire una console linux e digitare:
dd if=/dev/zero of=/dev/disk1 bs=512 count=1
Sostituire disk1 con il device che si desidera “ripulire”.
Recentemente ho installato linux Mint su un vecchio portatile Olidata dotato di CPU Celeron e 1GB di RAM. La versione MINT Debian con MATE 1.4 non ha avuto nessun problema d’installazione, tutto l’hardware è stato rilevato con successo senza installare drivers aggiuntivi.
Unico appunto, l’ottimizzazzione dell’ambiente grafico. Per sostituire i driver VESA con i driver SiS
e quindi gestire al meglio MATE basta semplicemente installare i seguenti drivers SiS reperibili su internet nella versione 32 bit o 64 bit ai seguenti links:
http://ajoliveira.com/ajoliveira/gen/bin/sis_driver_32-bit_12.04.tar.gz
http://networkice.com/ubuntu-64-bit-download
Una volta scaricati basta eseguire questi semplici passi:
gzip -dc sis_driver_32-bit_12.04.tar.gz | tar -xf -
sudo cp 32-bit/sis671_drv.so /usr/lib/xorg/modules/drivers
sudo cp 32-bit/sis671_drv.la /usr/lib/xorg/modules/drivers
sudo cp 32-bit/xorg.conf /etc/X11/xorg.conf
Ecco invece l’output del comando lspci del portatile Olidata oggetto dell’installazione:
00:00.0 Host bridge: Silicon Integrated Systems [SiS] 671MX
00:01.0 PCI bridge: Silicon Integrated Systems [SiS] AGP Port (virtual PCI-to-PCI bridge)
00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS968 [MuTIOL Media IO] (rev 01)
....
01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS] 771/671 PCIE VGA Display Adapter (rev 10)
Prima di iniziare con la creazione dei dischi logici con LVM, occorre controllare che il software necessario sia presente nella propria installazione Linux. Se necesario installare lvm2:
aptitude install lvm2
LVM: Comandi utili
Il pacchetto installerà alcuni comandi utili per la gestione dei dischi fisici e logici di LVM:
- pvcreate, pvdisplay, pvscan: comandi per creare e gestire i dischi fisici di tipo LVM (es. sda3,sdb2 …).
- vgcreate, vgdisplay, vgscan: comandi per creare e gestire i volume groups.
- lvcreate, lvdisplay, lvscan: comandi per creare e gestire le unità logiche.
Creare partizione di tipo LVM:
Come prima cosa dobbiamo creare una prima partizione da inserire nel nostro gruppo di volumi: l’operazioni si può eseguire con un comune software di partizionamento come cfdisk, fdisk.
Unico accorgimento, specificare il tipo di filesystem a cui è destinata la partizione: Linux LVM
Creazione del Physical Volume:
Prima di tutto si deve creare il physical volume. In soldoni dobbiamo specificare che desideriamo destinare lo spazio della nuova partizione a LVM:
Prendiamo come esempio la partizione sda3.
root@h01:~# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
Creazione del Volume Group:
È quindi necessario creare un volume group. Il Volume Group bisogna immaginarlo come un contenitore dove possiamo aggiungere partizioni in qualsiasi momento e far si che accresca lo spazio a disposizione per i vari volumi logici.
root@h01:~# vgcreate vg0 /dev/sda3
Volume group "vg0" successfully created
Vg0 è un nome identificativo arbitrario.
Creazione del Logical Volume:
Finalmente ci dedichiamo a creare i volumi logici che altro non sono che partizioni logiche comparabili alle normali partizioni primarie standard.
In questo esempio si procede alla creazione di una partizione logica di dimensioni 8GBytes chiamata “dati”. Il suo contenitore sarà vg0, il volume group creato in precedenza.
root@h01:~# lvcreate -L8G -ndati vg0
Logical volume "dati" created
Una volta creata, la partizione sarà sotto /dev/vg0/dati.
Spesso le magie di Unetbootin durante il riversamento dell’immagine ISO di CentOS su di un disco usb fanno si che “l’EFI esegua un’incorretta mappatura” dei vari device.
Il problema si riscontra solo durante l’installazione di CentOS e più precisamente al momento dell’installazione del bootloader GRUB, dove si verifcano gli errori più disparati e l’installer di CentOS non riesce ad configurare Grub su nessun device specificato.
Per ovviare a questo problema, e quindi installare senza problemi CentOS da un disco USB, basta servirsi dell’utility livecd-tools in alternativa a Unetbootin.
In Fedora/CentOS/RHEL il pacchetto binario è installabile dai repo ufficiali:
Installed Packages
Name : livecd-tools
Arch : x86_64
Epoch : 1
Version : 16.15
Release : 1.fc16
Size : 140 k
Repo : installed
From repo : updates
Summary : Tools for building live CDs
URL : http://git.fedorahosted.org/git/livecd
License : GPLv2
Description : Tools for generating live CDs on Fedora based systems including
: derived distributions such as RHEL, CentOS and others. See
: http://fedoraproject.org/wiki/FedoraLiveCD for more details.
Per installare l’utility basta lanciare quindi il seguente comando:
yum install livecd-tools
Una volta installato, per creare il disco usb bootable partendo dall’ISO di CentOS, basta servirsi del comando livecd-iso-to-disk.
livecd-iso-to-disk --format --reset-mbr CentOS-6.3-x86_64-minimal.iso /dev/sdX
(sostituire sdX con il nome del device USB desiderato (es. /dev/sdb) e CentOS-6.3-x86_64-minimal.iso con il file ISO scaricato.
Come possiamo verificare su che webserver gira una pagina web?
Ci sono diverse risposte alla domanda in questione, alcune possono sembrare meno ortodosse come ad esempio telnet (telnet www.foo.bar 80), altre molto più utili ed intuitive come cURL.
Il comando cURL è disponibile in tutte le distribuzioni linux e unix-like come anche Mac OSX.
Ecco come verificare l’identità del webserver con cURL:
curl -I http://www.foo.bar
L’output del comando sarà simile al seguente:
HTTP/1.1 200 OK
Server: Apache
Date: Mon, 10 Sep 2012 17:25:33 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache