Feed on
Articoli
Commenti

L’installazione di software su sistemi GNU/Linux si può fare in diversi modi:
1. Compilazione del sorgente
2. Installazione di un programma precompilato
3. Installazione di un pacchetto
4. Installazione da AUR (Solo per ArchLinux)

…vediamole in dettaglio…

1. La compilazione del sorgente si applica praticamente solo al software opensource.

Il sorgente si può reperire dalla rete per esempio http://www.sourceforge.net.

E’ necessaria la presenza sul sistema del compilatore (gcc) e anche dell’interprete dei Makefile (make)

I passi da seguire sono:
- scompattare l’archivio $ tar xzvf <pacchetto>.tar.gz
- entrare nella cartella appena creata $ cd <pacchetto>
- lancaire la configurazione $ ./configure
che si preoccupa di adattare il software da installare al SO e controlla eventuali dipendenze producendo in fine un Makefile
- compilare il programma con $ make (o make all)
che esegue la compilazione vera e propria basandosi sulle indicazioni presenti nel Makefile
- intallare il programma con # make install
che esegue l’installazione del software copiando i file del programma nelle apposite directory. Ad esempio creando link in /urs/bin, ecc…

Alle volte dal comando make viene automaticamente lanciato il make install pertanto, in questi casi, è necessario lanciare il comando make con i privilegi di root.

CONTRO:
Il software non si integra con il gestore dei pacchetti, quindi a volte risulta complicata la disinstallazione se nella cartella non è presente il file uninstall; infatti se esso è presente per la disinstallazione basta dare
# make uninstall


2. L’installazione di un programma precompilato è più semplice infatti nella certella del programma è presente un file di installazione, per esempio installer.sh, pertanto l’installazione si compie in un solo passaggio:
# ./installer.sh
Purtroppo anche questo tipo di approccio soffre dei medesimi problemi visti sopra.


3. L’instalazione di software tramite programmi di pacchettizzazione risolve appunto i problemi riscontrati con i metodi precendenti.
Infatti questo sistema offre possibilità di gestione molto più avanzate ed automatizzate.
Il package manager di Arch, come noto, è pacman.

La sintassi è: pacman [options] [packages]
questo è in grado di gestire le dipendenze automaticamente e tiene traccia di tutte le operazioni effettuate.


4. Per alcuni programmi particolari, poco usati, è possibile ricorrere ad AUR (Archlinux User-Community Repository). In AUR si trovano i PKGBUILD e i file di installazione di moltissimi programmi.

- da http://aur.archlinux.org/packages.php cercare il pacchetto e scaricare il Tarball
- scompattare l’archivio $ tar xzvf <pacchetto>.tar.gz
- entrare nella cartella appena creata $ cd <pacchetto>
- lanciare il comando makepkg $ cd <pacchetto>
- installare il pacchetto con pacman
# pacman -A <pacchetto>.<versione>.pkg.tar.gz
# pacman -U <pacchetto>.<versione>.pkg.tar.gz

Oppure semplicente con yaourt, programma abbastanza semplice e molto simile al comando pacman.


Questo è tutto.

Alla prossima.

Synaptics e Touchpad

Ciao torno a scrivere dopo un po di assenza dovuta ad impegni vari…

Bene oggi volevo descrivere la procedura da seguire per utilizzare al meglio il touchpad del nostro portatile. La procedura descritta è estendibile in genere a tutte le distribuzioni.

Per prima cosa installiamo i driver corretti del touchpad e il programma per settarlo come segue:

sudo pacman -S synaptics gsynaptics

Fatto ciò passiamo alla configurazione del server X (sudo gedit /etc/X11/xorg.conf) inserendo nella parte relativa agli inputdevice quanto segue:

Section “InputDevice”
Driver “synaptics”
Identifier “Touchpad”
Option “Device” “/dev/input/mouse0″
Option “Protocol” “auto-dev”
Option “LeftEdge” “1700″
Option “RightEdge” “5300″
Option “TopEdge” “1700″
Option “BottomEdge” “4200″
Option “FingerLow” “25″
Option “FingerHigh” “30″
Option “MaxTapTime” “180″
Option “MaxTapMove” “220″
Option “VertScrollDelta” “100″
Option “MinSpeed” “0.06″
Option “MaxSpeed” “0.12″
Option “AccelFactor” “0.0010″
Option “SHMConfig” “on”
EndSection

