Crea sito

Il less a colori

Sicuramente vi sarà capitato di vedere che é possibile usare i colori in shell tramite dei comandi di escape invece del solito terminale monocronatico. Non sono qui per spiegare come si impostano i colori in shell; per questo ci sono già tantissimi esempi in rete ma come mantenere la visualizzazione a colori se vengono passati in pipe al comando less ? Ad esempio se avete uno script che vi riporta in output lo stato di diversi server (occupazione dischi, memoria, processi, ecc) e visualizzate i valori con colori diversi a seconda della soglia raggiunta, se l’output lo passate in pipe al less vi ritrovate una serie di caratteri escape tanto da rendere l’output incomprensibile. Mi spiego meglio utilizzando un semplice ls colorato:

[email protected]:~$ ls -l *.png *.tar --color | less
-rw-r--r-- 1 alex alex   102400 2011-09-07 16:25 ESC[01;31mcreate_test.tarESC[00m
-rw-r--r-- 1 alex alex     1938 2011-04-27 08:08 ESC[01;35mdata_export.pngESC[00m
-rw-r--r-- 1 alex alex     2716 2011-04-27 08:06 ESC[01;35mload.pngESC[00m
-rw-r--r-- 1 alex alex     5464 2011-04-27 07:55 ESC[01;35mmain-title.pngESC[00m

Tramite il flag -R il less interpreta correttamente la codifica dei colori.

[email protected]:~$ ls -l *.png *.tar --color | less -R
-rw-r--r-- 1 alex alex   102400 2011-09-07 16:25 create_test.tar
-rw-r--r-- 1 alex alex     1938 2011-04-27 08:08 data_export.png
-rw-r--r-- 1 alex alex     2716 2011-04-27 08:06 load.png
-rw-r--r-- 1 alex alex     5464 2011-04-27 07:55 main-title.png

Stessa cosa  se usiamo l’opzione color (o –colour[=WHEN]) del grep (specificando always al posto di auto che disabilita il colore appena incontra una pipe):

grep --colour=always ERROR pippo.txt | less -R
Read More

Cancellare le ultime n-righe di un file

Vediamo un esempio del comando tac (il contrario di cat) che concatena il suo input e lo visualizza in output al contrario. Questa sua particolare funzione ci viene utile per eliminare le ultime n-righe di un file in quanto vengono visualizzate da subito in output ottenendo un notevole risparmio di tempo rispetto a una lettura completa di tutto il file.

[email protected]:~$ cat pippo.txt
1
2
3
4
5
6
7

Se voglio cancellare le ultime n-righe uso il comando tail +(n+1) su un file visualizzato al contrario e poi ri-visualizzato nuovamente al contrario in modo da riportarlo nel suo stato iniziale. Ad esempio se voglio eliminare le ultime 3 righe:

[email protected]:~$ tac pippo.txt | tail +4 | tac
1
2
3
4

Purtroppo, in alcune versioni del comando tail, l’opzione tail +n non è implementata ma solo la classica tail -n. Si può simulare lo stesso comportamento calcolando il numero di righe totali e sottraendo il numero desiderato anche se il wc obbliga a leggere interamente il file.

[email protected]:~$ tac pippo.txt  | tail -$(($(wc -l pippo.txt | awk '{print $1}')-3)) | tac
1
2
3
4

Se addirittura siete su un sistema Unix in cui non è presente il comando tac, come ad esempio Sun Solaris, allora bisogna leggere tutto il file e togliere la parte iniziale tramite head (e se il file è di dimensioni elevate allora tale sistema impiegherà parecchio tempo).

ALL=$(wc -l elenco.txt | awk '{print $1}')
TOP=$(($LAST - 3))
head -$(echo $TOP) elenco.txt > elenco.txt.new
mv elenco.txt.new elenco.txt

E’ possibile comunque simulare il comando tac tramite il sed.

[email protected]:~$ sed -n '1!G;h;$p' pippo.txt
7
6
5
4
3
2
1

Infine, sempre con il sed, è possibile cancellare direttamente l’ultima riga di un file; se tale comando lo eseguiamo in un ciclo otteniamo la cancellazione delle ultime n-righe.

[email protected]:~$ sed '$d' pippo.txt
Read More

PHP short tags e Flatnuke

Mi sono ritrovato nel caso di dover installare e testare un sito basato su flatnuke in una distribuzione Red Hat Enterprise Linux in cui il php.ini ha il flag short_open_tag disabilitato (Off) e il sito non funziona in quanto ho notato che in alcuni file di flatnuke è presente la direttiva abbreviata “index.php contiene la forma estesa mentre la functions.php che viene richiamata subito dalla index.php stessa inizia con la forma abbreviata. Il risultato è che nel browser si apre una pagina bianca in cui viene visualizzato tutto il codice sorgente.

$ head -5 index.php

Siccome sul server in questione girano altri siti web e non avendo la possibilità di modificare il php.ini (è necessario avere un utente privilegiato per la modifica del file di configurazione del php e il successivo riavvio di apache) ho optato per l’inserimento del flag short_open_tag nel file “.htaccess” posizionato nella directory radice dell’installazione del sito web basato su flatnuke.

$ cat /etc/php.ini | grep -i -B12 '^short_open_tag'
; This directive determines whether or not PHP will recognize code between
;  tags as PHP source which should be processed as such. It's been
; recommended for several years that you not use the short tag "short cut" and
; instead to use the full  tag combination. With the wide spread use
; of XML and use of these tags by other languages, the server can become easily
; confused and end up parsing the wrong code in the wrong context. But because
; this short cut has been a feature for such a long time, it's currently still
; supported for backwards compatibility, but we recommend you don't use them.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://www.php.net/manual/en/ini.core.php#ini.short-open-tag
short_open_tag = Off

Ecco il file “.htaccess” che mi ha risparmiato la modifica di tutti i singoli file php (questa soluzione è possibile solo nel caso in cui il php viene eseguito come modulo di apache e non come CGI).

$ cat flatnuke/.htaccess
php_flag short_open_tag On

Comunque, come riportato nel manuale php, è buona norma disabilitare la forma abbreviata ed utilizzare quella estesa, quindi è consigliabile impostare a Off questo valore.

Read More

Flatnuke nightly build

Ecco lo script completo per la creazione di un sistema di “nightly build” per flatnuke. Rispetto all’articolo “Cvs auto login” ho modificato l’invocazione di expect in quanto lo script eseguito da crontab riporta un errore dovuto alla presenza del comando interact che si aspetta una interazione con la tastiera e cron ovviamente non può aprire un terminale in input.

interact: spawn id exp0 not open
    while executing
"interact"

Ho modificato il login prendendo spunto da uno script per il login ssh ma in rete si trovano anche altri esempi. Invocazione dello script da crontab:

$ crontab -l
59 23 * * * /home/soci/aalex/cvs_con_tar.sh > /home/soci/aalex/cvs_con_tar.log 2>&1

Prima di editare la crontab (crontab -e), verificate che l’editor di default sia il vi (in caso contario esportate la variabile d’ambiente EDITOR settando il vostro editor preferito).

$ export EDITOR=vi

Infine lo script completo:

#!/bin/bash

DATA=$(date '+%Y%m%d')
VERSION="3.0.0"
HOST="flatnuke.cvs.sourceforge.net"
USER="anonymous"
HOME_TAR="/home/soci/aalex/www/AutoIndex/appoggio/flatnuke_nightly"

VAR=$(expect -c "
spawn cvs -d:pserver:$USER@$HOST:/cvsroot/flatnuke login
expect \"CVS password:*\"
send -- \"\r\"
expect eof
")
echo "==============="
echo "$VAR"
cvs -z3 -d:pserver:$USER@$HOST:/cvsroot/flatnuke co -P flatnuke

mkdir flatnuke-${VERSION}-${DATA}
cp -ivr flatnuke/* flatnuke-${VERSION}-${DATA}
tar zcvf flatnuke-${VERSION}-${DATA}.tar.gz --exclude=CVS flatnuke-${VERSION}-${DATA}
rm -rf flatnuke-${VERSION}-${DATA}
md5sum flatnuke-${VERSION}-${DATA}.tar.gz > flatnuke-${VERSION}-${DATA}.md5
mv flatnuke-${VERSION}-${DATA}.tar.gz $HOME_TAR/
mv flatnuke-${VERSION}-${DATA}.md5 $HOME_TAR/
find $HOME_TAR/ -name 'flatnuke-3*' -mtime +15 -exec rm -f {} \;

L’output completo è visibile qui (è una directory di Autoindex, un file manager in php) ; in particolare sono presenti i tar compressi e i relativi md5 degli ultimi 15 giorni.

Read More

Cvs auto login

Ho intenzione di crearmi un sistema di “nightly build” per flatnuke in modo che in automatico, tramite crontab, ogni giorno vada a scaricare il cvs da sourceforge e mi costruisca il tar già pronto da utilizzare senza tutte le directory CVS.

Il primo problema da affrontare è il login anonymous del cvs; infatti richiede almeno la pressione del tasto ENTER per effettuare l’autenticazione senza inserire nessuna password. Prendendo spunto da altri servizi come ftp e telnet, ho provato svariati metodi tra cui “here document” (“<

Allora mi sono ricordato del comando expect (da installare tramite il proprio gestore di pacchetti) che serve per interagire con i programmi che richiedono l’inserimento di dati (tipicamente user e password). Praticamente si dice a expect che cosa aspettarsi dal comando e di conseguenza mandare la risposta giusta. Nel nostro caso cvs si presenterà a terminale con la stringa esatta “CVS password:” e noi tramite il comando send spediremo un carriage return “(\r) o ^M” in modo da simulare la pressione del tasto INVIO.

#!/usr/bin/expect

spawn cvs -d:pserver:[email protected]:/cvsroot/flatnuke login
expect "CVS password:"
send "\r"
interact
spawn cvs -z3 -d:pserver:[email protected]:/cvsroot/flatnuke co -P flatnuke
interact
exit

Esempio di sintassi here document (che non funziona nel caso di cvs)

ftp -i -n otherhost << EOF
user myname mypassword
mput foo bar
EOF

Esempio di sintassi con pipe:

echo "
user myname mypassword
mput foo bar
" | ftp -i -n otherhost

oppure con telnet:

#!/bin/sh
tpipe() {
sleep 3;echo myname
sleep 1;echo mypassword
}
tpipe | telnet otherhost
Read More

Backreference nelle espressioni regolari

Prendendo spunto da un mio articolo sulla conversione delle news da WordPress a Flatnuke vediamo come utilizzare i backreference delle espressioni regolari per sostituire delle stringhe di caratteri.

La sintassi di un backreference è “( )\n”; dove con le parentesi tonde si cattura la parte che matcha per essere eventualmente usata e con “\n” (dove n è un numero da 1 e 9) la variabile per risalire alla parte referenziata in precedenza.

Ad esempio supponiamo di voler isolare il contenuto di una stringa tra i tag e . Con le parentesi tonde “(.*)” catturo qualsiasi carattere (anche nessun carattere) e successivamente uso il “\1” per indicare i caratteri che ho estratto in precedenza.

[email protected]:~$ echo "Ciao." | grep -E '(.*)<\/b>'
Ciao.
[email protected]:~$ echo "Ciao." | sed -n 's/\(.*\)<\/b>/\1/p'
Ciao.
[email protected]:~$ echo "

titolo

" | grep -E 'titolo' [email protected]:~$ echo "

titolo

" | grep -E 'titolo'

titolo

Ritornando al convertire da WordPress a Flatnuke (wp2fn) ho usato questa caratteristica per isolare le stringhe contenute fra i tag ” [ caption ] ” di WordPress. Da notare che tutti i caratteri “[ ] / ( )” all’interno della espressione regolare vanno preceduti dal carattere di escape “\” (backslash). Inoltre da notare che ho scritto “captio” invece di “caption” altrimenti wordpress lo riconosce come tag e non lo visualizza in questa pagina.

[email protected]:~$ grep -E '\[captio id=(.*)\](.*)\[/captio\]' 1294150483.xml
[captio id="attachment_207" align="aligncenter" width="300" captio="Export database WordPress in formato xml"]Export WordPress in formato xml[/captio]

Bene ora applichiamo la sostituzione tramite il comando sed usando i backreference:

[email protected]:~$ sed -ne 's/^\[captio id=.*\(\).*/\1/p' 1294150483.xml

Otteniamo il link html senza il tag caption:

Export WordPress in formato xml

La stessa cosa si può ottenere usando una combinazione di grep e cut per eliminare un tag xml generico.

[email protected]:~$ grep '' news.20.xml | cut -d '>' -f2 | cut -d '<' -f1
Fri, 20 Aug 2010 15:30:12 +0000

Invece con i back reference:

[email protected]:~$ grep 'pubDate' news.20.xml
Fri, 20 Aug 2010 15:30:12 +0000
[email protected]:~$ grep -E '(.*)<\/pubDate>' news.20.xml | sed 's///g' | sed 's/<\/pubDate>//g'
Fri, 20 Aug 2010 15:30:12 +0000

Oppure direttamente con il comando sed:

[email protected]:~$ grep 'pubDate' news.20.xml
Fri, 20 Aug 2010 15:30:12 +0000
[email protected]:~$ sed -n '//{s/\(.*\)<\/pubDate>/\1/;p;}' news.20.xml
Fri, 20 Aug 2010 15:30:12 +0000
[email protected]:~$ sed -n '//{s/<\(pubDate\)>\(.*\)<\/\1>/\2/;p;}' news.20.xml
Fri, 20 Aug 2010 15:30:12 +0000
Read More

Navigare da pc su apn WAP

In rete ho trovato questo articolo “Navigare da PC attraverso l’apn Wap” che spiega come navigare da PC sfruttando le tariffe mobile internet degli operatori mobili. Faccio notare che tale pratica è vietata; normalmente queste tariffe di mobile internet sono riservate alla navigazione web fatta esclusivamente dal cellulare (e a maggior ragione è vietato il traffico VoIP e Peer-to-peer). Ho fatto delle prove sia con una sim Tim sia con una sim Vodafone ottenendo ottimi risultati. Nel caso dell’operatore Tim, oltre alla navigazione web, sono riuscito anche a collegarmi in remoto a un server ssh tramite putty. Per quanto riguarda l’hardware ho utilizzato un cellulare Samsung Z500 e Nokia 5800 XpressMusic su Windows XP e una chiavetta Huawei E220 sia su Windows XP sia su Ubuntu (in particolare EeePC con EasyPeasy).

Schermata Modifica di TIM

Schermata-Informazioni connessione

Dettaglio stato connessione TIM

Ho creato un pdf con gli screenshot di tutte le varie prove effettuate

Read More

Estensioni firefox per post news blog

Oggi voglio presentarvi 2 estensioni per Firefox che permettono di pubblicare, modificare o programmare le news sui vostri blog (WordPress, Blogger, Tumblr, LiveJournal) o CMS senza essere necessariamente collegati. Per  esempio sul sito di Altervista, avendo il salvataggio automatico attivo, dopo un po’ che uno scrive si esauriscono molto presto le query/h disponibili obbligandoci ad aspettare un po’ di tempo per completare le nostre pubblicazioni. Sebbene tutte le più importanti piattaforme di blog forniscano i loro propri strumenti online per creare e modificare gli articoli, ci sono volte in cui un programma apposito sul computer può essere una soluzione migliore.

Partiamo con la prima estensione: Scribefire (Gratuita ma proprietaria). Al primo avvio è necessario inserire i dati del blog come evidenziato nelle seguenti immagini:

Scribefire setup

Scribefire setup

Scribefire setup

Scribefire setup

Oltre a comporre gli articoli, può recuperare i vecchi messaggi per modificarli, in più c’è un sistema elementare per le bozze e un pianificatore di pubblicazione.

La seconda estensione che vi voglio segnalare è Deepest sender (Gratuita ma proprietaria). Supporta una vasta gamma di piattaforme, tra cui LiveJournal, WordPress e Blogger ma rispetto alla precedente risulta meno potente e aggiornata con minor frequenza.

Aspetto vostri commenti e segnalazioni di eventuali altre estensioni (magari anche per Google Chrome).

Read More

Trasposizione di una colonna in righe

Ritorno ancora una volta sul problema della trasposizione di una colonna in riga applicato al caso di una query sql ma in questo caso voglio limitare il numero di parametri passati nella clausola where per controllare meglio il risultato della procedura e per limitare l’uso delle risorse di sistema. Quindi da un’unica colonna di valori ottengo diverse righe e non un’unica riga come nel precedente articolo. Ad esempio voglio selezionare (o cancellare) una serie di valori da una tabella in base a una lista di oggetti:

[email protected]:~$ cat lista_id.out | head -3
345B8F0740C03437DB55AFA27B1F9475
6180EE3E6DE5C24E09DCA8E40E2F669C
D9018BA57ECECDD83A322BD24EAAA8E1

Per semplicità mi limito a prendere una sequenza di 2 argomenti alla volta usando il parametro -n di xargs:

[email protected]:~$ cat lista_id.out | head -3 | xargs -n2
345B8F0740C03437DB55AFA27B1F9475 6180EE3E6DE5C24E09DCA8E40E2F669C
D9018BA57ECECDD83A322BD24EAAA8E1

Ora invece sostituisco, tramite il comando sed, lo spazio ” ” generato da xargs con la sequenza di caratteri “‘,'” (il comando tr permette di convertire un carattere in un altro mentre con il sed riesco a fare la conversione in un unico passaggio):

[email protected]:~$ cat lista_id.out | head -3 | xargs -n2 | sed 's/ /'\',\''/g'
345B8F0740C03437DB55AFA27B1F9475','6180EE3E6DE5C24E09DCA8E40E2F669C
D9018BA57ECECDD83A322BD24EAAA8E1

Infine posiziono un apice in testa:

[email protected]:~$ cat lista_id.out | head -3 | xargs -n2 | sed 's/ /'\',\''/g' | sed 's/^/'\''/'
'345B8F0740C03437DB55AFA27B1F9475','6180EE3E6DE5C24E09DCA8E40E2F669C
'D9018BA57ECECDD83A322BD24EAAA8E1

e un apice in fondo alla stringa:

[email protected]:~$ cat lista_id.out | head -3 | xargs -n2 | sed 's/ /'\',\''/g' | sed 's/^/'\''/' | sed 's/$/'\''/'
'345B8F0740C03437DB55AFA27B1F9475','6180EE3E6DE5C24E09DCA8E40E2F669C'
'D9018BA57ECECDD83A322BD24EAAA8E1'

Il tutto possiamo inserirlo all’interno di un ciclo while per generare il comando desiderato (in questo caso prendo 20 oggetti per ogni iterazione del ciclo):

TAB=table_a
SQL="select file from $TAB where file_id in"
while read LINE; do
	echo "$SQL $LINE"
done < <(cat lista_id.out | xargs -n20 | sed 's/ /'\',\''/g' | sed 's/^/'\''/' | sed 's/$/'\''/')

Posso miglioare l’output riportando il numero di righe elaborate e/o rimanenti:

NUM=$(wc -l lista_id.out | awk '{print $1}')
TAB=table_a
SQL="select file from $TAB where file_id in"
echo "Totale righe: $NUM"
while read LINE; do
	echo "$SQL $LINE" >> comando.sql
        NUM=$(($NUM - 20))
        if [ $NUM -ge 20 ]; then
                echo "Mancano ancora $NUM righe"
        fi
done < <(cat lista_id.out | xargs -n20 | sed 's/ /'\',\''/g' | sed 's/^/'\''/' | sed 's/$/'\''/')

Precedenti articoli: Prima parte e Seconda parte.

Read More

APT-Pinning: mescoliamo le release Lenny e Sid di Debian

Molto spesso capita di voler installare un pacchetto che non si trova ancora nella release stable oppure che quello della stable è molto “vecchio”. Il software della stable non viene aggiornato, eccezion fatta per gli aggiornamenti della sicurezza;  il software della testing e della unstable viene al contrario aggiornato frequentemente, con una maggiore frequenza per la unstable. Oltre queste tre, ci sarebbero anche la oldstable (la vecchia stable, precedente all’attuale stable e aggiornata periodicamente) e la experimental (una versione altamente sperimentale), ma di scarsissima diffusione rispetto alle altre (e che vi sconsiglio caldamente).

Quindi se anche voi siete nella situazione di dover installare un pacchetto unstable dovete usare correttamente il pinning dei pacchetti. Ad esempio io ho voluto installare esniper ma la versione nella stable è la 2.18 e chiaramente non funziona viste le frequenti modifiche alle pagine web di Ebay. Allora le soluzioni sono di compilare manualmente il pacchetto partendo dai sorgenti oppure di scaricare il pacchetto precompilato del repository unstable (nel caso si opti per la compilazione del tool esniper bisogna assicurarsi di avere tutte le librerie devel di cURL).

Vi riporto un po’ di link di riferimento per il pinnig:

  1. A short introduction to apt-pinning
  2. Apt-pinning
  3. APT uso avanzato:_mixare releases diverse

Di seguito invece i comandi  e le configurazioni che io ho impostasto sul mio NSLU2 su cui è installata una Debian Lenny:

goku:/var/lib/apt/lists# cat ftp.it.debian.org_debian_dists_lenny_Release | head  -12
Origin: Debian
Label: Debian
Suite: oldstable
Version: 5.0.8
Codename: lenny
Date: Sat, 05 Feb 2011 11:52:42 UTC
Architectures: alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc
Components: main contrib non-free
Description: Debian 5.0.8 Released 22 January 2011
MD5Sum:
 58224633e5dce3e9b37731332b0c1170    46265 Contents-udeb.gz
 f44897b98ff13591feefd16b28ededde 13567055 Contents-alpha.gz

Modifico il file /etc/apt/source.list aggiungendo i repository Testing e Unstable.

goku:/etc/apt# cat sources.list
# deb http://ftp.it.debian.org/debian/ lenny main

deb http://ftp.it.debian.org/debian/ lenny main
deb-src http://ftp.it.debian.org/debian/ lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

# Testing
deb http://ftp.it.debian.org/debian/ testing main non-free contrib

# Unstable
deb http://ftp.it.debian.org/debian/ unstable main non-free contrib

Ora creo il file /etc/apt/preferences (e /etc/apt/apt.conf ) forzando il pachetto esniper alla versione unstable con la massima priorità evitando di ritrovarmi una marea di pacchetti aggiornati alla release unstable (ulteriori informazioni possono essere ricavate da man apt_preferences).

goku:/etc/apt# cat preferences
Package: *
Pin: release a=oldstable
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650

Package: *
Pin: release a=unstable
Pin-Priority: 600

Package: esniper
Pin: release a=unstable
Pin-Priority: 1001

Aggiornamento dei repository ( apt-get clean && apt-get update ) e verifica delle priorità:

goku:/etc/apt# apt-cache policy
Package files:
 100 /var/lib/dpkg/status
 release a=now
 600 http://ftp.it.debian.org unstable/contrib Packages
 release o=Debian,a=unstable,l=Debian,c=contrib
 origin ftp.it.debian.org
 600 http://ftp.it.debian.org unstable/non-free Packages
 release o=Debian,a=unstable,l=Debian,c=non-free
 origin ftp.it.debian.org
 600 http://ftp.it.debian.org unstable/main Packages
 release o=Debian,a=unstable,l=Debian,c=main
 origin ftp.it.debian.org
 650 http://ftp.it.debian.org testing/contrib Packages
 release o=Debian,a=testing,l=Debian,c=contrib
 origin ftp.it.debian.org
 650 http://ftp.it.debian.org testing/non-free Packages
 release o=Debian,a=testing,l=Debian,c=non-free
 origin ftp.it.debian.org
 650 http://ftp.it.debian.org testing/main Packages
 release o=Debian,a=testing,l=Debian,c=main
 origin ftp.it.debian.org
 700 http://volatile.debian.org lenny/volatile/main Packages
 release o=volatile.debian.org,a=oldstable,l=debian-volatile,c=main
 origin volatile.debian.org
 700 http://security.debian.org lenny/updates/main Packages
 release v=5.0,o=Debian,a=oldstable,l=Debian-Security,c=main
 origin security.debian.org
 700 http://ftp.it.debian.org lenny/main Packages
 release v=5.0.8,o=Debian,a=oldstable,l=Debian,c=main
 origin ftp.it.debian.org
Pinned packages:
 esniper -> 2.24.0-1

Ecco il risultato finale in cui viene installato esniper da unstable mentre il generico update prende i pacchetti dalla stable (ora oldstable in quanto la versione attuale stable di Debian è squeeze e non più lenny)

goku:/etc/apt# apt-get -t unstable install esniper
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
 esniper
0 upgraded, 1 newly installed, 0 to remove and 283 not upgraded.
Need to get 44.5kB of archives.
After this operation, 143kB of additional disk space will be used.
Get:1 http://ftp.it.debian.org testing/main esniper 2.24.0-1 [44.5kB]
Fetched 44.5kB in 0s (98.8kB/s)
Selecting previously deselected package esniper.
(Reading database ... 25373 files and directories currently installed.)
Unpacking esniper (from .../esniper_2.24.0-1_armel.deb) ...
Processing triggers for man-db ...
Setting up esniper (2.24.0-1) ...
goku:/etc/apt# apt-get update
Hit http://volatile.debian.org lenny/volatile Release.gpg
Hit http://volatile.debian.org lenny/volatile Release
Hit http://ftp.it.debian.org lenny Release.gpg
Hit http://ftp.it.debian.org testing Release.gpg
Hit http://security.debian.org lenny/updates Release.gpg
Hit http://ftp.it.debian.org unstable Release.gpg
Hit http://ftp.it.debian.org lenny Release
Hit http://security.debian.org lenny/updates Release
Hit http://ftp.it.debian.org testing Release
Ign http://volatile.debian.org lenny/volatile/main Packages/DiffIndex
Hit http://ftp.it.debian.org unstable Release
Ign http://volatile.debian.org lenny/volatile/main Sources/DiffIndex
Hit http://volatile.debian.org lenny/volatile/main Packages
Hit http://volatile.debian.org lenny/volatile/main Sources
Ign http://ftp.it.debian.org lenny/main Packages/DiffIndex
Ign http://ftp.it.debian.org lenny/main Sources/DiffIndex
Hit http://ftp.it.debian.org lenny/main Packages
Ign http://security.debian.org lenny/updates/main Packages/DiffIndex
Hit http://ftp.it.debian.org lenny/main Sources
Ign http://security.debian.org lenny/updates/main Sources/DiffIndex
Get:1 http://ftp.it.debian.org testing/main Packages/DiffIndex [2038B]
Get:2 http://ftp.it.debian.org testing/non-free Packages/DiffIndex [2023B]
Get:3 http://ftp.it.debian.org testing/contrib Packages/DiffIndex [1609B]
Hit http://security.debian.org lenny/updates/main Packages
Hit http://ftp.it.debian.org unstable/main Packages/DiffIndex
Hit http://ftp.it.debian.org unstable/non-free Packages/DiffIndex
Hit http://ftp.it.debian.org unstable/contrib Packages/DiffIndex
Hit http://security.debian.org lenny/updates/main Sources
Fetched 5670B in 29s (189B/s)
Reading package lists... Done
goku:/etc/apt# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
 linux-image-2.6.26-2-ixp4xx
The following packages will be upgraded:
 libcups2 libsvn1 libwbclient0 samba samba-common samba-doc smbclient smbfs
 subversion swat winbind
11 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 29.3MB of archives.
After this operation, 344kB of additional disk space will be used.
Do you want to continue [Y/n]?
Read More
Pagina 4 di 7« Prima...23456...Ultima »