Installare Debian Squeeze da Debian Squeeze

 

 

 

 

Il titolo sarebbe dovuto essere "Come installare una distribuzione Linux direttamente dal prorpio O.S. senza inutili perdite di tempo, riuscendo così a fare diverse altre cose " ma sarebbe stato troppo lungo :). Diciamo che questa soluzione è molto comoda, soprattutto per chi come me nell' hard disk, ama testare molteplici O.S, e di conseguenza non ha voglia di rimanere fisso a guardare il monitor mentre il tutto finisce. L'esempio base che riporto è quello di una installazione di Debian 6.0 Squeeze da Debian Squeeze stessa, ma diciamo che si può adattare alle varie esigenze.

 

Requisiti:

 

  1. una partizione libera
  2. debootstrap installato
  3. un minimo di manualità, creatività e pazienza

 

formattare partizione in ext4, creare cartella di lavoro e mount partizione:

 

# mkfs.ext4 /dev/sdXX

# mkdir /mnt/debian

# mount /dev/sdXX /mnt/debian

 

scaricare debian squeeze base per la propria architettura, i386 o amd64

 

# /usr/sbin/debootstrap --arch i386 squeeze /mnt/debian https://ftp.it.debian.org/debian

 

oppure se si ha il cd debian montato in /cdrom, cambiare l'indirizzo con il path tipo: file:/cdrom/debian/

alla fine dell'istallazione base eseguire chroot:

 

# chroot /mnt/debian /bin/bash

 

adesso siamo all'interno del sistema, dove possiamo fare delle modifiche, io mi limito a citarne alcune, quelle più importanti, il lavoro grosso e di perfezionamento si può fare direttamente una volta avviato l' O.S. oppure tante modifiche direttamente dal chroot.

 

# nano /etc/fstab

 

all'interno inseriamo qualche linea tipo:

 

/dev/sdXX         /             ext4   defaults                 0    1

/dev/scd1       /media/cdrom0   udf,iso9660 user,noauto     0       0

/dev/scd0       /media/cdrom1   udf,iso9660 user,noauto     0       0

 

la partizione di swap condivisa andiamo a recuperarla da /etc/fstab del nostro sistema principale

 

quindi montiamo tutto:

 

# mount -a

 

abilitare connessione:

 

# nano /etc/network/interfaces

 

ed inserire qualche linea tipo:

 

auto lo
iface lo inet loopback
allow-hotplug eth0
eth0 inet dhcp

 

con resolv.conf non dovrebbero esserci problemi:

 

# nano /etc/resolv.conf

 

altrimenti inserire:

 

domain localdomain
search localdomain
nameserver 192.168.1.1
nameserver 192.168.1.1

 

aggiungere hostname:

 

# echo Debianbox > /etc/hostname

 

anche in /etc/hosts non dovrebbero esserci problemi:

 

# nano /etc/hosts

 

altrimenti inserire:

 

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
fe00::0         ip6-localnet
ff00::0         ip6-mcastprefix
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

 

a questo punto siamo pronti a scaricare i pacchetti che ci permetteranno di avviare il nosto O.S. in tutta tranquillità:

 

# apt-get update

# apt-cache search linux-image

 

scaricare ed installare linux-image per la propria architettura, grub-pc, ed il proprio DE come gnome o kde:

 

# apt-get install linux-image-versione-arch grub-pc gnome-desktop-environment

 

alla fine apparirà qualche errore, ma non è importante. Nell'attesa del completamento, ci si può occupare d'altro, ed è proprio questo il senso di questa guida 🙂 Una volta riavviato basta fare un update-grub per trovare nel menu di grub la voce della nostra installazione, ma abbiamo il problema del login dato che non è stato settato ne utente e ne password, quindi per ovviare a questo problema, nel menu di grub relativo al nostro O.S. digitare "e" ed aggiungere  al kernel l'opzione:

 

rw init=/bib/bash

 

adesso si può proseguire con il boot e nella shell che appare, non rimane che aggiungere utente e password:

 

# adduser nome_utente

# passwd root

 

a questo punto abbiamo una Debian Squeeze perfettamente funzionante (quasi) 🙂

 

Step Finale:

molto probabilmente all'avvio non si dispone della connessione internet per poter aggiornare ed installare i componenti che mancano, questo perchè bisogna abilitare la nostra interfaccia di rete, eth0 o eth1, i passi potrebbero essere:

 

# ifconfig eth0 up

# ifconfig eth0 indirizzo_rete

# dhclient

 

spero di essermi ricordato tutto 🙂

 

 

enjoy 😉

Debian Wheezy/Sid errore dipendenze xorg-video-abi-6.0

 

Facendo l'aggiornamento da Debian Squeeze a Debian Wheezy/Sid (Sid) ho avuto l'errore:

 