Quindi inseriamo nella Section “Module” la riga che ci permette di caricare il driver: Load “synaptics”

ed infine nella Section “ServerLayout” aggiungiamo la riga per usare il nostro input device: InputDevice “Touchpad” “SendCoreEvents”.

Bene ora salviamo e riavviamo il server X. Dovremmo avere un touchpad funzionante con scroll ecc. Per modificare alcune impostazioni (quelle inserite sono standard) possiamo utilizzare il programma installato precedentemente : gsynaptics.

Ciao alla prossima

Arch Theme for GDM

Ciao in questo articolo voglio mettere a disposizione degli utenti arch un tema per gdm che ho modificato apposta. Spero sia di vostro gradimento:

Free Image Hosting at www.ImageShack.us

il link per scaricarlo è questo: download

Ciao alla prossima!

Un saluto ai lettori! Per prima cosa ringrazio Furéster che ha scritto il post originale dal qual traggo spunto per questo.

Descrivo ora di cosa si tratta: Come intuibile dal titolo del post spiego un metodo per attivare il bash_completion per il noto programma di archLinux yaourt al quale , a differena dell’ufficiale pacman, manca proprio il completamento automatico dei pacchetti.

Per attivarlo seguite questa semlice procedura:

1) Aprite un terminale e digitate sudo nano /etc//bash_completion.d/yaourt

2) incollate il seguente codice:

# vim: set ft=sh ts=2 sw=2 et:
# file: /etc/bash_completion.d/yaourt

# Bash completion for yaourt
# Original: Igor Scabini
# adapted from bash_completion by Manolis Tzanidakis
#
# Distributed under the terms of the GNU General Public License, v2 or later.
#

## initial functions

rem_selected ()
{
# (Adapted from bash_completion by Ian Macdonald )
# This removes any options from the list of completions that have
# already been specified on the command line.
COMPREPLY=($(echo “${COMP_WORDS[@]}” |
(while read -d ‘ ‘ i; do
[ "${i}" == "" ] && continue
# flatten array with spaces on either side,
# otherwise we cannot grep on word boundaries of
# first and last word
COMPREPLY=” ${COMPREPLY[@]} “
# remove word from list of completions
COMPREPLY=(${COMPREPLY/ ${i%% *} / })
done
echo ${COMPREPLY[@]})))
return 0
}

