mercoledì 1 maggio 2013

Condividere la rete Ethernet attraverso la scheda Wi-Fi del computer. Trasformiamo il PC in un router Wi-Fi




Ciao a tutti

Questa guida è rivolta a chi come me possiede solo una connessione ADSL attraverso cavo Ethernet e vuole creare una rete Wi-Fi condividendo appunto questa connessione Ethernet con la scheda wireless del PC. Come distribuzione io uso Fedora a 64 bit ma credo sia universale (commentate pure se avete dei problemi).
Partiamo con la guida
Per prima cosa dobbiamo verificare che la nostra scheda wireless del notebook supporti la modalità Access Point. Per fare questo diamo questi comandi da terminale  (usare apt-get al posto di yum se si usa una distro come debian, ubuntu, linux mint o derivate da esse)
sudo yum install iw
dopodiché  per verificare bisogna dare il comando
sudo iw list  avremo un output di questo tipo


Available Antennas: TX 0x1 RX 0x3
Configured Antennas: TX 0x1 RX 0x3
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
* P2P-client
* P2P-GO
software interface modes (can always be added):
* AP/VLAN
* monitor

scorrete il testo e se dopo la voce supported interface c'è anche AP come in figura sopra la vostra scheda supporta l'Access Point mode altrimenti no e quindi la guida sarà inutile.


Se la scheda supporta l'AP mode possiamo scaricare i programmi necessari: per fare ciò apriamo il terminale e digitiamo
sudo yum install iptables dnsmasq hostapd        e poi dare invio
nel caso in cui il programma non si trovi nei vostri repository scaricate (facendo attenzione alla vostra architettura a 32 bit o a 64 bit)  iptables a 32 bit e a 64 bitdnsmasq da qua e hostapd a 32 bit da qua mentre a 64 bit da qua.


dopo aver installato correttamente i programmi bisogna personalizzare la rete che stiamo creando: sempre da terminale dare

sudo gedit /etc/hostapd/hostapd.conf


dovrete replicare questo che ho incollato qua sotto cambiando solo PASSWORD e NOME_RETE che appunto saranno il nome della vostra rete e la password per accedere.


# Uncomment these for base WPA & WPA2 support with a pre-shared keywpa=3wpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP# DO NOT FORGET TO SET A WPA PASSPHRASE!!wpa_passphrase=PASSWORD# Most modern wireless drivers in the kernel need driver=nl80211driver=nl80211# Customize these for your local configuration...interface=wlan0hw_mode=gchannel=6ssid=NOME_RETE


dopodiché sempre da terminale dare

sudo gedit /etc/dnsmasq.conf


e aggiungere queste due righe


interface=wlan0
dhcp-range=10.0.0.5,10.0.0.20,240h



per ultima cosa bisogna creare un piccolo script per automatizzare il tutto. Per crearlo sempre da terminale dare

gedit ~/hotspot

e incollare le seguenti righe


#!/usr/bin/bash
iptables -F
iptables -t nat -A POSTROUTING -o p35p1 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
ifconfig wlan0 10.0.0.1 netmask 255.255.255.0 up
dnsmasq -d -C /etc/dnsmasq.conf &
sleep 3
hostapd /etc/hostapd/hostapd.conf &

alla terza riga dovrete mettere al posto di p35p1 in nome della vostra interfaccia ethernet che solitamente è eth0 ma per la mia fedora risultava essere p35p1. questo nome potete verificarlo dando da terminale questo comando sudo iwconfig , dovreste avere come risultato 3 nomi: lo, wlan0 e appunto il nome dell'interfaccia ethernet.

tornando allo script, adesso dopo averlo salvato e chiuso bisogna renderlo eseguibile con questo comando
chmod +x ~/hotspot



