Documentazione Arch Linux

Copyright © 2002-2004 Judd Vinet  <jvinet@zeroflux.org>

Apr 14 13:54:34 2004

Sommario:

Questa è la documentazione utente generale della distribuzione Arch Linux, nella versione 0.6 (Widget). E' basata in larga parte sulla documentazione originale creata da Judd Vinet, con alcune modifiche da Dennes Herbrich. La traduzione italiana è realizzata da Fabrizio Balliano <fabrizio.balliano@crealabs.it> e Andrea Giardina <andrea.giardina@crealabs.it>


Contenuti

1 Introduzione

1.1 Cos'è Arch Linux?

Arch Linux è una distribuzione linux ottimizzata per i686, originariamente basata sulle idee di CRUX, un'ottima distribuzione sviluppata da Per Lidén.

Arch è veloce, leggera, flessibile e semplice. Queste non sono frasi fatte, ma la pura verità. Arch è ottimizzata per processori i686, così potrai ottenere di più dal tuo processore. E' leggera, se comparata con distribuzioni come Red Hat, ed ha un design semplicemente estendibile e modellabile, per qualsiasi tipo di sistema tu stia realizzando.

Questo è permesso da un sistema di pacchetti binari semplice da utilizzare che permette di aggiornare l'intero sistema con un comando. Arch utilizza anche un sistema di compilazione pacchetti (Arch Build System) simile ai ports, che rende semplice creare nuovi pacchetti, sincronizzabili con un comando. Potrai anche ricompilare l'intero sistema con un comando. Tutto viene eseguito semplicemente e trasparentemente.

Arch Linux cerca di mantenere sempre l'ultima versione stabile di tutto il software. Attualmente supportiamo un set di pacchetti core abbastanza esiguo con un numero sempre crescente di pacchetti extra fatti dagli utenti e dagli sviluppatori di AL.

Tra i suoi obiettivi c'è la semplicità e la leggerezza, sono state eliminate alcune porzioni di sistema relativamente inutili come /usr/doc e le pagine info. Per esperienza personale sono cose poco usate e informazioni equivalenti possono essere ottenute sulla rete.

Arch Linux cerca anche di utilizzare alcune delle più moderne tecnologie disponibili per gli utenti Linux, come ext3/reiserfs e devfs. Arch Linux 0.6 (Widget) utilizza il kernel 2.6 come scelta predefinita e supporta nativamente XFS/JFS. Presto passeremo ad utilizzare udev come rimpiazzo di devfs.

1.2 Licenza

Arch Linux, pacman, documentazione e script sono sotto copyright ©2002-2004 by Judd Vinet e sono rilasciati sotto livenza GNU Public License.

1.3 Crediti e feedback

Questo documento è fortemente basato sul lavoro di Judd Vinet <judd@archlinux.org>. Correzioni minori ed aggiunte sono state eseguite da Dennis Herbrich <dennis@archlinux.org>. La traduzione italiana è stata realizzata da Fabrizio Balliano <fabrizio.balliano@crealabs.it> ed Andrea Giardina <andrea.giardina@crealabs.it>. Puoi inviare correzioni e feedback attraverso il bugtracker all'indirizzo http://bugs.archlinux.org/. Un grande numero di persone hanno contribuito ed ancora contribuiranno all'evoluzione della documentazione ufficiale di Arch Linux inviando correzioni e suggerendo meglioramenti, purtroppo è impossibile elencarli tutti. Comunque, tu sai che sei, e senza il tuo aiuto sarebbe impossibile continuare a mantenere e migliorare Arch Linux.

1.4 Storico dei cambiamenti

2004-04-14

2 Installare Arch Linux

2.1 Pre-Installazione

Arch Linux è ottimizzata per processori i686 e non funziona con processori x86 più bassi (i386,i486,i586). E' richiesto un processore pentium II o superiore.

NOTA: Abbiamo il set di pacchetti per i586 compilato ma non è attualmente mantenuto. Volontari?

Prima di installare Arch Linux dovresti decidere quale metodo di installazione vuoi usare. Arch Linux fornisce un'immagine .iso avviabile per l'installazione da CD-ROM e le immagini su floppy disk per l'installazione via FTP. Puoi anche scaricare una ISO "base" di soli 170MB, identica a quella completa ma contenente solo il set di pacchetti "base" e "kernels".

Se sul tuo computer non hai un lettore cd puoi comunque usare la variante con i floppy e l'installazione via FTP. Altrimenti procurati un cd di installazione di Arch scaricandolo da uno dei nostri mirror, riportati qui sotto, e masterizandolo oppure chiedendolo in prestito a qualcuno se la tua connessione dialup è troppo lenta o se non possiedi un masterizzatore. Puoi anche acquistare un CD Arch da uno dei rivenditori che trovi menzionati sul sito di Arch Linux

Puoi anche eseguire un'installazione via FTP con il CD, la variante con il floppy è consigliata solo come ultima risorsa dato che i floppy sono terribilmente lenti e sono più spesso rotti che sani.

Non dovresti inoltre preoccuparti di usare per l'installazione una vecchia ISO dato che una volta che hai il sistema di base funzionante aggiornarlo alla branca corrente è una sciocchezza (per lo meno se hai una connessione ad Internet veloce).

Essendo così poco usata NON è stata implementata la possibilità di connettersi ad Internet durante la fase di installazione attraverso una connessione PPP diretta, infatti sarebbero necessari il demone pppd e le utilities ISDN che non sono stati inclusi nel disco di installazione. Per far funzionare l'installazione via FTP devi avere nella tua LAN un gateway connesso ad Internet. Alternativamente puoi certamente settare un server FTP nella tua LAN dal quale installare la tua Arch. Il punto è che non puoi attaccare un modem al tuo PC e impostare una connessione con il tuo provider, non funzionerebbe.

Il metodo più semplice per installare Arch Linux è sicuramente quello di installare il sistema di base e tutto quello di cui necessiti per connetterti ad Internet dal CD e a quel punto eseguire un aggiornamento completo del sistema e installare i tutti i rimanenti pacchetti.

ATTENZIONE!
Un'altra cosa che devi sapere prima di provare ad installare Arch Linux è che durante l'installazione ti verranno chieste alcune cose riguardanti l'harddisk da preparare, quali moduli installare e quali cambiamenti fare a certi file di sistema fondamentali quali lilo.conf e rc.conf. L'installatore non ti condurrà per mano attraverso qualsiasi potenziale setup conosciuto o sconosciuto al genere umano, ci si aspetta che tu sappia cosa mettere e cosa non mettere. Questa può essere una discreta richiesta per chi è nuovo a Linux, se tutto ciò ti spaventa assicurati di leggere completamente questo documento per avere almeno una vaga idea di cosa ti verrà chiesto; se qualcosa non ti è chiaro prima di compromettere completamente la tua macchina cerca informazioni su irc o nei forum o chiedi a qualche vicino di casa esperto di linux. Puoi certamente pasticciare e provare sino a quando non funziona ma dopo non dirmi che non ti avevo avvertito. Quello che va detto però è che non è così difficile come sembra ;)

2.1.1 Di cosa hai bisogno

2.1.2 Procurarsi Arch Linux

Puoi scaricare Arch Linux da uno dei mirror elencati nella Download page. Se stai scaricando le immagini su floppy disk per una installazione via FTP assicurati di selezionare un mirror che li fornisca così come se vuoi effettuare un'installazione da CD assicurati di selezionare un mirror che fornisca le ISO.

I mirror vengono elencati qui sotto per referenza (nota che questo elenco potrebbe non essere aggiornato, per un elenco aggiornato fate riferimento alla Download page sul sito).

DOWNLOAD MIRRORS
http://prdownloads.sourceforge.net/archlinux/ ISO
ftp://ftp.nethat.com/pub/linux/archlinux ISO/Pacchetti
ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/ ISO/Pacchetti
ftp://ftp.oit.unc.edu/pub/Linux/distributions/archlinux ISO/Pacchetti
ftp://ftp.kegep.tuc.gr/archlinux ISO/Pacchetti
ftp://ftp.fsn.hu/pub/CDROM-Images/archlinux ISO
http://darkstar.ist.utl.pt/archlinux ISO/Pacchetti
ftp://ftp.parrswood.net/Mirrors/ftp.archlinux.org ISO/Pacchetti
ftp://ftp.archlinux.de/pub/archlinux/ ISO/Pacchetti
ftp://ftp.mpi-sb.mpg.de/pub/linux/mirror/ftp.ibiblio.org/pub/Linux/distributions/archlinux ISO/Pacchetti
ftp://ftp.rez-gif.supelec.fr/pub/Linux/distrib/archlinux ISO/Pacchetti
ftp://saule.mintis.lt/pub/linux ISO/Pacchetti
ftp://ftp.du.se/pub/mirrors/sourceforge/archlinux/ ISO
ftp://ftp.tu-chemnitz.de/pub/linux/sunsite.unc-mirror/distributions/archlinux ISO/Pacchetti

2.1.3 Scaricare il media di installazione

