Web Analytics Made Easy - Statcounter


https://www.amazon.it/dp/B0CT9YL557

We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
a2 --- Installare GNU/Linux

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 13.   Installare GNU/Linux

L'installazione di un sistema GNU/Linux è difficile quanto lo è installare un nuovo sistema operativo; ovvero, così come dover accettare il fatto che non si possono utilizzare gli strumenti consueti cui si può essere abituati da tanto tempo. In questo capitolo si fa riferimento all'installazione di un sistema GNU/Linux in un elaboratore i386 (o superiore) partendo da strumenti Dos.

13.1   Scelta della distribuzione

Prima di poter installare un sistema GNU/Linux occorre procurarsi una distribuzione di questo sistema operativo. Le distribuzioni di sistemi GNU/Linux esistenti sono molte; ciò è sicuramente un sintomo positivo dell'importanza che questo sistema operativo sta avendo. Il problema per l'utente sta nello scegliere.

È molto difficile consigliare in modo generalizzato una distribuzione particolare, perché nessuna può essere migliore delle altre in senso assoluto; ognuna interpreta a suo modo le esigenze dell'utenza, ponendo l'accento su certe caratteristiche e trascurandone altre. Di sicuro, chi intende utilizzare GNU/Linux in modo sistematico farebbe bene a provarne alcune prima di decidere quale offre per sé i vantaggi migliori.

In passato, la scelta di una distribuzione particolare era motivata dalla difficoltà con cui queste potevano essere ottenute; spesso si cominciava a utilizzare GNU/Linux con un CD-ROM allegato a un libro o a una rivista, dal momento che era un po' difficile lo scarico diretto da Internet. Oggi le riviste specializzate pubblicano con maggiore frequenza le distribuzioni GNU/Linux più comuni; inoltre è anche possibile acquistare tranquillamente con una carta di credito attraverso Internet, presso aziende specializzate nella masterizzazione di CD-ROM, a un prezzo molto contenuto. Vale la pena di citare qualche distribuzione storica, indicando alcune delle loro caratteristiche.

Tabella 13.1. Distribuzioni storiche degli anni 1990.

Nome Descrizione
ZipSlack La distribuzione ZipSlack è una riduzione della distribuzione Slackware, descritta più avanti, che può essere installata facilmente all'interno di un file system Dos-FAT. Può essere ottenuta dall'URI <http://mirror.switch.ch/ftp/mirror/slackware/slackware-current/zipslack/>, oltre che dai siti speculari e dalle riproduzioni su CD-ROM della distribuzione Slackware normale.
Questa distribuzione è adatta agli utenti che utilizzando Dos o MS-Windows (purché nelle sue edizioni più vecchie) e non vogliono affrontare un'installazione normale di un sistema GNU/Linux standard, mentre desiderano iniziare a studiare questo sistema operativo; inoltre, una volta installata, si possono aggiungere i pacchetti della distribuzione Slackware standard.
Red Hat La distribuzione GNU/Linux Red Hat, nella seconda metà degli anni 1990 è stata una delle prime distribuzioni per utenti poco esperti di sistemi Unix, orientata all'uso grafico, che in particolare ha introdotto un proprio metodo di gestione dei pacchetti applicativi, in modo da renderne più facile l'installazione e la disinstallazione. Questi pacchetti sono distribuiti in archivi in formato RPM (Red Hat package manager), formato che è poi stato usato anche da altre distribuzioni.
SuSE La distribuzione GNU/Linux SuSE è ottenibile presso l'URI <ftp://ftp.suse.com/pub/suse/>, oltre che dai siti speculari e dalle riproduzioni su CD-ROM.
La distribuzione SuSE è nata come una variante tedesca della distribuzione Slackware, ma dopo le prime edizioni si è orientata all'uso del sistema RPM per la gestione dei pacchetti software.
Slackware La distribuzione GNU/Linux Slackware è ottenibile presso l'URI <http://distro.ibiblio.org/pub/linux/distributions/slackware/>, oltre che dai siti speculari e dalle riproduzioni su CD-ROM. Si tratta della prima distribuzione GNU/Linux relativamente «facile» da installare e in ciò ha il merito di avere contribuito alla sua diffusione nei primi anni di vita di questo sistema operativo.
La caratteristica principale di questa distribuzione è di essere «spartana» come un sistema Unix tradizionale, introducendo però un sistema di gestione dei pacchetti (formato tar+gz), anche se primordiale rispetto a quanto fatto successivamente da altre distribuzioni.
Debian La distribuzione GNU/Linux Debian è ottenibile presso l'URI <http://ftp.it.debian.org/debian/>, oltre che da altri siti speculari e dalle riproduzioni su CD-ROM.
Questa distribuzione è realizzata da un gran numero di volontari e tutto è organizzato per facilitare la coordinazione di queste persone. Un aspetto molto importante della politica della distribuzione è l'attenzione alle licenze e ad altre restrizioni legali dei paesi occidentali, per cui i pacchetti, oltre che contenere sempre le informazioni sulla licenza, ricevono anche una classificazione di massima che consente di capire sommariamente il genere di libertà o di restrizioni che comporta l'installazione di questi.
Questa distribuzione è adatta agli utenti che hanno una buona conoscenza dei sistemi Unix e ha una gestione ottima dei pacchetti applicativi, attraverso l'uso di un proprio formato, con estensione .deb.
L'installazione iniziale può essere complessa per un principiante, ma ci sono molte varianti di questa distribuzione che organizzano un sistema di installazione alternativo più semplice, lasciando poi un sistema sostanzialmente compatibile con la distribuzione Debian standard.

13.2   Hardware i386

Come già accennato altrove in questo documento, le distribuzioni GNU/Linux fatte per l'hardware i386 possono funzionare solo con un microprocessore *386 o superiore. Il problema più grande è invece la memoria RAM che dovrebbe essere di almeno 24 Mibyte per poter installare un sistema minimo e senza il sistema grafico X. Mano a mano che GNU/Linux si evolve, i suoi eseguibili si appesantiscono e il sistema richiede sempre più risorse. Questo significa che, allo stato attuale, una configurazione minima ragionevole richiede un 586 (Pentium) a 100 MHz, con almeno 48 Mibyte di memoria RAM.