I seguenti pacchetti hanno dipendenze non soddisfatte:
 xserver-xorg-core : Rompe: xserver-xorg-input-7
                     Rompe: xserver-xorg-video-6

 

questo problema è dovuto alla versione di xserver-xorg-core, quindi per venirne fuori bisogna aggiungere i repository experimental, quindi:

 

# apt-get update
# apt-get install xserver-xorg-core -t experimental

 

successivamente reinstallare i driver Nvidia/Ati.

 

enjoy 😉

Errore Ignoring file 'google-chrome.list.save' in directory

 

Oggi facendo il passaggio da Debian Squeeze (stable) a Debian Wheezy (testing) ho ricevuto questo errore:

 

"Ignoring file 'google-chrome.list.save' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension"

 

questo errore succede poichè la directory sources.list.d non supporta estensioni .save o .distupgrade, si risolve il tutto con il comando:

 

# sh -c "echo 'Dir::Ignore-Files-Silently:: \"(.save|.distupgrade)$\";' > /etc/apt/apt.conf.d/99ignoresave"

 

enjoy 😉

Cambiare misure default del terminale

 

 

Il terminale di Gnome di default ha una determinata misura, ma se si volesse più grande o più piccolo non ci sono grandi problemi, basta solo uno step:

 

$ sudo nano /usr/share/vte/termcap/xterm

 

e modificare questa stringa:

 

:co#80:it#8:li#24:\

 

per esempio con questa:

 

:co#100:it#8:li#28:\

 

 

enjoy 😉

Copiare con cp e barra di progresso

 

 

 

 

Advanced Copy è una mod per i tools cp e mv, e si occupa di far apparire nel terminale una barra di progresso che rende visibile il tempo e la % di una copia di un file. Per abilitare questa mod, bisogna seguire pochi semplici passi:

 

 

$ wget https://ftp.gnu.org/gnu/coreutils/coreutils-8.4.tar.gz
$ tar xvzf coreutils-8.4.tar.gz
$ cd coreutils-8.4/
$ wget
$ patch -p1 -i advcpmv-0.3-8.4.patch
$ ./configure
$ make
$ sudo cp src/cp /usr/bin/cp
$ sudo cp src/mv /usr/bin/mv

 

per avere la barra di progresso basta usare le opzioni cp -g e mv -g, senza andare a cambiare il comportamento solito di cp e mv. Per rendere definitivo il cambiamento invece aggiungere a .bashrc  gli alias:

 

alias cp='cp -g'
alias mv='mv -g'

 

Il comando dell' immagine sopra è:

 

$ cp -g debian-squeeze-di-beta1-amd64-netinst.iso /home/edmond/

 

 

enjoy 😉

Modificare SpringBoard Iphone su Debian/Ubuntu

 

 

 

Per modificare la SprigBoard del proprio Iphone da Linux c'è bisogno di Sbmanager e di libimobiledevice-1.0 >= 0.9.7.       Per avere Sbmanager su Ubuntu 10.10 basta aggiungere i PPA:

 

$ sudo add-apt-repository ppa:vbkaisetsu/ppa
$ sudo apt-get update
$ sudo apt-get install sbmanager

 

inserire l'Iphone e dare il comando:

 

$ sbmanager

 

Per avere sbmanager su Debian:

 

$ sudo apt-get install build-essential git automake autoconf libtool libgnutls-dev libglib2.0-dev libxml2-dev libreadline5-dev swig python-dev libusbmuxd-dev libplist-dev libplist++-dev libplist++1 libzip-dev libclutter-1.0-dev libclutter-gtk-0.10-dev intltool

 

scaricare ed installare libimobiledevice-1.0.1:

 

$ wget https://www.libimobiledevice.org/downloads/libimobiledevice-1.0.1.tar.bz2

$ tar xvjf libimobiledevice-1.0.1.tar.bz2

$ cd libimobiledevice-1.0.1

$ ./configure

$ make

$ sudo make install

 

scaricare ed installare sbmanager:

 

$ git clone git://git.sukimashita.com/sbmanager.git

$ cd sbmanager

$ ./autogen.sh

$ ./configure

$ make

$ sudo make install

 

inserire l'Iphone e dare il comando:

 

$ sbmanager

 

enjoy 😉

Leggere sito web con espeak e links

 

Qualche giorno fa ho fatto un post dal titolo Terminale parlante in Linux, utilizzando espeak come sintezizzatore vocale per fargli ripetere una frase prestabilita. Oggi invece voglio usare espeak insieme a links per farmi leggere una pagina web:

 

$ links -dump https://www.edmondweblog.com | espeak -v it -s 160

 

enjoy :)

Come aggiungere PPA in Debian

 

Chi ha provato ad aggiungere repo PPA in Debian, si sarà senz'altro accorto del tipico errore add-apt-repository: command not found, quindi non è possibile aggiungerli…..anzi è possibile, anche se sconsigliato. Comunque per chi vuole avere anche questa possibilità sulla propria Debian o Debian based, ha bisogno di questo script:

 