a questo punto se diamo questo comando da terminale sudo ~/hotspot dovreste aver creato correttamente il vostro hotspot.
se volete creare un lanciatore per evitare di aprire ogni volta il terminale su gnome 3 bisogna fare come segue (testati personalmente su fedora, su ubuntu dovrebbero funzionare ma la certezza non ce l'ho. Se li provate fatemi sapere dai commentate =D ):

1) su -c visudo
2) aggiungere a fine file "nome_utente" ALL=(ALL) NOPASSWD: ~/hotspot
2 bis) per aggiungere la riga bisogna premere i per entrare in modalità insert e poi per salvare e uscire bisogna premere esc e poi :wq e dare invio
3)creare il file Hotspot.desktop in /usr/share/applications con questo comando sudo gedit  /usr/share/applications/Hotspot.desktop e inserire le seguenti righe


[Desktop Entry]
Name=Hotspot
Comment=Condividi la rete internet
Exec=sudo ~/hotspot
Icon=~/Immagini/NOME_IMMAGINE.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Network;Application;
Name[en_US]=Hotspot



N.B. al campo "Icon" bisogna inserire il percorso dell'icona da dare al lanciatore. Ad esempio se scaricate un immagine da internet salvatela nella cartella immagini e inserite il nome al posto di NOME_IMMAGINE.png

se volete potete creare uno script come sopra per spegnere l'hotspot. Questa volta però molto più semplicemente dare
gedit ~/stop_hotspot

e incollare le seguenti righe
#!/usr/bin/bash
killall hostapd
sleep 2
killall dnsmasq


salvate e chiudete. Rendetelo eseguibile con chmod +x ~/stop_hotspot  e poi create un lanciatore seguendo la guida sopra.
Spero di essere stato utile.
Se trovate qualche errore o avete qualche problema commentate pure.

alla prossima guida

Peps

venerdì 26 aprile 2013

Installare Spotify su fedora 17 o 18 a 64 bit


















ciao a tutti
ho scritto questa piccola guida per installare spotify (che è arrivato da un mesetto in Italia) su Fedora.
Premessa: io utilizzo fedora 17 a 64 bit e quindi la guida fa riferimento a comandi su fedora ma funziona ovviamente su tutte le distribuzioni a 64bit. Per Debian, Ubuntu, Linux Mint o derivate bisogna usare apt-get install invece che yum install.
Partiamo
per prima cosa installiamo queste dipendenze
sudo yum install git perl-ExtUtils-MakeMaker rpm-build perl qtwebkit libpng-compat
poi bisogna scaricare spotify direttamente dal sito ufficiale (i link fanno riferimento alla versione a 64 bit)
1)http://repository.spotify.com/pool/non- … -1_all.deb
2)http://repository.spotify.com/pool/non- … -1_all.deb
3)http://repository.spotify.com/pool/non- … _amd64.deb
a questo punto bisogna convertire i deb in rpm tramite alien (Saltare al punto successivo se avete Debian,Ubuntu o derivate). Per prima cosa scaricare alien da qui
http://krege.fedorapeople.org/alien/ali … noarch.rpm
e installarlo facendo doppio click semplicemente col mouse e inserendo la password. In automatico scaricherà tutte le dipendenze.
dopodicché usare alien per convertire
sudo alien --to-rpm spotify*.deb
creare poi questi collegamenti simbolici
sudo ln -s /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.0.9.8
sudo ln -s /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.0.9.8
sudo ln -s /usr/lib64/libnss3.so /usr/lib64/libnss3.so.1d
sudo ln -s /usr/lib64/libnssutil3.so /usr/lib64/libnssutil3.so.1d
sudo ln -s /usr/lib64/libsmime3.so /usr/lib64/libsmime3.so.1d
sudo ln -s /usr/lib64/libplc4.so /usr/lib64/libplc4.so.0d
sudo ln -s /usr/lib64/libnspr4.so /usr/lib64/libnspr4.so.0d
per installare il client dare
rpm -ivh --nodeps spotify-client-*.rpm
e alla fine avviare spotify da terminale.

Se volete creare un lanciatore su gnome 3 seguite questi passaggi