Teoricamente, è ancora possibile installare GNU/Linux senza X avendo a disposizione solo 16 Mibyte di memoria RAM o anche meno, ma si tratta di un'operazione difficile. Se le circostanze costringono a tentare un'installazione del genere, conviene accontentarsi di una distribuzione GNU/Linux più vecchia, possibilmente una di quelle che utilizzavano il kernel 1.0.x, o comunque con binari «A.out» (ovvero non il formato ELF attuale). Queste vecchie distribuzioni si trovano ancora abbinate ai primi libri su GNU/Linux. A ogni modo, esistono anche distribuzioni GNU/Linux più recenti, realizzate con binari in formato standard, ma fatte in modo da poter essere usate anche con poche risorse.

Prima di installare qualunque sistema operativo, è sempre necessario raccogliere tutte le informazioni che si riescono ad avere sull'hardware installato. Le tabelle 13.2, 13.3 e 13.4, mostrano l'utilizzo più comune delle risorse da parte dei componenti più diffusi. Questo tipo di inventario, può essere utile anche per determinare quali siano le risorse disponibili nel momento in cui si vuole aggiungere un nuovo componente; tuttavia, con l'utilizzo di componenti installati su bus PCI, è sempre meno importante occuparsi di conoscere queste cose.

Disponendo di hardware relativamente recente, questo tipo di ricerca diventa probabilmente inutile, o quasi, dal momento che è il firmware stesso (il BIOS) a provvedere alla riconfigurazione automatica dei dispositivi, che non dovrebbe produrre conflitti.

Tabella 13.2. Utilizzo comune degli indirizzi di IRQ negli elaboratori di architettura i386.

IRQ Riservato Standard Eventuale
0 Timer
1 Tastiera
2/9 LPT3:
3 COM2: COM4:
4 COM1: COM3:
5 LPT2:
6 Unità di controllo dei dischetti
7 LPT1:
8 Orologio
10
11
12 Mouse PS/2
13 Coprocessore matematico
14 Unità di controllo ATA (IDE)
15 Unità di controllo ATA (IDE) secondaria

Tabella 13.3. Utilizzo comune dei canali DMA negli elaboratori di architettura i386.

Canale DMA Utilizzo normale Eventuale
1
2 unità di controllo dischetti (1 e 2)
3 Unità di controllo dischetti (3 e 4)
4 unità di controllo DMA

Tabella 13.4. Utilizzo comune degli indirizzi di comunicazione da 000016 a 03FF16 negli elaboratori di architettura i386.

Da A Utilizzo normale
000016 001F16 Unità di controllo DMA1
002016 003F16 PIC1 (Programmable interrupt controller)
004016 005F16 Timer
006016 006F16 Tastiera
007016 007F16 RTC (Real time clock)
008016 009F16 dma page reg
00A016 00BF16 PIC2 (Programmable interrupt controller)
00C016 00DF16 Unità di controllo DMA2
00E016 00EF16
00F016 00FF16 NPU (Coprocessore matematico)
010016 017616
017016 017716 ATA1 (unità di controllo secondaria dischi ATA)
017816 01EF16
01F016 01F716 ATA0 (unità di controllo primaria dischi ATA)
01F816 01FF16
020016 020F16
021016 021F16
022016 022F16
023016 023F16
024016 024F16
025016 025F16
026016 026F16
027016 027716
027816 027F16 LPT(2) (Porta stampante)
028016 028F16
029016 029F16
02A016 02AF16
02B016 02BF16
02C016 02CF16
02D016 02DF16
02E016 02E716
02E816 02EF16 COM4: (Porta seriale)
02F016 02F716
02F816 02FF16 COM2: (Porta seriale)
030016 031F16 Ethernet NE2000
032016 032F16
033016 033F16
034016 034F16
035016 035F16
036016 036F16
037016 037516 Unità di controllo dischetti (terza e quarta unità)
037616 037616 ATA1 (unità di controllo secondaria dischi ATA)
037716 037716
037816 037F16 LPT(1) (Porta stampante)
038016 038F16
039016 039F16
03A016 03AF16
03B016 03BF16
03C016 03CF16 EGA/VGA
03D016 03DF16 CGA/EGA/VGA nelle modalità video a colori
03E016 03E716
03E816 03EF16 COM3: (Porta seriale)
03F016 03F516 Unità di controllo dischetti (prima e seconda unità)
03F616 03F616 ATA0 (unità di controllo primaria dischi ATA)
03F716 03F716
03F816 03FF16 COM1: (Porta seriale)

Quando si hanno schede a 8 bit (quelle che utilizzano solo la prima parte di un alloggiamento ISA) si possono usare esclusivamente gli indirizzi di IRQ inferiori a 10.

Il caso delle porte parallele è un po' particolare: il sistema operativo Dos assegna i nomi LPT1:, LPT2: e LPT3: in base a una ricerca tra i possibili indirizzi di I/O. Vengono scanditi gli indirizzi 3BC16, 37816 e 27816. La prima porta a essere individuata diventa LPT1: e così di seguito.

13.3   Nomi dei dispositivi delle unità di memorizzazione

GNU/Linux utilizza dei nomi bene ordinati per i file di dispositivo, ma questi possono confondere chi proviene dall'esperienza Dos. La tabella 13.5 mostra l'elenco di alcuni nomi di dispositivo riferiti a unità di memorizzazione.

Tabella 13.5. Elenco dei nomi di dispositivo utilizzati per le unità di memorizzazione.

Nome Descrizione Dos
/dev/fd0 prima unità a dischetti A:
/dev/fd0u1440 prima unità a dischetti da 1 440 Kibyte A:
/dev/fd1 seconda unità a dischetti B:
/dev/fd1u1440 seconda unità a dischetti da 1 440 Kibyte B:
/dev/hda primo disco fisso ATA (IDE)
/dev/hdb secondo disco fisso (o CD-ROM) ATA (IDE)
/dev/hdc terzo disco fisso (o CD-ROM) ATA (IDE)
/dev/hdd quarto disco fisso (o CD-ROM) ATA (IDE)
/dev/sda primo disco SCSI
/dev/sdb secondo disco SCSI
/dev/sdc terzo disco SCSI
...