#!/bin/bash
if [ $# -eq 1 ]
then
    ppa_name=`echo "$1" | cut -d":" -f2 -s`
    if [ -z "$ppa_name" ]
    then
        echo "PPA name not found"
        echo "Utility to add PPA repositories in your debian machine"
        echo "$0 ppa:user/ppa-name"
    else
        echo "$ppa_name"
        echo "deb maverick main" >> /etc/apt/sources.list
        apt-get update >> /dev/null 2> /tmp/apt_add_key.txt
        key=`cat /tmp/apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3`
        apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
        rm -rf /tmp/apt_add_key.txt
    fi
else
    echo "Utility to add PPA repositories in your debian machine
"
    echo "$0 ppa:user/ppa-name"
fi

 

salvare come add-apt-repository.sh e copiarlo in /usr/bin:

 

$ sudo cp add-apt-repository.sh /usr/bin/add-apt-repository

$ sudo chmod o+x /usr/bin/add-apt-repository

$ sudo chown root:root /usr/bin/add-apt-repository

 

adesso siamo in grado di aggiungere PPA:

 

$ sudo add-apt-repository ppa:nome

 

enjoy 😉

Download ad orario prestabilito

 

A volte capita di voler scaricare un grosso file, ma siccome si sta facendo altro oppure si ha bisogno di tutta la banda disponibe, alla fine succede che ci si dimentica. Per ovviare al problema della dimenticanza servirebbe un comando da digitare subito ma che posticipi il download ad un orario prestabilito . Ecco fatto 🙂

 

$ echo 'wget link_da_scaricare' | at 23:00

 

enjoy ;)

Login e autenticazione da penna Usb in Linux

 

 

 

Qualche tempo fa ho fatto una guida intitolata Login e autenticazione facciale in Linux, dove avevo sperimentato sul mio netbook Aspire One, l'uso della webcam come ulteriore strumento di sicurezza, sia in fase di login che in fase di amministrazione, e devo dire che ha funzionato bene, tanto è vero che lo utilizzo ancora. Oggi invece voglio fare la stessa guida,  con la differenza che al posto della webcam si usa una chiavetta usb, in questo modo anche chi non ha la webcam o non vuole usarla, ha un modo alternativo per sperimentare. Anche questa volta utilizzerò PAM che ci aiuterà nell'impresa, per la felicità di Toshidex che di PAM ha fatto una categoria sul suo blog 🙂

Requisiti:

$ sudo apt-get install pmount pamusb-tools libpam-usb

inserire la chiavetta usb, anche se contiene altri dati non ha importanza, nulla sarà perso, ed aggiungere il device con il nome scelto (nel mio caso usb-security) a /etc/pamusb.conf con il seguente comando:

$ sudo pamusb-conf --add-device usb-security

come si può vedere sotto la chiavetta è stata subito riconosciuta:

root@debian:/home/edmond# pamusb-conf –add-device usb-security
Please select the device you wish to add.
* Using "Sony Storage Media (Sony_Storage_Media_OE07042910585-0:0)" (only option)

Which volume would you like to use for storing data ?
* Using "/dev/sdg1 (UUID: 3FB2-8744)" (only option)

Name        : usb-security
Vendor        : Sony
Model        : Storage Media
Serial        : Sony_Storage_Media_OE07042910585-0:0
UUID        : 3FB2-8744

Save to /etc/pamusb.conf ?
[Y/n]
Done.

aggiungere anche l'utente a /etc/pamusb.conf:

$ sudo pamusb-conf --add-user edmond

quindi come si può vedere sotto, abbiamo collegato l'utente al device:

root@debian:/home/edmond# pamusb-conf –add-user edmond
Which device would you like to use for authentication ?
* Using "usb-security" (only option)

User        : edmond
Device        : usb-security

Save to /etc/pamusb.conf ?
[Y/n]
Done.

adesso non ci rimane altro che modificare il file /etc/pam.d/common-auth, per far sì che possa utilizzare la nostra password di sistema.

Importante:

consiglio di tenere due shell aperte come root, nel caso qualcosa andasse storto, cosicchè si possa tornare alla configurazione normale del file /etc/pam.d/common-auth.

quindi:

$ sudo nano /etc/pam.d/common-auth

la configurazione deve essere la seguente:

#auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth   required      pam_unix.so nullok_secure
auth    sufficient      pam_usb.so
 

per tornare alla situazione normale invece:

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
#auth   required      pam_unix.so nullok_secure
#auth    sufficient      pam_usb.so
 

se tutto è andato bene, da questo momento in poi l'autenticazione al login e come amministratore di sistema può avvenire solo con la chiavetta inserita. A questo proposito si possono fare delle prove aprendo il terminale per acquisire i privilegi di root e verificare se tutto funziona:

$ su edmond

 

 

enjoy 🙂