2.1.3.1 Installazione via FTP

  1. Scarica images/boot.img (il percorso è relativo alla root del mirror)
  2. Scarica images/root.img
  3. Scarica le altre immagini di cui hai bisogno:

    ether_pcmcia.imgUtilità e moduli PCMCIA ed Ethernet
    fs.imgUtilità per i filesystem XFS/JFS
    keymaps.imgMappe di tasti extra
    raid_lvm.imgUtilità e moduli RAID/LVM2
    scsi.imgmoduli SCSI

  4. Trova alcuni floppy vuoti e scrivici sopra le immagini:

    (inserisci il primo disco)
    # dd if=boot.img of=/dev/fd0
    (inserisci il secondo disco)
    # dd if=root.img of=/dev/fd0
    
    ripeti per ogni altra immagine questa stessa operazione, per esempio:
    # dd if=scsi.img of=/dev/fd0

    (Nota: se hai bisogno di scrivere queste immagini da una macchina windows, puoi scaricare ed usare rawrite.exe )

  5. Se vuoi fare l'installazione via FTP annota tutta la tua configurazione di rete dato che ti verrà chiesta durante il setup:

2.1.3.2 Installazione da CD

  1. Scarica 0.6/iso/i686/arch-0.6.iso (il percorso è relativo alla root del mirror)
  2. Scarica 0.6/iso/i686/arch-0.6.md5sum
  3. Verifica l'integrità delle immagini .iso usando md5sum:

    # md5sum --check arch-0.6.md5sum
    arch-0.6.iso: OK

  4. Masterizza le immagini .iso un un CD-R vergine (questa procedura varia a seconda del sistema operativo e del software che stai utilizzando)

2.2 Installazione da CD

Se non stai usando un CD-ROM come sistema di installazione salta questa sezione e vai direttamente alle istruzioni per l'installazione via FTP. Questo vale anche nel caso che tu stia usando il CD per iniziare il processo di installazione ma voglia scaricare i pacchetti via FTP.

  1. Riavvia il tuo computer con il CD nel lettore. Assicurati che il BIOS del tuo pc sia configurato in modo da permettere il boot da CDROM. Se non hai chiaro come farlo fai riferimento al manuale della tua scheda madre. Dopo aver avviato il pc dal CD vedrai un prompt di boot. Se stai installando un sistema IDE premi semplicemente Enter. Se stai installando un sistema SCSI digita ''arch-scsi'' per abilitare un kernel predisposto per lo SCSI. Puoi anche digitare qui tutti i parametri del kernel di cui pensi di aver bisogno.

    Dopo il boot del kernel dovresti avere a disposizione una shell di root.

    Se ti viene richiesto qualche particolare modulo o driver guarda in /lib/modules e caricalo con il comando modprobe.

  2. Usando la shell gli utenti esperti sono anche in grado di predisporre l'hard disk o qualsiasi periferica di cui si necessita prima di iniziare l'installazione vera e propria. Se non vedi necessità di un immediato intervento manuale puoi semplicemente saltare questo passaggio. Nota che il media di installazione di Arch Linux contiene anche uno script quickinst per gli utenti esperti. Questo script installa il set di pacchetti "base" in una directory specificata dall'utente, se stai facendo un'installazione "particolare" con cose divertenti tipo RAID e LVM probabilmente ti interesserà usarlo.

  3. Adesso puoi eseguire /arch/setup per invocare il programma di installazione. Dopo alcuni messaggi di informazione ed aver scelto "CD-ROM" come media di installazione ti verrà presentato un menu di installazione. Naviga attraverso queste opzioni un passo per volta per completare una normale installazione da CD. Se vuoi vedere l'output dei comandi che il setup sta lanciando puoi spostarti sulla quinta console virtuale (ALT-F5). Usa ALT-F1 per tornare indietro alla prima console dove vi è il programma di installazione e qualsiasi F-key se per qualche motivo hai bisogno di aprire un'altra console e intervenire manualmente.

  4. Prepare Hard Drive ti conduce in un sottomenu. La prima scelta è Auto-Prepare che automaticamente partizionerà il tuo hard disk in una partizione di boot, una di swap ed una di root e creerà il filesystem in tutte e tre. Queste partizioni saranno anche automaticamente montate nel posto giusto. Per essere esatti questa opzione creerà una partizione /boot ext2 da 32 Mb nei primi settori, una partizione di swap da 256 MB e il resto per la partizione di root in ext3. Queste dimensioni possono variare leggermente a causa delle differenti geometrie degli hard disk. Puoi scegliere questa opzione se non conosci molto riguardo il partizionamento degli hard disk, ma attenzione: QUESTO CANCELLERA' TUTTI I DATI PRESENTI SUL TUO HARD DISK! Leggi gli avvisi presentati dal programma di installazione molto attentamente, ed assicurati che il device che sta per essere partizionato sia quello giusto! Un modo per verificarlo può essere quello di aprire un altro terminare (ALT-F2, Enter) e digitare cfdisk <nome del device > per visualizzare la tabella delle partizioni correnti per device selezionato che dovrebbe essere sufficiente per identificare il giusto hard disk. Premi "Q" per uscire. Se non viene visualizzato il nome di alcun device (''[nothing] will be COMPLETELY ERASED! ...'') e il programma di installazione mostra l'errore ''Device not valid' digitando "YES" assicurati di aver caricato tutti i moduli necessari (es SCSI, RAID, ecc...) per il device. Puoi fermarti, caricare i moduli necessari cambiando terminale ed inserendo qui i comandi quindi ritornare al processo di installazione sul primo terminale.

    Se scegli il partizionamento manuale usa le altre due opzioni, Partition Hard Drives e Set Filesystem Mountpoints per preparare il media sul quale andrai ad eseguire l'installazione. Altrimenti ritorna al menu principale dopo auto-preparation.  

  5. Partition Hard Drives dovrebbe essere saltato se hai già scelto Auto-Prepare. Altrimenti devi selezionare il/i disco/i che vuoi partizionare per venir catapultato nel programma cfdisk dove puoi liberamente modificare le partizioni sino a quando non fai [Write] e [Quit].

  6. Set Filesystem Mountpoints è il prossimo passaggio da seguire se non vuoi fare l'auto-prepare del tuo hard disk. La prima domanda a cui rispondere è quale partizione usare come swap. Selezionare la partizione appropriata, il prossimo passaggio è selezionare la partizione che si vuole usare come root. Se selezioni "yes" alla domanda sul filesystem ti viene chiesto ora quale filesystem creare nella tua partizione di root. Dopo la partizione di root potresti voler montare qualche altra partizione, seleziona la partizione, un filesystem (se scegli di crearne uno) e un punto di mount. Ripeti l'operazione sino a quando non hai fatto tutto, quindi seleziona DONE per creare i filesystem e montare le partizioni nel loro rispettivo posto. Per ogni partizione che hai scelto di montare ti verrà chiesto se creare un filesystem o meno, e quale filesytem usare. Se scegli di non creare il filesystem la partizione non verrà toccata dal programma di installazione. Creando un filesystem cancelli effettivamente qualsiasi dato presente sulla partizione. quindi attenzione a questo passaggio! Se non sei sicuro riguardo al filesystem da usare posso dirti che normalmente ext3 è una buona scelta. Quando hai finito lascia questo menu e procedi con il prossimo passaggio.

  7. Select Packages ti permetterà di selezionare tutti i pacchetti che vuoi installare dal CD. Prima di farlo tuttavia hai bisogno di dire al programma di installazione se deve montare il cd da solo o se l'hai già montato in /src. Seleziona l'opzione giusta in base a quello che hai fatto. Normalmente l'opzione giusta dovrebbe essere "CD"; selezionando questa opzione ti verrà chiesto di scegliere qual è il lettore CDROM che contiene il cd di installazione. Una volta che il cd è stato trovato verrai catapultato nella schermata per la selezione delle categorie di pacchetti. "BASE" dovrebbe essere sempre selezionata così come qualsiasi categoria che contenga un pacchetto di cui hai bisogno. Nota che la prossima schermata per la selezione individuale dei pacchetti mostrerà solo i pacchetti presenti nelle categorie che hai scelto qui, così se hai selezionato solo BASE non sarai in grado di selezionare nessun altro pacchetto che non sia nella categoria BASE. Se vuoi visualizzare tutti i pacchetti disponibili scegli qui tutte le categorie. La prossima domanda può essere facilmente fraintesa; ti verrà chiesto se di base vuoi selezionare tutti i pacchetti nelle categorie che hai scelto o meno. Se scegli "YES" l'intera lista dei pacchetti sarà selezionata e il tuo lavoro sarà di deselezionare cosa NON vuoi. Se scegli "NO" nulla sarà selezionato a parte i pacchetti della categoria BASE e dovrai selezionare esplicitamente qualsiasi pacchetto tu voglia installare. Scegliere "NO" è normalmente una buona opzione anche per gli utenti inesperti. La soluzione migliore è installare qui tutti i pacchetti della categoria "BASE" e nessun altro. Non ti preoccupare a proposito di tutti gli altri pacchetti che vuoi, li puoi facilmente installare una volta che il sistema base è funzionante e avviabile. L'unica eccezione a questa regola è di installare tutti i pacchetti necessari per connettersi ad Internet. Questi pacchetti normalmente sono:

    dhcpcd (base) nel caso la tua macchina sia un client DHCP.
    isdn4k-utils (network) se utilizzi una connessione ISDN.
    ppp (daemons) per una connessione dialup con modem.
    rp-pppoe (network) per una connessione dialup DSL.

    Aggiungi questi pacchetti subito se lo desideri, oppure più tardi dal cd una volta che il sistema sarà avviato, ti consiglo di selezionarli subito.
    Terminate queste operazioni lascia la schermata di selezione e continua al passo successivo. 

  8. Install Packages installerà pacman e tutti gli altri pacchetti selezionati risolvendo automaticamente le dipendenze. Se hai saltato il primo passo (preparazione del tuo disco rigido) ti verrà chiesto dove montare la tua nuova root. Questo dovrebbe capitare solo a chi ha partizionato e creato i filesystem manualmente. Come default, l'installatore monterà la root in /mnt. Troverai tutti gli eventuali errori sul terminale numero cinque. Dopo aver installato i pacchetti, prosegui al prossimo passo: installazione del kernel.

  9. Install Kernel ti chiederà quale immagine di kernel installare sul tuo disco rigido. Le scelte possibili sono:

     
    2.6 IDE Installa il kernel 2.6.x con solamente il supporto IDE.
    2.6 SCSI Installa il kernel 2.6.x con i supporti IDE e SCSI. Scegli questo se hai almeno un drive SCSI.
    2.4 IDE Installa il kernel 2.4.x con solamente il supporto IDE.
    2.4 SCSI Installa il kernel 2.4.x con i supporti IDE e SCSI. Scegli questo se hai almeno un drive SCSI.
    2.6 SRC Estrae i sorgenti del kernel 2.6.x in una directory di lavoro e prepara tutto per permetterti di configurare e compilare il tuo kernel personalizzato subito. Quest'operazione è raccomandata solo per chi ha configurazioni particolari o chi sa cosa fare. Dovrai conoscere come compilare il tuo kernel, altrimenti non utilizzare questa scelta.
    2.4 SRC Esattamente come l'opzione 2.6 SRC option, ma con i sorgenti del kernel 2.4.x.
    NONE Non installare un kernel ora. Ti consiglio di non scegliere quest'opzione.

  10. Configure System Fai riferimento alla sezione 3.1 per una spiegazione sui file di configurazione. Probabilmente avrai bisogno di verificare almeno lilo.con (se usi LILO) o menu.lst (se usi GRUB).

  11. Install Bootloader installerà il bootloader sul tuo disco, GRUB (default) oppure LILO, a seconda della tua scelta. Assicurati di aver verificato il file di configurazione appropriato prima di procedere. Se sceglierai LILO, il bootloader sarà automaticamente installato secondo le impostazioni in lilo.conf, mentre GRUB demanda a te la scelta della partizione di destinazione per l'installazione. Qui dovresti scegliere cosa hai inserito nell'opzione ''boot'' di LILO, che usualmente è denominata ''[...]/disc'', dato che si riferisce al master boot record del disco scelto. Gli eventuali messaggi di errore saranno stampati sul terminale virtuale cinque.

  12. Fatto! Esci dal programma di installazioni, rimuoni il CD dal drive e digita reboot da linea di comando.

  13. Se tutto va come dovrebbe, vorrai impostare una password per l'utente root ed aggiungere un utente ''normale'' al sistema. Vai alla sezione 3.3 per i dettagli. Dopo di ciò probabilmente vorrai impostare la tua connessione ad internet, per questo leggi la sezione 3.4.

