venerdì 16 novembre 2007

12) Peer to peer su Linux (eMule e Azureus)

Il p2p è un argomento interessante da trattare. Questo sistema è usato da molti utenti per scaricare contenuti multimediali e software da chi li condivide. I software per "scaricare" sono tanti in circolazione e fondamentalmente funzionano quasi tutti allo stesso modo:

  • ricerco file (agganciandomi ad un server)
  • risultato ricerca (elenco di utenti che hanno quel file)
  • clicco sul file
  • attendo la coda
  • scaricamento file


Windows ha permesso grande libertà e facilità nella creazione di qualsiasi tipo di software e anche il software p2p si è sviluppato velocemente. Ecco perchè ci sono così tanti programmi per "scaricare". Di certo col tempo si sono sviluppate certe preferenze. Consultando forum e siti vari, possiamo notare che tra i più usati sono presenti eMule e Azureus.


eMule

Per Linux questo software non esiste e quindi ne sono stati creati dei cloni, anche se molta gente nota che questi cloni sono di certo inferiori all' eMule originale. Se volete installare eMule sul vostro Linux ci sono varie possibilità:

  • usare eMule per Windows e installarlo tramite Wine (emulatore che permette di far funzionare molti programmi scritti per Windows anche su Linux)
  • installare e usare aMule (ho notato che è presente sia su Windows che su Linux)
  • installare e usare xMule (anche se ho letto che è inferiore a aMule)

Ovviamente usate Synaptic per installare questi programmi e semplificarvi la vita! Questa è tutto ciò che riguarda il mondo eMule per Linux.


Azureus

Ultimamente si sono sviluppati vari software come ad esempio quelli che usano i torrent e si distinguono per l' eccezionale velocità che riescono a raggiungere in "download". I torrent sono dei file di piccole dimensioni che indicano al software il server a cui collegarsi per poter scaricare il file o la cartella richiesta da quel singolo torrent. Il software non fa altro che leggere ed eseguire il download con le informazioni ricavate dal torrent, inoltre gestisce la banda in "download" e "upload".

Da sempre Azureus è stato uno dei leader incontrastati sul campo dei torrent. Essendo in Java è un pò pesantuccio (ad ogni modo dovrebbe andar bene su un pentium III e forse anche meno...), ma ne vale la pena perchè è molto funzionale e può essere usato anche su Linux senza problemi. Infatti c'è una versione di azureus per Linux che è quasi identica a quella di Windows e si avvia facilmente dopo aver installato la macchina virtuale Sun Java (insomma quella per usare il java sul nostro pc. Per installarla sulla nuova Ubuntu è molto semplice, dovrebbe essere possibile installarla con un programma come Aggiungi\Rimuovi o con Synaptic, oppure andate sul sito della Sun e scaricate il software e le istruzioni per Linux). Sono istruzioni abbastanza comprensibili. Per scaricare azureus basta cercare la versione per Linux con l' aiuto di Google e non dovrete fare altro che avviarla senza installare nulla.


Questo è quello che risulta essere al centro dell' attenzione. Per altri software, che potreste usare per "scaricare" e che non sapete se esistano su Linux, basta cercare su Google e otterrete le informazioni che vorrete. Generalmente se un software ha successo viene clonato anche su Linux o viceversa viene clonato su Windows, quindi non dovreste avere problemi nel sentirvi "a casa" anche su Linux.

mercoledì 14 novembre 2007

11) Configurare e usare Synaptic

Come ho già detto, Synaptic è solo una interfaccia per il programma "apt-get". Come Synaptic ci sono tanti altri programmi, che si appoggiano tutti ad "apt-get". Uno di questi è "Adept". Quindi se vi trovate con una Kubuntu al posto di Ubuntu, Synaptic non sarà presente, ma qualcosa di simile c'è e dovrete usare proprio Adept. Detto questo passiamo a configurare Synaptic. Per configurazione intendo l' aggiunta di repository che aumenteranno il numero di pacchetti disponibili.
Andiamo su "Impostazioni" e su "Archivi dei pacchetti". Qui noterete che sono presenti diversi tab con impostazioni. Andiamo sul primo. Sotto "Internet" attivate tutte le opzioni e questo vi garantirà molti pacchetti in più, tra cui quelli non open-source e non free che comunque potrebbero servirci. Passiamo ad "Internet updates". Questo ovviamente ci segnala quali tipi di update desideriamo quando andremo ad aggiornare i pacchetti (cosa che si fa ogni tanto per eliminare errori, un pò come Windows Update). Potere anche scegliere se cercare automaticamente degli aggiornamenti. Infine nella terza linguetta abbiamo una raccolta di siti che possiamo aggiungere a Synaptic per aggiungere pacchetti che non sono presenti e che vogliamo che Synaptic gestisca per noi. Se non abbiamo ancora inserito nulla, dovrebbe essere vuota. Infine le ultime due opzioni riguardano rispettivamente:

  • Chiavi di autenticità
  • Invio di informazioni
Le chiavi di autenticità permetteranno a Synaptic di verificare il software. Infine l' invio di informazioni permette alla comunità di sapere come funziona il vostro sistema e se ci sono errori che loro andranno a correggere.

Ultimi comandi importanti da conoscere:

  • Ricarica
  • Marca tutti gli aggiornamenti
  • Ripara i pacchetti difettosi
