SMsoft – informatica e dintorni

varie su OSX, GNU/Linux e l'Open Source

Static route e Persistent static route su Debian

La creazione di una rotta statica (static route) è una procedura che permette di instradare i pacchetti destinati ad una serie di IP, identificati con rete e netmask, tramite un gateway.
Questa procedura viene generalmente fatta quando si hanno diversi gateway per diverse reti. Aggiungere manualmente una rotta (static route) è possibile con:

~# route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.2

dove si inoltrano i pacchetti destinati alla rete 10.0.0.0/255.0.0.0 verso il gateway 192.168.0.2.
Il problema di questo comando è che al riavvio le impostazioni vengono perse. Per far si che il sistema ricordi la rotta (persistent static route), basterà aggiungere un’opportuna direttiva nel file di configurazione delle interfacce di rete /etc/network/interfaces. Per ricreare la rotta di cui sopra, basterà inserire alla fine del file interfaces le righe:

up /sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.2
down /sbin/route del -net 10.0.0.0 netmask 255.0.0.0

Il file interfaces sarà quindi un qualcosa del genere:

auto eth0
iface eth0 inet static
  address 192.168.0.7
  netmask 255.255.255.0
  gateway 192.168.0.1
  up /sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.2
  down /sbin/route del -net 10.0.0.0 netmask 255.0.0.0

dove ovviamente il gateway predefinito è il 192.168.0.1 e per la sola rete 10.0.0.0/255.0.0.0 sarà il 192.168.0.2

Infine, per verificare che la rotta sia stata correttamente creata, oltre che un test con traceroute, si può usare il comando route come segue:

~# route -n

e si vedrà qualcosa del genere:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.0.0.0        192.168.0.2     255.0.0.0       UG    0      0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

enjoy!

Debian Squeeze: Failed to exec method /usr/lib/apt/methods/

Dopo aver completato l’installazione della nuova debian squeeze senza rete, ho collegato il cavo ed ho decommentato le righe in /etc/apt/sources.list per installare altro software. Al lancio di apt-get ho ricevuto:

# apt-get update
Failed to exec method /usr/lib/apt/methods/
Failed to exec method /usr/lib/apt/methods/
E: Method  has died unexpectedly!
E: Il sottoprocesso  ha restituito un codice d'errore (100)
E: Il metodo /usr/lib/apt/methods/ non si è avviato correttamente
E: Method  has died unexpectedly!
E: Il sottoprocesso  ha restituito un codice d'
errore (100)
E: Il metodo /usr/lib/apt/methods/ non si è avviato correttamente

Il problema è semplice, ma se siete qui significa che non avete notato un errore negli indirizzi. E’ infatti indicato:

# Line commented out by installer because it failed to verify:
deb ://volatile.debian.org squeeze-updates main
# Line commented out by installer because it failed to verify:
deb-src ://volatile.debian.org squeeze-updates main

in cui manca http e dovrebbe essere variato in

# Line commented out by installer because it failed to verify:
deb http://volatile.debian.org squeeze-updates main
# Line commented out by installer because it failed to verify:
deb-src http://volatile.debian.org squeeze-updates main

ATTENZIONE: il progetto volatile è chiuso con squeeze (rif fonte), pertanto le righe relative al progetto volatile vanno commentate o eliminate

enjoy

Rilasciata Debian 6.0 “Squeeze”

Dopo 24 mesi di sviluppo costante, il progetto Debian è orgoglioso di presentare la sua nuova versione stabile 6.0 (nome in codice “Squeeze”). Debian 6.0 è un sistema operativo libero e per la prima volta viene fornito in due varianti. Accanto a GNU/Linux, con questa versione viene introdotta, come “anteprima tecnologica”, Debian GNU/kFreeBSD.
Debian 6.0 include il desktop e le applicazioni KDE Plasma, gli ambienti desktop GNOME, Xfce e LXDE oltre ad ogni sorta di applicazione server. È inoltre garantita la compatibilità con FHS v2.3 e il software sviluppato per la versione 3.2 delle specifiche LSB.

Debian funziona su dispositivi di ogni tipo, dai palmari ai supercomputer. Supporta inoltre un totale di nove architetture: 32-bit PC / Intel IA-32 (i386), 64-bit PC / Intel EM64T / x86-64 (amd64), Motorola/IBM PowerPC (powerpc), Sun/Oracle SPARC (sparc), MIPS (mips (big-endian) and mipsel (little-endian)), Intel Itanium (ia64), IBM S/390 (s390) e ARM EABI (armel).