Installazione da FTP

  1. Riavvia il tuo sistema con il disco boot nel tuo lettore floppy. Dopo qualche secondo, dovresti vedere il prompt di boot di LILO. Premi invio per continuare il processo di avvio, dopo aver aggiunto qualsiasi parametro del kernel richiesto dal tuo sistema.

    Nota: Se stai utilizzando una tastiera USB, avrai bisogno di caricare automaticamente il supporto USB all'avvio. Puoi farlo impostando il valore del parametro NEEDUSB al tuo tipo di bus USB. Ad esempio, se possiedi un bus UHCI, dovrai digitare arch NEEDUSB=uhci al prompt di avvio. Dopo il caricamento del disco boot, ti verrà chiesto l'inserimento del disco di aggiunta USB, che sarà automaticamente esaminato dopo dieci secondi di pausa. Se non conosci il tuo tipo di bus USB, prova ad utilizzare NEEDUSB=auto, che caricherà tutti e tre i moduli (UHCI,OHCI,EHCI).

    Al termine di questo processo ti verra chiesto:

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

    Inserisci il disco root e premi invio. Dopo alcuni secondi avrai a disposizione la shell. Siccome avrai bisogno del modulo ethernet, dovresti caricarlo ora dal disco ether_pcmcia. Inserisci il suddetto disco e digita:

    # loaddisk /dev/floppy/0

    Dopo un momento tutti i moduli ethernet saranno estratti nel tuo filesystem. Se la directory /lib/modules/ è ancora vuota dopo questo comando, probabilmente il tuo disco era fallato. Creane uno nuovo e prova ancora. Non devi riavviare in questo caso, semplicemente rilancia il comando loaddisk.

    Dovresti anche caricare tutti i dischetti aggiuntivi di cui hai bisogno, come SCSI o RAID/LVM. Utilizza loaddisk per ognuno di essi.

    Alternativamente ai dischetti, puoi utilizzare un CD come illustrato in sezione 2.2, e tornare qui quando sarai pronto per il processo di installazione.

  2. Se conosci quale modulo caricare per la tua scheda di rete, allora dovresti caricarlo ora con il comando modprobe. Se invece non lo conosci procedi al passo successivo, l'installatore caricherà automaticamente il modulo corretto.

  3. Ora puoi lanciare /arch/setup per invocare il programma di installazione. Dopo alcuni messaggi informativi scegli ''FTP'' come sorgente d'installazione, ti verrà presentato un menù. Naviga attraverso le opzioni e procedi all'installazione. In ogni momento potrai verificare come procede l'esecuzione spostandoti sulla console virtuale numero cinque (ALT-F5). Utilizza (ALT-F1) per tornare all'installatore, ed un qualsiasi tasto funzione se necessiti di un'altra console per intervenire manualmente.

  4. Configure Network ti permetterà di configurare i tuoi dispositivi di rete manualmente o via dhcp. Non nessun dispositivo eth0 è diponibile, ti verrà chiesto se vuoi che l'installatore provi a riconoscere i moduli necessari. Scegli NO se vuoi caricari i moduli manualmente, altrimenti YES. Se l'installatore fallisce il caricamento, assicurati di aver eseguito il comando loaddisk correttamente. Se ancora la tua scheda non viene riconosciuta, assicurati che sia installata correttamente e supportata dal kernel Linux. Quando il modulo corretto è caricato, optrai configurare la tua rete via DHCP. Se sei connesso ad un server DHCP premi YES e lascia che il programma faccia il resto. Se selezionerai NO ti verrà chiesto di inserire i dati per la connessione manualmente; dati che ti sarai annotato come consigliato nella sezione 2.1.3.

  5. La selezione Prepare Hard Drive è identica a quella illustrata in sezione 2.2, passo 5.

  6. Select Packages ti chiederà innanzitutto di selezionare un mirror da cui scaricare i pacchetti, se visualizzi il fondo dell'elenco vedrai l'opzione ''Custom'' che ti permetterà di digitare il tuo mirror manualmente. Il tuo mirror non dovrà iniziare con ''ftp://'', digita solo il nome host. Non aggiungere il persorso ora e non aggiungere alcuno slash al fondo, potrai eseguire queste operazioni nel prossimo passo. Il valore corretto dipenderà dalla configurazione del tuo server FTP. Nel passo successivo ti sarà presentata la lista dei pacchetti. Fai riferimento alla sezione 2.2, passo 8 per informazioni su cosa non installare.

  7. Install Packages utilizzerà pacman per scaricare ed installare i pacchetti selezionati. Se hai saltato il primo passo, la preparazione del disco rigido, ti verrà chiesto dove montare la tua nuova root. Questo dovrebbe capitare solo a chi a partizionato il filesystem manualmente, per cui dovrai inserire la directory di root in cui i pacchetti verranno installati. Come scelta di default l'installatore mounterà la root in /mnt. Se il trasferimento fallisce rimuovi il/i file e prova e scaricarli ancora.

  8. Edit Config Files Fai riferimento alla sezione 3.1 per istruzioni sui file di configurazione. Probabilmente vorrai verificare almeno lilo.conf.

  9. Install Bootloader installerà il bootloader sul tuo disco, GRUB (default) oppure LILO, a seconda della tua scelta. Assicurati di aver verificato il file di configurazione appropriato prima di procedere. Se sceglierai LILO, il bootloader sarà automaticamente installato secondo le impostazioni in lilo.conf, mentre GRUB demanda a te la scelta della partizione di destinazione per l'installazione. Qui dovresti scegliere cosa hai inserito nell'opzione ''boot'' di LILO, che usualmente è denominata ''[...]/disc'', dato che si riferisce al master boot record del disco scelto. Gli eventuali messaggi di errore saranno stampati sul terminale virtuale cinque.

  10. Install Kernel è identica all'installazione su CDROM, per questo fai riferimento alla sezione 2.2, passo 10 per i dettagli.

  11. Fatto! Esci dal programma di installazioni, rimuoni il CD dal drive e digita reboot da linea di comando.

  12. Se tutto va come dovrebbe, vorrai impostare una password per l'utente root ed aggiungere un utente ''normale'' al sistema. Vai alla sezione 3.3 per i dettagli. Dopo di ciò probabilmente vorrai impostare la tua connessione ad internet, per questo leggi la sezione 3.4.