"Ricarica" non fa altro che scaricare la nuova lista di pacchetti che nel tempo si aggiorna grazie al lavoro della comunità. Questo vi aggiungerà aggiornamenti e nuovi pacchetti che potrete installare. Nel caso in cui vorrete aggiornare i pacchetti con quelli più nuovi (se ne sono stati aggiunti nel tempo) cliccate su "Marca tutti gli aggiornamenti" e verranno marcati e selezionati tutti i pacchetti da aggiornare, infine cliccando su "Applica" vengono scaricati, installati e configurati automaticamente. Infine può capitare che qualche pacchetto si corrompa o che crei degli errori. Per risolverli, nel limite del possibile, basta cliccare su "Ripara i pacchetti difettosi" presente su "modifica". Il resto dei comandi più che intuitivo e potrete scoprirli da soli.

10) Installare programmi (Synaptic o sorgenti)

Synaptic

Generalmente si installano programmi dai pacchetti pronti per evitare di compilarli. Esistono pacchetti di codice precompilato (insomma una specie di file exe di Windows) su praticamente tutte le distribuzioni e con facilità si riescono quasi sempre ad installarli. Per installare un pacchetto basta scaricarlo e installarlo con doppio click e premendo il tasto "Installa" sulla finestra che si apre. E se volessimo usare "Synaptic"? Basta avvialo, cliccare su "Cerca" o "Search" e scrivere il nome del pacchetto. Synaptic farà una ricerca e vi mostrerà i risultati. A questo punto cercate il pacchetto e selezionatelo cliccando sul quadratino bianco. A questo punto premete su "Applica"o "Apply" e lui si occuperà di controllare se bisogna installare o modificare pacchetti presenti sul vostro sistema e nel caso in cui ce ne fosse lanecessità vi avvisa di cosa state facendo (es. aggiornamenti o rimozione pacchetti per installare il nostro pacchetto). Per rimuoverlo con Synaptic basta cercarlo e selezionarlo cliccando su "Marca per rimozione", quindi è molto semplice.



Sorgenti

Non sempre si può usare un pacchetto per installare un programma, diciamo che nella norma è così. Se non troviamo o non esiste il pacchetto che noi cerchiamo? Questo è un caso limite dato che generalmente basta solo cercare e quasi sempre si trova quello che si vuole. Potrebbe anche accadere che la versione di quel programma che desideriamo non corrisponde a quella desiderata. Nel caso in cui non troviamo il pacchetto o non esista abbiamo due scelte:

  • lasciar perdere quel programma e cercarne uno simile (se non è una libreria)
  • prelevare i sorgenti dal web e compilarceli da soli

Nel mio caso personale cerco di optare sempre per la prima scelta. Infatti per esperienza so che se beccate un sorgente difficile da compilare sono cavoli amari. Per difficoltà di compilare intendo la presenza di numerose dipendenze che vi costringono ad installare, spesso da sorgente, i programmi o le librerie a cui si appoggia il programma che volete compilare. Ma non è sempre così, infatti a volte basta compilare direttamente il sorgente perchè tutte le dipendenze sono già soddisfatte e quindi non incontrate nessuna difficoltà. E come facciamo a vedere se il nostro programma richiede dipendenze? Semplice basta compilare e leggere. Se appaiono errori, quasi certamente si tratta di dipendenze non soddisfatte e avrete anche le informazioni accanto all' errore, che vi aiuteranno nella ricerca del pacchetto o del sorgente da installare.
Questa è la panoramica di quello che generalmente ci troviamo davanti; ma passiamo alla compilazione vera e propria...

Per compilare abbiamo bisogno di strumenti che non sempre sono installati sulla nostra distribuzione Linux. Ad esempio su Ubuntu, che è il mio punto di riferimento, questi pacchetti non vengono installati. Avremo bisogno di programmi come "make", "gcc", "g++". Su Ubuntu e simili basta installare con il programma "apt-get" o "synaptic" il pacchetto chiamato "build-essential", che include tutto quello che ci serve per compilare e quindi anche "make", "gcc" e "g++". Fatto ciò non ci resta che prelevare i sorgenti del programma da installare ed estrarli. Entriamo nel terminale e digitiamo il comando "cd /INSERIRE_QUI_IL_PERCORSO_DELLA_CARTELLA" e quindi così facendo ci posizioniamo nella cartella dove sono contenuti i sorgenti da compilare. Prima di tutto controllare se presente un README che dovrebbe aiutarci a compilare il programma, ma se non presente compiliamo alla maniera "standard". Generalmente bastano 3 semplici comandi per compilare sorgenti alla maniera "standard". Appena siamo dentro la cartella, con il terminale basta digitare i seguenti comandi e dare INVIO:

  • ./configure
  • make
  • sudo make install

Se "./configure" ci dice che non abbiamo i permessi per eseguirlo basta digitare "chmod a+x configure". Durante l' esecuzione del comando "./configure" verranno verificate configurazioni e dipendenze. E' durante questo comando che dovete notare i possibili errori (che si raccoglieranno tutti alla fine) e risolverli leggendo. Se dovesse capitare qualche errore di dipendenza come comportarsi? Installate il pacchetto o la libreria richiesta con l' aiuto di "apt-get" o "synaptic". A volte il pacchetto richiesto e installato non ci aiuta. Questo avviene perchè a volte la compilazione richiede il pacchetto "dev". Esso è un pacchetto che ha nome uguale all' altro solo che aggiunge la dicitura "dev", cioè development (sviluppo e compilazione). In questo caso cercate con "synaptic" il seguente pacchetto e installatelo. Nota che se non viene visualizzato nessun pacchetto "dev" significa che è assente o non è attivata l' opzione "source code" su "synaptic". Per sapere come settare l' opzione "synaptic" andare momentaneamente alla sezione "Configurare Synaptic". Se invece il pacchetto "dev" è inesistente, dovete scaricare i sorgenti di quella dipendenza e compilarli prima di compilare questo programma, usando le medesime regole descritte qui. Appena il comando "./configure" non da più errori, possiamo passare a "make".