_available_repos ()
{
COMPREPLY=( $( compgen -W “$(grep ‘[' /etc/pacman.conf | grep -v -e 'options' -e '^#' | tr -d '[]‘ )” — $cur ) )
}

_installed_pkgs ()
{
local installed_pkgs
installed_pkgs=$( ls /var/lib/pacman/local/ )
COMPREPLY=( $( compgen -W “$( for i in $installed_pkgs; do echo ${i%-*-*}; done )” — $cur ) )
}

_available_pkgs ()
{
#find balks easilly on a find /foo/*/* type dir, especially one like
# /var/lib/pacman/*/*
# This little change-up removes the find *and* only uses enabled repos
local available_pkgs
local enabled_repos
enabled_repos=$( grep ‘[' /etc/pacman.conf | grep -v -e 'options' -e '^#' | tr -d '[]‘ )
available_pkgs=$( for r in $enabled_repos; do echo /var/lib/pacman/sync/$r/*; done )
COMPREPLY=( $( compgen -W “$( for i in $available_pkgs; do j=${i##*/}; echo ${j%-*-*}; done )” — $cur ) )
}

_installed_groups ()
{
local installed_groups
installed_groups=$( find /var/lib/pacman/local -name desc -exec sed -ne ‘/%GROUPS%/,/^$/{//d; p}’ {} ; | sort -u )
COMPREPLY=( $( compgen -W “$( for i in $installed_groups; do echo ${i%-*-*}; done )” — $cur ) )
}

_available_groups ()
{
#find balks easilly on a find /foo/*/* type dir, especially one like
# /var/lib/pacman/*/*
# This little change-up removes the find *and* only uses enabled repos
local available_groups
local enabled_repos
enabled_repos=$( grep ‘[' /etc/pacman.conf | grep -v -e 'options' -e '^#' | tr -d '[]‘ )
available_groups=$( for r in $enabled_repos; do sed ‘/%GROUPS%/,/^$/{//d; p}’ /var/lib/pacman/sync/$r/*/desc | sort -u; done )
COMPREPLY=( $( compgen -W “$( for i in $available_groups; do echo ${i%-*-*}; done )” — $cur ) )
}

## makepkg completion

_makepkg ()
{
local cur prev
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}

case “$prev” in
-p)
_filedir
return 0
;;
–help|–cleancache)
COMPREPLY=”
return 0
;;
esac

if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W ‘
-A –ignorearch
-b –builddeps
-c –clean
-C –cleancache
-d –nodeps
-e –noextract
-f –force
-g –geninteg
-h –help
-i –install
-L –log
-m –nocolor
-o –nobuild
-p
-r –rmdeps
-s –syncdeps
–asroot
–source
–noconfirm
–noprogressbar’ — $cur ) )
fi

rem_selected
}
complete -o default -F _makepkg makepkg

## yaourt completion

_instring ()
{
str=”${1}”
shift 1
for c in “${@}”; do
if [ $(expr index "${str}" "${c}") -gt 0 ]; then
return 0
fi
done
return 1
}

_yaourt ()
{
local a arg toparse op mod cur
COMPREPLY=()

# This argument parsing is done so we can check for flag existance later
# right now it’s a tad crappy, but does the job
for (( i=1; i < ${#COMP_WORDS[@]}-1; i++ )); do
a=${COMP_WORDS[i]}
arg=”${a:0:2}”
toparse=”${a:2}”

case “${arg}” in
-@(A|U|R|S|Q|h|V))
op=”${arg/-}”
mod=”${mod}${a:2}”
;;
–)
arg=”${a:2}”
case “${arg}” in
add) op=”A” ;;
remove) op=”R” ;;
upgrade) op=”U” ;;
query) op=”Q” ;;
sync) op=”S” ;;
help) op=”h” ;;
version) op=”V” ;;
verbose) mod=”${mod}v” ;;
root) mod=”${mod}r” ;;
dbpath) mod=”${mod}b” ;;
nodeps) mod=”${mod}d” ;;
force) mod=”${mod}f” ;;
groups) mod=”${mod}g” ;;
info) mod=”${mod}i” ;;
list) mod=”${mod}l” ;;
print-uris) mod=”${mod}p” ;;
search) mod=”${mod}s” ;;
sysupgrade) mod=”${mod}u” ;;
upgrades) mod=”${mod}u” ;;
downloadonly) mod=”${mod}w” ;;
refresh) mod=”${mod}y” ;;
changelog) mod=”${mod}c” ;;
deps) mod=”${mod}d” ;;
explicit) mod=”${mod}e” ;;
unrequired) mod=”${mod}t” ;;
foreign) mod=”${mod}m” ;;
owns) mod=”${mod}o” ;;
file) mod=”${mod}p” ;;
search) mod=”${mod}s” ;;
upgrades) mod=”${mod}u” ;;
cascade) mod=”${mod}c” ;;
dbonly) mod=”${mod}k” ;;
nosave) mod=”${mod}n” ;;
recursive) mod=”${mod}s” ;;
esac ;;
*) toparse=”${a}” ;;
esac