Un’altra novità assoluta è un kernel Linux completamente libero, che non contiene più firmware problematici. Questi sono stati divisi in pacchetti separati e spostati al di fuori dell’archivio principale Debian nell’area non-free del nostro archivio, la quale non è abilitata in maniera predefinita. In questo modo gli utenti Debian hanno la possibilità di utilizzare un sistema operativo completamente libero ma possono comunque scegliere, se necessario, di usare i firmware non free. I firmware necessari durante l’installazione possono essere caricati dal sistema di installazione; sono anche disponibili immagini CD e archivi tar speciali per installazioni basate su USB. Maggiori informazioni possono essere trovate sul sito Debian nella pagina wiki sui firmware.
Inoltre, Debian 6.0 introduce un sistema di avvio basato sulle dipendenze, rendendo così più rapida e robusta la partenza del sistema tramite l’esecuzione parallela degli script d’avvio e il corretto tracciamento delle loro dipendenze. Diverse altre modifiche, come l’introduzione dell’ambiente KDE Plasma Netbook, fanno sì che Debian si avvicini di più al mondo dei netbook compatti.
Oltre ai normali supporti di installazione, Debian GNU/Linux può essere usata direttamente senza installazione. Le immagini particolari che si usano in questi casi, chiamate immagini live, sono disponibili per CD, supporti USB e boot da rete. Attualmente queste immagini sono fornite soltanto per le architetture amd64 e i386. È inoltre possibile usare le immagini live per installare Debian GNU/Linux.

Il processo di installazione di Debian GNU/Linux 6.0 è stato migliorato in vari modi, attraverso una più intuitiva selezione delle impostazioni di lingua e tastiera, il partizionamento di volumi logici, RAID e sistemi cifrati. È stato aggiunto anche il supporto ai filesystem ext4 e Btrfs e — per l’architettura kFreeBSD — al filesystem Zettabyte (ZFS). Il sistema di installazione di Debian GNU/Linux è disponibile ora in 70 lingue.

Le immagini per l’installazione di Debian sono scaricabili via BitTorrent (metodo consigliato), jigdo o HTTP; consultare la pagina Debian su CD per ulteriori informazioni. Inoltre, i supporti DVD, CD-ROM e Blu-ray saranno presto disponibili tramite i numerosi fornitori.

Gli aggiornamenti a Debian GNU/Linux 6.0 dal precedente rilascio, Debian GNU/Linux 5.0 (nome in codice “Lenny”), nella maggior parte dei casi sono gestiti automaticamente dallo strumento di amministrazione apt-get e per buona parte anche dallo strumento analogo aptitude. Come sempre, i sistemi Debian GNU/Linux possono essere aggiornati senza fatica, senza interruzioni di servizio, tuttavia è fortemente consigliata la lettura delle note di rilascio oltre alla guida di installazione per eventuali problemi e per istruzioni dettagliate sull’installazione e l’aggiornamento. Le note di rilascio saranno ulteriormente migliorate e tradotte in altre lingue nelle settimane che seguiranno il rilascio.
Informazioni su Debian

Debian è un sistema operativo libero, sviluppato da migliaia di volontari da tutto il mondo che collaborano tramite Internet. La dedizione di Debian al software libero, la sua natura non a scopo di lucro e il suo modello di sviluppo aperto la rendono unica fra le distribuzioni GNU/Linux. I punti di forza essenziali del progetto Debian sono la sua base di volontari, la sua dedizione al Contratto Sociale di Debian e il suo impegno per fornire il miglior sistema operativo possibile. Debian 6.0 rappresenta un ulteriore importante passo in questa direzione.
Contatti

Per ulteriori informazioni, visita il sito web all’indirizzo http://www.debian.org/.

Date php in italiano con Debian

Il titolo è un po’ criptico, ma ora cerco di spiegarmi meglio.

Con PHP è possibile utilizzare la funzione per visualizzare le informazioni sulle date (es nome del mese o nome del giorno) nella lingua corrente. Ad esempio uno script potrebbe essere:

setlocale(LC_TIME, 'it_IT');
echo strftime("%d %B %Y");