1) aprite il terminale e digitate su -
2)inserite la password
3)sempre da terminale digitare gedit /usr/share/applications/spotify.desktop
ed inserire le seguenti righe

Codice:
[Desktop Entry]
Name=spotify
Comment=ascolta musica da Spotify
Exec=spotify
Icon=/opt/hotspot_app_big_logo.png
Terminal=false
Type=Application
Encoding=UTF-8
Categories=Network;Application;
Name[en_US]=Spotify
NB al campo "Icon" bisogna inserire il percorso dell'icona da dare al lanciatore, l'icona la scaricate a vostro piacere.
a me ha funzionato alla grande
alla prossima guida ;-)
peps

Fix boot windows 8

Salve ragazzi !

 Come molti di voi già sapranno negli ultimi tempi si è diffuso il tanto temuto UEFI (in concomitanza con il Secure Boot) che ha preso il posto del vecchio Bios nei computer più recenti. All'inizio i problemi sono stati molti in quanto questo sistema non si presta bene ad ospitare sistemi operativi che non siano autorizzati da una giusta chiave( come invece lo è windows 8), ergo, molti utenti che usavano le più disparate distro Linux si sono ritrovati  con un pc che non permetteva loro di installare il loro SO preferito. 
Con il passare del tempo gli sviluppatori dell'esercito del pinguino si sono mobilitati e si sono preparati alla guerra contro il nemico UEFI.
Questo articolo non vuole essere una guida su come installare un sistema Linux su una macchina con sistema UEFI attivo, ma vuole descrivere alcuni semplici passaggi che spesso sono necessari subito dopo l'installazione in dualboot di una distro linux con windows 8.
Infatti accade spesso che al termine dell'installazione della distribuzione linux , win 8 non parta più. 
Niente paura, bastano pochi ingredienti per recuperare il nostro win8, ovvero:
  1. Iso di win 8 (anche la versione di prova scaricabile gratuitamente)
  2. Un cd per masterizzare la iso
  3. Un po di pazienza ( si dovrà lavorare con il prompt dei comandi di win)
Nel mio caso la distro linux installata è Arch Linux. Al termine dell'installazione mi sono ritrovato davanti alla schermata di grub2 nella quale erano presenti oltre al kernel di Arch anche due voci relative a windows 8, che però non riuscivano a fare il boot del sistema riportando il seguente errore:
error: impossibile trovare il comando "drivemap"
error: invalid EFI file path
 Solitamente le macchine con sistema UEFI permettono di scegliere dalla schermata del "bios" quale bootloader far partire, così sono entrato in questa schermata ed ho selezionato il bootloader di windows ( il mio portatile ha un tasto fisico laterale per accedere al "bios", su molti portatili basta premere il tasto giusto da tastiera mentre il pc si sta accendendo, solitamente F2 o Esc o Canc). Ho settato il bootloader di windows, ho salvato e riavviato. Mi è apparsa una schermata d'errore che riportava:
The Boot Configuration Data File is missing some required information
File: \BCD<
Error Code: 0x 0000034 
 A questo punto bisogna inserire il cd di windows 8 e fare il boot da cd. Alla schermata di installazione di windows cliccare su Avanti. Ora scegliamo Ripara PC (in basso a sinistra) anziché scegliere Installa. Bisognerà aprire il prompt dei comandi che si trova sotto le voci: 
Risoluzione dei problemi -> Opzioni Avanzate -> Prompt dei comandi

Nella finestra del prompt digitiamo:
diskpart
 Diskpart è un interprete di comandi in modalità testo, che ci consente di apportare modifiche a dischi e/o volumi. Digitiamo:
list disk
Verrà mostrato l'elenco dei dischi presenti nel computer. Solitamente il disco è uno ed è denominato disk 0, bisogna selezionare il disco sul quale sono installati sia Windows sia la partizione efi che contiene il bootloader (se avete installato una distro linux sapete di cosa parlo). Nell'esempio seguente supponiamo di voler lavorare con il disco 0, dunque digitiamo:
sel disk 0
In questo modo il disco 0 viene selezionato. Ora per avere un idea delle partizioni presenti su tale disco digitiamo:
list vol
Dalla lista che verrà visualizzata dovremo prendere nota della partizione (volume) dove è installato windows 8 ( nel mio caso è il volume E ) e della partizione che contiene il bootloader. Solitamente quest'ultima partizione ha dimensioni piccole (nel mio caso 260MB) ed è di tipo FAT32. Inoltre dovrebbe esser l'unica a non avere una lettera assegnata (nel mio caso è il volume numero 8). Dobbiamo selezionare questo volume con il seguente comando:
sel vol 8
 Ora gli assegnamo una lettera (va bene qualsiasi lettera purché non sia già utilizzata da altri volumi). In questo esempio utilizzarò la lettera Z:
asign letter=Z
A questo punto dobbiamo uscire dalla "modalità" diskpart. Per farlo digitiamo:
exit
Ora spostiamoci nella partizione efi (quella alla quale abbiamo assegnato la lettera Z) con il seguente comando:
cd /d Z:\EFI\Microsoft\Boot
Nei comandi DOS le opzioni si passano tramite "/". In questo caso l'opzione " /d " serve a cambiare oltre che directory anche drive (infatti ci spostiamo su un altra partizione). Ora lanciamo il seguente comando:
bootrec /fixboot
Adesso dobbiamo rinominare il file BCD presente nella directory (potremmo anche eliminarlo ma preferisco tenerlo perché non si sa mai :) ) Dunque digitiamo:
ren BCD BCD.bak
Questo file contiene informazioni che riguardano la configurazione di boot infatti è un acronimo di Boot Configuration Data. Ora dobbiamo utilizzare lo strumento bcdboot che ci permette di riconfigurare l'ambiente di avvio. Digitiamo:
bcdboot E:\Windows /l it-IT /s Z: /f ALL
 Il primo parametro che il comando riceve è la partizione sulla quale windows 8 è installato, lo sappiamo dal comando list vol dato in precedenza (in questo caso E). 
  • " /l " è un parametro facoltativo che specifica le impostazioni locali, di default è settato la lingua inglese(Stati Uniti, il parametro esplicito sarebbe /l en-us). Io ho scoperto che potevo settare it-IT perchè all'interno della directory in cui stiamo lavorando era presente questo file, insieme a quelli di altre lingue. 
  • " /s " specifica la partizione di sistema, in questo caso la partizione efi dove è presente il bootloader e dove scrivere il file BCD. 
  • " /f " specifica il tipo di firmware che puo essere: UEFI, BIOS, oppure ALL. (Avrei potuto usare l'opzione UEFI, ma mi sono voluto mettere al sicuro, con windows non si sa mai :) ).
A questo punto avremmo finito, ma prima di riavviare bisogna aggiustare due parametri che sono stati modificati dal comando precedente, quindi digitiamo:
bcdedit /set {default} hypervisorlaunchtype Auto
e poi:
bcdedit /set {default} nx OptIn
Ora possiamo chiudere il prompt dei comandi e riavviare il sistema. Se nelle impostazioni del bios è settato come prima scelta il bootloader di windows ora partirà senza problemi ! !  
In questo modo saremo in grado di scegliere il sistema operativo da avviare solo tramite il bios, e questo non è di certo molto comodo. Perciò vorrei aggiungere altre due righe per gli utenti di Arch Linux che hanno installato grub2 come me per poter aggiungere una voce a grub2 che avvii correttamente windows, ovvero come effettuare il chainload di windows sui sistemi UEFI.
Allora dal bios lasciamo come prima opzione di avvio grub2 di Arch. Accediamo in Arch ed apriamo un terminale. Individuiamo l'UUID del filesystem FAT32 nella partizione UEFI di sistema, dove i files del Bootloader UEFI di Windows risiedono(dovremmo trovare un file chiamato bootmgfw.efi).
Per fare ciò lanciamo il comando:
grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
Otterremo in outuput l'UUID, è un codice del tipo: 1ce5-7f28 .
Adesso aggiungiamo al file /etc/grub.d/40_custom il seguente codice:
menuentry "Microsoft Windows x86_64 UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 1ce5-7f28
    chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}
 Ora basta rigenerare il file grub.cfg con il seguente comando:
grub-mkconfig -o /boot/grub/grub.cfg
Ora riavviamo. Finalmente abbiamo all'avvio la schermata di grub2 che ci permette di avviare correttamente sia Arch che Windows 8.
Spero di essere stato utile ;)

Come convertire file con estensione rpm in pkg.tar.xz

Come convertire file con estensione rpm in pkg.tar.xz


Salve a tutti!!
oggi parleremo di come effettuare delle conversioni di alcuni tipi di pacchetti.
Infatti, quando si parla di linux, ed avete bisogno di alcuni programmi in particolare, non sempre li trovate nel formato che vi serve, anzi, spesso, li trovate in formato rpm...

 
I pacchetti con questo formato andranno certamente bene se lavorate ad esempio con fedora ecc.. ma se vi trovate su arch linux le cose cambiano, avete bisogno di convertire il file in formato pkg.tar.xz , anche se c'è da dire che su AUR trovate veramente di tutto!!

Per effettuare una conversione di questo tipo è necessario per prima cosa installare il pacchetto rpmextract, quindi basta dare da terminale 

  • pacman -S rpmextract
ovviamente da super utente.
A questo punto basta prendere il file da convertire e metterlo in un'apposita cartella, e sempre nella stessa cartella create un file di testo che chiamerete PKGBUILD ed il suo contenuto deve essere il seguente:


pkgname=nomepacchetto
pkgver=1.17
pkgrel=1
pkgdesc="A chm viewer"
arch=('i686')
url=""
license=('GPL')
groups=()
depends=()
makedepends=()
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
changelog=
source=()
noextract=()
md5sums=() #generate with 'makepkg -g'

build() {
  cd "$pkgdir"
  rpmextract.sh percorsopacchetto/nomepacchetto.rpm
}
# vim:set ts=2 sw=2 et:

sostituendo nomepacchetto alla voce "pkgname" con il nome del pacchetto da convertire, e il percorso dove si trova il pacchetto alla voce "rpmextract.sh".
Fate attenzione alla voce arch=('i686') , qui per architetture a 32 bit  dovete mettere 'i686' , mentre per architetture a 64 bit dovete mettere  'x86_64'.

In ogni caso, per maggiori dettagli relativi ad ogni array source(), fate riferimento al wiki di arch:

https://wiki.archlinux.org/index.php/PKGBUILD

a questo punto basta aprire un terminale e dare il comando:

  •  makepkg 

(non necessita i privilegi di root), attendete un po, in base alle dimensioni del vostro file, e si genera il vostro pkg.tar.xz . Ora, da utente root, potete installare il vostro file dando il comando

  • pacman -U nomepacchetto.pkg.tar.xz

spero di essere stato d'aiuto per qualcuno di voi...

buona serata!!

mercoledì 24 aprile 2013

Arriva la nuova Debian stable!!

Di tanto in tanto qualche buona notizia!! finalmente, per chi fosse interessato, è stato annunciato il rilascio della nuova debian stable, la madre di tutte li distribuzioni linux!! Debian Wheezy!!

Tra oggi e ieri è stato rilasciato l'annuncio, e dovrebbe uscire il 4 o 5 maggio...

Quindi se siete interessati ad un sistema operativo altamente stabile, questo fa al caso vostro...anche se io preferisco, e consiglio sempre di usare la testing o al limite sid, che sono certamente più aggiornate, e comunque molto stabili ugualmente...