3 Configurazione di sistema

Quelli illustrati qui di seguito sono i file di configurazione principali di Arch Linux. Dovrai imparare ad editarli "a mano" perché al momento non vi sono applicazioni grafiche per la configurazione.

3.1 File di configurazione

3.1.1 /etc/rc.conf

 

Questo è il file di configurazione principale di Arch Linux. Permete di impostare la tastiera, il fuso orario, il nome host, le configurazioni di rete, i demoni da eseguire ed i moduli dei kernel da caricare all'avvio, i profili ed altro ancora. Leggi tutti i parametri di questo file per essere sicuro di averli compresi bene:

Parametri di rc.conf
KEYMAP Definisce la configurazione di tasti da caricare al boot con il comando loadkeys. L'elenco completo delle keymap è visualizzabile in /usr/share/kbd/keymaps.
CONSOLEFONT Definisce il font da caricare all'avvio con il comando setfont. Tutti i font sono contenuti in /usr/share/kbd/consolefonts.
TIMEZONE Specifica il tuo fuso orario. I fusi orari possibili sono i percorsi relativi ad un file zoneinfo a partire dalla cartella /usr/share/zoneinfo. Ad esempio, il fuso orario italiano sarà ''Europe/Rome'', che fa riferimento al file /usr/share/zoneinfo/Europe/Rome.
HARDWARECLOCK Impostalo ad ''UTC'' nel caso il tuo orologio del BIOS sia a sua volta su UTC o GMT, configuralo come ''localtime'' nel caso il tuo orologio del BIOS sia configurato sulla tua ora locale. Nel caso tu abbia un sistema operativo che non permette una corretta configurazione di orologi UTC, come Windows 95/98, sceglio localtime, altrimenti preferisci UTC, che permette una gestione più semplice di ora legale/solare oltre ad alcuni altri aspetti positivi.
USECOLOR Abilita (o disabilita) i messaggi di stato colorati in fase di avvio.
HOSTNAME Imposta qui il nome host della tua macchina, senza la parte relativa al dominio. La scelta è la tua, preferisci comunque lettere, numero e pochi altri caratteri speciali come i trattini.
MODULES Array In questo array puoi inserire i nomi dei moduli che vuoi vengano caricati in fase di avvio, senza la necessità di collegamento con i tuoi device hardware (come per modprobe.conf o modules.conf in caso di kernel 2.4.x). Semplicemente aggiungi il nome del modulo qui, e tutte le altre opzioni in modprobe.con, se necessario.
INTERFACES Array Qui puoi definire le impostazioni delle tue interfacce di rete. Le linee già presenti ed i commenti ti spiegheranno come fare. Se non utilizzi DHCP, tieni a mente che il valore di una variabile deve essere uguale al nome della periferica che configura, come per il comando ifconfig quando configuri la rete manualmente.
ROUTES Array Puoi definire i tuoi routing di rete con nomi arbitrari. Guarda gli esempi per comprendere meglio. La parte inclusa tra virgolette viene passatta senza modifiche al comando ''route add'', per questo ti consigliamo di leggere man route se non sai cosa scrivere in questa linea.
DAEMONS Array Questo array semplicemente contiene i nomi di tutti quegli script in /etc/rc.d/ che vuoi vengano fatti partire in fase di boot. Se un nome viene preceduto da un punto esclamativo (!), esso non viene eseguito. Normalmente, per avere un sistema funzionante, non è necessario variare l'impostazione di default.

3.1.2 /boot/grub/menu.lst

GRUB è il bootloader di default per Arch Linux. Verifica e modifica questo file per fare in modo che rispecchi la configurazione del sistema. Se non vuoi utilizzare GRUB, vai alla prossima sezione: configurazione di LILO.

Configurare GRUB è abbastanza semplice, il punto più difficile è che utilizza una nomenclatura diversa da DevFS e /dev, infatti i tuoi dischi rigidi saranno denominati ''(hd0)'', ''(hd1)'', ecc... numerati sequenzialmente secondo l'ordine in cui appaiono sul bud IDE, come le cartelle ''disc0'', ''disc1'', ecc... in DevFS. Le partizioni vengono denominate ''(hd0,0)'', ''(hd0,1)'', dove 0 rappresenta la prima partizione. Nel file di default vi sono contenuti alcuni esempi, per aiutarti a capire meglio.

Una volta compreso il nuovo naming, tutto ciò che devi fare e scegliere un bel ''title'' per la tua sezione di boot, fornire la corretta partizione come parametro dell'opzione ''root'' (che verrà montata in / al boot) e creare una linea ''kernel'' che includa la partizione ed il percorso di memorizzazione del kernel, assieme ad eventuali altri parametri. Tutto dovrebbe già funzionare con i valori di default, verifica comunque che le informazioni siano corrette.

Per configurazioni avanzate con altri sistemi operativi puoi leggere il manuale on-line di GRUB.

3.1.3 /etc/lilo.conf

Questo è il file di configurazione per il bootloader LILO. Assicurati di verificarne le impostazioni prima di installarlo, leggendo la documentazione di LILO per maggiori informazioni. Le opzioni più importanti sono quelle riguardanti ''root='' nelle sezioni ''image'' e ''boot'' all'inizio del file. Le opzioni ''root'' specificano il device che verrà montato come / in fase di boot. Se non sai cosa scrivere in questo campo spostati su un nuovo terminale e digita ''mount'' per vedere la lista completa delle partizioni correntemente montate, dopo di che cerca la periferica che risulta montata in ''/mnt''. Questa dovrebbe essere la periferica da inserire nella linea ''root'' nel tuo lilo.conf.

La linea ''boot'' dovrebbe essere corretta nella maggior parte dei casi. Se non hai una configurazione complessa con più sistemi operativi, la periferica referenziata da questa linea dovrebbe essere la stessa che compare nelle opzioni ''root'' senza la parte finale ''part1'' o simile, ma solamente con la parte ''disc0'' oppure ''disc1'' ecc... Così facendo tutto il disco sarà referenziato, non una singola partizione, e questo permetterà a LILO di scrivere sul Master Boot Record, che è solitamente l'azione desiderata. Nel caso questo non sia il comportamento desiderato non c'è alcun problema, potrai riparare l'MBR sovrascritto da un'altro sistema operativo in un secondo momento. Per agire in sicurezza, ti consigliamo di aggiungere l'opzione ''lba32'' subito sotto l'opzione ''prompt'', così da preveniere eventuali problemi sulla gestione della geometria del disco.

In alcuni casi, dipendenti dal tuo BIOS, LILO non verrà eseguito correttamente all'avvio e stamperà codici d'errore all'infinito. La maggior parte delle volte è semplicemente perché hai dimenticato di aggiungere l'opzione lba32 oppure il tuo setup hardware è un po' speciale (ad esempio quando il cdrom è primary master ed il disco rigido secondary slave, condizione che può irritare il tuo BIOS ed impedire un boot corretto). Onde evitare problemi, fai in modo di installare il disco rigido come primay master sul tuo bus IDE. Se hai sia sistemi IDE che SCSI, probabilmente avrai bisogno di alcune sperimentazioni con i dischi e le opzioni BIOS di LILO perché tutto funzioni correttamente. I dischi del tuo sistema sono numerati sequenzialmente dal tuo BIOS, partendo da 0x80. Se sei fortunato il tuo controller SCSI ti dirà l'ID di ogni periferica, ma abitualmente non lo farà. Come i drive vengano effettivamente numerati dipende dal BIOS, nel peggiore dei casi puoi tirare ad indovinare finché non funzioni. Una linea tipica potrebbe essere:

boot=/dev/discs0/disc0/disc
disk=/dev/discs0/disc0/disc bios=0x80

L'opzione ''disk'' mappa un ID BIOS alla periferica riconosciuta da linux. Nota che non vi sono garanzie che tutto funzioni se qualcosa non va, ma non disperare e cerca di ri-arrangiare il tuo hardware in modo che sia un po' meno ''sparso''. In questo campo vi sono troppe cose che potrebbero andare storte per poterle spiegare tutte, nella maggior parte dei casi l'opzione lba23 risolverà il problema. I dischi rigidi molto vecchi avranno bisogno di un'attenzione speciale per poter funzionare.