Adesso digitiamo "make" e attendiamo che i sorgenti vengano compilati. E' una operazione che può rivelarsi veloce o lenta a seconda del tipo di pc che usate e della grandezza dei sorgenti da compilare. Se durante l' esecuzione di questo comando avrete degli errori significa che vi manca qualche tool per compilare. Basta leggere il nome di ciò che vi manca e andare su "synaptic" per installarlo.

Risolto tutto ed eseguito con successo anche "make" passiamo a "make install". Chi non ha Ubuntu o non ha installato "sudo" deve logarsi come root con il comando "su" e poi digitare "make install". Avremo bisogno di essere root perchè dovremo scrivere su cartelle protette. Avviamo "make install" e attendiamo la fine del comando. Alla fine di ogni risoluzione di errori o dipendenze e comandi avrete il vostro programma installato, che comparirà sul menù o dovrete avviare da terminale col rispettivo comando.


Spero di essere stato chiaro, ma molti dubbi si chiariranno solo con l' esperienza. Io ho solo cercato di illustrare uno degli aspetti più difficili del mondo di Linux.

9) Oltre le conoscenze basilari di Linux


Fino ad ora mi sono limitato a scrivere le cose essenziali per potere usare sufficentemente GNU\Linux; ma adesso mi occuperò di approfondire e spiegare qualche altro aspetto che potrebbe interessarvi o servirvi durante l' uso di Linux. Diciamo che questa parte è dedicata a chi vuole arricchire e migliorare le proprie conoscenze su GNU\Linux, cercando di andare oltre le conoscenze di base. In particolare privilegerò una distribuzione, Ubuntu e derivate. Ma gran parte delle informazioni interessano tutte le distribuzioni indistintamente.

venerdì 9 novembre 2007

8) Programmi utili su GNU\Linux



Ho dato una breve panoramica di tutto quello che potrebbe essere utile sapere durante il primo periodo ad un nuovo utente di Linux. Adesso bisogna trattare un aspetto fondamentale qual'è la scelta dei programmi migliori o più familiari a quelli presenti su Windows.
La prima volta che si usa Linux si è un pò stupiti, magari la seconda impressione non sarà proprio così positiva. Ci si incomincia a chiedere: "Dov'è la cartella documenti?", "Dov'è Internet Explorer?" , "Dove sono installati i programmi che ho appena installato? Come faccio ad avviarli?" , "Dov'è lo scandisk?" , "E Msn? Che faccio devo rinunciare a chattare?" , "E le email come le ricevo?" , "Ma cavolo senza Windows media player come faccio ad ascoltare musica e a vedermi i film?" , "E risorse del computer?". Queste sono solo alcune delle domande più importanti che mi sono posto durante il mio primo approccio... Vediamo come risolvere.
  1. La cartella documenti è sostituita dalla cartella home. Se si controlla un pò in giro la si trova. In alcune distribuzioni ha la classica icona a forma di casa.
  2. Internet Explorer non esiste e e comunque è rimpiazzabile da firefox che tral'altro è molto più affidabile.
  3. Per quanto riguarda i programmi installati, essi vengono posti esattamente nel menù principale come su Windows (perlomeno al 98% dei casi), a volte non si vedono e devono essere avviati da terminale digitando semplicemente il nome del programma; ma sono casi molto rari. E se non ci si ricorda bene il nome? Ok Linux ha pensato anche a questo, basta digitare la prima parte e premere il pulsante TAB (quello con le due freccette di verso contrario) e Linux provvede a completare il nome del programma che vogliamo avviare (o perlomeno prova a suggerirlo).
  4. Lo scandisk esiste ma molto spesso è avviato automaticamente ad intervalli di avvii (se non ricordo male ogni 30 avvii del sistema Linux). Se poi pensiamo al filesystem di Linux ext3 che è Journaled (diciamo solo che è quasi impossibile che si vengano a creare errori sul filesystem) notiamo come sia una cosa quasi inutile. Comunque se vogliamo avviare lo scandisk su una partizione, bisogna prima smontarla e poi controllarla con il comando "fsck partizione_da_controllare". Comunque ripeto che è una cosa molto rara e quasi inutile.
  5. Per Msn Linux si è attrezzato da tempo. Esistono moltissimi programmi cloni di Msn. Esiste aMsn, gaim (per GNOME e XFCE), kopete (per KDE), emesene (per GNOME e XFCE, è quello più simile a livello di funzioni ma non è presente su apt-get, quindi dovete cercare il pacchetto DEB di pochi mb su internet e installarlo con un doppio click) e tanti altri.
  6. Per chi non usa Yahoo o simili, si ha bisogno di un programma tipo Outlock che gestisca le email. Esiste Thunderbird e tral' altro c'è anche su Windows.
  7. Windows Media Player è sostituito degnamente da "mplayer", "xine", "vlc", "xmms" (stile winamp per Windows). Unica cosa è che dovete installare programmi da apt-get come "gstreamer" per i codec.
  8. Risorse del computer esiste, dovete solo cercarlo tra le icone del desktop o nei menù. Insomma c'è tutto.