I dischi che non rientrano nella categoria dei «dischetti» (o floppy), sono suddivisi normalmente in partizioni, dove per fare riferimento a queste si aggiunge un numero alla fine del nome. Per esempio, /dev/hda1 è la prima partizione del primo disco ATA, /dev/sda2 è la seconda partizione del primo disco SCSI.

La distinzione tra i nomi usati per le partizioni primarie e le partizioni logiche contenute in quelle estese, può creare confusione ulteriore. In generale, conviene non utilizzare partizioni logiche, se non c'è una necessità reale. Volendo prendere come esempio il primo disco fisso ATA, le prime quattro partizioni normali (primarie ed estese) hanno nomi che vanno da /dev/hda1 a /dev/hda4, mentre le partizioni logiche utilizzano nomi da /dev/hda5 in poi.

13.4   Preparazione

Prima di poter installare GNU/Linux occorre che sia pronto l'elaboratore che deve accoglierlo. Se è già stato installato il Dos, con o senza MS-Windows, vale forse la pena di conservarlo fino a quando si diviene completamente indipendenti da quell'ambiente.

Quando si installa GNU/Linux si hanno in pratica due possibilità fondamentali per quanto riguarda la destinazione: l'utilizzo di un file system Second-extended (Ext2 o Ext3) in una partizione dedicata, o l'utilizzo di un file system UMSDOS che consente di condividere un file system Dos-FAT preesistente senza alterare i dati in esso contenuti.