Come ricreare un settore di avvio LILO con un solo disco di ripristino sarà spiegato più avanti in questo documento, alla sezione 6.7.

3.1.4 /etc/hosts

Qui andrai a memorizzare le coppie nome host/ip dei computer sulla tua rete. Se un nome host non è parte di un DNS, può essere inserito qui. Solitamente non sarà necessario cambiare nulla, ma potresti volere aggiungere il nome host ed il nome host + dominio della tua macchina, facendoli risolvere verso l'IP della tua interfaccia di rete. Se non sei sicuro di cosa devi fare, non effettuare modifiche prima di aver letto man hosts.

3.1.5 /etc/fstab

Tutte le impostazioni riguardanti i tuoi filesystem ed i punti di mount sono memorizzate qui. Il programma di installazione dovrebbe aver creato le linee di configurazione per te, controlla comunque che tutto sia a corretto.

3.1.6 /etc/modprobe.conf

Questo file viene utilizzato solamente con kernel 2.6.x.

Configura quali moduli del kernel devono essere caricati per il funzionamento delle periferche. Ad esempio, per fare in modo che venga caricato il modulo per la tua scheda di rete 8139 utilizza questa linea:

alias eth0 8139too

3.1.7 /etc/modules.conf

Questo file viene utilizzato solamente con kernel 2.6.x.

Configura quali moduli del kernel devono essere caricati per il funzionamento delle periferche. Ad esempio, per fare in modo che venga caricato il modulo per la tua scheda di rete 8139 utilizza questa linea:

alias eth0 8139too

3.1.8 /etc/resolv.conf

Utilizza questo file per configurare i DNS che vorrai utilizzare. Esso dovrebbe risultare qualcosa del genere:

search dominio.estensione
nameserver 192.168.0.1
nameserver 192.168.0.2

Sostituisci dominio.estensione e gli indirizzi IP con le tue impostazioni. Il dominio di ricerca specifica quale sia il dominio da aggiungere di default quando un host viene ricercato. In questa maniera un ''ping miohost'' diventerà ''ping miohost.dominio.estensione'' grazie alle linee appena viste. Solitamente queste impostazioni non sono molto importanti, la maggior parte delle persone può non preoccuparsene. Se utilizzi DHCP, questo file verrà automaticamente compilato nella maniera corretta in fase di avvio, così potrai tranquillamente ignorarlo.