Se non bastasse, Ubuntu ha anche pensato ad un aiutino ulteriore. Ha messo un programmino "Aggiungi/Rimuovi" che ti seleziona i pacchetti e ti aiuta a trovare i programmi e ne fornisce una descrizione. Infine si occupa anche di installare programmi fondamentali tipo "Sun Java", "Flash macromedia" (per il web) e altri programmi non meno utili.
Infine c'è un programmino alquanto interessante. Il suo nome è "wine" (acronimo per Wine Is Not Emulator), insomma Wine non è un emulatore ma una specie di interfaccia che permette ai programmi di Windows di poter andare discretamente (a volte meglio di Windows) su Linux. Questo è indicato per programmi indispensabili di cui non esiste un alternativa su Linux (anche se sono molto pochi). Alcuni programmi non funzionano bene, ma in fin dei conti penso sia naturale. Ad ogni modo mantiene una certa utilità e funzionalità... basti pensare che ci hanno fatto andare bene giochi per Windows (quindi anche programmi complessi). Infine esiste l' ottimo OpenOffice che sostituisce completamente Microsoft Office e permette addirittura di aprire e a volte di modificare file creati con Microsoft Office anche su Linux!
Mancano solo alcuni programmi che sono solo per Windows, ma che in genere non servono all' utente comune.

7) Installare una distribuzione



Abbiamo parlato a sufficienza della struttura e dei vantaggi di GNU\Linux... Perchè non incominciare ad usarlo e a testare di persona queste effettive potenzialità? Questo post è rivolto a coloro i quali temono di fare una sciocchezza nell' installazione di GNU\Linux perdendo tempo e faticando per nulla. Per fortuna GNU\Linux ci viene incontro con le versioni Live di Linux. Esse altro non sono che il sistema operativo vero e proprio che funziona senza installare e quindi senza toccare minimamente le impostazioni del PC, lasciando intatto il nostro caro Windows o qualunque altra cosa ci sia al suo posto. Praticamente non si tocca l' hard disk. Mi riferirò all' installazione della distribuzione Ubuntu e derivate anche perchè è quella che reputo migliore per un utente medio ed è quella che uso anche io.
Prima di tutto scarichiamo la live per il nostro pc dal sito di Ubuntu http://http://www.ubuntu.com/getubuntu/download (scaricate Linux adatto al vostro PC. Nel caso in cui abbiate un AMD scegliete comunque un architettura x86 perchè al momento non è pienamente sfruttata la struttura a 64 bit e scegliete la versione desktop più recente e fate partire il download). Nel caso in cui avete un pc nella norma o poco più scegliete Ubuntu, in altri casi potete scegliere Xubuntu che è un pò più leggero e non vi da problemi su pc un pò più datati http://www.xubuntu.org/ e trovate la pagina di download (scaricate Linux adatto al vostro PC. Nel caso in cui abbiate un AMD scegliete comunque un architettura x86 perchè al momento non è pienamente sfruttata la struttura a 64 bit e scegliete la versione desktop più recente e fate partire il download). Per chi fosse interessato all' ambiente KDE vada qui http://www.kubuntu.org/ (scaricate Linux adatto al vostro PC. Nel caso in cui abbiate un AMD scegliete comunque un architettura x86 perchè al momento non è pienamente sfruttata la struttura a 64 bit e scegliete la versione desktop più recente e fate partire il download).

Al termine del download vi troverete con una immagine iso da masterizzare come meglio preferite su un cd vergine. Fatto questo non rimane che farla partire. Riavviate il PC e settate il bios in modo che il PC al riavvio carichi il lettore CD\DVD come primo drive. Modificate l' ordine di boot, cioè di avvio, del vostro sistema e riavviate il PC con il disco inserito nel lettore CD\DVD.
Appena il vostro sistema parte troverete una schermata a tempo colorata con qualcosa tipo Ubuntu, Kubuntu o Xubuntu. Premete il tasto per cambiare la lingua (dovrebbe essere F2; ma se guardate sotto lo indica) che sarà preimpostata in English e settatela in italiano. Infine avviate dalla prima opzione del menù principale. Attendete che il vostro Linux si carichi e dopo un pò avrete la live in azione. Quello che avrete di fronte sarà GNU\Linux ma non è installato e per questo è un pò lento. Potrete provare i programmi che ci sono su e esplorare Ubuntu. Nel caso in cui vogliate installarlo modificherete il vostro hard disk. Nell' installazione sarà richiesta una partizione per linux e una per la SWAP (per la memoria virtuale). Se possedete una partizione inutilizzata siete fortunati altrimenti dovete modificarne una sottraendo spazio per Linux. Linux richiede più o meno 1,5 giga per la partizione principale (mettete almeno 5 giga) e diciamo circa 500 mb di SWAP. Nel caso in cui dobbiate redimensionare una partizione con Windows preinstallato state attenti perchè è molto pericoloso. Se proprio siete dei temerari assicuratevi di salvare in un posto sicuro (un cd) i vostri file importanti. Assicuratevi anche di aver deframmentato la partizione che vogliamo redimensionare. Ad ogni modo non fate modificare automaticamente le vostre partizioni a Linux perchè non potete prevedere cosa combinerà. Il partizionamento è una cosa rischiosa quindi non azzardate niente se non siete certi di quello che fate. Potete creare benissimo queste partizioni anche da Windows con strumenti come Partition Magic (a pagamento) usando una partizione (formattata come ext3) per il sistema e una per la memoria virtuale (formattata come SWAP). Se siete pronti e decisi cliccate su installazione (sul desktop della live) e procedete con quello che vi chiede. Il momento cruciale sarà quello in cui vi chiederà qualcosa come "vuoi salvare le modifiche alle partizioni?" quella sarà l' ultima possibilità per fermare se avete un ripensamento. Nel caso in cui create le partizioni da Windows lo scoglio sarà già stato superato e nell' installazione dovete limitarvi a fargli scegliere qielle partizioni. Al termine della procedura installerà Linux e alla fine al riavvio vi troverete a scegliere se avviare Linux o Windows.