arglen=$(( ${#toparse}-1 ))
for c in $(seq 0 “${arglen}”); do
arg=${toparse:$c:1}
[ "${arg}" != "-" ] && mod=”${mod}${arg}”
done
done

cur=${COMP_WORDS[COMP_CWORD]}

if [ $COMP_CWORD -eq 1 ] && [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W ‘
-A –add
-h –help
-Q –query
-R –remove
-S –sync
-U –upgrade
-V –version
‘ — $cur ) )
rem_selected
return 0
fi

if [[ "$cur" == -* ]]; then
case “${op}” in
A|U)
COMPREPLY=( $( compgen -W ‘
–asdeps
-d –nodeps
-f –force
-h –help
–config
–logfile
–noconfirm
–noprogressbar
–noscriptlet
-v –verbose
-r –root
-b –dbpath
–cachedir
‘ — $cur ) )
return 0
;;
R)
COMPREPLY=( $( compgen -W ‘
-c –cascade
-d –nodeps
-h –help
-k –dbonly
-n –nosave
-s –recursive
–config
–logfile
–noconfirm
–noprogressbar
–noscriptlet
-v –verbose
-r –root
-b –dbpath
–cachedir
‘ — $cur ) )
return 0
;;
S)
COMPREPLY=( $( compgen -W ‘
–asdeps
-c –clean
-d –nodeps
-e –dependsonly
-f –force
-g –groups
-h –help
-i –info
-l –list
-p –print-uris
-s –search
-u –sysupgrade
-w –downloadonly
-y –refresh
–needed
–ignore
–ignoregroup
–config
–logfile
–noconfirm
–noprogressbar
–noscriptlet
-v –verbose
-r –root
-b –dbpath
–cachedir
‘ — $cur ) )
return 0
;;
Q)
COMPREPLY=( $( compgen -W ‘
-c –changelog
-d –deps
-e –explicit
-g –groups
-h –help
-i –info
-l –list
-m –foreign
-o –owns
-p –file
-s –search
-t –unrequired
-u –upgrades
–config
–logfile
–noconfirm
–noprogressbar
–noscriptlet
-v –verbose
-r –root
-b –dbpath
–cachedir
‘ — $cur ) )
return 0
;;
esac
rem_selected
else
case “${op}” in
A|U)
COMPREPLY=( $( compgen -d — “$cur” )
$( compgen -f -X ‘!*.pkg.tar.gz’ — “$cur” ) )
return 0
;;
h|V)
COMPREPLY=”
return 0
;;
Q)
if _instring $mod g; then
_installed_groups
elif _instring $mod o; then
COMPREPLY=( $( compgen -d — “$cur” )
$( compgen -f — “$cur” ) )
elif _instring $mod p; then
COMPREPLY=( $( compgen -d — “$cur” )
$( compgen -f -X ‘!*.pkg.tar.gz’ — “$cur” ) )
elif _instring $mod u; then
COMPREPLY=”
return 0
else
_installed_pkgs
fi
return 0
;;
R)
_installed_pkgs
return 0
;;
S)
if _instring $mod l; then
_available_repos
else
_available_pkgs
fi
return 0
;;
esac
fi

rem_selected
}
complete -o filenames -F _yaourt yaourt

3) Salvate e per attivare il completamento lanciate source /etc/profile

Questo è tutto. Ciao alla prossima

Virtualizzare su Linux

Saluto tutti i lettori e mi scuso per la lunga assenza dovuta ai classici problemi che assillano gli studenti universitari: gli esami.

Scrivo questo post in merito ad un “problema” riscontrato in seguito  ad una formattazione del pc.

Spiego meglio il problema: Dopo aver reinstallato ArchLinux sul mio pc ho installato VirtualBox-ose dai repo ufficiali di arch ma ho notato che la versione messa a disposizione non ha il supporto per le periferiche USB. In un primo momento ho provato a vedere se si postessero abilitare da qualche menù di preferenze ma non ho trovato niente che potesse fare al caso mio…

Quindi ho deciso di disinstallare la versione installata con pacman e scaricare quella messa a disposizione dal sito ufficiale di VirtualBox. Installata questa ho ritrovato magicamente il supporto per le USB!

Ecco un mino How-To per installare il VirtualBox dal sito ufficiale:

1) Scaricate il file d’installazione dal link x86  o x86_64

2)Da terminale andare nella directory usata per il download e digitare: chmod +x VirtualBox_1.5.6-1_Linux_x86.run per rendere eseguibile il file

3)Sempre da terminale  digitare sudo ./VirtualBox_1.5.6-1_Linux_x86.run per installare il programma.

4)Bisogna ora caricare i moduli di VirtualBox con il comando sudo modprobe vboxdrv, vi suggerisco di aggiungerlo al file rc.conf per non dover ogni vorta caricarlo a mano.

5)Aggiungiamo il nostro utente al gruppo di VirtualBox: sudo gpasswd -a utente vboxusers