Se però PHP è installato su un SO il cui “locale” non è configurato con it_IT, le date continueranno ad essere visualizzate in inglese.

Per istruire la vostra Debian che la lingua dovrà essere it_IT, basterà digitare da console:

dpkg-reconfigure locales

e poi dall’elenco visualizzato, scegliere:

it_IT ISO-8859-1
it_IT.UTF-8 UTF-8

successivamente indicare che la lingua predefinita di sistema dovrà essere:

it_IT

ed attendere che dpkg completi la configurazione.

enjoy

Rimuovere su Debian un pacchetto e la configurazione con apt-get

Come sicuramente saprete, su Debian è possibile rimuovere un pacchetto precedentemente installato con “apt-get install” con:

apt-get remove nome_pacchetto

dove ovviamente nome_pacchetto è il nome del pacchetto da rimuovere.
Se tale pacchetto prevede una configurazione (es mantis) è possibile rimuovere il pacchetto e la configurazione con:

apt-get --purge remove nome_pacchetto

dove nome_pacchetto è sempre il nome del pacchetto da rimuovere.

Webradio con icecast su Debian

La creazione di una webradio con Gnu/Linux è abbastanza semplice; se utilizzate Debian è ancora più facile, dato che molti pacchetti sono precompilati e quindi installabili tramite il comodo apt-get.
I pacchetti che servono sono: icecast2, ices2.

Breve nota sui moduli audio:

In alcuni casi la scheda audio non viene correttamente riconosciuta da Debian. Spesso si può risolvere caricando i necessari moduli:

modprobe snd-pcm-oss
modprobe snd-mixer-oss
modprobe snd-seq-oss

ed aggiungerli in /etc/modules

echo snd_pcm_oss >> /etc/modules
echo snd-mixer-oss >> /etc/modules
echo snd-seq-oss >> /etc/modules

In alcuni casi sarà anche necessario installare il pacchetto:

apt-get install esound

Iniziamo con l’installazione

Per installare icecast, da shell digitiamo:

apt-get install icecast2

Installato icecast, passiamo alla relativa configurazione modificando il file /etc/icecast2/icecast.xml . In particolare va modificata la sezione dove sono presenti i dati di autenticazione:

<authentication>
    <!-- Sources log in with username 'source' -->
    <source-password>SourcePassword</source-password>
    <!-- Relays log in username 'relay' -->
    <relay-password>RelayPassword</relay-password>
    <!-- Admin logs in with the username given below -->
    <admin-user>admin</admin-user>
    <admin-password>AdminPassword</admin-password>
</authentication>

A questo punto abilitiamo icecast, modificando il file /etc/default/icecast2 ed in particolare  la riga:

ENABLE=true

Fatto questo, l’avvio di icecast va fatta con il classico:

/etc/init.d/icecast2 start

Bene, ora passiamo all’installazione di ices, che si occuperà di inviare l’audio al server di streaming icecast, che a sua volta lo invierà ai client che ne faranno richiesta. L’installazione di ices viene fatto con il classico:

apt-get install ices2

ices consente di inviare sia musica da una playlist che musica “live” da un ingresso audio.

Vediamo come configurare ices per l’uso di una playlist.

Possiamo prendere come esempio per la nostra playlist il file /usr/share/doc/ices2/examples/ices-playlist.xml. Facciamo una copia di tale file ed iniziamo a modificarlo:

mkdir /etc/ices
cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices/ices-config.xml

Del nuovo file /etc/ices/ices-config.xml, modifichiamo la sezione relativa al salvataggio del log:

<background>1</background>
<logpath>/var/log/</logpath>
<logfile>ices.log</logfile>

poi la sezione relativa al nome della radio:

<stream>
    <metadata>
        <name>Nome dello stream</name>
        <genre>Genere dello stream</genre>
        <<description>Una breve descrizione dello stream</description>
    </metadata>

modifichiamo poi la configurazione relativa alla playlist ed alla modalità di riproduzione

 <input>
    <module>playlist</module>
    <param name="type">basic</param>
    <param name="file">/etc/ices/play.lst</param>
    <param name="random">0</param>
    <!-- if the playlist get updated that start at the beginning -->
    <param name="restart-after-reread">0</param>
    <!-- if set to 1 , plays once through, then exits. -->
    <param name="once">0</param>