Nel caso in cui vogliate installare opensuse non ci sarà problema, dato che l'installazione è molto simile se non più semplice... Stessa cosa vale per Mandriva.

ATTENZIONE!
Ricordo che verrà modificata una parte importante del disco (la parte di boot o avvio). Se volete cancellare Linux per un qualche motivo o perchè non vi piace più potete benissimo farlo; ma sappiate che dovrete risistemare l'avvio altrimenti non partirà neppure Windows. Per farlo basta avviare il cd di Windows XP all' avvio, un pò come avete fatto ad avviare il cd di Linux, attendete la schermata blu e andate su "console di ripristino" a quel punto, quando vi troverete la schermata nera (tipica del MS-DOS), scrivete FIXMBR e date INVIO. Se vi fa domande rispondete con "yes". Qui non correte rischi! Alla fine il riavvio sarà sistemato come lo avete avuto in precedenza e tutto si avvierà senza problemi. Per recuperare le partizioni dedicate a Linux basta usare Partition Magic e cancellate o riformattate quelle partizioni in FAT32 o NTFS (se avete Windows XP). Così potrete prendere la vecchia routin di lavoro senza perdere nulla.

6) Panoramica sulle distribuzioni GNU\Linux



Conclusa la parte standard sul mondo di Linux è bene parlare anche delle distibuzioni. Queste differiscono per scelte dettate da idee diverse e da scopi ben precisi. Generalmente la cosa più intelligente da fare è una, valutare e scegliere quella che ci piace di più, accettando pregi e difetti. Ovviamente Windows ci ha abituati a tutto, nel senso che con Windows puoi farci tutto installando i programmi che ci interessano in modo semplice e immediato. Insomma fornisce una base universale alla quale forniamo programmi per fare praticamente la qualunque. Su distribuzioni GNU\Linux per ottenere la stessa cosa bisogna sudare tanto. Questo perchè l' autore della distribuzione ritiene utili certi aspetti e li sviluppa fino a renderli eccellenti, ma tutto il resto è da configurare a mano e a volte con molta difficoltà perchè si presuppone una certa conoscenza di base. Le distribuzioni storiche che è bene ricordare non sono moltissime:
  • Debian
  • Slackware
  • RedHat
Dovrebbe mancarne qualcuna, ma il punto è che molte distribuzioni nuove si sono appoggiate a queste modificandole e migliorandole dal punto di vista della facilità e ottimizzandole in vari aspetti.
Ormai le nuove distribuzioni sono meno difficili da usare e richiedono meno conoscenze informatiche; ma ancora non sono a livello di utenti Windows. I cambiamenti che disorienteranno il nuovo utente si legano principalmente alla posizione in cui sono presenti opzioni e tasti per dare comandi. Adesso vorrei permettermi di evidenziare alcune distribuzioni nuove che sono facili da installare e configurare, illustrandone i principali pregi e difetti.

Suse
E' un ottima distribuzione per farci un pò tutto, insomma stile Windows. E' molto buona a livello di grafica e prestazioni. Utilizza di default KDE per gestire il PC, ma possiamo scegliere anche GNOME. E' ottima nel riconoscimento dell' hardware, ma ha un difetto, è molto noioso e difficile installare i programmi a causa delle dipendenze. Se siete come me che usate molti programmi che non sono all' interno della distribuzione e dovete installarli sarà molto noiso e difficile, tral' altro non è detto che riuscirete a installare tutto quello che volete e a farlo funzionare. Insomma questa è una pecca per chi installa continuamente software.Yum sarebbe il sistema che aiuterebbe ad installare il software, ma non è ricco come apt-get di Ubuntu. Per il resto è un ottimo sistema. Per installare il software si usano pacchetti RPM (tipo exe) oppure si compila dai sorgenti.
E' una distribuzione commerciale, ma esiste la versione open-source e gratuita molto simile e perfettamente funzionante come quella commerciale. Il sito di opensuse è http://it.opensuse.org/Benvenuto_su_openSUSE.org dove è possibile anche prelevarla alla sezione "download".

Ubuntu
Questa è un ottima distribuzione su tutti i punti di vista. Anche questa stile Windows. E' facile da configurare e gestire. Per installare il software si usa un programmino che fa tutto in automatico e ovviamente si occupa da solo delle dipendenze (apt-get che ha delle interfacce grafiche come synaptic e adept chelo rendono semplicissimo da usare), insomma addirittura più facile di Windows! Per installare software che non è previsto dal programma apt-get si fa un pò più di fatica ma sono casi rari e accettabili. Gestisce ottimamente e in automatico tutti gli aggiornamenti. Insomma al momento è una distribuzione che ha riscosso un enorme successo grazie alle sue eccellenti qualità. Per installare programmi che non sono su apt-get si usa aggiungere al programma gli indirizzi da cui prelevare i programmi. I Programmi sono sottoforma di pacchetti DEB (tipo gli exe di Windows). Ubuntu (che usa GNOME) ha delle varianti chiamate Kubuntu (usa KDE al posto di GNOME), Xubuntu (usa XFCE al posto di GNOME o KDE,questo la rende molto più leggera), Edubuntu (uguale a Ubuntu ma con software per la scuola), ultimamente è entrata in gioco anche Fluxbuntu (utilizza una grafica minimale per minimizzare le risorse utilizzate). Queste distribuzioni sono semplici modifiche di Ubuntu.
Questa distribuzione è opensource e gratuita e non esiste la versione commerciale. Il sito di ubuntu è http://www.ubuntu.com dove è possibile anche prelevarla alla sezione "download" nelle varie versioni oltre ad ubuntu.