6)Ora il sistema di virtualizzazione funziona correttamente ma ancora maca l’abilitazione all’utilizzo delle USB. Perfarlo bisogna editare il file /etc/fstab (con i diritti di root) aggiungendo la riga: “none               /proc/bus/usb usbfs     devgid=85,devmode=666    0    0″ sotto le altre che cominciano con “none”.

Riavviate e tutto dovrebbe andare!

Ciao alla prossima.

Ciao scrivo questo articolo per parlarvi di una comunità in forte sviluppo che prende il nome di FON

fon

Questa comunità permette di condividere la propria connessione tramite “fonera” il router fornito dalla comunità stessa a favore degli altri utenti.

Ci sono diversi tipi di condivisione, il più “generoso” chiamato Linus che condivide parte della banda senza ottenere proventi in cambio ma che permette di collegarci gratuitamente a qualsiasi altro access point fonera che adopera la medesima condivisione.
Il secondo livello di condivisione è chiamato Bill che, come immaginabile dal nome, condivide parte della connessione in cambio di guadagni, ma permette accesso agli altri fonera a fronte di un pagamento.
In fine abbiamo un account di tipo Alien che consiste nella NON condivisione della banda, ed evidentemente all’impossibilità di collegarsi ad altri fonera se non pagando.

Bene per acquistare la fonera (il router) basta andare sul sito ufficiale e tante volte si trovano anche offerte molto vantaggiose.

A me ieri è arrivato a casa in tempi abbastanza brevi, ed oggi l’ho attivato con linux. Di seguito un piccola descrizione della procedura che ho seguito:

In primis ho pensato che sarebbe bastato il tool nm-applet ma con grossa sorpresa ho notato che non riusciva a collegarsi alle reti, quindi sotto suggerimento de mio amico saten ho installato rutilt un piccolo sw che permette di gestire le reti wifi, bhe grazie a questo ho risolto i problemi di connessione!

Diventate utenti fon anche voi!

BongoLinux

Sono felice di comunicare che da oggi sono iscritto al servizio rss fornito da BongoLinux !

Insieme a TuxFeed rappresentano un’ottima risorsa per la comunità GNU/Linux in quanto raccolgono e diffondono su larga scala tutti gli articoli scritti dagli appassionati nei loro Blog.

BongoLinux

Skype 2 su Arch64

Ciao scrivo un post su come installare skype 2 su ArchLinux64 visto che ci sono problemi se si cerca di installare quello che mette a disposizione la comunità AUR per via delle librerie qt4, infatti quello che installeremo prevede le librerie già compilate (generalmente questo tipo di pacchetto è sconsigliato, ma nel nostro caso ci fa comodo ;)).

Per prima cosa creiamo una cartella d’appoggio nella quale andremo ad operare:

$ mkdir ~/skype
$ cd ~/skype

Poi creiamo il file PKGBUILD che ci permetterà di scaricare e installare il pacchetto:

$ gedit PKGBUILD

e incolliamo il seguente contenuto:

# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>