</input>

modifichiamo infine la parte di “connessione” verso il server icecast:

<instance>
    <hostname><strong>localhost</strong></hostname>
    <port><strong>8000</strong></port>
    <password><strong>SourcePassword</strong></password>
    <mount><strong>/playlist.ogg</strong></mount>
</instance>

dove andrà chiaramente inserito l’IP del server icecast e la password per la pubblicazione del nuovo stream.

Ora passiamo ai file che vogliamo riprodurre; vanno convertiti in formato ogg (ci sono tanti software per farlo, da ffmpeg a soundconverter) e messi in una cartella:

mkdir -p /tmp/ices/musics
mv ./*.ogg /tmp/ices/musics
ls /tmp/ices/musics/*.ogg > /etc/ices/play.lst

Infine dovviamo istruire ices per lavorare la playlist, con:

ices2 /etc/ices/ices-config.xml

e finalmente potremo collegarci al nostro server di streaming per ascoltare la musica; l’indirizzo sarà:

http://localhost:8000/playlist.ogg

per visionare le statistiche di icecast, basterà invece richiamare:

http://localhost:8000/admin/stats.xsl

Per inviare invece audio direttamente dalla scheda audio:

Possiamo prendere come esempio per la nostra playlist il file /usr/share/doc/ices2/examples/ices-playlist.xml. Facciamo una copia di tale file ed iniziamo a modificarlo:

mkdir /etc/ices
cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices/ices-config.xml

In questo caso nel file di configurazione di ices /etc/ices/ices-playlist.xml, va inserito:

<input>
    <module>oss</module>
    <param name='device'>/dev/dsp</param>
    <param name='rate'>44100</param>
    <param name='channels'>2</param>
</input>

dove /dev/dsp è chiaramente il device della scheda audio.
Va poi modificato il path dei log ed in particolare, nel file /etc/ices/ices-playlist.xml, la direttiva :

<logpath>/var/log/ices</logpath>

diventa

<logpath>/var/log/</logpath>

Modifichiamo infine la parte di “connessione” verso il server icecast:

<instance>
    <hostname><strong>localhost</strong></hostname>
    <port><strong>8000</strong></port>
    <password><strong>SourcePassword</strong></password>
    <mount><strong>/playlist.ogg</strong></mount>
</instance>

dove andrà chiaramente inserito l’IP del server icecast e la password per la pubblicazione del nuovo stream.

Infine dovviamo istruire ices per iniziare l’encode, con:

ices2 /etc/ices/ices-config.xml

(da inserire poi in un file di init per l’avvio automatico al boot) e finalmente potremo collegarci al nostro server di streaming per ascoltare la musica; l’indirizzo sarà:

http://localhost:8000/live

per visionare le statistiche di icecast, basterà invece richiamare:

http://localhost:8000/admin/stats.xsl

Per la scelta del canale di input (es mic o line in) e per la gestione del volume, è possibile utilizzare il semplice aumix:

apt-get install aumix

da eseguire con:

aumix

Per la scelta del canale, basta posizionarsi sopra lo stesso con i tasti cursore e poi premere la barra spazio (appare una R all’inizio della riga del canale) e poi salvare tutto con il tasto S

Dettagli streaming banda/qualità

QualitySamplerateChannelsBitrate
Low-Quality Talk Radio011127120Kbps
Medium-Quality Talk Radio211127130Kbps
Low-Quality Music044100256Kbps
Medium-Quality Music244100284Kbps
High-Quality Music4.5441002132Kbps

Aggiungere data/ora al bash history

Come saprete il comando history visualizza l’elenco dei comandi digitati, senza però fornire nessuna informazione su quando sono stati digitati. Per visualizzare la data/ora vicino ad ogni comando, si può pesonalizzare la variabile d’ambiente HISTTIMEFORMAT. In particolare con:

export HISTTIMEFORMAT="%F %T "

sarà possibile vedere l’output del comando history arricchito da data/ora.

Chiaramente tale comando andrà eseguito ad ogni avvio della linux box e perciò potremo inserirlo, ad esempio, nel file /etc/profile

Nota: il file .bash_history conterrà per ogni comando il timestamp a partire da epoch, che verrà utilizzato da history per mostrare la data/ora

Page optimized by WP Minify WordPress Plugin