Mandriva
Questa è la distribuzione per utenti alle primissime armi. E' un pò più pesantuccia delle altre due, ma tutto funziona e richiede pochissima conoscenza informatica grazie alle numerosissime interfacce. Un difetto identico a Suse è dato dalla mancanza di un software efficente come apt-get per l' installazione del software. Usa KDE di default ma può essere cambiato con GNOME e altri.
Mandriva è gratuita e opensource e il suo sito è http://www.mandriva.com/ dove è possibile anche prelevarla alla sezione "download".

Insomma la scelta è vasta ma queste mi sembrano le migliori alternative. Quella che sembra più bilanciata a livello di facilità, funzionalità e prestazioni sembra Ubuntu. Se evete del tempo potete provarle su un pc che non contenga dati importanti per evitare di far danni!

5) Terminale e comandi utili


Il cosiddetto "Terminale" è un programma che crea una specie di "varco" nella grafica e ci permette di eseguire dei comandi direttamente e senza la grafica. Una specie di MS-DOS per gli utenti di Windows; ma molto più potente. Cercherò di spiegare più o meno le cose che si possono fare anche su MS-DOS.
Alcuni comandi importanti e utili sono:
  • cd
  • ./
  • chmod a+x
  • su
  • sudo
  • top
  • ls
  • rename
  • cp
  • mkdir
  • rm
  • rmdir
  • man
Il comando "cd" cambia la posizione della cartella attuale con quella che forniamo noi. Funziona come Windows.
"./" si occupa di eseguire un programma o uno script (insomma qualcosa di eseguibile) che non sia installato nel sistema. Omettendo questo comando il sistema cercherà il programma tra quelli installati nel sistema e non lo eseguirà se non è presente.
"chmod a+x file_da_eseguire" rende eseguibile un programma o uno script creato come file di testo. Se scaricate dei programmi da installare a volte non si avviano con "./". Questo avviene perchè non è eseguibile e quindi necessita del comando "chmod a+x".
"su" è un comando importante che si esegue così com'è. Appena spunta la scritta password digitate la password da amministratore e vedrete che la "$" diventa "#" segno che avete una console da amministratore con cui potete far tutto e anche far danni! Usate solo quando necessaria. Su alcune distribuzioni viene configurato il comando "sudo comando" e quindi se digitate "su" vi chiede una password per il login dell' amministratore che non sempre è creato, quindi mettendo la vostra vi dirà che è sbagliata. In questo caso ovviamente usate "sudo comando".
"sudo comando" è un programma che permette di acquisire temporaneamente i diritti si amministratore ed esegue i comandi scritti alla sua destra. Ovviamente vi chiede la password la prima volta e la salva per un periodo più o meno breve o fino alla chiusura del terminale. Questo comando non sempre è presente su linux. A volte infatti è presente solo "su".
"Top" è un taskmanager, insomma il programma che monitora le risorse e vi dice quali programmi sono attivi e quante risorse consumano. Per uscire dal comando premere "q". Per chiudere un programma memorizzare il PID (un codice identificativo per ogni programma eseguito sulla macchina) e digitare "k" (sta per kill) poi "numero_pid" e infine dare "INVIO".

Un tipico output di "top"