pkgname=skype-staticqt
pkgver=2.0.0.27
pkgrel=1
arch=(’x86_64′ ‘i686′)
pkgdesc=”P2P software for high-quality voice communication (static Qt)”
url=”http://www.skype.com/
license=(’custom’)
depends=(’alsa-lib’ ‘fontconfig’ ‘libxinerama’ ‘libxi’ ‘libxcursor’ ‘libsm’ ‘libxrandr’ ‘gcc-libs’ ‘libxv’ ‘libxss’)
provides=(’skype’)
conflicts=(’skype’)
source=(http://download.skype.com/linux/skype_static-$pkgver.tar.bz2)
md5sums=(’8262e20e1bc69b1c4a03d4c6835a7c8b’)

build() {
cd $startdir/src/skype_static-$pkgver
install -m 755 -d $startdir/pkg/usr/share/skype/{avatars,lang,sounds}
install -m 644 avatars/* $startdir/pkg/usr/share/skype/avatars
install -m 644 lang/* $startdir/pkg/usr/share/skype/lang
install -m 644 sounds/* $startdir/pkg/usr/share/skype/sounds
install -m 755 -D skype $startdir/pkg/usr/bin/skype
install -m 644 -D skype.conf $startdir/pkg/etc/dbus-1/system.d/skype.conf
install -m 644 -D icons/SkypeBlue_16×16.png $startdir/pkg/usr/share/icons/hicolor/16×16/skype.png
install -m 644 -D icons/SkypeBlue_32×32.png $startdir/pkg/usr/share/icons/hicolor/32×32/skype.png
install -m 644 -D icons/SkypeBlue_48×48.png $startdir/pkg/usr/share/icons/hicolor/48×48/skype.png
install -m 644 -D icons/SkypeBlue_48×48.png $startdir/pkg/usr/share/pixmaps/skype.png
install -m 644 -D skype.desktop $startdir/pkg/usr/share/applications/skype.desktop
install -m 644 -D LICENSE $startdir/pkg/usr/share/licenses/$pkgname/LICENSE
}

Quindi salviamo e chiudiamo gedit.

A questo punto non ci resta che creare il pacchetto con il comando:

$ makepkg

Se tutto va bene nella nostra directory dovremmo avere il pacchetto per l’architettura x86_64, quindi l’ultimo passo da seguire è installarlo:

$ yaourt -U skype-staticqt-2.0.0.27-1-x86_64.pkg.tar.gz

Nota: Consiglio l’utilizzo di yaourt nel caso in cui le dipendenze necessarie si trovino in AUR e non nei repo ufficiali.

Bene fatto ciò nel menù dello gnomo troveremo nella sezione internet il link a skype! Possiamo anche cancellare la cartella d’appoggio:

$ cd ~
$rm -Rf skype

Alla Prossima…

FingerPrint Access!

Ciao, torno a scrivere in merito alla compatibilità del mio portatile con linux!

Ieri finalmente sono riuscito a far funzionare l’accesso al sistema con il lettore di impronte digitali aes2501!! Questo grazie ad un giovane progetto che si chiama “fprint

Di seguito indico la procedura d’installazione e configurazione per ArchLinux, ma il sito ufficiale del progetto descrive la medesima procedura per un sistema Gentoo, Ubuntu e Suse.

Per cominciare installiamo i pacchetti necessari per il funzionamento:

pacman -S libfprint pam_fprint fprint_demo

Questi si trovano in extra quindi eventualmente attivatelo da /etc/pacman.conf

Fatto questo lanciate da terminale “pam_fprint_enroll” e seguite le istruzioni per impostare la matrice per il confronto in fase di login.

Bene l’ultima cosa da fare è configurare il modulo pam che gestisce l’accesso:
Aprite con i privilegi di root in un editor il file /etc/pam.d/login e modificatelo come segue

#%PAM-1.0
auth required pam_securetty.so
auth requisite pam_nologin.so
auth sufficient pam_fprint.so
auth sufficient pam_unix.so nullok
auth required pam_tally.so onerr=succeed file=/var/log/faillog

Notate che il modulo relativo a pam_fprint è impostato su “sufficient”. Questo perchè il progetto è ancora in via di sviluppo quindi è rischioso vincolare il login all’acquisizione dell’impronta… Se siete temerari fatelo! (basta sostituire “sufficient” con “requred”).

Ottimo la configurazione è completa. Unico neo di questo progetto è che per il momento il login con fingerprint è possibile solo su sessioni tty e non ancora con gdm e altri programmi per gestire sessioni vty.

Alla prossima ;)

Ciao scrivo questo post per comunicarvi che ho cambiato ufficialmente distribuzione!

Il motivo principale è che avevo voglia di testare qualche cosa di più spartano ma performante come ArchLinux. A differenza di Ubuntu qui scegli tutti i componenti da installare nei minimi dettagli evitando l’installazione di sw inutile per le tue esigenze.

I vantaggi di questa gestione sono subito intuibili:  Velocità, Minimizzare l’utilizzo del Disco, Pieno Controllo del Sistema.

Ci sono d’altro canto anche svantaggi quali più tempo da dedicare alla configurazione completa del sistema e maggiori conoscenze del funzionamento del S.O. come moduli demoni ecc…

Dopo due giorni dall’installazione di ArchLinux 64bit devo dire che sono pienamente soddisfatto e riconfermo il post “Ubuntu massima compatibilità” anche per Arch.

Saluti!

Articoli precedenti »