La prima delle due soluzioni è la più impegnativa, ma anche la migliore dal punto di vista tecnico: richiede la preparazione di una partizione da dedicare a GNU/Linux. La seconda è invece la soluzione più frettolosa e adatta a chi non vuole impegnarsi troppo con GNU/Linux: viene creata una directory C:\LINUX\ dalla quale si dirama una struttura di directory (e file), che pur rispettando le regole dei nomi «8.3» del Dos (otto caratteri per il nome e tre per l'estensione), viene poi riconosciuta e gestita correttamente dal sistema GNU/Linux. Questa ultima soluzione, dal momento che non richiede la preparazione di una partizione dedicata a GNU/Linux, potrebbe sembrare l'ideale per tutti. In realtà lo è solo per chi vuole vedere come funziona GNU/Linux e non per chi lo vuole utilizzare veramente.

Scegliendo un file system UMSDOS ci si affida implicitamente a un file system di tipo Dos-FAT, con tutte le sue limitazioni e le sue debolezze. Tra le altre cose, uno spegnimento accidentale potrebbe anche provocare la perdita di tutti i dati.

Se si decide di prendere GNU/Linux sul serio è necessario predisporre una partizione tutta per lui, o anche più partizioni, togliendo spazio a quanto installato in precedenza nel disco fisso. Per essere sicuri di non perdere i dati occorre cominciare dalla preparazione di una copia di sicurezza.

Ci sono vari modi di fare una copia di sicurezza dei dati del proprio disco fisso. Quello che bisogna ricordare è che non basta la copia dei dati, occorre anche la possibilità di avviare il sistema in modo da poter ricaricare quei dati salvati. Serve quindi un dischetto di avvio del sistema con i programmi di servizio necessari. Si presume che ognuno sappia come fare per ripristinare il proprio sistema operativo.

Per ridurre la dimensione di una partizione FAT esistente si possono utilizzare i programmi seguenti, funzionanti in Dos:

Per poter ridurre la dimensione di una partizione è necessario che la quantità di dati in essa contenuta non sia troppo elevata, ma soprattutto, che ci sia dello spazio vuoto proprio nella parte finale della partizione. Di solito si risolve il problema con un programma di deframmentazione che si occupa anche di compattare i dati nella parte superiore (iniziale) della partizione.

Naturalmente, tutto questo non è necessario se si intende installare GNU/Linux in una partizione FAT esistente, attraverso l'uso di un file system UMSDOS.

13.4.1   Dischetti di partenza e file-immagine

Prima di iniziare l'installazione di una distribuzione GNU/Linux qualsiasi, occorre avere un modo di avviare il programma di installazione. Di solito si ha la necessità di riprodurre uno o più dischetti che permettono di avviare un mini sistema GNU/Linux contenente ciò che serve per questo scopo. Questi dischetti sono distribuiti normalmente in forma di file-immagine, che deve essere ricopiato sopra un dischetto già inizializzato.

I dischetti che si intendono utilizzare devono essere privi di difetti. Anche se in fase di inizializzazione non sono stati segnalati errori, può darsi che i dischetti si mostrino difettosi durante il loro utilizzo. Ciò potrebbe manifestarsi attraverso delle segnalazioni di vario genere, oppure il sistema potrebbe bloccarsi durante l'avvio. In tali casi conviene tentare nuovamente utilizzando dischetti differenti.

Generalmente, per avviare un sistema GNU/Linux minimo sono necessari almeno due dischetti: uno contenente essenzialmente il kernel e il secondo (eventualmente con i successivi) contenente i programmi. In teoria, tutto potrebbe risiedere nello stesso dischetto, ma questo diventa sempre meno probabile, data la dimensione del kernel e dei programmi che compongono un sistema GNU/Linux.

Il primo dischetto, quello contenente il kernel, serve ad avviare il sistema; la sostituzione con il secondo viene richiesta alla fine del suo caricamento in memoria (eventualmente, dopo vengono richiesti i dischetti successivi). Il dischetto dei programmi contiene normalmente un'immagine compressa di un file system più grande. In questo contesto, l'«immagine» è un file che contiene il file system.

Un dischetto da 1,4 Mibyte può essere visto come un file unico. Quando un dischetto viene trasferito tale e quale in un file unico, questo file viene definito immagine del dischetto. Si possono creare dischetti non reali contenenti più spazio, per esempio 4 Mibyte, lavorando direttamente con le loro immagini. Il kernel è in grado di utilizzare tali immagini compresse, espandendole in memoria, all'interno di un disco RAM. D'altra parte, quando i dischetti sono più di due, normalmente i dischetti successivi al secondo vengono copiati nel file system creato all'interno del disco RAM.

Allo stato attuale, quasi tutti i dischetti contenenti un sistema minimo di emergenza che si possono trovare, sono immagini compresse di dischi più grandi, cosa che costringe il kernel a caricarli in un disco RAM. Si intuisce che l'utilizzo di dischetti di emergenza richiede la disponibilità di molta memoria RAM.

Se si può disporre solo del Dos, si ottiene la riproduzione di un dischetto, a partire da un file-immagine, con il programma RAWRITE.EXE. Si osservi l'esempio seguente in cui si riproduce un dischetto a partire dal file AVVIO.IMG.

C:> RAWRITE AVVIO.IMG A:[Invio]

Se si ha a disposizione un sistema GNU/Linux da qualche parte, si possono utilizzare due modi diversi. Si osservino gli esempi seguenti in cui si riproduce un dischetto da 1 440 Kibyte a partire dal file avvio.img.

cp avvio.img /dev/fd0[Invio]

dd if=avvio.img of=/dev/fd0 bs=1440k[Invio]

13.5   Partizioni e file system

GNU/Linux può essere installato su una sola partizione, oppure anche più di una. In aggiunta a questo problema, nella maggior parte dei casi ci si deve prendere cura di creare una partizione da dedicare alla memoria virtuale: la partizione di scambio (swap).

La partizione di scambio è una partizione come le altre, che viene identificata e inizializzata in modo diverso. In generale è conveniente utilizzare una dimensione pari ad almeno la stessa quantità di memoria RAM esistente, tenendo conto che una dimensione maggiore della necessità effettiva non comporta inconvenienti, a parte lo spreco di spazio su disco.

Quando si utilizzano dischi ATA (IDE) di grandi dimensioni, associati a un BIOS molto vecchio, si può porre il problema della posizione in cui si trova il kernel e gli altri file utilizzati per l'avvio. Questi dovrebbero trovarsi fisicamente entro il cilindro 1 024, a causa delle limitazioni del BIOS degli elaboratori i386. Se una partizione termina oltre questo limite, non ci può essere la certezza che questi file si trovino prima di quel punto.

Per evitare dubbi, è possibile creare una partizione apposita, solo per i file utilizzati per l'avvio (di solito si tratta di tutto ciò che è contenuto nella directory /boot/), residente fisicamente prima del 1 024-esimo cilindro.

13.5.1   Suddivisione del file system su più partizioni

Il file system del sistema GNU/Linux, così come accade per gli altri sistemi Unix, può essere scomposto in più parti residenti fisicamente in partizioni diverse, unite assieme attraverso vari innesti. Ci possono essere diverse buone ragioni per fare questo, in particolare le seguenti:

  • le richieste di accesso al file system sono distribuite su più dischi;

  • più dischi di piccole dimensioni possono essere uniti insieme senza la necessità di acquistare un disco fisso gigantesco;

  • le parti del file system che non devono essere alterabili possono risiedere anche su CD-ROM;

  • in una rete locale si possono condividere dati e programmi usati in comune attraverso un file system di rete.

Segue un elenco delle possibilità tipiche di scomposizione di un file system GNU/Linux.

  • Partizione principale

    La partizione principale deve contenere la directory radice (/). Quando non si scompone il file system, si tratta dell'unica partizione.

  • Partizione di avvio

    Se il disco fisso che si utilizza ha un numero di cilindri superiore a 1 024 e il BIOS è abbastanza vecchio, è assolutamente necessario che il kernel e gli altri file utilizzati nella fase di avvio si trovino prima di tale limite. Per questo, in tali situazioni si crea una partizione apposita nella parte iniziale del disco fisso, in cui si colloca la directory /boot/, all'interno della quale si mette anche il file del kernel.

  • Partizione dedicata ai programmi

    La maggior parte del software viene collocato al di sotto della directory /usr/ e il suo contenuto viene posto frequentemente in un'altra partizione.

  • Partizione dedicata agli utenti

    Quando un sistema è multiutente, il contenuto della directory /home/ può diventare molto grande e può convenire la sua collocazione in un'altra partizione.

In aggiunta a questi casi fondamentali, si possono valutare anche le possibilità seguenti.

  • Partizione per i file temporanei

    Tutti i sistemi Unix utilizzano la directory /tmp/ come contenitore generico di file a uso temporaneo. In un sistema multiutente, l'attività all'interno di questa directory potrebbe essere piuttosto intensa. In tal caso, può convenire di far risiedere il suo contenuto altrove in modo da alleggerire l'attività del disco che invece contiene la partizione principale.

  • Partizione per i sorgenti

    I sorgenti delle applicazioni risiedono solitamente nella directory /usr/src/. Se si intende gestire una grande quantità i sorgenti, può convenire di utilizzare una partizione dedicata a questo scopo.

  • Partizione per i programmi e i file locali

    Per convenzione, un file system di un sistema GNU e di altri sistemi Unix dovrebbe riservare la directory /usr/local/ per quei programmi e quei file che riguardano l'ambito locale. L'estensione di questo ambito dipende dalle circostanze. In generale, la directory /usr/ potrebbe risiedere in una partizione accessibile in sola lettura (come nel caso di un CD-ROM o di un servente di rete NFS). La directory /usr/local/ potrebbe risiedere altrove in modo da permettere l'installazione di programmi speciali a uso di quella macchina particolare o di quella sottorete. Di solito, si estende il concetto e si intende che questa directory sia il luogo più adatto all'installazione di quei programmi che non fanno parte della distribuzione GNU/Linux che si utilizza.

13.6   Moduli

Le distribuzioni GNU/Linux più comuni utilizzano la tecnica della scomposizione del kernel in moduli, in modo da potere predisporre pochi dischetti di installazione adatti a un gran numero di configurazioni hardware. Generalmente, tali dischetti di installazione sono in grado di gestire facilmente, senza utilizzare i moduli, una configurazione hardware tipica, in cui il disco fisso e il CD-ROM sono connessi all'unità di controllo ATA (IDE).

Quando si utilizzano unità SCSI o lettori CD-ROM su scheda proprietaria, ci possono essere delle difficoltà. Con GNU/Linux si gestiscono queste particolarità realizzando un kernel specifico, o abbinando a questo dei moduli. Spesso, quando si devono utilizzare dei moduli, occorre fornire loro dei parametri in modo che siano in grado di raggiungere il dispositivo fisico a cui si riferiscono.

13.7   Aggiornamento di un'installazione precedente

Le distribuzioni GNU/Linux che utilizzano un sistema di gestione dei pacchetti più o meno raffinato, consentono teoricamente di aggiornare un'installazione precedente. In molti casi questo costituisce un'insidia, perché alle volte l'aggiornamento fallisce e infine si resta con un sistema zoppicante oppure non funzionante del tutto.

Se si intende utilizzare veramente la possibilità di aggiornare un'installazione precedente, è indispensabile fare prima una copia di sicurezza, a meno di avere una fiducia illimitata nei confronti della distribuzione che si utilizza.

13.8   Caricamento del sistema operativo dopo l'installazione

Di solito, l'ultima cosa fondamentale da definire, prima di concludere definitivamente il procedimento di installazione, è il modo in cui si deve avviare il sistema operativo. Normalmente viene proposto di predisporre un dischetto di avvio di emergenza specifico per la propria installazione e anche di configurare e installare il sistema di avvio nel disco fisso, attraverso programmi come GRUB o LILO (quando si tratta di architettura i386).

La creazione di un dischetto di avvio di emergenza è molto importante e non dovrebbe essere saltata se questa è disponibile, specialmente le prime volte. Oltre a ciò, è bene tenere presente che la configurazione che si ottiene con GRUB o LILO, attraverso il programma di installazione, potrebbe essere piuttosto limitata, quindi il dischetto di avvio è sempre una buona cosa per cominciare bene.

Quando è il turno di configurare il sistema di avvio nel disco fisso, potrebbe essere presentata solo la scelta di installare il settore di avvio nell'MBR, cioè il primo settore del disco fisso, oppure nel primo settore della partizione principale in cui risiede GNU/Linux. Purtroppo ci sono situazioni in cui queste due possibilità sono troppo poche, per quello che si vuole fare, quindi conviene utilizzare il dischetto di avvio per poter avviare il sistema e configurare successivamente il sistema di avvio come si vuole.

Nella situazione più semplice, si lascia che il programma responsabile dell'installazione del sistema di avvio modifichi il primo settore del disco fisso (MBR), in modo da dare a questo il controllo dell'avvio di GNU/Linux e degli altri sistemi operativi eventuali. Se per qualche motivo ciò non può essere fatto, l'installazione alternativa nel primo settore della partizione contenente GNU/Linux richiede poi di affidare a un altro programma (un altro sistema di avvio) l'avvio di quel settore.

I programmi usati per installare e configurare un sistema di avvio, devono essere in grado di passare al kernel Linux alcuni parametri, di solito per consentire l'individuazione di dispositivi particolari o per richiedere una modalità di funzionamento speciale. Il programma di installazione del sistema di avvio potrebbe richiedere l'indicazione di questi parametri aggiuntivi, che però di solito non vanno specificati.

13.9   Strumenti e concetti generali

L'installazione di una distribuzione GNU/Linux può essere preceduta da una preparazione delle partizioni attraverso dischetti di emergenza dotati di una raccolta minima di programmi essenziali. La maggior parte delle distribuzioni GNU/Linux offre un dischetto di emergenza per questi scopi.

Le distribuzioni più comuni sono in grado di gestire tutto all'interno delle procedure di installazione, ma spesso, in questo modo, si ignora il senso di ciò che si fa. Prima di installare GNU/Linux la prima volta, occorrerebbe apprendere l'uso dei programmi per la creazione e la modifica delle partizioni; inoltre è opportuno conoscere il modo in cui queste possono essere inizializzate.

Se si cerca di avviare un sistema di emergenza, è molto probabile che il file-immagine del dischetto contenente il sistema minimo sia un file con un nome simile a resque, mentre il problema può rimanere per la scelta del dischetto di avvio che potrebbe dipendere dalle caratteristiche dell'hardware del proprio elaboratore. Per questo, di solito è sufficiente leggere i file di testo che accompagnano tali immagini (README, WHICH.ONE o simili).

Nel caso della distribuzione Slackware, la più comune per questo genere di cose, il dischetto di avvio per l'hardware generico è contenuto nel file-immagine bootdsks.144/bare.i, che contiene un kernel adatto ai dischi ATA (IDE); il dischetto del sistema di emergenza è invece rootdsks/rescue.gz.

Un sistema composto da dischetti di emergenza si avvia facendo in modo che l'elaboratore esegua il caricamento a partire dal dischetto di avvio, il quale carica il kernel. Appena il kernel prende il controllo, viene richiesto all'utente di sostituirlo con il dischetto contenente il file system principale. Il modo con cui ciò avviene può essere molto diverso. Si va da una richiesta come quella seguente, tipica dei dischetti di una distribuzione Slackware, dove basta cambiare dischetto e premere [Invio], a situazioni in cui la richiesta viene fatta in modo molto più appariscente, attraverso maschere a scomparsa e altri accorgimenti, come nel caso della distribuzione SuSE:

VFS: Insert root floppy disk to be loaded into ramdisk and press ENTER

Una volta avviato il sistema di emergenza, questo può richiedere o meno di identificarsi attraverso una procedura di accesso tradizionale (login). Se ciò avviene, si tratta solitamente di utilizzare il nominativo-utente root, al quale è probabile che non sia abbinata alcuna parola d'ordine.

Da questa situazione dovrebbe essere possibile utilizzare i programmi per la definizione delle partizioni e la loro inizializzazione.

Negli esempi delle sezioni successive, si fa riferimento a un disco fisso di dimensioni molto limitate, dove le partizioni che si creano sono anche troppo piccole, rispetto alle esigenze attuali di un sistema GNU/Linux standard. Tuttavia, il significato degli esempi rimane valido.

13.9.1   Preparazione manuale delle partizioni

I programmi per la definizione delle partizioni sono fondamentalmente due: fdisk e cfdisk. Il primo ha un'impostazione elementare, a riga di comando, mentre il secondo utilizza tutto lo schermo e mostra sempre la situazione che si sta componendo. Contrariamente a ciò che si potrebbe pensare, il primo è quello più adatto al principiante, perché non dà nulla per scontato, mentre il secondo presume che alcuni concetti sulle partizioni dei dischi siano chiari.

Qui viene mostrato l'uso del vecchio fdisk, (3) con un esempio completo. Anche se questo programma sta scomparendo dai dischetti di emergenza delle distribuzioni, resta quello più semplice da descrivere; inoltre l'apprendimento del suo utilizzo facilita la comprensione degli altri programmi alternativi.

fdisk [dispositivo]

fdisk riceve come argomento il nome del file di dispositivo che si riferisce all'intero disco fisso (o disco rimovibile) dal momento che agisce proprio sulle partizioni e non all'interno di queste ultime. Supponendo di lavorare sul primo disco fisso ATA (IDE), all'interno del quale è presente una partizione Dos-FAT ridotta per fare spazio a GNU/Linux, si deve avviare fdisk nel modo seguente:

fdisk /dev/hda[Invio]

fdisk risponde mostrando un invito particolare:

Command (m for help): 

fdisk accetta comandi composti da una sola lettera e per vederne un breve promemoria basta utilizzare il comando m.

Command (m for help): m[Invio]

Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatiblity flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   p   print the partition table
   q   quit without saving changes
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

La prima cosa da fare è accertarsi della situazione iniziale del proprio disco fisso; a questo proposito il comando p permette di visualizzare l'elenco delle partizioni esistenti:

Command (m for help): p[Invio]

Disk /dev/hda: 16 heads, 63 sectors, 1024 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot   Begin    Start      End   Blocks   Id  System
/dev/hda1   *        1        1       82    41296+   6  DOS 16-bit >=32M
/dev/hda2           83       83     1024   474768    6  DOS 16-bit >=32M

Per ottenere questa situazione, di due partizioni Dos, è stato utilizzato il programma FIPS.EXE: la prima delle due è la partizione Dos che resta, la seconda è vuota e viene sostituita. Si procede quindi a eliminare la seconda partizione.

Command (m for help): d[Invio]

Partition number (1-4): 2[Invio]

A questo punto resta una sola partizione.

Command (m for help): p[Invio]

Disk /dev/hda: 16 heads, 63 sectors, 1024 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot   Begin    Start      End   Blocks   Id  System
/dev/hda1   *        1        1       82    41296+   6  DOS 16-bit >=32M

Volendo inserire una partizione di scambio si utilizza il comando n con il quale se ne crea una nuova.

Command (m for help): n[Invio]

Command action
   e   extended
   p   primary partition (1-4)

In questo caso si seleziona un tipo di partizione primaria.

p[Invio]

Partition number (1-4): 

Trattandosi della seconda partizione, si inserisce il numero due.

Partition number (1-4): 2[Invio]

Viene richiesta quindi l'indicazione del primo cilindro a partire dal quale deve iniziare la nuova partizione. Vengono già proposti il valore minimo e quello massimo.

First cylinder (83-1024): 83[Invio]

Quindi viene richiesta l'indicazione dell'ultimo cilindro, o della dimensione minima della partizione. In questo caso si richiede una dimensione minima di 32 Mibyte.

Last cylinder or +size or +sizeM or +sizeK (83-1024): +32M[Invio]

Per visualizzare il risultato basta utilizzare il solito comando p.

Command (m for help): p[Invio]

Disk /dev/hda: 16 heads, 63 sectors, 1024 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot   Begin    Start      End   Blocks   Id  System
/dev/hda1   *        1        1       82    41296+   6  DOS 16-bit >=32M
/dev/hda2           83       83      148    33264   83  Linux native

Come si vede è stata aggiunta una partizione di tipo Linux-nativa di 33 264 blocchi da 1 024 byte. La partizione Linux-nativa è adatta ad accogliere un file system Second-extended (Ext2 o Ext3) e non lo scambio della memoria, quindi occorre cambiare il tipo di identificazione della partizione.

Command (m for help): t[Invio]

Partition number (1-4): 2[Invio]

Hex code (type L to list codes): 

Come suggerito, conviene visualizzare l'elenco dei codici.

Hex code (type L to list codes): L[Invio]

 0  Empty           1c  Hidden Win95 FA 70  DiskSecure Mult bb  Boot Wizard hid
 1  FAT12           1e  Hidden Win95 FA 75  PC/IX           be  Solaris boot   
 2  XENIX root      24  NEC DOS         80  Old Minix       c1  DRDOS/sec (FAT-
 3  XENIX usr       39  Plan 9          81  Minix / old Lin c4  DRDOS/sec (FAT-
 4  FAT16 <32M      3c  PartitionMagic  82  Linux swap      c6  DRDOS/sec (FAT-
 5  Extended        40  Venix 80286     83  Linux           c7  Syrinx         
 6  FAT16           41  PPC PReP Boot   84  OS/2 hidden C:  da  Non-FS data    
 7  HPFS/NTFS       42  SFS             85  Linux extended  db  CP/M / CTOS / .
 8  AIX             4d  QNX4.x          86  NTFS volume set de  Dell Utility   
 9  AIX bootable    4e  QNX4.x 2nd part 87  NTFS volume set df  BootIt         
 a  OS/2 Boot Manag 4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access     
 b  Win95 FAT32     50  OnTrack DM      93  Amoeba          e3  DOS R/O        
 c  Win95 FAT32 (LB 51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor      
 e  Win95 FAT16 (LB 52  CP/M            9f  BSD/OS          eb  BeOS fs        
 f  Win95 Ext'd (LB 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  EFI GPT        
10  OPUS            54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/
11  Hidden FAT12    55  EZ-Drive        a6  OpenBSD         f0  Linux/PA-RISC b
12  Compaq diagnost 56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor      
14  Hidden FAT16 <3 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor      
16  Hidden FAT16    61  SpeedStor       a9  NetBSD          f2  DOS secondary  
17  Hidden HPFS/NTF 63  GNU HURD or Sys ab  Darwin boot     fd  Linux raid auto
18  AST SmartSleep  64  Novell Netware  b7  BSDI fs         fe  LANstep        
1b  Hidden Win95 FA 65  Novell Netware  b8  BSDI swap       ff  BBT            

Il codice di una partizione di scambio è 8216 e così viene indicato.

Hex code (type L to list codes): 82[Invio]

Changed system type of partition 2 to 82 (Linux swap)

Command (m for help): p[Invio]

Disk /dev/hda: 16 heads, 63 sectors, 1024 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot   Begin    Start      End   Blocks   Id  System
/dev/hda1   *        1        1       82    41296+   6  DOS 16-bit >=32M
/dev/hda2           83       83      148    33264   82  Linux swap

Volendo creare una nuova partizione, si procede in modo simile a quanto già visto.

Command (m for help): n[Invio]

Command action
   e   extended
   p   primary partition (1-4)

Anche in questo caso si preferisce un tipo di partizione primaria.

p[Invio]

Trattandosi della terza partizione, si inserisce il numero tre.

Partition number (1-4): 3[Invio]

Viene richiesta quindi l'indicazione del primo cilindro a partire dal quale deve iniziare la nuova partizione. Viene già proposto l'intervallo di valori possibili.

First cylinder (149-1024): 149[Invio]

Quindi viene richiesta l'indicazione dell'ultimo cilindro, o della dimensione minima della partizione. In questo caso si richiede la dimensione massima indicando il numero dell'ultimo cilindro.

Last cylinder or +size or +sizeM or +sizeK (149-1024): 1024[Invio]

Per visualizzare il risultato basta utilizzare il solito comando p.

Command (m for help): p[Invio]

Disk /dev/hda: 16 heads, 63 sectors, 1024 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot   Begin    Start      End   Blocks   Id  System
/dev/hda1   *        1        1       82    41296+   6  DOS 16-bit >=32M
/dev/hda2           83       83      148    33264   82  Linux swap
/dev/hda3          149      149     1024   441504   83  Linux native

Per registrare definitivamente le variazioni apportate si utilizza il comando w. Se invece si preferisce rinunciare, basta utilizzare il comando q che si limita a concludere l'esecuzione del programma annullando le operazioni svolte.

Command (m for help): w[Invio]

The partition table has been altered!
...
Syncing disks.
...

In una situazione reale è molto probabile che si vogliano utilizzare più partizioni per GNU/Linux. In questo senso potrebbe essere necessario l'utilizzo di partizioni estese, all'interno delle quali collocare varie partizioni logiche. Supponendo di volere gestire la partizione /dev/hda3 come estesa e di volervi collocare al suo interno due partizioni logiche per qualche scopo, si potrebbe agire nel modo che viene illustrato di seguito.

Command (m for help): n[Invio]

Command action
   e   extended
   p   primary partition (1-4)

In questo caso si tratta di una partizione estesa da suddividere e il procedimento è identico a quello per la creazione di una partizione primaria.

e[Invio]

Partition number (1-4): 3[Invio]

First cylinder (149-1024): 149[Invio]

Last cylinder or +size or +sizeM or +sizeK (149-1024): 1024[Invio]

Command (m for help): p[Invio]

Disk /dev/hda: 16 heads, 63 sectors, 1024 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot   Begin    Start      End   Blocks   Id  System
/dev/hda1   *        1        1       82    41296+   6  DOS 16-bit >=32M
/dev/hda2           83       83      148    33264   82  Linux swap
/dev/hda3          149      149     1024   441504    5  Extended

Quindi, si deve scomporre la partizione estesa. Si suppone di volere creare due partizioni logiche; una di circa 10 Mibyte e l'altra dello spazio rimanente.

Command (m for help): n[Invio]

Command action
   l   logical (5 or over)
   p   primary partition (1-4)

Si deve scegliere la lettera «l», per richiedere la creazione di una partizione logica.

l[Invio]

A differenza di quanto visto per le partizioni primarie, non viene più chiesto il numero della partizione.

First cylinder (149-1024): 149[Invio]

Last cylinder or +size or +sizeM or +sizeK (149-1024): 169[Invio]

Command (m for help): n[Invio]

Command action
   l   logical (5 or over)
   p   primary partition (1-4)

l[Invio]

First cylinder (170-1024): 170[Invio]

Last cylinder or +size or +sizeM or +sizeK (170-1024): 1024[Invio]

Command (m for help): p[Invio]

Disk /dev/hda: 16 heads, 63 sectors, 1024 cylinders
Units = cylinders of 1008 * 512 bytes

   Device Boot   Begin    Start      End   Blocks   Id  System
/dev/hda1   *        1        1       82    41296+   6  DOS 16-bit >=32M
/dev/hda2           83       83      148    33264   82  Linux swap
/dev/hda3          149      149     1024   441504    5  Extended
/dev/hda5          149      149      169    10552   83  Linux native
/dev/hda6          170      170     1024   430888   83  Linux native

13.9.2   Utilizzo di «cfdisk»

Dopo aver descritto il funzionamento di fdisk in modo abbastanza dettagliato, si può vedere rapidamente anche come funziona cfdisk. (4) La figura 13.23 mostra come si presenta all'avvio, partendo dalla stessa situazione iniziale vista nella presentazione di fdisk. Si osservi il fatto che inizialmente è evidenziato il pulsante grafico <Bootable> e anche la prima voce nell'elenco delle partizioni.

Figura 13.23. L'aspetto di cfdisk all'avvio.

                                cfdisk 0.8l

                            Disk Drive: /dev/hda
            Heads: 16   Sectors per Track: 63   Cylinders: 1024

    Name        Flags     Part Type  FS Type          [Label]      Size (MB)
 ----------------------------------------------------------------------------
**  hda1        Boot       Primary   DOS FAT16 (big)  [           ]    40.33 **
    hda2                   Primary   DOS FAT16 (big)  [           ]   463.64












     >Bootable<  [ Delete ]  [  Help  ]  [Maximize]  [ Print  ]
     [  Quit  ]  [  Type  ]  [ Units  ]  [ Write  ]

                 Toggle bootable flag of the current partition

La selezione dei pulsanti grafici può essere fatta spostando il cursore relativo con i tasti freccia e premendo [Invio] quando è evidenziato quello desiderato. In alternativa, si può premere direttamente la lettera iniziale del nome di questi pulsanti. Alcune funzionalità abbinate ai pulsanti grafici, dipendono dalla voce evidenziata nell'elenco delle partizioni; in pratica, prima si posiziona la barra di selezione sulla voce desiderata e quindi si seleziona il pulsante grafico di una funzione che gli si vuole applicare. Questo ragionamento vale anche per la creazione di una partizione nuova, dal momento che si deve spostare la barra di selezione al di sotto dell'ultima voce esistente.

Si procede cancellando la seconda partizione, creando successivamente la partizione di scambio per la memoria virtuale e la partizione per il file system di GNU/Linux:

  1. ci si posiziona sulla voce hda2 e si selezione il pulsante grafico <Delete> per cancellare la partizione relativa;

  2. si lascia la barra di selezione sullo spazio vuoto e si seleziona il pulsante grafico <Primary>, che nel frattempo è apparso (come si vede nella figura 13.24);

  3. viene richiesto l'inserimento della dimensione espressa in mebibyte (simbolo: «Mibyte») e si indica il valore 32, seguito da [Invio];

  4. si cambia il tipo della partizione, selezionando il pulsante grafico <Type> e inserendo successivamente il valore 8216 (seguito da [Invio]);

  5. si porta la barra di selezione sullo spazio vuoto sottostante e si seleziona il pulsante grafico <Primary>, allo scopo di creare un'altra partizione per lo spazio rimanente (basta confermare il valore proposto dal programma).

Figura 13.24. L'aspetto di cfdisk quando è disponibile dello spazio libero nel disco.

                                cfdisk 0.8l

                            Disk Drive: /dev/hda
            Heads: 16   Sectors per Track: 63   Cylinders: 1024

    Name        Flags     Part Type  FS Type          [Label]      Size (MB)
 ----------------------------------------------------------------------------
    hda1        Boot       Primary   DOS FAT16 (big)  [           ]    40.33
**  hda2                   Pri/Log   Free Space                       463.64 **












     >Primary<  [Logical]  [Cancel ]


                         Create a new primary partition

Figura 13.25. L'aspetto di cfdisk alla fine.

                                cfdisk 0.8l

                            Disk Drive: /dev/hda
            Heads: 16   Sectors per Track: 63   Cylinders: 1024

    Name        Flags     Part Type  FS Type          [Label]      Size (MB)
 ----------------------------------------------------------------------------
    hda1        Boot       Primary   DOS FAT16 (big)  [           ]    40.33
    hda2                   Primary   Linux Swap                        32.48
**  hda3                   Primary   Linux ext2                       431.15 **











     >Bootable<  [ Delete ]  [  Help  ]  [Maximize]  [ Print  ]
     [  Quit  ]  [  Type  ]  [ Units  ]  [ Write  ]

                 Toggle bootable flag of the current partition

Il caso della creazione di una partizione estesa contenente delle partizioni logiche non viene mostrato. Tuttavia, si tenga presente che non è possibile definire esplicitamente una partizione estesa; si deve richiedere direttamente la creazione di partizioni logiche, per le quali viene predisposta automaticamente la partizione estesa necessaria a contenerle, che tra le altre cose non si vede dall'elenco delle partizioni.

13.9.3   Inizializzazione manuale delle partizioni e attivazione della memoria virtuale

In generale, la procedura che si occupa di installare la distribuzione GNU/Linux, una volta definite le partizioni, si occupa anche di inizializzarle e di attivare la memoria virtuale. In alcuni casi potrebbe essere conveniente fare tutto questo a mano. Seguendo l'esempio già visto, in cui è stata creata una partizione corrispondente al file di dispositivo /dev/hda2 per lo scambio della memoria virtuale e un'altra partizione corrispondente al dispositivo /dev/hda3 per l'installazione completa del sistema, si può procedere come viene mostrato di seguito.

Di solito conviene cominciare con le partizioni di scambio; per la loro inizializzazione si utilizza mkswap. (5) Per garantire che l'operazione avvenga in modo corretto, è utile aggiungere l'indicazione della dimensione in blocchi della partizione; seguendo l'esempio a cui si fa riferimento, si tratta di 33 264 blocchi da 1 024 byte:

mkswap -c /dev/hda2 33264[Invio]

Se necessario (di solito quando si ha a disposizione poca memoria RAM), è possibile attivare subito la memoria virtuale, ovvero l'utilizzo di questa partizione di scambio appena creata, senza attendere che lo faccia la procedura di installazione. Ciò si ottiene attraverso il programma swapon.

swapon /dev/hda2[Invio]

Dopo le partizioni di scambio, si può passare a quelle utilizzate per la realizzazione del file system, cioè quelle utilizzate per installarvi al loro interno il sistema operativo. Le partizioni di tipo Linux-nativa devono essere inizializzate attraverso il programma mke2fs (6) (oppure mkfs.ext3). L'ultimo numero indicato nella riga di comando rappresenta la dimensione in blocchi da 1 024 byte. Come nel caso delle partizioni di scambio, conviene fornire questa indicazione.

mke2fs -j -c /dev/hda3 441504[Invio]

L'inizializzazione di una partizione deve riguardare solo le partizioni primarie o quelle logiche. Non è possibile inizializzare una partizione estesa, con l'intenzione di inizializzare simultaneamente tutte le partizioni logiche.

Al termine, la partizione contiene un file system Second-extended, in questo caso precisamente Ext3.

13.10   Riferimenti

Appunti di informatica libera 2006.01.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>, <daniele·giacomini (ad) poste·it>


1) Fips   GNU GPL

2) Presizer   software gratuito ma non libero

3) util-linux: fdisk   GNU GPL

4) util-linux: cfdisk   GNU GPL

5) util-linux: disk-utils   GNU GPL

6) e2fsprogs   GNU GPL


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome installare_gnu_linux.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [violazione licenza] [translators] [docinfo] [indice analitico]

Valid ISO-HTML!

CSS validator!

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com