Individuiamo la prima riga e notiamo l' ora, da quanto tempo linux è in funzione e il carico medio del PC.
Nella seconda riga troviamo informazioni sui programmi in esecuzione.
Nella terza riga notiamo chiaramente informazioni sulla CPU. Le percentuali degne di nota sono NUMERO%us (carico dato all' utente con i vari programmi)
, NUMERO%sy (risorse dedicate al sistema, al kernel e a servizi di baseimportanti), NUMERO%id (percentuale rimasta alla saturazione della CPU, inutile dire che più alta è e meno la CPU è sotto sforzo), NUMERO%wa (carico della CPU dedicato alla lettura e scrittura dei dispositivi compreso l' hard disk). Il resto sono cose molto specifiche, inutile ad un utente medio.
La quarta e la quinta riga si occupano di monitorare la memoria fisica (Ram) e quella virtuale (SWAP, se presente), descrivendo la memoria totale, occupata e libera.
Infine si hanno tutti i processi con il relativo PID, l' user che li ha eseguiti (se è root per chiuderli con il comando "k" bisogna avviare "top" con "sudo" o comunque essere amministratori), CPU occupata, memoria occupata e tutto il resto...
Il comando "ls" mostra tutti i file e le cartelle presenti nella destinazione in cui ci troviamo (distingue file da cartelle ed altro usando i colori).
I comandi "cp","rename", "mkdir", "rmdir", "rm" si occupano di copiare, rinominare, creare cartelle, rimuovere cartelle e rimuovere file dal filesystem.
Infine il comando "man" seguito da un comando da tutte le informazioni sul comando e su come usarlo. Insomma un enorme manuale consultabile. Molto importante in alcuni casi. COntiene anche informazioni su come usare i programmi che installiamo di volta in volta.
Questi sono i comandi di base che sono molto utili in alcuni casi.
Ci sono tanti programmi diversi che fanno le veci del terminale, basta scelgliere quello che ci piace di più. Generalmente il terminale viene anche usato per fare debugging. Esempio un programma non si avvia, allora individuiamo il comando e digitiamolo su terminale. Qui verranno mostrati tutti gli errori che si creano nell' esecuzione di quel programma.
Per il resto ultimamente cade sempre più in disuso come il vecchio MS-DOS e viene usato molto raramente.

giovedì 8 novembre 2007

4) Filesystem di GNU\Linux



Sotto la grafica è presente il filesystem. E' vero che per gestirlo si usa la grafica ma sapere qualcosa di manuale ci aiuta a risolvere i problemi!
Per spiegare farò un uso abbondante di parallelismi con il sistema Microsoft Windows. Negli anni Windows è diventato padrone della scena, imponendoci alcuni concetti base. Esiste la partizione "C:\" e generalmente ci si trova dentro il sistema operativo. Vediamo un pò, per tradurla in "linuxiano" la partizione "C:\" non esiste ed al suo posto c'è la cartella di root "/" che è rappresentata da un solo segno! La partizione del sistema operativo viene vista dal sistema come un enorme cartella che si trova alla radice di tutto (non per niente si chiama root!). Da notare che GNU\Linux usa "/" al posto di "\" per separare le cartelle. Il tutto dovrebbe rimandarsi al fatto che il sistema è un tuttuno con la rete ed essendo nato nella rete si comporta in modo eccellente nella gestione di quest' ultima; infatti negli indirizzi in rete si usa il simbolo "/" e non "\". Scendendo dall' enorme piramide che hai in cima la cartella "/", si nota la presenza di cartelle importantissime come:
  1. /bin
  2. /boot
  3. /dev
  4. /etc
  5. /lib
  6. /mnt
  7. /proc
  8. /sbin
  9. /sys
  10. /tmp
  11. /usr
  12. /var
Esse sono le cartelle di cui necessita il sistema per funzionare. Mi soffermo su quelle che interessano maggiormente all' utente.
"/boot" contiene il kernel Linux e file di avvio.
"/mnt" contiene tutti i dispositivi di memorizzazione o le altre partizioni del vostro hard disk che sono state configurate sul file "/etc/fstab" e montate (per montare si intende creare un ponte virtuale tra il sistema operativo e il dispositivo che permette di leggere o modificarne il contenuto; smontare invece è l'esatto contrario e lo si usa prima di scollegare un dispositivo).
"/usr" contiene quasi tutti i file eseguibili dei programmi che usate, una specie di cartella "Programmi" di Windows; ma strutturata in modo più criptico.
Infine ci sono delle cartelle opzionali che a seconda della distribuzione GNU\Linux il sistema crea a proprio piacimento. Esempi importanti di ciò sono la cartella "/home" (come la cartella "documenti" di Windows) e ben più importante la cartella "/media" che fa esattamente le stesse cose di "/mnt" solo che a volte viene preferita a quella predefinita.
Le rimanenti cartelle rappresentano configurazioni e file di sistema vari che non devono essere toccati se non si sa cosa si sta facendo. Vedetele come una sorta di cartella "Windows", a cui non bisognerebbe accedere, ma la loro struttura è molto più complessa.
Ultime note degne di importanza:
  • Il filesystem di Linux è diverso da quello di Windows. Windows usa FAT16, FAT32, NTFS, ecc. mentre Linux usa EXT2, EXT3, REISERFS, ecc. Degno di nota il fatto che su Linux il file system è molto efficente e non richiede deframmentazione. Infine Linux usa una partizione a parte formattata con file system SWAP per la memoria virtuale, usata come appoggio alla Ram fisica del PC.
  • Ogni file nascosto viene preceduto da "." nel nome ("/cartella_visibile", "/.cartella_nascosta").
  • Ogni cartella e file del filesystem ha dei permessi predefiniti e modificabili di esecuzione che impedisce di modificare o danneggiare cartelle o file fondamentali del sistema operativo.
  • Infine Linux a differenza di Windows è "case-sensitive" cioè fa differenza tra lettere maiuscole e minuscole, di conseguenza "/cartella" e "/CARTELLA" e "/CaRtElLa" sono 3 cartelle differenti e possono coesistere (cosa impossibile su Windows).

3) Grafica su GNU\Linux



Dalla prima distribuzione di linux ad oggi si sono fatti passi enormi (diciamo che intercorrono poco più di 20 anni). I creatori hanno capito che nel tempo si doveva dare grande importanza anche alla grafica e così hanno fatto. Hanno creato un' implementazione opensource dell' X server cioè quel sistema che si occupa di disegnare qualsiasi cosa sul monitor. Il primo prende il nome di Xfree86 che è stato sostituito dal più moderno Xorg che supporta le nuove tecnologie per il desktop 3D... Questa è la base; ma su questo si appoggiano i windows e desktop manager. Essi sono coloro che si occupano di gestire graficamente finestre, sfondi, cartelle e file. Ce ne sono di tutti i tipi. I più importanti sono senz' altro KDE, GNOME e recentemente XFCE. Altri sono troppo minimali e non includono alcune funzionalità utili che devono essere aggiunte tramite programmi esterni...
GNOME usa gestire i file e cartelle con Nautilus (una sorta di explorer tipo Windows, insomma il programma che si avvia quando clicchiamo su una cartella e ci fa creare, eliminare e modificare il contenuto del nostro Hard Disk), KDE usa Konqueror, XFCE usa Thunar. E' importante conoscerli perchè sono elementi fondamentali del sistema che ci permettono di "usare" il nostro PC. Altri programmi gestiscono sfondo, finestre ed altro; ma i nomi non mi sono mai serviti...
Usare KDE, GNOME o XFCE è una scelta dell' utente. Insomma per fare quello che ci occorre ne basta uno. Se volessimo descriverli in modo molto veloce, direi che KDE è pesante poco più di GNOME; ma ha molte funzionalità rispetto a GNOME. Riguardo a grafica GNOME è più semplice e meno stancante, mentre KDE è più "pomposo". KDE è migliore in funzionalità ed è più evoluto, GNOME invece ha un aspetto più semplice stile Windows ma in fin dei conti tutti e due fanno il loro lavoro bene. XFCE invece è una specie di GNOME (almeno come aspetto) più alleggerito e con meno funzionalità; ma il punto di forza è che non manca nulla di importante ed è molto leggero anche su PC non velocissimi... Insomma GNOME e KDE puntano alle funzionalità, XFCE alla leggerezza.
Si erano raggiunti dei livelli ottimali fino a poco tempo fa; ma ora i programmatori si sono davvero superati! Ultimamente la grafica dei sistemi operativi ha raggiunto livelli meravigliosi grazie all' uso del 3D (finestre gommose, effetti trasparenza, ecc.) non appesantendo eccessivamente il sistema. Il programma che ha permesso questo prende il nome di Compiz-Fusion e sfrutta nuove tecnologie legate alle schede video.
Insomma siamo ad ottimi livelli e si può competere con Windows.

2) Kernel e programmi