3.1.9 /etc/conf.d/*

Alcuni script per la gestione dei demoni richiedono un file di configurazione posto in questa directory, contenente valori di default più o meno utili. Quando un demone viene lanciato, innanzitutto leggerà le opzioni di configurazione dal suddetto file, dopo di ciò leggerà anche /etc/rc.conf. Questo significa che potrai facilmente centralizzare le configurazioni di tutti i tuoi demoni all'interno di rc.conf semplicemente impostando le variabili appropriate, oppure dividere le configurazioni su più file se preferisci un approccio decentralizzato. Non sarebbe fantastica la vita se tutto fosse semplice come uno script?

3.2 Script di avvio

Arch Linux utilizza una semplice sequenza di boot, simile a quella di *BSD. Il primo script che viene lanciato è /etc/rc.sysinit. Al termine del suddetto script viene chiamato /etc/rc.multi (nel caso di avvio normale). L'ultimo script ad essere eseguito è /etc/rc.local. Quando il sistema parte in runlevel 1 (modalità ad utente singolo), non verrà richiamato /etc/rc.multi ma /etc/rc.single. Non troverai una collezione senza fine di link simbolici nelle directory /etc/rc?.d/ per definire le sequenze di avvio per tutti i possibili runlevel, infatti proprio per l'approccio semplice Arch Linux, esistono solamente due runlevel.

3.2.1 /etc/rc.sysinit

Script di boot del sistema. Esegue operazioni critiche come montare i filesystem, attivare devfsd e le partizioni di swap, caricare i moduli del kernel, impostare la localizzazione ed altro. Non avrai mai bisogno di modificare questo file!

3.2.2 /etc/rc.single

Script di avvio per la modalità ad utente singolo. Se il sistema parte in questa modalità (ad esempio con il parametro del kernel ''1'' oppure lanciando ''init 1'' durante le normali operazioni) questo script si assicura che nessun demone venga eseguito eccetto quelli fondamentali come syslogd, klogd e devfsd. Questa modalità è utile se devi eseguire grandi cambiamenti critici al sistema e vuoi che nessun utente possa utilizzare i servizi della macchina, onde evitare possibili perdite di dati. Per tutti gli utenti desktop questa modalità risulta normalmente inutile. Comunque non avrai mai bisogno di modificare questo file!

3.2.3 /etc/rc.multi

Script di avvio per la modalità multi utente. Si occupa di far partire tutti i demoni configurati nell'array DAEMONS (in /etc/rc.conf, vedi la sezione 3.1.1) e di eseguire /etc/rc.local. Anche questo script non dovrebbe mai essere modificato.

3.2.4 /etc/rc.local

Script di startup locale per la modalità multi utente. E' un buon posto dove inserire tutti i comandi che vuoi vengano eseguiti al termine della fase di avvio. Questo è effettivamente l'unico file che dovresti direttamente modificare, hai la totale libertà di decidere cosa aggiungervi. Nota: il caricamento di moduli od operazioni di sistema similari hanno spesso un posto migliore per la configurazione.

3.2.5 /etc/rc.shutdown

Script di shutdown. Termina i demoni, smonta i filesystem, disattiva le swap ecc... Non necessita editing.

3.2.6 /etc/rc.d/

Questa directory contiene gli script per la gestione dell'avvio dei demoni, come referenziato nell'array DAEMONS nel file rc.conf. Puoi utilizzare questi script, per avviare o terminare demoni. Ad esempio il comando

/etc/rc.d/postfix stop

terminerà il demone postfix. Ovviamente questo script esisterà solamente se il relativo pacchetto è stato installato. Con un'installazione base non avrai molti script in questa directory. Per chi ha già esperienza, questa cartella è simile a /etc/rc3.d/ ed /etc/init.d/ di altre distribuzioni condensate in una unica directory, senza il problema dei link simbolici.

3.2.7 Generale

Gli script di avvio utilizzano configurazioni scritte nel file /etc/rc.conf oltre ad un set di funzioni generali definite in /etc/rc.d/functions. Se stai pianificando di scrivere uno script per gestire un demone troverai aiuto leggendo questi file e gli script già esistenti.

Nota: gli script rc.d di Arch supportano solamente due runlevel, multi-user e single-user. Tra i due il primo è quello utilizzato più di frequente. Teoricamente è possibile modificare lo script rc.sysinit ed inittab per rimuovere questa limitazione, ma queste operazioni dovrebbero essere fatte da utenti esperti e coraggiosi.

3.3 Amministrazione utenti

Utenti e gruppi possono essere aggiunti o cancellati con i comandi standard forniti dal pacchetto util-linux: useradd, userdel, groupadd, groupdel, passwd e gpasswd. Il metodo tipico per aggiungere un utente risulta essere qualcosa del genere:

# useradd -m -s /bin/bash johndoe
# passwd johndoe

Il primo comando aggiungerà l'utente johndoe al sistema, creando una home directory in /home/johndoe e inserendovi alcuni file. Imposterà inoltre la shell come /bin/bash. Il secondo comando ti chiederà la password da associare all'utente johndoe. La password è necessaria per poter attivare un'account.

Come alternativa al comando useradd esiste adduser, che esegue le stesse operazioni in maniera interattiva.

Leggi le pagine man per ulteriori informazioni su questi comandi. E' sempre una buona idea crare uno o più utenti per il normale utilizzo di tutti i gorni, per avere maggiore sicurezza e minore potenzialità di danno (rispetto all'utilizzo dell'utente root).

3.4 Configurare l'accesso ad Internet

A causa della mancanza di sviluppatori per la sezione dialup, la connessione di una macchina Arch Linux attraverso questo metodo è solo rudimentalmente supportata. Se possibile, configura un router dedicato da utilizzare come gateway per la tua macchina.

Se qualcuno ha il tempo e l'inclinazione necessaria per scrivere un tutorial per gli utenti dial-up, perfavore inviatecelo.

3.4.1 Modem analogici

Per utilizzare modem compatibili Hayes, esterni, analogici, avrai bisogno del pacchetto ppp. Modifica il file /etc/ppp/options secondo quanto scritto in man pppd. Avrai anche la necessità di definire uno script chat per fornire al tuo ISP il tuo username e la tua password. Le pagine man di pppd e chat hanno molti esempi che ti aiuteranno nella configurazione, che tu sia esperto oppure no. Con devfs le tue porte seriali solitamente saranno /dev/cua0 e /dev/cua1.

3.4.2 ISDN

La configurazione di una linea ISDN viene eseguita in tre passi:

  1. Installazione e configurazione hardware
  2. Installazione e configurazione delle utility ISDN
  3. Configurazione delle impostazioni del provider

Il kernel di default di Arch include i moduli necessari per le connessioni ISDN, ciò significa che non dovrai ricompilare il tuo kernel a meno che non utilizzi hardware molto vecchio. Dopo aver installato la tua scheda ISDN oppure dopo aver connesso il tuo box ISDN USB, puoi caricare i moduli con modprobe. Quasi tutte le schede ISDN PCI passive sono gestite dal modulo ''hisax'', che necessita di due parametri: type e protocol. Puoi impostare il protocollo a ''1'' se la tua nazione utilizza lo standard 1TR6, ''2'' se utilizza EuroISDN (EDSS1), ''3'' se ti agganci ad una linea senza D-channel oppure ''4'' per US NI1. Nota che dovrai impostare lo SPID delle tue impostazioni MSN separate da '':''. Tutti i dettagli di queste configurazioni e come fare ad attuarle sono inclusi nelle FAQ ISDN e nella documentazione del kernel, disponibili on-line e sull'immagine ISO. Il parametro type dipende dalla tua scheda. Una lista di tutti i tipi possibili è presente nel file ''README.HiSax'' all'interno della documentazione del kernel. Scegli la tua scheda e carica il modulo con le opzioni appropriate come nell'esempio seguente:

# modprobe hisax type=18 protocol=2

Questo caricherà il modulo hisax per la mia ELSA Quickstep 1000PCI, utilizzata in germania con il protocollo EDSS1. Dovresti avere un buon output di debug in /var/log/debug, dove potrai vedere la tua scheda mentre viene preparata per l'azione. Nota che avrai probabilmente bisogno di caricare alcuni moduli USB per far sì che il tuo box ISDN USB possa funzionare. Mi spiace, ma al momento non conosco quali moduli tu debba caricare. Una volta che la tua scheda funzioni correttamente, potrai salvare le tue impostazioni nel file /etc/modprobe.conf (o /etc/modules.conf se utilizzi kernel 2.4.x) così:

alias ippp0 hisax
options hisax type=18 protocol=2

Alternativamente potresti aggiungere solo la linea ''options'' a questo file ed inserire ''hisax'' nell'array MODULES del file rc.conf. La scelta spetta a te, ma nella situazione dell'esempio il modulo non viene caricato finché non effettivamente necessario.

Ora che abbiamo l'hardware funzionante, dobbiamo installare le utility che lo utilizzino, attraverso il pacchetto isdn4-utils. Leggi le pagine man di isdnctrl, ti aiuteranno a partire. Al termine delle suddette pagine man troverai la spiegazione di come creare un file di configurazione che possa essere automaticamente letto da isdnctrl, oltre che alcuni esempi.

Dopo aver configurato la tua scheda con isdnctrl dovresti essere in grado di effettuare la chiamata verso la macchina specificata nel parametro PHONE_OUT, ma senza successo per ciò che riguarda username e password. Per terminare questa parte dovrai aggiungere il tuo username e la tua password al file /etc/ppp/pap-secrets oppure /etc/ppp/chap-secrets come per una qualsiasi connessione analogica PPP. Utilizza un file piuttosto che l'altro a seconda del tipo di protocollo utilizzato dal tuo ISP. Nel dubbio inserisci i dati i entrambi.

3.4.3 DSL (PPPoE)

Prima di poter utilizzare la tua connessione DSL, dovrai fisicamente installare una scheda di rete che sarà collegata al modem DSL. Nota che queste istuzioni sono significative se è direttamente il tuo PC a chiamare, nel caso infatti tu utilizzi un router DSL, non dovrai fare null'altro che impostarlo come gateway di default. Dopo aver aggiunto la tua scheda di rete al file modules.conf o all'array MODULES di rc.conf, potrai installare il pacchetto rp-pppoe e lanciare adsl-setup. Dopo aver inserito tutti i dati, potrai connetterti con il comando ''/etc/rc.d/adsl start'' e disconnetterti con /etc/rc.d/adsl stop. Queste operazioni sono normalmente semplici ma leggi le pagine man per ulteriori aiuti. Se vuoi che la connessione avvenga in automatico all'avvio, aggiungi ''adsl'' all'array DAEMONS.

4 Amministrazione dei pacchetti

4.1 pacman

Pacman è il software di gestione dei pacchetti, tiene traccia di tutto il software installato sul tuo sistema. Ha un sistema di dipendenze semplice e utilizza il formato standard di archivi tar-gz per tutti i pacchetti. Alcune operazioni più comuni saranno spiegate tra breve, con i rispettivi comandi nel formato lungo o corto. Per una spiegazione completa di tutte le opzioni, ti consigliamo di leggere man pacman.

4.1.1 Installare un pacchetto

pacman --add foo.pkg.tar.gz
pacman -A foo.pkg.tar.gz

Questo comando installerà il pacchetto foo.pkg.tar.gz. Se alcune dipendenze risulteranno mancanti, pacman uscirà restituendo un errore e riportando l'elenco delle dipendenze senza cercare di risolverse automaticamente. Guarda le opzioni di sincronizzazione se vuoi usufruire di questa funzionalità.

4.1.2 Aggiornare un pacchetto

pacman --upgrade foo.pkg.tar.gz
pacman -U foo.pkg.tar.gz

Questo comando esegue essenzialmente le stesse operazioni dell'opzione --add, ma aggiornerà un pacchetto già installato senza fatica.

4.1.3 Rimuovere pacchetti

pacman --remove foo
pacman -R foo

Questo comando rimuove tutti i file appartenenti al pacchetto denominato foo. Non vi è alcun bisogno di aggiungere il numero di versione.

4.1.4 Aggiornare l'elenco pacchetti

pacman --sync --refresh
pacman -Sy

Questo comando scaricherà una nuova lista di pacchetti dai repository configurati nel file /etc/pacman.conf, decomprimendoli in un database apposito. Dovresti sempre eseguire questo comando prima di utilizzare --sysupgrade, per essere sicuro di scaricare sempre i pacchetti più aggiornati. A seconda di come è configurato il tuo pacman.conf, questo comando potrebbe richiedere una connessione ad internet. Quest'opzione è molto simile al comando apt-get update di Debian.

4.1.5 Aggiornare il sistema

pacman --sync --sysupgrade
pacman -Su

Questo comando aggiornerà tutti i pacchetti sul tuo sistema raffrontato il numero di versione del pacchetto installato con questo presente nel database dei pacchetti scaricato con il comando --refresh. E' sempre una buona idea eseguire questo comando spesso e mantenere aggiornato il sistema. Nota che l'aggiornamento della lista dei pacchetti non viene eseguito implicitamente, per cui è saggio combinare i due comandi in uno:

pacman --sync --refresh --sysupgrade
pacman -Syu

Con queste opzioni pacman scaricherà l'elenco pacchetti aggiornato ed eseguirà un upgrade completo del sistema risolvendo automaticamente tutte le dipendenze.

4.1.6 Aggiungere/aggiornare un pacchetto da un repository

pacman --sync foo
pacman -S foo

Scarica e installa il pacchetto foo, completo di tutte le dipendenze richieste. Prima di utilizzare l'opzione sync assicurati di aver aggiornato l'elenco pacchetti, oppure aggiungi l'opzione --refresh o -y per farlo prima dell'installazione. Diversamente da --add, l'opzione --sync non fa differenze tra installazione ed aggiornamento di un pacchetto. A seconda della tua configurazione del file pacman.conf quest'opzione può richiedere un collegamento ad internet attivo.

4.1.7 Lista dei pacchetti installati

pacman --query
pacman -Q

Mostra la lista di tutti i pacchetti installati sul sistema.

4.1.8 Verificare se uno specifico pacchetto è installato

pacman --query foo
pacman -Q foo

Invece di eseguire grep sulla lista completa, puoi aggiungere il nome del pacchetto che stai cercando al comando query. Quest'operazione mostrerà il nome e la versione del pacchetto foo se installato, altrimenti nulla.

4.1.9 Visualizzare informazioni su uno specifico pacchetto

pacman --query --info foo
pacman -Qi foo

Mostra informazioni su pacchetto installato foo (dimensione, data di installazione, data di compilazione, conflitti ecc...)

4.1.10 Visualizzare la lista dei file contenuti in un pacchetto

pacman --query --list foo
pacman -Ql foo

Mostra tutti i file appartenenti al pacchetto foo.

4.1.11 Trovare a che pacchetto appartiene un file

pacman --query --owns /percorso/del/file
pacman -Qo /path/to/file

Questo comando mostra il nome e la versione del pacchetto che contiene il file, il cui nome deve essere completo del percorso assoluto.

4.1.12 Altro su pacman

Per ulteriori informazioni sulla sintassi e le operazioni di pacman, leggi pagina di manuale di pacman (oltre pacman --help). Edita inoltre il file di configurazione /etc/pacman.conf per impostare le opzioni globali, i repository di pacchetti ed i server di download.

4.2 Accedere ad altri repository di pacchetti

Un repository di pacchetti è un grande insieme di pacchetti e meta informazioni, che possono risiedere in una cartella locale oppure su un server remoto FTP/HTTP. Il repository di default su un sistema Arch è ''current''. Esso viene sempre mantenuto aggiornato e tutti i software risultano essere all'ultima versione rilasciata. Nel caso tu desiderassi mantenere il software in uno stato più stabile, puoi modificare /etc/pacman.conf al fine di utilizzare il repository ''release''. Non lasciare attivi sia ''release'' che ''current'' altrimenti avrai dei conflitti.

Molti utenti scelgono inoltre di attivare il repository ''extra'', che contiene molti pacchetti che non sono parte del set generale. Puoi attivare questo repository decommentando la linea relativa all'interno del file /etc/pacman.conf. Questo repository è già attivo di default a partire dalla release 0.6.

Puoi anche compilare e mantenere uno o più tuoi repository. Leggi la pagina di manuale di pacman per ulteriori istruzioni.

5 Arch Build System (ABS)

5.1 Binari contro sorgenti

Abbiamo visto che pacman è il software necessario per la gestione di pacchetti binari, abbiamo anche la possibilità di gestire pacchetti sorgenti attraverso ABS: questo software ti aiuterà a compilare i tuoi pacchetti personalizzati partendo dal codice sorgente, oppure modificare i pacchetti Arch adattandoli alle tue esigenze. La procedura standard è la seguente:

  1. Sincronizza l'albero delle directory ABS con quelle memorizzate sul server con il comando abs (lanciato da root).
  2. Crea una nuova directory in /var/abs/local con il nome del pacchetto che andreai a creare.
  3. Copia il prototipo di pacchetto PKGBUILD.proto da /var/abs/ nella tua nuova directory, timuovendo il suffisso .proto e modificandolo a tuo piacimento.
  4. Lancia makepkg nella cartella contente il file PKGBUILD.
  5. Installa il pacchetto appena creato con pacman.
  6. Invia il pacchetto a chi vuoi (ad esempio qualcuno di Arch Linux, così che possa essere inserito nell'albero del pacchetti generale).

5.2 Sincronizzare l'albero delle directory di ABS

Puoi sincronizzare tutti gli script PKGBUILD in /var/abs lanciando il comando abs come root. Quest'operazione richiede che il pacchetto cvsup sia installato. Utilizzando il sistema cvs potrai seguire diversi alberi di directory all'interno di ABS, questo comportamento è configurabile attraverso il file /etc/abs/supfile.arch. Per esempio, il file di default è impostato per monitorare il repository ''current'', che è sempre aggiornato con gli ultimi software. Il repository ''stable'' contiene i pacchetti bloccati alla versione presente al momento del rilascio dell'ultima release stabile. Puoi anche monitorare specifiche versioni di Arch Linux. Per ulteriori informazioni guarda i commenti nel file di configurazione di ABS.

ABS supporta repository multipli, che possono essere abilitati o disabilitati attraverso /etc/abs/abs.conf. La configurazione di default abilita current and extra repositories, ma non unstable.

Vedrai anche il file /etc/abs/supfile.extra. Esso ti darà l'accesso a tutti gli script PKGBUILD che non sono stati inclusi nel repository ABS. Se non vuoi utilizzare questo repository puoi anche eliminare questo file.

5.3 Come creare nuovi pacchetti

Il processo di compilazione è spiegato esaustivamente sulle pagine di manuale di makepkg. Consigliamo di leggerle per avere tutte le informazioni.

5.4 Linee guida per la creazione di pacchetti

Quando compili un pacchetto per Arch Linux, dovrai seguire le seguenti linee guida, specialmente se vuoi che il pacchetto sia inserito all'interno del repository principale.

5.4.1 Naming dei pacchetti

5.4.2 Cartelle

5.4.3 Caratteristiche di makepkg

Quando utilizzi makepkg che compilare un pacchetto, esso eseguirà le seguenti operazioni automaticamente:

  1. Verifica che i pacchetti di dependenza siano installati
  2. Scarica i file sorgenti dai server
  3. Estrae i file sorgenti
  4. Applica le patch necessarie
  5. Compila il software e lo installa in una finta root
  6. Rimuove usr/doc, usr/info, usr/share/doc, and usr/share/info dal pacchetto
  7. Elimina i simboli dai binari
  8. Elimina i simboli di debug dalle librerie
  9. Genera il meta file di pacchetto, che viene incluso in ogni pacchetto
  10. Comprime la finta root facendola effettivamente divenire il pacchetto

5.4.4 Altro

5.4.5 Inviare pacchetti

Presta attenzione alle seguenti note prima di inviare un pacchetto:

  1. Aggiungi una linea di commento al file PKGBUILD seguendo il seguente formato:

    # Contributor: il tuo nome <tua.mail>

  2. Verifica le dipendenze del pacchetto (es.: esegui ldd sugli eseguibili dinamici , verifica i tool richiesti dagli script, ...).
  3. Tutti i pacchetti dovrebbero essere inviati come file tar contenente la directory con il pacchetto appena compilato, i file PKGBUILD e filelist ed altri file addizionali (patch, file di installazione). Il nome del file dovrebbe almeno contenere il nome del pacchetto.
  4. Esegui upload del file tar compresso sul server ftp.archlinux.org/incoming.
  5. Quando il pacchetto viene ricevuto, viene assegnato an un "maintainer", che lo ispezionerà al fine di verificare se corrisponde alle linee guida. Nel caso vi siano domande, il maintainer chiederà delucidazioni via e-mail.

6 Frequently Asked Questions

Nota: le riflessioni sono state scritte dal punto di vista di chi ha iniziato il tutto: Judd apeiro Vinet.

6.1 Perché il nome Arch Linux?

From dictionary.com:

 arch (arch)
 adj.

 1. Chief; principal: their arch foe.
 2. Mischievous; roguish: an arch glance.

In un libro mi sono imbattuto nel ben conosciuto termine''arch-enemy'' ed ho scoperto che ''arch'' significa ''il primario'', ''il principale'', colui che tra gli altri viene prima. Forse distante dal vero per quanto riguarda Arch Linux ma sono fiero di lei. Riguardo la seconda definizione (mischievous: cattivello, birichino, malizioso) può essere appropriato o meno, credo dipenda da come usi il tuo computer ;)

Come elemento geometrico l'arco è uno dei modi più efficenti per sopportare grandi pesi ed abbracciare ampi spazi a causa della sua forma straordinariamente forte.

6.2 Cos'è Arch Linux? Cosa cerca di fare?

Per dirla in breve Arch Linux è la mia distribuzione perfetta. Ho iniziato a farla per due ragioni:
  1. Non ho trovato alcun altra distribuzione che incontrasse i miei ideali. Alcune erano veramente chiuse per quello che cercavo oltre ad avere qualche fronzolo noioso o aggiungere complessità che sembrava più nuocere che aiutare.
  2. Per divertimento e per restituire qualcosa indietro alla comunità del free software da cui io avevo preso così tanto

Arch Linux è veloce. I pacchetti sono ottimizzati i686.

Arch Linux è semplice. Quasi tutte le utility e i programmi per gestire i pacchetti sono scritti in bash ad eccezione del gestore di pacchetti stesso.Le cose sono flessibili e facili da trovare in Arch Linux. Il database dei pacchetti è in formato testo, gli script di inizializzazione sono semplici, in stile bsd, con un output pulito ed un sistema facile per avviare/fermare i demoni. Il sistema per costruire i pacchetti è semplice in modo da incoraggiare gli utenti a costruirsi i propri pacchetti, tanto da essere riassunto in una sola pagina di manuale (''man makepkg'').

Arch Linux è flessibile. Grazie alla sua semplicità, AL può essere facilmente estesa o modifica per rispondere ad esigenze diverse.

6.3 Durante l'installazione di un pacchetto, pacman fallisce la risoluzione delle dipendenze per il pacchetto A perché il pacchetto B non è presente nel set di pacchetti.

A meno che non ci sia qualcosa di veramente spaccato, e quindi verrà riferito presto da molte persone, probabilmente hai solo dimenticato di montare propriamente la tua partizione principale. Così facendo pacman decomprime il database dei pacchetti nel ramdisk iniziale riempiendolo quasi completamente e causando questo errore. Assicurati di usare l'opzione "DONE" e non "CANCEL" offerta dal Filesystem Mountpoint menu per applicare le tue scelte. Questo errore non dovrebbe capitare se hai usato la funzione Auto-Prepare, nel caso accadesse per favore segnalacelo come un bug.

6.4 Facendo boot, ricevo un messaggio di kernel panic: ''Unable to open initial console'''

Probabilmente hai compilato il tuo kernel personalizzato e ti sei dimenticato di includere il supporto per DevFS. Configurando il tuo kernel assicurati di includere ''/dev file system support'' e ''Automatically mount at boot'. E' necessario anche abilitare ''Prompt for development and/or incomplete code/drivers'' per vedere l'opzione devfs.

6.5 Come posso installare pacchetti da CD con pacman -sync (così che risolva le dipendenze per me)?

Se di preferenza installi i pacchetti dal CD invece di scaricarli dalla rete allora monta il CD di installazione, ad esempio in /mnt/cd, ed aggiungi questa linea subito sotto la linea "[current]" in /etc/pacman.conf:

Server = file:///mnt/cd

Sostituisci /mnt/cd con il punto di mount che hai scelto. Quindi esegui pacman --sync come fai normalmente. Ora pacman inizierà a cercare i pacchetti dalla directory /mnt/cd

6.6 Come posso creare partizioni swap multiple durante l'installazione?

Naturalmente se vuoi creare ed usare più di una partizione di swap non dovrai usare la funzione Auto-Prepare. Partiziona il disco manualmente e crea quante partizioni di swap vuoi secondo i tuoi desideri. Procedi con il resto dell'installazione e non ti preoccupare del fatto che ti sia stata chiesta solo una partizione di swap durante il settaggio dei punti di mount. Una volta che l'installazione sarà andata avanti abbastanza da poter editare i file di configurazione edita /etc/fstab ed inserisci una linea per ogni partizione di swap che hai precedentemente creato. Copia semplicemente la linea che si riferisce alla partizione di swap e modificala per far sì che punti al giusto device. Le partizioni di swap aggiuntive saranno attivate al boot quando "'swapon -a'' viene richiamato dai file di init.

Se per qualche ragione non vuoi aspettare la fine dell'installazione per attivare le partizioni di swap aggiuntive puoi aprire una shell e digitare ''swapon <device>'' per ogni partizione di swap creata. A questo punto puoi procedere con il resto dell'installazione.

Nel caso tu stia seriamente pensando di configurare più di una partizione di swap tieni presente che un kernel che ha bisogno di swappare sta "piangendo" per avere più ram non per avere più spazio di swap.

6.7 Come posso riconfigurare LILO dal sistema di ripristino?

Innanzitutto devi fare boot dal CD o dai dischi di installazione di Arch Linux. Dopo aver fatto questo monta da una shell la partizione di root del tuo harddisk nella directory /mnt; ad esempio:

# mount /dev/discs/disc0/part3 /mnt

A questo punto monta le restanti partizioni nei rispettivi punti di mount all'interno di quella di root; ad esempio per la partizione /boot:

# mount /dev/discs/disc0/part1 /mnt/boot

Procedi così sino a quando ogni partizione importante è montata,quindi rendi la directory /mnt la tua nuova root con il comando chroot /mnt. Questo farà partire una nuova shell che considererà la directory /mnt come se fosse / . Ora puoi editare /etc/lilo.conf secondo le tue necessità ed eseguire lilo. Digita semplicemente exit quando vuoi uscire da questo ambiente "chroot" e tornare al normale albero delle directory. Ora puoi riavviare la macchina e provare l'effetto dei cambiamenti.

6.8 Quando cerco di lanciare X, /dev/mouse non viene trovata.

Dato che usiamo devfs la porta del tuo mouse PS/2 sarà /dev/psaux oppure /dev/misc/psaux. Se vuoi avere anche un link simbolico a /dev/mouse puoi aggiungere le seguenti linee a /etc/devfsd.conf e riavviare il demone con killall -HUP devfsd:

REGISTER       ^misc/psaux$   CFUNCTION GLOBAL symlink misc/psaux mouse
UNREGISTER     ^misc/psaux$   CFUNCTION GLOBAL unlink mouse

Ora dovresti vedere /dev/mouse e così anche X.

6.9 Non posso accedere via ssh alla mia macchina!

Edita il file/etc/hosts.deny. La configurazione di default rifiuta qualsiasi connessione in entrata.

6.10 Come posso avere KDE funzionante sul mio sistema?

  1. Esegui pacman -Sy kde per installare tutti i pacchetti necessari.
  2. Fai logout e autenticati nuovamente per attivare i profili..
  3. Edita il tuo ~/.xinitrc. Commenta ogni linea con exec e decommenta/aggiungi la linea exec startkde
  4. Esegui startx per caricare XFree86 e KDE.

6.11 Ho creato alcuni pacchetti per Arch Linux che non sono presenti nel repository ufficiali, li volete?

Certamente. Puoi metterli in ftp.archlinux.org/incoming. Prima guarda però le linee guida per la creazione dei pacchetti nella sezione 5.4.

6.12 Dove dovrei salvare i miei script PKGBUILD?

Se stai costruendo i tuoi pacchetti (o stai personalizzando un pacchetto esistente) un buon posto per metterli è /var/abs/local. Non lasciarli in un posto qualsiasi sotto /var/abs o saranno sovrascritti la prima volta che eseguirai abs per aggiornare il tuo albero dei sorgenti.

Nota anche che puoi mantenere il tuo reposistory pacman con i pacchetti compilati in /var/abs/local. Fai riferimento alle manpage di pacman per maggiori informazioni.

6.13 Come posso creare il mio kernel personalizzato?

  1. Crea una nuova directory in /var/abs/local (es. /var/abs/local/kernel)
  2. Rimpiazza il config originale con il tuo config personalizzato.
  3. Rigenera la MD5Sums con makepkg -g >>PKGBUILD
  4. Esegui makepkg per costruire il tuo nuovo pacchetto.
  5. Dopo aver fatto questo aggiorna il kernel correntemente installato con pacman: pacman -U kernel-pkgver-pkgrel.tar.gz. Potresti voler copiare il vecchio /boot/vmlinuz a /boot/vmlinuz-old per mantenere un backup del kernel. (Se vuoi far questo non ti dimenticare di aggiungere la seconda entry al tuo lilo.conf o menu.lst).
  6. Se usi lilo reinstalla il bootloader (esegui lilo).
  7. Riavvia il tuo computer..
Questo è tutto!

6.14 Dovrei utilizzare ''make DESTDIR=$startdir/pkg install'' o ''make prefix=$startdir/pkg/usr install'' nei miei script PKGBUILD?

Dipende dal Makefiles. Il modo migliore è controllare Makefile.in e/o Makefile alla ricerca delle occorrenze di DESTDIR. Se le trovi significa che il primo metodo dovrebbe funzionare (normalmente il migliore), Se invece non dovessi trovare alcuna occorrenza di DESTDIR prova il metodo con ''prefix=''.

Pochi strani Makefiles usano anche cose INSTALL_ROOT or PREFIX_ROOT.. L'unico modo per essere sicuri è guardare la sezione "install" del Makefile e vedere come vengono installati i file.

6.15 Come posso verificare le dipendenze di un pacchetto?

Prova usando il comando "ldd" sui binari e sulle librerie dinamiche incluse nel pacchetto. Questo ti restituirà una lista di tutte le librerie condivise (shared-object) necessarie al pacchetto.

In alternativa puoi usare namcap per analizzare il pacchetto. namcap ti informerà di qualsiasi dipendenza mancante (o non necessaria).

6.16 Come posso evitare che pacman sovrascriva alcuni file durante un aggiornamento?

Aggiungi il file(meno lo slash iniziale) alla lista dei file da escludere dall'aggiornamento nel tuo /etc/pacman.conf:

[options]
NoUpgrade = path/to/file

6.17 Come posso far funzionare il suono?

Normalmente gli utenti che appartengono al gruppo "users" non hanno accesso al suono. Per cambiare questo comportamento aggiungi le seguenti linee al tuo /etc/devfsd.conf (la seconda linea è necessaria solo se stai usando alsa):

REGISTER sound/.* PERMISSIONS root.users 660
REGISTER snd/.*  PERMISSIONS root.users 660

Alternativamente puoi pensare di creare un nuovo gruppo chiamato "audio", ed aggiungere i permessi solo per questo gruppo invece che per il gruppo "users". Questo ti permette di aggiungere o negare l'uso del suono ad un utente aggiungendo o rimuovendo semplicemente l'utente dal gruppo audio,

6.18 Qual è il modo preferibile per caricare i moduli dei kernel?

Se vuoi semplicemente caricare un modulo senza alcun specifico legame ad una periferica aggiungi il nome del modulo all'array MODULES. Se invece vuoi caricare un modulo quando hai bisogno di accedere ad una particolare periferica allora usa il comando alias in module.conf. Per passare delle opzioni a un modulo che vuoi caricare attraverso l'array MODULES aggiungi a modules.conf una linea "options".

6.19 Perché ricevo alcuni warning ''line X'' durante l'aggiornamento di un pacchetto?

Questi warning significano che la tua versione di pacman non è aggiornata. Subito dopo aver installato una nuova Arch Linux pacman dovrebbe essere aggiornato prima di qualsiasi altro pacchetto.

 pacman -Sy pacman

Attenzione: questi avvertimenti non comportano che il pacchetto non venga installato, ma potrebbe causare la mancanza di informazioni dentro il database dei pacchetti. Quando capita aggiornate prima pacman poi aggiornate nuovamente il pacchetto che ha dato il warning. Se il pacchetto che ha dato il warning è lo stesso pacman il nuovo aggiornamento dovrebbe concludersi senza errori.



Fabrizio Balliano <fabrizio.balliano@crealabs.it< 2004-04-14
Andrea Giardina <andrea.giardina@crealabs.it> 2004-04-14