Spesso salta all' occhio GNU\Linux... Perchè non semplicemente Linux come dicono tutti? Innanzitutto c'è da fare una distinzione importante. Un sistema operativo è un insieme di kernel (il nucleo del sistema) e programmi vari. Il kernel di per se è anche lui un programma e secondo me è il più e anche il meno importante allo stesso tempo. Esso è il programma più importante perchè ha il compito di formare un sistema, nel senso che si occupa di unire i vari componenti (quali scheda video, scheda audio, processore,ecc.) e farli diventare una squadra e lui sarebbe il mister, ma di fatto con il kernel non possiamo farci nulla. Lui riceve ordine dai superiori, che saremmo noi, e si occupa di far eseguire quegli ordini alla squadra. E' facile intuire che più efficente e stabile è il kernel e meno errori avremo nell' esecuzione di un qualsiasi compito o lavoro. Fino a poco tempo fa Il kernel era l' unica cosa che veniva curata bene ed infatti sfido chiunque a negare che il kernel Linux sia uno dei migliori (se non il migliore) in circolazione. Detto questo possiamo dire che con Linux ci riferiamo solo al kernel. Per comandare il kernel ci serviamo dei programmi (insomma video o audio player, videogiochi, web browser, ecc.).
I programmi sono la parte GNU (acronimo che significa "GNU's Not Unix"). Sono stati creati a parte e successivamente usati sul kernel Linux (mi fermo a questo e vi risparmio tutta la storia di linux). Insomma insieme formano un sistema GNU\Linux. Tempo fa qualcuno incominciò a vederci un sistema operativo e iniziò a creare una di quelle che oggi vengono definite distribuzioni. Unendo kernel e programmi che si reputavano validi si venne a formare un sistema operativo stabile e gratuito. Ormai ce ne sono così tante da mandarci in confusione...

1) Introduzione Blog Linux



GNU\Linux è un qualcosa che nasce per non sottostare alle regole. Penso che questo sia uno dei motivi che ha spinto molti a considerarlo il sistema operativo degli hacker. Spiegando in modo approssimativo, un hacker è una persona che vuole sentirsi il più possibile libera ed è questo uno dei motivi che rende GNU\Linux, a mio parere, molto apprezzato da loro! Non sottostare sempre alle regole comporta lati positivi e negativi, le tanto famose due facce della stessa medaglia.
Tutto ha bisogno di un punto di riferimento per parlare di qualcosa ed è per questo che parlerò come utente di Windows (chi non lo è stato o non lo è?). Certamente un lato negativo è rappresentato dall' assenza di poter controllare facilmente questo sistema operativo, infatti Microsoft ci ha abituati alla semplicità e anche a punti fermi come "pulsante Start", "Internet Explorer", "Msn". Grazie a questi punti fermi molti di noi posseggono un PC (perchè non ammetterlo?). D' altro canto ci sono anche lati positivi. GNU\Linux ha preso una strada diversa da Windows. Mentre Windows dava priorità alla semplicità e all' immediatezza, GNU\Linux si preoccupava di dare stabilità ed efficenza al sistema. Queste scelte influiscono sulla struttura stessa dei due sistemi operativi. Traduzione? GNU\Linux è si molto più stabile e sicuro di Windows (praticamente è molto difficile beccare un virus per GNU\Linux); ma è anche molto più difficile da usare per un nuovo utente (peggio se abituato già a Windows).

In questo blog cercherò di spiegare le differenze più importanti con Windows e l' utilizzo di GNU\Linux (per un utente medio) con i comandi più utili.