Leah Cunningham, Karl Eichwalder, Stefan Fent, Werner Fink, Peter Findeisen, Dennis Geider, Viviane Glanz, Carsten Groß, Roland Haidl, Björn Jacke, Richard Jelinek, Hubert Mantel, Johannes Meixner, Edith Parzefall, Peter Pöml, Peter Reinhart, Marc Rührschneck, Thomas Schraitle, Martin Sommer, Klaus G. Wagner, Christian Zoz SuSE Linux Manuale del Sistema e delle Referenze SuSE Linux S.r.l. Via Montanara 26 I-41051 Castelnuovo Rangone (MO) Tel.: (059) 53 95 11 (Distribuzione) (059) 53 69 73 (Supporto; Tempi vedi la documentazione) Fax.: (059) 53 32 009 (Distribuzione) posta elettronica: suse@suse.it WWW: http://www.suse.it Leah Cunningham, Karl Eichwalder, Stefan Fent, Werner Fink, Peter Findeisen, Dennis Geider, Viviane Glanz, Carsten Groß, Roland Haidl, Björn Jacke, Richard Jelinek, Hubert Mantel, Johannes Meixner, Edith Parzefall, Peter Pöml, Peter Reinhart, Marc Rührschneck, Thomas Schraitle, Martin Sommer, Klaus G. Wagner, Christian Zoz SuSE Linux Manuale del Sistema e delle Referenze 1o Edizione 2001 SuSE GmbH Copyright Quest'opera è protetta dal Copyright di SuSE GmbH. Può venire copiata completamente o in parte, premesso che su ogni copia si trovi questo contrassegno di Copyright. Composizione con: LATEX Traduzione di Franca Delcarlo Design di Manuela Piotrowski. Geeko-Icons di Rolf Vogt. Linux è un marchio registrato di Linus Torvalds. MS-DOS, Windows, Windows 95 e Windows NT sono registrati come marchio di Microsoft Corporation. XFree86 TM è un marchio registrato di The XFree86 Project, Inc. FlagShip è un marchio registrato di multisoft Datentechnik GmbH. UNIX è un marchio registrato di X/Open Company Limited. Altri marchi o marchi depositati: Clipper di Computer Associates, dBASE di Borland, Foxbase di Microsoft, Compuserve, T-Online di Deutsche Telekom, SuSE Linux e YaST di SuSE GmbH . Tutti i nomi dei prodotti sono probabilmente marchi depositati e vengono usati senza la garanzia del libero uso del nome. Nel modo di scrivere, la ditta SuSE GmbH è conforme al produttore. Altri prodotti qui nominati possono essere marchi del produttore. Indice Indice 1 Introduzione 1 1.1 Cos'è "Linux"? . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Intenzione di questo libro ­ Indicazioni sull'uso . . . . . . . . . 2 1.3 Legenda ­ o cosa significa terra: ls . . . . . . . . . . . . . 3 1.4 Allori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 La prima Installazione di SuSE Linux 7 2.1 L'installazione con YaST (YaST 1) in modo di testo . . . . . . . 7 2.1.1 E ora cominciamo: la schermata iniziale . . . . . . . . . 7 2.1.2 Inizializzare linuxrc . . . . . . . . . . . . . . . . . . . . 8 2.1.3 Inizializzare YaST . . . . . . . . . . . . . . . . . . . . 13 2.1.4 Partizionare e formattare l'hard disk . . . . . . . . . . . 14 2.1.5 Cominciare l'installazione del software . . . . . . . . . 16 2.1.6 Scegliere il software di base . . . . . . . . . . . . . . . 17 2.1.7 Installare il sistema e il software . . . . . . . . . . . . . 17 2.1.8 Scegliere il kernel per il sistema . . . . . . . . . . . . . 18 2.1.9 Configurazione di base del sistema con YaST . . . . . . 19 2.1.10 Fare il login alla fine della prima installazione . . . . . . 21 2.1.11 Shutdown e boot del sistema . . . . . . . . . . . . . . . 23 2.2 Il caricamento di SuSE Linux . . . . . . . . . . . . . . . . . . . 25 2.3 Installazioni particolari . . . . . . . . . . . . . . . . . . . . . . 27 2.3.1 Installazione senza unità di disco CD-ROM compatibile 27 2.3.2 Installazione e configurazione automatica (ALICE) . . . 28 2.4 Consigli ed Espedienti . . . . . . . . . . . . . . . . . . . . . . 30 2.4.1 Creare spazio per Linux (Fare le partizioni) . . . . . . . 30 2.4.2 Usare il CD 2 per il caricamento . . . . . . . . . . . . . 32 2.4.3 Creare dischetti per il boot sotto DOS . . . . . . . . . . 32 2.4.4 Creare i dischetti di caricamento con Unix . . . . . . . . 34 2.4.5 Linux supporta il mio CD-ROM-drive? . . . . . . . . . 35 2.4.6 Il CD ROM ATAPI si inceppa durante la lettura . . . . . 35 2.4.7 Lettori CD-ROM su porta parallela . . . . . . . . . . . 37 2.4.8 loadlin non ha abbastanza memoria per caricare il kernel 37 i Indice 2.4.9 loadlin non funziona . . . . . . . . . . . . . . . . . . . 37 2.5 Partizioni per principianti . . . . . . . . . . . . . . . . . . . . . 38 2.6 Partizioni per esperti . . . . . . . . . . . . . . . . . . . . . . . 40 2.6.1 Dimensione della partizione swap . . . . . . . . . . . . 41 2.6.2 Campo d'impiego del computer . . . . . . . . . . . . . 41 2.6.3 Ottimizzazioni . . . . . . . . . . . . . . . . . . . . . . 43 3 YaST­ Yet another Setup-Tool 47 3.1 Utilizzo e impostazione della tastiera . . . . . . . . . . . . . . . 47 3.2 Il menù principale di YaST . . . . . . . . . . . . . . . . . . . . 47 3.3 Assistenza generale . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4 Impostazioni per l'installazione . . . . . . . . . . . . . . . . . . 48 3.4.1 Determinare la lingua . . . . . . . . . . . . . . . . . . . 49 3.4.2 La scelta della tastiera . . . . . . . . . . . . . . . . . . 49 3.4.3 Dispositivo d'installazione . . . . . . . . . . . . . . . . 49 3.4.4 Installazione da CD/DVD . . . . . . . . . . . . . . . . 50 3.4.5 Installazione da una partizione dell'hard disk . . . . . . 50 3.4.6 Installazione via NFS . . . . . . . . . . . . . . . . . . . 51 3.4.7 Installazione da una directory accessibile . . . . . . . . 52 3.4.8 Installazione tramite un server FTP . . . . . . . . . . . 53 3.4.9 Partizionare l'(gli) hard disk(s) . . . . . . . . . . . . . . 54 3.4.10 Impostare le partizioni e i relativi file systems . . . . . . 55 3.4.11 Excursus: Configurazione manuale dell'hard disk . . . . 60 3.4.12 Configurare il Logical Volume Manager . . . . . . . . . 65 3.4.13 Installazione in una directory . . . . . . . . . . . . . . . 65 3.5 Gestione dei pacchetti ­ Scelta dei pacchetti da installare . . . . 66 3.5.1 Caricare la Configurazione . . . . . . . . . . . . . . . . 66 3.5.2 Memorizzare la configurazione . . . . . . . . . . . . . . 67 3.5.3 Modificare/creare una configurazione . . . . . . . . . . 67 3.5.4 Verificare dipendenze fra pacchetti . . . . . . . . . . . . 69 3.5.5 Cosa sarebbe se... . . . . . . . . . . . . . . . . . . . . . 71 3.5.6 Avviare l'installazione . . . . . . . . . . . . . . . . . . 71 3.5.7 Indice delle serie e dei pacchetti . . . . . . . . . . . . . 71 3.5.8 Cerca pacchetti software . . . . . . . . . . . . . . . . . 72 3.5.9 Caricare i pacchetti . . . . . . . . . . . . . . . . . . . . 72 3.5.10 Cancellare i pacchetti . . . . . . . . . . . . . . . . . . . 73 3.6 Aggiornare il sistema . . . . . . . . . . . . . . . . . . . . . . . 73 3.7 Amministrazione del sistema . . . . . . . . . . . . . . . . . . . 74 3.7.1 Integrare l'hardware nel sistema . . . . . . . . . . . . . 74 ii Indice 3.7.2 Configurazione del kernel e dell'avvio . . . . . . . . . . 76 3.7.3 Configurare la rete . . . . . . . . . . . . . . . . . . . . 79 3.7.4 Configurazione del login . . . . . . . . . . . . . . . . . 81 3.7.5 Impostazioni susewm (Windowmanager) . . . . . . . . 82 3.7.6 Amministrazione degli utenti . . . . . . . . . . . . . . . 82 3.7.7 Amministrazione dei gruppi . . . . . . . . . . . . . . . 84 3.7.8 Creare i Backup . . . . . . . . . . . . . . . . . . . . . . 85 3.7.9 Impostazioni per la sicurezza del sistema . . . . . . . . 86 3.7.10 Impostare i fonts della console . . . . . . . . . . . . . . 86 3.7.11 Impostare il fuso orario . . . . . . . . . . . . . . . . . . 87 3.7.12 Configurare XFree86[tm] . . . . . . . . . . . . . . . . . 87 3.7.13 Configurare gpm . . . . . . . . . . . . . . . . . . . . . 87 3.7.14 Modificare il file di configurazione . . . . . . . . . . . . 88 4 Boot e Boot manager 91 4.1 Il processo di boot sul PC . . . . . . . . . . . . . . . . . . . . . 91 4.2 I boot concept . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.3 Introduzione a LILO : un riassunto . . . . . . . . . . . . . . . . 93 4.4 Un LILO su misura: configurazione . . . . . . . . . . . . . . . . 97 4.4.1 La struttura del file lilo.conf . . . . . . . . . . . . . 97 4.4.2 Ulteriori possibilità di configurazione facoltative . . . . 100 4.5 Installazione e disinstallazione di LILO . . . . . . . . . . . . . . 103 4.6 Creare un dischetto di boot di Linux . . . . . . . . . . . . . . . 106 4.7 Esempi di configurazione . . . . . . . . . . . . . . . . . . . . . 108 4.7.1 DOS/Windows 95/98 e Linux . . . . . . . . . . . . . . 108 4.7.2 Windows NT e Linux su un hard disk . . . . . . . . . . 109 4.7.3 OS/2 e Linux . . . . . . . . . . . . . . . . . . . . . . . 110 4.7.4 DOS, OS/2 e Linux . . . . . . . . . . . . . . . . . . . . 111 4.8 Problemi con LILO . . . . . . . . . . . . . . . . . . . . . . . . 111 4.8.1 Diagnosi degli errori: comunicazioni-start di LILO . . . 113 4.8.2 Limite dei primi 1024-cilindri . . . . . . . . . . . . . . 115 4.8.3 Speciali problemi con il boot a partire dal kernel 2.0 . . 117 4.9 Configurazione dello start tramite loadlin . . . . . . . . . . . . 118 4.9.1 Files necessari per loadlin . . . . . . . . . . . . . . . . 119 4.9.2 Configurare boot-menu . . . . . . . . . . . . . . . . . . 120 4.9.3 Fare lo start da Windows . . . . . . . . . . . . . . . . . 121 4.9.4 Il menu start di Windows . . . . . . . . . . . . . . . . . 121 iii Indice 5 Il sistema X Window 127 5.1 Sfondo storico . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 5.2 La nuova versione 4.x di XFree86 . . . . . . . . . . . . . . . . 128 5.3 Configurazione con SaX2 . . . . . . . . . . . . . . . . . . . . . 130 5.3.1 Prima installazione . . . . . . . . . . . . . . . . . . . . 130 5.3.2 Riconfigurazione . . . . . . . . . . . . . . . . . . . . . 141 5.3.3 Troubleshooting . . . . . . . . . . . . . . . . . . . . . 141 5.3.4 Il log file dell'X-Server . . . . . . . . . . . . . . . . . . 146 5.3.5 Start dell'X Window System . . . . . . . . . . . . . . . 147 5.4 Configurazione tramite SaX . . . . . . . . . . . . . . . . . . . 148 5.4.1 Configurare di nuovo . . . . . . . . . . . . . . . . . . . 156 5.4.2 Risoluzione di eventuali problemi . . . . . . . . . . . . 156 5.5 Configurazione con xf86config . . . . . . . . . . . . . . . . 157 5.6 Come ottimizzare l'installazione del sistema X Window . . . . . 166 5.6.1 Inserire ulterioni fonts (True Type) . . . . . . . . . . . . 170 5.6.2 Impostazione degli input devices . . . . . . . . . . . . . 173 5.6.3 Accelerazione 3D . . . . . . . . . . . . . . . . . . . . . 175 6 L'hardware in un computer Linux 177 6.1 Nota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.2 Schede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.2.1 Schede PCI e ISA . . . . . . . . . . . . . . . . . . . . . 177 6.3 Scheda audio . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 6.3.1 Configurare le schede sound con YaST2 . . . . . . . . . 181 6.3.2 Configurare la scheda audio con alsaconf . . . . . . . . 182 6.3.3 Allacciamenti seriali . . . . . . . . . . . . . . . . . . . 183 6.3.4 Allacciamenti paralleli . . . . . . . . . . . . . . . . . . 183 6.3.5 USB ­ Universal Serial Bus . . . . . . . . . . . . . . . 185 6.4 Device cambiabile . . . . . . . . . . . . . . . . . . . . . . . . . 188 6.4.1 Dispositivi per dischetti . . . . . . . . . . . . . . . . . 188 6.4.2 Drives LS 120 . . . . . . . . . . . . . . . . . . . . . . 189 6.4.3 Dispositivi ZIP . . . . . . . . . . . . . . . . . . . . . . 189 6.5 Modem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 6.5.1 Modem esterni . . . . . . . . . . . . . . . . . . . . . . 190 6.5.2 Modem interni . . . . . . . . . . . . . . . . . . . . . . 190 6.6 Streamer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 iv Indice 7 Notebooks con schede-PCMCIA, APM e dispositivi IrDA 195 7.1 PCMCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 7.1.1 L'hardware . . . . . . . . . . . . . . . . . . . . . . . . 195 7.1.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . 196 7.1.3 Configurazione . . . . . . . . . . . . . . . . . . . . . . 196 7.1.4 Cnfigurazioni per cambiare: gli "Schemi" . . . . . . . . 198 7.1.5 Se, nonostante tutto, non funziona . . . . . . . . . . . . 199 7.1.6 Installazione via PCMCIA . . . . . . . . . . . . . . . . 203 7.1.7 Altri programmi d'aiuto . . . . . . . . . . . . . . . . . 203 7.1.8 Compilare PCMCIA . . . . . . . . . . . . . . . . . . . 204 7.2 APM ­ Power management . . . . . . . . . . . . . . . . . . . . 205 7.2.1 Requisiti . . . . . . . . . . . . . . . . . . . . . . . . . 205 7.2.2 Il kernel giusto . . . . . . . . . . . . . . . . . . . . . . 206 7.2.3 L' APM-daemon . . . . . . . . . . . . . . . . . . . . . 206 7.2.4 Altri comandi . . . . . . . . . . . . . . . . . . . . . . . 207 7.2.5 Pausa per il disco rigido . . . . . . . . . . . . . . . . . 207 7.3 IrDA ­ Infrared Data Association . . . . . . . . . . . . . . . . . 207 8 Stampa 211 8.1 Principi e premesse per la stampa . . . . . . . . . . . . . . . . . 211 8.1.1 Le diverse lingue standard della stampante . . . . . . . 211 8.1.2 La problematica delle stampanti GDI . . . . . . . . . . 212 8.1.3 Hardware e software . . . . . . . . . . . . . . . . . . . 212 8.1.4 Definizione di un'unità di disco per la stampante . . . . 213 8.2 Collegare localmente la stampante . . . . . . . . . . . . . . . . 214 8.2.1 Le interfaccie parallele . . . . . . . . . . . . . . . . . . 214 8.2.2 Schede speciali: ISA-PnP e PCI . . . . . . . . . . . . . 215 8.2.3 Collegamento USB . . . . . . . . . . . . . . . . . . . . 217 8.3 lpd: Print manager e tool . . . . . . . . . . . . . . . . . . . . . 218 8.3.1 Il print manager in sottofondo . . . . . . . . . . . . . . 218 8.3.2 Tool supplementari e tools di controllo per l'utente . . . 218 8.4 lpr: inviare gli incarichi di stampa . . . . . . . . . . . . . . . . 220 8.5 SETUP (lprsetup): configurazione del sistema di stampa . . . 222 8.5.1 Indicazioni su lprsetup . . . . . . . . . . . . . . . . . . 222 8.5.2 Prova della stampante . . . . . . . . . . . . . . . . . . 224 8.5.3 Casi speciali . . . . . . . . . . . . . . . . . . . . . . . 224 8.6 L'apsfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 8.6.1 Funzionamento dell' apsfilters . . . . . . . . . . . . . . 224 8.6.2 Configurazione dell' apsfilters . . . . . . . . . . . . . . 226 v Indice 8.6.3 Ricerca degli errori nell'apsfilter . . . . . . . . . . . . . 228 8.7 Stampare nella rete TCP/IP . . . . . . . . . . . . . . . . . . . . 229 8.7.1 Vista d'insieme: i singoli casi . . . . . . . . . . . . . . 229 8.7.2 Configurazione: Printer forwarding queue sul client . . . 230 8.7.3 Configurazione: prefilter sul client . . . . . . . . . . . . 231 8.7.4 Se ci sono problemi: . . . . . . . . . . . . . . . . . . . 232 8.8 Informazioni su ghostscript . . . . . . . . . . . . . . . . . . . . 233 8.8.1 Esempi di lavori con ghostscript . . . . . . . . . . . . . 233 8.9 Esempi di alcuni filtri per stampante . . . . . . . . . . . . . . . 235 8.9.1 Premessa . . . . . . . . . . . . . . . . . . . . . . . . . 235 8.9.2 Un semplice esempio sul metodo fondamentale di lavoro 236 8.9.3 Un esempio un po' complesso . . . . . . . . . . . . . . 239 9 Il kernel 243 9.1 Le sorgenti del kernel . . . . . . . . . . . . . . . . . . . . . . . 243 9.2 Moduli del kernel . . . . . . . . . . . . . . . . . . . . . . . . . 244 9.3 Configurazione del kernel . . . . . . . . . . . . . . . . . . . . . 246 9.4 Impostazioni di configurazione del kernel . . . . . . . . . . . . 247 9.5 Compilare il kernel . . . . . . . . . . . . . . . . . . . . . . . . 247 9.6 Installare il kernel . . . . . . . . . . . . . . . . . . . . . . . . . 248 9.7 Creare il disco di caricamento . . . . . . . . . . . . . . . . . . 249 9.8 Pulire il disco rigido dopo la compilazione del kernel . . . . . . 250 10 Parametri del kernel 251 10.1 I driver nel kernel . . . . . . . . . . . . . . . . . . . . . . . . . 251 10.2 Alcuni suggerimenti . . . . . . . . . . . . . . . . . . . . . . . . 252 10.3 I parametri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 10.3.1 Formulazione e significato . . . . . . . . . . . . . . . . 253 10.3.2 Parametri del kernel nel bootprompt . . . . . . . . . . . 254 10.3.3 CD-ROM-device al proprio Controller . . . . . . . . . . 265 10.3.4 Parametri modprobe . . . . . . . . . . . . . . . . . 267 11 Update del sistema e amministrazione dei pacchetti 287 11.1 Update di SuSE Linux . . . . . . . . . . . . . . . . . . . . . . 287 11.1.1 Preparazione . . . . . . . . . . . . . . . . . . . . . . . 287 11.1.2 Update con YaST2 . . . . . . . . . . . . . . . . . . . . 288 11.1.3 Update con YaST1 . . . . . . . . . . . . . . . . . . . . 289 11.1.4 Attualizzare i singoli pacchetti . . . . . . . . . . . . . . 290 11.2 Da versione a versione . . . . . . . . . . . . . . . . . . . . . . 291 vi Indice 11.2.1 Dalla versione 5.x alla 6.0 . . . . . . . . . . . . . . . . 291 11.2.2 Dalla versione 6.0 alla 6.1 . . . . . . . . . . . . . . . . 292 11.2.3 Dalla versione 6.1 alla 6.2 . . . . . . . . . . . . . . . . 292 11.2.4 Dalla versione 6.2 alla 6.3 . . . . . . . . . . . . . . . . 293 11.2.5 Dalla versione 6.3 alla 6.4 . . . . . . . . . . . . . . . . 294 11.2.6 Dalla versione 6.4 alla 7.0 . . . . . . . . . . . . . . . . 296 11.2.7 Dalla versione 7.0 alla 7.1 . . . . . . . . . . . . . . . . 298 11.2.8 Dalla versione 7.1 alla 7.2 . . . . . . . . . . . . . . . . 298 11.2.9 Dalla versione 7.2 alla 7.3 . . . . . . . . . . . . . . . . 299 11.3 RPM ­ Il package-manager della distribuzione . . . . . . . . . . 300 11.3.1 Controllare l'autenticità di un pacchetto . . . . . . . . . 300 11.3.2 Amministrare i pacchetti: installarli, farne l'aggiorna- mento e disinstallarli . . . . . . . . . . . . . . . . . . . 300 11.3.3 Inoltrare richieste . . . . . . . . . . . . . . . . . . . . . 302 11.3.4 Installare e compilare i pacchetti dei sources . . . . . . 304 11.3.5 Tools per gli archivi RPM e la banca dati RPM . . . . . 305 12 Particolarità in SuSE Linux 307 12.1 Filesystem Hierarchy Standard (FHS) e Linux Standard Base (LSB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 12.1.1 Filesystem Hierarchy Standard (FHS) . . . . . . . . . . 307 12.1.2 Linux Standard Base (LSB) . . . . . . . . . . . . . . . 307 12.1.3 teTeX ­ TEX su SuSE Linux . . . . . . . . . . . . . . . 307 12.2 Esempi di ambienti per FTP ed HTTP . . . . . . . . . . . . . . 307 12.3 Indicazioni su pacchetti software speciali . . . . . . . . . . . . 308 12.3.1 Il pacchetto xdevel o xdevel33 . . . . . . . . . . . . 308 12.3.2 Il pacchetto Cron . . . . . . . . . . . . . . . . . . . . . 308 12.3.3 Il pacchetto Curses . . . . . . . . . . . . . . . . . . . 308 12.3.4 Sorgenti del pacchetto uucp . . . . . . . . . . . . . . . 309 12.3.5 Manual-Pages . . . . . . . . . . . . . . . . . . . . . . . 309 12.3.6 Il comando ulimit . . . . . . . . . . . . . . . . . . . 309 12.4 Cricamento con l'"initial ramdisk" . . . . . . . . . . . . . . . . 310 12.4.1 Il concetto dell'initial ramdisk . . . . . . . . . . . . . . 310 12.4.2 Processo di caricamento con initrd . . . . . . . . . . . . 311 12.4.3 Bootloader . . . . . . . . . . . . . . . . . . . . . . . . 311 12.4.4 Uso di initrd su SuSE . . . . . . . . . . . . . . . . . 312 12.4.5 Possibili difficoltà ­ kernel "auto"-compilati . . . . . . . 313 12.4.6 Prospettiva . . . . . . . . . . . . . . . . . . . . . . . . 314 12.5 linuxrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 vii Indice 12.6 Il sistema di salvataggio di SuSE . . . . . . . . . . . . . . . . . 319 12.6.1 Preparazione . . . . . . . . . . . . . . . . . . . . . . . 319 12.6.2 Inizializzare il sistema di salvataggio . . . . . . . . . . 320 12.6.3 Lavorare con il sistema di salvataggio . . . . . . . . . . 321 12.7 Console virtuali . . . . . . . . . . . . . . . . . . . . . . . . . . 323 12.8 Impostazione della tastiera . . . . . . . . . . . . . . . . . . . . 323 12.9 Adattamenti locali . . . . . . . . . . . . . . . . . . . . . . . . . 324 12.9.1 Adattamento per il supporto della lingua . . . . . . . . . 325 13 Il concetto boot di SuSE Linux 327 13.1 Il programma init . . . . . . . . . . . . . . . . . . . . . . . . . 327 13.2 Il runlevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 13.3 Cambiare il runlevel . . . . . . . . . . . . . . . . . . . . . . . . 329 13.4 Gli script Init . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 13.5 /etc/rc.config e SuSEconfig . . . . . . . . . . . . . . . . . 332 13.6 La variabile /etc/rc.config ­ configurazione del sistema . . 333 A Manual-Page di e2fsck 347 B La Licenza Pubblica GNU (GPL) 351 C Le combinazioni di tasti più importanti 359 viii 1 Introduzione 1 Introduzione 1.1 Cos'è "Linux"? Il vero "Linux" è il Kernel, il "cuore" di ogni sistema operativo Unix. Un kernel (da solo) non fà un sistema operativo. Proprio per Unix esiste un'e- norme offerta di software libero; in questo modo, praticamente tutti i correnti programmi di servizio funzionanti su Unix, sono disponibili anche per Linux: essi compongono il sistema operativo vero e proprio. In molti casi, i programmi di servizio sono le versioni dei relativi programmi Unix; nella maggior parte dei casi, essi offrono persino una maggiore funzio- nalità. Uno dei programmi più conosciuti è il Compiler GNU C/C++, uno dei migliori; da non dimenticare sono anche i diversi piccoli attrezzi da usare nelle righe di comando, negli shell script o anche come programmi a sé stanti: si va dalle utilities per le finestre comando, i file e i testi, sed, awk e perl fino agli editor (vi) o al completo ambiente di lavoro (Emacs). Il tutto viene completato da XFree86 TM (al momento, nella versione 4.1.0), cioè l' X Window System (al momento attualmente X11 Release 6.4) per sistemi Unix basati su PC. Questa "portabilità" deriva dalla distribuzione ufficiale di X11R6.4 dell'X Consortium, Inc. ed è perciò del tutto compatibile con questo standard. Tutti questi componenti ­ assieme agli programmi aggiuntivi (p.e. TEX, il siste- ma videoscrittura e composizione) e "bocconcini" (come p.e. giochi) ­ formano quello che è generalmente conosciuto con il nome di Linux. Come già accennato, esiste tuttavia una riserva quasi infinita di software libero per Unix, cosicché esistono moltissime possibilità di comporre un sistema Linux. E qui entrano in campo le distribuzioni di Linux, come per esempio la presente distribuzione SuSE Linux. I distributori vagliano l'enorme offerta di software libero e fanno una scelta. Nota Assieme a software libero ­ cioè software le cui sorgenti (ingl. sources) sono liberamente disponibili e perciò contenute su questi CD-ROM ­ SuSE Linux contiene anche pacchetti software che, per diverse ragioni, possono venire forniti da SuSE solo in forma compilata Inoltre, dal momento che la maggior parte delle distribuzioni è reperibile anche su Internet, non è necessario acquistare la nuova distribuzione per aggiornare occasionalmente il proprio software. 1 1 Introduzione 1.2 Intenzione di questo libro ­ Indicazioni sull'uso Abbiamo concepito questo libro espressamente come aiuto per l'installazione: esso non può e non vuole sostituire la vasta letteratura che dà accesso all'affa- scinante mondo dell'high performance computing ­ a questo riguardo, si veda la bibliografia alla fine del libro (capitolo 13.6 a pagina 360ff.)! La dinamica di Linux e del software libero sono una sfida, quando si tratta di creare un manuale in grado di tenere il passo con gli ultimi sviluppi e che sia allo stesso tempo adatto ai neòfiti di Unix, senza annoiare le "le vecchie volpi". Il presente manuale prova a tenere conto di tutte queste esigenze. Questo manuale vuole rendere SuSE Linux trasparente. Esso si divide nelle seguenti parti: Guida all'installazione: Esempio d'installazione commentato (capitolo 2 a pa- gina 7), completo di possibili fonti di errori ed indicazioni concrete per l'eliminazione di eventuali problemi subentrati durante l'installazione. YaST: Introduzione al programma di installazione e di amministrazione SuSE, YaST TM (capitolo 3 a pagina 47). Introduzione al caricamento del kernel (capitolo 4 a pagina 91). Superficie utente grafica: l'attivazione della superficie utente XFree86 TMè tema del capitolo 5 a pagina 127. Sound, scanner, notebook, stampante etc.: dal capitolo 6 a pagina 177 fino al capitolo 8 a pagina 211 vengono sondate le possibilità del Vostro hardware. Linux ­ il kernel: in questa parte del manuale, si viene al punto: il capitolo 9 a pagina 243 e il capitolo 10 a pagina 251 presentano il kernel di Linux ed offrono una guida sul come creare ed usare un proprio kernel. Update, pacchetti software, concetto di boot: il capitolo 11 a pagina 287 di- scute le strategie per l'hardware e la gestione del software; il capitolo 13 a pagina 327 Vi spiega le speciali feature di SuSE Linux e Vi presenta l'inizializzazione del sistema (concetto di boot) (capitolo 13 a pagina 327). Particolarità di SuSE Linux: qui farete conoscenza con il file system di SuSE Linux e con il suo sistema di testo TEX Vi occuperete anche di speciali pac- chetti software e del sistema di "salvataggio" di SuSE... e di molte altre cose ancora. Il concetto di boot di SuSE Linux: nel capitolo 13 a pagina 327, imparerete molto sul programma init, sui runlevel e sui file di configurazione del sistema. Appendice tecnica: nell'appendice, trovate un elenco dei più importanti file di configurazione, le combinazioni di tasti più frequenti, file esempio, una disposizione di licenza ed altro. Bibliografia ed indice: . . . e se fin'ora Vi è mancato qualcosa, passate all'appendice. 2 1.3 Legenda ­ o cosa significa terra: ls 1.3 Legenda ­ o cosa significa terra: ls Abbiamo cercato di standardizzare la tipografia di questo manuale: i contrassegni principali sono riportati nella tabella 1.1. Contrassegno Significato LINUS TORVALDS persone importanti YaST (yast) il programma YaST, da chiamarsi con l'inserzione yast Adabas D il prodotto Adabas D /etc/passwd nome di un file o di una directory alla digitazione di un comando, sostituire file con il valore reale; le parentesi quadre NON devono venire digitate! PATH la variabile ambiente con il nome PATH 192.168.1.2 valore di una variabile ls il comando da digitare ls `news' l'utente news terra:~# aiuto o finestra di comando del `root' nel- l'indirizzario ~ (`~', sta per la "Home- directory" del rispettivo utente). Digitate il comando aiuto ­ terra è un esempio di nome di un computer (ingl. hostname). tux@terra:/tmp > ls finestra di comando dell'utente `tux' nel- l'indirizzario /tmp. Digitate il comando ls ­ in caso non lo sapeste, TUX è il nome ufficiale del pinguino di Linux. . . C:\> fdisk DOS-Prompt con inserimento del comando fdisk § ¤ ¦Alt ¥ un tasto da premere, in questo caso il tasto "Alt" § ¤ § ¤ § ¤ ¦Ctrl ¥+ ¦Alt ¥+ ¦Entf ¥ con `+' vengono collegati i tasti da pre- mere contemporaneamente; tasti da preme- re uno dopo l'altro vengono divisi da uno spazio "Permission denied" comunicazione del sistema `Update del sistema' il punto del menu `Update del siste- ma' pagina di manuale di mount Riferimento alla manual page di mount (man 8 mount) nella sezione 8 Arcimende la ditta "Arcimende" Tabella 1.1: Leggenda 3 1 Introduzione 1.4 Allori Assieme a tutti coloro che hanno portato Linux al successo, vogliamo rin- graziare EBERHARD MÖNKEBERG, sempre pronto a risolvere i problemi di unità disco del CD-ROM. Grazie anche a HANS LERMEN; è suo il famoso loadlin (loadlin.exe) che permette di inizializzare Linux da DOS, nonché il programma DOSSetup (setup.exe) di questo sistema Linux. Queste "anime compassionevoli" hanno contribuito a far diventare realtà le com- pilazioni di YaST- e linuxrc; tutti hanno contribuito, nel loro tempo libero, a por- tare Linux ad un grosso numero di utenti di PC: Jesús Bravo Álvarez, Gunay Arslan, Jaume Badiella i Aguilera, Zbigniew Baniewski, Sándor Bárány, Olaf Borkner-Delcarlo, Michael Bravo, Görkem Çetin, Franca Delcarlo, Jochen De- pner, Benedek Hermann, Ibán José García Castillo, Dora Georgarou (with Romy the barking dog), Jonas-Gintaras Gocentas, Pablo Iranzo Gómez, Krzysztof Ho- tiuk, Milan Hromada, Arthur Kerkmeester, Ralf A. Lanz, Françoise Lermen, Zoltán Levárdy, Nuno Lima, Francisco Javier Moreno Sigüenza, Tomas Mor- kus, Karine Nguyen, Matts Nordman, Aleksey Novodvorsky, Razvan Cristian Oprea, Gerco Oudhof, Jordi Jaen Pallares, George Papamichelakis, Alexey Pa- vlov, Ákos Rátkai, Bruno David Rodrigues, Voula Sanida, Gabor Sari, Aleksey Smirnov, Laszlo Varadi, Steve Varadi, P. Vlachodimitropoulos, Joao Teles, Nuno Vieira, January Weiner, Monika Weiß e I Made Wiryana. Antje Faber ha avuto il compito faticoso ma avvincente di coordinare le traduzioni. Un ringraziamento particolare a tutti i "Beta-Tester", che, molto coraggiosamen- te e incuranti di ogni rischio, hanno messo a repentaglio il loro sistema funzio- nante: Andreas Koegel, Christian Hüttermann, Dirk Ulbrich, Eberhard Mönke- berg, Frank Hofmann, Georg C. F. Greve, Harald König, Harald Wieland, Kar- lo Gross, Jens Frank, Lutz Pressler, Martin Hehl, Martin Konold, Martin Schul- ze, Michael Kleinhenz, Norbert Eicker, Oliver Zendel, Ralf Geschke, Ste- fan Bliesener, Thomas Wörner, Ulrich Goebel, Ulrich Windl, Volker Lendecke, Wolfgang Barth e das KDE Team. Matthias Eckermann ha rielaborato i macros di LATEXe ha adattato il layout del manuale alle esigenze dei lettori moderni e Manuela Piotrowski ha fornito le definizioni grafiche: in questo caso è stata presa come base la classe dei docu- menti KOMA di Frank Neukam e Markus Kohm, arricchita dei "vecchi" macro di susebuch, a cura di Werner Fink e Martin Scherbaum. Ad Andrea Ratschker e Ken Wimer è toccata la fatica di creare ed elaborare le immagini. Anche a loro: molte grazie. Alla creazione dei precedenti testi del manuale avevano partecipato: Bodo Bauer, Rüdiger Berlich, Daniel Bischof, Michael Burghart, Roland Dyroff, Christian Egle, Klaus Franken, Fritz Ganter, Jürgen Geck, Rolf Haberrecker, Olaf Hering, Marc Heuse, Carsten Höger, Dirk Hohndel, Florian La Roche, Ralf Lanz, Vol- ker Lendecke, Hans Lermen, Arndt Mehlhorn, Jay Migliaccio, Norbert Munkel, Jordi Jaen Pallares, Christoph-Erdmann Pfeiler, James Samuel, Martin Scher- baum, Adrian Schröter, Burchard Steinbild, Gabriele Strattner, Jörg Strebel, Ste- ve Tomlin, Thorsten Wandersmann, Udo Weber, Michael Weyrauch e Stefan Wintermeyer. Marco Banse, Stephan Barth, Martin Bergmann, Manfred Blumenthal, Bettina 4 1.4 Allori Botter, Stefan Dirsch, Uwe Drechsel, Thomas Fehr, Peter Findeisen, Matthias Frühauf, Kurt Garloff, Reinhard Gerndt, Lenz Grimmer, Iris Grossmann, Ber- thold Gunreben, Michael Hager, Torsten Hallmann, S. H. A. Handgraaf, Michael Hasenstein, Ulrich Hecht, Fabian Herschel, Bernhard Hölcker, Kevin Ivory, An- dreas Jaeger, Klaus Kämpf, Karsten Keil, Wolfgang Kern, Andi Kleen, Sabine Kleine, Marcus Kraft, Thorsten Kukuk, Werner Kurk, Frank Lemser, Hans Ler- men, Dirk Lerner, Christopher Mahmood, Walter Mecky, Marco Michna, Rü- diger Oertel, Ali Özcan, Norman Pancner, Dirk Pankonin, Petr Pavlík, James Ogley, Siegfried Olschner, Milisav Radmanic, David Rasch, Andrea Ratschker, Marion Reyzl, Rupert Rockinger, Anja Schambach, Manfred Schlenzka, Robert Schmid, Andreas Schmidt, Helmut Schoeberl, Dirk Spilker, Roger Whittaker, Sandra Wiegratz, Steffen Winterfeldt und Olaf Zaplinski hanno fornito preziose delucidazione; grazie! Holger Dyroff, Christian Egle, Claudio Taulli e Nicole Zwerenz si sono occupati in prima linea del supporto della produzione tecnica. Infine, un grazie a tutti coloro che hanno fatto in modo che tutto funzionasse al momento giusto. anche a lui il nostro anche a lui grazie! * * * * I programmatori di Linux ne realizzano lo sviluppo in tutto il mondo con molto entusiasmo. Li ringraziamo di cuore per il loro impegno volontario. Senza di loro non ci sarebbe questo prodotto. Il nostro impegno è quello di portare Linux ad un vasto numero di utenti. Il nostro ringraziamento va sopratutto a PATRICK VOLKERDING per il sostegno prestato al nostro lavoro e, naturalmente, anche a LINUS TORVALDS! E naturalmente a: Frank Zappa e Pawar! Nürnberg, Castelnuovo Rangone 25 ottobre 2001 Have a lot of fun! Il Vostro SuSE Team 5 1 Introduzione 6 2 La prima Installazione di SuSE Linux 2 La prima Installazione di SuSE Linux 2.1 L'installazione con YaST (YaST 1) in modo di testo Con YaST di SuSE Linux (vedi capitolo 3 a pagina 47) avete a disposizione uno strumento d'installazione che Vi guida in modo sicuro alla preparazione del disco rigido, alla configurazione del software e di un login grafico. Per installare SuSE Linux, avete bisogno di un PC con i seguenti requisiti: * Potrete caricare il computer direttamente dal "dischetto di caricamento" oppure dal CD 1. Entrambi sono forniti assieme al pacchetto SuSE Linux. * Sul Vostro disco rigido esiste una partizione con spazio sufficiente per l'installazione di Linux oppure è possibile creare una o più partizioni per Linux. * L'unità disco del Vostro CD-ROM CD-ROM è supportato da Linux. Se non sapete se il Vostro computer risponda ai requisiti suddetti, niente paura: potrete accertarvene. Se non dovesse essere soddisfatta una delle suddette condizioni, esistono "strade alternative" che permettono ugualmente di eseguire l'installazione. Consultate al proposito la sezione 2.3 a pagina 27). 2.1.1 E ora cominciamo: la schermata iniziale Accendete il computer e inserite il CD 1 e/o il dischetto di boot nei corrispondenti lettori. Se il computer si rifiutasse di fare il boot, dovrete cambiare la sequenza di caricamento nel BIOS in CDROM,C,A o CDROM,C,A. Dopo pochi istanti, appare la schermata iniziale (figura 2.1 nella pagina se- guente). Entro 10 secondi, premete `Installazione manuale', per evitare che venga avviato automaticamente YaST2. Se il Vostro hardware li richiede, digitate i parametri di caricamento nella riga boot options, dopo manual. Generalmente tali parametri non sono necessari. Vi apparirà una comunicazione sul progresso del caricamento e sul "Loading Linux kernel". Quindi si caricherà il Kernel e partirà linuxrc. Il programma linuxrc viene guidato da un menù e aspetta solo le Vostre indicazioni. 7 2 La prima Installazione di SuSE Linux Figura 2.1: La schermata iniziale di SuSE Linux Problemi possibili * Se Vi si ferma il lettore CD-ROM (ATAPI) durante il boot del sistema, consultate la sezione 2.4.6 a pagina 35. * Il CD 1, che funziona con un kernel ottimizzato per i processori Pentium, non viene riconosciuto come mezzo di caricamento. Cercate di usare il "dischetto di caricamento" o il CD 2; vd.sezione 2.4.2 a pagina 32. * Con le schede grafiche del tipo FireGL 1, 2 o 3, non si parte con il modo grafico (Framebuffer). In questo caso, l'installazione deve venire eseguita nel modo di testo. * In generale si possono evitare difficoltà di caricamento configurando i parametri del kernel; vedi sezione 10.3.2 a pagina 254 ss. 2.1.2 Inizializzare linuxrc Con il programma linuxrc, potrete eseguire tutte le impostazioni all'installazione. In caso di necessità, potrete caricare le unità di disco in forma di moduli del kernel. Alla fine, il programma linuxrc farà partire YaST e quindi anche la vera e propria installazione del sistema e delle applicazioni. 8 2.1 L'installazione con YaST (YaST 1) in modo di testo § ¤§ ¤ L'uso di linuxrc non è complicato: con ¤ § ¤ ¦ ¥e¦ ¥scegliete un punto del menù, con § ¦ ¥e ¦ ¤ ¥scegliete un comando (per esempio `Ok' o `Interruzione'). Con § ¦ ¥viene eseguito il comando. Troverete una descrizione esatta di linuxrc nella sezione 12.5 a pagina 314 ss. Impostazioni Il programma linuxrc comincia con la scelta della lingua. Figura 2.2: La scelta della lingua § ¤ * Scegliete la lingua (`Italiano') Con ¦ ¥viene eseguito il comando. * Con i tasti freccia, scegliete fra schermo a colori o in bianco e nero. Se avete § ¤ uno schermo a colori, confermate ancora con ¦ ¥. * Scegliete la tastiera. Normalmente, non farete altro che confermare con § ¤ ¦ ¥quello che avete già configurato, ovvero l'`Italiano', a meno che non abbiate un'altra tastiera. Possibili problemi * YaST non offre l'impostazione desiderata della tastiera. In tal caso, scegliete prima un'impostazione alternativa (compromesso: `English (US)'; dopo l'installazione, sarà possibile cambiare con YaST. Integrazione dell'hardware nel sistema tramite moduli Ora, ci troviamo nel menù principale del programma linuxrc (figura 2.3 nella pagina successiva). Qui esistono le seguenti opzioni: 9 2 La prima Installazione di SuSE Linux Figura 2.3: Menù principale di linuxrc `Configurazioni' avete qui ancora la possibilità di cambiare la lingua, lo schermo o la tastiera. `Informazioni sul sistema' per gli interessati, sono a disposizione una quantità di informazioni sull'hardware, se è stato riconnosciuto dal kernel o se corrisponde ai moduli già caricati. `Moduli del kernel (Hardware-Driver)' dovrete eventualmente usare questa opzione per caricare i moduli adatti all'hardware. Di regola: Se avete collegato sia i(l) disco/i rigido/i che l'unità di disco del CD-ROM (ATAPI) ad un (E)IDE-Controller, non avete bisogno di usare questo punto del menù. Il supporto (E)IDE è parte integrante del kernel. `Installazione / Inizializzare il sistema' Da qui, continua l'in- stallazione. `Interruzione/Reboot' Nel caso che cambiate idea. . . . Scegliete di caricare i moduli del kernel con `Moduli del kernel' solo se avete bisogno di supporto per SCSI o per PCMCIA(vedi capitolo 7.1.6 a pagi- na 203) o se il CD-ROM device da cui si deve installare, non è un ATAPI-device; Nel capitolo 12.5 a pagina 314 potrete leggere come caricare i moduli. Nel se- guente sottomenu, selezionare il motivo per cui volete (o meglio dovete) caricare i moduli. EccoVi le domande che appariranno: Un modulo SCSI ­ se avete un hard dusj SCSI o uno SCSI-CD-ROM-device. Un modulo CD-ROM ­ se il Vostro CD-ROM-device non si trova all'(E)IDE- Controller o allo SCSI-Controller. Un modulo rete ­ se volete installare tramite NFS o FTP ­ questo non è però il nostro tema; vedi capitolo 2.3.1 a pagina 27. 10 2.1 L'installazione con YaST (YaST 1) in modo di testo Suggerimento Se fra i moduli standard non trovate alcun supporto per il Vostro mez- zo d'installazione (CD-ROM device individuale, port-parallelo-CD-ROM- device, rete, PCMCIA), potete eventualmente ricorrere ai drivers sup- plementari del dischetto dei moduli. A questo scopo, andate fino alla fine della lista, e lì selezionate il punto `-- Moduli supplementari --'; in questo caso, linuxrc richiede il dischetto dei moduli. Avviare l'installazione Poichè `Installazione/Inizializzare il sistema' è già stato selezio- § ¤ nato, ora non dovete far altro che premere ¦ ¥per passare all'installazione vera e propria. Figura 2.4: Menu di installazione di linuxrc Qui potete selezionare i seguenti punti: `Iniziare l'installazione/aggiornamento' È ciò che farete subito. `Fare il boot del sistema installato' Questo punto sarà eventual- mente necessario più avanti, se dovessero esserci dei problemi durante il boot regolare. `Inizializzare il sistema di salvataggio' Per ora, questo punto è disponibile solo su sistemi IBM-compatibili (IA 32). `Eject CD' Questo comando fa espellere il CD. 11 2 La prima Installazione di SuSE Linux § ¤ Per arrivare all'installazione, premete solo ¦ ¥dopo aver scelto il punto del menù `Iniziare l'installazione'; dovete quindi solo scegliere il Vostro mezzo sorgente o lasciare il cursore sul prescelto: il `CD-ROM'. Figura 2.5: Scegliere il mezzo sorgente in linuxrc § ¤ Premete ora ¦ ¥ . d'installazione su una RAM. Ciò è possibile solo su computer con molta RAM (256 MB); in computer con poca RAM, l'installazione verrà avviata direttamente dal CD 1. Al termine del processo, verrà lanciato il programma di installazione YaST1 (vedi figura 2.6 nella pagina successiva)) per iniziare l'installazione vera e propria. Problemi possibili * L'adapter SCSI non viene riconosciuto: ­ Cercate di caricare il modulo di un'unità disco compatibile. ­ Usate un kernel che con l'unità disco SCSI corrispondente; create un dischetto di caricamento come descritto nella sezione 2.4.3 a pagina 32. * Il dispositivo CD-ROM ATAPI si inceppa durante la lettura: vd. 2.4.6 a pa- gina 35 e la sezione Problemi generali dell'hardware nel capitolo Amministrazione del sistema del manuale di configurazione. * Per motivi fino ad ora "oscuri", possono verificarsi problemi nel caricamento dei dati sulla RAM e YaST potrebbe non venire caricato. Nella maggior parte dei casi, il seguente metodo ha risolto la situazione: Nel menù principale di linuxrc, scegliete `Configurazioni' `De- bug (Expert)', dove imposterete `Forza root image' (ingl. Force root image) su no. Ritornate ora al menù principale e ricominciate l'installazione. 12 2.1 L'installazione con YaST (YaST 1) in modo di testo Figura 2.6: YaST in linuxrc auswählen 2.1.3 Inizializzare YaST Se avete deciso di effettuare l'installazione con YaST anzichè con YaST2, nella schermata iniziale, potrete scegliere fra quattro punti (vedi figura 2.7). Figura 2.7: YaST Schermata iniziale Nota Se volete conoscere meglio YaST o avete domande speciali, consultate il capitolo su YaST ( 3 a pagina 47 ss.)! All'inizio di questo capitolo, trovate anche accenni sul funzionamento della tastiera su YaST. 13 2 La prima Installazione di SuSE Linux `Prima installazione di Linux' Installazione di un nuovo SuSE Linux. Su questo punto ci soffermeremo in seguito. `Aggiornare il sistema Linux' Per l'aggiornamento di SuSE Linux, vd. sezione 11.1 a pagina 287. `Installazione nel modo esperto' Se scegliete questa modalità, avrete, durante l'installazione, parecchie possibilità di cambiamenti. Scegliete que- sto punto solo se conoscete già Linux, avete sufficiente esperienza e sape- te con certezza che passi fare. Sul modo esperto non ci soffermeremo in seguito! `Interruzione - nessuna installazione' Se cambiate idea all'ultimo momento. . . Scegliete ora `Installare Linux'. Prima di eseguire Voi stessi una partizione, leggete la sezione 2.5 a pagina 38; lì troverete informazioni fondamentali. 2.1.4 Partizionare e formattare l'hard disk YaST Vi comunica ora di aver trovato un hard disk. Se vi sono parti del disco li- bere, YaST le troverà e proporrà di usarle per Linux (Maschera `Usare l'area libera?'). Suggerimento Se dovesse esistere una partizione swap ­ eventualmente da un'installa- zione precedente ­, YaST la trova e chiede se deve usarla e integrare la partizione nel sistema. Per creare le partizioni necessarie, procedete così: `Fare le partizioni' ­ Generalmente, la scelta di creare o meno una par- tizione, viene effettuata ad una prima o nuova installazione di SuSE Linux (con il menu `Partizionare'). Non selezionate `Creare LVM', a meno che non sappiate che cos'è un Logical Volume Manager e non siate sicuri di averne bisogno. `Si' ­ Se selezionate `Si', YaST partiziona da sé e Voi potete continuare con la sezione 2.1.6 a pagina 17. `No' ­ Se dite `No', potete partizionare in modo interattivo. Se YaST non riesce a trovare spazio libero, appare la maschera `Usare tutto § ¤ § ¤ l'hard disk'; lì avete le seguenti due possibilità (ricordate: con ¤ § ¤ ¦Tab ¥o ¦ ¥o § ¦ ¥posizionate il cursore, mentre con ¦ ¥viene eseguita la scelta): 14 2.1 L'installazione con YaST (YaST 1) in modo di testo Figura 2.8: YaST ­ Partizionare l'hard disk `Partizionare' ­ Eseguite Voi stessi la suddivisione dell'hard disk; DOVETE scegliere questa opzione, se, assieme a Linux, volete continuare ad usare un altro sistema operativo. Il procedimento è descritto nella sezione 3.4.11 a pagina 60 `Hard disk completo' ­ Dopo una richiesta di conferma "rossa", YaST eseguirà autonomamente la partizionatura e formatterà automaticamente le partizioni create. Attenzione Se selezionate `Hard disk completo', il disco fisso viene formatta- to completamente e vanno persi tutti i dati che si trovano attualmente sull'hard disk! Scegliete l'opzione `Hard disk completo', se volete avere sul Vostro computer solo un nuovo SuSE Linux e e non volete occuparvi delle partizioni. In questo modo vengono cancellati i sistemi operativi eventualmente esistenti! Ecco la strategia di YaST alla scelta dell'opzione `Hard disk completo': * viene creata una partizione /boot (minimo 2 MB o 1 cilindro), * viene creata una partizione swap (doppia quantità di RAM, al massimo però 128MB) * il resto è una grande partizione, che viene preparata sotto `/' come partizione-root (directory root). 15 2 La prima Installazione di SuSE Linux Problemi possibili * Può succedere che ci siano dei problemi nel rileggere la tabella di partizione. YaST Vi segnalerà questo fatto in un box per le comunicazioni rosso e Vi inviterà a fare il boot. In tal caso, fate nuovamente partire il computer e rinunciate, al prossimo tentativo, a partizionare di nuovo. * Non c'è sufficiente spazio a disposizione. La sezione 2.4.1 a pagina 30 informa su come fare, con fips, a creare spazio libero sull'hard disk sotto DOS. 2.1.5 Cominciare l'installazione del software Il disco rigido è pronto. È ora di stabilire quale dei software in offerta deve venire installato. Figura 2.9: YaST ­ Scegliere i pacchetti Ora YaST Vi chiede di aspettare un po': i dati delle serie e dei pacchetti devono venire letti dal mezzo di installazione. Alla fine, appare il menù di installazione di YaST (figura 2.9). Se non volete fare alcuna scelta speciale, si continua con il punto `Iniziare l'installazione'; in questo caso potete passare subito alla sezione 2.1.7 a fronte. * Selezionate `Caricare la configurazione' per scegliere il Vostro soft- ware (workstation, serversystem, etc.); questo è tema del paragrafo 2.1.6 nel- la pagina successiva. Dopodichè, ritornate al menù d'installazione. Quando avrete caricato e confermato la configurazione desiderata, tornate al menù di installazione. * Con `Modificare/creare la configurazione' potete modificare la scelta dei pacchetti. In questo modo, arrivate alla selezione delle serie di SuSE Linux. Generalmente non ne avrete bisogno, poichè una selezione dei 16 2.1 L'installazione con YaST (YaST 1) in modo di testo pacchetti Vi mette a disposizione un sistema funzionante. Potrete sempre modificare o ampliare la scelta, dopo aver avviato Linux per la prima volta. Nel 3.5 a pagina 66 avete una descrizione dettagliata di questi menu come pure delle funzioni dei singoli punti del menu. 2.1.6 Scegliere il software di base Potete raggiungere questa maschera di YaST (figura 2.10)solo scegliendo `Caricare la configurazione' (vedi paragrafo 2.1.5 a fronte). Abbiamo messo a punto per Voi alcune configurazioni già definite. Con le frecce § ¤ § ¤ § ¤ ¦ ¥e ¦ ¥ , potete passare ai singoli punti; con ¦spazio ¥viene selezionato o desele- zionato un punto. Una (`X') nel quadrettino, significa che avete scelto questa configurazione da sostituire o da aggiungere. Un (`*') posposto significa che questa configurazione viene installata. Figura 2.10: YaST ­ Scegliere le configurazioni `Aggiungere' Con questo punto del menù, potete aggiungere i pacchetti della configurazione selezionata ai pacchetti e alle configurazioni scelti. `Sostituire' Con questo menù, potete sostituire una scelta già fatta con una nuova configurazione. Eventualmente, Vi si chiederà se desiderate cancellare pacchetti appartenenti alla configurazione. `Interrompere' Con questo menù, interrompete l'elaborazione. 2.1.7 Installare il sistema e il software Dopo tutte queste preparazioni, si tratta ora di "riempire" il disco rigido con software sensato. 17 2 La prima Installazione di SuSE Linux * Iniziate l'installazione con `Iniziare l'installazione'. Sullo scher- mo, YaST Vi mostra quale pacchetto si sta installando e quanti pacchetti seguiranno. * A seconda della configurazione, verranno poi richiesti gli altri CD. * Una volta che i pacchetti siano installati, ritornate al menù principale selezionando `Menu principale'. Problemi possibili * Se il Vostro computer ha solo "poca" RAM (8-16 MB) a disposizione, si può solo installare dal primo CD-ROM (vd. sezione 2 a pagina 12); in questo caso, gli altri CD verranno richiesti soltanto in seguito (vd. paragrafo 2.1.9 a pagina 21). * Se, durante l'installazione del software, dovessero verificarsi degli errori, ciò è quasi sempre dovuto all'hardware. Nel caso dei sistemi SCSI, controllate la lunghezza del cavo e la fine del cavo. Staccate le apparecchiature esterne (in particolar modo gli scanner), dal bus. Provate anche con i parametri del kernel (vedi paragrafo 10.3.1 a pagina 253 ss.). Nel caso di un ATAPI, consultate il 2.4.6 a pagina 35. 2.1.8 Scegliere il kernel per il sistema Il sistema di base del software è stato riportato sul disco rigido. Figura 2.11: YaST ­ scelta del kernel Adesso viene installato un kernel e viene creato sul disco fisso il bootloader LILO, se lo desiderate. Ora scegliete un kernel adatto (vd. figura 2.11); per esempio: * Il `kernel standard' è adatto per la maggioranza dei sistemi. 18 2.1 L'installazione con YaST (YaST 1) in modo di testo * Il `kernel con supporto SMP' è da usare per i sistemi a più processori. * Il `kernel con supporto APM' contiene il supporto per l'"Advanced Power Management". Attenzione Se il Vostro processore non è conforme al 100% con il Pentium, selezio- nate `Kernel per computer con processori 386 o 486'. Dovrete p.e. prendere questo kernel per un Cyrix 686. Un kernel scelto male, può portare ad un "Kernel panic"; vedi http://sdb.suse.de/sdb/de/ html/cyrix686.html. YaST Copierà questo kernel in /boot/vmlinuz e ne depositerà il file di con- figurazione su /boot e, se desiderate, anche su /usr/src/linux/.config. Questo file descrive esattamente il kernel installato e i moduli registrati! Se siete sicuri che LILO possa caricare i sistemi già installati, rispondete con `Sì' quando Vi verrà chiesto se vogliate configurare LILO (vd. anche figura 3.26 a pa- gina 78); sarà generalmente il caso di DOS e Windows 95/98 (con Windows NT le cose funzionano diversamente). (vd. paragrafo 4.7.2 a pagina 109) Nella sezione 3.7.2 a pagina 77, troverete indicazioni sulla compilazione delle singole maschere. 2.1.9 Configurazione di base del sistema con YaST Dopo la scelta del kernel, tocca ora alla configurazione di base. Vengono configurati i primi componenti soft e hardware. * Ora potete scegliere il fuso orario (figura 2.12 nella pagina successiva). Appare un lungo elenco nel quale dovete scegliere il `CET' (ingl. Central European Time) (sempre che Vi troviate nell'area centro-europea). . . L'orologio del computer può funzionare con l'ora locale o con il Greenwich Mean Time (GMT). `GMT' è preconfigurato; se avete configurato il Vostro orologio in modo conforme, scegliete l'`ora locale'. * Ora seguono alcune maschere per la configurazione della rete: ­ Nome del computer e del dominio (figura 2.13 a pagina 21). Se non Vi viene prescritto dal Vostro Amministratore del sistema o dal Vostro ISP, cercatevi un bel nome: che vogliate andare su Internet o usare una re- te locale, assicurateVi solo che sia un nome valido, ad esempio: ter- ra.cosmo.com(terra sta per il nome del computer (ingl. hostname) e cosmo.com per il nome del dominio (ingl. domainname)). ­ Scegliamo loopback o la vera rete? Se il Vostro computer non ha una scheda di rete, potete rispondere affermativamente alla domanda sul loopback e non avete bisogno di eseguire altre configurazioni. 19 2 La prima Installazione di SuSE Linux Figura 2.12: YaST ­ Scegliere il fuso orario ­ Se scegliete la vera rete, dovrete rispondere ad altre domande; DHCP- Client, tipo di rete (per schede Ethernet scegliete eth0), indirizzo IP, Net- mask, Gateway, inetd, portmap, server NFS, From-riga per notiziari, net client con accesso ad un name server (Ip del name server, YP domain), scelta del modulo del kernel per la scheda rete. ­ La scelta del sendmail.cf per il sistem mail (Figura 2.14 a pagina 22). Le indicazioni raccolte finora vengono memorizzate e distribuite da SuSEconfig su diversi file di configurazione (vd. capitolo 13.5 a pagina 332). YaST "si termina" e sullo schermo scorrono diverse comunicazioni sullo stato del sistema. * Dopo aver caricato alcune volte il sistema e dopo il saluto di "Benvenu- to", Vi verrà richiesta lala `root' password (Amministratore del sistema); avrete bisogno di questa password ogni volta che Vi vorrete immettere co- me Amministratore del sistema. Sceglietela accuratamente e ricordateVela bene; fate attenzione alle maiuscole e minuscole, non usate spazi vuoti o caratteri speciali (a meno che non sappiate, cosa state facendo); notate che nell'impostazione standard non vengono considerati più di 8 caratteri. * YaST chiede se desiderate configurare il modem; se ne avete uno, potete farlo adesso o, se preferite, anche più tardi. Se dite `Sì', YaST Vi richiederà l'interfaccia seriale del modem (figura 2.15 a pagina 23). Tenete presente che i così detti "Winmodem" non funzionano (vd. http://sdb.suse.de/ sdb/de/html/cep_winmodem.html). * YaST Vi chiede se volete configurare il mouse. Se volete farlo scegliete `Sì'. Scegliete dall'elenco il tipo del Vostro mouse. Per i mouse seriali YaST vuole 20 2.1 L'installazione con YaST (YaST 1) in modo di testo Figura 2.13: YaST Nome del computer e del dominio sapere anche l'interfaccia seriale a cui è collegato il mouse (figura 2.15 a pagina 23). Scegliete anche questa da una lista. Se dovessero esserci altri pacchetti da installare dai rimanenti CD-ROM, (vd. sezione 2.1.7 a pagina 17)YaST ne avvierà l'installazione. . . * YaST Vi invita ad inserire tutti i CD-ROM successivi per installare il software rimanente. L'ultimo CD viene richiesto solo se avete esplicitamente scelto di installare i codici sorgente (ingl. sources) dei programmi, di cui, normal- mente, non avrete bisogno. Il DVD è naturalmente molto più comodo, dal momento che non dovete cambiare nulla. § ¤ * Alla fine YaST Vi invita a premere ¦ ¥ . Il Vostro SuSE Linux è installato! 2.1.10 Fare il login alla fine della prima installazione Mentre, sullo sfondo, vengono ancora eseguiti diversi script di configurazione, potete già fare il login come `root', p.e. sulla console 1. Alla richiesta d'im- missione "Login:" immettete prima root e alla richiesta "Password:" in- serite la password che avevate prima stabilito per l'utente `root' (vedi 2.1.9 a fronte). La password per l'utente `root' non va confusa con la password normale! Compare il Prompt di Linux terra: # 21 2 La prima Installazione di SuSE Linux Figura 2.14: YaST ­ Scegliere il sistem mail e voi potete cominciare a lavorare. Inserite, per esempio, ls -a per elencare i file nella Vostra directory di lavoro. terra: # ls -a Oppure yast, per eseguire modifiche del sistema: terra: # yast Se fate partire YaST (yast) tramite la voce `Amministrazione del sistema', potete creare altri utenti. Si continua con il sottopunto `Configurare XFree86TM}; sopra di esso, potete configurare la superficie grafica (vd. 5.3)'. Gli script di configurazione vengono automaticamente eseguiti sullo sfondo. A seconda delle dimensioni dell'installazione, computer meno potenti possono es- sere impegnati per più di un'ora. Se spegnete il computer prima che YaST abbia finito la configurazione, al prossimo boot YaST verrà inizializzato come al solito. Gli scripts saranno completamente eseguiti solo quando apparirà il seguente mes- § ¤ § ¤ § ¤ saggio sulla console 9 (per cambiare console, premete ¤ ¦Alt ¥+ ¦F9 ¥ , con ¦Alt ¥+ § ¦F7 ¥ritornate alla superficie utente grafica): "Have a lot of fun!" Dopo l'installazione del sistema, possono venire create altre configurazioni (al- tre apparecchiature hardware, configurazioni rete, impostazioni server) sulla stampante. 22 2.1 L'installazione con YaST (YaST 1) in modo di testo Figura 2.15: YaST ­ Scelta dell'interfaccia per modem e mouse 2.1.11 Shutdown e boot del sistema Nota Un computer Linux non va mai spento di punto in bianco: usate sempre le apposite funzioni di KDM o i comandi descritti nella sezione 2.1.11. Se non spegnete il computer correttamente, il sistema eseguira una completa verifica del filesystem, la prossima volta che lo caricherete. Cosa che, nel migliore dei casi, Vi costerà tempo e, in casi eccezionali, non basterà a recuperare tutti i file eventualmente danneggiati. Nella tabella 2.1 sono elencati i comandi per spegnere (ingl. shutdown) regolarmente il computer. shutdown -h now ferma il sistema (dopo il messaggio: "the system is halted" potete spegnere il computer senza pericolo) shutdown -r now riavvia nuovamente il sistema subito dopo il suo arresto Tabella 2.1: Comandi per fermare il sistema Linux 23 2 La prima Installazione di SuSE Linux Figura 2.16: YaST ­ Scelta dell'unità di disco del mouse Il comando shutdown può generalmente venire eseguito solo dall'utente `root'. Per arrestare il Vostro sistema, immetteteVi come `root' ed inserite i comandi shutdown -h now o shutdown -r now. In alternativa, per ripartire di nuovo, potete premere (come su DOS) la combi- § ¤§ ¤§ ¤§ ¤§ ¤§ ¤ nazione di tasti ¦Ctrl ¥+¦Alt ¥+¦Entf ¥(¦Ctrl ¥+¦Alt ¥+¦Del ¥ ). Poichè questa com- binazione di tasti non viene riconosciuta su X, dovete prima terminare X. Nella console di testo, però, questa combinazione può venire eseguita da ogni utente. 24 2.2 Il caricamento di SuSE Linux 2.2 Il caricamento di SuSE Linux Il Vostro sistema Linux è già quasi installato. Rimane ancora da chiarire come desideriate avviare Linux nell'uso quotidiano (Boot). Nel seguente compendio, Vi indichiamo le varie possibilità di l'avvio di Linux: quale di queste possibilità sia per Voi la migliore, dipende dalla Vostra esperienza con i computer e dall'impiego che intendete farne. Dischetto per il boot: Inizializzate Linux con il dischetto per il boot. Questa possibilità funziona sempre e non crea problemi ­ il dischetto per il boot l'abiamo precedentemente creato (in 2.1.9 a pagina 19). Ammettiamo però che a lungo andare, l'uso del dischetto diventa una cosa fastidiosa e lunga. Il dischetto per il boot è una buona soluzione intermedia se non riuscite an- cora a configurare le altre possibilità (LOADLIN, LILO via MBR e dischetto per il boot) o se volete rinviare la decisione definitiva riguardante l'uso del meccanismo per il boot. L'uso del dischetto per il boot può essere una buona soluzione anche in rapporto a OS/2 o Windows NT. loadlin: Questa scelta richiede che siano soddisfatte le seguenti premesse: * Sotto DOS, il computer deve funzionare in modalità reale oppure in mo- dalità virtuale 8086 con a disposizione un server VCPI (un server VCPI viene p.e. messo a disposizione da emm386.exe). In altre parole: que- sto metodo non funziona sotto Unix, sotto OS/2 o nella finestra DOS di Windows 95. Funziona però a meraviglia da MS-DOS-Prompt o dalla modalità DOS in Windows 95. * Il Vostro computer deve avere a disposizione sufficiente memoria libera DOS: sotto 640 KB come minimo 128 KB, il resto può essere memoria espansa/EMS/XMS. L'installazione di loadlin è un pochino complicata, ma una volta effettuata con successo, il programma si lascia perfettamente integrare nei boot menu di Windows 95/98; ciò comporta una modifica manuale dei file di configu- razione. Un grosso vantaggio è che non avvengono registrazioni nell'MBR (ingl. Master Boot Record) dell'hard disk; in questo modo, gli altri sistemi operativi non vedono altro di Linux che partizioni con denominazioni a loro sconosciute (ingl. ID). Per poter installare loadlin, sono necessarie cognizioni di DOS e Linux; do- vreste cioè essere in grado di creare i file di configurazione con un Editor. Dettagli sul modo di procedere si trovano nel paragrafo 4.9 a pagina 118. Problemi potrebbero subentrare nel caso di errori nella configurazione dei boot menu di Windows95/98. In caso estremo potrebbe succederVi di non poter più accedere al Vostro Windows. Prima di configurare questi boot me- nu, assicurateVi di poter far partire il Vostro sistema tramite un dischetto boot di Windows. LILO: La soluzione tecnicamente migliore e maggiormente usata, è il bootma- nager LILO, che, prima del boot Vi lascia scegliere fra diversi sistemi ope- rativi. LILO è molto semplice da installare, p.e. tramite YaST (vgl. 3.7.2 a 25 2 La prima Installazione di SuSE Linux pagina 77): deve però trovarsi nel settore boot dell'hard disk; il che comporta però un piccolo rischio nell'installazione. L'eliminazione di errori esige co- noscenze di base del processo di boot. Se necessario dovrete essere in grado di editare il file principale di configurazione di LILO e, prima di installarlo, dovreste anche essere a conoscenza di come deinstallarlo nel caso di difficol- tà. Dettagli sia su LILO che sul processo di boot si trovano nel paragrafo 4.3 a pagina 93. LILO è sempre il metodo migliore. Dovete solo tenere presente che è più impegnativo da usare che non p.e. un dischetto per il boot. Per questa ragione trattiamo LILO nel libro come tema per esperti e non in questa parte della guida all'installazione. Attenzione Ci sono varianti del BIOS, che controllano la struttura del Master Boot Re- cord (MBR), e dopo una installazione di LILO riportano erroneamente un avviso di Virus-Warning. Questo problema si può evitare disabilitando il controllo per i virus nel BIOS (dovete disabilitare `virus protection'). ­ Più tardi potrete riattivare questa opzione; essa è però superflua se usate esclusivamente Linux come sistema operativo. Troverete una descrizione dettagliata sui diversi metodi per il boot, specialmente LILO e loadlin, nel capitolo 4 a pagina 91 ss. Altri Bootmanager Grazie alla sua crescente importanza sul mercato, alcuni produttori di boot mana- ger si sono orientati su Linux. Fra i primi troviamo System Commander Deluxe come anche Partition Magic. Questi pacchetti, oltre ad un buon aiuto riguardante il boot del sistema, offrono anche una vasta quantità di funzioni supplementa- ri come p.e. la possibilità di ampliare la risoluzione di partizioni FAT32 o di trasformare FAT16 in FAT32. Questi programmi non sono contenuti sui CD; per questa ragione rinunciamo quì ad una descrizione particolareggiata, e noi non possiamo offrire suporto per tali sistemi. 26 2.3 Installazioni particolari 2.3 Installazioni particolari 2.3.1 Installazione senza unità di disco CD-ROM compatibile Cosa fare, se un'installazione tramite CD-ROM non è possibile? Potrebbe per esempio essere che l'unità di disco del Vostro CD-ROM non sia più compatibile, perché si tratta di un'unità disco un pò antiquata. Oppure, probabilmente, non avete nel Vostro secondo computer (p.e. un notebook) un'unità di disco per il CD-ROM, ma avete in compenso un Ethernet-Adapter o un cavo PLIP. . . SuSE Linux offre soluzioni per l'installazione di un sistema su un computer privo di unità di disco compatibile per il CD-ROM, tramite un collegamento in rete: NFS, FTP via Ethernet o via PLIP (vedi capitolo 2.3.1). Installazione da una sorgente nella "rete" Per questo metodo non è possibile richiedere il supporto per l'installazione Questo metodo d'installazione dovrebbe venire seguito solo da esperti! Di cosa si tratta? Il computer su cui deve venire installato SuSE Linux, non dispone di un'unità di disco per il CD-ROM e non esiste partizione DOS da poter usare. In compenso, però, potete creare, tramite una rete, un collegamento ad un altro computer che abbia un'unità di disco CD-ROM o sul cui hard disk possa essere messo il con- tenuto del CD. Sarà inoltre necessario copiare dai CD-ROM al disco rigido i file .S.u.S.E-disk* con la seguente formulazione abbreviata: terra: # cp /cdrom/.S* /mario terra: # cp -a /cdrom/suse /mario Questo "altro" computer deve naturalmente "esportare" l'indirizzario in questione in modo appropriato! Suggerimento In alternativa, è sufficiente che avviate il sistema di salvataggio sul computer remoto, esportando direttamente il CD 1. Passo per passo. . . 1. Cominciate l'installazione del client come descritto nel paragrafo 2.1.1 a pagina 7. 2. Continuate l'installazione come spiegato nel paragrafo 2.1.2 a pagina 8, pur tenendo presente quanto segue: 27 2 La prima Installazione di SuSE Linux * Caricate nei `moduli del kernel' le `unità disco della rete' e scegliete quella adatta; ciò non è necessario se volete eseguire l'installazione con PLIP. * Se linuxrc chiede del `Mezzo sorgente', indicate `Rete (NFS)' ed ese- guite la configurazione guidata dal menù. Alternativamente, installate tramite FTP. 3. Terminate l'installazione come descritto a partire da 2.1.3 a pagina 13. Problemi possibili * L'installazione si interrompe prima che sia veramente cominciata: l'indiriz- zario d'installazione dell' "altro" computer non è stato esportato assieme ai diritti exec ­ provvedete. * Il server non riconosce il computer dove volete installare SuSE Linux Aggiungete il nome e l'indirizzo IP del nuovo computer nel file /etc/hosts del server. 2.3.2 Installazione e configurazione automatica (ALICE) Perchè l'automatizzazione? L'installazione e configurazione automatica dei sistemi di Linux permette la creazione di un ambiente omogeneo di server. Da un determinato numero di client in poi, è da preferire l'installazione e configurazione automatica a quella manuale. L'uniformità concerne le versioni del sistema e del software, le strut- ture dei filesystem e i file di configurazione. L'automatizzazione garantisce che, una volta trovata la giusta strada d'installazione, questa possa venire utilizzata, senza avere conoscenze da esperti. In questo modo è anche possibile ampliare senza problemi l'ambiente server. Questa omogeneità semplifica notevolmente l'amministrazione: con le stesse strutture di configurazione, non è più necessario cercare, ogni volta, su ogni server, i file di configurazione. Grazie alle versioni uguali, il software si comporta subito come desiderato. Le riparazioni di bug si estendono subito a tutto l'ambiente server. Tutti questi effetti aumentano la qualità della produzione. Introduzione ad ALICE ALICE (ingl. Automatical Linux Installation and Configuration Environment) include l'installazione e i campi più importanti della configurazione. Grazie al comportamento dei dati di configurazione basati su CVS, è possibile gestire da punti diversi i dati di configurazione con più profili di utenti. È possibile registrare un computer in una o più classi. In questo modo i computer possono essere mantenuti "simili"; nel file di configurazione specifico del com- puter, devono solo venire indicati i dati assolutamente necessari. Per la struttura- zione, i dati di configurazione sono divisi in tre diversi indirizzari. L'indirizzario 28 2.3 Installazioni particolari templates contiene qualche preinstallazione, l'indirizzario classes contiene configurazioni specifiche delle classi e l'indirizzario info contiene informazioni specifiche dell'host. Le preconfigurazioni possono venire soprascritte da valori di classe e questi a loro volta da speciali valori assegnati all'host. ALICE è un progetto "in crescita"; ciò significa che, se oggi non trovate ancora alcun modulo per la configurazione del software da Voi usato, esso potrà presto venire realizzato autonomamente o nell'ambito di un progetto; a pagina ??. Ulteriori informazioni Per ulteriori informazioni sull'uso dei moduli di ALICE, sulla creazione di un server d'installazione, l'architettura di ALICE e un'esempio di seduta di configurazione, consultate la documentazione contenuta nel pacchetto alice. Installazione automatica con YaST1 L'"installazione automatica" di YaST1 può venire usata anche indipendentemen- te dal progetto ALICE; vd. le note nell'articolo: file:/usr/share/doc/sdb/de/html/cg_autoinstall.html. 29 2 La prima Installazione di SuSE Linux 2.4 Consigli ed Espedienti 2.4.1 Creare spazio per Linux (Fare le partizioni) Il Vostro disco rigido deve essere preparato per accogliere le partizioni di Linux. Avete un po' di tempo per studiare in pace questo capitolo. Sono consigliabili dischetti o nastri per un backup e un dischetto per il caricamento del sistema operativo usato finora. Ulteriori informazioni Tramite le partizioni, un disco rigido può venire suddiviso in più settori indipen- denti gli uni dagli altri. Una delle ragioni per crearsi più partizioni è quella di una possibile coesistenza di diversi sistemi operativi con diversi filesystem su di un unico hard disk. Come fare spazio alle partizioni di Linux? * Singole partizioni del disco rigido possono venire cancellate; in questo caso vanno persi tutti i file che si trovano in questa partizione. Lo spazio che si libera sull'hard disk è a disposizione per nuove partizioni (p.e. per Linux); potete anche suddividere ulteriormente lo spazio libero in più partizioni. * Potete assegnare singole partizioni ad un altro sistema operativo. Anche in questo caso, come pure per il cancellamento, perderete tutti i file di queste partizioni. * Su MS-DOS o Windows 95/98 potete rimpicciolire l'ultima partizione del disco rigido, senza però perdere i file in essa contenuti: nel caso che tutti i file si trovino su cilindri con numeri bassi, potete, con programmi speciali (p.e. con Freeware-Programm fips), ridurre il limite massimo dei cilindri e rimpicciolire così la partizione. Con un programma per la deframmentazione dovete, però, prima far sì che tutti i file si trovino al principio della partizio- ne. In questo modo potete procurarVi facilmente spazio per le partizioni di Linux, nel caso che abbiate solo una partizione MS-DOS o Windows 95/98. * Un'altra possibilità molto comoda, ma costosa, è quella di inserire un nuovo disco rigido nel computer. Attenzione Quando modificate le partizioni, dovete lavorare molto accuratamente e prestare attenzione alle istruzioni del software indicato. Ciò nonostante, potrebbero verificarsi dei problemi, fino alla completa perdita dei dati. Noi di SuSE non possiamo prenderci nessuna responsabilità, Vi consigliamo però, in ogni caso, di memorizzare prima almeno i Vostri dati più importanti e di tenere a portata di mano un dischetto per il boot controllato. 30 2.4 Consigli ed Espedienti Passo per passo. . . Procedete in questo modo per partizionare il disco rigido: 1. Nel caso non ne siate a conoscenza, dovete controllare quante partizioni ha il Vostro hard disk e quanto siano grandi. Per farlo, usate il programma fdisk del Vostro sistema operativo. 2. Progettate il numero di partizioni a Voi necessarie e quanto debbano essere grandi. Informazioni a riguardo sono contenute in 2.5 a pagina 38 e in 2.6 a pagina 40. 3. AnnotateVi il Vostro piano di partizionamento su di un foglio: avrete spesso bisogno dei dati durante l'installazione. 4. Fate un Backup del disco rigido. Se non avete il nastro per farlo, e non vo- lete memorizzare tutto sui dischetti, memorizzate almeno i Vostri dati più importanti come pure i file per l'avvio e per la configurazione (per esem- pio config.sys, autoexec.bat e *.ini). Create un dischetto per il boot del Vostro attuale sistema operativo e, con questo, provate se riuscite a fare il boot. Su questo dischetto di caricamento, avrete anche bisogno di arne- si, come un editor, fdisk (il programma per la formattazione), e il Vostro programma per il backup. 5. A seconda delle particolarità del sistema, si continua così: * DOS/Windows 95/98, una partizione sul disco rigido e nessun salvataggio di sicurezza completo dei file (ingl. File-Backup) Dovete rimpicciolire la partizione senza perdita di dati. Spostate tutti i file al principio della partizione; per farlo, potete per esempio usare il programma Defrag (MS-DOS 6 o Windows 95/98). Generalmente, i programmi di deframmentazione non spostano file o fi- le di sistema nascosti, poichè tali file potrebbero essere stati posti dalla protezione anticopia del software in un determinato spazio del disco. Se siete sicuri che sul disco rigido non ci siano tali file, potete disattivare l'attributo nascosto o sistema in tutti i file in questione o, a seconda del programma di deframmentazione usato, potete per mezzo di parame- tri forzare la deframmentazione di tali file; versioni più recenti di defrag hanno a questo scopo l'opzione /P. Anche lo swapfile di Windows è un file nascosto. Se si trova in un posto sfavorevole, dovete eliminarlo su Windows nel "system control". Dopo aver fatto sufficiente spazio alla fine della partizione, passate al- la directory \dosutils\fips del primo CD. Là si trova il programma fips.exe con il quale potete rimpicciolire la partizione. Nella stessa di- rectory si trova una guida dettagliata che, a causa della difficoltà della materia, Vi consigliamo di studiare dettagliatamente prima di far partire il programma! fips.exe funziona solo su DOS; dovrete terminare Windows o portare Windows 95/98 in modalità DOS. Dopo aver eseguito fips.exe, avete una seconda partizione sul disco rigido che, più tardi, verrà divisa nelle partizioni Linux. 31 2 La prima Installazione di SuSE Linux Suggerimento Con il programma fips.exe da \dosutils\fips\fips20 è possi- bile rimpicciolire anche partizioni fat32; prima dell'uso di questa versione di Fips, dovete creare un backup dei Vostri dati! * DOS/Windows 95/98 e diverse partizioni oppure: avete un salvataggio di sicurezza completo dei file (ingl. File-Backup) Cancellate le Vostre partizioni DOS e ricreatele rimpicciolite. Facendolo perderete tutti i dati che si trovano in queste partizioni, perciò, memo- rizzate prima tutti i dati (file per file, niente image-backup)! Con fdisk cancellate le vecchie partizioni e create quella/le nuova/e. Subito dopo formattate la/le partizione/i, installate il sistema operativo e reinstallate tutti i file memorizzati; anche il programma backup si trova sul dischetto! 6. Ricaricate del computer. 7. Controllate se il Vostro vecchio sistema operativo funziona ancora bene. Più tardi, creerete con YaST le partizioni Linux nell'area libera del disco rigido. Problemi possibili Possono subentrare i seguenti problemi: * La partizione non può venire ridotta sufficientemente poichè alcuni dati non possono venire spostati. 2.4.2 Usare il CD 2 per il caricamento Oltre al CD 1, anche il secondo CD è previsto per il caricamento. Mentre, però, sul CD 1 viene usata una bootimage di 2.88 MB, sul secondo CD viene usata un'image tradizionale di 1,44 MB. Usate il CD 2 se sapete con certezza di poter fare il boot dal CD, ma esso non funziona con il CD 1 (soluzione "fall back"). Purtroppo, infatti, non ogni BIOS riconosce bene le grandi image. 2.4.3 Creare dischetti per il boot sotto DOS Premessa Avete bisogno di un dischetto formattato di 3.5 pollici-HD e di un lettore per dischetti di 3.5 pollici che deve anche essere abilitato a fare il boot. Se lavorate su Windows 95/98: non inizializzate setup nel box MS-DOS bensì in modalità MS-DOS. 32 2.4 Consigli ed Espedienti Ulteriori informazioni Nel CD1 sotto /disks sono contenute alcune riproduzioni di dischetti (Image). Una tale image può venire copiato sul dischetto con Setup; tale dischetto viene chiamato dischetto per il boot. Su questi dischetti 'image' si trovano, inoltre, il "Loader" Syslinux e il programma linuxrc; durante l'esecuzione del boot, Sy- slinux Vi permette di scegliere il kernel desiderato e, se necessario, di impostare parametri riguardanti l'hardware usato. Il programma linuxrc Vi aiuta a carica- re i moduli del kernel, specialmente per il Vostro software, e inizializza infine l'installazione. Normalmente, potete usare il dischetto per il boot di SuSE per fare il boot. Solo per hardware un po' esotico, che non venga supportato dal kernel modulare di questo dischetto, o se fate un download da un server FTP (per esempio ftp: //ftp.suse.com), dovrete creare un apposito dischetto di caricamento come descritto in questo capitolo. Con Setup Passo per passo. . . Procedimento per creare un dischetto di caricamento: 1. Inizializzate Setup direttamente dal CD 1.§ ¤ 2. Scegliete l'opzione `Floppy' e premete ¤ ¦ ¥ , quindi `Boot', e di nuovo § ¦ ¥ . 3. Ora, dovete scegliere un dischetto con il kernel adatto, che supporti, p.e. il Vostro Adapter SCSI. Setup Vi indica i dati più importanti dei ker- nel. Se avete bisogno di ulteriori informazioni potete guardare nel file \disks\readme.dos. RicordateVi il nome del Vostro kernel, poichè ne § ¤ avrete bisogno più avanti; quindi premete ¦ ¥ . 4. Ora viene scritto il dischetto. Inserite un dischetto (formattato DOS) nel floppy drive (3.5 inch) e scegliete il dischetto che volete creare. * OccupateVi solo del dischetto per il boot (con SuSE Linux `Root' non è § ¤ più necessario): mettete il cursore su `Boot' e premete ¦ ¥ . * Setup vuole di nuovo la conferma che sia inserito un dischetto; premete § ¤ di nuovo ¦ ¥e il dischetto viene scritto.§ ¤ * Quando il dischetto è pronto, ripremete ¦ ¥ . * Scegliete l'opzione `Pronto' per uscire dallo schermo e da Setup. Con rawrite Se volete, potete anche usare il programma DOS rawrite.exe (CD 1, directory \dosutils\rawrite) per scrivere sul dischetto al DOS prompt. Sul CD 1, nella directory /disks, si trovano le image dei dischetti standard; leggete lì il file README o LIESMICH. L'image eide01 o scsi01 è il modello 33 2 La prima Installazione di SuSE Linux per il dischetto standard. Tutti i kernel si trovano nella directory /suse/images (senza l'estensione!); leggete anche README o LIESMICH. Se avete bisogno del dischetto standard che viene fornito con ogni versione di SuSE Linux, fate quanto segue; premettiamo che Vi troviate nella directory del CD: Q:> dosutils\rawrite\rawrite disks\bootdisk Se avete bisogno di un supporto particolare, al posto di bootdisk usate un altro dischetto-image; se sorgono dei problemi, si può impiegare k_i386 come fall back kernel. 2.4.4 Creare i dischetti di caricamento con Unix Premessa Il Vostro dispositivo CD-ROM non viene supportato da Unix/Linux. Avete bisogno di un dischetto controllato e formattato. Procedete così per creare un dischetto di caricamento: 1. Se dovete ancora formattare il dischetto: terra: # fdformat /dev/fd0u1440 2. Fate il mount del primo CD (Disk1) (p.e. in /mnt): terra: # mount -tiso9660 /dev/cdrom /cdrom 3. Andate nella directory disks sul CD: terra: # cd /cdrom/disks 4. Ora create il dischettodi caricamento con terra: # dd if=/cdrom/disks/eide01 of=/dev/fd0 bs=8k Nei file LEGGIMI- o README nella directory disks. vedete cosa può fare ogni kernel. Potete leggere questi file con more o less (vedi less ). Nel caso abbiate bisogno di un supporto speciale, invece di bootdisk, utilizzate un'altra image di dischetto; in caso di problemi, utilizzate k_i386 come kernel di emergenza. Un po' più complesso è il caso in cui, per esempio, vogliate utilizzare un kernel da Voi stessi compilato durante l'installazione; in questo caso memorizzate l'i- mamgine standard (bootdisk) sul dischetto e sovrascrivete poi il kernel in essa contenuto (linux) con il Vostro : terra: # dd if=/cdrom/disks/bootdisk of=/dev/fd0 bs=8k terra: # mount -t msdos /dev/fd0 /mnt terra: # cp /usr/src/linux/arch/i386/boot/vmlinuz /mnt/linux terra: # umount /mnt 34 2.4 Consigli ed Espedienti 2.4.5 Linux supporta il mio CD-ROM-drive? In generale, si può dire che la maggioranza dei lettori CD-ROM è supportata. * Con il drive di ATAPI ATAPI non dovrebbero esserci dei problemi. * Con drive SCSI tutto dipende dal supporto per il controller SCSI al quale è collegato il lettore CD-ROM. Nella banca dati dei componenti CDB (pac- chetto cdb, serie doc o su http://www.suse.de/cdb/), sono elencati i controller SCSI supportati. Se il Vostro controller SCSI non è supportato e, in più, al Controller è collegato anche il disco rigido, avete in ogni caso un problema :-( * Anche molti drive CD-ROM non standardizzati funzionano con Linux; anche in questo gruppo è facile che ci siano dei problemi. Se il Vostro drive non è esplicitamente nominato, potete provare con un tipo simile della stessa ditta. * Oggi sono molto diffusi i lettori CD-ROM a porta parallela ; purtroppo, essi non sono standardizzati, per cui ci sono regolarmente dei problemi. SuSE Linux contiene una quantità di diverse unità di disco Alpha per alcuni lettori. Se nessuna di queste funziona, rimane solo l'installazione tramite la partizio- ne DOS. Ricordate che alcuni dei lettori supportati da Linux possono venire interrogati solamente se sono stati inizializzati dalla loro unità disco DOS e se dopo è stato fatto solo un'avvio a caldo (ingl. warm start). 2.4.6 Il CD ROM ATAPI si inceppa durante la lettura Se il dispositivo ATAPI ATAPI -CD-ROM- non viene riconosciuto o si inceppa durante la lettura, ciò è dovuto al fatto che l'hardware non è collegato nel modo giusto. Normalmente, ogni dispositivo dovrebbe essere collegato secondo un preciso ordine all'(E)IDE-Bus, ovvero: il primo dispositivo è master sul primo controller, il secondo è slave; il terzo dispositivo è master sul secondo controller e il quarto è slave. 35 2 La prima Installazione di SuSE Linux Spesso capita che in un computer ci sia, assieme al disco rigido, solo un lettore per il CD-ROM e che questo sia collegato come master al secondo controller. In alcuni casi del genere, Linux non riesce a rilevarlo; quasi sempre, si può aiutare il kernel indicandogli un parametro corrispondente (hdc=cdrom, vd. anche 10.3.2 a pagina 254). Qualche volta succede anche che un dispositivo sia semplicemente collegato in maniera sbagliata, vale a dire: che sia configurato come slave ma sia collegato come master al secondo cotroller o viceversa. Se avete dei dubbi, controllate queste impostazioni e, se necessario, modificatele. Esistono, inoltre, una serie di chip-set- EIDE difettosi; la maggioranza di essi viene riconosciuta e il kernel contiene codici per evitare problemi. Per questi casi, esiste un kernel speciale; i parametri del kernel necessari sono descritti nel paragrafo 10.3.2 a pagina 254 e nel capitolo 9 a pagina 243. Nota Se il boot non funziona subito, potete provare ad aggiungere i parametri del kernel. ­ questi verranno poi inclusi nel bootprompt (boot:): boot: linux Attenzione: Non dimenticate di aggiungere il nome del kernel (linux) davanti ai parameteri stessi! hd=cdrom ­ sta per a, b, c, d etc. e va interpretato come segue: * a ­ Master al 1o IDE-Controller * b ­ Slave al 1o IDE-Controller * c ­ Master al 2o IDE-Controller * . . . Esempio di : hdb=cdrom Con questo parametro indicate il dispositivo CD-ROM al kernel ­ in caso non lo trovi da sé ­ e se siete in possesso di un dispositivo CD-ROM ATAPI. ide=noautotune ­ sta per 0, 1, 2, 3 etc. e va interpretato come segue: * 0 ­ 1o IDE-Controller * 1 ­ 2o IDE-Controller * . . . Esempio di : ide=noautouse Questo parametro è spesso d'aiuto con i dischi rigidi (E)IDE. 36 2.4 Consigli ed Espedienti Nota Altri parametri del kernel si trovano nella sezione 10.3.2 a pagina 254, nel- la quale troverete aiuto anche in caso di problemi di sistemi SCSI o di collegamento tramite schede di rete. 2.4.7 Lettori CD-ROM su porta parallela Durante la fase d'installazione, Linuxrc Vi da la possibilità di selezionare tutte le unità di disco disponibili: generalmente non ci sono particolari problemi cui prestare attenzione. Purtroppo, però, capita che alcuni dispositivi (p.e. quello di Freecom), non sia- no ancora compatibili: talvolta, non si possono nemmeno usare dispositivi che, secondo la descrizione, dovrebbero essere dello stesso tipo; questo può succede- re quando i produttori ne hanno modificato le specifiche tecniche interne, senza renderle pubbliche. . . Alcuni dispositivi devono venire inizializzati dalla relativa unità di disco DOS, prima che il kernel di Linux li riconosca: 1. Fate il boot di DOS e caricate l'unità di disco del CD ROM. 2. Inserite il dischetto di boot di Linux. 3. Eseguite uno start a caldo. Con dispositivi non compatibili, resta ancora da completare l'installazione tramite la partizione DOS (vedi 2.3 a pagina 27). Per maggiori informazioni sullo stato attuale della pogrammazione della porta parallela per Linux, si veda http://www.torque.net/linux-pp.html. 2.4.8 loadlin non ha abbastanza memoria per caricare il kernel Non avete abbastanza memoria libera sotto i 640 KB. Cercate di togliere alcune unità disco dagli startup file del sistema (config.sys, autoexec.bat o di spostarli in un settore più alto della memoria. Se avete dei dischi rigidi compressi sotto Windows 95/98 e spostare le unità disco in settori più alti della memoria non serve, dovrete decomprimere quei dischi. 2.4.9 loadlin non funziona Se ci sono problemi con loadlin, potete chiamare loadlin con le opzioni -v, -t o -d. La cosa migliore è scrivere le informazioni del debug con: C:\> loadlin -d debug.out 37 2 La prima Installazione di SuSE Linux queste verranno scritte nel file debug.out; Questo file potete spedirlo a Su- SE Linux Italia S.r.l-Support. In , dovete inserire i valori specifici al Vostro sistema (vedi capitolo 4.9.1 a pagina 119) . 2.5 Partizioni per principianti Se siete alle prime armi nell'uso di Linux e dei suoi filesystem, Vi daremo una risposta a domande come: quanto spazio bisogna mettere a disposizione di Li- nux? Quanto spazio è assolutamente necessario? Quanto sufficiente? Quanto spazio è meglio avere in assoluto? Come si deve suddividere lo spazio stesso? I tipi di partizione nel PC Ogni hard disk contiene una tabella delle partizioni, che ha spazio per quat- tro registrazioni. Ogni registrazione può essere una partizione primaria o una partizione estesa; è possibile però creare solo una partizione estesa. Le partizioni primarie sono molto semplici: esse sono un settore ininterrotto di cilindri, associato a un sistema operativo. Con le partizioni primarie si potreb- bero però creare al massimo quattro partizioni per ogni hard disk; di più non trovano posto sulla tabella delle partizioni. Partizione estesa: anche la partizione estesa è un settore ininterrotto di cilindri, ma la si può ancora suddividere in cosiddette partizioni logiche che non hanno bisogno di alcuna registrazione nella tabella delle partizioni. La partizione estesa é per cosi dire un contenitore in cui si trovano le partizioni logiche. Se avete bisogno di piú di quattro partizioni, quando le create dovete ricordarvi di impostarne una come partizione estesa: nella partizione estesa potete creare tutte le partizioni logiche che volete (il massimo per gli hard disks SCSI è di 15, per (E)IDE-disk sono 63 partizioni). Per Linux non è importante su quale tipo di partizione (primaria e/o logica) viene eseguita l'installazione. Prendere una decisione Cominciamo col rispondere alla domanda sullo spazio assolutamente necessario: 180 MB, il che presuppone un'installazione minima e un uso mirato del compu- ter. Si lavora solo sulla console di testo e non sul sistema X Windows, l'inter- faccia grafica. Se volete dare un'occhiata alle potenzialità di X e inizializzare qualche applicazione, sono necessari 500 MB. Ambedue i valori comprendono lo spazio di swap. Quanto spazio si dovrebbe avere in assoluto? 1 GB. Una richiesta molto modesta nel mondo degli hard disk da oltre 20 Gigabyte! Spazio di swap incluso nel conto, ovviamente. Quanto spazio è bene avere in assoluto? Dipende da quello che volete fare: 38 2.5 Partizioni per principianti * Se lavorate sotto X, e quindi in ambiente grafico, usando applicazioni moderne come Applixware e Netscape: da 700 MB a 1.2 GB. * Se con Linux volete sviluppare piccole applicazioni sotto X: da 700 MB a 1.2 GB. * Per ambedue i punti sopra elencati: 2 GB. * Per compilare un Vostro X-Sever, o masterizzare i Vostri CD, più i punti sopraelencati: 4 GB. * Per un server Internet/FTP: 700 MB almeno. Come si dovrebbe suddividere lo spazio? Una domanda semplice per una risposta non molto semplice. Suggerimento Grazie alla stabilità raggiunta dal filesystem di Linux, un buon modo di pro- cedere, specialmente per i principianti, è quello di usare la stessa strategia di YaST; tenere cioè una piccola partizione per il /boot all'inizio dell'hard disk (almeno 2 MB, con hard disk più grossi 1 cilindro), una partizione per swap (64-128 MB), ed il resto per /. Se volete fare solo poche partizioni, non avete che seguire le seguenti semplici regole: * fino a ca. 500 MB: partizione swap e una partizione root (/). * Da ca. 500 MB fino a 1,2 GB: una piccola partizione di boot per il kernel e per LILO all'inizio dell'hard disk (/boot, ca. 5-10 MB risp. 1 cilindro), una partizione swap e il resto per la partizione root (/). * Ca. 1,2 GB: boot (/boot, swap, Root (180 MB), home (/home con ca. 100 MB per utente) e il resto per le applicazioni (/usr); eventualmente un'ulteriore partizione per /opt (vedi in questa pagina). Nota Se volete lanciare Linux direttamente dall'hard disk avrete bisogno di una partizione Linux sotto il "limite del cilindro-1024" , da utilizzare come parti- zione di avvio. (leggete le sezioni 1 a pagina 95 e 4.8.2 a pagina 115). Ciò non Vi interessa se inizializzate Linux da DOS/Windows con loadlin. Gene- ralmente, a partire da SuSE Linux 6.0, la partizione boot (/boot) coincide con quella di root. Inoltre è da tenere in considerazione che alcuni programmi ­ per lo più quel- li commerciali ­ installano i loro dati sotto /opt ; eventualmente prendete in 39 2 La prima Installazione di SuSE Linux considerazione per /opt una partizione propria, o aumentate la dimensioni del- la partizione root. In particolar modo si deve tenere conto di quest'ultima in- dicazione se si intendono installare i programmi o i demo elencati in tabella 2.2 (nella lista vengono indicati anche programmi che non vengono forniti con SuSE Linux!). KDE 170 MB GNOME 155 MB htdig 5 MB Fortify 2 MB dochost con htdig-ricerca nel testo da 40 a 300 MB Wabi 10 MB Netscape 45 MB Arcad 350 MB Applixware 400 MB Eagle 18 MB Staroffice 260 MB Cyberscheduler Software 30 MB Cygnus Source-Navigator 20 MB SNiFF+ 45 MB Insure++ 45 MB pep 18 MB Oracle 8.1.7 900 MB Sybase ­ Adaptive Server Enterprise 170 MB virtuoso ­ OpenLink Virtuoso Lite Edition 55 MB Tabella 2.2: Pacchetti sotto /opt ­ non tutti i pachetti vengono forniti con SuSE Linux! 2.6 Partizioni per esperti Nel capitolo precedente, come anche nella sezione 3.4.11 a pagina 60 si è breve- mente accennato alla configurazione del Vostro sistema. Questo capitolo vuole darVi informazioni dettagliate con le quali possiate crearVi, per i Vostro scopi, uno schema di partizionatura ottimale. Questo capitolo è particolarmente inte- ressante per coloro che desiderano configurare il loro sistema nel migliore dei modi ­ sia riguardo alla sicurezza, sia riguardo alla velocità ­ e siano disposti eventualmente a installare nuovamente il sistema esistente: per coloro quindi, che sono disposti a fare tabula rasa! È assolutamente necessario avere cognizioni di base sul funzionamento di un filesystem di UNIX e non dovrebbero esserVi sconosciuti concetti come Mountpoint, partizioni fisiche, partizioni estese o partizioni logiche. Premettiamo subito che non c'è un metodo d'oro per tutti, bensì tanti metodi d'oro per ciascuno. Non preoccupateVi! In questo capitolo troverete schemi chiari come Vi serviranno come punto di riferimento. 40 2.6 Partizioni per esperti Per prima cosa dovete raccogliete le seguenti informazioni: * In quale ambito volete usare il computer (fileserver, server, PC singolo (non collegato alla rete))? * Quante persone lavoreranno a questo computer (login simultanei)? * Quanti hard disk ha il computer, che capacità hanno e di che tipo sono (EIDE, SCSI oppure RAID-Controller)? 2.6.1 Dimensione della partizione swap Spesso leggerete "come minimo lo spazio di Swap deve corrispondere al doppio della memoria RAM". Questa formula è un lascito dei tempi in cui 8 MB RAM nel computer erano un lusso di pochi; oggi chi compra un computer con meno di 16 MB di memoria, non ha buoni consiglieri. Ma ritorniamo alla suddetta affermazione. La nostra meta è quella di avere un computer che disponga di ca. da 30 a 40 MB di Memoria virtuale. Con applicazioni moderne che richiedono molta memoria, bisogna correggere i valori "verso l'alto". Normalmente 64 MB di memoria virtuale dovrebbero essere sufficienti, ma qui è meglio non essere tirchi. Se si compila un kernel sotto X e si consultano le pagine d'aiuto con Netscape, mentre contemporaneamente sta girando Emacs, con 64 MB di memoria virtuale non rimangono più molte riserve. Perciò come utente (user) si è al sicuro con almeno 96 MB di memoria virtuale. Quello che non dovete assolutamente fare è: non creare spazio per la memoria virtuale. Perfino su un computer con 256 MB RAM dovrebbe esserci un settore di swap; la ragione di ciò la vedrete nella sezione 2.6.3 a pagina 44. Avete intenzione di far girare simulazioni elabortatissime e necessitate di gigaby- te di memoria? Se doveste avere dei dubbi sul fatto che Linux possa offrirVi una base sufficientemente solida per le Vostre applicazioni, andate al capitolo 2.6.2 a pagina 43 (Campo d'impiego: Compute-Server). 2.6.2 Campo d'impiego del computer Impiego come computer singolo: Il caso più frequente d'uso di un computer-Linux, è l'impiego come computer singolo. Affinché possiate orientarVi su valori concreti, abbiamo messo assieme un paio di esempi di configurazione, che Voi, a seconda della necessità, potrete adottare. Nella tabella 2.3 nella pagina seguente avete una visione generale dei diversi volumi d'installazione per un sistema Linux. Naturalmente i valori aumentano conseguentemente alla mole di dati supplementari che volete caricare su hard disk. 41 2 La prima Installazione di SuSE Linux Installazione spazio necessario sull'hard disk minima 180 MB fino a 400 MB piccola 400 MB fino a 800 MB media 800 MB fino a 4 GB grande 4 GB fino a 8 GB Tabella 2.3: Esempio per la grandezza delle installazioni Esempio: Computer Standard per postazione di lavoro singola (molto piccola) Avete a disposizione sull'hard disk ca. 500 MB e volte installarci Linux: una partizione Swap della capacità dai 64 MB e il resto per / (Root). Esempio: Computer Standard per postazione di lavoro media Per Linux avete liberi 1.2 GB. Piccola partizione Boot /boot (5-10 MB risp. 1 cilindri) 128 MB per Swap, 800 MB per / e il resto per una partizione separata /home. Esempio: Computer Standard per una postazione di lavoro di lusso Se avete a disposizione più di 1.2 GB, non esiste nessuno standard di partizionamento; vedi capitolo 2.6.3 nella pagina successiva. Impiego come file server: Qui la performance del Vostro hard disk è veramente importante e si dovrebbe dare la preferenza a dispositivi SCSI. Fate anche attenzione alle performance dei dischi e dei controller. Un file server offre la possibilità di tenere i dati concentrati in una stazione cen- trale; può trattarsi di home directory degli utenti, directories degli utenti di una banca dati o altri archivi. Il vantaggio consiste in una amministrazione molto più semplice. Nel caso in cui il file server debba servire una rete grande (dai 20 utenti (ingl. user) in su), l'ottimizzazione dell'accesso al disco rigido è essenziale. Mettiamo caso che vogliate impostare un Linux fileserver che debba gestire le homedirectory di 25 utenti: Voi sapete che ogni utente userà al massimo 80 MB come proprio spazio personale, perciò un disco da 2 GB cui si farà il mount sotto /home, potrà svolgere egregiamente il lavoro richiesto. Se avete 50 utenti, dal punto di vista puramente matematico, sarebbe necessario un disco da 4 GB; è però meglio in questo caso dividere /home su due dischi da 2 GB, poiché questi si possono dividere il carico di lavoro (e il tempo di accesso). 42 2.6 Partizioni per esperti Suggerimento La memoria cache di un Internet browser gli utenti la devono assolutamente tenere sul disco locale! Impiego come Compute-Server: Un Compute-server è in genere un computer molto potente, che assume nella rete i compiti di calcolo intensivi. Un tale computer dispone di una memoria principale un po' più grande (dai 256 MB RAM in su). L'unico punto in cui sono necessari dischi veloci è lo spazio di swap. Anche qui vale la regola: è preferibile suddividere più partizioni swap su più dischi. Inoltre si deve tenere presente che una partizione swap può avere al massimo 128 MB, ma che Linux è in grado di amministrare senza problemi 8 di queste partizioni. 2.6.3 Ottimizzazioni I dischi rigidi rappresentano generalmente il cosiddetto collo di botti- glia. Per evitarlo, ci sono due possibilità che è consigliabile applicare contemporaneamente: * Dividete il peso del lavoro in parti uguali su più dischi. * Impiegate un file system ottimizzato (p.e. reiserfs). * Dotate il Vostro fileserver di sufficiente memoria (minimo 128 MB). Più dischi in parallelo Qui è necessaria una spiegazione un po' più dettagliata. Il tempo totale necessario per il trasferimento dati, si compone ca. delle seguenti parti: 1. Il tempo che necessario perché la richiesta arrivi al controller del disco. 2. Il tempo che necessario perché il controller del disco invii questa richiesta all'hard disk. 3. Il tempo necessario perché l'hard disk posizioni la testina. 4. Il tempo necessario perché il dispositivo si porti sul settore giusto. 5. Il tempo per il trasferimento dei dati. Il punto 1 dipende dalla connessione tramite rete e andrà regolato in quella sede. Il punto 2 è un intervallo di tempo veramente minimo che dipende dal controller del disco. Il punto 3 è lo scoglio maggiore. La posizione viene misurata in ms (millesimi di secondo): se la compariamo ai tempi d'accesso (misurati in 43 2 La prima Installazione di SuSE Linux ns nano-secondi) nella memoria principale, abbiamo un fattore di 1 milione. Il punto 4 dipende dal numero di giri per minuto del disco. Il punto 5 dipende dal numero dei giri e dal numero delle testine, come pure dal posizionamento dei dati sul disco (interno o esterno). Per una performance ottima si deve quindi lavorare sul punto 3. Nei dispositivi SCSI entra in gioco la funzione (Feature) "disconnect"; ecco cosa succede con la suddetta caratteristica: Il Controller manda al dispositivo collegato (in questo caso l'hard disk) il co- mando "va alla Traccia x, Settore y". Ora il meccanismo del disco deve mettersi in movimento. Se il disco è intelligente (cioè dispone della funzione disconnect) e se anche il driver per il controller dispone di questa caratteristica, il controller manda al disco subito dopo l'operazione richiesta il comando disconnect e il di- sco si separa dal Bus-SCSI. Da questo momento in poi gli anche altri dispositivi SCSI possono lavorare. Dopo un po' (a seconda del carico sullo SCSI-Bus) vie- ne riattivato il collegamento con il disco; di norma, a questo punto il dispositivo ha già raggiunto la traccia richiesta. In un sistema operativo multitasking e multiutente come Linux sono parecchie le ottimizzazioni che si possono attuare. Guardiamo un po' un dettaglio dell'output del comando df (vedi output 2.6.1). Filesystem 1k-blocks Used Available Use% Mounted on /dev/sda1 2974550 892663 1928065 32% / /dev/sdb1 2974550 1948093 872635 69% /usr /dev/sdc1 2457832 1967464 490368 80% /usr/lib output 2.6.1: Esempio di una partizionatura: emissione con il comando df. Quali sono dunque i benefici del mettere in parallelo? Immettiamo per esempio in /usr/src i seguenti dati: root@terra:/usr/src/ > tar xzf pacchetto.tgz -C /usr/lib Ciò significa che pacchetto.tgz deve venire installato in /usr/lib/pacchetto. Per farlo, la Shell chiama tar e gzip (si trovano in /bin e perciò su /dev/sda), poi viene letto pacchetto.tgz da /usr/src (si trova su /dev/sdb). Tramite l'utilizzo in parallelo sia il posizionamento che le operazioni di lettura/scrittura del Buffer interno del disco possono venire eseguite in contemporanea. Questo è solo un esempio fra tanti. Come regola vale che, se sono presenti molti dischi (della stessa velocità), /usr e /usr/lib dovrebbero trovarsi su dischi differenti; /usr/lib dovrebbe avere ca. il 70% della capacità di /usr. La directory di Root / dovrebbe trovarsi sul disco in cui è presente /usr/lib. Da un certo numero di dischi SCSI in poi (ca. da 4 a 5), si dovrebbe prendere seriamente in considerazione l'acquisto di un RAID-Controller. Grazie ad esso, le operazioni sui dischi non vengono solo eseguite in modalità quasi-parallela, bensì in modalità parallela reale. La tolleranza agli errori è un ulteriore vantaggio secondario. 44 2.6 Partizioni per esperti Velocità del disco e dimensione della memoria principale Molto spesso sentirete dire che la dimensione della memoria principale sotto Linux è più importante della velocità del processore. Uno dei motivi - se non il principale - è la capacità di Linux di creare in maniera dinamica buffer dei dati presenti sull'hard disk. Per farlo Linux utilizza vari trucchetti, come p.e. "read ahead" (prende per precauzione dei settori in anticipo) e "delayed write" (salva diverse operazioni di scrittura per poi eseguirle in una volta sola). L'ultimo è il motivo per cui non si deve mai spegnere un computer Linux senza la procedura corretta. Tutti e due i punti sono responsabili del fatto che la memoria principale con il tempo si riempie, e che quindi la velocità di Linux dipende soprattutto dalla quantità di RAM presente sul sistema. total used free shared buffers cached Mem: 255 246 9 0 23 44 -/+ buffers/cache: 178 76 Swap: 261 3 257 output 2.6.2: Emissione di free -m L'esempio precedente, tabella 2.6.2 indica che nel buffer sono memorizzati ben 38 MB di dati; se vogliamo accedere a quei dati essi ci saranno resi disponibili immediatamente. 45 2 La prima Installazione di SuSE Linux 46 3 YaST­ Yet another Setup-Tool 3 YaST­ Yet another Setup-Tool YaST (yast) è una parte essenziale di SuSE Linux. YaST Vi installa il si- stema, amministra il software (installazione e disinstallazione) e Vi assiste nell'amministrazione del sistema stesso. Questo capitolo ne descrive le funzioni più importanti. Nota Con SuSE Linux 7.3 VI viene fornito uno YaST aggiornato; le figure di que- sto manuale ("Screenshots") potrebbero perciò essere leggermente diverse dalle schermate che otterrete nel corso dell'installazione. 3.1 Utilizzo e impostazione della tastiera Si avvia YaST al Prompt con il comando yast: terra: # yast § ¤ L'uso di YaST avviene essenzialmente con i tasti-cursore ed il tabulatore ( § ¤§ ¦Tab ¥ ).¤ Potete muovervi all'interno dei menù con i tasti-cursore o con § ¤ ¦Page ¥e¦Page ¥ ; con il tasto ¦Spazio ¥è possibile scegliere dei punti nelle liste di selezione. Nor- § ¤ § ¤ malmente, la scelta deve venire confermata con ¤ ¦Enter ¥ovv. ¦Invio ¥ . Con § ¦Esc ¥o `Interrompere', potete uscire da menù, maschere e dialoghi; se volete § ¤ memorizzare le configurazioni scelte, premete ¦F10 ¥o selezionate `Avanti'. Per rispondere Sì o No, potete muoverVi fra le due opzioni o bottoni con il tasto § ¤ ¦Tab ¥ . Se usate YaST a colori, la selezione attiva è sempre evidenziata in blu. Raramente, p.e. se lanciate YaST in remoto da un terminale non-Linux, succede- rà che non possiate usare i tasti funzione perchè i codici dei tasti stessi vengono § ¤§ ¤§ ¤ mal interpretati. In questo caso, usando § ¤ ¦Ctrl ¥+ § ¦f ¥¦ ¤ ¥ , potete simulare il § ¤§ ¤§ ¤ tasto-funzione ¦F § ¤ § ¥ . Al posto del tasto ¤ ¦F10 ¥potete inserire ¦Ctrl ¥+¦f ¥¦0 ¥ . I tasti-funzione ¦F11 ¥e¦F12 ¥non vengono usati in YaST. 3.2 Il menù principale di YaST Quando lanciate YaST, avete subito accesso al "menú principale" (figura 3.1 nella pagina successiva). `Aiuto generale per l'installazione' Diverse informazioni. 47 3 YaST­ Yet another Setup-Tool Figura 3.1: Il "menú principale" `Configurazioni per l'installazione ->' Questo punto offre diverse possibilità di scelta (vedi paragrafo 3.4). `Gestione pacchetti software' Da qui si accede alla raccolta del soft- ware, per installare dei pacchetti o per toglierli dal sistema (vedi paragrafo 3.5 a pagina 66). `Aggiornare il sistema' Per aggiornare pacchetti di software. `Amministrazione del sistema ->' Tramite questa voce si accede al menu per l'amministrazione del sistema (vedi paragrafo 3.7 a pagina 74). `Visualizzare file README per il dispositivo d'installazione' Importanti informazioni aggiuntive. `Copyright' La parola ai giuristi. `Terminare YaST' ­ Niente è eterno! 3.3 Assistenza generale Selezionando questa voce, accedete all'assistenza online per YaST; i singoli te- mi sono in "ipertesto". In questa sezione sono anche descritte le abbreviazioni relative alla tastiera. 3.4 Impostazioni per l'installazione Tutte le scelte rilevanti per l'installazione vengono effettuate nel sotto- menú `Configurazioni per l'installazione' (figura 3.2 nella pagina § ¤ successiva). Con ¦Esc ¥potete uscire dai menu. 48 3.4 Impostazioni per l'installazione Figura 3.2: Menue `Impostazioni per l'installazione' L'installazione vera e propria può essere eseguita solo dopo aver definito le par- tizioni! Alcune scelte possono essere fatte anche dopo l'installazione, se si desidera cambiare alcune impostazioni. 3.4.1 Determinare la lingua Con il menu `Scegliere la lingua' si può cambiare la lingua delle ma- schere di YaST; il valore viene scritto nella variabile in /etc/rc.config(vedi 13.6 a pagina 334). 3.4.2 La scelta della tastiera Con il menu `Scegliere la mappatura della tastiera' si puó cam- biare la tastiera; Il valore verrá assegnato alla variabile in /etc/rc.config (vedi 13.6 a pagina 335) Per una tastiera moderna con l'impostazione italiana scegliete qwertz/it-lat1-nd o qwertz/it-latin1. In queste definizioni, `nd' significa "no dead keys"; ciò significa che per esempio gli accenti possono venire direttamente digitati senza prima dover premere lo spazio. `qwertz' è la sequenza dei cinque tasti di sinistra con cui comincia la prima riga di tasti. 3.4.3 Dispositivo d'installazione Questo dialogo (figura 3.3 nella pagina seguente) Vi da la possibilità di scegliere il dispositivo dal quale desiderate installare e che viene chia- mato tramite la seguente voce del menu: `Scegliere il dispositivo d'installazione' 49 3 YaST­ Yet another Setup-Tool Figura 3.3: Scelta del dispositivo d'installazione in YaST Nella maggioranza dei casi, se volete installare direttamente dal CD, sceglierete la voce `Installazione da CD-ROM', Tramite l'opzione `Installazione da una partizione del disco ri- gido', potete installare Linux anche se il Vostro CD-ROM-drive non è supporta- to direttamente da Linux (vedi paragrafo 3.4.5). Se avete archiviato il contenuto dei CD nel file-tree di Linux, potete selezionare l'opzione `Installazione di una directory raggiungibile'. Con `Installazione via NFS' `Installazione da un server FTP' oppure `Via SMB', potete installare Linux su un computer che non abbia a di- sposizione un lettore CD-ROM, ma che sia collegato via Ethernet con un altro PC corredato di CD-ROM. Vd. anche paragrafo 3.4.6 a fronte o paragrafo 3.4.8 a pagina 53. 3.4.4 Installazione da CD/DVD Se potete installare direttamente da CD-ROM specificatene qui il tipo in Vostro possesso. Se non siete sicuri provate con `ATAPI EIDE'. 3.4.5 Installazione da una partizione dell'hard disk Anche se il vostro CD-ROM-drive non dovesse essere supportato direttamente da Linux potete ugualmente installare il sistema sul Vostro computer; per farlo dovrete però passare attraverso un altro dispositivo d'installazione. 50 3.4 Impostazioni per l'installazione Figura 3.4: Scelta del lettore del CD-ROM 3.4.6 Installazione via NFS L'installazione via rete offre la possibilità agli utenti più esperti di installare Li- nux su più sistemi in maniera semplice e confortevole, nel caso in cui soltanto uno di essi fosse dotato di un CD-ROM-drive. Da questo computer si copiano i source file su tutti gli altri hard disk raggiungibili tramite NFS. Comunque pri- ma di iniziare un'installazione via NFS sarà bene disporre di buone cognizioni teoriche e una certa pratica sulla configurazione di un NFS-Server. Con questa opzione, è possibile anche l'installazione su di un Notebook che sia dotato di scheda di rete PCMCIA. L'installazione via NFS non solo è possibile tra computer collegati l'uno all'al- tro via Ethernet, ma può avvenire anche su un computer che sia "collegato" con un server tramite l'interfaccia parallela. Questa caratteristica è interessante so- prattutto per laptop e notebook. Se volete eseguire questo tipo d'installazione, al momento del boot, dovete scegliere un kernel che abbia il supporto PLIP. Im- postate inoltre tutti i valori necessari alla corretta configurazione dell'interfaccia PLIP: Se siete collegati con il Server NFS tramite porta parallela, l'indirizzo del PLIP- Partner è come quello che dovrete inserire per l'indirizzo del server NFS. Nel- la maggioranza dei casi, l'interfaccia PLIP sarà plip1. Anche i parametri dell'hardware dovrebbero differenziarsi molto raramente dallo standard. Ricordate che se usate la porta parallela come interfaccia PLIP, la stampante non può più venire usata su questa porta. In molti casi una stampante collegata alla porta causa un Reset continuo appena il driver riesce a collegarsi. Nel dialogo successivo, indicate l'indirizzo IP del server NFS e la directory 51 3 YaST­ Yet another Setup-Tool Figura 3.5: Inserimento dei dati di rete per l'installazione via NFS nel quale si trovano i source file. Naturalmente il server deve esportare questa directory al computer su cui installare! 3.4.7 Installazione da una directory accessibile Questa opzione serve ad installare altro software a sistema caldo. Inoltre Vi offre la possibilità di installare Linux con lettori per i quali, al momento della realizzazione dei CD non era ancora disponibile alcun driver. Per poter accedere a questo lettore da YaST, dovete naturalmente far partire YaST § ¤§ ¤ stesso. Una volta fatto, passate a un'altra console (p.e. con ¦Alt ¥+¦F2 ¥passate sulla seconda console virtuale) e lì fate il login come utente `root'. Da qui dovete fare a mano il mount del CD-ROM su una directory del vostro directory-tree, inserendo p.e.: terra: # mount -tiso9660 /dev/cdrom /cdrom Ora potete eseguire una normale installazione. Per farlo, inserite nella maschera successiva (figura 3.7 a pagina 54) la directory nella quale si trovano i sorgenti dei file; si tratta della directory sulla quale è stato montato il CD, completato dalla directory suse. Se avete per esempio fatto il mount del CD-ROM drive o della partizione dell'hard disk nella directory /cdrom, inserite, come nella figura 3.7 a pagina 54: /cdrom/suse 52 3.4 Impostazioni per l'installazione Figura 3.6: Configurazione di PLIP 3.4.8 Installazione tramite un server FTP Anche questa, come NFS, è un'ulteriore possibilità d'installare SuSE Linux su un computer che non abbia a disposizione un CD-ROM drive supportato. E' necessario che sia già stata eseguita la configurazione della rete. `Server FTP [Nome|IP]' Il nome o indirizzo IP del server FTP. `Directory Server' Il punto del server FTP in cui si trova la directory suse. `[ ] Utilizzare Proxy?' Seglietelo solo se siete sicuri di dover usare un FTP-Proxy; generalmente non c'è bisogno di un Proxy. `Proxy [Nome|IP]' Inserite il valre solo se avete contrassegnato il punto precedente. `[X] Porta FTP di default?' Dovrebbe già essere selezionato di default. `Porta [Numero]' Il valore di default dovrebbe essere 21. `[X] FTP anonimo?' Sceglierlo se volete accedere a un server FTP pubblico. `Login' Se non avete selezionato il punto precedente, inserite qui il nome dell'utente e poi nel prossimo punto `Password' la password. `Timeout [Secondi]' 60 è un buon valore. `Directory Tmp locale' Directory locale in cui devono venire memorizzati temporaneamente i file. Avviso: YaST crea solamente collegamenti FTP passivi. 53 3 YaST­ Yet another Setup-Tool Figura 3.7: Inserzione della directory dei sorgenti 3.4.9 Partizionare l'(gli) hard disk(s) Il punto più critico dell'installazione di un nuovo sistema operativo è la divisione dell'hard disk. Normalmente ogni sistema operativo ha bisogno di almeno una partizione. Suggerimento Con Linux è anche possibile installare il sistema su un filesystem MS-DOS già esistente: si dovrebbe però prendere in considerazione questa possibi- lità solo per "sbirciare" un po' nel sistema. Le performance sono in questo caso più basse che non installando Linux su partizioni proprie; il sistema inoltre non è altrettanto sicuro, poichè p.e. non esistono per MS-DOS pro- grammi per il controllo dei file e Linux può venire influenzato da un DOS attivo. Se volete dare a Linux partizioni proprie dovreste suddividere il sistema in più partizioni. In fin dei conti la suddivisione di un sistema Unix è comunque que- stione di gusti personali e della propria filosofia, e non si può dire che esista una strada da dover seguire a tutti i costi (vedi 2.5 a pagina 38 e 2.6 a pagina 40); nella sezione 3.4.11 a pagina 60 troverete un esempio dettagliato. In ogni caso dovrete avere una partizione Swap che gestisca la Memoria virtualememoria del Vostro computer (vedi sezione 2.6.1 a pagina 41). Se nel Vostro computer avete più di un hard disk, Vi si chiederà di scegliere quale desiderate partizionare; accederete a un menu nel quale Vi viene indicata l'attuale suddivisione dell'hard disk (figura 3.9 a pagina 56). 54 3.4 Impostazioni per l'installazione Figura 3.8: Indicazioni per l'installazione FTP § ¤§ ¤ Con i tasti cursore § ¤ ¦ ¥e¦ ¥potete muoverVi nella lista delle partizioni disponibili § ¤ e tramite ¦F3 ¥potete associare un filesystem alla partzione selezionata. Con § ¤ ¦F4 ¥ cancellate una partizione esistente, con ¦F5 ¥potete crearne una nuova. § ¤ È necessario cambiare il tipo di filesystem (con ¦F3 ¥ ) per creare una partizione swap . Non è necessario specificare alcun tipo di filesystem se in quella parti- zione vorrete mettere in futuro altri sitemi operativi: in questi casi posizionate § ¤ semplicemente il cursore sulla partizione corrispondente e premete ¦F3 ¥ . Tenete in considerazione che per Linux non ci sono premesse sul tipo di partizioni sulle quali deve venire installato: Entro una partizione estesa, è possibile installare Linux sia su una partizione primaria, sia su una logica Nota Partizioni estese, come anche partizioni logiche, vengono definite da DOS- fdisk come partizioni-DOS estese o drive logico, anche se il concetto è valido a prescindere dai diversi sistemi operativi. 3.4.10 Impostare le partizioni e i relativi file systems Dopo la suddivisione dell'hard disk in partizioni, bisogna attribuire loro delle sotto-directory nell'albero delle directory di Linux. Per farlo scegliete la voce `Assegnare i filesystem'. Nell'esempio (figura 3.10 a pagina 57) si vedono le partizioni di un sistema con un hard disk. Per ogni partizione potete stabilire se e come debba venire format- tata e in quale punto del Vostro albero della directory debba poi venire "montata" (mounted). 55 3 YaST­ Yet another Setup-Tool Figura 3.9: Creare le partizioni Dovete assolutamente designare una partizione come partizione di "Root"! Essa viene chiamata così perchè rappresenta la radice (ingl. root) di tutte le directory. Perciò le si associa il Mountpoint `/'. Naturalmente potete modificare in questo modo solo partizioni Linux. Se il cur- sore si trova su una partizione di un altro sistema operativo verranno disattivati tutti i tasti-funzione tranne quello per stabilire il mountpoint. Stabilire il tipo di file system § ¤ Con ¦F3 ¥potete scegliere fra i due filesystem ext2 e reiser `ext2' ­ Il filesystem ext2 (ingl. second extended-2 filesystem) è da anni lo standard filesystem di Linux. `reiserfs' ­ ReiserFS è il filesystem dell'ultima generazione ed è ormai uf- ficialmente incluso nel kerne 2.4. Consultate assolutamente le istruzioni contenute su /usr/share/doc/packages/reiserfs/README. In stretta collaborazione con la SuSE, il gruppo di sviluppatori che lavora con HANS REISER e CHRIS MASON ha ampliato il ReiserFS portandolo ormai ad un "Journaling Filesystem". Con il Journaling è possibile, anche con server di grandi dimensioni, eseguire un controllo del filesystem (ingl. filesystem check) in pochi secondi. Attenzione Non usate ReiserFS assieme al software-RAID 1 e RAID 5. Con l'hardware-RAID non ci sono limitazioni. Una partizione ReiserFS, al momento attualmente , deve disporre di un minimo di 34 MB. 56 3.4 Impostazioni per l'installazione Figura 3.10: Determinazione dei filesystem Per evitare problemi, create una partizione /boot con filesystem ext2 e installatevi LILO LILO. Questa è la configurazione standard di SuSE Linux. Se volete utilizzare ReiserFS per un NFS-Server, è bene tenere in considerazione i seguenti punti: * knfsd generalmente funziona, si possono creare dei problemi solo in caso di ridenominazioni estese di file speciali ("device files", "named pipes") su NFS su directory diverse. * unfsd funziona in modo affidabile, quando il filesystem corrispondente viene esportato con l'opzione no_cross_mounts, oppure quando unfsd viene direttamente avviato con l'opzione --no-cross-mounts. * L'esportazione di interi alberi filesytem (possibile con unfsd) non funziona in modo affidabile con ReiserFS. Le utility per ReiserFS sono contenute nel pacchetto reiserfs, serie a; tut- tavia reiserfsck non 'e ancora in grado, di rendere riutilizzabile qualsiasi filesystem. Troverete informazioni aggiornate in: http://www.namesys.com/ Mountpoint § ¤ Con ¦F4 ¥potete stabilire su quale punto della directory ad albero (directory tree) debba venire montata (mount) la partizione selezionata. RicordateVi che dovete avere una partizione assegnata alla directory di root (/). Potete montare la Vostra partizione DOS/Windows in una directory di facile ri- conoscimento, per esempio /dosc per la Vostra prima partizione DOS e /dosd per la seconda e così via. 57 3 YaST­ Yet another Setup-Tool Attenzione Ricordate di indicare tutti i mountpoints con path name assoluti e ricordate che i nomi delle directory non devono contenere segni speciali! Non dovete assolutamente posizionare le directory /etc, /bin, /sbin, /lib e /dev su partizioni dedicate, poichè queste contengono tra l'altro i comandi, librerie e file di configurazione necessari per fare il mount del resto del filesystem al momento del boot! Queste directory devono risiedere nella partizione di root! Menu per esperti e configurazione avanzata del file system Figura 3.11: Menu esperti per l'impostazione dei filesystem La densità dell' inode indica quale ampiezza media del file é necessaria per una partizione. La quantità degli inodes determina quanti file possono venire ap- plicati su una partizione: se la quantità è troppo piccola, può succedere che la partizione venga considerata piena, anche se esistono su di essa ancora blocchi liberi. Se per esempio si sceglie un valore di 4096 Bytes per Inode, significa che in media tutti i file hanno un volume di 4 KB. Se su una tale partizione si creano esclusivamente file con un volume di solo un Kilobyte; potrà venire usato solo un quarto dell'hard disk, poichè il fileystem viene considerato pieno. Il volume dell'inode di 4 KB per file è un buon valore standard (un numero mag- giore di Inodes per partizione significa anche naturalmente meno spazio netto 58 3.4 Impostazioni per l'installazione per i dati, poichè anche le tabelle degli Inodes devono venire memorizzate). Se una partizione deve venire usata come Spool-area, p.e. per Netnews, si dovreb- be scegliere un valore di 2048 Byte per Inode, poichè i singoli articoli sono file tipicamente molto piccoli. La determinazione della dimensione di un blocco influisce sulla durata di una ve- rifica del filesystem (ingl. filesystem check); Il nostro consiglio per la dimensione dei blocchi: 1024 (= 1 KB) per partizioni di 1 GB, 4096 (= 4 KB) con 4 GB. Qui viene inoltre stabilito sotto quali condizioni deve venire eseguito il con- trollo del filesystem (ingl. filesystem check); si può tenere in considerazione la frequenza del mount. Indicazione dell'area riservata a `root': riservare un'area per `root' ogni vol- ta che le partizioni vengano usate in comune sia dai programmi del sistema, che dagli utenti regolari. Una partizione /home separata non deve obbligatoriamente mettere a disposizione spazio per `root'. Può venire indicato il comportamento con errori. Se subentra un errore nel file- system, il funzionamento può continuare normalmente (continue), la partizio- ne può venire rimontata (in un altro luogo) solo leggibile (remount-ro) o può venire fermato il completo sistema (panic). Attenzione L'opzione adatta è da scegliere tenendo conto dell'utilizzo che si inten- de fare del sistema. Solo amministratori di sistema esperti dovrebbero modificare la preimpostazione continue. Formattare le partizioni § ¤ Con ¦F6 ¥potete stabilire se e come devono venire formattate le partizioni. Con i moderni hard disks (SCSI) non è necessario, durante la formattazione, ese- guire un controllo dei settori guasti; per sicurezza potete comunque eseguirlo ugualmente. In questo caso la formattazione durerà molto più a lungo. Lettura del file fstab § ¤ Premendo ¦F7 ¥potete leggere un file fstab già esistente: vengono indicate an- che le registrazioni dell' fstab che non appartengono ai filesystem dell'hard disk (swap, proc, nfs-mount, registrazioni CD-ROM etc). Queste hanno uno sfondo grigio e non possono venire cambiate; non si cancellano al momento della memorizzazione dell' fstab. Questa opzione è necessaria se volete eseguire un update del Vostro sistema di base (vedi paragrafo 11.1.3 a pagina 289); poichè YaST deve sapere su quali partizioni è suddiviso il sistema. È anche possibile mantenere parallelamente più versioni di Linux su un unico computer. 59 3 YaST­ Yet another Setup-Tool 3.4.11 Excursus: Configurazione manuale dell'hard disk Configurare le partizioni Di cosa si tratta? Qui vogliamo parlare della maschera YaST con cui verrete confrontati nel ca- so che nel capitolo 2.1.3 a pagina 13 abbiate deciso di partizionare in modo interattivo. Nel documento di ANDRIES BROUWER (http://www.win.tue.nl/~aeb/ partitions/), troverete informazioni di base sui diversi tipi di partizione. Passo per passo. . . Ecco il procedimento per configurare le partizioni: 1. YaST Vi presenta uno schermo diviso in più zone (vedi figura 3.9 a pagina 56): * nella parte superiore si trovano i parametri dell'hard disk * nella seconda parte vi sono eventuali avvisi e comunicazioni di errori del § ¤ programma fdisk. Potrete leggere queste comunicazioni con ¦F6 ¥ * nella parte inferiore vedete le partizioni trovate da fdisk sull'hard disk. Lì trovate la(e) partizione(i) del sistema operativo avuto finora (p.e. MS- DOS). Qui viene anche riportata la partizione swap ­ se ne avevate già creata una. 2. Se volete cancellare le partizioni esistenti per riordinare in partizioni lo spazio libero disponibile, fatelo subito. § ¤ § ¤ Con ¦ ¥e ¦ ¥andate alla partizione che volete cancellare. Se cancellate una partizione, vanno persi tutti i dati in essa contenuti (o, eventualmente ripri- stinabili solo con grandi sforzi). Fate anche attenzione al tipo di partizione! § ¤ § ¤ Premete quindi ¦F4 ¥e confermate con ¦ ¥. 3. Se volete utilizzare le partizioni già esistenti di altri sistemi operativi, potete farlo modificando ora il tipo di partizione. Attenzione Se modificate il tipo di una partizione, eventualmente non avrete più la possibilità di accedere ai dati di altri sistemi operativi (MS-DOS o Windows) in essa contenuti! § ¤ § ¤ Con ¦ ¥e § ¦ ¥ , andate alla partizione di cui volete modificare il tipo e premete ¤ quindi ¦F3 ¥ . Apparirà una finestra di selezione per il nuovo tipo di partizione. Selezionate fra la normale partizione di Linux e la partizione swap e confermate poi con § ¤ ¦ ¥. 60 3.4 Impostazioni per l'installazione 4. Se volete creare nuove partizioni per Linux, Vi consigliamo di crearle una § ¤ § ¤ dopo l'altra. A questo scopo, premete prima ¦F5 ¥ . Se con ¦F5 ¥non funziona, può significare che l'hard disk è già pieno e non c'è più posto per una nuova partizione e dovete prima cancellare delle partizioni (vedi sopra). Figura 3.12: YaST ­ Stabilire la partizionatura Appare una finestra di selezione per il tipo della nuova partizione che si vuole creare (figura 3.12). Scegliete fra `Partizione primaria', `Partizione § ¤ estesa' ed eventualmente `Partizione logica' e confermate con ¦ ¥. Ricordate: potete avere al massimo 4 partizioni primarie. Se avete bisogno di più di 4 partizioni primare, dovete definire (al più tardi) la quarta partizione come partizione estesa entro la quale potrete poi creare più partizioni logiche. Nel capitolo 2.5 a pagina 38 troverete ulteriori informazioni a riguardo. Una volta creata una partizione primaria o logica, dovete indicare il tipo di device sotto il quale deve venire indirizzata. YaST offre i device names liberi. § ¤ Scegliete il primo nome (p.e.`/dev/hda2') e premete ¦ ¥. Il prossimo lavoro da fare, è quello di stabilire la dimensione della nuova partizione. Come inizio della partizione (cilindro iniziale), YaST propone il § ¤ primo cilindro libero. Normalmente, potete accettare la proposta con ¦ ¥ . Ora indicate la fine della partizione. Avete a disposizione tre possibilità di registrazione: il numero del cilindro finale (p.e. 976), la quantità dei cilin- dri della partizione (p.e. +66) o la grandezza in Megabyte (p.e. +100M). § ¤ § ¤ Premendo di nuovo su ¦ ¥ , arrivate su `Avanti', confermate con ¦ ¥ . Nella parte inferiore dello schermo, appare ora la nuova partizione creata. Se la partizione non è riuscita secondo i Vostri desideri, potete cancellarla con § ¤ ¦F4 ¥ . 5. Una delle partizioni deve assolutamente essere una partizione swap di Linux. § ¤ § ¤ Se non ne avete ancora crata una, scegliete la partizione adatta con ¦ ¥e ¦ ¥ ; per trovare la grandezza adatta della partizione swap, leggete il capitolo 2.5 § ¤ a pagina 38. Premete § ¤ ¦F3 ¥e selezionate `Partizione swap di Linux', confermate con ¦ ¥. 61 3 YaST­ Yet another Setup-Tool 6. Avete creato tutte le partizioni nel modo desiderato (ora l'hard disk dovrebbe essere completamente occupato)? Vi siete ricordati anche della partizione § ¤ swap? Se si, con ¦Tab ¥portate ora il cursor su `Avanti' (se non si trova § ¤ ancora in questo campo). Dopo la conferma, ¦ ¥Vi porta alla maschera d'immissione `Stabilire i files systems'. A determinate condizioni, per sicurezza, YaST controlla la partizione swap. Stabilire i file systems e i "Mountpoints" Di cosa si tratta? Tutte le partizioni sono state registrate nella tabella di partizione nel capitolo precedente. Qui specificate informazioni supplementari, per le partizioni Linux appena configurate e per le partizioni DOS-/HPFS. Ulteriori informazioni Queste informazioni riguradanti le partizioni vengono in parte fissate permanen- temente nel file /etc/fstab della tabella del file system (ingl. file system table). Il file /etc/fstab contiene tutte le indicazioni costanti sui file systems come p.e. il nome del Device, la posizione del file system nel file system tree di Linux o il tipo del file system, come pure informazioni per i programmi dump e fsck; vedi pagina di manuale di fstab (man 5 fstab). Al contrario della tabella di partizione (vedi capitolo 3.4.11 a pagina 60), in questo passo, le indicazioni da fare, sono indicazioni interne di Linux e non hanno alcun effetto su altri sistemi operativi che si trovano in partizioni proprie. Ancora alcuni concetti: * Sotto Linux, tutti i file sysytems sono "appesi" ad uno stesso "albero" (vedi Manuale di Configurazione, capitolo "Lavorare con la shell", "Files e di- rectories"). Per ogni singolo file system bisogna stabilire sotto quale tipo di "ramo" deve apparire: si tratta del rispettivo Mountpoint. Potete "appendere" nell'albero delle directories di Linux anche le partizioni DOS o HPFS. * Lo spazio di memoria in un file system, viene amministrato con l'aiuto degli Inodes. Gli inodes indirizzano sui dati memorizzati nei files. La quantità degli inodes viene stabilita quando viene creato il file system. Se si vogliono creare tanti piccoli files, sono necessari parecchi inodes (che naturalmente consumano anche più spazio); in corrispondenza, nei file systems che con- tengono quasi sempre files grandi, sono necessari meno inodes. Informazioni dettagliate su questo tema, le troverete nel capitolo 3.4.10 a pagina 58. Passo per passo. . . Vi trovate nalla maschera d'immissione `Stabilire i file systems' (vedi figura 3.10 a pagina 57). Ecco come procedere per stabilire i file systems delle Vostre nuove partizioni: 62 3.4 Impostazioni per l'installazione 1. Prima, come informazione, eccoVi il da fare: * Qui potete definire un Mountpoint per i Vostri file systems DOS-/HPFS (nelle partizioni DOS-/HPFS). * Per ognuna delle Vostre partizioni Linux: ­ dovete definire un mountpoint. ­ potete selezionare un file sysytem con `F3=Stabilire il tipo' (ext2 o reiserfs). ­ potete eseguire le impostazioni finalizzate con `F5=Menu esperto'. ­ potete modificare il modo di formattazione proposto, usando `F6=Formattare' (con o senza controllo). * Alla prima installazione NON avete bisogno della funzione `Leggere Fstab'. Figura 3.13: YaST ­ Montare la partizione DOS/Windows-Partition § ¤ 2. Con ¦F3 ¥potete impostare il tipo del file system di Linux. Al momento, 7.3, sono disponibili l'ext2 o il nuovo reiserfs con opzioni avanzate. Attenzione ReiserFS non può venire usato assieme al software RAID 5. Con l'hard- ware RAID non ci sono limiti: in confronto a ext2, reiserfs (al mo- mento Attualmente (Mai 2001)) è ancora molto giovane; tenete conto di questo fatto, se Vi decidete per reiserfs. A questo riguardo, vd. a pagina 56. 3. Se volete indirizzare una partizione DOS o HPFS con Linux, selezionate- § ¤ la e premete ¦F4 ¥. Apparirà una finestra d'immissione nella quale dovrete indicare una directory. Successivamente, sotto questa directory, troverete il 63 3 YaST­ Yet another Setup-Tool Vostro file system DOS-/HPFS. Selezionate `Atra registrazione' e di- gitate p.e. /dosc; fate attenzione alla barra (`/') iniziale. Confermate con § ¤ ¦ ¥ . In una partizione DOS, appare un'altra maschera (Figura 3.13 nella pagina precedente); scegliete in quale modo Linux deve indirizzare il file system di DOS (vedi anche capitolo 3.4.10 a pagina 57). Se volete usare un file system di DOS da solo, ed accedere solo sporadicamente (da Linus) alla partizione DOS (p.e. per uno scambio di dati) selezionate qui `DOS' o `FAT-Win95' (= vfat). Gli attributi dei files di UNIX e i lunghi nomi di files offerti dal file system UMSDOS, sono necessari solo se volete installare SuSE Linux su una partizione DOS ­ EVITATE DI FARLO!! 4. Ora indicate i Mountpoints delle partizioni Linux. Selezionate una dopo l'al- § ¤ tra le partizioni di Linux e premete ¦F4 ¥ . Apparirà la finestra nella quale indicherete la directory sotto la quale deve apparire (per tutto il file system) il file system di questa partizione. Indicate sempre il path con la barra (`/') iniziale. Quali sono le directories indicate come mountpoint, dipende naturalmente dalla partizionatura che volete eseguire. In ogni caso, avete assolutamente bisogno di una directory `/' (ingl. root directory), che raffiguri per così dire "la radice e il tronco" del file system completo; per questa directory, viene a volte usata l'espressione "directory della radice". Come già accennato sopra, gli altri file systems ed i loro mountpoints sono una questione di gusti, ma attenzione: Attenzione Directories necessarie già al momento del boot, devono trovarsi diretta- mente nel file system `/'; in questo momento, i singoli rami del comple- to file system non sono ancora montati "mounted". Per questo motivo, qui non devono venire indicate le directories /bin, /dev, /lib, /etc e /sbin! 5. Se avete appena cominciato ad usare Linux, ignorate il `Menu esperti'; generalmente, le preimpostazioni sono definite in modo da garantire un uso sicuro e senza problemi. Modificate i valori proposti, solo se siete a conoscenza delle conseguenze (vedi a pagina 58)! 6. Stabilite se e come debbano venire formattate le partizioni di Linux. Le partizioni nuove che abbiamo creato nel capitolo 3.4.11 a pagina 60, devo- no venire formattate in ogni caso. Se avete un hard disk moderno, è suffi- ciente `Formattare normalmente'; se l'hard disk è un po' più vecchio, è consigliabile usare `Formattare con controllo'. § ¤ Selezionate una dopo l'altra le partizioni di Linux, premete ¦F6 ¥e scegliete quindi il modo adatto di formattazione; alla fine il menu dovrebbe assogmi- gliare a quello della figura 3.14 a fronte (probabilmente, non avete registrato alcuna directory NFS!). 64 3.4 Impostazioni per l'installazione Figura 3.14: YaST ­ Mountpoints 7. Premete `Avanti' e, dopo una domanda di sicurezza, verranno formattate tutte le partizioni secondo le istruzioni. 3.4.12 Configurare il Logical Volume Manager Per informazioni sulla configurazione del "Logical Volume Manager" (LVM), consultate http://www.suse.de/de/linux/whitepapers/ e l'Howto ufficiale dell'LVM: http://www.sistina.com/lvm/Pages/howto.html È anche possibile impostare l'LVM con YaST2; cfr. pag. ?? 3.4.13 Installazione in una directory Con YaST, potete anche eseguire tutta l'installazione in una directory. Così per esempio é possibile aggiornare un altro computer tramite NFS, creare un ambiente "chroot" o installare un altro sistema Linux su un secondo hard disk. Questa modalità d'installazione è solo per casi speciali. Se, nella suddetta direc- tory, sono montati filesystem particolari, dovrete occuparVene Voi stessi, prima di ricorrere a questo metodo d'installazione. Inoltre, dovrete assicurarVi che si possa fare un boot del sistema installato. Pro- babilmente é anche neccessario fare alcuni cambiamenti con YaST nel file fstab nel sistema appena installato. Adesso dovete scegliere la directory nella quale volete installare. 65 3 YaST­ Yet another Setup-Tool Figura 3.15: YaST ­ Logical Volume Manager 3.5 Gestione dei pacchetti ­ Scelta dei pacchetti da installare Dopo aver terminato l'installazione dei Vostri filesystem, selezionate, nel menù principale, la voce `Gestione pacchetti', per stabilire la quantità di pacchet- ti da installare e/o iniziare ad installarli; cfr. figura 3.16 nella pagina successiva. Avrete qui la possibilità di creare nuovi profili d'installazione, di memorizzarli o di caricarli. Partendo da questo menù, potete iniziare l'installazione o farVi mostrare un'anteprima di cosa succederebbe se installaste la configurazione scelta. 3.5.1 Caricare la Configurazione Al punto `Caricare configurazione', roverete alcune configurazioni già § ¤ § ¤ preparate da noi; cfr. figura 2.10 a pagina 17. Con i tasti § ¤ ¦ ¥e ¦ ¥acccedete alla "configurazione" data; con ¦spazio ¥selezionate o deselezionate un punto. Il sistema minimo, per esempio, Vi permette di inizializzare Linux dall'hard disk e di effettuare poi un'installazione di altri pacchetti. Se avete già creato profili di installazione, potete naturalmente caricarli. Ciò è utile se volete installare una identica configurazione su più computer. Se avete già installato un sistema, dovrete ora fare attenzione a non far cancellare tutti quei pacchetti che non fanno parte della configurazione caricata, ma che so- no già stati installati. Ciò potrebbe avvenire nel momento in cui selezionate `So- stituire'. Per conservare questi pacchetti, potete selezionare `Aggiungere'. 66 3.5 Gestione dei pacchetti ­ Scelta dei pacchetti da installare Figura 3.16: Scelta dei pacchetti da installare Alternativamente, in un secondo momento, dopo avere inizializzato l'installa- zione con `Avviare l'installazione', rispondete no quando Vi verrà chie- sto se vogliate veramente cancellare i pacchetti. Altrimenti, deselezionate ogni pacchetto da cancellare e che sia marcato con `[D]'. Se avete deselezionato correttamente, dovrebbe comparire di nuovo `[i]'). 3.5.2 Memorizzare la configurazione Qui potete memorizzare la Vostra configurazione. Se YaST è stato lanciato da un dischetto, questo viene usato per memorizzare (salvare) la configurazione. Se avete fatto il boot direttamente dal CD, verrete pregati di inserire un dischetto formattato sul quale possano venire memorizzati i dati. 3.5.3 Modificare/creare una configurazione Con la selezione di questo punto, accedete all'editor di selezione; cfr. figura 3.17 nella pagina successiva. L'editor di selezione Vi permette di stabilire quanti pac- chetti vogliate installare, ovvero di modificare una configurazione precompilata e già caricata (cfr. sezione 3.5.1 a fronte). ServiteVi di questo dialogo per rimuovere pacchetti già installati alla fine dell'installazione. § ¤ § ¤ Potete muoverVi nella lista delle serie con i tasti cursore ¤ § ¤ § ¤ ¦ ¥e ¦ ¥come pure con § ¦Page ¥e ¦Page ¥e con ¦ ¥potete scegliere una serie da visualizzare. Nella finestra inferiore vengono riportate informazioni sulla memoria del Vostro disco rigido attualmente occupata. § ¤ Con ¦F4 ¥otterrete una visualizzazione diversa dei raggruppamenti di pacchetti (figura 3.18 a pagina 69); al momento, assieme alle `Serie' e i `gruppi RPM', troverete la variante `Tutti i pacchetti': 67 3 YaST­ Yet another Setup-Tool Figura 3.17: Scelta della serie su YaST `Serie' La suddivisione abituale secondo le serie. `RPM-Gruppen' Ordinamento secondo la specificazione dei gruppi RPM. `Tutti i pacchetti' `Tutti i pacchetti (senza sorgenti)'; `Pac- chetti del sistema di base' e `Tutte le sorgenti'. § ¤ Con ¦F10 ¥potete uscire dalla scelta, p.e. la scelta di una serie, per ritornare al menú di configurazione. § ¤ Se, in una delle serie, premete ¦ ¥ , giungete alla scelta dei pacchetti della serie corrispondente (la figura 3.19 a pagina 70 Vi mostra il contenuto della serie a). Se avete prima caricato una configurazione, i pacchetti già scelti sono contrasse- gnati da una crocetta. Nella finestra di destra trovate informazioni sullo spazio (suddiviso nelle diverse partizioni) che occuperebbe la configurazione attuale su ognuna delle Vostre partizioni. Qui, nella finestra inferiore, Vi viene indicata una breve descrizione dei pacchetti selezionati al momento: nella finestra di destra vedete quale è al momento lo spazio necessario sulla Vostra partizione. Questi valori vengono aggiornati ogni volta che selezionate o deselezionate un pacchetto. In alcuni casi lo spazio a disposizione delle informazioni riguardanti i pacchetti § ¤ § ¤ non è sufficente; in questo caso, premendo ¦F2 ¥o ¦F3 ¥ , potete "ingrandire" la finestra inferiore o quella di destra e leggere attentamente le informazioni in una nuova maschera. Davanti al nome di ogni pacchetto, viene indicato il suo stato: `[ ]' indica un pacchetto non installato `[X]' indica un pacchetto selezionato per l'installazione `[i]' indica un pacchetto installato 68 3.5 Gestione dei pacchetti ­ Scelta dei pacchetti da installare Figura 3.18: Riordinare i pacchetti in YaST `[D]' indica un pacchetto che si vuole disinstallare `[R]' indica un pacchetto da ricaricare § ¤ Con ¦ ¥si può cambiare fra lo stato `[ ]' e `[X]' o fra `[i]', `[R]' e § ¤ § ¤ `[D]'. Con ¦ switch ¥+ ¦A ¥si può modificare globalmente lo stato di tutti i pacchetti di una serie. § ¤ ¦F6 ¥fa in modo che venga installato anche il relativo pacchetto delle sorgenti; sui pacchetti-sorgenti cfr. anche la sezione 11.3.4 a pagina 304. Se in questa sele- § ¤ zione, premete ¦F10 ¥ , ritornate alla maschera delle serie. Se desiderate abbando- nare la maschera dei pacchetti senza che vengano eseguite le Vostre modifiche, § ¤ premete ¦Esc ¥ . 3.5.4 Verificare dipendenze fra pacchetti Spesso, l'installazione di un determinato programma necessita l'installazione di anche altri pacchetti complementari. YaST controlla le dipendenze dei pacchetti installati e dei pacchetti già selezionati per l'installazione, meno quelli da elimi- nare, vale a dire: dei pacchetti che sarebbero già installati se aveste già premuto `Avviare l'installazione'. Nota Se YaST dovesse constatare che il CD inserito è una versione precedente al sistema di base installato o attualizzato, le dipendenze memorizzate sul vecchio CD verranno ignorate. 69 3 YaST­ Yet another Setup-Tool Figura 3.19: Scelta dei pacchetti, serie a1 (Sistema di base) Le dipendenze che sono state trovate verranno infine indicate in una finestra di dialogo; cfr. figura 3.20 a fronte. Si differenzia tra 3 categorie di dipenden- ze, quali verranno catalogate in altrettante liste separate; in caso il programma d'installazione non abbia riscontrato esemplari di una determinata categoria di dipendenza, la lista ad essa corrispondente non verrà rappresentata. Pacchetti necessari. Pacchetti necessari ad altri pacchetti già installati (o selezionati per l'installazione). Tali pacchetti vengono automaticamente selezionati per l'installazione; cfr. esempio gettext Caratteristiche necessarie. A volte, pacchetti già installati non hanno biso- gno di altri pacchetti, ma solo di una caratteristica speciale. per esempio, se un pacchetto ha bisogno della feature windowmanager ed essa non si trova in un pacchetto installato, il programma d'installazione Vi mostrerà tutti i pacchetti del caso nella lista di selezione alla voce windowmanagercfr. l'e- sempio glu. Selezionate almeno uno di questi pacchetti. Potrebbe anche convenire selezionare più pacchetti contemporaneamente. Conflitti. In alcuni casi non conviene installare pacchetti diversi con le stesse funzioni. Provare a installare più programmi di Mail Transport contempora- neamente finirà per dare più problemi di un unico sistema di E-mail funzio- nante. Nella lista di selezione dovreste quindi adottare uno dei pacchetti e deselezionare l'altrocfr. l'esempio postfix e sendmail Tutte le liste hanno in comune il fatto che regole di dipendenza non applicate sono evidenziate in rosso. Appena una delle regole viene selezionata e quindi § ¤ applicata, essa tornerà nera. Con § ¤ ¦Tab ¥ , saltate da una lista all'altra. Eseguite mo- § ¤ difiche con ¦spazio ¥vorgenommen. Con ¦F10 ¥(sciogliere), potrete far ricalcolare le dipendenze dopo una modifica e farVi mostrare i risultati. 70 3.5 Gestione dei pacchetti ­ Scelta dei pacchetti da installare Figura 3.20: Verificare le dipendenze fra pacchetti Solo quando uscirete dal dialogo con `Avanti', le impostazioni verranno defini- § ¤ tivamente attivate. ¦Esc ¥o `Interrompere' annulla le modifiche finora eseguite e chiude il dialogo. 3.5.5 Cosa sarebbe se... YaST Può essere utilizzato per analizzare la Vostra costellazione di pacchet- ti. Con questa opzione potete accertarVi di non cancellare file necessari al funzionamento del sistema. 3.5.6 Avviare l'installazione Questa opzione dà inizio alla vera installazione. Tutti i pacchetti da Voi sele- zionati, vengono letti dal dispositivo d'installazione, decompressi e scritti sulla partizione di destinazione. Durante l'installazione, nella parte inferiore della finestra, vengono fatte comu- nicazioni riguardanti errori e stato del processo. Nella prima riga, YaST Vi dice quali pacchetti si stanno installando. § ¤ Dopo aver terminato l'installazione, con ¦Tab ¥ , cambite e fate scorrere all'indietro la finestra di protocollo, per analizzare eventuali comunicazioni di errori. 3.5.7 Indice delle serie e dei pacchetti Qui viene indicata una lista di tutti i pacchetti che si trovano sui CD. I pacchetti contrassegnati con `*' sono già installati, o sono selezionati per l'installazione. Questa funzione è molto utile per avere una visione d'insieme. 71 3 YaST­ Yet another Setup-Tool 3.5.8 Cerca pacchetti software Per poter cercare, in modo semplice e (relativamente) veloce, file e pacchetti sia sul SuSE Linux-CD come anche nell'hard disk, esiste un'utility d'informazio- ne sui pacchetti nella cui maschera si inserisce semplicemente il nome del file desiderato: YaST cerca il file nel dispositivo indicato ed elenca i risultati. 3.5.9 Caricare i pacchetti Selezionate questa voce se volete "installare" un qualsiasi pacchetto, p.e. versio- ni nuove o modificate che noi teniamo pronte sul server FTP ftp.suse.com,: potete farlo anche con pacchetti compilati da Voi stessi o che Vi siete procura- ti da altre fonti. Vengono supportati archivi Tar (.tgz) e pacchetti RPM (.rpm, .spm e .src.rpm) come pure speciali pacchetti patch (.pat), anche questi sono a disposizione sul nostro server FTP. Il procedimento di installazione consiste in tre passi (potete avere indicazioni § ¤ dettagliate premendo ¦F1 ¥ ): * Scelta del supporto d'installazione * Scelta dei pacchetti là offerti * Installazione dei pacchetti § ¤ Alla voce del menu `sorgente:' troverete, premendo ¦ ¥ , una lista di pos- sibili dispositivi da cui fare l'installazione: `directory', `FTP', `supporto d'installazione' e `Floppy'. Se necessario, modificate il path (directo- § ¤ ry/FTP) preconfigurato e confermate con ¦ ¥ . YaST creerà ora una lista dei pacchetti disponibili sul dispositivo selezionato. Con `FTP' è quindi possibile fare l'installazione direttamente da Internet. L'indirizzo è ftp.suse.com:/pub/suse/i386/update/7.3 (cfr. figura 3.21 nella pagina successiva). Fin'ora non è possibile installare pac- chetti tramite un "Proxy"; avete bisogno di un accesso diretto al rispettivo server FTP. Suggerimento Se ricevete una comunicazione come "530 User ftp access de- nied.", significa probabilmente che temporaneamente non è possibile l'FTP-Login, poichè ci sono già troppi utenti. Riprovate di nuovo più tardi. Andate fino al pacchetto rpm che desiderate installare; contrassegnatelo come § ¤ § ¤ d'uso con il tasto ¦Spazio ¥e installatelo poi con ¦F10 ¥ . Il pacchetto rispettivo viene riposto nella directory /tmp/ftp in modo che ­ nel caso qualcosa vada male ­ abbiate la possibilità di installare il pacchetto manualmente (vedi 11.3.2 a pagina 300) . 72 3.6 Aggiornare il sistema Figura 3.21: Installare i pacchetti via FTP 3.5.10 Cancellare i pacchetti Se scegliete questo punto del menú, YaST Vi indica una lista di tutti i pacchetti installati sul Vostro sistema, compresi pacchetti non inclusi nella distribuzione SuSE: su questi pacchetti, YaST non può eseguire alcun update e non è nemmeno in grado di controllare le dipendenze non risolte. In questi casi, la cosa più semplice è rimpiazzare tali pacchetti con i corrispon- denti pacchetti del SuSE-CD. Per farlo, scegliete dalla lista indicata i pacchetti a § ¤ riguardo. Con ¦F2 ¥Vi viene fornita una breve descrizione del pacchetto estraneo, § ¤ poichè per questi pacchetti non esistono descrizioni dettagliate. ¦F10 ¥cancella i pacchetti. Dopo potete installare di nuovo dal CD i pacchetti corrispondenti. 3.6 Aggiornare il sistema Il punto del menu `aggiornare il sistema' dovrebbe venire usato solo se il Vostro sistema non sufficientemente attuale ­ se cioè siete in possesso di una release nuova, con nuovo kernel, ecc.. In ogni caso YaST Vi "comunicherà" se ciò che trova nel dipositivo d'installazione è più aggiornato rispetto a ciò che avete installato nel vostro disco fisso. Un aggiornamento del sistema si ottiene come descritto nel capitolo 11 a pa- gina 287; potete aggiornare singoli pacchetti con YaST. come descritto in paragrafo 3.5.9 a fronte. 73 3 YaST­ Yet another Setup-Tool 3.7 Amministrazione del sistema Oltre ad aiutarvi nell'installazione, YaST Vi da una mano anche nei vari compiti di gestione di Linux, facendo di voi provetti amministratori di sistema. Una volta che avete terminato l'installazione vera e propria ­ i pacchetti sono cioè stati copiati sull'hard disk ­ devono ancora venir eseguite una quantità di impostazioni che Vi consentono di adattare il sistema alle Vostre necessità: In- tegrare l'harware, configurare ed attivare i servizi rete, creare utenti, definire il modo di avvio di SuSE Linux, etc. Figura 3.22: Amministrazione del sistema Potete accedere all'amministrazione del sistema scegliendo (vedi figura 3.1 a pagina 48) il punto `Amministrazione del sistema' nel menu principale di YaST (figura 3.22). 3.7.1 Integrare l'hardware nel sistema Qui potete impostare in maniera dettagliata il Vostro hardware. Nella maggioran- za dei casi viene creato un link simbolico Link simbolicolink da un "dispositivo" standard a quello da Voi usato, in modo che possiate sempre servirVi dell'hard- ware corrispondente senza doverVi tenere a mente il nome esatto del componente specifico. Configurare il mouse, Modem e CD-ROM-drive è molto semplice ­ seguite i menu. Più complicata è invece la configurazione della stampante descritta nella prossima sezione. 74 3.7 Amministrazione del sistema Figura 3.23: Configurazione dell'hardware Configurare la stampante Indirizzare una stampante sotto Linux è un processo abbastanza complicato. L'approccio tecnico è descritto nel capitolo stampare, capitolo 8 a pagina 211. YaST Vi offre la possibilità, di configurare comodamente il apsfilter per la Vostra stampante (figura 3.24 nella pagina seguente): Il punto `Nome della stampante' Vi indica tutte le stampanti supportate da Ghostscript; potete scegliere da questa lista la stampante da Voi usata. Se un Ghostscript-"driver" non viene indicato, potete registrarlo manualmente tramite i punti del menu `Altra stampante' e poi `'. La con- figurazione del driver uniprint con il relativo "Parameter-file" è da eseguire con YaST2 o lprsetup; vedi sezione 8.5 a pagina 222 . Normalmente le stampantisono collegate ad un'interfaccia parallela (port della stampante anche "Parport") o USB. Nella maggior parte dei casi, /dev/lp0 è l'interfaccia giusta ­ cioè quando la stampante è collegata alla prima interfaccia parallela. Suggerimento Se la stampante non stampa, in caso di dubbio, configurate prima nel BIOS per l'interfaccia parallela i seguent valori: * Indirizzo IO 378 (esadecimale) * Interrupt 7 * come modo: Normal (o SPP) * e interrompete DMA (deve venire interrotto nel modo Normal) Questi sono i valori standard più comuni. 75 3 YaST­ Yet another Setup-Tool Figura 3.24: Configurare l' apsfilter con YaST 3.7.2 Configurazione del kernel e dell'avvio Qui potete settare impostazioni che riguardano il boot del Vostro sistema e l'uso del kernel: `scegliere il kernel di avvio' Se al momento dell'installazione la Vostra prima scelta del Kernel non si è rivelata giusta, potete installarne uno di quelli precompilati presenti nel CD SuSE (`Scegliere il kernel di avvio'); YaST Vi proporrà di copiare la configurazione del kernel (.config) nella directory dei sources del kernel (/usr/src/linux). Selezionate il kernel del Vostro computer e fateVi impostare di nuovo LILO da YaST anche se avevate già fatto precedentemente il boot con LILO. Oppure vedi sotto l'indicazione per la configurazione di LILO. Alla fine dell'installazione, l'utente più esperto può compilarsi il proprio Kernel (vedi capitolo 9 a pagina 243) ottimizzato in base al sistema posseduto. Un tale Kernel ­ esattamente adattato al Vostro sistema individuale ­ è più pic- colo, più veloce ed evita problemi col rilevamento hardware. Per i neofiti é consigliato l'utilizzo de kernel standard. Solo questo comprende il "supporto all'installazione". `Creare un dischetto di emergenza' Un "dischetto d'emergenza" o di "soccorso" (ingl. rescue disk) può essere d'aiu- to (`creare un rescue-disk') nel caso in cui il Vostro computer non voglia 76 3.7 Amministrazione del sistema Figura 3.25: Configurazione del boot e del Kernel assolutamente saperne di partire (vedi anche 12.6 a pagina 319). `Configurare LILO' Per la corretta configurazione di LILO (ingl. LInux LOader), YaST Vi offre anche un frontend (figura 3.26 nella pagina seguente); con LILO possono anche venire inizializzati OS/2-, DOS- e Windows 95/98 ­ fate attenzione con Windows NT. Nel capitolo 4 a pagina 91 trovate informazioni sul significato dei singoli campi e opzioni delle maschere di configurazione. Di regola, la `riga append per il parametro del kernel' rimane vuo- ta; per fare il boot avete già dovuto usare ulteriori parametri; registrateli qui solo in un tale caso (senza però davanti il nome del kernel linux!). I dettagli vengono esposti nella sezione 4.4.2 a pagina 100. `Dove deve venire installato LILO?': se avete solo Linux sul Vostro computer, il posto giusto è il settore di boot; se volete inizializzare Linux tramite un boot manager "esterno", scegliete il settore boot della partizione root. su dischetto si spiega da sè. I dettagli tecnici su vengono spiegati nel paragrafo 1 a pagina 95 `Dove deve venire installato LILO?': se sul Vostro computer avete so- lo Linux, il Master-Boot-Sektor è il posto ideale. Se volete avviare Li- nux tramite un boot manager "estraneo", selezionate Settore boot della /partizione boot; se non avete creato alcuna partizione /boot, seleziona- te Settore boot della partizione root. Sul dischetto non ha sen- z'altro bisogno di spiegazioni. Il sottofondo tecnico di questa impostazione, viene spiegato a pagina 95 erläutert. `Tempo d'attesa prima del boot': L'indicazione viene data in secondi. 77 3 YaST­ Yet another Setup-Tool Figura 3.26: LILO: installazione `Opzione"lineare"': Nella maggior parte dei casi, questa opzione non è necessaria vedi anche paragrafo 4.4.2 a pagina 100. . Con `F4=nuova configurazione' potete creare una nuova "configurazione"; dare alla configurazione il nome di quella standard di linux, da sempre buoni risultati. Se esistoni già delle configurazioni, modificatele con `F5=Edit Con- fig'; a questo scopo, YaST Vi mette a disposizione una maschera mostrata in figura 3.27 a fronte. I singoli campi hanno il seguente significato: `Nome della configurazione': qui potete scrivere quello che volete. `Quale sistema operativo': vengono offerte le possibilità fare il boot di Linux, fare il boot di DOS ­ questa è anche l'opzione giusta per Windows 95/98 ­ e fare il boot di OS/2. `Partizione (root) a cui fare il boot': premete `F3' e scegliete la partizione adatta. `Kernel opzionale': selezionate questo punto solo se il kernel di Linux non è disponibile in via permanentemente ; selezionate questa opzione se volete provare kernel alternativi. `Kernel cui Lilo deve fare il boot': la directory standard è /boot/ vmlinuz; con `F3' avete la possibilità di "passeggiare" "to browse" per la struttura della directory. Con `Avanti' viene installato LILO, con `Interrompere' ne poete terminare l'installazione. 78 3.7 Amministrazione del sistema Figura 3.27: LILO: configurazione del boot Suggerimento Se compilate un Vostro kernel Vi consigliamo di fare una seconda confi- gurazione di backup (p.e. old), in cui indicherete /boot/vmlinuz.old come kernel a cui fare il boot e in cui selezionerete `Kernel optional'. Compilato un nuovo kernel (vedi capitolo 9 a pagina 243) con l'installazione automatica di LILO, viene anche installata automaticamente un copia di si- curezza del Vostro vecchio kernel, cosicchè potrete inizializzare il sistema anche se il nuovo kernel non dovesse funzionare come desiderato! 3.7.3 Configurare la rete Le impostazioni fondamentali per la rete possono essere effettuate con YaST (vedi figura 3.28 nella pagina seguente). Fatelo, anche se il Vostro computer non è veramente in rete! Per poter funzio- nare correttamente, molti programmi implicano che le impostazioni di rete siano configurate. `Configurazione di base della rete' Qui vengono assegnati gli indi- rizzi IP Indirizzi IP e attribuiti poi alle interfacce della rete (schede di rete, dispositivi PPP o ISDN, ecc.). Per poter usare una configurazione IP automatica, dovete attivare i servizi DHCP o BOOTP ; per informazioni `F3=Auto-IP' Con `F6=indirizzo IP' potete anche indicare un valore per `MTU'. In caso di dubbio, lasciate vuota questa area o usate un'impostazione eventualmente già esistente. 79 3 YaST­ Yet another Setup-Tool Figura 3.28: Configurare la rete Con `MTU' si intende "la grandezza massima trasmettibile del blocco" o la grandezza massima del pacchetto che può venire spedito in una rete. Eventualmente, il valore dovrà venire adattato alle istruzioni del Vostro pro- vider di internet. Come standard e valore massimo, vale `1500'. Se scegliete un valore, che sia più grande anche di un solo Byte, non sarete più in grado di trasmettere niente. Per questo è consigliabile, in caso di dubbi, di registrare un valore minore; in questo caso, la trasmissione dei dati sarà solo un poco più lenta della velocità massima possibile. `Cambiare il nome del computer' Vengono stabiliti l'(ingl. hostname) del computer (ingl. hostname) e il nome del dominio cui il computer appartiene. `Configurare i servizi di rete' Qui si trovano servizi spesso necessari come: inetd (per telnet, ftp, stampare etc.), portmap (per server NFS e NIS) e rpc.nfsd (per server NFS). `Configurazione del nameserver' Permette di specificare uno o più nameserver.(vedi a pagina 337). `Configurare il client YP' Questo punto è attivo solo se è installato pacchetto ypclient, serie n (vedi paragrafo a pagina 339) . `Configurare sendmail' Anche per sendmail è possibile installare un file di configurazione in grado di mettere a disposizione una sufficiente funzionalità per esigenze diverse. `Gestire la stampante di rete' Qui è possibile configurare quelle stam- panti che sono accessibili nella rete tramite TCP/IP. Se volete raggiungere la stampante lp che si trova al print server sole.cosmo.com sotto il nome locale remote, compilate la maschera 80 3.7 Amministrazione del sistema Figura 3.29: Configurazione di base della rete Se per questa stampante avete bisogno di un pre-filtraggio, orientateVi a 8.7 a pagina 229 ff. `Indirizzare stampante tramite Samba' Questo punto è attivo se è in- stallato il pacchetto samba, serie n. In questo modo si raggiunge una stampante collegata ad un computer Windows. `Indirizzare stampante nella rete Novell' Questo punto è attivo se è installato il pacchetto ncpfs, serie n. `Configurare i parametri ISDN' Questo punto è attivo se è installato pacchetto i4l, serie n. Per ISDN vengono messi a disposizione menu molto dettagliati. `Configurare la rete PPP' Qui è possibile configurare PPP. Per una configurazione della rete Vi mandiamo al manuale di rete. 3.7.4 Configurazione del login Qui si può indicare se all'avvio del sistema si debba partire subito in modalità testo o con X Window System, il server grafico di Linux. Se si desidera la mo- dalità grafica, si può scegliere tra il semplice XDM, il comprensivo KDM di KDE oppure il GDM del progetto GNOME; se si sceglie KDE si può anche stabilire chi abbia l'autorizzazione ad eseguire lo spegnimento. L'alternativa è un login sulla console ASCII e lo start di X con il comando startx (vedi figura 3.30 nella pagina seguente). Nota Se non siete sicuri che X possa venire inizializzato senza problemi, non dovreste attivare un display manager. Prima di attivare un display manager, provate in ogni caso a fare lo start di X dalla console. 81 3 YaST­ Yet another Setup-Tool Figura 3.30: Configurazione login Viene registrato il Runlevel 5 in /etc/inittab come default-runlevel e viene depositata una variabile in /etc/rc.config(vedi 13 a pagina 342); se usate sul Vostro sistema Runlevel 5 per uno scopo diverso dal lancio di un display manager, non verrà attivato alcun display manager. 3.7.5 Impostazioni susewm (Windowmanager) In questo menu per la configurazione viene scelto il "Desktop grafico". Scegliete il Windowmanager di default e stabilite per quali altri Windowmanager susewm deve generare nel sistema i file di configurazione 3.7.6 Amministrazione degli utenti Con YaST potete creare comodamente nuovi utenti e modificare o cancella- re quelli esistenti. Nel menu `Amministrazione del sistema', sotto il punto `Amministrazione utenti', potete accedere alla maschera di dialogo corrispondente. qui potete permettere all'utente l'`Accesso al modem'; se lo fate, l'utente vie- ne registrato nei gruppi `uucp' e `dailout'. tutti i membri diquesti gruppi possono per esempio creare o sciogliere collegamenti PPP. Alla creazione di un nuovo utente, vengono copiati tutti i files della directory esempi /etc/skel nella directory utente del nuovo utente, di modo che possa avvenire una certa preconfigurazione di tutti gli utenti, valida in tutto il sistema. Naturalmente, in un tempo successivo, ogni utente può adattare questi files ai suoi desideri. 82 3.7 Amministrazione del sistema Figura 3.31: Configurazioni susewm Inoltre YaST chiama degli script nei quali possono venire impostati compiti quotidiani (routine tasks): * Dopo aver creato l'utente, viene chiamato lo script /usr/sbin/useradd. local. A questo punto, l'utente è registrato sia in /etc/passwd come an- che in /etc/shadow. Anche la home directory dell'utente esiste già e i files da /etc/skel sono stati copiati. * Prima di cancellare l'utente, viene chiamato lo script /usr/sbin/ userdel.local. A questo punto, l'utente è ancora registato in passwd e shadow ed esiste ancora la sua home directory. Ad ambedue gli script viene assegnato il nome dell'utente come parametro. Se sono necessari altri dati (User-ID, Login-Shell, Home-directory), questi possono venire rintracciati abbastanza semplicemente in /etc/passwd. Se siete già abbastanza esperti e trovate che sia troppo scomodo iniziare YaST per questo scopo, avete naturalmente anche a disposizione i programmi di servizio useradd e userdel. Indicazioni su PAM I files di configurazione di PAM (ingl. Pluggable Authentication Modules) si trovano sotto /etc/pam.d. La documentazione per i programmatori e amministratori di sistema si trova sotto /usr/share/doc/packages/pam. SuSE Linux è in grado di usare anche MD5-Password; con la codificazione MD5m le password possono avere di più di 8 caratteri. Però è sempre meglio 83 3 YaST­ Yet another Setup-Tool Figura 3.32: Amministrazione degli utenti con YaST fare attenzione: la codificazione MD5 non è compatibile con crypt(), la fun- zione standard sotto Unix; ciò significa che molti sistemi commerciali Unix e alcune applicazioni non funzionano con le passwords MD5. In /usr/share/doc/packages/pam/md5.config si trovano indicazioni per la configurazione. 3.7.7 Amministrazione dei gruppi Con YaST avete la possibilità di amministrare non solo utenti, ma anche gruppi di utenti. Sotto Linux, come pure sotto in UNIX, si può e si deve assegnare ogni utente ad almeno un gruppo di utenti; ciò è necessario, perchè per una determinata apparte- nenza a un gruppo si possono impostare determinati diritti di uso/modificazione p.e. su certi files. Directory possono venir rese accessibili solo agli appartenenti di un gruppo e si può proteggere questo accesso tramite una Password. Sotto Linux, alcuni gruppi di utenti sono già prestabiliti, p.e. il gruppo di utenti `users', `root' e molti altri. La forma `users' è però solo la raffigurazione testuale del gruppo di utenti: internamente essi vengono rappresentati con numeri del cosidetto gruppo di ri- conoscimento (in inglese group ID). Il file di configurazione per gruppi di utenti è /etc/group. Con YaST potete comunque impostare molto più facilmente i gruppi di uten- ti. Sotto YaST trovate una finestra di dialogo per l' amministrazione dei gruppi nel menu `Amministrazione del sistema' sotto il punto `Gestione del gruppo'. Il dialogo viene indicato nella figura 3.33 a fronte. 84 3.7 Amministrazione del sistema Figura 3.33: Amministrazione dei gruppi con YaST 3.7.8 Creare i Backup Può essere utile memorizzare in un file-archivio o su nastro tutti i file modifi- cati o aggiunti dall'installazione di un pacchetto ­ si tratta tipicamente di file di configurazione o file di dati ­. Questo è esattamente ciò che compie questa opzione. La finestra di dialogo relativa è composta da tre parti: 1. Stabilire la quantità In questa maschera, stabilite in una lista quali directory devono venire escluse dal backup: qui sono previsti /tmp, /dev e /proc. Dovreste però comple- tare la lista con CD-ROM "mounted", partizioni DOS "mounted" e directory montate via NFS. Più directory escludete dal backup, più velocemente viene eseguita l'operazione, poichè vengono tralasciati parecchi file superflui. Con § ¤ § ¤ i tasti ¦+ ¤ ¥e ¦- ¥aggiungete o togliete registrazioni dalla lista delle esclusioni; § ¦F10 ¥completa l'operazione e Vi porta al passo successivo. 2. Cercare Ora YaST cerca nel Vostro sistema quei file che vengono inseriti nel backup. La quantità e la grandezza dei file trovati viene di volta in volta indicata. Dopo aver terminato la ricerca, appare una lista con tutti i file trovati; qui § ¤ potete ancora togliere dei file con il tasto spazio ¦ ¥ ; questi non saranno contenuti Backup. 3. Stabilire il comando Qui stabilite quali file devono venire memorizzati. Potete per esempio indicare un nomi d'archivi, opzioni e altro. 85 3 YaST­ Yet another Setup-Tool Figura 3.34: Memorizzazione dei dati con (Backup) YaST Il meccanismo del Backup può naturalmente funzionare solo se non è stata mo- dificata la data dei file. Inoltre l'operazione richiede molta memoria. I nomi dei file di un CD medio occupano ben 6 MB; e naturalmente avete bisogno an- che di spazio sull'hard disk per l'archivio di backup. Se comprimete l'archivio, potete calcolare ca. la metà della grandezza del file. In tutti i casi la cosa più raccomandabile è fare il Backup su nastro. 3.7.9 Impostazioni per la sicurezza del sistema Modificate le configurazioni di default solo se conoscete le conseguenze dei cam- biamenti. A riguardo leggete il capitolo configurazione e sicurezza del sistema con YaST2 nel manuale di configurazione. Nota Se non volete permettere alcun `root'-Login tramite ssh, /etc/ssh_ config deve venire modificato. Se la configurazione di ssh è corretta, i `root'-Login tramite la rete sono sicuri; non c'è quindi bisogno di alcun intervento da parte Vostra! 3.7.10 Impostare i fonts della console Qui si tratta della maschera che imposta il font (carattere) sulla console di Linux. Con Linux si possono caricare diversi fonts per la console. In questa maschera è possibile provare i diversi fonts esistenti e sceglierne uno come font standard. Se scegliete `Non caricare alcun font', viene usato il font memorizzato sulla scheda grafica. 86 3.7 Amministrazione del sistema Naturalmente, questa cosa non ha alcun effetto sui fonts che si trovano in una superficie grafica come KDE o Gnome. Si nota solo qualche cosa in YaST, se li si avvia direttamente da una console ASCII e non da un kterm o xterm. Figura 3.35: Impostare il font della console 3.7.11 Impostare il fuso orario Il fuso orario viene impostato già durante l'installazione di SuSE Linux. Qui avete la possibilità di modificare successivamente le impostazioni. Con i tasti § ¤ § ¤ del cursor ¦ ¥e ¦ ¥ , portate la barra blu alla "meta" desiderata e confermate con `Avnati'. Nella finestra che apparirà, Vi verrà chiesto se il Vostro orologio BIOS è impostato sull'ora locale o su GTM (Greenwich Mean Time). 3.7.12 Configurare XFree86[tm] L' X Window System (XFree86) può venire configurato con diversi tools. la prima volta cercate di farlo con SaX come descritto dettagliatamente in 5.3 a pagina 130 ff. Troverete i dettagli tecnici nel capitolo 5 a pagina 127 ff. 3.7.13 Configurare gpm Questa maschera regola se, e con quali parametri deve venire avviato il supporto del mouse per la console. Esso consente di cambiare il testo ("cut and paste") con il mouse fra diverse ASCII-consoles virtuali. Anche qui il tutto è rilevante solo 87 3 YaST­ Yet another Setup-Tool sulla console ASCII, poichè in una superficie grafica, il mouse viene controllato da X11 stesso e le impostazioni per gpm non hanno alcuna importanza. Figura 3.36: configurare gpm 3.7.14 Modificare il file di configurazione In SuSE Linux viene praticamente amministrato tutto il sistema tramite un'unico file centrale di configurazione (/etc/rc.config). Al momento dello start, que- sto file viene analizzato dai singoli script del boot e il sistema viene configurato di conseguenza. Con YaST potete cambiare le singole registrazioni in questo file e adattare così il sistema alle Vostre esigenze senza preccuparVi di sapere in dettaglio quali file sono soggetti ai cambiamenti relativi. § ¤ § ¤ Con il cursore scegliete la variabile da modificare e per farlo premete ¦ ¥o¦F3 ¥ . Se modificate manualmente questo file, dovrete anche chiamare lo Script SuSE- config. Lo Script provvede a far sì che tutti i cambiamenti che avete effettuato nel file /etc/rc.config vengano adottati anche dai singoli file di configura- zione specifici del programma. Trovate una descrizione dettagliata del file di configurazione con tutte le possibilità di impostazione in 13.6 a pagina 333. 88 3.7 Amministrazione del sistema Figura 3.37: Modificare il file di configurazione con YaST 89 3 YaST­ Yet another Setup-Tool 90 4 Boot e Boot manager 4 Boot e boot manager: LILO, loadlin etc. In questo capitolo vogliamo presentarVi le diverse possibilità per fare il boot ad un sistema già installato. Per facilitare la comprensione di questi metodi, spiegheremo prima alcuni dettagli tecnici riguardanti i processi di boot sui PC. 4.1 Il processo di boot sul PC Dopo aver acceso il computer, vengono inizializzati dal BIOS (ingl. Basic Input Output System) schermo e tastiera e viene fatto il test della memoria principale; finora non è ancora stata riconosciuta alcuna periferica esterna! Dopo aver terminato il suo "controllo interno" , il sistema può dedicarsi alla ricerca dell'hardware collegato. Informazioni riguardanti la data attuale, l'o- ra e una scelta delle periferiche più importanti vengono lette dai valori CMOS (CMOS setup). Poichè il primo hard disk e la sua geometria dovrebbero essere conosciuti, si può cominciare con l'avvio del sistema operativo. Per farlo, viene caricato dall'hard disk nella memoria il primo settore fisicale di dati che ha la capacità di 512 Byte e il controllo del boot passa a un piccolo programma sito all'inizio di questo settore. La sequenza degli ordini eseguiti determina l'ulteriore decorso del boot. I primi 512 Byte sul primo hard disk vengono perciò anche chiamati Master Boot Record (MBR) Queste indicazioni ­ anche se molto abbreviate e semplificate ­ ci permettono già di capire due importanti indicazioni: fino ad ora (caricamento dell'MBR) il processo del boot si svolge in modo identico su ogni PC, indipendentemen- te dal sistema operativo installato, e il PC ha a disposizione, per l'accesso alle periferiche, solo le routines (driver) memorizzate nel BIOS. Master Boot Record La struttura dell'MBR è stabilita da una convenzione estesa a tutti i sistemi ope- rativi. I primi 446 Byte sono riservati ai codici del programma. I succesivi 64 Byte offrono lo spazio per una tabella di partizione contenente fino a 4 regi- stazioni (vedi paragrafo 2.5 a pagina 38 e paragrafo 2.6 a pagina 40) . Senza la tabella di partizione, non esistono neppure i file systems (MS-DOS: devices), il ché significa che l'hard disk è praticamente inutilizzabile. Gli ultimi 2 Byte contengono un "numero magico" (AA55): un MBR con un numero diverso viene considerato non valido dal BIOS e da tutti i sistemi operativi del PC. 91 4 Boot e Boot manager Settori di boot I settori di boot sono i primi settori delle partizioni dell'hard disk. Essi offrono una capacità di 512 Byte e sono atti a contenere un codice in grado di inizializ- zare un sistema operativo che si trova su questa partizione: questo viene sempre fatto anche dai settori di boot di partizioni formattate in DOS-, Windows- o OS/2 (e contengono inoltre anche importanti dati di base del filesystem). Al contrario dei suddetti settori boot, quelli delle partizioni Linux ­ anche dopo la creazione di un filesystem ­ sono in principio vuoti (!). Perciò una partizione Linux non si inizializza da sé, anche se contiene un kernel e un root filesystem valido. Un sistema boot con system start-code valido deve avere negli ultimi 2 Byte lo stesso contrassegno "magico" dell'MBR. Fare il boot da DOS o Windows 95/98 Nell'MBR di DOS del primo hard disk la registrazione di una partizione è indi- cata come attiva (ingl. bootable), il che significa che si deve cercare là il sistema da caricare. Il codice del programma di DOS nell'MBR è il primo gradino del bootloader (ingl. first stage bootloader) e controlla se sulla partizione indicata esiste un settore di boot valido. Se questo è il caso, in questo settore boot può venire izializzato successivamente il codice come "secondo gradino" del boot loader (ingl. secondary stage loader). Il codice carica ora i file di sistema e alla fine del processo appare l'usuale DOS- Prompt o parte la superficie grafica di Windows 95. Sotto DOS è possibile contrassegnare come attiva una sola partizione primaria. Di conseguenza il sistema DOS non può venire collocato su device logici in una partizione estesa. 4.2 I boot concept Il più semplice "boot concept", riguarda un computer con un solo sistema opera- tivo; esempio di una tale configurazione sono DOS o Windows 95/98 quali unici sistemi operativi presenti nel computer. Per questo caso abbiamo già descritto i processi della fase di avvio. Un tale boot è immaginabile anche per un computer solo-Linux; in questo caso si può teoricamente rinunciare all'installazione di LILO: non sarebbe però possibile dare al kernel, durante lo start, una riga di comando (con impostazioni speciali riguardanti lo start, ulteriori informazioni sull'hardware etc). Non appena su un computer è installato più di un sistema operativo, si hanno diversi boot concept disponibili: Fare il boot di ulteriori sistemi da dischetto: Un sistema operativo viene ca- ricato dall'hard disk; con l'aiuto di dischetti per il boot si possono avviare altri sistemi operativi dal floppy drive: * Premessa: deve esistere un dispositivo di lettura per i dischetti. 92 4.3 Introduzione a LILO : un riassunto * Esempio: installate Linux su un computer con già presenti sistemi DOS-, Windows 95/98- o OS/2 e lo avviate sempre da un dischetto di boot. * Vantaggio: vi risparmiate l'installazione con un boot loader. Bootloader- Installation. * Svantaggi: Dovete sempre fare attenzione ad avere in casa una riserva di dischetti di boot funzionanti. L'avvio dura di più. * A seconda dell'utilizzo del Vostro computer, può essere uno svantag- gio o un vantaggio il fatto che Linux non possa venire avviato senza un dischetto di boot. Avviare nuovi sistemi operativi da altri già esistenti: Un sistema operativo viene caricato ad ogni avvio del computer; dall'interno di questo sistema operativo ne possono venire avviati altri. * Premessa: Devono esistere programmi adatti ad inizializzare il nuovo sistema. * Esempio: caricare Linux da DOS con l'aiuto del programma loadlin.exe (vedi. paragrafo 4.9 a pagina 118) o fare il boot da DOS di un server NetWare con il programma server.exe. Installazione di un boot manager: Un bootmanager permette di avere in un computer più sistemi in una volta e di usarli alternativamente. L'utente sce- glie il sistema da caricare durante all'avvio del computer; il passaggio da un sistema operativo all'altro richiede un nuovo start del computer. * Premessa: Il bootmanager scelto deve essere compatibile con tutti i sistemi operativi. * Esempi di bootmanager compatibili con Linux (almeno in determina- te condizioni) sono OS/2 (vedi paragrafo 4.7.3 a pagina 110) o il DOS-Bootloader boot.sys. Di seguito spiegheremo l'installazione e la configurazione di LILO, il bootmanager standard dei sistemi Linux. Una spiegazione dettaglia- ta delle capacità di LILO si trova in [Alm96]. Con il coman- do lpr /usr/share/doc/packages/lilo/user.dvi è possibile emettere questo file sulla stampante. Seguono delle esposizioni su loadlin. 4.3 Introduzione a LILO : un riassunto Il Linux-bootloader si installa nell' MBR (vedremo più avanti i particolari in paragrafo 1 a pagina 95 e in paragrafo 4.5 a pagina 103). LILO ha accesso ad ambedue gli hard disk in modalità reale ed è in grado di trovare, già a partire dalla sua installazione, tutti i dati necessari riguardanti gli hard disk "raw"1 senza avere informazioni sul partizionamento; questo è il motivo per cui si può fare il 1Si parla di un dispositivo "grezzo" (ingl. raw device) se si vi si può accedere direttamente senza utilizzare un filesystem (hard disk, partizione, dischetto . . . ). 93 4 Boot e Boot manager boot dei sistemi operativi anche dal secondo hard disk. Contrariamente al boot in DOS, le registrazioni nella tabella di partizione vengono ignorate. La differenza più importante, rispetto al procedimento del boot in DOS, consiste nel poter scegliere durante il boot fra i diversi sistemi operativi installati ­ incluso Linux. Dopo aver caricato l'MBR nella memoria, viene inizializzato LILO; LILO a sua volta può offrire all'utente una scelta tra i sistemi preinstallati (paragrafo 1). Cos'è LILO e cosa può fare? LILO è un bootmanager versatile. Allo start del sistema può caricare e inizializzare i seguenti programmi del sistema: * Settori boot delle partizioni (Start di un sistema operativo da questa partizione) * Linux-Kernel (Start di Linux) Il secondo punto non può venir eseguito da quasi nessun altro bootmanager. Dota inoltre il kernel di Linux di una linea di comando. Per motivi di sicurezza, tutti o quasi tutti i servizi di LILO possono venire assicurati con una password. Com'è il boot con LILO? Quando LILO parte, emette il testo LILO e un saluto ­ quest'ultimo glielo ave- te dato al momento della configurazione (vedi paragrafo 4.4.2 a pagina 100). Appare quindi una linea di comando prompt: boot: Qui scegliete, tramite l'indicazione di un nome, il sistema operativo desiderato, che verrà poi subito inizializzato; i nomi per i Vostri sistemi operativi li avrete già assegnati al momento della configurazione. In questo punto potete dare una linea di comando ad un kernel di Linux. Riceverete un elenco di tutti i nomi con § ¤ il tasto ¦Tab ¥ . In cosa consiste LILO? * un settore LILO per il boot con una parte iniziale ("il primo gradino") del codice LILO che attiva il LILO vero e proprio allo start del sistema. Suggerimento Il meccanismo di LILO per lo start, comprende le seguenti componen- ti. I settori di boot installati da LILO contengono una sequenza By- te caratteristica anche per i virus dei settori del boot. Non c'è perciò da meravigliarsi se sistemi DOS per il rilevamento di virus credono di aver trovato l'AIRCOP-Bootsector-Virus in file come /boot/chain.b o /boot/os2_d.b. 94 4.3 Introduzione a LILO : un riassunto * il codice di LILO (il suo "cuore"). Locazione standard: /boot/boot.b * un Map-file, in cui al momento della sua installazione LILO registra il collo- camento dei dati del kernel di Linux e degli altri dati a lui necessari. Locazione standard: /boot/map * optional: un Message-file, il cui contenuto viene emesso come saluto dal LILO-Boot selection. Locazione consueta: /boot/message (o simile) * i diversi kernel di Linux e settori boot offerti da LILO allo start. Attenzione Ogni accesso in scrittura (anche tramite lo spostamento del file) ad una di queste componenti, invalida il map-file e rende perciò necessaria una nuova installazione di LILO (paragrafo 4.5 a pagina 104)! Questo riguarda particolarmente il cambiamento con un nuovo kernel di Linux. Dove si può installare LILO? In verità con questa domanda si intende quasi sempre il settore boot di LILO ("il primo gradino"). Prima di parlarne, vogliamo richiamare la Vostra attenzione su una condizione generale: Dipendentemente dalla versione del BIOS del Vostro computer, può essere ne- cessario mettere sui primi 1024 cilindri, tutti i componenti del meccanismo di start di LILO e l'image del kernel /boot/vmlinuz! Ciò può venire eseguito con una partizione extra montata ("mounted") sotto la directory /boot e situata completamente entro i primi 1024 cilindri. Con molte delle versioni di BIOS ancora disponibili, solo questi campi fisicali sono raggiungibili con i drivers del BIOS già durante la fase di avvio del sistema. Inoltre si è in genere limitati ai primi due hard disk. Se siete in possesso di un BIOS molto vecchio, probabilmente, la presenza di hard disks (E)IDE esclude gli SCSI-device presenti dall'idoneità al boot. Solo i BIOS più recenti premettono, in parte, l'accesso a più dispositivi: ad esempio con i controller EIDE per gli hard disk, è possibile accedere a quat- tro EIDE-disk. Molti host adapters SCSI permettono perfino di fare il boot da un qualsiasi SCSI-disk. Per utilizzare di questa caratteristica con LILO, vedi la descrizione dell'opzione disk, pagina 101. Per semplificare un po' le cose, vogliamo raggruppare il tutto sotto il limite dei 1024-cilindri. Dovrete tener conto di questo limite già al momento del parti- zionamento dell'hard disk, prima della prima installazione di Linux (paragra- fo 2.4.1 a pagina 30) ­ dopo sarà troppo tardi e avreste una quantità di lavoro in più! Troverete i particolari sotto paragrafo 4.8.2 a pagina 115. Per quanto riguarda dove installare LILO possiamo scegliere fra le seguenti destinazioni: 95 4 Boot e Boot manager * Su un dischetto Questo è il metodo più sicuro ma anche più lento per fare il boot con LILO (vedi paragrafo 4.6 a pagina 107). Chi, anche dopo la lettura di questo ca- pitolo, dovesse avere paura di modifiche ai settori di boot, dovrebbe (in un primo momento) scegliere l'opzione-dischetto. * Nel settore boot di una partizione primaria di Linux del primo hard disk Questa opzione non va a toccare l'MBR. Prima del boot questa partizione deve essere attivata con fdisk. Se Linux è stato installato completamente su drive o partizioni logiche del secondo hard disk, per LILO rimane solo il settore di boot della partizione estesa del primo hard disk ­ sempre che ce ne sia uno. Linux fdisk può attivare anche questa partizione. Questo metodo è un po' scomodo, se volete fare il boot di più sistemi opera- tivi dall'hard disk: ogni volta, prima del cambiamento di sistema operativo, dovete disattivare, sotto l'attuale sistema operativo, la partizione di start e attivare quella del prossimo sistema. I seguenti sono i procedimenti migliori da utilizzare. * Nel Master Boot Record Questa opzione offre la maggiore flessibilità; inoltre è l'unica possibilità di fare il boot di Linux dall' hard disk, se tutte le partizioni Linux si trovano sul secondo hard disk e sul primo non si abbia a disposizione nessuna partizione estesa. Se l'installazione non viene eseguita in modo adeguato, una modifica dell'MBR comporta anche certi rischi. Parleremo delle misure di sicurezza necessarie in paragrafo 4.5 a pagina 103. * Se finora avete usato un altro boot manager. . . e volete continuare a usarlo, ci sono, a seconda delle sue capacità, anche altre possibilità. Un caso molto comune: avete una partizione Linux primaria sul secondo hard disk da cui volete inizializzare Linux. L'altro boot manager sarebbe in grado di farlo tramite il settore di boot: potete rendere avviabi- le questa partizione, installando LILO nel suo settore di boot e dichiarando all'altro bootmanager che essa è attiva. Attenzione Fate però attenzione al desiderio di rendere inizializzabile una parti- zione Linux logica installadovi LILO: spesso funziona tutto bene; ma anche se l'altro bootmanager potesse inizializzare partizioni logiche, al momento 7.0 il successo di questa proceduranon è garantito. Naturalmente potete fare delle prove (in principio con una installazione Li- nux piccola piccola). Forse avrete fortuna: in ogni caso è meglio progettare almento una partizione Linux primaria, capace di eseguire lo start! 96 4.4 Un LILO su misura: configurazione 4.4 Un LILO su misura: configurazione LILO offre diverse possibilità per adattarsi alle Vostre esigenze: in seguito spie- gheremo le più importanti opzioni e il loro significato. Per una descrizione dettagliata Vi rimandiamo a [Alm96]. La configurazione di LILO viene registrata nel file /etc/lilo.conf. Vi consigliamo di far eseguire da YaST la prima installazione di Linux. Una rielaborazione eventuale di lilo.conf può comiciare da quella creata da YaST. Nota Poichè il file /etc/lilo.conf può contenere password (vedi 4.4.2 a pagi- na 100), dovrebbe essere leggibile solo dal `root'; questa configurazione è standard in SuSE Linux. Controllate che il suddetto file sia leggibile solo per il `root' con il comando: terra: # chmod 0600 /etc/lilo.conf É consigliabile custodire meticolosamente il file di configurazione usato durante l'ultima installazione di LILO e di farne una copia di sicurezza prima di ogni modifica. Una modifica si attiva solo se si installa di nuovo LILO con la nuova versione del file di configurazione (paragrafo 4.5 a pagina 103)! 4.4.1 La struttura del file lilo.conf /etc/lilo.conf inizia con una sezione di opzioni globali (ingl. global options section) che contiene configurazioni generali, seguita da una o più sezioni del sistema (ingl. image sections) per i singoli sistemi operativi che devono venire inizializzati da LILO. Ogni nuova sezione del sistema viene introdotta da una linea con l'opzione image o other. L'ordinamento dei singoli sistemi operativi in lilo.conf è significativo solo per il fatto che prima viene automaticamente fatto il boot al primo sistema che si trova nella lista, a meno che l'utente non esegua una scelta diversa ­ prima che scada il periodo d'attesa prestabilito (vedi sotto: opzioni delay e timeout). Il file 4.4.1 nella pagina successiva mostra un esempio di configurazione su un computer con Linux e DOS. Sono presenti un nuovo ed un vecchio kernel Li- nux sulla partizione root (secondo hard disk del computer collegato al secondary master), e MS-DOS (o Windows 95) su /dev/hda1. Tutto ciò che si trova tra un # e la fine della linea è un "commento". Viene ignorato da LILO ­ come anche lo spazio ­ e può essere usato per migliorare la leggibilità. Ora guardiamo passo per passo le più importanti linee: le altre opzioni sono descritte in 4.4.2 a pagina 100. * global Section (Parte sui parametri) 97 4 Boot e Boot manager ### LILO global section boot = /dev/hda # LILO installation target: MBR backup = /boot/MBR.hda.990428 # backup file for the old MBR # 1999-04-28 vga = normal # normal text mode (80x25 chars) read-only menu-scheme = Wg:kw:Wg:Wg lba32 # Use BIOS to ignore # 1024 cylinder limit prompt password = q99iwr4 # LILO password (example) timeout = 80 # Wait at prompt for 8 s before # default is booted message = /boot/message # LILO's greeting ### LILO Linux section (default) image = /boot/vmlinuz # Default label = linux root = /dev/hda7 # Root partition for the kernel initrd = /boot/initrd ### LILO Linux section (fallback) image = /boot/vmlinuz.suse label = suse root = /dev/hda7 initrd = /boot/initrd.suse optional ### LILO other system section (DOS/Windows) other = /dev/hda1 # Windows partition label = windows ### LILO memtest section (memtest) image = /boot/memtest.bin label = memtest86 file 4.4.1: Esempio di configurazione in /etc/lilo.conf 98 4.4 Un LILO su misura: configurazione ­ boot= Dispositivo sul cui primo settore deve venire installato il settore boot di LILO (il target dell'installazione). può essere: un floppy drive (/dev/fd0), una partizione (p.e. /dev/hdb3), o un intero disco (p.e. /dev/hda): l'ultimo significa l'installazione nell'MBR. Se mancano queste indicazioni, LILO viene installato sulla partizione root di Linux. ­ lba32 Questa opzione elude dal limite dei 1024 cilindri di LILO. Na- turalmente questo funziona solo se supportato dal BIOS del Vostro computer. ­ prompt Forza la visualizzazione del prompt di LILO (Prompt). L'impostazione di default è: niente prompt! (vedi paragrafo 4.4.2 nella pagina successiva, opzione delay.) È consigliabile nel caso che LILO deva far partire più di un sistema ope- rativo. Si dovrebbe anche configurare l'opzione timeout per rendere possibile un reboot automatico nel caso non si faccia nessun input al prompt. ­ timeout= Pone un intervallo per gli input al prompt e rende così possibile un reboot automatico, a meno chè non si inserisca per tempo un input. : è il tempo consentito per un input, espresso in decimi di § ¤ secondo. Premere ¦Shift ¥al prompt fa iniziare di nuovo l'intervallo. Preconfigurazione: infinito, cioè nessun reboot automatico! * Sezione Linux ­ image= Qui deve trovarsi il nome della kernel-image cui fare il boot. Generalmen- te sarà /boot/vmlinuz ­ o con sistemi SuSE Linux più vecchi (prima della versione 6.0), /vmlinuz o /zImage. ­ label= In /etc/lilo.conf si tratta di un nome unico; è un nome da assegnare al sistema (p.e. Linux), che si può scegliere liberamente. La lunghezza massima è di 15 caratteri: possibilmente solo lettere, cifre e underscore ­ niente spazi, caratteri speciali come gli accenti e cose simili. Le re- gole esatte per i caratteri permessi si trovano in [Alm96], sezione 3.2.1.. Default: il nome della kernel-image (p.e. vmlinuz). Con l'immissione di questo nome al prompt di LILO, scegliete quale si- stema operativo avviare. Se si hanno più sistemi operativi, è consigliabile tenere a portata di mano in un message-file, una precisa descrizione dei nomi e dei sistemi (vedi paragrafo 4.4.2 nella pagina seguente, opzione message ­ root= 99 4 Boot e Boot manager Con questo LILO indica al kernel la partizione root (p.e. /dev/hda2) del sistema Linux. Consigliabile per motivi di sicurezza! Se si tralascia questa opzione, il kernel prende la partizione root registrata in sè stesso. * Sezione di Linux (Fall back) Anche se è stato installato un kernel proprio, è sempre possibile ricorrere a questo kernel ed avviare il sistema. ­ optional Se viene cancellato /boot/vmlinuz.suse (NON è consigliabi- le!), all'installazione di LILO, questo capitolo viene passato senza comunicazione di errori. * Altro sistema ­ other= Con other vengono indicate a LILO partizioni di start di altri sistemi cui fare il boot (p.e. /dev/hda1). ­ label= Il nome per questo sistema (da scegliere liberamente). Opzione racco- mandata, poichè l'impostazione di default ­ solo il nome del device della partizione ­ è poco indicativa. * Sezione Memtest Qui è registrato solo il programma per la verifica della memoria. 4.4.2 Ulteriori possibilità facoltative di configurazione (una scelta) Nell'ultima sezione si è parlato solo delle registrazioni in /etc/lilo.conf assolutamente necessarie: ora seguono altre configurazioni utili. Le opzioni esplicitamente definite come opzioni image, appartengono alla se- zione di un singolo sistema operativo. Le altre sono per la parte globale del parametro di /etc/lilo.conf. * backup= È il file in cui LILO colloca un backup del settore boot in cui in seguito verrà installato. L'indicazione è /boot/boot.xxxx; xxxx è il numero interno del dispositivo della partizione di installazione; si trova nei sources del kernel in /usr/src/linux/init/main.c, funzione parse_root_dev(). Vi consigliamo di usare un nome facilmente interpretabile, ca. come nell'e- sempio precedente (con nome del dispositivo e indicazione della data): in questo modo rinuncerete all'Uninstall-Feature di LILO; noi siamo del pa- rere che si tratti di una cosa che è meglio eseguire manualmente (vedi a pagina 105). Nota Se il backup-file è già presente, LILO non crea un nuovo backup! Preoccupatevi perciò che qui venga usato un file con un nome nuovo. 100 4.4 Un LILO su misura: configurazione * compact Questa opzione è consigliabile nell'installazione di LILO su dischetto. Allo start, LILO cerca di leggere più settori in una volta e il boot verrà eventual- mente eseguito più velocemente: questa opzione purtroppo non funziona su tutti i computer. All'installazione di LILO dovreste rinunciarvi: è poco sicuro e il guadagno di tempo è di soli pochi secondi. * loader= Per caricare un settore boot estraneo, LILO costruisce nel suo map-file uno "pseudo-MBR" (al boot, LILO inizializza prima lo pseudo-MBR e questi a sua volta il settore boot estraneo). Questa opzione mostra il file da cui prelevare il codice per lo pseudo-MBR. Default: /boot/chain.b . A volte un sistema operativo cui si deve fare il boot dal primo hard disk (p.e. DOS), deve venire inizializzato con LILO da un altro disk. Le opzioni ag- giuntive map-drive= e to= permettono di "scam- biare" questi due dischi in base ai corrispondenti numeri nel BIOS-devices. Esempio: 4.4.2. Il loader os2_d.b serve per fare il boot a OS/2 dal secondo hard disk2. Novi- tà dalla versione 20 di LILO: anche con questo loader, lo "scambio" dei primi due hard disk deve venire esplicitamente indicato (come nell'esempio 4.4.2). # Booting DOS from the second hard drive # DOS bootable partition config begins other = /dev/hdb1 label = DOS loader = /boot/chain.b map-drive = 0x80 # first hd: BIOS number 0x80 to = 0x81 # second hd: BIOS number 0x81 map-drive = 0x81 to = 0x80 table = /dev/hdb # DOS bootable partition config ends file 4.4.2: /etc/lilo.conf Estratto: fare il boot a DOS dal 2o hard disk * table= deve indicare il source device per la tabella di partizione che deve andare nello pseudo MBR (generalmente /dev/hda o /dev/sda). * disk= bios= cylinders= heads= sectors= 2any_b.b (dalla versione 20 di LILO, fare il boot da B:) e any_d.b (fare il boot dal secondo hard disk) è una cosa obsoleta. 101 4 Boot e Boot manager Per i singoli hard disk si può da qui indicare a LILO quale numero BIOS dei dispositivi e quale geaometria debba usare per indirizzare i settori di questo hard disk; raramente necessario! L'uso più importante: IDE-SCSI-sistemi misti: Se avete un BIOS che consente di impostare la se- quenza del boot SCSI prima di IDE e volete sfruttare questa possibilità, LILO deve venire appositamente informato dal punto di vista del BIOS, dell'ordine di modifica degli hard disk. Ciò si può fare tramite un'ulteriore registrazione nella parte "global" di lilo.conf; per esempio nel file 4.4.3 nel caso di un sistema con disco IDE e uno SCSI. # Enable LILO to correctly access /dev/sda and /dev/hda # at boot time if their boot order is interchanged in # the BIOS: disk = /dev/sda # The SCSI disk is regarded as ... bios = 0x80 # ... first BIOS disk; disk = /dev/hda # the IDE disk is regarded as ... bios = 0x81 # ... second BIOS disk. file 4.4.3: lilo.conf Estratto: sequenza del boot: prima SCSI poi IDE * linear L'indicazione di questa opzione fa sì che all'installazione di LILO, tutte le referenze sui settori dell'hard disk vengano archiviate come indirizzi logici anzichè fisici, di modo che diventino indipendenti dalla geometria dell'hard disk. Questa opzione viene usata nel caso che con alcuni controller dell'hard disk il BIOS riconosca, allo start del sistema, un'altra geometria che non quella del sistema Linux corrente. Opzione raramente necessaria! L'opzione lineare non Vi libera dal limite dei 1024 cilindri (in relazio- ne alla geometria dei dischi). vedi anche http://sdb.suse.de/sdb/de/ html/kgw_lilo_linear.html. * message= Rimanda ad un file di testo emesso per prima cosa da LILO allo start del sistema: non deve avere più di 24 linee ed è p.e. in grado di dare una ve- duta d'insieme sulla scelta per il boot di LILO. Voi conoscete già una tale comunicazione di start dal dischetto boot di SuSE allegato. Consigliato! Nota L'uso di questa opzione comporta anche l'installazione del file message. Ogni modifica a questo file rende necessaria una nuova installazione di LILO (paragrafo 4.5 nella pagina successiva)! * password= Può trovarsi sia nella sezione "global" che in sezioni "system-specific". Ren- de sicuro tramite password l'accesso ai servizi di LILO risp. al boot del si- stema in questione: dopo il primo uso del file lilo.conf dovreste subito 102 4.5 Installazione e disinstallazione di LILO cancellare la password ­ come root potrete in tutti i modi inserire una nuo- va password tramite una nuova installazione di LILO. ­ È consigliabile impo- stare anche l'opzione restricted. Altrimenti è possibile avviare una shell direttamente con un parametro ; vedi la pagina di manuale di lilo.conf (man lilo.conf)! * read-only Con questa opzione, LILO ordina al kernel in questione di fare il mount alla partizione root prima in modalità read-only, com'è d'uso allo start dei sistemi Linux. Se si omette questa opzione, il kernel usa la preconfigurazione regi- strata in sè stesso. Visibile con il comando rdev -R . Normalmente non c'è bisogno di questa opzione, poichè sia il kernel d'installazione che un kernel ricompilato sono read-only (controllate!). * delay= § ¤§ ¤§ ¤ Premendo (¦Shift ¥ , ¦Ctrl ¥ , ¦Alt ¥ ) l'utente, allo start di LILO, può richiede- re un prompt nel caso questo non fosse stato impostato. L'opzione delay stabilisce quanto sia il tempo LILO d'attesa prima che venga caricato auto- maticamente il primo sistema della lista dei sistemi operativi. Il default è 0, cioè nessun tempo di attesa. L'opzione delay è naturalmente superflua, se si richiede in ogni caso un Prompt con prompt. * vga= Sceglie allo start la modalità testo VGA. I valori per sono normale (per 80x25), ext (per 80x50) o ask (chiede al momento del boot). I valo- ri possibili nel Framebuffer-Kernel, sono elencati e descritti in /usr/src/ linux/Documentation/fb/vesafb.txt. * append="" È l'opzione image per il kernel di Linux. Rende possibile specificare para- metri del kernel (vedi 10.3.2 a pagina 254) e dell'hardware così come è pos- sibile anche al LILO-prompt. Il kernel riceve prima la linea append e quindi le indicazioni date al prompt; in caso di dubbio, prevalgono le indicazioni al prompt. Per esempio: append="mcd=0x300,10" 4.5 Installazione e disinstallazione di LILO Quando si fa una nuova installazione di Linux, YaST guida l'utente in maniera interattivo attraverso i passi necessari; in generale, per quanto riguarda l'instal- lazione di LILO, un intervento manuale non è necessario. Qui però partiamo dal presupposto che LILO debba venire integrato in un sistema già esistente con opzioni speciali. 103 4 Boot e Boot manager Attenzione L'installazione di un bootmanager è un'operazione molto delicata. Prima dell'installazione di LILO, assicuratiVi in ogni caso di poter fare il boot di Linux e possibilmente anche degli altri sistemi operativi da dischetto! In particolare dovrete avere a disposizione fdisk. Installazione dopo modifiche della configurazione Se avete cambiato qualcosa nelle componenti di LILO (paragrafo 1 a pagina 94), o se avete modificato la Vostra configurazione in /etc/lilo.conf, dovete in- stallare LILO di nuovo. Ciò avviene con la semplice chiamata del cosiddetto Map-Installers: terra: # /sbin/lilo Ecco cosa succede: LILO crea un backup del settore (boot) di destinazione, vi scrive il suo "primo gradino" e crea un nuovo map-file (vedi paragrafo 1 a pagi- na 94). Uno dopo l'altro, LILO comunica i sistemi installati ­ p.e. nel caso del nostro sopracitato esempio di configurazione (vedi output 4.5.1): Added linux * Added suse Added windows Added memtest86 output 4.5.1: Emissioni alla chiamata di LILO Dopo aver finito l'installazione, il computer può venire nuovamente avviato: terra: # shutdown -r now Dopo che il BIOS ha eseguito il suo test del sistema, appare LILO con la sua richiesta d'immissione in cui potete indicare il parametro di LILO per il kernel e § ¤ potete scegliere la boot image. Con ¦Tab ¥si possono elencare le denominazioni delle configurazioni installate. Installazione dopo la nuova compilazione del kernel Se nel Vostro boot-concept volete includere un kernel compilato per la prima volta, avete, oltre alla nuova installazione manuale di LILO, un'ulteriore e più comoda possibilità di farlo: I comandi per configurare e creare il kernel si trovano in /usr/src/linux/ Makefile; lì deve venire stabilito INSTALL_PATH=/boot. Questo Makefile dispone di un target di nome zlilo che, dopo una compilazione di un kernel, copia automaticamente in /boot/vmlinuz.old il kernel attualmente installa- to come /boot/vmlinuz (prima /vmlinuz), scrive il nuovo kernel crato in /vmlinuz e fa una nuova installazione di LILO: tutto questo può venire eseguito con il semplice comando 104 4.5 Installazione e disinstallazione di LILO terra:/usr/src/linux # make bzlilo Ciò ha senso solo se il Vostro /etc/lilo.conf è stato preparato prima a questa chiamata di LILO e se il Vostro kernel attuale si trova veramente in /boot/ vmlinuz. Fra le Vostre images dovreste inserire il nuovo kernel ­ e per sicurezza anche quello vecchio; all'incirca così come è avvenuto in 4.4.1 a pagina 98. Fatto questo, potete far partire al LILO boot prompt sia il nuovo kernel come pure quello vecchio (funzionante) (esempio per il nome: Linux.old). In questo modo si crea un altro fattore di sicurezza che può essere utile nel caso che il sistema non possa fare il boot con il nuovo kernel. Per creare un nuovo kernel, vedi capitolo 9 a pagina 243 ff. Rimozione di LILO Attenzione La disinstallazione di un boot manager è un'operazione molto delicata, da eseguire con la massima cura. Prima di disinstallare LILO assicurateVi di poter in ogni caso fare il boot di Linux e anche degli altri sistemi operativi ­ se esistenti ­ con il floppy disk! Vi potrebbe altrimenti accadere di non poter più accedere ai sistemi operativi presenti sull'hard disk. Se un giorno dovesse essere necessario disinstallare LILO, :-( si può fare ri- pristinando il contenuto originale al settore (boot) di destinazione su cui è stato installato LILO. Con Linux questo non sarà un problema, sempre che ci sia un backup valido (vedi paragrafo 4.4.2 a pagina 100, Opzione backup). Attenzione Un backup di un settore boot non è valido se la partizione in questione ha ricevuto un nuovo filesystem (per l'ambiente DOS: è stata formattata). La tabella di partizione in un MBR-backup non è valida se nel frattempo l'hard disk in questione è stato partizionato in modo diverso; tali backup sono "bombe ad orologeria": la cosa migliore da fare è di cancellarli subito! Riportare vecchi backup in questi settori del sistema è la via migliore per procurare una massiccia perdita di dati! La cosa più semplice è quella di ristabilire un DOS-, Windows- o OS/2-MBR: si può fare con il comando MS-DOS (disponibile dalla versione 5.0 di DOS): C:\> fdisk /mbr o con il comando OS/2: C:\> fdisk /newmbr Questi comandi riscrivono solo i primi 446 Bytes (il codice del Boot) nell'MBR e non toccano l'attuale tabella di partizione. Non dimenticate di impostare con fdisk la partizione per lo start di nuovo come attiva (ingl. bootable); le MBR- routines di DOS, Windows, OS/2 lo richiedono! 105 4 Boot e Boot manager Oppure create prima un ulteriore nuovo backup del settore LILO in questione ­ tanto per stare sul sicuro. Controllate quindi ­ come minimo per due volte ­ se il Vostro vecchio backup-file sia quello giusto e se abbia esattamente 512 Byte: quindi ricaricate il vecchio backup-file. Il tutto viene eseguito con i seguenti comandi (attenzione a non scambiarli if= e of=): * Se LILO si trova nella partizione yyyy (p.e. hda1, hda2,. . . ): terra: # /bin/dd if=/dev/yyyy of=nuovo-file bs=512 count=1 terra: # /bin/dd if=Backup-file of=/dev/yyyy * Se LILO si trova nell'MBR del disk zzz (p.e. hda, sda): terra: # /bin/dd if=/dev/zzz of=nuovo-file bs=512 count=1 terra: # /bin/dd if=Backup-file of=/dev/zzz bs=446 count=1 L'ultimo comando è "cauto" e non scrive nella tabella di partizione. Anche qui non dimenticate di contrassegnare con fdisk come attiva (ingl. bootable) la partizione di start desiderata. A proposito: notate con che sveltezza si può eseguire il backup di un settore di boot! Consigliabile per un uso frequente. 4.6 Creare un dischetto di boot di Linux Detto in poche parole, un dischetto per il boot di Linux consiste in uno o più kernel di Linux eventualmente organizzati da LILO. Lo scopo del dischetto per il boot è quello di far partire il sistema Linux che si trova sull'hard disk, se il boot dall'hard disk non è più possibile. Le cause possibili possono esse- re: sovrascrittura dell'MBR, boot manager configurato in maniera errata, errori nell'installazione di LILO. Un dischetto per il boot carica solo il kernel: tutto il resto (init, script di avvio, im- portanti file di sistema) deve già essere installato e funzionante. Il collegamento fra il dischetto per il boot e il sistema sull'hard disk viene effettuato configurando nel kernel, come root device, la partizione root in questione. Non va scambiato con il boot-disk di SuSE, necessario per l'installazione e casi d'emergenza; di questi, con gli (ingl. image files) che si trovano sotto /disks sul primo CD, potete sempre crearne quanti ne volete (vedi 12.6 a pagina 319). Dischetto di boot senza LILO Se allo start il Vostro kernel non ha bisogno di una riga di comando supplementa- re con inforamzioni sull'hardware etc. Questa sarà la norma, se avete compilato nel kernel ("monolithischer" Kernel) l'appoggio per il controller dell'hard disk, il metodo più veloce per avere un dischetto per il boot per il Vostro sistema Li- nux consiste nello scrivere il kernel attuale su un dischetto non formattato e senza errori e, se non è già avvenuto, di configurare in modo giusto il root device: 106 4.6 Creare un dischetto di boot di Linux terra: # /sbin/badblocks -v /dev/fd0 1440 terra: # /bin/dd if=Vostro_kKernel of=/dev/fd0 bs=18k terra: # rdev /dev/fd0 Vostro_Root_Partition terra: # rdev -R /dev/fd0 1 Il primo comando controlla che sul dischetto non ci siano blocchi difettosi (1 blocco = 1 k). L'ultimo comando cura che per prima cosa il kernel faccia il mount della partizione root come read-only (è quello che gli script dello start di sistema si aspettano). Dischetto di boot con LILO Si può creare un dischetto per il boot più comodo (con saluti iniziali, input per il kernel e i suoi parametri, come pure tutti gli altri "bocconcini" di LILO) copiando sul dischetto il completo meccanismo per lo start di LILO (vedi paragrafo 1 a pagina 94); per farlo, il dischetto ha bisogno di un filesystem, la cosa migliore è minix. Oppure, se seguite il metodo "fai da te", eseguite i seguenti punti: * Create un minix-filesystem in un nuovo dischetto vuoto ­ per sicurezza fate un test degli errori ­ e, se avete avuto successo, fatene il mount p.e. sotto /mnt: terra: # /sbin/mkfs.minix -c /dev/fd0 1440 terra: # /bin/mount /dev/fd0 /mnt * Copiate i Vostri file per il kernel e il file di LILO /boot/boot.b in /mnt (cioè su dischetto). * Optional: Creare un file /mnt/message per la formula di saluto. * Creare un proprio lilo.conf in /mnt, come in file 4.6.1 nella pagina se- guente. Naturalmente dovete ancora registrare la vera e propria partizione root invece di ilVostro_Root_Device): * Se usate un'initrd, registratelo in lilo.conf; vedi le indicazioni nella sezione 12.4.3 a pagina 311. * installare LILO con questo lilo.conf: terra: # /sbin/lilo -C /mnt/lilo.conf * fare l'unmount del floppy, finito! terra: # /bin/umount /mnt * Non dimenticate: assicurateVi che il dischetto per il boot funzioni veramente. 107 4 Boot e Boot manager # File di configurazione di LILO dischetto per il boot # Start LILO global Section boot=/dev/fd0 # destinazione: floppy install=/mnt/boot.b # naturalmente LILO e map=/mnt/map # Map-file sul floppy! message=/mnt/message # optional prompt timeout=100 # aspettare al prompt: 10 s vga = normal # # End LILO global section ## Linux bootable partition config begins image = /mnt/vmlinuz # default root = /dev/Root_Device # partizione root qui! label = linux # Linux bootable partition config ends ## sezioni del sistema per altri kernel qui: file 4.6.1: lilo.conf per il dischetto del boot 4.7 Esempi di configurazione Se Linux è l'unico sistema sul Vostro computer, non avete bisogno di fare niente, poichè il necessario è stato eseguito da YaST durante l'installazione. Seguono ora alcuni esempi per computer con più sistemi: su questo tema guar- date anche in /usr/share/doc/howto/en/mini/Linux+*.gz, dove alcuni amici di Linux hanno documentato le loro cofigurazioni per più sistemi operativi. 4.7.1 DOS/Windows 95/98 e Linux Premessa: Sia per DOS/Windows 95 che per Linux deve esserci a disposizio- ne una partizione primaria sotto il limite dei 1024-cilindri (vedi paragrafo 1 a pagina 95). Per casi come questo, abbiamo già parlato di una configurazione adatta (vedi file 4.4.1) ­ solo le indicazioni in root, image e other devono venire adattate alle condizioni effettive. LILO viene installato nell'MBR. Se non c'è un vecchio kernel di Linux, tralascierete naturalmente la sezione Linux.old. Conservate bene /etc/lilo.conf e anche un dischetto per il boot del Vostro Linux! Proprio Windows 95 ha la tendenza ad eliminare dall'MBR sistemi ope- rativi "estranei". Se perciò avete la possibilità di far partire Linux con un dischet- to per il boot, questo problema può venire velocemente risolto con il semplice comando: terra: # /sbin/lilo 108 4.7 Esempi di configurazione 4.7.2 Windows NT e Linux su un hard disk 1. Possibilità: per fare il boot si usa il boot manager di NT. Questi può far partire, oltre ai settori boot, anche file images di tali settori boot. Con i seguenti passi si può far coesistere fra Linux e Windows NT: * Installazione di NT. * Tenere a portata di mano un'unità di backup (partizione dell'hard disk o un floppy senza errori) assieme ad un filesystem che possa scrivere Linux e leggere NT, p.e. FAT. * Installare Linux come "al solito" (qui nell'esempio prendiamo come par- tizione di root /dev/sda3). Fare il mount dell'unità FAT (p.e. sotto /dosa). Attenzione: non usate le opzioni mount conv=auto o conv=text! * Installate LILO nella partizione root di Linux (/dev/sda3), non nell'M- BR (/dev/sda)! Come sempre avete la possibilità di scegliere per la configurazione di LILO fra più images del kernel di Linux. Come esempio per una lilo.conf, vedi file 4.7.1. # File di configurazione di LILO: la partizione root /dev/sda3 # preparare per lo start # Start LILO global Section boot=/dev/sda3 # Destinazione dell'installazione backup=/boot/boot.sda3.980428 # Backup per precedenti # settori boot prompt timeout=100 # aspettare al Prompt: 10 s vga = normal # force sane state # End LILO global section # Linux bootable partition config begins image = /boot/vmlinuz # default image da avviare root = /dev/sda3 # qui la partizione root! label = Linux # Linux bootable partition config ends file 4.7.1: lilo.conf per la preparazione allo start di una partizione root di Linux * Copiate il settore boot di LILO in un file sull'unità FAT, p.e. terra: # dd if=/dev/sda3 of=/dosa/bootsek.lin bs=512 count=1 Questo lavoro, come anche il seguente, deve venire ripetuto dopo ogni aggiornamento del kernel! * Fare il boot di NT. Copiare il file bootsek.lin dall'unità FAT nella directory principale del disco di NT (sempre che non ci si trovi già) * Alla fine del file boot.ini (mettere gli attributi) completare i seguenti attributi: c:\bootsek.lin="Linux" 109 4 Boot e Boot manager * Se tutto è andato bene, alla fine del prossimo boot, dovrebbe esserci una registrazione adeguata nel boot manager di NT! 2. Possibilità purtroppo non sempre praticabile: installare LILO nell'MBR e far credere a Windows NT che si tratti di DOS (come nell'esempio preceden- te). Attenzione! Sembra che questo procedimento non funzioni più con le versioni più recenti di NT, perchè questi sembra partire solo se trova speciali sequenze (non documentate) nell'MBR di cui LILO è purtroppo ignaro.:-( Attenzione Windows NT (3.5* e 4.0) non conosce i tipi di partizione 82 e 83 usati da Linux. Fate attenzione che nessun programma NT "ripari" la tabella di par- tizione poichè c'è il pericolo di perdita dati! Per sicurezza tenete pronti backup validi del LILO-MBR 4.7.3 OS/2 e Linux 1. Possibilità: per fare il boot si usa il boot manager di OS/2. Questi può far partire partizioni primarie e logiche a piacere, entro il limte dei 1024 cilindri ­ la responsabilità che queste si possano veramente far partire, è dell'utente. Il boot manager viene configurato con fdisk di OS/2. Preparazione da parte di Linux: con LILO, rendete idonea allo start una par- tizione primaria di Linux (di norma: la partizione root). Come nei file 4.7.1 nella pagina precedente, lilo.conf è adatto a farlo. Ma prima c'è ancora qualcosa cui pensare. . . : Preparazione da parte di OS/2: nell'amministrare le partizioni esistenti (negli MBR degli hard disks e nei settori di partizione delle partizioni logiche estese), OS/2 non si accontenta delle convenzionali registrazioni, bensì usa lo spazio libero in questo settori per memorizzare informazioni supplementari: se queste sono inconsistenti, l'fdisk di OS/2 considera errate le tabelle di partizione e rifiuta di eseguire i servizi di boot manager. I programmi fdisk di altri sistemi operativi non tengono naturalmente conto di queste informazioni supplementari e certi conflitti sono perciò da tenere in conto. Perciò, prima di installare Linux, caricare l'OS/2 (il sistema di installazione è sufficiente) e, con l'fdisk di OS/2 create le partizioni di Linux, almento quelle logiche. Questo produce ulteriori partizioni OS/2 che possono disturbare parecchio. Rimedio: caricate subito dopo dal CD di SuSE Linux il sistema di instal- lazione di Linux (o il sistema di "salvataggio") e, per le partizioni di Li- nux, cambiatene con fdisk di Linux il tipo in 83 (Linux native); con questo procedimento, in futuro queste partizioni verranno ignorate da OS/2. 2. Possibilità: come boot manager principale viene usato LILO in una partizione primaria del primo disco. E' poco vantaggioso installare nell'MBR, poichè ogni ripartizionamento fatto con fdisk potrebbe cancellare l'MBR stesso e 110 4.8 Problemi con LILO quindi rimuovere LILO. Questo caso viene trattato nel prossimo esempio, che include anche DOS. 4.7.4 DOS, OS/2 e Linux 1. Se avete usato l'OS/2 Boot manager per DOS e OS/2 e volete continua- re ad usarlo, registrate Linux nel suo menu di start, proprio come descritto nell'ultimo esempio. 2. Possibilità: Come boot manager principale, LILO viene usato in una partizione primaria del primo hard disk. Il seguente esempio (un po' più complicato) per lilo.conf (file 4.7.2 nella pagina successiva), parte dal presupposto che le partizioni di start per DOS (primaria) e per Linux (primaria) si trovino sul primo hard disk, quelle di OS/2 (secondaria) si trovi sul secondo hard disk ­ tutte entro il limite dei 1024 cilindri. OS/2 si trova sul secondo hard disk, perciò, invece di /boot/ chain.b, viene usato lo speciale loader /boot/os2_d.b. Non ha importanza se il codice MBR provenga da DOS o da OS/2. Nel- la tabella di partizione si deve contrassegnare con un programma fdisk la partizione di LILO come partizione per lo start (attiva). 4.8 Problemi con LILO Alcune direttive Ecco alcune direttive con cui poter evitare dal principio la maggior parte dei problemi di LILO (prese dal manuale di LILO per l'utente [Alm96]): * Non fateVi prendere dal panico! Se qualcosa non va, cercate prima di trovare l'errore e la causa; controllate la diagnosi e solo ora cominciate con i provvedimenti per eliminare gli errori. * Tenete sempre a portata di mano un "dischetto per il boot" funzionante e già sperimentato. A partire dalla versione 5.0, SuSE Linux contiene sul dischetto per il boot e sul CD d'installazione un sistema Linux autonomo (sistema di salvataggio) con cui potrete raggiungere nuovamente le Vostre partizioni di Linux: vi sono contenuti sufficienti tools per poter risolvere la maggior parte dei problemi causati da hard disk inaccessibili. * Leggete la documentazione: soprattutto qualora il sistema si rifiuti di fare quello che secondo Voi dovrebbe fare. * Prima di ogni chamata del Map-Installers (/sbin/lilo) controllate accuratamente il file di configurazione /etc/lilo.conf . * Chiamate /sbin/lilo tutte le volte che è stata modificata o una parte del meccanismo di start di LILO, o il suo file di configurazione /etc/lilo. conf. 111 4 Boot e Boot manager # File di configurazione di LILO # Start LILO global Section boot = /dev/sda4 # LILO nella partizione root di Linux backup = /boot/boot.sda4.970428 message = /boot/message # schermo con formula di saluto prompt delay = 100 vga = normale ## Linux bootable partition config begins image = /boot/vmlinuz label = linux root = /dev/sda4 # Linux bootable partition config ends ## OS/2 bootable partition config begins other = /dev/sdb5 table = /dev/sdb label = os2 loader = /boot/os2_d.b # New for LILO v20 and newer: interchange disk drives: map-drive = 0x80 # first hd: BIOS number 0x80 to = 0x81 # second hd: BIOS number 0x81 map-drive = 0x81 to = 0x80 # OS/2 bootable partition config ends ## DOS bootable partition config begins other = /dev/sda1 table = /dev/sda label = dos # DOS bootable partition config ends file 4.7.2: LILO con DOS, OS/2 e Linux su due hard disks 112 4.8 Problemi con LILO * Prestate la massima attenzione con gli hard disk grandi o con molteplici hard disk: tenete conto del limite dei primi 1024 cilindri! * Provate con e senza opzione lineare (è quasi sempre meglio senza!). 4.8.1 Diagnosi degli errori: comunicazioni-start di LILO Sostanzialmente, qui ripetiamo (tradotto) un capitolo preso da [Alm96], della descrizione di LILO di WERNER ALMESBERGER. Il codice dello start del sistema di LILO consiste in due parti: il primo livello in un settore boot ed il secondo livello in /boot/boot.b. All'installazione di LILO, viene creato un "File Map" (come standard /boot/map), in cui LILO trova i puntatori (indirizzi dei settori) sui sistemi operativi (kernel di Linux, etc.) che deve avviare. Quando LILO viene caricato, viene indicata la parola `LILO'. Ogni lettera cori- sponde al completamento di una fase specifica. Se LILO non riesce a partire, le lettere visibili danno un'indicazione piuttosto esatta della fase in cui è subentrato il problema. (niente) Non è stato caricato niente di LILO. O LILO non è stato installato per niente, o non è stata avviata la partizione con il settore boot di LILO `L' error ... È stato caricato e inizializzato il "il primo stadio", ma non è stato possibile caricare il secondo stadio (/boot/boot.b): questo è generalmente dovuto ad un settore di avvio difettoso o ad un'errata geometria dell'hard disk. `LI' Il secondo stadio di LILO è stato caricato ma non lo si è potuto inizializza- re. Ciò può essere causato da un'errata geometria dell'hard disk o dall'aver spostato /boot/boot.b senza che sia stato installato di nuovo LILO. `LIL' Il secondo stadio di LILO è stato inizializzato, ma non si sono potuti caricare dal map-file i dati necessari (puntatore etc.); questo è causato da un settore di boot difettoso o da un'errata geometria dell'hard disk. `LIL?' Il secondo stadio di LILO è stato caricato su un indirizzo della memoria sbagliato. La causa di ciò è un errore critico nella geometria dell'hard disk o lo spostamento di /boot/boot.b senza la reinstallazione di LILO. `LIL-' I dati nel map-file non sono validi. Questo viene causato da un errore nella geometria dell'hard disk o dallo spostamento di /boot/boot.b senza reinstallazione di LILO. `LILO' Tutti i componenti di LILO sono state installate con successo. Eliminare la fonte degli errori Le cause più frequenti degli errori di geometria, non sono "difetti fisici" o tabelle di partizione non valide, bensì errori nell'installazione di LILO: ­ soprattutto la mancato osservanza del limite dei 1024-cilindri (vedi la sezione 4.8.2 a fronte). Nella maggioranza dei casi, ci si può aiutare con i seguenti 3 provveidmenti: 113 4 Boot e Boot manager 1. Installare i dati LILO al di sotto del limite di 1024-cilindri (se non è anco- ra stato fatto). Ciò riguarda i kernel di Linux necessari, il contenuto della directory /boot e anche il settore boot in cui viene scritto lo startcode di LILO. 2. Installare LILO per la prima volta come `root' usando il comando lilo. Creando dei logfiles, lilo Vi fornirà un logging (protocollo di co- municazioni) pieno di informazioni interessanti: ecco come creare un logfile: terra: # lilo -v -v -v >/boot/lilo.log 2>/boot/lilo.logerr Se la configurazione del boot è corretta, /boot/lilo.logerr dovrebbe essere vuoto. In /boot/lilo.log potete fra l'altro vedere come LILO si nota la locazione dei suoi files, quali numeri dei BIOS-devices usa per l'hard disk e molto di più. 3. Controllare la consistenza delle informazioni della geometria dell'hard disk. Per farlo sono importanti quattro punti: a) Una geometria che usa LILO. Vedi anche il sopracitato logfi- le. Influenzabile tramite l'indicazione disk in lilo.conf; vedi a pagina 101. b) Geometria che ha riconosciuto il kernel di Linux. Vedi le comunicazioni Boot (/var/log/boot.msg o l'output del comando dmesg). Influenza- bile tramite i parametri del kernel (entro certi limiti); vedi sezione 10.3.2 a pagina 261. c) Geometria di base delle tabelle di partizione. Vedi l'edizione di fdisk -l. Influenzabile tramite i comandi esperti fdisk. Molto pe- ricoloso per i dati! Prima è sempre consigliabile un backup completo! SOLO PER ESPERTI! d) Geometria, che ha riconosciuto il BIOS. Successivamente, LILO se la ri- troverà allo start del sistema e dovrà lavorare con questa struttura. Vedi il BIOS-Setup, eventualmente anche quello dello SCSI-Hostadapter (se esistente). Influenzabile tramite il BIOS-Setup. Se esiste inconsistenza, nella maggior parte dei casi, il metodo migliore per decidere "Dove adattare?", è quello di prendere la via più facile. Per la soluzione del problema, si devono analizzare i seguenti dati: * /etc/lilo.conf * Output del comando fdisk -l (Partizionatura) * suddetti logfiles * Ipostazioni del BIOS e dello SCSI-BIOS in corrispondenza ai loro hard disks 114 4.8 Problemi con LILO 4.8.2 Limite dei primi 1024-cilindri Nota Da poco tempo, sono disponibili versioni BIOS che permettono di inizia- lizzare sistemi operativi al di sopra del limite di 1024 cilindri. La versione attuale di LILO è in grado di utilizzare questa estensione del BIOS. Alla configurazione di LILO, YaST e YaST2 Vi informeranno sulle possibilità del Vostro BIOS. Se il Vostro BIOS non dovesse disporre di queste estensioni, continuate nella lettura di questo capitolo. Come già detto più volte (paragrafo 1 a pagina 95), devono essere accessibili solo il completo meccanismo di start di LILO ­ cioè tutti i dati necessari a LILO ­ e le BIOS-routines. Quali aree degli hard disks siano quindi adatte a questo (noi le chiameremo brevemente area autorizzata) è già stato trattato lì. Quali possibilità ci lascia questo limite? A dire il vero un bel po', se si pensa che riguarda solo il meccanismo di start; non c'è nessuna legge che ci obblighi a porlo nella partizione root di Linux: in caso di emergenza è persino possibile (anche se un po' pericoloso), mettere i file del meccanismo di start su partizio- ni di sistemi operativi estranei, sempre che Linux abbia l'accesso in scrittura e lettura sui loro filesystem. Attenzione GuardateVi dall'installare il settore boot di LILO in una partizione estranea, poichè se ne può danneggiare il filesystem! * La "soluzione migliore" è quella di creare entro l'area autorizzata una par- tizione primaria di Linux e di porvi i dati di LILO (incluso quelli del settore boot di LILO). Di norma questa partizione era generalmente la partizione root di Linux. Dalla versione 6.0 di SuSE Linux, nell'installazione con YaST viene prevista una partizione dedicta (/boot); questa partizione è grande abbastanza per contenere solo i seguenti file: ­ boot.b, map, message, ­ i kernel di Linux cui LILO deve fare il boot. Sono quindi necessari solo pochi megabyte. Il resto del sistema non deve più sottostare, per quanto riguarda la locazione sull'/sugli hard disk/s, a nessuna restrizione: una volta che il kernel funziona, ha accesso illimitato a tutti gli hard disk del sistema. Cosa fare se non c'è più spazio per una tale partizione? Se non volete o non potete rifare le partizioni e se non avete nemmeno intenzione di eseguire un upgrade su SCSI o su un BIOS più moderno, ecco due possibilità: 115 4 Boot e Boot manager * Per fare il boot di Linux, usate invece di LILO su hard disk, un dischetto di boot o, se avete MS-DOS, usate loadlin. * Collocate il meccanismo di start di LILO su una partizione "non Linux" che si trovi all'interno dell'area autorizzata e sulla quale Linux sia in autorizzato a scrivere (p.e. un device FAT/VFAT DOS). Naturlamente non possiamo scriverci anche il settore boot di LILO! E così non ci rimane che: l'inizio di una partizione estesa sul primo hard disk ­ purchè prima del cilindro 1024 ­ o l'MBR. Supponiamo che alla partizione sia stato fatto il mount sotto /mnt. LILO deve andare nell'MBR, p.e. /dev/hda e deve inoltre fare il boot di DOS in /dev/hda1. Ecco come fare: ­ Create una nuova directory, p.e. /mnt/LINUX e copiatevi da /boot i già citati file di LILO: copiatevi anche boot.b, map, message, come pure i Chain-Loader per gli altri sistemi operativi (in genere chain.b) e i kernel di Linux cui LILO deve fare il boot. ­ Create un file /mnt/LINUX/lilo.cfg, in cui tutti i paths puntino su /mnt/LINUX (file 4.8.1): # File di configurazione di LILO directory estranea # Start LILO global Section boot=/dev/hda # Installation target backup=/mnt/LINUX/hda.xxxx # backup del vecchio MBR install=/mnt/LINUX/boot.b # naturalmente LILO e il map=/mnt/LINUX/map # map-file sono in /mnt/LINUX! message=/mnt/LINUX/message # optional prompt timeout=100 # aspettare al prompt: 10 s vga = normal # # End LILO global section ## Linux bootable partition config begins image = /mnt/LINUX/primo_kernel # default root = /dev/Vostro_Root_Device # qui va la partizione root! label = linux # Linux bootable partition config ends ## qui vanno le sezioni del sistema per ulteriori kernel: ## Ende Linux # DOS bootable partition config begins other = /dev/hda1 # MSDOS-system device label = dos loader = /mnt/LINUX/chain.b table = /dev/hda # DOS bootable partition config ends file 4.8.1: lilo.cfg per partizioni estranee ­ installare LILO con questo file lilo.cfg: terra: # /sbin/lilo -C /mnt/LINUX/lilo.cfg 116 4.8 Problemi con LILO Dopodichè LILO dovrebbe funzionare. Fate il boot di MS-DOS e proteg- gete i file di LILO nel miglior modo possibile, contro accessi in scrittura (ricordate: ognuno di essi mette LILO K.O!). Date almeno a tutti i files in X:\LINUX (in cui X: è l' MS-DOS-device cui è appena stato fatto il mount sotto /mnt) gli attributi DOS Sistema e nascosto. A riguardo Vi rimandiamo ai due HOWTOs LILO.gz e Large-Disk.gz in /usr/share/doc/howto/en/mini/. 4.8.3 Speciali problemi con il boot a partire dal kernel 2.0 Facendo il boot con LILO ­ è indifferente se con floppy o hard disk ­ al momento di caricare un kernel grande (p.e. kernel di installazione di SuSE) subentrano alcuni problemi.:-( È vero che si può scegliere un kernel al LILO-Prompt e che verrà anche caricato (vengono indicati alcuni punti), lo start del kernel però non funziona. Cioè, prima che appaia la comunicazione "uncompressing Linux", il sistema crolla con differenti reazioni. Possibili errori o comunicazioni di errori: * Il sistema fa il boot di nuovo * Il sistema si arresta * "crc-error" * "no free space" * "Error 0x00" * "Error 0x01" * "incomplete literal tree" Dopo si accede in parte anche al floppy, ma il sistema non si muove. La causa si trova nella combinazione data da un kernel troppo grande, LILO e hardware difettoso. Approssimativamente l'uno per cento dei computer ne è colpito. Noi supponiamo che un BIOS difettoso abbia problemi con l' accesso veloce alla memoria. ­ Il problema non subentra quando: * si fa il boot al computer con Loadlin (paragrafo 4.9 nella pagina successiva), * il kernel viene p.e. copiato con dd if=/boot/vmlinuz of=/dev/fd0 su un dischetto e da lì viene direttamente caricato, * si fa il boot con LILO ad un kernel più piccolo, che sia stato creato con make zImage (p.e. un kernel 1.2.13 più vecchio). 117 4 Boot e Boot manager Le seguenti impostazioni del BIOS possono aiutare a fare il boot senza problemi: * Disattivare Internal Cache (disable) * DRAM Precharge Wait State su 1 e * DRAM Wait Burst Timing su 0x3333 Soluzione Per prima cosa bisogna poter installare un sistema. Se non potete fare diretta- mente il boot con loadlin (o setup.exe), dovresete prima usare per l'installazio- ne un vecchio boot-disk 1.2.13. Se non l'avete a disposizione, riconfigurate i parametri del BIOS. Dopo aver terminato con successo l'installazione, ci si pone la domanda di come poter fare il boot al proprio sistema. Prima di tutto si dovrebbe fare il boot con lo stesso medium usato per l'installazione: con Loadlin lanciato dalla partizione DOS non ci sono problemi. Con un dischetto di boot, indicate i parametri: load_ramdisk=0 root=/dev/ in cui è la Vostra partizione root, p.e. hda1. 4.9 Configurazione dello start tramite loadlin Con loadlin vi proponiamo un altro metodo per fare il boot di SuSE Linux. loadlin è un programma DOS in grado di inizializzare un kernel di Linux memorizzato in una directory di DOS. loadlin si adatta benissimo a un ambiente DOS/Windows 95/98 e, con l'aiuto del boot manager di Windows, può venire facilmente inizia- lizzato. Poichè non avviene alcuna registrazione nell' MBR, Windows vede di Linux solo una o più partizioni con identità a lui sconosciute (ingl. IDs). In que- sto modo viene minimizzato il pericolo di effetti collaterali dovuti alla presenza di Linux nel Vostro sistema. Il metodo qui descritto funziona sia con Windows 95 che con Windows 98. I file di configurazione indicati furono sviluppati sotto Windows 95; per questo motivo parleremo in seguito solo di Windows 95. Se desiderate usare loadlin per fare partire Linux, dovete fare queste prepara- zioni; a seconda delle condizioni del sistema, dovrete anche modificare alcuni file. Principalmente potete attivare loadlin in due modi: spostandovi da un sistema all'altro tramite un boot-menu, oppure lanciando Linux con loadlin da un altro sistema operativo già attivo corso. Ambedue i metodi hanno i loro pro e contro: * Il boot-menu risparmia una deviazione attraverso un altro sistema operativo per attivare Linux. * In un boot-menu potete anche inserire altre configurazioni e crearVi in questo modo un meccanismo universale (sempre funzionante) per lo start. 118 4.9 Configurazione dello start tramite loadlin * Per creare un boot-menu dove però modificare i file per lo start; eventualmente dovrete fare alcune prove. * In DOS-Prompt il cambiamento in Linux è molto semplice. * Sotto Windows 95 si può integrare bene il Linux-Start nella superficie grafi- ca. Con un doppio clic su un'icona potete passare a Linux. Ma anche sotto Windows 95 è possibile un boot-menu. (Windows 95 contiene DOS 7.0). Suggerimento Usate possibilmente un boot-menu, se dopo l'avvio volete direttamente fare il boot di Linux. Il metodo con il DOS-Prompt- o il doppio clic può venire ulteriormente usato, se volete cambiare da DOS/Windows 95 a Linux. Ci vorrebbe molto spazio per poter trattare in maniera esustiva menu per lo start e della configurazione di Windows 95 ­ capirete perciò che qui tratteremo il tema a un livello base. 4.9.1 Files necessari per loadlin Ecco cosa dovete fare (sotto DOS, Windows 3.x e Windows 95): 1. Probabilmente avete già installato loadlin: altrimenti dovete installarlo via setup. 2. Andate (sotto MS-DOS) nella directory c:\loadlin. Lì si trova il file linux.par; con un editor create in quella directory un file con il nome startlin.bat (o un altro nome di Vostro gradimento). Nel file scrivete una riga come per esempio in file 4.9.1. c:\loadlin\loadlin @c:\loadlin\linux.par file 4.9.1: Esempio di un batchfile per lo start di Linux Ora editate le seguenti righe nel file linux.par come in file 4.9.2. c:\loadlin\zimage # first value must be # the filename of the Linux-kernel initrd=c:\loadlin\initrd root=/dev/xxx # the device which gets mounted as root FS ro # mount root read-only file 4.9.2: Esempio di un file con i parametri per lo start 119 4 Boot e Boot manager Invece di xxx, indicate il nome del dispositivo della Vostra partizione root (Ve lo eravate notato nella sezione 3.4.11 a pagina 62). Avrete bisogno della registrazione initrd se p.e. dovete caricare il supporto SCSI già durante il boot (sul concetto dell'"initial ramdisk" vedi capitolo 12.4 a pagina 310). Con il file startlin.bat potete sempre far partire Linux da DOS-Prompt. Il file linux.par viene usato sia da startlin.bat che da config.sys e contiene tutti i parametri necessari per il boot di Linux. Una volta presa confidenza con Linux, potete aggiungere e/o sostituire altri parametri per il boot in linux.par. Una volta che Vi siate creati il Vostro kernel, copiatelo dal Linux-Filesystem in c:\loadlin\zimage e da ora in poi verrà fatto il boot a questo kernel; se necessario, dovrete archiviare anche lì un initrd. 4.9.2 Configurare boot-menu Come configurare un boot-menu sotto DOS o Windows 3.x: 1. Per prima cosa dovete definire un boot-menu nel file c:\config.sys. Per farlo inserite qualcosa di simile a ciò che avete registrato in file 4.9.3. [Menu] menuitem=Win, Windows starten... menuitem=DOS, MS-DOS starten... menuitem=Linux, Linux starten... menucolor=15,1 menudefault=Win,5 file 4.9.3: Esempio di config.sys (1a parte) per lo start di Linux Sotto il label [Menu] definite le registrazioni del boot-menu, il colore del me- nu stesso e dopo quanti secondi quale punto del menu deve venire chiamato automaticamente. 2. Più sotto indicate i labels [Common], [Win], [DOS] e [Linux]. In common scrivete le registrazioni che devono essere sempre valide, negli altri labels scrivete le registrazioni valide solo con una determinata registrazione. Per farlo usate le righe che si trovano nel vostro attuale config.sys; esempio file 4.9.4 nella pagina successiva. Memorizzate il file e via! 3. Aprite ora il file c:\autoexec.bat. In esso dovete ora scrivere gli stessi labels e attribuire loro delle registrazioni; ora però la sintassi e il modo di scrivere sono ora un po' diversi. Per la sua semplicità, trattiamo subito al principio del file il caso di Linux. Nella variabile %config% è indicato quale menu è stato scelto. Scrivete qualcosa di simile al file 4.9.5 a pagina 122. Memorizzate il file e via! 4. Se ora fate il boot del computer, appare il menu per il boot e Voi avete 5 secondi di tempo per scegliere una registrazione. Dopo cinque secondi, parte automaticamente Windows. Se scegliete `Linux', parte Linux e aspetta il Vostro login. 120 4.9 Configurazione dello start tramite loadlin [Common] device=c:\dos\himem.sys /testmem:off device=c:\dos\emm386.exe noems I=E000-F4FF dos=high,umb files=30 buffers=10 shell=c:\dos\command.com [Win] devicehigh=c:\dos\dblspace.sys /move devicehigh=c:\cd\slcd.sys /D:SONY_000 /B:340 /M:P /V /C [DOS] devicehigh=c:\dos\dblspace.sys /move devicehigh=c:\cd\slcd.sys /D:SONY_000 /B:340 /M:P /V /C [Linux] shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par [Common] rem Bleibt leer file 4.9.4: Esempio per config.sys (2a parte) per lo start di Linux-Start 4.9.3 Fare lo start da Windows Come creare una start icon per Linux con la quale poter fare il boot di Linux da un sistema Windows 95 in corso: 1. Andate alla directory c:\loadlin, selezionate il file startlin.bat e nel menu edit scegliete `copiare'. 2. Andate nella directory o nella superfice, a seconda di dove vogliate avere la Vostra icona per Linux. Premete il pulsante destro del mouse e selezionate `Inserire il link'. 3. Selezionate il link appena inserito, premete il pulsante destro del mouse e scegliete `Proprietà'. Andate al registro `Programma', cliccate sot- to `Esteso'. Scegliete nella maschera il campo `Modalitá-MS-DOS'. Confermate con `OK'. 4. Tramite il pulsante `Altro simbolo' potete sceglierVi una bella icona e dare un nome appropriato al link. Fatto! 5. Con un doppio click sul nuovo simbolo otterrete una maschera in cui Vi viene confermato che Windows 95 si trova ora nel menu ModalitáMS-DOS. Se non desiderate la maschera, potete toglierla nelle proprietà del link. 4.9.4 Il menu start di Windows Come creare un menu per lo start di Windows 95: 121 4 Boot e Boot manager @echo off rem registrazioni per tutte le configurazioni switches= /f set comspec=c:\dos\command.com prompt $p$g loadhigh c:\dos\keyb it,,c:\dos\keyboard.sys loadhigh c:\dos\doskey set temp=c:\temp loadhigh c:\dos\mscdex.exe /D:SONY_000 /E /V /L:H c:\logimaus\mouse.exe goto %config% :Win c:\dos\smartdrv.exe a- b- c+ 2048 1024 path c:.;d:.;c:\windows;c:\dos;c:\util; win : c:\dos\smartdrv /C goto ende :DOS path c:.;d:.;c:\dos;c:\util; goto ende :ende echo * Arrividerci * file 4.9.5: Esempio di autoexec.bat per lo start di Linux 122 4.9 Configurazione dello start tramite loadlin 1. Prima dovete editare il file c:\msdos.sys. Per farlo fateVi mostrare il file tramite C:> attrib -R -S -H c:\msdos.sys. Si tratta di un file di testo nel quale dovete inserire alcune righe per attivare il menu per lo start di Windows 95. Sotto il label [Options] dovrebbe risultare ca. come in file 4.9.6. [Options] BootGUI=0 BootDelay=0 BootMenu=0 Logo=0 file 4.9.6: msdos.sys per lo start di Linux Il parametro Logo=0 è opzionale e impedisce che Windows 95 vada in mo- dalità grafica prima del boot; si può fare il boot più velocemente, e avrete meno problemi una volta che vogliate usate l'emulatore DOS sotto Linux. Il parametro BootGUI=0 fa in modo che Windows 95 faccia il boot diretta- mente nel modalitá DOS. Dopo aver editato il file riportate gli attributi alla loro forma originale. Per poi far partire Windows si deve inserire C:> win nel DOS-Prompt, ma questo viene già eseguito dal nostro file d'esempio c:\autoexec.bat, nel caso abbiate scelto Win95 nel menu. 2. Dopo, nel file c:\config.sys, dovete definire il Vostro menu per il boot. Per farlo, inserite, all'inizio del file, il contenuto di file 4.9.7. [Menu] menuitem=Win95, Windows 95 starten... menuitem=DOS, MS-DOS starten... menuitem=Linux, Linux starten... menudefault=Win95,5 file 4.9.7: Contenuto per config.sys (1a parte) per lo start di Linux sotto Windows 95 Sotto il label [Menu] definite le registrazioni del menu per il boot e dopo quanti secondi quale punto del menu deve venire automaticamente chiamato. 3. Più sotto si trovano i labels [Win95], [DOS], [Linux] e [Common]. Sotto [Common] scrivete le registrazioni che devono valere sempre (sotto Win- dows 95 saranno solo poche), negli altri labels scrivete le registrazioni che valgono solo per una determinata registrazione del menu per il boot. Per farlo usate le righe che si trovano ora nel Vostro config.sys; l'esempio in file 4.9.8 nella pagina successiva è solo un suggerimento. Memorizzate il file e voilà! 123 4 Boot e Boot manager [Win95] dos=high,umb device=c:\windows\himem.sys /testmem:off [DOS] device=c:\plugplay\drivers\dos\dwcfgmg.sys dos=high,umb device=c:\windows\himem.sys /testmem:off device=c:\windows\emm386.exe noems I=B000-B7FF devicehigh=c:\cdrom\torisan.sys /D:TSYCD3 /P:SM [Linux] shell=c:\loadlin\loadlin.exe @c:\loadlin\linux.par [Common] accdate=C+ D+ H+ switches= /F buffers=20 file 4.9.8: Esempio per config.sys (2a parte) per lo start di Linux sotto Windows 95 @echo off loadhigh keyb it,,c:\windows\command\keyboard.sys goto %config% :Win95 win goto ende :DOS path c:.;d:.;c:\windows\command;c:\util; loadhigh c:\windows\command\mscdex.exe /D:TSYCD3 /L:x loadhigh c:\windows\command\doskey c:\windows\command\mouse.exe goto ende :ende echo * E adesso? * file 4.9.9: Esempio per autoexec.bat per lo start di Linux-Start sotto Windows 95 124 4.9 Configurazione dello start tramite loadlin 4. Ora aprite il file c:\autoexec.bat. Nel file dovete scrivere gli stessi labels e attribuire le registrazioni ai labels; la notazione è ora un po'diversa. Nella variabile %config% trovate quale label è stato scelto nel menu per il boot. Scrivete qualcosa come nella figura file 4.9.9 a fronte. 5. Se ora fate il boot del computer appare il Vostro menu per il boot. Avete 5 se- condi di tempo per scegliere dopodichè Windows 95 parte automaticamente. Se scegliete `Linux', Linux parte e aspetta il Vostro login. 125 4 Boot e Boot manager 126 5 Il sistema X Window 5 Il sistema X Window 5.1 Sfondo storico Il sistema X Window rappresenta sotto Unix un sistema quasi standard per l'in- terfaccia grafica utente. X Window System è molto di più; X11 è un sistema basato sulla rete. Applicazioni funzionanti sul computer terra, sono in grado di visualizzare il proprio output su sole, sempre che i computer siano connessi via rete. Questa rete può essere una rete LAN, oppure i computer possono an- che essere distanti migliaia di chilometri ed essere connessi fra loro tramite via Internet. X11 ebbe origine come progetto comune di DEC (Digital Equipment Corpora- tion) e il progetto Athena al MIT (Massachusetts Institute of Technology). La prima versione (X11R1) uscì nel settembre del 1987. Dalla versione ufficiale no. 6 l'X Consortium, Inc. (dal 1996 The Open Group) si è incaricato dello sviluppo dell'X Window System. XFree86 TM è un'implementazione libera di X-Servers per sistemi PC-Unix (vedi http://www.XFree86.org); la XFree86 è la versione attuale; è stata svilup- pata e continua ad esserlo da programmatori sparsi in tutto il mondo, che nel 1992 si riunirono nell'XFree86-Team. Da questo gruppo nacque la ditta The XFree86 Project, Inc., fondata nel 1994, il cui scopo è mettere a disposizione l'XFree86 TM ad un vasto pubblico e di collaborare all'ulteriore ricerca e svi- luppo di X Window System; dal 1998, l'XFree86-Team, basandosi sulla ver- sione X11R6.3, continua ora a sviluppare in proprio l'X Window System. Dal marzo del 2000 è disponibile per il download la distribuzione XFree86 4.0 da http://www.XFree86.org. Come standard, SuSE Linux esce con XFree86 86 4.x. Qui alla fine troverete informazioni dettagliate sulle proprietà della nuova versione. Rigraziamo l'XFree86-Team per l'ottima collaborazione e per aver messo a di- sposizione le versioni beta senza cui questo documento1 e il CD accluso non avrebbero potuto venire presentati in questa forma. I seguenti capitoli trattano la configurazione dell' X-Server; si parla dei program- mi SaX2 2 e xf86config con cui è possibile eseguire una semplice configurazione dell'X Window System. SaX2 è per la configurazione di XFree86 4.x. SaX vie- ne usato per la configurazione di XFree86 3.3.x. Al contrario di xf86config i due versioni di SaX lavora direttamente assieme all'X-Server e può venire usato con il mouse: installate quindi con YaST il programma SaX (pacchetto sax, serie x o 1Parti di questa descrizione del sistema X11 sono state prese dal capitolo Configurare l'XFree86 da [HHMK96], messoci gentilmente a disposizione da Dirk Hohndel. 2SaX (ingl. S.u.S.E. Advanced X Configuration Tool) XFree86 4.0 rende inutile XF86Setup (pacchetto xfsetup, serie x). 127 5 Il sistema X Window SaX2 (pacchetto sax2, serie x), e i pacchetti dipendenti. Mentre XFree86 4.x ha tutti i drivers necessari già nel pacchetto di base, usando XFree86 3.3.x deve ve- nire installato il pacchetto xvga16) come pure ­ se conosciuto ­ specialmente l' X-Server adatto alla Vostra scheda grafica questi X-Server sono elencati nel- la serie xsrv (vedi sezione 3.5.3 a pagina 67). Se doveste aver dimenticato di scegliere un server, SaX se ne accorgerà, e farà installare tramite YaST un server adatto. XFree86 4.0 ha i drivers grafici già nella scelta di base. Per poter usare in maniera ottimale l'hardware a disposizione (scheda gra- fica, monitor, tastiera), si ha la possibilità di modificare manualmente la configurazione. Informazioni dettagliate riguardanti la configurazione dell'X Window System si trovano in diversi file nella directory /usr/share/doc/ packages/xf86 e naturlamente anche in pagina di manuale di XF86Config (man XF86Config). Attenzione La configurazione del sistema X Window deve venire eseguita con estrema accuratezza. X non deve venire inizializzato prima che sia terminata la con- figurazione. Un sistema configurato in maniera errata può causare danni irreparabili all'hardware; in pericolo sono soprattutto monitor a frequenza fissa. Gli autori di questo libro e la SuSE GmbH declinano ogni responsabilità per eventuali danni. Il presente testo è stato redatto e tradotto con la mag- giore accuratezza possibile. Non si può però escludere che i metodi qui presentati siano corretti e non causino alcun danno al Vostro hardware 5.2 La nuova versione 4.x di XFree86 Questa versione di SuSE Linux contiene l'attuale versione 4.x con XFree86, che si differenzia in alcuni punti dalla versione 3.3 fin'ora contenuta nei pacchet- ti. Nell'uso della superficie grafica ci sono per l'utente solo poche differenze, anche le applicazioni come per esempio il desktop grafico di KDE o GNOME continuano a comportarsi come nella versione 3.3.6 usata fin'ora. Quali vantaggi offre la nuova versione? Il nuovo X-server non è più un programma monolitico, bensì solo una struttura di base relativamente piccola in cui possono venire in seguito caricati (in caso di necessità) i moduli necessari dei programmi. Non ci sono quindi più (come nelle versioni precedenti) X-server supplementari per le diverse schede grafiche; ci sarà solo un programma eseguibile chiamato XFree86 che troverete nella di- rectory /usr/X11R6/bin. Questo è anche l'X-server vero e proprio. Il driver grafico che si incarica di indirizzare la scheda grafica è un modulo carcabile. Si procede in modo simile anche per il supporto di diversi input devices, fonts o protocolli X: qui si tratta di singoli moduli che possono venire caricati in seguito 128 5.2 La nuova versione 4.x di XFree86 dall'X-server. Generalmente non dovete romperVi il cervello riguardo a questi moduli; la configurazione dei moduli necessari al funzionamento della superficie grafica del Vostro computer, viene svolta completamente da SaX2. Grazie al concetto dei moduli, è molto semplice per il produttore, implementare un driver per hardware non funzionante come per esempio touchscreens o nuo- vissime schede grafiche. Gli sviluppatori hanno persino provveduto affinchè i moduli necessari per i diversi sistemi operativi possano venire messi a disposi- zione solo una volta; ciò significa che un modulo del driver grafico compilato per esempio sotto FreeBSD, può anche venire usato sotto Linux e viceversa. Questa portabilità è però limitata ad una sola piattaforma hardware; un modulo compilato per Linux su PowerPCs non può venire utilizzato su un PC Intel. Inoltre il supporto del maus è molto migliorato. Sopratutto "sotto pressione", la reazione del mouse ai movimenti è molto più veloce e diretta che con il pre- cedente XFree86 X-server. In generale è miglirata la rapidità dell'output, in genere le operazioni grafiche vengono eseguite più velocemente che con il vec- chio X-server (fatto dovuto alla rielaborata XAA (ingl. XFree86 Acceleration Architecture)). Rispetto a XFree86 3.3.x, il file di configurazione ha un formato un po' diverso. Se volete eseguire un "fine tuning" (una messa a punto finalizzata) del Vostro X-server, o se volete effettuare configurazioni speciali, troverete informazioni dettagliate nella sezione 5.6 a pagina 166 che si riferiscono alla struttura e al funzionamento del file di configurazione XFree86 che si trova in /etc/X11/ XF86Config. Anche il logging degli errori è migliorato: l'X-server crea un logfile molto dettagliato che dopo lo start troverete sempre nel file /var/log/ XFree86.0.log. Fra le caratteristiche della nuova versione, appartiene anche il supporto di opzio- ni speciali come per esempio True-Type-Fonts, la messa a disposizione dell'e- stensione del protocollo 3D glx, le correzioni gamma dello schermo e il suppor- to di più schede grafiche per configurazioni multihead. Sull'argomento vedi anche la sezione 5.6 a pagina 166. Cosa cambia? XFree86 4.0 si basa naturalmente sulla versione 3.3.x. Purtroppo, non si sono potuti portare tutti i drivers grafici, poichè alcuni di essi sono molto complessi e non possono venire portati sulla nuova architettura XAA. Se Linux ha sup- portato fin'ora queste schede grafiche, potete continuare ad usarle anche con la versione 3.3.x di XFree86. Per queste schede utilizzate la verione 3.3.6 di XFree86 contenuta in SuSE Li- nux; per la configurazione di queste schede grafiche potete continuare ad usare SaX. Si tratta qui di schede grafiche utilizzate fin'ora con i seguenti X-servers: XF86_S3, XF86_Mach8, XF86_Mach32 e XF86_8514. Ciò significa che tut- te le schede S3 che necessitavano del Server S3, non vengono supportate da XFree86 4.0: le schede S3 supportate fin'ora dal server SVGA funzionano an- che con XFree86 4.0. Nella maggior parte dei casi, si tratta di schede grafiche 129 5 Il sistema X Window con S3 Trio3D, Savage4, Savage3D e Savage2000 chips e quasi tutte le schede S3 Virge. Le schede grafiche che per il funzionamento hanno bisogno degli X-servers sopra citati (Mach8, Mach32 e 8514) non dovrebbero essere più tante. Per queste sche- de grafiche, come pure per le vecchie schede S3, continua ad essere disponibile XFree86 3.3.x. 5.3 Configurazione con SaX2 Il programma SaX2 (ingl. SuSE Advanced X Configuration Tool) serve per in- stallare comodamente l'X Window System. Si tratta di un successore del pro- gramma SaX. SaX è stato usato per la configurazione di XFree86 3.3.x, SaX2 viene ora adoperato per la configurazione di XFree86 4.x. Se il Vostro sistema è già stato impostato con l'X-server di XFree86 4.x, potete inizializzare direttamente SaX2. Se usate un X-server XFree86 3.3.x, allo start di SaX2 viene emessa una comunicazione con l'avviso che il sistema è stato impostato con XFree86 3.3.x e che perciò, per la configurazione si deve usare SaX: se ciò nonostante continuate, verrà impostato XFree86 4.x. A dire il vero, questo enunciato non è del tutto corretto: il sistema di base, cioè le libraries e i programmi di base di X11 provengono sempre da XFree86 4.x; vengono scambiati solo l'X-server e i programmi xinit e xf86config. Nota Come già descritto nella sezione 5.2 a pagina 128, non tutte le schede grafiche vengono supportate da XFree86 4.x: Per la loro configurazione usate SaX. Questo programma è descritto nella sezione 5.4 a pagina 148 SaX2 può venire usato sulla superficie grafica con il mouse o con la tastiera. A parte alcuni casi particolari (p.e. hardware molto nuovo o molto vecchio), il pro- gramma può riconoscere da sé i componenti usati e configurarli quasi completa- mente automaticamente; in questo modo, l'installazione di un X-server diventa molto semplice. 5.3.1 Prima installazione Alla prima installatzione dell'X Window System si dovrebbero conoscere alcune caratteristiche dell'assetto del computer: * il monitor usato (nome del prodotto, dischetto del driver o dati tecnici), * tipo di tastiera, * tipo di mouse e interfaccia a cui è collegato, * produttore e nome della scheda grafica. 130 5.3 Configurazione con SaX2 Nota Dovete inizializzare il programma SaX2 (sax2) come utente `root'. Potete iniziare SaX2 anche da YaST: `Amministrazione del siste- ma' e continuate con `XFree86[tm] configurare' (vedi sezione 3.7 a pagina 74). Il programma viene chiamato nella riga di comando con: terra:/root # sax2 Appena il programma è iniziato, un programma di aiuto appartenente a SaX2 e di nome sysp cerca prima le schede grafiche PCI e AGP già installate. Inoltre cerca di riconoscere la tastiera e il mouse. Dai dati ricevuti, viene composto un file di configurazione con cui viene inizializzato l'X-server. Per le schede AGP o PCI identificate, viene caricato subito il modulo adatto dell'X-server. SaX2 memorizza in un file le impostazioni trovate. Per "costringerlo" a rico- noscere completamente l'hardware, potete inizializzare SaX2 con l'opzione -f. Così viene nuovamente controllato l'hardware importante per X11. Configurazione automatica Se durante il PCI-Scan viene identificata inequivocabilmente la scheda grafica e se è disponibile un driver grafico, dopo, SaX2 cerca di riconoscere automatica- mente il monitor tramite DDC. Se ha successo, per il monitor viene impostata la risoluzione migliore; questa Vi viene mostrata nel box `Una prima pro- posta' e Voi potete confermare le impostazioni con `OK'. Fate attenzione che nella finestra di selezione ­ a sinistra vicino al tasto `OK' ­ sia selezionato anche `memorizzare'. Figura 5.1: SaX2: configurazione completamente automatica Nella finestra di selezione, oltra ad `OK' potete selezionare altri punti. Cliccate su `OK' dopo aver selezionato il punto desiderato. 131 5 Il sistema X Window * Prima di memorizzare la configurazione, tramite il punto `Aggiustare', potete adattare la schermata allo schermo. * SaX2 cerca di riconoscere completamente il Vostro hardware, ma per essere sicuri che la configurazione sia completa e giusta, potete controllare tutte le impostazioni di SaX2 e, se necessario, correggerle! Con il punto `Inizia- re SaX', potete chiamare SaX2 e modificarvi le impostazioni dell'X-server. Dovreste selezionare questo punto, anche nel caso che abbiate inserito più di una scheda grafica nel Vostro computer o se per esempio il mouse non funziona perfettamente. * `Interrompere' interrompe sax2. Nel caso che il mouse non sia configurato correttamente, avete anche la possibi- § ¤ lità di regolare il programma con la tastiera. Premendo più volte il ¦Tab ¥potete andare nei singoli input fields di una scheda. Per raggiungere le diverse sche- § ¤ de, premete il ¦Tab ¥ , finchè il titolo della scheda attuale è bordato in nero; potete § ¤ § ¤ quindi scegliere la scheda desiderata con i tasti del cursor § ¤ § ¤¦ ¥o ¦ ¥ : la scheda viene mostrata dopo aver confermato con ¦ ¥(= ¦Enter ¥ ). Avete inoltre la pos- § ¤ sibilità di usare SaX2 con un mouse "virtuale". Tenete premuto il tasto § ¤ ¦Shift ¥ e muovete la freccia del mouse verso destra con il tasto § ¤ § ¤ § ¤ § ¤ ¦L § ¥ , verso sinistra con il ¤ tasto ¦J ¥ , in giù con ¦K ¥e in sù con § ¦I ¥ . Con ¤ § ¦Shift ¤ ¥e ¦A ¥si ottiene un click con bottone centrale del mouse, ¦Shift ¥e ¦D ¥danno un click con il bottone destro del mouse. § ¤ Per selezionare una registrazione in una lista, premete il tasto § ¤ § ¤ ¦Tab ¥finchè il box in questione è bordato. Con ¦ ¥e ¦ ¥potete scegliere una registrazione che viene § ¤ marcata a colori; questa diventa attiva solo dopo aver premuto ¦ ¥ . Suggerimento § ¤ In SaX2 si trova un aiuto che potrete raggiungere premendo i tasti § ¤ § ¤ § ¤ ¦Ctrl ¥ + ¦F1 ¥o con¦Shift ¥+ ¦F1 ¥o con un click sul tasto centrale del mouse. In questo aiuto vengono nuovamente elencate tutte le combinazioni di tasti comprese da SaX2 e tutte le combinazioni per l'uso del mouse. Azionando il tasto centrale del mouse, arrivate ad un menu speciale in cui potrete vedere i files di protocollo degli errori dell'X-server, il ché può essere di molto aiuto per l'analisi degli errori. Una spiegazione del file di protocollo dell'X- server che viene registrato nel file /var/log/XFree86.0.log, si trova anche nella sezione 5.3.1 a pagina 146. ... e la configurazione manuale Dopo la selezione del punto `Iniziare SaX', appare il dialogo di saluto di SaX2 Dopo un breve momento, - SaX2 legge ancora un paio di files di dati - il programma è pronto. Potete selezionare uno dei due punti: `SaX attivare il modo autodetec- tion' o `Usare la configurazione esistente'. Sotto il punto `Usare 132 5.3 Configurazione con SaX2 la configurazione esistente' avete anche la possibilità di selezionare `Usare parti di questa configurazione'. In questo caso usate la con- figurazione esistente, ma potete modificare manualmente singoli componenti. Apparirà una finestra in cui potrete scegliere le selezioni che volete elaborare. Nota Con questo punto potete leggere solo i files di configurazione XFree86-4.0-, ma non quellidi XFree86 3.3. Figura 5.2: SaX2: dialogo di benvenuto Mouse Dopo un click su `Avanti' appare il dialogo di configurazione del mouse, ve- di figura 5.3 nella pagina seguente. Se il mouse non dovesse funzionare per- fettamente, potete naturalmente servirVi della tastiera anche in questo dialogo. § ¤ Per farlo cliccate più volte sul tasto ¦Tab ¥fino a ché il campo `Gerarchia del § ¤ mouse' è bordato di nero il ché significa che è attivato. Premete ¦Enter ¥e sotto `Produttore' e `Nome' selezionate il produttore e il tipo del Vostro mouse e § ¤§ ¤ confermate la scelta con `OK'. Con i tasti ¦ ¥e¦ ¥potete scegliere di volta in volta § ¤ un produttore o una denominazione di mouse e accettare la scelta con ¦Enter ¥ . Se il Vostro mouse non dovesse essere elencato in questa lista, potete anche eseguire la configurazione manualmente. Ritornate al dialogo `Impostazio- ni del mouse' e attivate il box di scelta `Protocollo' nel campo `Carat- teristiche del mouse'. Qui avete la possibilità di attivare o il campo di immissione stesso o la lista di scelta (il piccolo simbolo sulla destra del cam- § ¤ po d'immissione). Premete il tasto spazio (blank) ¦ ¥per chiamare la lista di 133 5 Il sistema X Window Figura 5.3: SaX2: Configurazione del mouse scelta. Alternativamente potete anche inserire direttamente nel campo di immis- sione la denominazione del protocollo X11 del mouse. Lo stesso procedimento potete usarlo sotto `Collegamento'. Qui dovete scegliere il device file sotto cui è raggiungibile il mouse collegato. Se prima avete configurato il mouse con YaST2, la scelta di /dev/mouse dovrebbe essere sufficiente, altrimenti potete cercare l'interfaccia adatta; nel box di scelta vengono proposte impostazionie assennate: /dev/psaux per mouses PS/2, /dev/ttySx per mouses seriali e /dev/usbmouse per mouses tipo USB e tipo ADB. Per avere una vista d'insie- me sui diversi tipi di mouse e la loro configurazione sotto X Window System, tenete presente la tabella 5.1. Protocollo usato Tipo di mouse PS/2 Mouse a 2 o 3 tasti all'interfaccia USB al collegamento mouse PS/2. IMPS/2 Mouse a rotellina con 3 o più tasti e con una o più rotelline scroll, collegato ad un'interfaccia USB o al collegamento mouse PS/2. Microsoft Mouses a 2 tasti e alcuni a 3 tasti, collegati all'interfaccia seriale. MouseSystems Mouses a 3 tasti all'interfaccia seriale. Intellimouse Mouse a rotellina a 3 o più tasti e una o più rotelline scroll collegato all'interfaccia seriale. Auto Riconoscimento automatico del mouse seriale collegato. Tabella 5.1: diversi mouses e i protocolli usati per i mouses Per le impostazioni speciali, date un'occhiata al menu `Esteso' in cui troverete 134 5.3 Configurazione con SaX2 due impostazioni particolarmente interessanti: l'attivazionie del terzo tasto del mouse per mezzo di `Estensioni' e il punto `Wheel mouse'. Se avete solo un mouse a due tasti, dovete attivare il punto Emulare 3 Tasti. In questo modo, premendo contemporaneamente i due tasti del mouse, potete simulrne il terzo. Se siete mancini e volete scambiare la successione dei tasti del mouse, potete farlo successivamente con l'X-server in funzione. Per farlo, non avete bisogno di alcune impostazioni speciali. Se volete usare la rotellina del Vostro "Intellimouse", dovete impostare su Buttons il punto Z Axis Mapping che si trova sotto Wheel Maus. Affinchè l'X-server "sappia" cosa fare con il movimento rotatorio della rotellina, dovete attribuire ad un tasto del mouse il `Movimento negativo' o `Movimento po- sitivo'. Poichè i tasti 1, 2 e 3 sono già stati usati per i normali tasti del mouse, attivate qui 4 o 5 per `Movimento positivo' o `Movimento negativo'. Per applicazioni X11 nell'X Window Systemgià configurato, usando il programma imwheel, (pacchetto imwheel, serie ap (Applicazioni che non necessitano di X11)), potete trasmettere i movimenti alla rotellina. A riguardo vedi anche la sezione 5.6 a pagina 166. Terminate questo dialogo selezionando il punto `Avanti'. Tastiera Come avrete già senz'altro indovinato, ora potete impostare la tastiera; vedi figura 5.4. Figura 5.4: SaX2: configurazione della tastiera Ora potete impostare la tastiera. La tastiera italiana "Win95" è (generalmen- te) una tastiera a 105 tasti, scegliete perciò sotto `Modello della tastiera' Standard 102 Key e sotto `Lingua usata' Italian. Se avete una tastiera 135 5 Il sistema X Window senza tasti "Windows", scegliete la tastiera di 101/102-tasti. Anche con un lap- top o con una tastiera speciale con più o meno tsti, potete scegliere la tastiera a 102 o 105-tasti, poichè i codici dei tasti generati corrispondono in quasi tutti i casi a quelli della tastiera PC standard. Dopo la configurazione della tastiera, usando il bottone `Avanti', potete chiamare il prossimo dialogo per la configurazione dei search paths. Ora potete modificare il search path dei sets dei caratteri e diversi "server flags". Per spostare in su o in giù una directory del set di caratteri, potete marcarla con il tasto sinistro del mouse e, tenendo premuto il tasto, spostare la riga in su o in giù trasferendo così nel search path questa directory in avanti o in dietro. Tramite i bottoni `Nuovo' e `cancellare' potete aggiungere o eliminare directories. Tenete presente che l'X-server ha almeno bisogno della directory con il set di caratteri "misc". Diversamente, se cercate di inizializzare l'X-server, riceverete una comunicazione d'errore dall'X-server stesso. Se volete integrare altri fonts nell'X Window Systemed elaborare testi in altre lingue, leggete la sezione 5.6.1 a pagina 170. Premendo sul punto `Avanti' potete lasciare questo dialogo. Ne appare uno che Vi richiede di configurare la scheda grafica. Configurazione della(e) scheda(e) grafica(grafiche) Figura 5.5: SaX2: Configurazione della(e) scheda(e) grafica(grafiche) SaX2 esegue uno scan del bus PCI e AGP e mostra le schede grafiche trovate nel campo `Gerarchia grafica'. Generalmente vedrete qui la Vostra scheda grafica. Tramite una banca dati che si trova in SaX2 viene scelto direttamen- te il modulo del driver adatto per XFree86 4.0 e indicato nel campo `Carat- teristiche grafiche' sotto Driver. Sotto `Memoria' potete assegnare la memoria video alla scheda grafica. 136 5.3 Configurazione con SaX2 Una novità di XFree86 4.x è quella di assegnare stabilmente ad un driver una scheda PCI o AGP in un determinato slot. SaX2 prepara l'attribuzione "driver a slot" e generalmente non si deve fare altro che accettarla. Come informazione, Vi viene indicato lo slot sotto `Bus ID'. Se un domani volete mettere la scheda grafica (PCI) in un altro slot, dovrete configurarla di nuovo poichè verrà mo- dificato il Bus ID. A questo riguardo potete mettere questo punto su Single, ma non usate questa impostazione se avete più di una scheda grafica nel Vostro computer. Suggerimento Schede grafiche ISA non possono venire riconosciute automaticamente. Devono venire configurate manualmente tramite `Scegliere il model- lo' o la scelta diretta del driver. In un computer si può usare al massimo una scheda grafica ISA. Sotto `Scegliere il modello' potete scegliere manualmente la scheda grafi- ca nel caso che non sia stata riconosciuta automaticamente. Cliccate su `Select model' e scegliete il porduttore e, sall'elenco, il tipo di scheda grafica. Suggerimento Se la Vostra scheda grfica PCI- o AGP non viene supportata da XFree86, c'è quasi sempre la possibilità di usare il "frame buffer driver". A riguardo vedi la sezione 5.3.3 a pagina 142. Se avete integrato più schede grafiche, potete configurare le altre cliccando sul prossimo simbolo della scheda grafica che si trova nella lista di scelta. Se si tratta di una scheda ISA (che non può venire riconosciuta automaticamente) po- tete, tramite il bottone `Nuovo', aggiungere un'altra scheda grafica e configurarla come la primaria cliccando sul simbolo nella lista di scelta. Sotto `Esteso' trovate altre impostazioni. Qui, sotto `Option', si possono con- figurare specialmente quelle opzioni che influenzano il comportamento del driver grafico come per esempio sw_cursor. Normalmente avrete bisognodi opzio- ni speciali, solo se potete vedere sullo schermo le riproduzioni degli errori A riguardo, vedi la sezione 5.3.3 a pagina 143. Configurazione del desktop Una volta terminata la configurazione della scheda grafica con un click su `Avanti', Vi viene offerta la possibilità di configurare lo schermo. In questo dialogo potete impostare il monitor usato, la risoluzione e la profondità di colore. Con la maggior parte delle schede grafiche, XFree86 4.x può richiedere da sé i dati del monitor DDC e proporli nel dialogo di scelta. Con un click sul pic- colo simbolo "+" vicino al monitor raffigurato, potete riconoscere se è riuscito 137 5 Il sistema X Window Figura 5.6: SaX2: Configurazione del monitor e del desktop il riconoscimento automatico. Nella lista vicino al Produttore e Nome, con- trollate se il monitor è stato "DDC-probed" con successo. Lì verrà indicato DDC-Probed. Se non riesce la determinazione automatica delle frequenze di deviazione del monitor permesse, potete anche disporre i dati manualmente. Per farlo, sceglieteil punto `Scegliere il modello'. Appare una lista di scelta (da esaminare) con la denominazione del produttore. Se scegliete un produttore, sulla parte destra vengono indicate le denominazioni dei modelli da scegliere. Selezionate qui il Vostro monitor e tramite `OK' laciate il dialogo. Se avete un moderno schermo piatto con display LC o se volete usare lo schermo del Vostro laptop, dovete selezionare il punto LCD (ingl. Liquid Crystal Display) nella lista di scelta dei monitors che si trova nella parte supteriore. In questo mo- do, la frequenza di deviazione viene limitata a 60 Hz, la frequenza di ripetizione ideale per displays LC. Se il Vostro monitor non è elencato nella scelta e il riconoscimento automatico non è riuscito, potete inserire i dati del monitor anche manualmente. Al propo- sito esistono due campi nella sezione `Perticolarità del monitor'. Qui potete impostare la frequenza di deviazione verticale ed orizzontale permesse. Questi dati sono normalmente elencati nel manuale del monitor nella sezione "Dati tecnici". Attenzione Siate particolarmente ESATTI nell'inserzione manuale della frequenza di deviazione permessa. In alcuni monitors, una frequenza di deviazione orizzontale troppo alta può portare ad una veloce distruzione del grado di deviazione orizzontale. 138 5.3 Configurazione con SaX2 Generalmente, sotto colori viene già proposta una risoluzione dello schermo e la profondità di colore. Se avete uno display TFT o uno piatto con display LC, fate attenzione a scegliere la risoluzione dello schermo adatta alla risoluzione del display, poichè altrimenti il quadro deve venire scalato. SaX2 è in grado di riconoscere la risoluzione di un TFT (collegato digitalmente) o di un display DSTN e generalmente Vi assegna la risoluzione del display. Alla scelta della profondità di colore, avete a disposizione le impostazioni 16, 256, 65535 e 16,7 milioni di colori con 24 und 32 Bit. Per ottenere una rappre- sentazione accettabile, dovreste impostare almeno 256 colori. Se però usate il driver VGA "generico" (nome del driver XFree86 vga, a volte anche nominato server VGA16), potete purtroppo raffigurare solo 16 colori. Con la targhetta `Esteso' potete eseguire altre impostazioni. Se desiderate una risoluzione insolita, potete scegliere qui la risoluzione desiderata. Qui potete an- che impedire che SaX2 calcoli i parametri della rappresentazione (Questo pun- to è denominato Calcola modelines). Se disattivate questo punto, vengono usati i modi VESA programmati nell'X-server che però sono limitati ad una frequenza di ripetizione dell'immagine di 75Hz (al massimo). Suggerimento Se allo start di SaX2 avete letto una configurazione già esistente, ven- gono presi i modelines di questa configurazione e non vengono calcolati nuovi parametri di raffigurazione. Se aggiungete un nuovo modo ad una configurazione esistente e non volete usare alcun modo VESA, dovete esplicitamente attivare il punto Calcola i modelines. Se usate solo una scheda grafica, premendo su `Avanti' si passa direttamente al test dell'X-server. Altrimenti potete determinare nel prossimo passo il layout del server. Layout Se avete integrato più di una scheda grafica, dopo la configurazione dello scher- mo potete definire la distribuzione dello screen. In questo dialogo potete cioè stabilire quale monitor rappresenta quale schermo e come devono essere disposti questi monitors (uno sopra l'altro o uno vicino all'altro). Conformemente ven- gono configurati l'X-server e il layout. Tramite l'impostazione Wenn Sie mehr als eine Grafikkarte eingebaut haben, können Sie nach der Bildschirmkonfigura- tion die Screen-Verteilung festlegen. Sie können also in diesem Dialog festlegen, `One Screen/Xinerama' unite i due schermi in un grande desktop. Questa im- postazione funziona solo se usati sui due schermi la stessa risoluzione e la stessa profondità di colori.. 139 5 Il sistema X Window Suggerimento Nel caso che usiate un "Multihead Setup", una configurazione cioè con 2 o più schermi, dovete disattivare Xinerama nella prima corsa; altrimenti al prossimo passo ricevete solo un dialogo di impostazione con cui potre- te configurare solo la prima scheda grafica. Disattivate perciò Xinerama durante la prima corsa ed attivatelo eventualmente più avanti. Provare la configurazione Se siete d'accordo, cliccate sull'`OK' del box di comunicazione. Dopo breve tempo dovrebbe apparire la finestra qui raffigurata. Figura 5.7: SaX2: prova della configurazione Nella metà destra trovate i due campi di tasti Dimensione e Posizione, che permettono di aggiustare l'immagine. I tasti delle frecce nel campo Dimensione per comprimere o allungare l'immagine in direzione orizzontale e verticale. Nel campo Posizione, viene modificata la lunghezza relativa dell'immagine sul monitor, Regolate l'immagine secondo le Vostre esigenze. Per controllare se l'immagine è ben rogolata, agli angoli del quadro del mo- nitor, si trovano piccoli quadrati. Se l'immagine è regolata perfettamente, essi dovrebbere essere rappresentati senza contraffazione di colore o deformazioni. 140 5.3 Configurazione con SaX2 Nota Se l'immagine di prova dovesse essere molto scura, potrete osservare una riga chiara ad un bordo dello schermo. Se in complesso l'immagine è troppo § ¤ § ¤ § ¤ piccola, premete subito la combinazione di tasti ¦Alt ¥+ ¦Ctrl ¥+ ¦ - ¥ . In questo modo ritornate al dialogo di configurazione del desktop di SaX2. Qui dovete diminuire le frequenze di deflessione del monitor permesse. Dopo aver corretto la posizione dell'immagine tramite le impostazioni di SaX2 o tramite le possibilità di modificazioni messe a disposizione dal monitor, potete terminare il dialogo del test. Scegliete qui: `Memorizzare': terminate la Vostra configurazione di X Window Systeme me- morizzate le impostazioni attuali. Ritornate a SaX2 questi Vi propone poi di lasciare il programma. La configurazione dell'X Window System- viene memorizzata nel file /etc/X11/XF86Config. Ciò significa che vie- ne creato un link /var/X11R6/bin/X che indica sul programma eseguibile /usr/X11R6/bin/XFree86. `Interrompere': con `Interrompere' ritornate ai dialoghi di configurazione di SaX2 senza memorizzare le impostazioni. 5.3.2 Riconfigurazione SaX2 Vi aiuta molto se volete adattare meglio una X-server ai Vostri desideri. Per farlo, potete chiamare direttamente SaX2 dall'X-server corrente. SaX2 leg- ge, se volete, il file di configurazione /etc/X11/XF86Config già esistente in cui l'X Window System memorizza ed analizza i dati di configurazione. In questo modo non è proprio necessario eseguire da sé tutte le impostazioni dal mouse al monitor, poichè SaX2 prende le configurazioni già esistenti e fun- zionanti dell'X-server. SaX2 mette questi dati a disposizione dei menu sopra descritti. Tenete presente che dovete appositamente selezionare la lettura della configurazione esistente. Ciò nonostante, l'utente ha tutte le libertà che vuole nella nuova imposta- zione della configurazione dell'X-server. SaX2 mette anche a disposizione una comoda superficie (raggiungibile tramite il dialogo `Desktop setup') per l'amministrazione della profondità dei colori e delle risoluzioni della scheda grafica. 5.3.3 Troubleshooting Questo capitolo vuole aiutarVi a configurare l'X-server nel caso che la superficie grafica non funzioni subito o che funzioni, ma la raffigurazione non sia perfetta. Vogliamo anche parlare dei problemi più grandi e più frequenti che possono subentrare alla configurazione di X con SaX2 141 5 Il sistema X Window La scheda grafica non viene supportata Uso del frame buffer Purtroppo, non per tutte le schede grafiche esiste un driver di Linux; può perciò succedere che dobbiate usare il seguente metodo. Questo metodo ha il vantaggio di funzionare con quasi tutte le schede grafiche moderne e praticamente con ogni laptop. La rappresentazione non è però acce- lerata, poichè, per mancanza del driver, si deve eludere il controller grafico della scheda grafica. Dopo che allo start del kernel ha cambiato nel modo grafico, l'X-server accede direttamente sul frame buffer. Il cambiamento avviene come segue: allo start, il kernel di Linux chiama - ancora prima di cambiare nel 2 Bit Protected Mode - il BIOS VGA della scheda grafica e gli "comanda" di cambiare in un determinato modo grafico VESA. La rappresentazione del testo (cioè la console di testo) avviene già in questo modo grafico impostato. Purtroppo, il BIOS VGA è scritto in un codice di 16 Bit e non può venire chiamato durante il sistema corrente di Linux: di conseguenza, questo modo video, definito già allo start del sistema Linux, rimane fino al logout. Ora, per poterlo usare, si deve avere nel kernel un appoggio per questo cosidetto VESA-Framebuffer e al boot si deve scegliere il modo grafico. Naturalmente, il kernel di SuSE Linux contiene il supporto per il VESA Framebuffer; al boot del sistema, dovete solo scegliere il modo grafico desiderato. Per farlo indicate il parametro vga=x al LILO boot prompt. Questo valore di x potete vederlo nella tabella 5.2. Profondità di colori desiderata Risoluzione in Pixels 640x480 800x600 1024x768 1280x1024 256 (8 bit) 769 771 773 775 32768 (15bit) 784 787 790 793 65536 (16bit) 785 788 791 794 16.7 Mill. (24bit) 786 789 792 795 Tabella 5.2: Possibili modi VESA Potete registrare questo parametro anche direttamente come parametro vga nel file /etc/lilo.conf. Ricordate di non prendere questo valore nella riga append, ma di scriverlo direttamente come vga=x nel file di configurazione. L'installazione di LILO è descritta dettagliatamente nella sezione 4.4 a pagina 97. Dopo lo start del sistema Linux, fate il login al sistema come utente root e inizializzate SaX2 come segue: terra:/root # sax2 -m 0=fbdev Tenete presente che 0 è uno "zero" e non una "O" maiuscola. Questo ordina all'X-server di usare il driver per il framebuffer. Poichè la riso- luzione, la profondità di colore e la frequenza di ripetzione dell'immagine sono configurate stabilmente, - nel caso siate soddisfatti delle impostazioni della ta- stiera - potete far memorizzare a SaX2 i dati automaticamente rilevati e uscire da SaX2. 142 5.3 Configurazione con SaX2 Uso del server VGA16 Se la Vostra scheda grafica non conosce modi VESA o se si tratta di una scheda ISA, potete anche usare il successore del server VGA16, il modulo vga; questo Vi viene anche proposto se il driver grafico non può ve- nire determinato automaticamente. In SaX2 scegliete, sotto `Configurazione della scheda grafica' e qui sotto `Driver', il driver vga. Naturalmente più avanti, sotto `Desktop', potete selezionare solo una risoluzione di 640x480 Pixel con 16 colori (profondità di colore 4 Bit). Se la Vostra scheda grafica supporta il frame buffer VESA, non dovrebbe essere necessario l'uso del driver vga, poichè esso permette solo una risoluzione di al massimo 640x480 Pixel. Per usare il driver standard vga già allo sart di SaX2 digitate il seguente comando: terra:/root # sax2 -m 0=vga Poichè questo parametro determina solo quale X-server debba usare SaX2 du- rante la configurazione, può essere bene (con una scheda grafica supportata da XFree86), inizializzare l'X-server con questa opzione. Con certe schede grafi- che un po' "bizzarre", se avete un modulo driver "normale", può darsi che sia necessario l'uso di una opzione speciale nel file di configurazione. Inizializza- te la configurazione con il modulo vga e nel menu `Esteso' del dialogo delle `Schede grafiche', selezionate l'opzione necessaria per il modulo del driver "normale". Scelta del mouse direttamente allo start di SaX2 Se SaX2 non riconosce automaticamente il mouse, c'è la possibilità di defini- re il mouse direttamente allo start di SaX2 e di evitare così il riconoscimento automatico del mouse. Per farlo potete determinare tramite due righe dei para- metri di comando il protocollo usato dal mouse e l'interfaccia. Per determinare il protocollo usato, adoperate il parametro -t e per determinare il device file del mouse, usate il parametro -n. Nel seguente esempio viene impostato l'uso di un Intellimouse al PS/2 Port del computer: root@terra:/root > sax2 -t imps/2 -n /dev/psaux Per i protocolli disponibili, tenete presente la tabella 5.1 a pagina 134 nella se- zione 5.3.1 a pagina 133 e la manpage per il file di configurazione dell'X-server XF86Config. L'immagine non è corretta Questa sezione vuole chiarire i possibili errori di un X-server in funzione e pre- sentare anche gli aiuti possibili. dopo la configurazione con SaX2 la rappre- sentazione grafica è generalmente corretta ma specialmente con l'uso di deter- minate schede grafiche subentrano errori di rappresentazione che possono ve- nire corretti con un'opzione nel file di configurazione /etc/X11/XF86Config dell'X-server. A volte questi errori di configurazione, sono dovuti a limitazioni dell'hardware, specialmente se la scheda grafica usa memorie DRAM di poco prezzo può suc- cedere che non si sufficiente la velocità della memoria per alte risoluzioni con 32 bpp e un'alta rata di ripetizione dell'immagine. 143 5 Il sistema X Window A volte possono "vendicarsi" anche le impostazioni BIOS ottimizzate: a Linux o allX-server, non "piace" l'impostazione del BIOS Video memory cache mode offerta da alcune nuove versioni BIOS. Nel modo di testo funziona tutto; eviden- temente però il chip set del computer "ottimizza" anche gli accessi ai registri input/output della scheda grafica il ché, allo start dell'X-server, porta a immagi- ni completamente rovinate con colori sbagliati e a volte al completo arresto del sistema. Se l'X-server non parte, dipende quasi sempre da un errore logico o di sintassi nel file di configurazione /etc/X11/XF86Config, può anche darsi che nel file di configurazione non venga trovato l'hardware impiegato nel computer. Analizzate il file di protocollo dell'X-server e leggete anche la sezione 5.3.3 nella pagina successiva. EccoVi in seguito un elenco degli errori più comuni e le possibilità di correggerli tramite il file di configurazione. * La causa principale di molti problemi di raffigurazione, è la frequenza vsync troppo alta. Poichè hsync e DotClock ne dipendono linearmente, ne risultano anche i problemi maggiori. Una riduzione della frequenza di ripetizione dell'immagine a per esem- pio80 Hz dà un'immagine quasi sempre stabile e più chiara di una con p.e. 160 Hz. Con una frequenza di ripetizione dell'immagine di 80 Hz il tatto pixel è solo la metà di un tatto pixel con 160 Hz. Provate perciò a diminuire la frequenza di deflessione verticale usata. Per far- lo selezionate il dialogo `Desktop' sotto SaX2, e impostatevi la frquenza di deflessione minore possibile. Negli schermi moderni, la frequenza migliore di ripetizione dell'immagine, è fra gli 80 e i 90 Hz. * A volte ci sono anche problemi con l'"hardwarecursor": invece del cur- sor del mouse, viene raffigurato qualche cosa come un blocco rettango- lare o che assomiglia ad un "bar code". Rimedio provato: impostare l'Opzione "sw_cursor" nella Sezione "Device". * Cenni sulla configurazione e primi punti di riferimento in caso di pro- blemi: files README ­ divisi per produttori di chip sets ­ nella directory /usr/X11R6/lib/X11/doc/, le manpages sugli X-Servers, naturalmente l'FAQ su XFree86 (http://www.xfree86.org) e le pagine di SuSE per gli updates: http://www.suse.de/de/support/xsuse/ La seguente tabella è disposta secondo le probabilità; cioè generalmente si ha già successo con il primo, ma al più tardi con il secondo passo. Il punto 3 descrive il metodo brutale ;-) Di fatto, tutte le opzioni vengono registrate nella section device del file /etc/ X11/XF86Config eingetragen. * Nessun cursor del mouse, ma bar-code o rettangolo a colorato. 1. Opzione sw_cursor nella section device. 144 5.3 Configurazione con SaX2 2. Opzione no_imageblt o no_bitblt. 3. Opzione noaccel. * Immagine troppo lunga o tozza. Le possibili impostazioni del monitor sono già al limite. 1. Probabilmente l'impostazione della frequenza di ripetizione dell'imma- gine o della frequenza hsync sono troppo alte e al limite del monitor. Rimedio: ridurre le frequenze vsync- e/o hsync. 2. Spostare l'immagine con il programma xvidtune. Probabilmente questo modo non è proprio del tutto adatto. 3. appendere il parametro +hsync +vsync al modeline e provare a rimpiazzare + con -. * Nello spostare le finestre, rimangono striscie, resti di finestra o altri frammenti che non spariscono al termine dello spostamento. Scompaiono solo dopo un refresh. 1. Ridurre la frequenza di ripetizione dell'immagine o la risoluzione. 2. A seconda del chip set aggiungere le opzioni relative dai fi- les README in /usr/X11R6/lib/X11/doc/, per esempio l'opzione fifo_conservative o slow_dram. Attenzione: questo dipende dal chip set grafico! 3. Opzione noaccel, eventualmente basta già no_imageblt o no_bitblt. * "Noise" ­ Disturbo del quadro nello spostamento delle finestre o nel guardare videos; questi diturbi scompaiono se il contenuto è statico. 1. Ridurre la frequenza di ripetizione dell'immagine o la risoluzione. 2. Ridurre il tempo di memorizzazione della scheda, togliere o aggiungere waitstates. Funziona a volte con set_mclk (non con tuttii chip sets!). Per dettagli vedi nella directory README. Attenzione, questa opzione è pericolosa (la frequenza può venire superata). d 3. Eventualmente anche il tatto del bus è troppo veloce. Controllare il tatto del bus PCI/VLB o ISA-Bus. * Allo start di XFree86 lo schermo diventa nero. 1. Ridurre la frequenza di ripetizione dell'immagine. 2. Controllare le impostazioni del BIOS del computer. Disattivare tut- te le "impostazioni di ottimizzazione" del BIOS. Se necessario, con- sultate il manuale del Vostro mainboard. Problemi possono venire dalle opzioni Video memory cache mode, AGP Aperture size e da tutte le opzioni che regolano l'accesso al bus PCI, per esempio PCI Peer concurrency o simili. Trovate sempre queste impostazioni in un menu denominato Advanced Chipset Features. 3. Tenete presente altre fonti di errori: controllate che il sistema non abbia conflitti IRQ (per esempioil mouse PS/2 necessita di IRQ 12). 145 5 Il sistema X Window 5.3.4 Il log file dell'X-Server Per analizzare i problemi dell'X-server avete a disposizione anche il file di pro- tocollo (molto dettagliato) creato dall'X-server al momento dello start. Que- sto file viene creato dall'X-server di XFree86 4.0 secondo il seguente tipo /var/log/XFree86.Display.Screennummer.log. Se inizializzate corret- tamente un X-server (dovrebbe essere il caso normale) e mettete a disposizio- ne questo numero di display "0", il nome di questo log file sarà normalmente /var/log/XFree86.0.log. Tenete presente, che in questo caso SaX2 rappre- senta un'eccezione: qui corrono almeno temporaneamente zwei X-server, uno (display :0) per i dialoghi di configurazione e un secondo (Display :1) per provare le impostazioni. ricordate che il formato di questo file confronto ad XFree86 3.3.x è notevolmente cambiato. Ora viene chiaramente differenziato fra comunicazioni, valori presi dal file di configurazione, dati provenienti dall'hardware del computer come pure avvertimenti ed errori. Nel programma SaX2 avete accesso la file di protocollo dell'X-server tramite il tasto centrale del mouse. Qui i relativi tipi di comunicazioni (errori, avverti- ment, informali etc.) vengono vengono rilevate a colori. In questo modo potete riconoscere velocemente il problema nel caso che l'X-server non parta. Generalmente, l'inizio di un tale file di protocollo è come in 5.3.1. XFree86 Version 4.x / X Window System (protocol Version 11, revision 0, vendor release 6400) Release Date: 8 March 2000 If the server is older than 6-12 months, or if your card is newer than the above date, look for a newer version before reporting problems. (see http://www.XFree86.Org/FAQ) Operating System: Linux 2.2.13 i686 [ELF] SuSE Module Loader present (==) Log file: "/var/log/XFree86.0.log", Time: Sat May 20 13:42:15 2000 (==) Using config file: "/etc/X11/XF86Config" Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (??) unknown. (==) ServerLayout "Layout[all]" (**) |-->Screen "Screen[0]" (0) (**) | |-->Monitor "Monitor[0]" file 5.3.1: Estratto dal file di protocollo dell'X-server Da ciò potete già apprendere le seguenti cose: Si tratta di un X-server XFree86 nella versione 4.0, compatibile con X11R6.4 "vendor release 6400". La data della versione è l'8. marzo 2000. La ri- ga Operating System: Linux 2.2.13 i686 [ELF] SuSE si riferisce al sistema su cui è stato compilato l'X-server. La versione del kernel e la denominazione CPU si può quindi distinguere dal Vostro sistema. Dopo queste comunicazioni sulla versione, appaiono anche già le prime regi- strazioni log create allo start dall'X-server. Si tratta del log file giusto (vicino 146 5.3 Configurazione con SaX2 a Time: viene registrato quando) per cui è stato creato il file di protocollo? A volte si cerca nel file di protocollo sbagliato. ;-) Lo stesso vale per il file di configurazione, se nella riga di comando non avete preimpostato un altro file, in un normale sistema SuSE Linux avrete qui sempre /etc/X11/XF86Config. La seguente tabella 5.3 spiega il significato dei due segni fra parentesi che si trovano all'inizio delle ulteriori righe: Segni Significato (==) Preconfigurazioni dell'X-server (- -) Valori presi dal sistema tramite l'esame dell'hardware. (**) Impostazioni definite nel file di configurazione. (++) Parametri registrati nella riga di comando. (!!) L'X-server Vi comunica in dettaglio cosa sta "facendo". (II) I numeri delle versioni dei moduli dell'X-server vengono registrati come "informational messages" informazioni. (WW) Avvisi: qui l'X-server comunica perchè non esegue determinate co- se indicate nel file di configurazione o che devono venire attivate per default. (EE) Errore! Queste comunicazioni portano all'interruzione del procedi- mento di start o dell'X-server. Se il server non viene inizializzato, fate attenzione alle righe nel file di protocollo che cominciano con (EE). Potrete eliminare da voi stessi la maggioranza di questi errori in base a queste informazioni. Tabella 5.3: tipi di comunicazioni nel file di protocollo dell'X-server Premendo il tasto centrale del mouse, potete controllare il file di protocollo anche nel programma di configurazione SaX2 Errori e avvisi dell'X-server vengono rilevati a colori. Questo file viene indicato se l'X-server, che viene chiamato da SaX2 per ragioni di prova, non parte o si interrompe con un errore. Se allo start di SaX2 o se nei punti di configurazione succede qualcosa di im- previsto, tutti gli errori e i punti che riguardano SaX2 vengono registrati nel file /var/log/SaX.log. Gli errori dell'X-server vengono protocollati, come già sopra citato, nel file /var/log/XFree86.0.log. In base a questi files potrete vedere come procedere. 5.3.5 Start dell'X Window System L'X Window System può ora venire inizializzato da ogni utente con startx. Viene messa a disposizione una superficie grafica (con l'utente-esempio) per il Win- dowmanager fvwm. È quindi consigliabile chiamare startx da questo account - e NON come `root'. Nei files ~/.X.err e in /var/log/XFree86.0.log vanno gli output degli errori del sever X11. La chiamata startx capisce alcune opzioni; in questo modo, per esempio con: tux@terra: > startx -- -bpp 16 147 5 Il sistema X Window si può scegliere una profondità di colore di 16 Bit. 5.4 Configurazione tramite SaX Potete usare SaX (ingl. SuSE Advanced X Configuration Tool) per configurare XFree86 3.3.x. Se avete già impostato l'uso di XFree86 4.0, alla chiamata di SaX apparirá una nota con la comunicazione che il sistema usa XFree86 4.0 e Voi dovrete perciò usare SaX2 per la configurazione della superficie grafica. Se ciò nonostante continuerete, il Vostro sistema viene configurato per l'uso di XFree86 3.3.x. In questo caso, vengono cambiati alcuni links per inizializzare in futuro XFree86 3.3.x. Nota Dovete inizializzare il programma SaX come utente `root'. Potete lanciare SaX anche da YaST: `Amministrazione del Sistema' e poi `XFree86[tm]' (vedi sezione 3.7 a pagina 74) . Il programma viene chiamato nella riga di comando con: terra:/root # sax Una volta inizializzato il programma, vengono cercate le schede PCI instal- late; appena è stata trovata una scheda grafica PCI, essa viene identificata e visualizzata nel programma sotto `Card'. Dopo il PCI-Scan viene aperta la finestra principale, in cui vengono rappresen- tate le maschere per il mouse (`Mouse'), la tastiera (`Tastiera'), la scheda gra- fica (`Scheda grafica'), il monitor (`Monitor') e la superficie dello schermo (`Schermo'); dopodichè SaX carica i dati dell'hardware che ha riconosciuto. Potete già cominciare a configurare il Vostro mouse. I dati trovati durante il con- trollo del sistema vengono rappresentati sotto i rispettivi punti: troverete p.e. il tipo della scheda grafica sotto la maschera `Scheda grafica'. SaX cerca di riconoscere completamente il Vostro hardware, ma per essere sicuri che la configurazione sia completa e giusta, dovete in ogni caso controllare tutte le impostazioni di SaX e se necessario correggerle! Per farlo, il programma Vi mette a disposizione cinque maschere, e cioè `Mouse', `Tastiera', `Scheda video', `Monitor' e `Schermo' che sono raggiungibili con un semplice clic sul titolo corrispondente. Se il Vostro mouse non è ancora configurato, potete in alternativa raggiungere i § ¤ § ¤ menu con la tastiera. Premendo più volte il tasto ¦Tab ¥(= ¦Tab ¥ ), potete raggiun- gere i singoli campi di registrazione di una maschera. Per raggiungere le diverse § ¤ maschere, premete § ¦Tab ¤ §¥finchè il titolo della maschera sia incorniciato in nero; ¤ dopodichè, con ¦ ¥o ¦ ¥potrete scegliere la maschera desiderata, che verrà vi- § ¤ § ¤ sualizzata dopo aver premuto ¦ ¥(= ¦Enter ¥ ). Su ogni maschera si trovano più elementi come p.e. bottoni, menu di scelta e campi d'inserzione. Anche questi possono venire raggiunti con la tastiera. Per raggiungere un bottone, p.e. `Ap- § ¤ ply', premete ¦Tab ¥finchè il bottone abbia un bordo nero. Per attivarlo, premete 148 5.4 Configurazione tramite SaX § ¤ § ¤ § ¤ ¦spazio ¥ . Se si preme a bottone selezionato § ¤ ¦ ¥o ¦ ¥l'azione desiderate viene eseguita. Con ¦F10 ¥avete accesso alla barra dei Menu. § ¤ Per selezionare una registrazione in un menu a discesa premete § ¤ § ¤ ¦Tab ¥finchè la voce sia evidenziata in nero. Con § ¤ ¦ ¥e ¦ ¥potete scegliere una voce, che può venire attivata con ¦Enter ¥ . Il mouse La maschera `Mouse' è la prima che appare dopo lo start del programma (figura 5.8). Figura 5.8: SaX: Impostazioni del mouse Se durante la prima installazione di Linux avete già configurato il Vostro mouse, p.e. durante l'impostazione di gpm, SaX userà questi dati e il mouse sarà subito a Vostra disposizione anche sotto X Window System. Se però non avete ancora configurato il Vostro mouse, è ora di farlo. Premete § ¤ § ¤ § ¤ due volte ¦Tab ¥e, fra i `produttori' selezionate il mouse giusto (con § ¤ ¦ ¥e ¦ ¥ scorrere la lista); con § ¤ ¦Enter ¥viene configurato il produttore da Voi selezionato. Con ¦Tab ¥andate all'elenco del `Modello' e scegliete il tipo giusto di mouse. Premendo il bottone `Usare', potete controllare se la Vostra scelta era quella giusta. Dopo di che dovrebbe essere possibile muovere il puntatore del mouse. Se non sapete esattamente che tipo di mouse avete, o se non è nell'elenco e non funziona con un mouse seriale `Microsoft' del tipo `Standard Mouse', sce- gliete il sottomenu `Esteso' per stabilire direttamente un protocollo del mouse. Lì si possono configurare altre opzioni come per esempio baudrate e "l'emula- zione dei 3 tasti". Nel sotto-menu `Esteso' avete a disposizione le seguenti maschere: 149 5 Il sistema X Window Figura 5.9: SaX: Configurazione estesa del mouse `Driver': qui si può stabilire direttamente il `Protocollo' del mouse nel caso che il produttore sia sconosciuto. Si può anche selezionare il fi- le del dispositivo. Per un bus-mouse dovreste provare la variante PS/2 corrispondente. `Proprietà': stabilire le impostazioni dettagliate (p.e. il tempo di reazione del mouse). `Opzioni': emulazione di 3 tasti, etc. `Prova': potete controllare la configurazione del mouse (figura 5.9) nella par- te inferiore della finestra contenente un mouse simbolico, nell'ambito del `Campo di prova'. Se la configurazione è giusta, premendo i tasti del mouse, "lampeggiano" i tasti del mouse simbolico. La tastiera Come tastiera è impostata come standard una Windows 95-Keyboard con la configurazione Italiano. Se doveste avere un'altra tastiera, dovete esegui- re qui le impostazioni giuste, poichè la tastiera è una delle poche componenti dell'hardware che non vengono automaticamente impostate. Confrontando la Vostra tastiera con quella visibile sullo schermo `Keyboard model', sotto `Selezione Modello', potete facilmente configurare il modello da Voi voluto. Non dimenticate di scegliere come lingua `Italiano', sempre che questo non sia già avvenuto. Vicino al pulsante `Cancellare' ci sono due campi di prova in cui esaminare le impostazioni della tastiera premendo diverse lettere e segni ­ non dimenticate gli accenti! `Eliminate Dead Keys' serve nelle tastiere tedesche, per far sì che tutti i caratteri sulla tastiera ­ anche p.e. ' ' ­ vengano rappresentati sotto X. Probabilmente non avrete bisogno di impostazioni in `Esteso'. . . Anche qui, tramite il bottone `Apply', si attivano le modifiche. 150 5.4 Configurazione tramite SaX Figura 5.10: SaX: tastiera La scheda grafica Sulla maschera `Scheda grafica' possono venire selezionati dalla lista di si- nitra i costruttori e, da quella di destra i rispettivi modelli (vedi figura 5.11 nella pagina successiva). SaX cerca di riconoscere la scheda grafica, cosa che in generale per le schede grafiche PCI riesce facilmente. Per questo il pro- gramma usa una banca dati hardware molto ampia, raggiungibile anche sotto http://cdb.suse.de/ . L'hardware rilevato viene marcato a colori. Nota Talora esistono diverse "revisioni" di una scheda grafica che hanno la stes- sa denominazione del tipo, ma con hardware modificato (altri Ramdac). In questo modo, può succedere che SaX indichi dei valori diversi da quelli del manuale della scheda grafica. In un tale caso, si devono registrare le indi- cazioni del manuale del produttore dell'hardware. A riguardo selezionate il tasto `Esteso'. Nel bottone `Esteso' si trovano le opzioni di adattamento avanzate (figura 5.12 a pagina 153). Queste vengono usate nel caso ch scegliate direttamente il ser- ver X (`Impostazioni del server'), che vogliate specificare la dimensione della memoria sulla scheda grafica, cioè il valore Ramdac, o che vogliate im- postare individualmente per la Vostra scheda grafica, un chip Ramdac o clock (sotto `Chip sets'). Abbassate il valore Ramdac se avete raffigurazioni errate p.e. quando spostate una finestra. Alcune schede grafiche necessitano di speciali `Opzioni' che hanno si trovano nel menu esteso; per un caso standard, questo punto non è necessario. 151 5 Il sistema X Window Figura 5.11: SaX: scheda grafica Suggerimento Schede ISA non vengono riconosciute "automaticamente"; per queste si deve scegliere "manualmente" il server adatto. Se alla scelta della Vostra scheda grafica leggete la comunicazione d'erro- re "The SVGA server is not installed...(Il server SVGA non è installato...)", dovete postinstallare, tramite YaST, il pacchetto indicato nella comunicazione d'errore (vedi sezione 3.5 a pagina 66). Il monitor L'ultimo grande ostacolo per avere un X server funzionante è la configurazione del monitor: anche qui si può selezionare nella lista di sinistra, sulla masche- ra `Monitor', il produttore del monitor. Con un clic del mouse è possibile scegliere il proprio modello nell'elenco di destra. Se il proprio modello non dovesse trovarsi nella lista, premendo il bottone `Esteso', possono venire im- postate manualmente le frequenze orizzontali e verticali specifiche del monitor; generalmente queste si trovano nel Vostro manuale del monitor. Se non avete alcun dato riguardante il monitor, SaX regola in modo standard le frequenze orizzontali di 29-61 kHz e quelle verticali di 60-70 Hz: per la maggioranza dei monitor questi valori non sono dannosi. Se allo start dell'X server lo schermo rimane scuro o trema, interrompete subito § ¤ § ¤ § ¤ il server con ¦Ctrl ¥+ ¦Alt ¥+ ¦ - ¥,altrimenti il monitor può venire seriamente danneggiato. 152 5.4 Configurazione tramite SaX Figura 5.12: SaX: Scheda grafica ­ maschera "esteso" Lo schermo Una volta installata con successo la scheda grafica avete a disposizione una quan- tità di opzioni sulla risoluzione e la profondità di colore; queste opzioni possono venire gestite nel menu `Schermo', (Figura 5.13). La scheda dello `Schermo' potrebbe eventualmente ricordarVi altri sistemi operativi;-) . Figura 5.13: SaX: superficie Nella maschera `Schermo' potete scegliere la risoluzione ( `Risoluzioni') e la profondità di colore (`Colori') 153 5 Il sistema X Window Se per una determinata profondità di colore volte configurare un elenco con più risoluzioni, potete farlo nel modo esperto (`Esteso', figura 5.14): Figura 5.14: SaX: superficie `Risoluzione': Questa scheda si suddivide nei campi: `Possibili' risoluzioni. `Attuali' risoluzioni. `Colori' La profondità di colore. Fra l'`Actual resolution list' e la lista `Deleted resolution', nella serie verticale di bottoni, si può selezionare la profondità di colore. L'X-server può partire con diverse profondità di colore; p.e. nella profondità di 8 bit, il che significa che possono venire rappresentati allo stesso tempo 256 color. Per ogni singola profondità di colore, sono possibili diverse riso- luzioni dello schermo, p.e. la risoluzione 800x600. Non tutte le risoluzioni sono disponibili in tutte le profondità di colore. Con alcune schede, è im- possibile avere 1600x1200 pixel con una profondità di 32 bit, poichè la maggioranza delle schede grafiche non hanno sufficiente memoria. Con una profondità di colore di 8 bit si hanno a disposizione diverse riso- luzioni registrate nell'`Actual Resolution List' , p.e. da 1600x1200 fino a 640x480. Durante l'attività, queste risoluzioni possono venire cam- § ¤ § ¤ § ¤ § ¤ § ¤ biate nella sequenza della lista tramite ¤ § ¤ § ¤ ¦Ctrl ¥+ ¦Alt ¥+ ¦+ ¥o ¦Ctrl ¥+ ¦Alt ¥+ § ¦- ¥(Per ¦+ ¥o ¦- ¥si devono usare i tasti del tastierino numerico!). La prima registrazione nella lista è sempre quella con cui si avvia l'X server. La sequenza delle registrazioni nella lista può venire modificata con i tasti freccia nella parte sottostante della finestra della lista. Per farlo, si seleziona la registrazione che si desidera rimuovere e si preme con il tasto sinistro del § ¤§ ¤ mouse sulla freccia ¦ ¥e¦ ¥facendo ciò, la registrazione cambia il suo posto con la registrazione precedente o quella seguente. 154 5.4 Configurazione tramite SaX Se esiste una risoluzione che non si desidera mai usare, perchè p.e. il monitor sarebbe sovracarico, la si può togliere per sempre dalla lista delle modalitá di- sponibili. Selezionate la modalitá da cancellare e premete il bottone `Dele- te': con ciò la modalitá appena tolta viene messa nella lista delle `Deleted resolutions' e diventa inattiva. Se doveste poi avere bisogno della risoluzione cancellata, selezionatela nel- la lista `Deleted resolutions', fate un click sul bottone `Insert': la risoluzione si ritroverà nella lista `Actual resolution' e potrà venire attivata. Se siete soddisfatti delle Vostre impostazioni con la profondità di colore a 8 bit, tramite i bottoni a destra vicino all'`Actual resolution list', potete configurare una nuova profondità di colore p.e. con 16 bit. Ora ve- drete nell'`Actual resolution list' le possibili risoluzioni per questa gamma di colori, che potrete modificare come sopra descritto. `Risoluzione virtuale': su questa maschera si possono eseguire le impo- stazioni per la grandezza virtuale dello schermo; se desiderate veramente avere un'area virtuale dello schermo, si devono alzare i valori in `Virtuale X' (= larghezza) o `Virtuale Y' (= altezza) ­ generalmente però ciò non è gradito! Sottofondo: l'X Window System offre la possibilità di definire una grandezza virtuale del desktop. In questo modo si può lavorare su un desktop più grande dello schermo visibile, p.e. con una grandezza dello schermo di 1152x864 e con una risoluzione di 800x600. `Particolari': questa scheda permette di creare una propria risoluzione. Inoltre si può lì definire la `Qualità' delle "Modelines". Ora dovreste stabilire con quale densità di colori deve partire, come standard (in- gl. default), l'X-Server. Per farlo, dovete scegliere sulla scheda dello `Scher- mo' la densità desiderata (via `Colori'). Fatto questo, selezionate il bottone `configurare l'attuale modo', per iniziare uno start dell'X-Servers. . . Fare il test della configurazione Dopo un breve tempo in cui il computer esegue i suoi calcoli, appare una masche- ra con il testo `Attempting to start server (prova fare lo start del server)': fate un click su `OK'. Dopo di ciò dovrebbero apparire lo scher- mo di sottofondo e una finestra divisa in due parti, nella sinistra della quale ap- paiono alcune informazioni riguardanti la risoluzione e la frequenza orizzontale o verticale. Nella parte destra si trovano due campi con tasti, `Change size' e `Change position', che permettono di ottimizzare il quadro. Con il bottone `Change size' si può espandere e comprimere il quadro orizzontalmente e verticalmente, `Change position' modifica la relativa posizione del quadro sul monitor. Con essi dovreste poter aggiustare il quadro a seconda dei Vostri desideri. Per controllare se il quadro sia ben impostato, si trovano ai quattro lati del quadro del monitor piccoli quadrati. Se la posizione del quadro è ottimizzata, questi devono essere completamente visibili e senza distorsione di colore. 155 5 Il sistema X Window Suggerimento Con SaX è però possibile avere solo la regolazione fine del quadro del monitor, non può sostituire la regolazione manuale con i tasti del monitor! Con SaX si può solo avere l'aggiustamento fine del quadro del monitor; essa non può sostituire l'aggiustamento manuale con i tasti del monitor! Dopo l'esecuzione giusta della configurazione del quadro, avete tre possibilità di chiudere la finestra: `Save and exit': terminate la Vostra configurazione X Window System e memorizzate l'impostazione attuale. In questo modo ritornate alla riga di comando. `Back to sax': se non siete contenti delle Vostre impostazioni e volete ritornare a SaX. § ¤ § ¤ Se necessario, per tornare sulla prima console, premete ¦Alt ¥+ ¦F1 ¥ . 5.4.1 Configurare di nuovo SaX Vi aiuta ad adattare meglio l'X server. Per farlo SaX legge l'/etc/XF86Config, in cui l'X Window System memoriz- za i dati di configurazione e li carica. Grazie a questo, non è proprio necessario fare da se tutte le configurazioni dal mouse fino al monitor, poichè SaX prende l'attuale e funzionante configurazione dell'X server. SaX mette a disposizione questi dati sulle maschere sopra descritte. Tuttavia l'utente ha il completo controllo sulla configurazione dell'X server: dal- l'ampia banca dati del monitor, egli è in grado di cercare il suo modello, adat- tare meglio la Sua configurazione alle possibilità del monitor ed aggiustarne il quadro. SaX gli mette inoltre a disposizione una comoda finestra per l'amministra- zione della quantità di colori e risoluzioni della scheda grafica, velocemente raggiungibili tramite un clic sulla maschera `Schermo'. 5.4.2 Risoluzione di eventuali problemi Qui vogliamo parlare dei maggiori e più frequenti problemi che si possono riscontrare configurando X con SaX: * Se durante il test della configurazione, il quadro del monitor dovesse tremare fortemente o dovesse rimanere nero o avesse un quadro distorto, terminate subito l'X server altrimenti il monitor potrebbe venire danneggiato. Per farlo § ¤ § ¤ § ¤ § ¤ § ¤ premete ¦Ctrl ¥+ ¦Alt ¥+ ¦ - ¥ . Attenzione non ¦Tab ¥invece ¦ - ¥ 156 5.5 Configurazione con xf86config Dopo di ciò andate alla maschera `Monitor' e cercare un monitor adatto o inserire manualmente i dati del Vostro monitor. Lo stesso vale se durante l'aggiustamento il quadro dovesse cominciare a tremare. * Per casi molto difficili, SaX mette a disposizione due opzioni accessibili dalla riga di comando: --vga16: al primo start di SaX viene usato il server VGA16 invece della scheda vera e propria. Questo server dovrebbe funzionare su quasi tutte le schede VGA. Il server VGA16 viene automaticamente usato nel caso che la Vostra scheda grafica non venga riconosciuta o che abbiate una scheda ISA. La documentazione effetiva di SaX si trova nella directory /usr/share/doc/ packages/sax. Se succede qualche cosa di inaspettato, ne viene tenuta traccia nel file /root/ServerLog e /root/StartLog. Qui potete trovare informazioni su come proseguire. 5.5 Configurazione con xf86config Per la semplice configurazione dell'X Window System, nella maggior parte dei casi SaX , come tool di configurazione, è superiore al programma xf86config. In alcuni rari casi una configurazione con SaX fallisce; si può allora usare xf86config che in genere funziona sempre. XFree86 4.0 ha un simile programma xf86config basato su testo; questo pro- gramma ha in alcuni punti dialoghi un po' modificati e scrive il file di configura- zione naturalmente secondo /etc/X11/XF86Config. Sotto XFree86 4.0, l'uso di xf86config non è quasi mai necessario, poichè qui le schede grafiche "pro- blematiche" possono venire configurate anche con il "Framebuffer" o il modulo vga come descritto nelle sezioni 5.3.3 a pagina 142 e 5.3.3 a pagina 142 Nella seguente descrizione parleremo perciò solo del programma xf86config di XFree86 3.3.x. Per la configurazione devono essere conosciuti i seguenti dati: * tipo di mouse, porta a cui è stato collegato il mouse e baud rate con cui il mouse viene usato (normalmente il baud rate è opzionale). * Specifiche della scheda grafica. * Dati del monitor (frequenze, etc.). Se questi dati sono conosciuti o se avete a portata di mano la descrizione del monitor e della scheda, potete iniziare la configurazione che può essere eseguita solo dall'utente `root'! La configurazione viene inizializzata con: terra:/root # xf86config 157 5 Il sistema X Window Mouse Dopo lo schermo di benvenuto, viene richiesto il tipo di mouse. Appare la seguente scelta: 1. Microsoft compatible (2-button protocol) 2. Mouse Systems (3-button protocol) 3. Bus Mouse 4. PS/2 Mouse 5. Logitech Mouse (serial, old type, Logitech protocol) 6. Logitech MouseMan (Microsoft compatible) 7. MM Series 8. MM HitTablet output 5.5.1: Scelta del mouse per X Nello stabilire il tipo di mouse si deve ricordare che molti dei mouse Logitech sono compatibili con Microsoft oppure usano il MouseMan-Protocol. La scelta Bus Mouse indica tutti i tipi di bus mouse, inclusi i Logitech! Il tipo di mouse adatto viene scelto indicando il numero che lo precede. Even- tualmente (p.e. alla scelta del tipo 1) segue la domanda se il ChordMiddle debba venire attivato: ciò è necessario con alcuni tipi di mouse o trackball per attivarne il tasto centrale: Please answer the following question with either 'y' or 'n'. Do you want to enable ChordMiddle? (Desiderate attivare il tasto centrale?) Se si usa il mouse con due tasti, si può emulare il terzo tasto rispondendo alla prossima domanda con `y': Please answer the following question with either 'y' or 'n'. Do you want to enable Emulate3Buttons? Il terzo tasto del mouse viene emulato premendo contemporaneamente i due tasti del mouse. La prossima domanda riguarda l'interfaccia a cui è collegato il mouse: Now give the full device name that the mouse is connected to, for example /dev/tty00. Just pressing enter will use the default, /dev/mouse. Mouse device: Se all'installazione del sistema è già stato indicata un porta per il mouse, accettate qui l'indicazione (/dev/mouse). Tastiera § ¤ Ora Vi si chiede se al tasto sinistro ¦Alt ¥si deve dare il valore Meta (ESC) e a quello destro il valore ModeShift (AltGr): Please answer the following question with either 'y' or 'n'. Do you want to enable these bindings for the Alt keys? (Rispondete alla seguente domanda con 'y' o 'n'. Desiderate attivare questi collegamenti con il tasto Alt?) Rispondete qui con `y' per poter inserire i caratteri della tastiera italiana visibili § ¤ § ¤ tramite ¦Alt Gr ¥e affinchè il tasto sinistro ¦Alt ¥possa venire usato come tasto Meta ­ particolarmente vantaggioso nei lavori con Emacs. 158 5.5 Configurazione con xf86config Monitor (schermo) Ora si deve specificare il monitor: la parte critica sono le frequenze verticali e orizzontali che peró sono generalmente indicate nel manuale del monitor stesso. Attenzione L'indicazione errata di campi di frequenza, può portare a rovinare irrepara- bilmente il monitor! Il sistema X-Window agisce solo con modalitá video che usano il monitor nei campi di frequenza indicati. L'indicazione di frequenze per le quali il monitor non è specificato, possono sovracaricarlo! Per alcuni monitor si possono controllare i valori in /usr/X11R6/lib/X11/ doc/Monitors3. Per indicare la frequenza orizzontale viene presentata la seguente scelta: hsync in kHz; monitor type with characteristic modes 1 31.5; Standard VGA, 640x480 @ 60 Hz 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interl. (no 800x600) 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz il., 800x600 @ 56 Hz 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz 9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz 10 Enter your own horizontal sync range Enter your choice (1-10): output 5.5.2: Indicazione delle frequenze orizzontali del monitor Usate una di queste indicazioni, solo se i dati esatti del monitor non sono conosciuti. Scegliendo il punto `10' potete specificare le frequenze esatte. Dopo l'indicazione delle frequenze orizzontali, vengono richieste quelle verticali. Anche qui potete scegliere: 1 50-70 2 50-90 3 50-100 4 40-150 5 Enter your own vertical sync range Enter your choice (1-5): output 5.5.3: Frequenze verticali dettagliate 3Queste indicazioni sono naturalmente senza garanzia! 159 5 Il sistema X Window Anche in questo caso è preferibile indicare le frequenze specifiche, piuttosto che scegliere uno dei punti da `1' a `4'. Viene quindi richiesta l'indicazione di un nome per la descrizione del monitor, Enter an identifier for your monitor definition: l'indicazione del produttore, Enter the vendor name of your monitor: e l'indicazione del modello Enter the model name of your monitor: § ¤ Qui si può indicare un nome adatto o, con ¦Enter ¥, possono venire accettati i valori predefiniti: con ciò si termina l'impostazione del monitor. Scheda grafica/X-Server Passiamo ora a specificare la scheda grafica usata: Do you want to look at the card database? Rispondendo `y' viene presentata una lista di schede grafiche preconfigurate. Da questa lista, indicando il numero relativo, si può scegliere una scheda: non dovete però accettare una qualsiasi preconfigurazione, poichè anche nelle schede dello stesso tipo possono esserci differenze nel Clock-Chip e RAMDAC (ingl. Random Access Memory Digital-to-Analogue Converter)! Per questa ragione, nonostante sia stata scelta una preconfigurazione, più avanti verrano comunque richiesti il Clock-Chip, Ramdac, etc.. Viene però presentata un'opzione aggiuntiva derivante dall'indicazione della definizione della scheda. Le definizioni delle schede contengono informazioni su Clock-Chip, Ramdac e sull'X server da usare. Nella device section del file XF86Config, vengono riportate preziose indicazioni sull'uso della scheda. Non preoccupateVi se la scheda che possedete non si trova nell' elenco: in questo caso con `q' si può ritornare alla normale configurazione. Ricordate che una scheda grafica può venire scelta solo quando questa coincide esattamente con la scheda usata! La scelta di una scheda con una nome simile non è consigliabile: nomi simili non sono garanzia di hardware simile. . . Altre informazioni sulla configurazione della scheda grafica, vengono riportate in capitolo 5.6 a pagina 166. Dopo aver specificato la scheda segue la scelta dell'X server: 1 Un server per monitor monocromatici (bianco/nero). Dovrebbe funzionare con ogni scheda grafica VGA-compatibile e dare almeno una risoluzione di 640x480 pixel. 2 Il server XF86_VGA16 a 16 colori. Dovrebbe funzionare con ogni scheda grafica VGA-compatibile. 3 Il server SVGA XF86_SVGA. Questo server con 256 colori supporta una grande quantità di schede SVGA. Con alcune schede Cirrus e WD viene sfruttata l'accelerazione hardware della scheda. Con alcune schede Cirrus può anche venire attivata la modalitá colori a 16 o 32 Bit. 160 5.5 Configurazione con xf86config 1 The XF86_Mono server. This a monochrome server that should work on any VGA-compatible card, in 640x480 (more on some SVGA chipsets). (XF86_Mono server. Questo è un server monocromo usabile in 640x480 compatibile con ogni scheda VGA (risoluzione maggiore con alcuni SVGA cipsets)) 2 The XF86_VGA16 server. This is a 16-color VGA server that should work on any VGA-compatible card. ( XF86_VGA16 server. Questo è un server VGA con 16 colori usabile con qualsiasi scheda VGA-compatibile) 3 The XF86_SVGA server. This is a 256 color SVGA server that supports a number of SVGA chipsets. It is accelerated on some Cirrus and WD chipsets; it supports 16/32-bit color on certain Cirrus configurations. (XF86_SVGA server. Questo è un server SVGA con 256 colori che supporta una certa quantità di SVGA-chipset. Supporta l'accelerazione su alcuni chipsets Cirrus e WD; su alcune configurazioni Cirrus, supporta 16/32-bit-colori) 4 The accelerated servers. These include XF86_S3, XF86_Mach32, XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, XF86_W32 and XF86_Mach64. (I server accellerati: comprendono XF86_S3, XF86_Mach32, XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, XF86_W32 e XF86_Mach64. ) These four server types correspond to the four different "Screen" sections in XF86Config (vga2, vga16, svga, accel). (Questi quattro tipi di server corrispondono alle quattro diverse sezioni dello schermo in XF86Config (vga2, vga16, svga, accel).) 5 Choose the server from the card definition, XF86_S3. (Scegliere il server dalla definizione della scheda, XF86_S3.) Which one of these four screen types do you intend to run by default (1-4)? (Quale di questi tre tipi di schermo desiderate usare di default (1-4)?) output 5.5.4: Scelta dell'X-server 161 5 Il sistema X Window 4 Server per schede grafiche accelerate: qui si possono scegliere più server (vedi sotto). 5 Questo punto è interessante solo se nella scelta precedente avete selezionato una definizione della scheda. Qui viene proposto il server adatto alla scheda scelta. Una volta scelto un server, viene chiesto se si debba fare un link simbolico dal server scelto a /usr/X11R6/bin/X. Se la risposta è affermativa,`y', seguirà la domanda se il link debba venir creato in /var/X11R6/bin: Do you want to set it in /var/X11R6/bin? (Volete stabilire il link in /var/X11R6/bin?) Rispondete affermativamente a questa domanda, poichè può darsi che non si possa scrivere su /usr.4 Se alla selezione sopra indicata avete scelto `4', appare un menu con gli X server disponibili per le schede grafiche accelerate: Select an accel server: 1 XF86_S3 2 XF86_Mach32 3 XF86_Mach8 4 XF86_8514 5 XF86_P9000 6 XF86_AGX 7 XF86_W32 8 XF86_MACH64 Which accel server: output 5.5.5: X-servers accelerati Ognuno di questi server supporta la scheda relativa. La creazione del link presup- pone che sia già installato il server adatto; cioè che all'installazione del sistema X-Window sia già stato scelto il server giusto. Dopo la scelta dell'X server, si deve specificare più precisamente la scheda gra- fica. Per prima cosa si richiedono informazioni sulla memoria della scheda grafica: How much video memory do you have on your video card: 1 256K 2 512K 3 1024K 4 2048K 5 4096K 6 Other Enter your choice: output 5.5.6: Indicazione della memoria della scheda grafica 4p.e. nell'installazione da CD 162 5.5 Configurazione con xf86config Alla fine viene richiesto il nome, il produttore e il tipo della scheda. Se è stata scelta una scheda grafica, è sufficiente premere return. Enter an identifier for your video card definition: Enter the vendor name of your video card: Enter the model (board) name of your video card: Se come X server avete scelto un server per schede grafiche accelerate, Vi ven- gono richieste le impostazioni del RAMDAC; queste impostazioni sono rilevanti solo per i server S3 e AGX: 1 AT&T 20C490 (S3 server) att20c490 2 AT&T 20C498/21C498/22C498 (S3) att20c498 3 AT&T 20C505 (S3) att20c505 4 BrookTree BT481 (AGX) bt481 5 BrookTree BT482 (AGX) bt482 6 BrookTree BT485/9485 (S3) bt485 7 Sierra SC15025 (S3, AGX) sc15025 8 S3 GenDAC (86C708) (autodetected) s3gendac 9 S3 SDAC (86C716) (autodetected) s3_sdac 10 STG-1700 (S3) stg1700 11 TI 3020 (S3) ti3020 12 TI 3025 (S3) ti3025 13 TI 3020 (S3, autodetected) ti3020 14 TI 3025 (S3, autodetected) ti3025 15 TI 3026 (S3, autodetected) ti3026 16 IBM RGB 514 (S3, autodetected) ibm_rgb514 17 IBM RGB 524 (S3, autodetected) ibm_rgb524 18 IBM RGB 525 (S3, autodetected) ibm_rgb525 19 IBM RGB 526 (S3) ibm_rgb526 20 IBM RGB 528 (S3, autodetected) ibm_rgb528 21 ICS5342 (S3, ARK) ics5342 22 ICS5341 (W32) ics5341 23 IC Works w30C516 ZoomDac (ARK) zoomdac 24 Normal DAC normal output 5.5.7: Indicazione del RAMDAC Nella maggioranza dei casi la cosa migliore è quella di premere return senza effettuare nessuna scelta. Una volta selezionata una scheda grafica che appoggi una determinata impostazione di RAMDAC, questi viene indicato e dovrebbe venire scelto senza fare alcune modifiche. Dopo aver risposto a queste domande, si può scegliere il clock chip (sempre che sia presente), per le schede accelerate. Grazie alla scelta di un clock chip, non sono più necessarie le righe clock, poichè i clock necessari possono venire programmati: Se si usa una scheda grafica senza clock chip, è sufficiente premere return per non dover scegliere alcun clock chip. Se avete scelto una scheda grafica già presente nel menu di selezione, il clock chip viene indicato automaticamente. Se non è stato scelto alcun clock chip, xf86config propone di inizializzare X -probeonly per determinare i Clock-Timings supportati dalla scheda: que- sti vengono poi registrati automaticamente in una riga Clocks nel file XF86Config. 163 5 Il sistema X Window 1 Chrontel 8391 ch8391 2 ICD2061A and compatibles (ICS9161A, DCS2824) icd2061a 3 ICS2595 ics2595 4 ICS5342 (similar to SDAC, but not completely compatible) ics5342 5 ICS5341 ics5341 6 S3 GenDAC (86C708) and ICS5300 (autodetected)s3gendac 7 S3 SDAC (86C716) s3_sdac 8 STG 1703 (autodetected) stg1703 9 Sierra SC11412 sc11412 10 TI 3025 (autodetected) ti3025 11 TI 3026 (autodetected) ti3026 12 IBM RGB 51x/52x (autodetected) ibm_rgb5xx output 5.5.8: Indicazione del clockchip A questo punto dobbiamo dire perchè i clock timings rilevati e registrati automa- ticamente siano tanto pericolosi: se la scheda grafica ha un clock chip program- mabile, l'X server non è in grado di cambiare tra i diversi clock della scheda e riconosce perciò solo i clock 0, 1 e ogni tanto il 2. Tutti gli altri valori sono più o meno casuali (in generale i clocks 0, 1 e 2 si ripetono e vengono perciò sostituiti da zeri.) Tutti i clock, tranne 0 e 1, dipendono molto dalla preprogrammazione del clock chip: p.e., al momento della prova il clock 2 può avere avuto un altro valore (che è stato registrato in XF86Config) rispetto a quello che verrà rilevato più tardi allo start dell'X server. Tutti i timings non corrispondono più e il monitor potrebbe venire danneggiato. Un buon segno di riconoscimento per un clock chip programmabile e dei pro- blemi ad esso collegati, sono i molti zeri o i valori timing sempre ripetuti. Tali valori non devono assolutamente essere inclusi nel file XF86Config! Usate perciò la seguente strategia per determinare i clock chips o i clock timings: * La cosa migliore, è di indicare un clock chip programmabile esistente (sem- pre che ce ne sia uno): questi viene quindi programmato in modo adeguato, l'XF86Config non contiene alcune indicazioni clock. Potete anche parago- nare i chips sulla scheda con i clock chips offerti nel menu e, in questo modo, trovare il chip giusto. Quasi tutte le moderne schede S3 hanno un clock chip programmabile. * Se sulla scheda grafica non avete alcun clock chip programmabile, inizia- lizzate X -probeonly e paragonate (a computer vuoto) i valori clock deter- minati con quelli del manuale della scheda grafica. Se i valori corrispondono approssimativamente (±2), riportateli nel file XF86Config. Se non doveste trovare aiuto nel manuale, potete far determinare i valori di timing con X -probeonly (meglio se con computer vuoto). Esaminate la validità dei valori determinati, poichè in alcune schede non si possono leggere i valori clock (molti zeri o valori ripetuti indicano valori non validi). Riportate Voi stessi i valori validi nel file XF86Config. Non tralasciate o dimenticate alcun valore, non cercate, in un qualsiasi modo, di riordinarli o cambiarli: essi devono venire registrati esattamente nella stessa sequenza. 164 5.5 Configurazione con xf86config Se si usa il server P9000, si deve semplicemente indicare nella riga Clock, per ogni modalitá e in una qualsiasi sequenza, il clock desiderato. * In linea di massima vale che: nei clock chips programmabili non deve esserci la riga Clocks nell'XF86Config (eccezione: P9000). Per schede senza clock chips programmabili, dovrebbe esistere una riga `Clocks' nell'XF86Config: tramite essa si può evitare la fastidiosa e in certe circostanze pericolosa ricerca automatica dei clock ad ogni start del siste- ma X-Window. Inoltre con clock non leggibili non ci saranno valori falsi e nessun pericolo per il monitor. Se, dopo aver letto attentamente i capitoli precedenti, desiderate provare a riconoscere automaticamente i clock, alla domanda: Do you want me to run 'X -probeonly' now? rispondete affermativmente `y'. Per un breve periodo lo schermo si annerirà e alla fine apparirà una lista dei clock riconosciuti o la comunicazione che nessun clock è stato riconosciuto. Se è stato selezionato un clock-chip, non apparirà la domanda se debba venire inizializzato X -probeonly poichè i clock vengono automaticamente impostati. In questo caso si passa automaticamente al prossimo punto di configurazione. Attenzione Se avete risposto affermativamente all'ultima domanda e lo schermo rima- ne scuro per più di 30 secondi, lo svolgimento del test deve assolutamente § ¤§ ¤§ ¤ § ¤§ ¤ venire interrotto con ¦Strg ¥ +¦Alt ¥ +¦ ¥o ¦Strg ¥ +¦c ¥ ! Se necessario, devo- no venire spenti sia il computer che il monitor per non mettere in pericolo l'hardware! Memorizzare la configurazione Con ciò la configurzione è conclusa; il file di configurazione deve però venire memorizzato. È consigliabile memorizzare il file di configurazione X-Window XF86Config nella directory /etc. In questo modo si garantisce che anche nella rete, ogni computer abbia una "propria" configurazione, anche se più computer condividono il file system /usr. xf86config propone di memorizzare la configurazione nell'attuale directory sotto il nome XF86Config. Rispondete negativamente alla domanda: Do you want it written to the current directory as 'XF86Config'? Dopo vi si chiede dove deve venire memorizzata la configurazione: Please give a path+filename to write to: Qui indicate `/etc/XF86Config'! Ciò conclude sia il programma xf86config che la configurazione di X Window System. 165 5 Il sistema X Window 5.6 Come ottimizzare l'installazione del sistema X Window Anche se è possibile eseguire complicate configurazioni anche con SaX2, può essere di aiuto comprendere il formato di questo file di configurazione /etc/ X11/XF86Config. Questo file è suddiviso in sezioni (ingl. Sections) che ini- ziano con la parola chiave Section "identificazione" e terminano con EndSection. Qui in seguito Vi daremo un abbozzo delle sezioni più importanti. Alla fine imparerete come integrare ulteriori fonts, come configurare gli input de- vices di registrazione e come viene realizzato l'acceleramento 3D. Questo viene naturalmente eseguito anche in determinate sezioni del file XF86Config, ma l'integrazione di un ulteriore font richiede l'aiuto di programmi esterni che però vengono forniti con SuSE Linux o fanno parte dell'installazione default. I pro- cedimenti qui accennati vogliono solo chiarire le possibilità esistenti e servire da stimolo, e non hanno certamente la pretesa di essere completi. Come standard, i programmi XF86Setup e xf86config creano il file XF86Config in /etc: questo è il file primario di configurazione per l'X-Window-System. Qui si trovano le indicazioni su mouse, monitor e scheda grafica. XF86Config è formato da più sezioni Sections ognuna delle quali si occupa di un aspetto della configurazione. Una sezione ha sempre la forma seguente: Section registrazione 1 registrazione 2 registrazione n EndSection Esistono i seguenti tipi di sezioni: Files Questa sezione descrive i path usati per i fonts e le tabelle RGB dei colori. ServerFlags Qui vengono scelti i server flags. InputDevice Tramite questa sezione vengono configurati i devices d'in- gresso. Contrariamente a XFree86 3.3, vengono configu- rati tramite questa sezione sia tastiere che mouses come pure speciali input devices come touch tables, joysticks etc. Gli indicatori importanti sono qui Driver e le opzioni che stabiliscono Protocol und Device festlegen. Tabella 5.4: Continua alla pagina seguente... 166 5.6 Come ottimizzare l'installazione del sistema X Window Monitor Descrive il monitor usato. Gli elementi di questa defini- zione sono: un nome, a cui si rimanda per la definizio- ne degli Screens, la descrizione della banda delle fre- quenze (Bandwidth) e delle frequenze di sincronizzazio- ne (HorizSync e VertRefresh). Le indicazioni si fan- no in MHz, kHz o Hz. Fondamentalmente il server rifiuta ogni modeline che non corrisponda al quelle specifiche del monitor: con questo si evita che, facendo esperimenti con i modelines, possano venire inviate al monitor frequenze troppo alte. Modes Qui vengono definiti i parametri di raffigurazione delle sin- gole risoluzionig dello schermo. Questi parametri possono venire calcolati da SaX2 in base a valori dati dall'utente e generalmente non devono venire modificati. Potete però eseguire modificazioni manuali se volete per esempio col- legare uno schermo di frequenza. Dare qui l'esata spiega- zione dei singoli parametri andrebbe oltre i limiti di questo manuale; troverete però un'accurata definizione dei singo- li valori nel file HOWTO /usr/share/doc/howto/en/ XFree86-Video-Timings-HOWTO.gz. Device Questa sezione setta una determinata scheda grafica. Ci si riferisce ad essa con il nome indicato. Screen Questa sezione infine racchiude un driver (p.e. vga2 o accel), un monitor e un device; da essa derivano le indicazioni necessarie per XFree86. La sottosezione display permette l'indicazione di risoluzioni virtuali del- lo schermo (Virtual), del ViewPort e dei modes usati con questo schermo. ServerLayout Questa sezione definisce il layout di una configurazio- ne singlehead o multihead. Qui vengono raggruppati in un'unità i devices d'immissione InputDevice e gli Screen. Tabella 5.4: Sezioni (ingl. sections) in /etc/XF86Config Ora guardiamo da vicino le sezioni Monitor, Device und Screen. In pagina di manuale di manXF86Config (man manXF86Config) si trovano le informazioni sulle altre sezioni. In XF86Config possono trovarsi più sezioni Monitor e Device. Sono possi- bili anche più sezioni Screen; quale di queste venga usata, dipende dal server chiamato. Screen-Section Guardiamo per prima la sezione screen; come già accennato, questa raggruppa le sezioni monitor e device e stabilisce quale risoluzione e quale profondità di 167 5 Il sistema X Window colori devono essere messe a disposizione. Una sezione screen può p.e. essere come in file 5.6.1. Section "Screen" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1152x864" "1024x768" "800x600" Virtual 1152x864 EndSubSection SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection SubSection "Display" Depth 32 Modes "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1280x1024" EndSubSection Device "Device[0]" Identifier "Screen[0]" Monitor "Monitor[0]" EndSection file 5.6.1: La sezione screen del file /etc/XF86Config La riga del Driver stabilisce per quale X-Server sia valida questa definizione tramite la quale nella seguente sezione ServerLayout può venire indirizzato inequivocabilmente. Le prossime due righe, Device e Monitor, definiscono la scheda grafica e il monitor appartenenti a questa definizione. Questi non sono altro che rimandi, con il relativo nome, alle sezioni device e monitor. Queste sezioni verranno spiegate dettagliatamente più avanti. Tramite l'indicazione DefaultColorDepth, si può scegliere con quale profon- dità di colori debba partire il server (se viene inizializzato senza una precisa indicazione della profondità dei colori). Per ogni profondità di colore segue una sottosezione Display. La profondità di colore per la quale è valida la sottosezione, viene stabilita dalla parola chiave Depth. I valori possibili per Depth sono 8, 15, 16, 24 e 32. Non tutti gli X- Server supportano ognuno di questi valori: principalmente in molte schede, 24 e 32 hanno lo stesso valore; in altre 24 sta per il modo packed-pixel 24 bpp, mentre 32 sceglie il modo padded-pixel 32 bpp. Dopo la profondità di colore, con Modes viene stabilito un elenco di risoluzioni. Questo elenco viene letto dall'X-server da sinistra a destra. Per ogni risoluzione, viene cercata, nella sezione monitor, una Modeline adatta che corrisponde a una delle clock-rate indicate nella sezione monitor o a una delle clock-rate con cui può venire programmata la scheda. La prima risoluzione, in questo senso, è quella con la quale parte l'X-server (il § ¤§ ¤§ ¤ cosiddetto Default-Mode). Con i tasti ¦Strg ¥ +¦Alt ¥ +¦Grau + ¥si può navigare a 168 5.6 Come ottimizzare l'installazione del sistema X Window § ¤§ ¤§ ¤ destra, con i tasti ¦Strg ¥ +¦Alt ¥ +¦Grau - ¥si può navigare a sinistra. In questo modo si può variare la risoluzione dello schermo mentre si sta lavorando col sistema X-Window. Le ultime due linee della sottosezione si riferiscono alla risoluzione virtuale del- lo schermo e alla posizione che occupa in esso la sezione visibile. La risoluzione dello schermo virtuale dipende dalla quantità di memoria della scheda video e dalla profondità di colore; non dipende però dalla risoluzione massima del moni- tor. Se p.e. la scheda video ha 1 MB di RAM, lo schermo virtuale può avere (con 8 Bit di profondità di colore) una risoluzione di 1024x1024 pixel. Specialmente con server accelerati è consigliabile non usare per lo schermo virtuale l'intera memoria della scheda video, poichè la memoria che resta libera viene utilizzata da questo server per diverse font e graphic-cache. Device-Section Una device section descrive una determinata scheda grafica. Nell'XF86Config possono essere contenute molte device sections, sempre che il loro nome, in- dicato con la parola chiave Identifier, sia sempre diverso. In genere ­ se usate più di una scheda grafica ­ le sezioni vengono numerate, la prima con Device[0], la seconda con Device[1] etc. Nel file 5.6.2 vedete la sezione presa dalla Device Section di un computer in cui è inserita una scheda grafica PCI Matrox Millennium. Section "Device" BoardName "MGA2064W" BusID "0:19:0" Driver "mga" Identifier "Device[0]" VendorName "Matrox" Option "sw_cursor" EndSection file 5.6.2: La Device-Section del file /etc/X11/XF86Config Se per la configurazione usate SaX2, la device section dovrebbe essere come quella sopra raffiguata. Specialmente Driver e BusID sono dipendenti dal- l'hardware installato nel Vostro computer e vengono automaticamente determi- nati da SaX2. BusID determina il jumper PCI o AGP in cui è inserita la scheda grafica. Questa concorda con l'ID emesso dal comando lspci. Tenete presen- te che l'X-server emette le indicazioni in modo decimale, mentre il programma lspci le emette in modo esadecimale! Tramite il parametro Driver stabilite il driver da usare per questa scheda gra- fica. I drivers vengono cercati dall'X-server nella sottodirectory drivers tra- mite ModulePath definito nella sezione Files. Nel caso della Matrox Mil- lennium, il modulo del driver si chiama mga. In una installazione standard, la directory è /usr/X11R6/lib/modules/drivers; al nome viene sempli- cemente "attaccato" _drv.o; nel caso del driver mga viene caricato come file driver mga_drv.o. 169 5 Il sistema X Window tramite ulteriori opzioni, è possibile influenzare il comportamento dell'X-server o del driver. Nella device section, è stata attivata l'opzione sw_cursor. Questa disattiva l'hardware del cursor del mouse e raffigura il cursor in software. A seconda del modulo del driver, avete a disposizione diverse opzioni, queste si trovano nei files in cui vengono descritti i moduli dei drivers, nella directory /usr/X11R6/lib/X11/doc. Opzioni valide in generale si trovano in pagina di manuale di XF86Config (man XF86Config) e pagina di manuale di XFree86 (man XFree86). Monitor-e Modes- Section Analogamente alle sezioni device, le sezioni monitor e modes Section, descri- vono un monitor. Il file di configurazione /etc/XF86Config può contenere un numero qualsiasi di sezioni monitor che devono avere tutte nomi diversi. Nella sezione ServerLayout viene stabilito quale sezione monitor sia rilevante. Per la definizione del monitor vale, ancor più che per la descrizione della scheda grafica, che la creazione di una monitor section (e specialmente la modes section) venga eseguita da utenti esperti. I componenti principali della modes section sono le modelines in cui vengono indicati il timing orizzontale e verticale per la rispettiva risoluzione. Nella monitor section, vengono registrate le proprietà del monitor e specialmente le frequenze di deflessione. Attenzione Senza cognizioni di base sul funzionamento di monitor e scheda grafica, le modelines non dovrebbero venire modificate, poichè ciò potrebbe portare alla distruzione del monitor! Chi desidera sviluppare una propria descrizione del monitor, dovrebbe prima conoscere la documentazione nella directory /usr/X11/lib/X11/doc. In par- ticolar modo da sottolineare [FCR93], in cui vengono dettagliatamenre descritte la funzione dell'hardware e la creazione delle modelines. Fortunatamente, la creazione manuale di modelines o definizioni monitor non sono quasi più necessarie. Se usate un moderno Multisync-Monitor, l'X-server può leggere direttamente dal monitor via DDC le larghezze di banda permesse e la risoluzione ottimale (come già detto in SaX2 nella sezione di configurazione). Se ciò non dovesse essere possibile, potete usare uno dei modi VESA intgegrato nell'X-server. Questi dovrebbero funzionare perfettamente su tutte le schede grafiche/combinazioni di monitors. 5.6.1 Inserire ulterioni fonts (True Type) Per una normale installazione dell'X-server X11R6 occorre una buona quantità di fonts che troverete nella directory /usr/X11R6/lib/X11/fonts in gruppi logicamente omogenei in sottodirectories. Ricordate che l'X-server considera solo sottodirectories che: 170 5.6 Come ottimizzare l'installazione del sistema X Window * sono registrate comeFontPath nella sezione Files nel file /etc/X11/ XF86Config * che possiedono un file fonts.dir valido * che non sono state revocate durante il funzionamento dell'X-server con l'aiuto del comando xset -fp * o sono state inserite durante il funzionamento dell'X-Server con l'aiuto del comando xset +fp. Dalla versione 4.0, XFree86 capisce non soltanto il proprio formato Type1 (un formato PostScript) per fontsets scalabili e pcf per bitmap fontsets, ma capisce anche il formato file ttf (ingl. true type font). Come già visto nella sezione 5.2 a pagina 128, questo supporto viene naturalmente realizzato da moduli dell'X- server caricabili. Potete quindi usare con l'X-server anche directories che con- tengono True-Type-Fonts e non avete praticamente bisogno di alcun lavoro di preparazione. Un grande vantaggio di quasi tutti i fonts true-type (oltre alla buona scalabilità), consiste nel fatto che questi fonts contengono praticamente sempre molto di più dei normali 255 caratteri del font set ost europeo codificato in "iso-8859-1". Con questi font sets potete rappresentare scritture cirilliche, greche o dell'europa dell'est e con software speciale anche lingue asiatiche. Qui vogliamo descrivere l'uso dei fonts come 8-Bit-fonts. Se volete inserire caratteri delle lingue asiatiche, (giapponese, cinese etc.), potete usare editori speciali disponibili anche sotto SuSE Linux. Un 8-bit-font comprende 255 caratteri ed estende l'ASCII-font americano che comprende solo i primi 128 dei 255 possibili caratteri. Un font di testo occupa quindi nella memoria del compuer 8 Bit. Poichè 127 caratteri non sono assou- lutamente sufficienti per contenere tutti i caratteri speciali delle lingue europee, le diverse lingue vengono unite in gruppi che vengono definiti con un breve con- trassegno. Il relativo font set viene nominato secondo la relativa norma come font set "iso-8859-x", in cui x è una cifra fra 1 e 15. L'esatta successione dei caratteri nel font set iso-8859-1, potete vederla nelle pagina di manuale di iso-8859-1 (man iso-8859-1). Le codificazioni più conosciute si trovano nella tabella 5.5 nella pagina successiva, altre codificazioni potete prenderle dalla suddetta manual page. L'utente deve scegliere la codificazione adatta a seconda della lingua usata. Spe- cialmente nella trasmissione di dati fra diversi computer deve venire trasmessa anche la codificazione. Il vantaggio del procedimento consiste nel fatto che per avere l'appoggio per i caratteri speciali regionali, avete solo bisogno di sceglie- re la codificazione giusta e subito (quasi) tutti i programmi potranno raffigurare questi caratteri speciali, poichè quasi tutti i programmi usano un valore di 8 Bit (un Byte) per la rappresentazione di un carattere di testo. Se si selezione la codi- ficazione sbagliata, anche i caratteri speciali vengono raffigurati in modo errato. Nella maggioranza delle applicazioni X, e anche nel Desktop di KDE, potete sce- gliere la codificazione del font set, quasi sempre con la configurazione del font set da usare. Nelle applicazioni X, la codificazione viene quasisempre nominata Encoding. 171 5 Il sistema X Window set di carat- Regioni supportate, contiene caratteri speciali teri iso-8859-1 Lingue ost europee: spagnolo, tedesco, francese, svedese, finlandese, danese e altre iso-8859-2 Europa centrale e dell'est: ceca, rumena polacca, tedesca e altre iso-8859-5 Caratteri cirillici per il russo iso-8859-7 Caratteri grechi per il greco iso-8859-15 Come iso-8859-1, ma con caratteri turchi e il carattere dell'EURO. Tabella 5.5: Importanti codificazioni di font sets Lo svantaggio di quest soluzione, è che alcune combinazioni sono semplicemen- te impossibili: non è per esempio molto semplice redigere un testo tedesco con metafonia inserendovi nomi di paesi russi in cirillico. Questo dilemma può venire risolto con l'uso di Unicode. Unicode non codifi- ca caratteri ­ diversamente da ASCII ­ con un Byte, bensì con 2 o più Bytes cosicchè possono venire raffigurati molti più caratteri. Con l'uso di Unicode potete raffigurare anche le lingue asiatiche con più di 127 caratteri, come il cinese o giapponese o coreano. Lo svantaggio di questa solouzione, è che la maggior parte del software esistente, non è preparato all'uso di questi caratte- ri ed è possibile leggere o scrivere solo con speciali testi software con caratteri Unicode. Altre informazioni sull'uso dei fonts unicode sotto Linux, si trova- no sotto http://www.unicode.org. Si parte da presupposto, che in futuro sempre più programmi supportino caratteri Unicode. Sotto SuSE Linux per di- gitare testi in Unicode, esiste il programma yudit. Lo trovate nel pacchetto pac- chetto yudit, serie xap o, dopo l'installazione, tramite il menu di SuSE sotto Professionale/Office e lì sotto Editors. Ed ecco ora passo per passo, la descrizione dell'installazione di font sets supplementari sull'esempio dei fonts true type. Trovate prima i fonts che volete installare nel Vostro X Window System. Se sul Vostro sistema avete fonts true type autorizzati, potete usarli. Montate la partizione che contiene questi fonts. Se non è ancora esistenete,create una directory dei fonts e andate in questa di- rectory. SuSE Linux ha già preparato una directory con il nome /usr/X11R6/ lib/X11/fonts/truetype; in essa potete copiare i fonts in oggetto. terra:/root # cd /usr/X11R6/lib/X11/fonts/truetype Create dei links sui files ttf e sulla directory dei fonts. Ricordate che per i fonts true type è necessario un programma speciale di nome ttmkfdir, pacchetto ttmk- fdir, serie xap che crea il file fonts.dir. X-fonts tradizionali vengono inte- grati tramite il comando mkfontdir. Invece di /pfad/zu/den/fonts inserite il path relativo sotto cui questi fonts sono disponibili. 172 5.6 Come ottimizzare l'installazione del sistema X Window terra:/usr/X11R6/lib/X11/fonts/truetype # ln -s /pfad/zu/den/fonts/*.ttf . terra:/usr/X11R6/lib/X11/fonts/truetype # ttmkfdir -o fonts.dir Se l' X-Server funziona già, potete rendere disponibili i fonts in modo dinamico. Digitate: tux@terra:/home/tux > xset +fp /usr/X11R6/lib/X11/fonts/truetype Suggerimento Tramite il protocollo X, il comando xset accede all'X-server; devono perciò esistere diritti di accesso sull'X-server corrente, ad esempio, nel caso in cui tuxsia l'utente che ha inizializzato l'Xserver. Per ulteriori informazioni, consultare pagina di manuale di xauth (man xauth). Per creare stabilmente dei font, dovreste inserire questo path di ricerca nel file XF86Config; per farlo potete usare SaX2. Con `Aggiungere', aggiungete l'in- dirizzario nel menù `Path di ricerca' (alla voce `Stili' nel dialogo della tastiera) al quelli indicati. Controllate che i fonts siano stati configurati giustamente; per farlo usate il co- mando xlsfonts. Se i sets dei caratteri sono installati bene, si ottiene un out- put di tutti i fonts installati, incluso i nuovi fonts true type. Potete usare anche il programma di KDE kfontmanager, che Vi da un output dei fonts installati direttamente con il testo di prova. tux@terra:/home/tux > xlsfonts I fonts integrati in questo modo possono venire usati per tutte le apllicazioni X. 5.6.2 Impostazione degli input devices Se si volessero descrivere tutte le impostazioni possibili degli input devices, si farebbe di questo capitolo una "Storia infinita", tanti sono i diversi input devices nel mondo dei computers! Nella seguente sezione, vogliamo darVi un paio di "ricette" con cui per esempio potrete configurare l'input (o gli input) device/s. Con la denominazione "input devices", si intendono qui il mouse, la tastiera e anche le touch tables etc. Cecate nel seguente testo il titolo adatto per avere informazioni sul tema desiderato. Naturalmente, troverete informazioni dettagliate anche nella documentazione dell'X-server, in particolare nella pagina di manuale di XF86Config (man XF86Config). Mouse Wheel mouse Se avete impostato il mouse con SaX2, ne potete già usare la funzionalità di base. Se avete un mouse con la rotellina (un cosiddetto "wheel mouse") e volete usare questa rotellina per fare lo scroll nelle applicazioni X, do- vrete impostare il wheel mouse con la configurazione estesa nel menu del mouse 173 5 Il sistema X Window di SaX2 `Wheel Maus' e usando SaX2 come descritto nella sezione 5.3.1 a pa- gina 133; in questo modo i movimenti rotatori vengono inviati alle applicazioni come pressioni sui tasti 4 e 5. Purtroppo, solo poche applicazioni X sono prepa- rate a questo tipo di mouse. Per poter usare la rotellina in tutti i programmi, dove- te ora solo inizializzare il programma pacchetto imwheel, serie ap nell'X-server in corso. Potete farlo nel file ~/.xinitrc. Potete per esempio aggiungere la chiamata del programa direttamente sotto la riga di commento finally start the win- dow manager. Questo piccolo programma d'aiuto, trasforma i "mouse click" creati durante il movimento rotatorio della rotella in pressioni di tasti configura- § ¤ § ¤ bili. Queste sono preimpostate su ¦Bild ¥e ¦Bild ¥ ; il programma può venire impostato tramite il file /etc/imwheelrc. In questo modo potete servire ogni programma X che possa anche venire servito con il Vostro wheel mouse. Po- tete anche copiare il Vostro file di configurazione anche in ~/.imwheelrc e lì eseguire le modificazioni come utente normale (non come "root"). Come usare il mouse come mancino Per scambiare il tasto sinistro e destro del mouse, potete inserire il seguente comando: tux@terra:/home/tux > xmodmap -e "pointer = 3 2 1" Potete registrare questo comando anche nel file ~/.xinitrc. Due mouses o una touch table Inserire un secondo mouse o una touch table non è molto complicato: anch in questo caso è consigliabile usare SaX2. an- date di nuovo nel modo di configurazione `Complesso' e aggingete nel menu `Mouse', tramite il `Nuovo' pulsante, un ulteriore simbolo del mouse. Questo secondo mouse non viene configurato automaticamente, qui dovrete impostare i dati manualmente. Sotto `driver' selezionate il driver adatto, mouse se si tratta di un ulteriore mouse o di uno dei drivers predisposti per le touch tables. Sotto `Protocollo' e `Collegamento' procedete in modo analogo. La configura- zione `Protocollo' fa senso solo se usate il driver mouse. Altrimenti eseguite la scelta del tipo di table e impostazioni simili nel dialogo `Esteso'. Nel caso di un touch table driver impostate sotto `Protocollo' il valore None. Sotto `Esteso' in `Miscellaneous', potete scegliere opzioni supplementari. Specialmente l'opzione Send Core Events merita di venire menzionata; se attivate questa opzione, potete usare parallelamente gli input devices. Oppure potete cambiare fra un input device e l'altro con il comando xsetpointer. Usate la chiamata tux@terra:/home/tux > xsetpointer -l per farVi dare un elenco degli input devices possibili. Tastiera Generalmente sulla "Tastiera" non c'è molto da dire. Normalmente non c'è niente di speciale da configurare. In alcuni casi però possono essere di molto aiuto i seguenti programmi e files: per provare a modificare o per esaminare l'impostazione della tastatura durante 174 5.6 Come ottimizzare l'installazione del sistema X Window il funzionamento, avete a disposizione il programma xkeycaps, pacchetto xkey- caps, serie xap. Nel file ~/.Xmodmap potete modificare stabilmente alcuni ca- ratteri. Riguardo al formato di questo file, vedi la pagina di manuale di xmodmap (man xmodmap). Sotto KDE, avete a disposizione il programma kikbd ("Impostazione internazio- nale della tastiera") nel menu `Sistema' di KDE. Con questo programma po- tete cambiare comodamente fra un'impostazione della tastiera e l'altra. Questo programma è molto valido se volete per esempio usare una tastiera inglese per programmare (qui le parentesi { e } o [ e ] sono molto più facili da raggiungere) e una italiana per scrivere i testi. Se volete usare "l'impostazione internazionale della tastiera" per scrivere testi stranieri, tenete presente che le applicazioni X accettano spesso solo i caratteri della tastiera che appartengono al set di caratteri "locale" impostato (per meglio dire: adattamento del paese). Gli altri caratteri vengono ignorati ­ perciò impo- state adeguatamente anche i "locali". Ciò avviene impostando prima dell'inizio del programma l'ambiente variabile LANG sull'adattamento del paese desiderato. Nella pagina di manuale di locale (man locale) troverete le configurazioni possibili. 5.6.3 Accelerazione 3D Troverete i dettagli dell'accelerazione 3D nel manuale "Configurazione", al capitolo "OpenGL/Configurazione del 3D". 175 5 Il sistema X Window 176 6 L'hardware in un computer Linux 6 L'hardware in un computer Linux 6.1 Nota Oggigiorno, è possibile integrare in un sistema Linux, con maggiori o minori dif- ficoltà, la maggior parte dei componenti di un PC; come è possibile farlo e quale software abbiamo a disposizione sarà il tema di questo capitolo. Per i proble- mi di "stampa" vedi 8 a pagina 211. L'hardware PCMCIA e IrDA-Einrichtung vengono spiegato in capitolo 7 a pagina 195. 6.2 Schede In un PC standard, vengono principalmente usate schede su bus ISA ("Industry Standard Architecture") e PCI- ("Peripheral Component Interconnect"). La scheda AGP ("Accelerated Graphics Port") rappresenta un pò un'eccezio- ne, poichè i dispositivi inseriti nello slot AGP sono visibili anche sul bus PCI. Vengono trattati logicamente come schede PCI. Le schede Bus PCMCIA si trovano sopratutto in computer portatili come laptop e notebook. Queste schede vengono descritte nel 7 a pagina 195. 6.2.1 Schede PCI e ISA Osserveremo ora in dettaglio schede per bus ISA e PCI per poi passare alla loro configurazione sull'esempio della scheda audio. Schede PCI Normalmente,l'utente non ha bisogno di configurare le schede PCI. Allorchè si è abbandonato il bus PCI standard, si è cercato di eliminare tutte le imperfezioni dei vecchi sistemi bus: ragion per cui è stata prevista anche un'autoconfigura- zione delle schede. Ogni scheda PCI viene attivata allo start del computer dal BIOS del computer stesso. L'utente può spesso influenzare la distribuzione degli interrupt tramite impostazioni nel BIOS del computer. Allo start, Linux leg- ge direttamente dal PCI-BIOS la configurazione dei dispositvi PCI e, da questo momento, usa questi dati per tutte le informazioni sul subsistema PCI. Con il comando terra:/ # lspci -tv 177 6 L'hardware in un computer Linux -[00]-+-00.0 Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge +-01.0-[01]----00.0 Nvidia Corporation Riva TNT +-04.0 Intel Corporation 82371AB PIIX4 ISA +-04.1 Intel Corporation 82371AB PIIX4 IDE +-04.2 Intel Corporation 82371AB PIIX4 USB +-04.3 Intel Corporation 82371AB PIIX4 ACPI +-06.0 Adaptec 7890 09.0 Digital Equipment Corporation DECchip 21140 [FasterNet] output 6.2.1: Output del comando lspci -tv potete farVi mostrare un elenco dei dispositivi noti a Linux sul PCI-bus; vd. 6.2.1. Nella sezione che segue, vogliamo configurare una scheda audio PCI. Schede ISA Le schede ISA sono il modello più antico di schede PC-compatibili. Il bus ha al massimo 8 o 16 Bit e il bus rate ha al massimo 8 MHz. Molte schede madri offrono la possibilità di alzare questo rate... con molte difficoltà. Le schede bus ISA possono venire suddivise in tre categorie: Legacy-Cards: queste schede devono venire completamente configurate a ma- no. L'utente deve configurare sulle schede stesse (con l'aiuto di jumper o micro-switch) risorse come l'indirizzo IO, gli interrupt e i canali DMA, assi- curandosi che risorse come l'IRQ o il canale DMA non vengano usate con- temporaneamente da due o più schede. La configurazione di tali schede è molto spesso piuttosto difficile. Jumperless-Cards: rispetto alla prima generazione di schede ISA, le jumper- less card hanno il vantaggio che la configurazione delle risorse non avviene più tramite jumper, bensì tramite un programma di configurazione. Que- sto programma però è disponibile quasi esclusivamente per DOS e non può venire usato su Linux. PnP-Cards: le schede plug and play sono la logica conseguenza delle jumper- less. Le schede contengono dati sulla propria configurazione ed un elenco di possibili configurazioni. Uno speciale programma o un'unità disco è in grado di controllare le schede plug and play e configurarle in modo che non possa- no influenzarsi l'una con l'altra. Finchè una scheda non è stata configurata, essa non esiste per il sistema. Sotto Linux, per la configurazione delle schede plug and play, viene usato il pacchetto isapnp della serie ap. Il pacchetto mette a disposizione i due programmi pnpdump e isapnp. Come vengono attivate le schede PnP con isapnp? Procedete nel modo seguente: * Fate il login come utente `root'. 178 6.2 Schede * Se nella directory /etc dovesse già esistere un file isapnp.conf, si tratterà molto probabilmente di una prova di configurazione precedente; in questo caso fate un backup del suddetto file, p.e. così: terra:/etc/ # cp /etc/isapnp.conf /etc/isapnp.conf.bak * Con l'opzione -c chiamate il programma pnpdump e deviatene il risultato nel file /etc/isapnp.conf: terra:/etc/ # /sbin/pnpdump -c > /etc/isapnp.conf Il parametro -c provvede a far sì che pnpdump prepari l'output file in modo che i dispositivi PnP vengano subito attivati. * Immettendo terra:/ # isapnp /etc/isapnp.conf attivate le schede PnP nel vostro sistema. Su Linux, ciò viene eseguito automaticamente ad ogni avviamento del sistema. Possibili cause di errori Symptom: pnpdump da un'indicazione del tipo: "No boards found". Può anche accadere che una o più delle schede ISA-PnP installate non vengano riconosciute: Cause possibili: * Nel Vostro computer non avete installato nessuna scheda ISA-PnP: con- trollate quali schede siano installate nel Vostro sistema e leggetene la do- cumentazione. Eventualmente, chiedete al Vostro rivenditore quali schede sono installate. * La/le scheda/e è/sono difettosa/e: controllate che la scheda sia collocata al posto giusto. Controllate che le schede funzionino su un altro sistema operativo. * Esistono schede che possono venire usate come schede ISA-PnP o a cui possono venire attribuite risorse fisse (Esempio: alcune schede Ethernet NE2000 da 10 MBit). Per lo più, con un programma DOS, si può cambia- re fra un modo e l'altro. A seconda della configurazione di tali schede, queste non appaiono nell'output di pnpdump. * Alcune schede ISA-PnP non possono venire usate in un sistema assie- me ad altre nello stesso sistema, per cui pnpdump Vi mostrerà solo una scheda. In un caso del genere, si può configurare una scheda (p.e. agendo direttamente su di essa tramite jumper) in modo che non venga più rilevata come ISA-PnP, ma che usi risorse configurate stabilmente. * Molto raramente si trovano schede che dopo la chiamata di pnpdump si risettano da sole: ciò può portare al crollo del sistema, se si tratta per esempio di una scheda SCSI da cui "dipende" la partizione root. Avete anche Voi questo problema? Configurate (se possibile) la scheda in modo tale che non sia in grado di lavorare come ISA-PnP. Eventualmente è an- che possibile rinunciare completamente all'inizializzazione della scheda sotto Linux e fare invece il boot del sistema con un warm start, passando, 179 6 L'hardware in un computer Linux p.e., da DOS/Windows e facendosi aiutare da loadlin: ecco che la scheda è inizializzata. Sintomi: All'esecuzione del comando isapnp o durante il boot, ricevete una comunicazione di errore del tipo: * LD setting failed, this may not be a problem. * Try adding (VERIFYLD N) to the top of your script ** Error occured requested `LD2` on or around line 319 * --- further action aborted Soluzione: Seguite il consiglio dato dalla comunicazione d'errore e aggiungete all'inizio di /etc/isapnp.conf la riga: (VERIFYLD N) per esempio # [...] # (DEBUG) (VERIFYLD N) (READPORT 0x0203) (ISOLATE) (IDENTIFY *) # [...] Sintomi: All'esecuzione del comando isapnp o durante il boot, ricevete una comunicazione di errore del tipo: [...] /etc/isapnp.conf:66 -- Fatal - resource conflict allocating 16 bytes of IO at 220 (see /etc/isapnp.conf) /etc/isapnp.conf:66 -- Fatal - IO range check attempted while device activated /etc/isapnp.conf:66 -- Fatal - Error occurred executing request ' ' --- further action aborted Soluzione: Probabilmente avete un conflitto tra i valori scelti in /etc/ isapnp.conf e di risorse già in uso nel Vostro sistema: adattate il file /etc/isapnp.conf ai dati dei dispositivi già in uso e che si trovano sot- to /proc; oppure fatene eseguire l'attribuzione dal programma pnpdump tramite l'opzione -c. Attenzione Ancora un'informazione: in alcuni casi si possono avere dei problemi se, tramite il BIOS, nel setup del computer è attivata la configurazione auto- matica dei dispositivi; se necessario, disattivatela. Poichè la configurazio- ne viene eseguita tramite pnpdump/isapnp, questa opzione di setup non è necessaria. 180 6.3 Scheda audio Se doveste avere problemi più gravi, vi consigliamo di leggere la documentazio- ne completa di pacchetto isapnp; la trovate sul Vostro sistema nella directory /usr/share/doc/packages/isapnp. Alla fine di questa sezione, guardere- mo più da vicino la configurazione di una scheda PnP, prendendo come esempio una scheda audio. 6.3 Scheda audio Attualmente, sul mercato, vengono offerti due tipi di schede audio: ISA e PCI, laddove quest'ultimo che sta gradualmente sostituendo le schede ISA. Probabilmente, fra un pò, non verranno più prodotte schede audio ISA. Attualmente, su SuSE Linux esistono due soluzioni per il supporto delle sche- de audio. La più semplice, è l'uso di YaST2. YaST2 usa l'unità di disco che vengono sviluppati nel cosiddetto progetto ALSA. Su questo progetto troverete informazioni sotto l'URL http://www.alsa-project.org. Potete installare i drivers ALSA anche con l'aiuto del programma alsaconf. 6.3.1 Configurare le schede sound con YaST2 Per configurare la Vostra scheda audio (se non è ancora successo durante l'in- stallazione, perchè, p.e., la scheda è stata inserita successivamente) inizializzate YaST2 come utente `root' e scegliete quindi il modulo `Hardware/Sound'. YaST2 cerca ora di riconoscere automaticamente la scheda sound ed emette una lista di unità di disco delle schede audio e i relativi modelli di schede audio per l'hardware riconosciuto. Da questa lista selezionate il driver relativo e il modello della scheda audio. Eventualmente, consultate il manuale della Vostra scheda audio. Se la scheda non viene riconosciuta, cliccate su `Manuale' e selezionate dalla lista dei driver delle schede audio per tutte le schede supportate, l'unità di disco adatta e il modello della scheda. Con un click sul tasto `Opzioni', potete indicare le opzioni specifiche delle schede. Anche qui il manuale della Vostra scheda potrà esserVi d'aiuto. Con `Avanti' arrivate alla maschera di prova, in cui potrete controllare la Vostra configurazione delle schede audio. Con i tasti `+' o `-' potete impostare il volu- me. Per non mettere in pericolo l'impianto e anche il Vostro udito, cominciate ca da 10%. Controllate anche il regolatore del volume del Vostro impianto. Con un click sul tasto `Test' dovrebbe ora essere possibile sentire un suono di test; in caso contrario, controllate il volume della maschera di controllo del Vostro im- pianto. Se il test ha avuto successo ed il volume corrisponde ai Vostri desideri, cliccate su `Avanti'. Con `Avanti' terminate la configurazione del sound e il volume viene memoriz- zato. Cliccate di nuovo su `Avanti' per ritornare a `YaST2 configurazione ed amministrazione del sistema'. In futuro, potrete modificare l'impostazione della Vostra scheda audio tramite i programmi kmix o gamix. 181 6 L'hardware in un computer Linux 6.3.2 Configurare la scheda audio con alsaconf Poichè YaST2 usa ALSA per la configurazione della scheda audio, questo capi- tolo è solo un'informazione supplementare per capire meglio ALSA. Eventual- mente, potrà anche aiutarVi ad eliminare problemi causati da una configurazione errata. ALSA (Advanced Linux Sound Architecture) viene supportata da molti ricer- catori e il numero di driver disponibili cresce continuamente. Oltre alla propria interfaccia (native), ALSA ne offre anche una per OSS, l'interfaccia compatibile con OpenSoundSystem. Potete perciò continuare ad usare programmi sviluppa- ti per OSS. Tutte le possibilità della configurazione audio possono però venire sfruttate tramite l'interfaccia ALSA. ALSA si basa completamente sul concetto del modulo del kernel. I modu- li necessari sono archiviati nella directory (/lib/modules/...) nell'ambi- to misc. La configurazione di ALSA avviene tramite impostazioni nel fi- le /etc/modules.conf. YaST2 si occuperà di queste impostazioni per Voi. ALSA offre anche un proprio programma, alsaconf, che può venire usato in alternativa a YaST2. Con ALSA siete in grado di impiegare contemporaneamente più schede audio. A questo scopo, il file /etc/modules.conf deve solo venire ampliato con i parametri necessari. Per integrare la Vostra scheda audio in SuSE Linux usando alsaconf, procedete in questo modo: * Fate il login su una console di testo come utente root. * Inizializzate il programma alsaconf terra:/ # alsaconf * Ora alsaconf cerca di trovare la scheda audio esistente; vengono cercate le schede bus ISA, e anche bus PCI. Vengono analizzate anche le schede Plug and Play sul bus ISA. * alsaconf Vi mostra un elenco delle schede audio trovate e Ve ne offre la configurazione. Se non è stata trovata nessuna scheda, appare subito una lista di selezione di tutte le schede possibili. * Vi verrà chiesto se modificare il file /etc/modules.conf o no. Confermate con YES. * Adesso vengono create tutte le registrazioni necessarie in /etc/modules. conf e viene caricata (per prova) l'unità di disco. * Infine avete la possibilità di controllare la scheda audio. A questo scopo, viene emesso un "Suono test". Ricordate di non alzare troppo il volume dei Vostri altoparlanti. * Al prossimo start del sistema, le unità di disco verranno caricati automaticamente. Potete però caricarli e toglierli manualmente. Usate 182 6.3 Scheda audio terra:/ # rcalsasound start per caricare le unità di disco e terra:/ # rcalsasound stop per scaricarle. Su Linux, la configurazione degli allacciamenti PS/2 non è necessaria, poichè il loro supporto è stabilmente integrato nel kernel. Il sistema riconosce quindi automaticamente gli allacciamenti PS/2 esistenti e può usare i dispositivi ad essi collegati. I collegamenti vengono riprodotti nel sistema con i device-file /dev/ kbd e /dev/psaux. 6.3.3 Allacciamenti seriali Gli allacciamenti (RS232) del Vostro computer vengono spesso usati per modem esterni. Potete anche usare il Vostro mouse su un'interfaccia RS232. Su Linux, per il supporto dei collegamenti, è necessario il modulo del kernel serial.o. Il modulo viene caricato automaticamente, se cercate di indirizzare dispositivi su questi collegamenti, tramite software idoneo. Se avete per esem- pio configurato il Vostro accesso ad Internet tramite modem al COM1, prima del collegamento con il provider, ne verrà automaticamente caricato il modulo. Con il piccolo programma setserial, potete modificare la configurazione della Vostra interfaccia seriale; ad ogni start del sistema, viene eseguito questo pro- gramma tramite lo script /sbin/init.d. Altre informazioni sul setserial si trovano nella manpage del programma stesso. I collegamenti seriali vengono interrogati dal sistema tramite i device-file /dev/ttyS0, /dev/ttyS1. 6.3.4 Allacciamenti paralleli L'allacciamento parallelo del Vostro computer viene solitamente usato per il col- legamento con la stampante. Lo potete però anche usare per lettori ZIP esterni o per CD-ROM. Il subsistema "Parport" dell'attuale kernel di Linux 2.2.xx, è fatto in modo da poter usare contemporaneamente più dispositivi con una sola interfaccia paral- lela. Un esempio può essere un lettore ZIPe collegato all'interfaccia parallela, a cui è collegata anche una stampante. Inizializzare il parport È necessario il supporto del kernel per parport e parport_pc. parport è il subsistema vero e proprio del kernel, mentre parport_pc è responsabile per il collegamento hardware dell'interfaccia del computer e per alcuni computer AXP. Con il comando terra: # modprobe parport_pc 183 6 L'hardware in un computer Linux Jun 3 09:15:53 tux kernel: parport0: PC-style at 0x378 [SPP, ECP] file 6.3.1: /var/log/messages: inizializzazione di parport potete collegare manualmente i moduli. Con il comando lsmod controllate che l'interfaccia sia stata trovata e configurata; nell'elenco dei moduli dovrebbe- ro apparire parport e parport_pc. Controllate anche nel file /var/log/ messages, con quali valori è stato inizializzato parport (vedi file 6.3.1). Le impostazioni su 6.3.2 si riferiscono alla configurazione dell'interfaccia; il commento separato spiega come sia possibile connettere un'ulteriore interfaccia parallela. alias parport_lowlevel parport_pc options parport_pc io=0x378 irq=none # If you have multiple parallel ports, specify them this way: # options parport_pc io=0x378,0x278 irq=none,none file 6.3.2: /etc/modules.conf: configurazione del parport Nota Se avete problemi, controllate prima nel BIOS del computer come è regi- strata l'interfaccia: l'interfaccia dovrebbe avere esplicitamente un indirizzo (possibilmente 0x378) e un proprio interrupt. Sono da evitare enventuali "auto"-configurazioni. Qualche volta, è anche necessario accendere i diversi dispositivi nella giusta se- quenza (controllate il manuale allegato). Ha sempre dato ottimi risultati accen- dere prima il computer e poi, ancora prima dell'inizio del caricamento, attivare subito i dispositivi esterni! Usare parport: stampante, ZIP-device, PLIP etc. Se volete usare un dispositivo su porta parallela, dovrete caricare il rispettivo modulo; nel caso di una stampante, si tratta del modulo lp: terra: # modprobe lp Fra l'altro, lsmod dovrebbe indicare: parport_pc 5568 1 (autoclean) parport 6884 1 [parport_pc lp] lp 5116 0 (unused) 184 6.3 Scheda audio Ulteriori spiegazioni si trovano nel file /var/log/messages come pure nel filesystem proc su /proc/parport. Se tutto va bene, non avrete più bisogno di caricare manualmente i moduli: lo farà automaticamente Kmod Per i dispositivi ZIP, usate ppa oppure imm (vd. 6.4.3 a pagina 189). Ulteriori indicazioni Per le sorgenti del kernel, consultate i file parport.txt e paride.txt nella directory /usr/src/linux/Documentation. Nel WWW sotto http://www.torque.net/linux-pp.html o http:// www.torque.net/parport/, troverete informazioni sullo stato attuale di programmazione del parport. 6.3.5 USB ­ Universal Serial Bus Nel 1994, Compaq, Intel, Microsoft e NEC hanno unito i propri sforzi per fissare le specificazioni dell'"Universal Serial Bus" (USB), con la meta di creare una connessione semplice per il telefono ed allargare lo spettro delle connessioni esistenti (seriali e parallele). Con l'aiuto di questo sistema bus e del "cavo USB", potete oggi collegare facilmente mouse, tastiera o scanner al computer. Ognuno di questi dispositivi si allaccia allo stesso tipo di porta e viene anche collegato al computer con lo stesso cavo. In questo modo, potete fare a meno di tutti quei cavi, al momento ancora necessari, come l'RS232 o il Centronics. Questo bus è anche in grado di "collegare" e sconnettere un dispositivi come la stampante a sistema caldo, quindi senza bisogno di dovere spegnere e riavviare il PC. La prima versione uscì nel 1996 e migliorò sempre di più da versione a versione. Nella versione attuale (USB 1.1.), vengono supportati contemporaneamente fino a 127 device. La larghezza massima della banda di trasmissione è limitata a 12 Mbit/s. Su Linux, il supporto di questo sistema bus progredisce velocemente, ma lo svi- lupppo non è ancora finito. Diversi device possono venire collegati a Linux ed essere facilmente configurati. Moduli disponibili Segue un sommario dei moduli disponibili e con i dispositivi ad essi relativi. I moduli elencati si trovano nella directory /lib/modules/\currentkernel/ usb. Informazioni dettagliate sui singoli moduli si trovano nella directory /usr/ src/linux/Documentation/usb/. Da ora in poi, quando parleremo di "input event" o in generale di "eventi", intenderemo i movimenti del mouse, l'uso del mouse, etc. input.o Il modulo dovrebbe venire caricato prima di usare altri dispositivi a USB e per supportare le inserzioni su Linux. Serve alla comunicazio- ne fra l'hardware (via USB) e l'elaborazione degli eventi. Altre informa- zioni si trovano nel file input.txt sotto la directory /usr/src/linux/ Documentation/usb. 185 6 L'hardware in un computer Linux usbcore.o USB Core è il subsistema USB che semplifica la comunicazione con quell'hardware dipendente da determinati strutture di dati, macros e funzio- ni. Tramite un'interfaccia generale con il sistema operativo (API), vengono supportate le routine coumuni di tutti i dispositivi USB ed host controler. usb-uhci.o / usb-ohci.o Questo modulo integra l'USB-Host-Controler della Vostra scheda madre. La maggioranza delle schede madri odierne ha un USB-Host-Controler integrato nel suo chipset. Schede madri precedenti e prive di tale funzione possono venire munite di schede PCI; l'USB-Host- Controler è integrato sulle schede PCI. Ci sono due standard con i quali sono compatibili questi USB-Host-Controller: l' Universal Host Controler Interface (UHCI) Intel o l'Open Host Controler Interface (OHCI) di Compaq. Il moudulo usb-ohci.o incorpora il chipset OHCI (Compaq, NEC, iMacs, OPTi, SiS, ALi, Lucent, CMD etc.). usb-uhci.o integra invece il chipset UHCI (Intel, VIA adapter) e viene usato per comunicare con i device tramite questo USB-Host-Controler. Suggerimento Se vi siete immessi come root, con il comando lspci -v | grep USB, potete leggere il tipo dell'USB-Host- Controler per caricare il modulo corrispondente al Vostro chipset. Nell'impostazione deve quindi apparire UHCI o OHCI. hid.o L'"HID" (Human Interface Devices) è una classe di unità di disco che comunica con questo modulo generale. Fra le unità supportate troviamo tastiere, mouse, joystick, digitizer,etc. Nella directory, per alcuni dispositivi esistono due moduli: il modulo *dev.o è un modulo "high-layer" (in cui p.e. "*" sta per "mouse") e fun- ge da interfaccia fra hardware e i programmi utenti come "X" o "games"; usb*.o è un modulo "low-layer" che crea gli input event. Vengono utilizza- ti tutti e due i moduli. Al posto del modulo "low" si può a volte anche usare il modulo hid.o. Con i dispositivi USB, ci sono due modi per descrivere gli input event: HID rende possibile il supporto di tutte le funzioni di un dispositivo e necessita il modulo più complesso hid.o; HIDBP (HID boot protocol) è un modo molto semplificato e supporta solo le funzioni fondamentali di un dispositivo, in modo che sia supportabile nel BIOS. usbkbd.o Questo modulo rende possibile l'utilizzo delle funzioni fonda- mentali di una tastiera nel modo HIDBP. Si dovrebbe però optare per un'integrazione di questa classe di dispositivi tramite il modulo hid.o. Diversamente da hid.o, in questo modulo vengono integrate solo tastiere. usbmouse.o Il modulo rende possibile l'uso delle funzioni fondamentali del mouse; è però preferibile l'integrazione di questa classe di dispositivi tramite il modulo hid.o. Diversamente da hid.o, con questo modulo vengono collegati solo mouse. 186 6.3 Scheda audio keybdev.o Il modulo "traduce" input event nell'architettura specifica modo-solo-dati (RAW) della tastiera; non è ancora maturo, ma "se la cava" con quasi tutte le architetture. mousedev.o Il modulo trasforma gli input event di mouse, digitizer o tablet in output PS/2. Poichè non è ancora compleatmente evoluto, per l'inte- grazione di questi drive è preferibile usare il modulo evdev.o o, con i mouse "wheel", il modulo hid.o. acm.o Caricate questo modulo se avete drive di comunicazione come modem o terminal adaper ISDN che corrispondono alla specificazione della clas- se dei dispositivi USB "ACM" (Abstract Control Model). I modem sup- portati sono elencati nel file acm.txt, nella directory /usr/src/linux/ Documentation/usb. audio.o Integra drive audio digitali e supporta mixer digitali, drive wave ed altopoarlanti. dabusb.o Supporta apparecchi per radioamatori. dc2xx.o Integra macchine fotografiche digitali di Kodak della serie DC-2xx e anche macchine non-Kodak. Trovate altre informazioni nel file dc2xx.txt, nella directory /usr/src/linux/Documentation/usb. evdev.o L'"evdev" è un'interfaccia generale (API) che regola l'input degli eventi dei dispositivi, poichè i codici degli eventi sono uguali in tut- te le architetture e sono indipendenti dall'hardware. Il modulo supporta quest'interfaccia API. ibmcam.o Serve per il supporto di macchine web di IBM-(C-It) e Xirlink anche se non vengono ancora supportate solo le caratteristiche più co- muni. Troverete altre informazioni nel file ibmcam.txt nella directory /usr/src/linux/Documentation/usb. joydev.o Per la comunicazione con joystick. ov511.o Integra il "Chip OV511" di Omnivision Technologies che si trova sot- to USB e che è integrato in diverse webcams. Inoltre vengono supporta- te anche videocamere con chip OV511/OV511+- e OV7610/20/20AE CCD. L'unità di disco è compatibile con la maggior parte delle applicazioni "Vi- deo4Linux", ma non è compatibile con altri programmi per viedeo conferen- ze. Per avere altre informazioni, leggete il file ov511.txt nella directory /usr/src/linux/Documentation/usb. printer.o Serve per la comunicazione con stampanti USB. scanner.o Originalmente fu sviluppato per scanner USB della ditta Hewlett Packard (HP), ma può venire usato per scanner USB indipendentemente dal- l'offerente e dal prodotto ID. Troverete altre informazioni nel file input.txt nella directory /usr/src/ linux/Documentation/usb. 187 6 L'hardware in un computer Linux usb-serial.o Con questo modulo potete guidare quei dispositivi USB che de- vono venire collegati in modo seriale. I segnali seriali vengono tramuta- ti in segnali USB. Possono venire amministrati contemporaneamente fino a 256 diversi collegamenti. Per altre informazioni (anche sui dispositivi sup- portati) leggete il fle usb-serial.txt nella directory /usr/src/linux/ Documentation/usb. usb-storage.o Integra drives USB della memoria di massa come zip, drives dei dischetti, dischi rigidi e dispositivi smartmediacard. L'unità disco non è però stabile con tutti i drive. wacom.o Intergra il Wacom Graphire/Intuos-Tablet nel Vostro sistema. Anche se questo supporto dovrebbe venire dato dal modulo HID, fino ad ora si è potuto integrare solo il Wacom PenPartner. wmforce.o Rende possibile l'uso di Logitech WingMan Force-joystick con col- legamento USB. Lavora bene "Force Feedback" (vibrazioni causate dal gioco del joystick o del volante), ma non viene supportato. Configurazione di un mouse e tastiera USB Per una normale configurazione con mouse e tastiera USB dovrebbero venire caricati i seguenti moduli: * input.o * mousedev.o * keybdev.o * usbcore.o * usb-uhci.o oder usb-ohci.o * hid.o Ilteriori sources Troverete ulteriori informazioni sull'implementazione di USB e sui dispositivi supportati, su: * http://www.linux-usb.org * http://www.qbik.ch/usb/devices/ 6.4 Device cambiabile Sotto Linux possono venire impiegati molti "strumenti di backup": dispositivi per i dischetti, dispositivi ZIP e JAZ, SyQuest-disk, dispositivi MO (magneto- ottico)... tutto è possibile. 188 6.4 Device cambiabile 6.4.1 Dispositivi per dischetti Per accedere facilmente ai dischetti MS-DOS-formattati, è stato sviluppato mtools. Naturalmente potete usare anche dischetti formattati ext2 o minix. Sono uti- lizzabili anche molti altri filesystem. Per questo dovete però montarli nel file system con l'aiuto del comando mount. 6.4.2 Drives LS 120 I dispositivi LS 120 sono ATAPI e vengono "serviti" dal driver IDE. Questi di- spositivi (come anche i disci rigidi (E)IDE) vengono integrati nel file system tramite il mount. 6.4.3 Dispositivi ZIP Esistono ZIP-devices per diverse interfacce: porta parallela, ATAPI e SCSI e USB. Per device IDE e SCSI avete bisogno di unità disco speciali. Queste varianti vengono collegate al rispettivo bus e possono quindi venire indirizzate dal driver pertinente (IDE- ovv. SCSI). I dispositivi vengono quindi interrogati dai device file. /dev/hda - /dev/hdd per IDE e /dev/sda - /dev/sdm per SCSI Con l'aiuto del comando mount, dovete montare il file system. Un po' più impegnativo è l'allacciamento della versione per porta parallela; per questo, sono necessari il supporto dell'hard disk SCSI, parport e l'aiuto di parport_pc (vedi 6.3.4 a pagina 183) come pure del driver del kernel ppa oppure imm; imm è adatto per i dispositivi più nuovi (p.e. per lo ZIP 250). Quindi provate prima a caricare imm: terra: # modprobe imm Se non avete successo, provate allo stesso modo con ppa: terra: # modprobe ppa In questo modo, viene automaticamente installato il subsystem parport; se non dovesse funzionare, leggete prima il 6.3.4 a pagina 183 f.). A volte ci si può aiutare con una impostazione su /etc/modules.conf (vd. 6.4.1). alias per scsi_hostadapter può venire usato solo se non avete un regolare hostadapter SCSI nel Vostro sistema! Alternativamente, è possibile registrare nel boot script le chiamate modprobe necessarie; riguardo a questo file, vd. 13.4 a pagina 330 ss. Dopodiché, è possibile collegarsi ai dischetti ZIP come all'hard disk SCSI; ciò significa che è necessario "montare" questi dispositivi 189 6 L'hardware in un computer Linux # alias scsi_hostadapter ppa pre-install ppa modprobe "-k" parport_pc file 6.4.1: /etc/modules.conf: configurazione ppa Il collegamento degli dispositivi ZIP USB è invece relativamente semplice. AssicurateVi prima che sia stato caricato il sottosistema USB (vedi anche il capitolo 6.3.5 a pagina 185). Devono essere stati caricati i seguenti moduli: usbcore usb-uhci oppure usbcore usb-ohci Caricate inoltre il modulo usb-storage. 6.5 Modem 6.5.1 Modem esterni I modem esterni vengono collegati direttamente con l'interfaccia seriale del com- puter. I programmi possono poi comunicare con il modem tramite i device file /dev/ttyS0, /dev/ttyS1 etc. 6.5.2 Modem interni I modem interni sono collegati o con il PCI-Bus o con l'ISA-Bus del computer. Ulteriori informazioni a riguardo si trovano nella sezione 6.2 a pagina 177. Poichè i modem vengono guidati tramite interfacce seriali, i modem interni stessi devono 'simulare' questa interfaccia. La tabella 6.1 dà un sunto delle risorse standard per le interfacce seriali. Device file Nome Interrupt Indirizzo IO /dev/ttyS0 COM1 4 0x3f8 /dev/ttyS1 COM2 3 0x2f8 /dev/ttyS2 COM3 4 0x3e8 /dev/ttyS3 COM4 3 0x2e8 Tabella 6.1: Risorse standard per interfacce seriali PCI-Modems Se siete in possesso di un modem PCI, si tratterà probabilmente di un cosiddetto "Winmodem". I winmodem non sono modem veri e propri. Questi modem 190 6.5 Modem necessitano di un driver speciale che emula poi un modem normale. Questo driver viene messo a disposizione dal produttore del modem e al momento è disponibile purtroppo solo per Microsoft Windows. Sotto l'URL http://www.o2.net/~gromitkc/winmodem.html troverete ulteriori informazioni su winmodem e il loro appoggio per Linux. Se però non si tratta di un winmodem, potete naturalmente usare il modem sotto SuSE Linux; è però necessario un po' di lavoro manuale, poichè questi modem non vengono automaticamente configurati. ISA-Modems Per poter usare modem ISA, sono necessarie due cose: * Il modem stesso deve venire configurato (Indirizzo IRQ e IO dell'interfac- cia). * Il kernel deve venire informato dell'esistenza della nuova interfaccia. Inizializzare il modem Come già descritto nella sezione 6.2 a pagina 177, per le schede che si basano sul bus ISA, può trattarsi di schede Legacy, Jumperless o PnP. In questa sezione è descritta anche l'attivazione delle schede PnP. Alcune indicazioni sulla configurazione delle schede: La configurazione delle schede su /dev/ttyS1 con IRQ 3 (COM2), è la più sem- plice. Anche l'uso di /dev/ttyS3 (IRQ 4) è possibile, può però entrare in conflitto con /dev/ttyS0 (COM1) poichè anche quest'interfaccia usa normal- mente IRQ 4. Se doveste perciò usare un mouse seriale (al COM1), non dovete configurare il modem su /dev/ttyS0 o /dev/ttyS2. Evitate anche IRQ 5 e 7, poichè questi vengono spesso usati da schede audio e interfacce per le stampanti. Trasferimento dei parametri al kernel Dopo che è stato configurato il modem, si deve informare il kernel della nuova interfaccia. Se avete messo il modem su /dev/ttyS0 o /dev/ttyS1, non avete bisogno di modificare niente. Dopo il prossimo start del sistema, le interfacce vengono automaticamente configurate. Per altre combinazioni IO-Port/IRQ, l'interfaccia viene riconosciuta tramite i comando setserial: terra:/ # setserial /dev/ttyS3 irq 10 Alla fine, potete configurare il modem per l'accesso a Internet. Per automatizzare la configurazione con l'aiuto del comando setserial, potete modificare il file /sbin/init.d/serial. Per automatizzare la configurazione dell'esempio precedente, il file deve venire modificato come segue: 191 6 L'hardware in un computer Linux La riga # run_setserial /dev/ttyS3 $AUTO_IRQ autoconfig viene cambiata in run_setserial /dev/ttyS3 irq 10 6.6 Streamer Gli streamer vengono usati per memorizzare grosse quantità di dati. Sul mer- cato, gli streamer sono disponibili con diverse interfacce per il collegamento al computer. SCSI-Streamer I più conosciuti, dovrebbero essere quelli che vengono collegati direttamente con il bus SCSI. Fondamentalmente, è possibile usare tutti gli streamer collegati ad uno SCSI-adapter supportato da Linux. Se il Vostro streamer dovesse dispor- re di funzioni speciali (per esempio una stazione cambio automatico streamer), ricordate che, per poter usufruire di queste funzioni, è necessario un software speciale. Lo SCSI-streamer viene regolato nel seguente modo: * Il primo streamer viene interrogato con i device file /dev/st0 e /dev/ nst0, il prossimo con /dev/st1 e /dev/nst1 etc. /dev/stX sta per uno streamer che, dopo ogni "azione" riporta il nastro all'inizio. /dev/nstX invece, si riferisce ad un device che lascia il nastro nella sua attuale posizione. Noi Vi consigliamo l'uso di /dev/nstX, poichè con il comando mt siete in grado di regolare esattamente il dispositivo. * Usate quindi il comando mt per mandare allo streamer i comando per il regolamento del nastro. terra:/ # mt -f /dev/nst0 retension Riavvolge il nastro dal principio fino alla fine. terra:/ # mt -f /dev/nst0 rewind Avvolge il nastro dietro gli ultimi dati. In questo modo potete aggiungere dati in un nastro in parte già usato. terra:/ # mt -f /dev/nst0 eof Avvolge il nastro dietro gli ultimi dati. In questo modo potete aggiungere nuovi dati in un nastro parzialmente usato. terra:/ # mt -f /dev/nst0 erase cancella i dati del nastro che si trova nel device. ATTENZIONE: tutti i dati del nastro andranno persi! 192 6.6 Streamer Streamer IDE Gli streamer IDE vengono collegati al bus IDE del computer. Il dispositivo viene riconosciuto automaticamente da Linux e Voi potete usarlo tramite i device file /dev/ht0 o /dev/nht0. Usate il comando mt, come descritto nella sezione 6.6. Floppy-streamer I floppy-streamer vengono semplicemente collegati alle porte floppy esistenti in ogni computer. Poichè però questi dispositivi sono un po' problematici da indirizzare, possono insorgere spesso problemi al momento di memorizzare i dati o al momento del backup. Per usare questi dispositivi sotto Linux, avete bisogno di un'unità di disco spe- ciale, l'unità di disco ftape; essa viene fornita con il kernel. Ulteriori informa- zioni riguardanti la configurazione di questi dispositivi le trovate nella documen- tazione sotto /usr/src/linux/Documentation/ftape.txt. La documen- tazione completa sul subsistema ftape si trova nella home page del produttore dell'unità http://www.math1.rwth-aachen.de/~heine/ftape/. 193 6 L'hardware in un computer Linux 194 7 Notebooks con schede-PCMCIA, APM e dispositivi IrDA 7 Notebooks con schede-PCMCIA, APM e dispositivi IrDA I notebook devono poter offrire una serie di strumenti particolari, come, p.e., l' "Advanced Power Management" (APM), gli interfaccia a infrarossi (IrDA) e le schede PC (PCMCIA). Questi componenti vengono ogni tanto impiegati anche nei desktop, con differenze solo minime rispetto a quelli dei notebook. È per questo che, in questo capitolo, descriveremo il loro uso e la loro configurazione per entrambi i tipi di computer. Chi è interessato all'esperienza già raccolta nell'uso di certi tipi di notebook, do- vrebbe sicuramente dare un'occhiata alla "Linux Laptop Homepage" all'indiriz- zo http://www.cs.utexas.edu/users/kharker/linux-laptop. Un'al- tra buona fonte d'informazione è la homepage "Moblix" sotto http:// mobilix.org/index.html (MobiliX ­ Mobile Computers and Unix), sulla quale troverete sia un interessante Laptop-Howto, che un IrDA-Howto. Inoltre, nella banca dati di supporto di SuSE, incontrerete anche l'articolo Laptop e note- book (PCMCIA) su Linux (file:/usr/share/doc/sdb/de/html/laptop. html). 7.1 PCMCIA 7.1.1 L'hardware PCMCIA sta per "Personal Computer Memory Card International Association" ma viene di norma usato come nome comune per l'hardware e il software ad esso associato. Il componente principale è la scheda PCMCIA; di questa scheda esistono due tipi: Schede PC: sono le schede al momento più diffuse. Per la trasmissione dei dati, esse usano un bus di 16 bit e sono relativamente a buon mercato. Molte sono compatibili senza problemi. Schede CardBus: un nuovo standard. Queste schede usano un bus di 32 bit che le rende più veloci, ma, purtroppo, anche più care. Poichè, però, il transfer- rate dei dati viene limitato in altre parti del sistema, la spesa spesso non conviene. Inoltre, esistono ancora poche unità di disco per queste schede, ed alcuni sono ancora instabili (anche a seconda del tipo di controller PCMCIA disponibile). Il comando cardctl ident ci dice, se il servizio PCMCIA è attivo, quale sche- da è inserita. Troverete un elenco delle schede supportate in SUPPORTED_CARDS 195 7 Notebooks con schede-PCMCIA, APM e dispositivi IrDA su /usr/share/doc/packages/pcmcia., assieme alla versione più recente del PCMCIA-HOWTO. Il secondo componente necessario è il controller PCMCIA, oppure anche il PCcard/Cardbus-bridge. Questi connettono la scheda con il bus PCI e, in vecchi dispositivi, anche col bus ISA. Questi controller sono quasi sempre compatibili con il chip Intel i82365, del quale vengono supportati tutti i modelli più comuni. Il tipo di controller può essere determinato con il comando probe. Il comando lspci -vt Vi può fornire interessanti informazioni sul PCI. 7.1.2 Software Se non sono già integrati nel kernel, troverete tutte le unità disco e i programmi di cui avete bisogno su pacchetto PCMCIA, serie a1. Fondamentali sono i moduli pcmcia_core, i82365 (o, raramente, tcic) e ds. Normalmente, questi mo- duli vengono automaticamente lanciati al momento del boot. Essi inizializzano i controller PCMCIA esistenti e mettono a disposizione le funzioni di base. Poichè le schede PCMCIA possono venire cambiate a sistema caldo, deve esiste- re un Daemon che controlli le attività degli slot. Questo compito viene eseguito dal Cardmanager (cardmgr); esso viene automaticamente inizializzato dopo il caricamento dei moduli di base. Se viene inserita una scheda, il Cardmanager ne rileva il tipo e la funzione e carica i moduli adatti; lsmod visualizza quale modulo è stato caricato. Se tutti i moduli sono stati caricati correttamente, il Cardmanager lancia, a seconda della funzione delle schede, determinati script di inizializzazione, che a loro volta creano i collegamenti di rete o (montano) partizioni da dischi rigidi SCSI. Se la scheda viene nuovamene estratta, il Card- manager provvede, tramite gli stessi script di prima, a terminare le diverse attività delle schede. Alla fine, verranno scaricati i moduli non più necessari. Teoricamente, è quindi possibile sfilare la scheda quando si vuole. Finchè non ci sono collegamenti di rete attivi, ciò è verissimo per schede di rete, schede- modem o schede ISDN. Se, invece, si hanno partizioni di dischi rigidi esterni in collegamento o NFS, bisogna assicurarsi che queste unità vengano sincronizzate e "smontate" (unmounted) accuratamente, poichè non è più possibile farlo una volta che la scheda sia disinserita. Se avete dei dubbi, terra: # cardctl eject può aiutarVi. Questo comando disattiva le schede finchè sono ancora infilate nel notebook. 7.1.3 Configurazione Quando il pacchetto PCMCIA è installato, su /etc/rc.config si trovano 4 variabili PCMCIA. START_PCMCIA indica se il servizio venga inizializzato durante il boot: lo si può sempre inizializzare manualmente con il comando rcpcmcia start, anche se START_PCMCIA è stato impostato su no. PCMCIA contiene il tipo di controller PCMCIA: questo valore viene automaticamente de- terminato durante l'installazione e si trova quesi sempre su i82365. Le due ri- manenti variabili PCMCIA_PCIC_OPTS e PCMCIA_CORE_OPTS contengono op- zioni per i moduli di base e possono normalmente rimanere vuote. L'opzione 196 7.1 PCMCIA predefinita do_pnp=0 in PCMCIA_CORE_OPTS è importante solo per i notebook della Compaq. Poichè la scelta del modulo di unità disco giusto per la sche- da usata viene eseguita dal Cardmanager (cardmgr), non sono necessarie altre configurazioni dell'hardware. Ethernet e TokenRing I sollegamenti di rete Ethernet o TokenRing possono venire creati da YaST senza alcun problema. Il dialogo `Configurazione di base della rete' si tro- va sotto `Amministrazione del sistema' `Configurare la rete'. La creazione della rete avviene come per i dispositivi classici. In più, il di- § ¤ spositivo in questione deve venire indicato come dispositivo PCMCIA con ¦F9 ¥ ; vd. sezione 3.7.3 a pagina 79. Tenete presente quanto segue: * Se sono stati selezionati più dispositivi Ethernet o TokenRing come PCMCIA, viene adottata solo la configurazione del primo dispositivo. * Diversamente dalle altre schede di rete, le configurazioni diventano subito § ¤ attive dopo aver terminato il dialogo con ¦F10 ¥ . * I nomi dei dispositivi indicati (eth0, eth1, tr0. . . ), sono una mera indi- cazione della tipologia di dispositivo, poichè la numerazione dei dispositivi PCMCIA avviene in modo dinamico. § ¤ * Se volete riattivare una voce precedentemente disattivata, premete § ¤ ¦F4 ¥ , e reimpostate il dispositivo come PCMCIA con ¦F9 ¥ . ISDN Anche per le schede PC del tipo ISDN, la configurazione avviene come al solito. § ¤ RicordateVi solo di impostare (con ¦F9 ¥ ) il tipo di dispositivo su PCMCIA nel- la `Configurazione di base della rete' (su `Amministrazione del sistema' `Configurare la rete'). Nel dialogo `Configurazione dell'hardware ISDN', non indicate né l'IRQ, né l'IO-Port. Anche il proto- collo di trasmissione (Euro-ISDN o 1TR6) non può essere modificato in questa sede. Tra le schede PCMCIA, ci sono anche i cosiddetti modem ISDN. In generale, si tratta di schede modem o schede multifunzionali con un "ISDN-Connection-Kit" supplementare. Esse vengono configurate come un modem. Modem Normalmente, nelle schede modem del PC, non ci sono impostazioni specifiche per le PCMCIA. Appena viene inserito un modem, esso è disponibilie su /dev/ modem. La configurazione con wvdial (wvdial) avviene come per i normali modem. 197 7 Notebooks con schede-PCMCIA, APM e dispositivi IrDA SCSI e IDE Il modulo dell'unità di disco adatta viene caricato dal Cardmanager: perciò, non appena viene inserita una scheda SCSI o IDE, i dispositivi ad esse collegati sono resi subito disponibili. I Devicename vengono determinati im modo dinamico. Per informazioni sui dispositivi SCSI o IDE, consultate /proc/scsi o /proc/ ide. Nota Prima di inserire le schede PCMCIA nella fessura (ingl. slot), devono es- sere attivi i dischi rigidi esterni, i lettori CD-ROM e simili. I dispositivi SCSI devono venire terminati in modo attivo. Importante: Prima di sfilare una scheda SCSI o IDE, dovrete aver smontato (ingl. unmount) tutte le partizioni dei dispositivi ad essa collegati. Se avete dimenticato di farlo, potrete accedere di nuovo a questi dispositivi solo dopo un reboot del sistema (anche se il resto del sistema continuerà funzionare stabilmente). È anche possibile installare Linux del tutto su tali dischi rigidi; il caricamen- to boot diventerà, però, un po' più complicato. In ogni caso, è necessario un "Bootdisk" che contenga il kernel ed un Init-Ramdisk (initrd); per ulteriori informazioni, consultate la sezione 12.4 a pagina 310 . initrd contiene un file system virtuale che contiene tutti i moduli e programmi PCMCIA necessari. Il "Bootdisk" di SuSE Linux e le bootdisk image sono fatti allo stesso modo, il che Vi permetterà di caricare sempre la Vostra installazione esterna. È, tuttavia, un po' complicato caricare ogni volta manualmente il supporto PCMCIA. Utenti esperti possono crearsi un dischetto di caricamento adatto al proprio sistema 1. 7.1.4 Cnfigurazioni per cambiare: gli "Schemi" Spesso, per i computer portatili sono necessarie configurazioni diverse: per esempio, una per il lavoro e una per casa. Con i dispositivi PCMCIA, questo non è un problema: i file di configurazione devono però venire adattati manualmen- te. La seguente descrizione non è valida per l'ISDN o il modem. Cfr. anche le istruzioni e i Tips&Tricks su /usr/share/doc/packages/pcmcia/README. SuSE. Nel caso della PCMCIA, una configurazione viene chiamata "schema" (ingl. scheme). I file di configurazione per i dispositivi PCMCIA che si trovano su /etc/pcmcia/*.opts possono contenere più schemi. In questi file, i dati di uno schema sono archiviati in blocchi di configurazioni, a cui è assegnato un "Indirizzo". Gli indirizzi sono parole separate da virgole. La prima paro- la è il nome di uno schema. Le altre parole contengono informazioni riguar- danti, per esempio, lo slot in cui si trova la scheda o i numeri di una parti- zione sul disco rigido. Per maggiori informazioni, consultate l'inizio dei file 1Troverete delle indicazioni a riguardo nel PCMCIA-HOWTO, sezione 5.3 "Booting from a PCMCIA device". 198 7.1 PCMCIA /etc/pcmcia/*.opts e l'HOWTO di PCMCIAQuesto schema SuSE viene modificato tramite SuSEconfig, al momento dell'impostazione del collegamento di rete tramite YaST. Per questo motivo, al prossimo avvio diSuSEconfig, tutte le modifiche eseguite manualmente e contenute in questo schema vanno di nuovo perse. Illustreremo la configurazione degli schemi sull'esempio di una scheda Ethernet. Si ha bisogno di due schemi di nome work ed home. Per crearli, sono necessari diversi blocchi di configurazione nel file /etc/pcmcia/network.opts (vd. file 7.1.1 nella pagina successiva). A questi blocchi vengono attribuiti i seguenti indirizzi: * SuSE,*,*,*: questo blocco deve restare se volete continuare ad usare YaST per poter configurare più facilmente. * work,*,*,*: in questo blocco viene configurata la rete per l'uso professionale. Di conseguenza, su * home,*,*,* avremo i dati per "casa". * *,*,*,*: anche questo blocco è già esistente e serve a configurare tutti gli schemi non ancora in essere. La cosa più semplice è configurare un blocco inserendo, con YaST, i dati deside- rati e copiando poi il blocco SuSE (adattato da SuSEconfig) e rinominandolo in work o home. Per chi preferisca configurare tutto manualmente, alcuni termini come NETMASK, BROADCAST, etc. e tutti i valori specifici nel PCMCIA-HOWTO (su /usr/share/doc/packages/pcmcia troverete la versione attuale). Si può passare da uno schema all'altro durante il caricamento o a siste- ma caldo. Il comando cardctl scheme mostra quale degli schemi sia at- tivo al momento; a sistema caldo potete cambiare schema con il comando cardctl scheme . Ad un nuovo start del sistema, questa configurazione non va persa; ciò significa che lo schema scelto per ul- timo sarà attivo anche dopo il prossimo boot, e questo finchè, durante il boot, non si sceglierà un altro schema. Al momento del boot, è possibile selezionare uno schema impostando la variabile SCHEME= alla voce `boot options' o direttamente al boot prompt (LILO:) Nella sezione 10.3.2 a pagina 254, troverete maggiori informazioni sul boot prompt. Per creare uno o più schemi di caricamento fissi, lo si può "affidare" al bootma- nager. Proseguiamo l'esempio e creiamo tre configurazioni di caricamento. Vi servirà ora il parametro append nel file /etc/lilo.conf. Dopo aver modifi- cato /etc/lilo.conf, date il comando lilo. Come nella configurazione- esempio nel file 7.1.2 a pagina 201 potrete inizializzare uno degli schemi durante il caricamento, inserendo w, h o s. 7.1.5 Se, nonostante tutto, non funziona Di tanto in tanto, subentrano dei problemi nell'uso di PCMCIA su alcuni note- book o con alcune schede. La maggior parte dei problemi possono venire risolti 199 7 Notebooks con schede-PCMCIA, APM e dispositivi IrDA # The address format is "scheme,socket,instance,hwaddr" . case "$ADDRESS" in SuSE,*,*,*) INFO="This scheme is to be configured by YaST/SuSEconfig" # [... gekürzt ...] ;; work,*,*,*) INFO="Netzwerkkonfiguration für die Firma über DHCP" IF_PORT="" BOOTP="n" DHCP="y" IPADDR="" NETMASK="" NETWORK="" BROADCAST="" GATEWAY="" DOMAIN="" SEARCH="" DNS_1="" MOUNTS="" start_fn () { return; } stop_fn () { return; } ;; home,*,*,*) INFO="Netzwerkkonfiguration für zu Hause (Home) mit fester Adresse" IF_PORT="" BOOTP="n" DHCP="n" IPADDR="10.0.1.23" NETMASK="255.255.255.0" NETWORK="10.0.1.0" BROADCAST="10.0.1.255" GATEWAY="10.0.1.1" DOMAIN="home.de" SEARCH="home.de work.de" DNS_1="10.0.1.1" MOUNTS="" start_fn () { return; } stop_fn () { return; } ;; *,*,*,*) INFO="Sample private network setup" # [... gekürzt ...] ;; esac file 7.1.1: /etc/pcmcia/network.opts 200 7.1 PCMCIA image = /boot/vmlinuz root = /dev/hda7 label = work alias = w append = "SCHEME=work" #image = /boot/vmlinuz root = /dev/hda7 label = home alias = h append = "SCHEME=home" #image = /boot/vmlinuz root = /dev/hda7 label = suseconf alias = s append = "SCHEME=SuSE" file 7.1.2: PCMCIA: passo da lilo.conf facilmente: per prima cosa, controllate se il problema non dipenda da una sche- da o se si tratta di un problema del sistema PCMCIA di base. È perciò sempre meglio, le prime volte, inizializzare il computer senza la scheda inserita. Solo il sistema di base sembra funzionare perfettamente, inserite la scheda. Tutte le co- municazioni utili del sistema sono state protocollate su /var/log/messages. Durante i necessari test, tenete il file sotto osservazione con terra: # tail -f /var/log/messages il che Vi permetterà di circoscrivere l'errore in uno dei due casi descritti qui di seguito. Il sistema di base PCMCIA non funziona Se, già durante il boot, il sistema si ferma alla comunicazione "PCMCIA: Star- ting services:" o se succedono altre cose strane, potrete fermare la'av- vio di PCMCIA al prossimo caricamento inserendo NOPCMCIA=yes nel boot- prompt (LILO:) Per poter ulteriormente restringere l'errore, caricherete ora manualmente i tre moduli di base, usando i comandi modprobe pcmcia_core, modprobe i82365 , ovvero (in rari casi) modprobe tcic e modprobe ds. I moduli critici sono i primi due. Se l'errore avviene durante il caricamento di pcmcia_core, ci si può aiutare con la pagina di manuale di pcmcia_core (man pcmcia_core). Le opzioni in essa descritte possono venire pre-testate assieme al comando modprobe. Per esempio, potete disattivare il supporto APM dei moduli PCMCIA; in casi spo- radici, possono verificarsi dei problemi. In casi del genere, ricorrete all'opzione do_apm; con do_apm=0 viene disattivato il power management: terra:~ # modprobe pcmcia_core do_apm=0 Se l'opzione scelta funziona, essa viene scritta nel file /etc/rc.config, nella variabile PCMCIA_CORE_OPTS: PCMCIA_CORE_OPTS="do_apm=0" 201 7 Notebooks con schede-PCMCIA, APM e dispositivi IrDA Altro caso raro è che sia la verifica dei campi IO liberi a dare problemi, ovvero quando altri componenti hardware se ne sentano disturbati. Aggirate il problema con probe_io=0. Se volete usare più opzioni, separatele con uno spazio: PCMCIA_CORE_OPTS="do_apm=0 probe_io=0" Se, durante il caricamento di i82365, si verifcano degli errori, consultate pagina di manuale di i82365 (man i82365). Un'altra possibile complicazione è il conflitto di risorse: quando un inter- rupt, IO-port o un'area di memoria vengono occupati due volte. Il modulo i82365 controlla queste risorse prima che vengano messe a disposizione di una scheda, ma, a volte, è proprio questo controllo a dare problemi. Per esem- pio, il controllo dell'interrupt 12 (PS/2-devices) causa, in alcuni computer, il blocco del mouse e/o della tastiera. In questo caso, ricorrete al parametro irq_list=. La lista contiene tutti gli IRQ che possono venire utilizzati. Quindi terra: # modprobe i82365 irq_list=5,7,9,10 o stabilmente in /etc/rc.config: PCMCIA_PCIC_OPTS="irq_list=5,7,9,10" Ci sono inoltre /etc/pcmcia/config e /etc/pcmcia/config.opts. Que- sti file vengono analizzati dal Cardmanager. Le configurazioni fatte in esso sono importanti solo per caricare le unità di disco dei moduli delle schede PCMCIA. Su /etc/pcmcia/config.opts possono anche venire inclusi o esclusi IRQ, IO-Port ed aree di memoria. La differenza rispetto all'opzione irq_list con- siste nel fatto che le risorse escluse da config.opts, pur non venendo usate per una scheda PCMCIA, vengono ugualmente verificate dal modulo di base i82365. La scheda PCMCIA non funziona bene Le cause principali sono tre: la scheda non viene riconosciuta, occupa risorse non autorizzate o non è affidabile. Se la scheda non viene riconosciuta, in /var/log/messages appare il mes- saggio "unsupported Card in Slot x". Questo messaggio dice solo che il Cardmanager non è in grado di attribuire la scheda ad alcuna unità disco. Per questa attribuzione, avrete bisogno di /etc/pcmcia/config. Questo file è, per così dire, la "banca dati delle unità di disco". La "banca dati dei driver" può venire ampliata, se si usano come esempio le voci esistenti. Con il coman- do cardctl ident, potrete scoprire come venga riconosciuta la scheda. Altre informazioni a riguardo si trovano nell'HOWTO di PCMCIA, sezione 6 ("Dea- ling with unsupported cards") e specialmente nella pagina di manuale di pcmcia (man pcmcia). Dopo la modifica di /etc/pcmcia/config, la scheda stessa deve venire ricaricata con l'aiuto del comando rcpcmcia reload. Alla maggior parte delle schede PCMCIA non interessa con quale IRQ o IO-Port siano usate; il problema consiste spesso nel fatto che una risorsa già utilizzata venga più tardi occupata da un altro dispositivo (CD-ROM al 2. IDE-Controller: IRQ 15; seriale o su IrDA-Port: IRQ 3, IRQ 4; scheda audio, stampante: IRQ 5, 202 7.1 PCMCIA IRQ 7). In questo caso, se ne esclude l'utilizzo in /etc/pcmcia/config. opts. Se una determinata scheda necessita di configurazioni speciali, trasmette le opzioni al modulo config.opts corrispondente. Se, per esempio, volete usare il modulo pcnet_cs l'IRQ 5, avrete bisogno della seguente formulaizone: module "pcnet_cs" opts "irq_list=5" Le opzioni possibili sono descritte nelle Manual-Pages esistenti per la maggior parte dei moduli2 Se non ci sono Manual-Pages, si possono prendere in consi- derazione diverse opzioni dalla pagina di manuale di i82365 (man i82365) o imparare a conoscere il codice sorgente del modulo. . . . Un problema tipico delle schede rete da 10/100 Mbit si ha quando il tasso di trasmissione non viene automaticamente e correttamente identificato. In un caso simile, ricorrete al comando ifport, che Vi permetterà di osservare e modi- ficare il tasso di trasmissione configurato; vd. pagina di manuale di ifport (man ifport). La configurazione adatta può essere poi inserita nella variabile IFPORT su /etc/pcmcia/network.opts. 7.1.6 Installazione via PCMCIA In alcuni casi, PCMCIA è necessaria per l'installazione di SuSE Linux. Sele- zionate allora il punto `carica moduli PCMCIA' alla voce `Moduli Kernel (Unità disco hardware)' di linuxrc Prima appaiono due aree di inserzio- ne, che potete compilare con le opzioni dei moduli pcmcia_core e i82365. Normalmente, però, queste aree rimangono vuote. 16:39:08 CET -ke- Le Ma- nual-Pages per pcmcia_core e i82365 si trovano, in formato di testo, sul primo CD, nella directory docu. Durante l'installazione, vengono le comunicazioni di sistema verrano riportate su una serie di console virtuali. Per passare da una § ¤ console all'altra, usare + ¦F ¥ . § ¤ § ¤ § ¤ In YaST2 si devono premere ¦Strg ¥+ ¦Alt ¥+ ¦F ¥ , perchè YaST2 si basa sull'X Window System. Una volta terminata la prima parte dell'installazione, il sistema viene in parte o completamente reinizializzato. In casi rari, allo start di PCMCIA potrebbe bloc- carsi il sistema. A questo punto, però, l'installazione è già sufficientemente avan- zata da poter caricare Linux con l'opzione boot NOPCMCIA=yes, senza PCMCIA (almeno in modo di testo). Su questo punto, troverete maggiore assistenza nella sezione 7.1.5 a pagina 199. 7.1.7 Altri programmi d'aiuto Abbiamo già menzionato il programma cardctl. cardctl è lo strumento più impor- tante per ricevere informazioni da PCMCIA o per eseguire determinate azioni. Ne troverete i dettagli nella pagina di manuale di cardctl (man cardctl), oppure, digitando cardctl, nella lista dei comandi validi. 2Tipp: rpm -ql pcmcia | grep man elenca tutte le Manual-Pages contenute nel pacchetto pcmcia. 203 7 Notebooks con schede-PCMCIA, APM e dispositivi IrDA Figura 7.1: PCMCIA ­ Cardinfo Per questo programma c'è anche un frontend grafico cardinfo (vedi figura 7.1) con cui poter controllare le cose più importanti. Purtroppo, non Vi permette di cambiare schema. Per gli amici di KDE, esiste anche un kardinfo. Questo tool è la stessa cosa. Non differisce molto da cardinfo. Altri 'assistenti' inseriti nel pacchetto pacchetto pcmcia sono ifport, ifuser, probe e rcpcmcia. Questi, però, non vengono usati quotidianamente. Per sapere esattamente che cosa abbia ancora da offrire pacchetto pcmcia, usate il comando rpm -ql pcmcia. 7.1.8 Compilare PCMCIA Se volete attualizzare il kernel e non trovate nessun pacchetto PCMCOA adatto sul server FTP di SuSE, dovrete compilare Voi stessi il pacchetto PCMCIA. È importante che, durante la nuova compilazione, si già in funzione il kernel giusto, poichè è da questo che verranno estratte alcune informazioni. Il pacchetto pcmcia dovrebbe essere installato, ma non ancora inizializzato; perciò, in caso di dubbio, ricorrete di nuovo a rcpcmcia stop. Installate quindi con YaST il pacchetto sorgente di PCMCIA ed digitate: terra: # rpm -ba /usr/src/packages/SPECS/pcmcia.spec Questo è tutto: ora, su /usr/src/packages/RPMS si trova persino un pacchet- to binario che può anche venire utilizzato per altri sistemi, se si impiega lo stesso kernel. 204 7.2 APM ­ Power management 7.2 APM ­ Power management 7.2.1 Requisiti Power management ha bisogno di hardware specifico e di un BIOS-Routinesbios adatto. La maggior parte dei notebook e molti desktop moderni soddisfano già queste esigenze. Le funzioni di risparmio energetico sono tuttavia veramente importanti solo nelle utenze "mobili". È su queste funzioni che ci concentreremo in quel che segue: Stand-by ­ In questa modalità, viene spento solo il display e vengono ridotte le prestazioni di alcuni dispositivi. Suspend (to memory) ­ lo stato attuale del sistema viene completamente sal- vato sulla memoria principale e tutto il sistema, tranne la memoria, viene "messo a dormire". In questo stato, il computer consuma pochissima corren- te: in questo modo, le batterie durano da 12 ore fino a più giorni, a seconda del modello. Il vantaggio di questa modalità consiste nel fatto che è possi- bile, nel giro di pochi secondi, riprendere a lavorare esattamente da dove si ha smesso, senza dover prima caricare sistema e programmi. Uno dei punti di forza di Linux consiste nel fatto che si potrebbe benissimo fare sempre a meno di spegnere completamente il sistema (dopo un pò, alcuni sistemi operativi diventerebbero instabili). Nella maggior parte dei nuovi computer portatili, è sufficiente chiudere il coperchio per sospendere l'attività e, per continuare, basta riaprirlo e continuare a lavorare. Hibernation (Suspend to disk) ­ In questa modalità, il computer resiste più di un inverno (Hibernation == ibernazione), poichè lo stato del sistema vie- ne memorizzato completamente sul disco rigido e il sistema viene spento. Il ritorno dall'"ibernazione" dura dai 30 ai 90 secondi e, anche qui, viene ripristinato lo stato antecedente al suspend. Controllo dello stato dell'accumulatore ­ Molto interessante. Interruzione automatica ­ Interessante anche per i desktop. Dopo uno "shutdown", il computer viene completamente spento. Disinserire l'hard disk ­ Risparmia corrente e nervi (se il disco rigido fa con- fusione). Questa funzione, però, dipende anche da altri fattori. Un editor che, per esempio, esegua regolarmente delle memorizzazioni automatiche, innesta costantemente il disco rigido. Il BIOS esegue da solo alcune di queste funzioni. Su molti notebook, standby e suspend possono venire attivati tramite una combinazione di tasti o chiudendo o aprendo il coperchio. Non è necessaria alcuna funzione da parte del siste- ma operativo. Chi però voglia o debba avviare queste modalità operative con un comando, in modo che, prima del suspend, possano ancora venire eseguite determinate azioni, deve aver installato i relativi pacchetti e il kernel adatto. 205 7 Notebooks con schede-PCMCIA, APM e dispositivi IrDA 7.2.2 Il kernel giusto Per godere della funzionalità dell'APM è necessario un kernel che contenga il supporto dell'APM stesso. Uno dei kernel standard di SuSE, installabile con YaST, presenta tali requisiti. Verificate personalmente con il semplice coman- do cat /proc/apm. Se appare una riga con diversi numeri, è tutto a po- sto. Ora, shutdown -h dovrebbe portare allo spegnimento del computer. Poi- chè alcune applicazioni del BIOS non corrispondono esattamente agli standard, il sistema potrebbe comporstarsi in modo strano. Alcune di queste stranezze possono essere aggirati con speciali configurazioni del kernel. Per maggio- ri informazioni a riguardo, consultate la nostra banca dati di supporto http: //sdb.suse.de/sdb/de/html/o la "Linux Laptop Homepage" all'indirizzo http://www.cs.utexas.edu/users/kharker/linux-laptop. 7.2.3 L' APM-daemon Questo apmd serve a controllare la batteria e, se subentrano uno "Standby" o un "Suspend", è in grado di avviare determinate azioni. Si trova nella pacchet- to apmd, serie ap. Per poterlo inizializzare automaticamente al momento del boot, impostate, su /etc/rc.config, la variabile START_APMD su yes. Con rcapmd start potrete però sempre inizializzarlo manualmente. Troverete alcune variabili di la configurazione su /etc/rc.config.d/apmd. rc.config. Il file è commentato, perciò qui troverete solo alcuni accenni. * In SuSE Linux, PCMCIA è compilato senza supporto per APM. Chi non vo- glia compilare nuovamente il pacchetto PCMCIA, può impostare la variabi- le PCMCIA_SUSPEND_ON_SUSPEND su yes. Ciò nonostante, alcune schede non funzionano dopo un suspend, motivo per cui potete ricorrere al metodo PCMCIA_EJECT_ON_SUSPEND=yes. * Se dopo un suspend, l'orologio va più bene, impostate SET_CLOCK_ON_RESUME su yes. * Se l'X Window Systemdà problemi e se il sistema non si sveglia, ricorrete alla formula LEAVE_X_BEFORE_SUSPEND=yes. * Allo stesso modo, disattivate i moduli del sound durante il suspend, uti- lizzando APMD_STOP_SOUND_BEFORE_SUSPEND=yes. ATTENZIONE: nel momento in cui disattivate i moduli, vengono chiuse anche delle applica- zioni sound attive (diversamente, non sarebbe possibile disattivare i modu- li). Perciò, se perciò state elaborando dei dati musicali, non dimenticate di memorizzarli prima di toccare i moduli. Potete anche adattare automaticamente il comportamento di "Spindown" del di- sco rigido alla batteria o alla rete o far spegnere automaticamente il sistema ogni volta che la batteria raggiunga una capacità critica. Gli utenti esperti potranno anche inserire altre funzioni nel file /usr/sbin/apmd_proxy. 206 7.3 IrDA ­ Infrared Data Association 7.2.4 Altri comandi Nel pacchetto apmd sono contenuti altri programmi utili. Con apm, potrete ve- rificare l'attuale livello della batteria e mettere il sistema in standby (apm -S) o suspend (apm -s); vd. pagina di manuale di apm (man apm). Il comando apmsleep sospende il sistema per un determinato lasso di tempo; vd. pagina di manuale di apmsleep (man apmsleep). Per chi desiderasse osservare un logfile, senza tenere continuamente in funzione il disco rigido, abbiamo tailf in sostituzione di tail -f. Anche qui, abbiamo creato dei tool per l'X Window System. Nel pacchetto pac- chetto apmd troverete anche xapm, che indica graficamente lo stato di carica della batteria. Se usate il desktop di KDE (o almeno kpanel) , potete farVi mostrare da kbatmon il grado di carica dell'accumulatore e sospendere il sistema. 7.2.5 Pausa per il disco rigido Su Linux, è possibile disinnestare il disco rigido quando questo non serve: il programma hdparm Vi permette di eseguire diverse configurazioni dei dischi ri- gidi. Con l'opzione -y, il disco rigido viene subito messo in standby e, con -Y, viene completamente disinnestato. Con hdparm -S 6, otterrete che il disco ri- gido venga disinnestato dopo 30 secondi di inattività. In questo caso, il numero 6 sta per 6 5 = 30 secondi, il valore 0 disattiva questa funzione. Con valori più alti, aumenta anche il moltiplicatore; troverete informazioni più dettagliate nella Manual-Page corrispondente. Su /etc/rc.config.d/apmd.rc.config è possibile impostare lo stand-by in dipendenza dal fatto che si lavori con la batteria o con corrente elettrica. In questo caso, la variabile CHECK_TIME deve essere impostata su 0. Purtroppo, il disco rigido viene usato spesso e, di conseguenza, constantemente "svegliato". In parte responsabili ne sono alcuni programmi (p.e. gli editor di testo) che memorizzano regolarmente i loro dati sul disco rigido. Ma anche tool d'aiuto come tail -f tengono il disco rigido in funzione. In compenso, questi ultimi possono venir sostituiti da tailf . Bisogna sapere che, su scritti direttamente sul disco rigido, bensì un buffer che viene tenuto a disposizione dal kernel. In questo scrittura. Affinchè non vadano update-daemon si occupa, a intervalli di tempo preconfigurati, della sincronizza- zione del disco rigido e di questo buffer; questo daemon è quello che scrive, alla fine, i dati sul disco rigido. Dal kernel 2.2.11 in poi, il daemon è parte integrante del kernel e non può più venire facilmente "mobile Update-Daemon". Lo si può però tramite il file system /proc. Il comando queste il disco rigido. 7.3 IrDA ­ Infrared Data Association IrDA (Infrared Data Association) è lo standard per la comunicazione a raggi in- frarossi. Molti dei laptop più recenti sono muniti di una porta compatibile con 207 7 Notebooks con schede-PCMCIA, APM e dispositivi IrDA IrDA e che rende possibile la comunicazione con altri dispositivi, come stam- panti, modem, LAN o altri laptop. La velocità di trasmissione va dai 2400 bps fino ai 4 mbps. Nota Il supporto Linux di questo protocollo non è ancora completo; per questo motivo, questa funzione non è integrata nel kernel standard e viene, al mo- mento, ancora considerata sperimentale, ovvero allo "stato beta". Questa unità di disco è quindi ancora molto giovane, non è stata accuratamente testata e può non rivelarsi così stabile come le altre parti del kernel. Software Il pacchetto pacchetto irda mette a disposizione il supporto per l'interfaccia parallela e il protocollo IrDA: dopo l'installazione del pacchetto, ne trovate la documentazione sotto /usr/share/doc/packages/irda/README. Dal pacchetto howto viene installato l'IR-HOWTO; dopo l'installazione, lo si trova sotto /usr/share/doc/howto/en/IR-HOWTO.gz. Troverete ulterio- ri dettagli sul progetto Linux IrDA all'indirizzo http://www.cs.uit.no/ linux-irda/. Configurazione Al momento dell'installazione, questo pacchetto registra le variabi- li START_IRDA, IRDA_PORT e IRDA_IRQ nel file /etc/rc.config. Normalmente, l'IrDA è disattivato: con il comando terra: # rcirda start potete sempre attivarlo o disattivarlo (con il parametro stop) manualmente. Al momento dell'attivazione dell'interfaccia vengono automaticamente attivati anche i relativi moduli del kernel. Tramite IRDA_PORT (proconfigurazione /dev/ttyS1) e IRDA_IRQ (preconfi- gurazione 3), potete configurare l'interfaccia usata per IrDA, lanciando lo script /etc/irda/drivers allo start del supporto per IrDA. Impostando START_IRDA su yes, avrete a disposizione il supporto dell'inter- faccia a raggi infrarossi subito dopo il boot. Purtroppo, IrDA ha bisogno di molta energia (ovvero batterie), dal momento che, ogni paio di secondi, invia un pacchetto di "discovery" per il rilevamento automatico degli altri dispositivi. Utilizzo Se volete, per esempio, stampare tramite raggi infrarossi, potete inviare i dati tramite il file di dispositivo /dev/irlpt0. Il file di dispositivo /dev/irlpt0 si comporta come una normale interfaccia (/dev/lp0) a cavi; la sola differenza è che i dati vengono inviati alla stampante tramite raggi infrarossi. 208 7.3 IrDA ­ Infrared Data Association Con YaST (vedi 3.7.1 a pagina 75) potete configurare una stampante con interfac- cia a raggi infrarossi esattamente come avete fatto per quella su porta parallela. Fate solo attenzione ad allineare la stampante con l'interfaccia a raggi infrarossi del computer e che il supporto sia attivato. Se volete comunicare con altri computer o (p.e.) telefonini e altri dispositivi simili, potete farlo tramite il file di dispositivo /dev/ircomm0. Per esempio, con il telefono cellulare Siemens S25, ci si può collegare ad Internet tramite raggi infrarossi, utilizzando il programma wvdial. Troubleshooting Se i dispositivi non reagiscono alla porta infrarossi, l'utente `root' può ve- rificare se l'altro dispositivo viene identifiato dal computer; per farlo, usate il comando: terra: # irdadump Con una stampante Canon BJC-80 "a vista" del computer terra, apparirà ad intervalli regolari un output simile al seguente (vedi output 7.3.1): 21:41:38.435239 xid:cmd 5b62bed5 > ffffffff S=6 s=0 (14) 21:41:38.525167 xid:cmd 5b62bed5 > ffffffff S=6 s=1 (14) 21:41:38.615159 xid:cmd 5b62bed5 > ffffffff S=6 s=2 (14) 21:41:38.705178 xid:cmd 5b62bed5 > ffffffff S=6 s=3 (14) 21:41:38.795198 xid:cmd 5b62bed5 > ffffffff S=6 s=4 (14) 21:41:38.885163 xid:cmd 5b62bed5 > ffffffff S=6 s=5 (14) 21:41:38.965133 xid:rsp 5b62bed5 < 6cac38dc S=6 s=5 BJC-80 \ hint=8804 [ Printer IrCOMM ] (23) 21:41:38.975176 xid:cmd 5b62bed5 > ffffffff S=6 s=* erde \ hint=0500 [ PnP Computer ] (21) output 7.3.1: IrDA: irdadump Se non dovessero esserci output o se l'altro dispositivo non "si facesse sentire", controllate la configurazione dell'interfaccia. State usando l'interfaccia giusta? Qualche volta, l'interfaccia a raggi infrarossi si trova anche su /dev/ttyS2 o /dev/ttyS3 oppure viene usato un altro interrupt al posto dell'interrupt 3. In quasi tutti i laptop, queste sono configurazioni impostabili nel setup del BIOS. Tenete anche presente che potete connetterVi ad ogni dispositivo che suppor- ti i protocolli Printer o IrCOMM. Con programmi speciali (irobex_palm3, irobex_receive, leggete la descrizione in IR-HOWTO); potete anche connet- terVi a dispositivi che usino il protocollo IROBEX (p.e. 3Com Palm Pilot). Al- l'output di irdadump, i protocolli supportati dal dispositivo vengono indicati fra parentesi quadre, dopo il nome del dispositivo stesso. Il supporto del protocol- lo IrLAN fa parte dei "lavori in corso"; purtroppo, al momento, non è ancora stabile, ma, fra breve, sarà certamente disponibile anche su Linux. Con una semplice videocamera, potete controllare se il LED infrarosso è acceso; al contrario delle persone, la maggior parte delle videocamere può "vedere" i raggi infrarossi. 209 7 Notebooks con schede-PCMCIA, APM e dispositivi IrDA 210 8 Stampa 8 Stampa In questo capitolo, parleremo dei procedimenti essenziali in corso "dietro le quinte" durante la stampa: non andremo troppo a fondo, solo quanto basta per capire il processo di stampa. 8.1 Principi e premesse per la stampa Generalmente, su Linux le stampanti vengono indirizzate solo tramite le cosid- dette "code" (ingl. queue). I dati da stampare vengono temporaneamente archi- viati in una "coda" e poi inviati alla stampante (nella giusta sequenza) per mezzo del print spooler. Il print spooler fa sì che i comandi di stampa inviati allo stesso tempo arrivino alla stampante e vengano stampati senza ostacolarsi a vicenda. Spesso, i dati da stampare non sono nella forma voluta dalla stampante per l'ese- cuzione del lavoro: una grafica per esempio, deve normalmente venire tramutata in un formato stampabile. Questa trasformazione dei dati avviene tramite il "fil- tro della stampante"; questo filtro della stampante è un programma capace di tradurre i dati da stampare in una lingua comprensibile alla stampante. 8.1.1 Le diverse lingue standard della stampante ASCII-Text ­ Normalmente, ogni stampante può editare direttamente almeno un testo ASCII: ci sono stampanti che non sono in grado farlo ma che posso- no venire interrogate in una delle seguenti lingue standard per la stampante. Un'eccezione a questa regola sono le "stampanti GDI", concepite per Win- dows non sono in grado di stampare né testi ASCII né altri dati che si trovino in una delle seguenti lingue standard per stampanti. PostScript ­ PostScript è la lingua standard per stampanti su Unix/Linux. Se non avete a disposizione alcuna stampante PostScript, su Linux viene usato uno speciale programma filtro (Ghostscript) che trasforma i dati PostScript in altre lingue standard per stampante. PCL 5 o PCL 6 ­ Queste lingue sono diffuse nelle stampanti laser. PCL 3 ­ Questa lingua viene compresa da quasi tutte le stampanti HP DeskJet e dai relativi modelli compatibili. ESC/P, ESC/P2 o ESC/P Raster ­ Queste lingue vengono capite da quasi tutte le stampanti Epson e dai relativi device compatibili. 211 8 Stampa 8.1.2 La problematica delle stampanti GDI Sul mercato si trovano numerose stampanti, che vengono vendute con la scrit- ta "for Windows"; un'altra denominazione spesso usata, è "stampante GDI". Molto spesso, queste stampanti non possono venire usate sotto Linux o, se siete fortunati, riuscirete ad usarle, ma con molte restrizioni; informateVi prima nel- la CDB sotto http://cdb.suse.de/ o, se se ne intende, chiedete al Vostro rivenditore! Nelle stampanti puramente GDI, il produttore rinuncia ad un protocollo standard e interroga direttamente la stampante con i gli impulsi di controllo del modello. Ma dobbiamo anche dire che ci sono stampanti che, oltre al modo GDI siano in grado di capire anche le "vere" lingue di stampa. 8.1.3 Hardware e software * La stampante viene supportata da SuSE Linux; vedi anche a riguardo gli elenchi nei seguenti file o ai seguenti indirizzi web: ­ /usr/share/doc/packages/ghostscript/catalog.devices ­ http://cdb.suse.de ­ http://www.picante.com `Supported printers database' ­ http://www.cs.wisc.edu/~ghost/printer.html Nota Nel WWW viene a volte nominato un Ghostscript-driver che necessi- ta dell'attuale versione di "Aladdin Ghostscript". A causa dei diritti di licenza, con SuSE Linux viene fornito il "GNU Ghostscript", ovvero la versione precedente di Ghostscript. Generalmente, però, esiste anche una unità di disco GNU Ghostscript con cui la stampante funziona. * La stampante può venire interrogata; vd. a riguardo la sezione 8.2 a pagina 214. * Usate un kernel originale di SuSE preso dai CD-ROM; non usate perciò un kernel a compilazione individuale. Diversamente, installate con YaST il kernel originale di SuSE e fate il boot con questo. * Avete installato con YaST i pacchetti del `SuSE Default System' o, con l'istallazione con YaST2 avete scelto almeno lo `Standard-System'. Il `SuSE Minimal System' non è sufficiente per la stampa normale. ­ pacchetto a2ps, serie ap ­ pacchetto aps, serie ap 212 8.1 Principi e premesse per la stampa ­ pacchetto gs_x11, serie ap ­ pacchetto gs_fonto, serie ap ­ pacchetto gs_fonts, serie ap ­ pacchetto gs_lib, serie ap ­ pacchetto lprold, serie n Per l'installazione successiva dei pacchetti, vd. la sezione 3.5 a pagina 66 ff. In caso di dubbio, orientateVi alla versione attuale dell'articolo SDB su file: /usr/share/doc/sdb/de/html/jsmeix_print-einrichten.html. Possibili problemi * Se avete eseguito un'update di una vecchia edizione di SuSE Linux, potreste trovare inconsistenze nei pacchetti e file (di configurazione) del sistema della stampante. In questo caso è consigliabile configurare nuovamente tutto il sistema della stampante. Gehen Sie dabei nach dem Artikel Drucker erneut einrichten vor. 8.1.4 Definizione di un'unità di disco per la stampante Negli elenchi nominati nella sezione 8.1.3 a fronte, sono indicati anche unità di disco Ghostscript relative ai singoli modelli di stampante. Anche se il produttore non può fornire particolari informazioni-Linux per quello che riguarda la Vostra stampante, troverete un aiuto nei seguenti consigli: * Appurate che la Vostra stampante sia compatibile con uno dei modelli fun- zionanti sotto Linux e prendete il driver Ghostscript del modello ad esso compatibile. Su Linux, compatibile significa che la Vostra stampante può stampare con le stesse sequenze di controllo binarie del modello compatibile: le stampanti "capiscono" direttamente la stessa lingua, che non deve quindi venire emula- ta tramite una unità di disco adatta (p.e. per Windows). La simulitudine nella denominazione delle stampanti, non comporta l'esistenza di una compatibi- lità. Questo è dovuto al fatto che, a volte, stampanti con una denominazione simile, non capiscono direttamente la stessa lingua. * Quale sia la lingua capita direttamente dalla Vostra stampante, potrete impa- rarlo dal produttore. Nel manuale della stampante, tra i dati tecnici, ne viene spesso indicata la lingua. Nella sezione 8.1.1 a pagina 211 troverete alcuni esempi per le lingue standard della stampante. * Le unità di disco Ghostscript con l'estensione .upp sono driver particolari. Si tratta di file-parametro per l'unità di disco uniprint-Ghostscript. Se trovate un file-parametro adatto alla Vostra stampante, usatelo per farne la configurazione. 213 8 Stampa 8.2 Collegare localmente la stampante 8.2.1 Le interfaccie parallele Il collegamento di una stampante ad un sistema Linux avviene generalmen- te tramite un'interfaccia parallela. Una stampante collegata ad un'interfaccia parallela, viene indirizzata attraverso il subsistema parport del kernel. Caricando driver supplementari specifici per l'architettura della stampante, de- vono venire notificate al subsistema parport le interfacce parallele (vedi sezio- ne 6.3.4 a pagina 183 ss.). In questo modo, possono venire "serviti" contempo- raneamente tramite una sola interfaccia parallela, più device collegati a catena. La numerazione dei device file per stampanti alla porta parallela comincia da /dev/lp0. Per poter stampare tramite la prima interfaccia parallela, nel kernel standard di SuSE devono essere caricati i moduli parport, parport_pc e lp: generalmente ciò viene eseguito automaticamente dal kmod (ingl. Kernel Modu- le Loader) (vd. sezione 9.2 a pagina 245) non appena viene inviato un incarico di stampa. Se non riuscite a trovare l'interfaccia parallela, potete aiutarVi con i parametri del kernel; Configurazione della prima interfaccia parallela La prima interfaccia parallela /dev/lp0 viene configurata per mezzo di una registrazione in /etc/modules.conf (file 8.2.1). alias parport_lowlevel parport_pc options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: # options parport_pc io=0x378,0x278 irq=none,none file 8.2.1: /etc/modules.conf: Prima interfaccia parallela In io si trova l'indirizzo IO dell'interfaccia parallela: in irq si trova none come preconfigurazione per il "modo polling" o l'interrupt delle interfaccie parallele. Il modo polling è generalmente più semplice del modo interrupt e, tutt'al più, con computer molto vecchi, più lento. Affinchè queste impostazioni funzionino, la seguente configurazione deve essere esseguita nel BIOS o tramite il firmware del computer per le prime interfacce parallele: * l'inidrizzo IO 378 (esadecimale) * l'interrupt 7 (nel modo polling. Non importantissimo) * il modo normale o SPP (altri modi non funzionano sempre) * il DMA è staccato (nel modo normale dovrebbe essere staccato) 214 8.2 Collegare localmente la stampante Test della prima interfaccia parallela Se la stampante ha la facoltà di stampare testi ASCII, si dovrebbe essere in grado di stampare su un foglio, come `root' (Amministratore del sistema), la parola hello usando il comando: terra: # echo -en "hello\f" > /dev/lp0 Configurazione della seconda interfaccia parallela Con un parametro su /etc/modules.conf (file 8.2.2), configurerete ora an- che una seconda interfaccia parallela, interrogabile all'indirizzo standard IO 278 (esadecimale) (p.e. tramite jumper su una scheda configurabile parallela ISA), deve venire configurata con una registrazione in /etc/modules.conf (file 8.2.2)). alias parport_lowlevel parport_pc # options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: options parport_pc io=0x378,0x278 irq=none,none file 8.2.2: /etc/modules.conf: Due interfaccie parallele La seconda interfaccia parallela è disponibile dopo un reboot o una nuova inizializzazione di tutti i servizi. Prova della seconda interfaccia parallela Se la stampante ha la facoltà di stampare testi ASCII, si dovrebbe essere in grado di stampare su un foglio, come `root', la parola hello usando il comando echo: terra: # echo -en "hello\f" > /dev/lp1 8.2.2 Schede speciali: ISA-PnP e PCI Se non è ancora conosciuto, dovrete determinare l'indirizzo IO di un'interfaccia parallela supplementare. Schede ISA PnP Qualche volta, è possibile configurare su tali schede anche valori fissi per l'in- dirizzo IO, interrupt e modo: lo si può fare per mezzo di jumper o, se avete DOS/Windows, per mezzo di un programma DOS/Windows fornito all'acqui- sto. Se non è possibile, impostate i valori fissi per l'indirizzo IO, interrupt e modo. Diversamente, i valori per l'indirizzo IO, interrupt e modo vengono registrati sulla scheda ISA PnP solo allo start di Linux. Quali valori debbano venire regi- strati, lo si può vedere nelle comunicazioni del boot di Linux. Alternativamente, procedete come descritto nel capitolo 6.2.1 a pagina 178. 215 8 Stampa Schede PCI Quali indirizzi IO e quale interrupt siano adatti per una scheda PCI, potete vederlo con il seguente comando (vd. l'output 8.2.1): terra: # /sbin/lspci -vv | less ... 00:0a.0 Parallel controller: ... ... Flags: stepping, medium devsel, IRQ 10 I/O ports at b400 I/O ports at b000 I/O ports at a800 I/O ports at a400 ... output 8.2.1: Estratto di lspci -v per una scheda PCI dell'interfaccia Ogni porta parallela possiede 2 indirizzi IO distanti l'uno dall'altro di 400 spa- zi di memoria. La registrazione della configurazione in /etc/modules.conf deve essere come nel file 8.2.3. alias parport_lowlevel parport_pc # options parport_pc io=0x378 irq=none,none # If you have multiple parallel ports, specify them this way: options parport_pc io=0x378,0xb400,0xa800 irq=none,none,none file 8.2.3: /etc/modules.conf: Scheda PCI con due interfaccie parallele Dopo un reboot o un nuovo avvio di tutti i servizi (vedi in questa pagina), sono disponibili tutte le interfacce parallele. Prova di tutte le interfacce parallele Presupposto di aver collegato una stampante normale (abilitata ad ASCII), si do- vrebbe, come utente `root', riuscire a stampare una pagina della parola hello per ognuno dei seguenti comandi: terra: # echo -en "hello\f" > /dev/lp0 terra: # echo -en "hello\f" > /dev/lp1 terra: # echo -en "hello\f" > /dev/lp2 Al posto di un reboot, è sufficiente, come utente `root', attualizzare la lista delle dipendenze dei moduli del kernel e (sempre che alle porte parallele siano collegate solo stampanti) fermare il daemon della stampante, scaricare e caricare nuovamente i moduli del kernel concernenti le interfacce parallele e riavviare il daemon della stampante: 216 8.2 Collegare localmente la stampante terra: # /sbin/depmod -a terra: # /sbin/init.d/lpd stop terra: # rmmod lp terra: # rmmod parport_probe terra: # rmmod parport_pc terra: # rmmod parport terra: # modprobe parport terra: # modprobe parport_pc terra: # modprobe parport_probe terra: # modprobe lp terra: # /sbin/init.d/lpd start 8.2.3 Collegamento USB Nel BIOS del computer, deve essere attivato un interrupt per l'USB. Con un Award-BIOS, per esempio, si deve impostare `USB IRQ' nel menù `PNP AND PCI SETUP' su Enabled (o simile). Immettendo, come utente root: terra: # echo -en "hello\f" > /dev/usblp0 provate se la stampante USB venga interrogata. Premesso che alla prima interfaccia USB /dev/usblp0 sia collegata una stam- pante in grado di stampare testi ASCII, verrà stampato ora un foglio con la parola hello. A volte, può succedere che la stampante USB non possa più venire interrogata, per esempio, se si stacca lo spinotto USB. In questo caso si devono terminare tutti i processi che sono indirizzati su /dev/usblp0 e si devono scaricare e caricare di nuovo i moduli del kernel concernenti la stampante USB immettendo, come utente root i seguenti comandi: terra: # fuser -k /dev/usblp0 terra: # rmmod printer terra: # rmmod usb-uhci # oder: rmmod usb-ohci terra: # umount usbdevfs terra: # rmmod usbcore terra: # modprobe usbcore terra: # mount usbdevfs terra: # modprobe usb-uhci # oder: modprobe usb-ohci terra: # modprobe printer Con lsmod controllate prima quali moduli USB siano caricati (se usb-uhci o usb-ohci) o se ci siano altre dipendenze di moduli, ad esempio la segnalazione usbcore ... [printer usb-uhci] indica che il modulo usbcore è ancora necessario ai moduli printer e usb-uhci. Perciò, in questo caso, prima del modulo usbcore, devono venire scaricati i moduli printer e usb-uhci. 217 8 Stampa 8.3 lpd: Print manager e tool 8.3.1 Il print manager in sottofondo Se su /etc/rc.config è stata inserita la variabile START_LPD=yes, l' lpd (ingl. Line Printer Daemon) viene attivato allo start del sistema dallo script /sbin/init.d/lpd. lpd lavora come Daemon in sottofondo. Allo start, lpd, in base a /etc/printcap, appura quali queue siano definite. Il suo compito è quello di organizzare l'esecuzione dei "lavori" (ingl. Jobs) simultanei (ingl. spool): * organizza le queue locali: invia il file dei dati di ogni lavoro attraver- so il filtro adatto (stabilito tramite la registrazione della queue in /etc/ printcap come pure da indicazioni esplicite nel file guida del lavoro) e dopo all'interfaccia della stampante; * tiene conto della sequenza dei lavori nelle queue; * Controlla lo stato delle queue e delle stampanti (file status nelle directory di spool locali) e, su richiesta, fornisce informazioni a riguardo; * inoltra gli incarichi di stampa alle queue su computer remoti e ai loro lpd; * prende incarichi di stampa da computer remoti per le queue locali o li rifiuta se l'autorizzazione non è sufficiente. Autorizzazione: Vengono accettate solo le richieste di host remoti (ingl. remote) riportati nel fi- le /etc/hosts.lpd del "Printservers"; è sufficiente anche una registrazione dell'host in /etc/hosts.equiv, ma ciò ha conseguenze molto vaste sulle pos- sibilità di accesso da questo host al computer locale e dovrebbe venire evitato per ragioni di sicurezza . Aggiunte nella definizione della queue, possono ave- re ulteriori limitazioni sull'utente di un determinato gruppo o sull'utente con un account sul computer locale. 8.3.2 Tool supplementari e tools di controllo per l'utente Per eseguire modificazioni nelle queues avete bisogno dei diritti `root', ciò significa che, se volete cancellare un incarico di stampa estraneo, dovete lavorare come `root'. lpq mostra i propri job in una queue (opzione -P); per esempio dall'immissione di tux@terra: > lpq -Pqueue si ottiene il risultato dell'output 8.3.1 nella pagina successiva. lprm cancella gli incarichi di lavoro da una queue, sempre che l'incarico appartenga all'utente che chiama lprm. Per esempio, l'immissione 218 8.3 lpd: Print manager e tool queue is ready and printing Rank Owner Job Files Total Size active tux 676 Saluti.txt 259420 bytes 1st tux 677 lettera.dvi 11578 bytes 2nd tux 683 immagine.gif 37464 bytes output 8.3.1: Esempio di un output del comando lpq. dfA676Aa05005 dequeued cfA676Aa05005 dequeued output 8.3.2: Esempio di un output del comando lprm. tux@terra: > lprm -Pwarteschlange 676 riporta le due righe di 8.3.2. Un incarico di stampa appartiene all'utente che l'ha inizializzato. Sia l'utente che il numero del lavoro vengono indicati al comando lpq. Poichè lo stesso job number può apparire in diverse queues, è sempre necessaria l'indicazione della queue. Se non si indica alcun numero di job, viene cancellato dalla queue in questione il job momentaneamente attivo; sempre che si tratti di un job proprio. lprm -Pqueue cancella l'incarico attuale dalla queue indicata, sempre che questi appartenga all'utente che ha dato il comando lprm. La stampante però stampa ancora i dati che sono già stati trasmessi alla sua memoria. lprm -Pqueue - cancella tutti gli incarichi di stampa dell'utente dalla queue indicata. Se `root' immette questo comando, vengono cancellati tutti gli incarichi di stampa dalla queue indicata. Suggerimento Per altri consigli e trucchetti riguardo al comando lprm, consultate il manuale "Configurazione"; cfr. l'indice del manuale. lpc serve al controllo delle queue. Come nome delle queue, si può indicare anche all (= tutte). Le opzioni più importanti sono: stato della queue ­ dà un resoconto dello stato attuale. Se manca l'in- dicazione , si ha lo stesso effetto come con , viene cioè emesso un resoconto per tutte le queue. disable queue ­ Ferma l'accettazione di nuovi job nella queue. enable queue ­ sblocca la queue e permette l'accettazione di nuovi job. stop queue ­ ferma la stampa di job provenienti dalla queue; l'attuale lavoro di stampa viene prima terminato. start queue ­ riprende la stampa dei lavori provenienti dalla queue. 219 8 Stampa down queue ­ si comporta come disable più stop . up queue ­ ha lo stesso effetto di enable più start . abort queue ­ è uguale a down, con la differenza che il lavoro in stampa viene subito interrotto. I job rimangono e possono venire eseguiti dopo un nuovo start della queue (up). Potete mettere questi comandi nella linea di comando di lpc (p.e. lpc status). Oppure chiamate lpc senza parametri; in questo caso verrà iniziato un dialog mode con la richiesta diimmissione lpc> (ingl. Prompt), e che richiede l'immissione del comando lpc. Con quit o exit terminate il dialogo. Nota Incarichi di stampa rimangono nella queue anche se durante una stampa viene eseguito il shutdown del computer e si inizia di nuovo Linux; un inca- rico di stampa errato deve venire eliminato dalla queue con i comandi sopra elencati. 8.4 lpr: inviare gli incarichi di stampa L'lpr è l'"interfaccia utente" quotidiana con le queues esistenti. Eccone il decorso: 1. L'utente crea da solo, con lpr, un nuovo incarico di stampa, oppure un'ap- plicazione usa il comando lpr, se, per esempio, l'utente fa stampare un documento. 2. lpr memorizza nella queue i dati da stampare. Da qui, lo spooler della stampante li invia al filtro (della stampante) appartenente alla queue della stampante. 3. Attraverso il filtro, i dati da stampare vengono trasformati nella forma capita dalla stampante e inviati alla stampante stessa. 4. Una volta arrivato per intero alla stampante, l'incarico di stampa viene tolto dalla queue. Normalmente si stampa con tux@terra: > lpr file o tux@terra: > lpr [-Pqueue] file Omettendo l'opzione -Pqueue ("Print-Queue", quale nome della queue), la pre- configurazione corrisponde al contenuto dell'ambiente variable PRINTER: se questa è vuota, viene usata la queue standard lp. Questo vale anche per lpq e lprm (vedi sotto). Diverse queue sono necessarie per i seguenti motivi: 220 8.4 lpr: inviare gli incarichi di stampa * Se ci sono più stampanti, queste vengono indirizzate tramite diverse queues, p.e. con tux@terra: > lpr -Pprinter2 file una seconda stampante per mezzo della queue printer2. * Per ogni queue si può usare un proprio filtro. Vengono perciò usate diverse queues per la stessa stampante allo scopo di usare diversi filtri: ad esempio viene utilizzata la queue standard con un filtro in grado di fornire sempre velocemente stampe in bianco e nero, mentre un'altra queue (p.e. di nome color) viene usata con un filtro lento che però fornisce le migliori stampe a colori possibili; ad esempio con tux@terra: > lpr -Pcolor file Se avete configurato la stampante con YaST1, YaST2 o lprsetup, come standard vengono sempre impostate le seguenti queue: lp ­ Se stampate un file tramite questa queue standard, come filtro viene sempre usato l'apsfilter. Il filtro stabilisce automaticamente quale tipo di dati sia contenuto nel file e in conformità ne avviene la trasformazione nel formato specifico per la stampante. ascii ­ Se con tux@terra: > lpr -Pascii file stampate il file per mezzo della queue ascii, come filtro viene usato l'apsfil- ter, ma questi non stabilisce automaticamente il tipo di dati contenuto nel file; alla chiamata viene detto che il file contiene un testo ASCII e in conformità avviene la trasfomazione nel formato specifico per la stampante. raw ­ Se con tux@terra: > lpr -Praw file stampate un file tramite la queue raw, come filtro viene usato l'apsfilter, ma questi non esgue alcuna trasformazione nel formato richiesto dalla stampante e il file viene inviato alla stampante nello stato "originale". In questo caso quindi il file deve già contenere dati in formato adatto alla stampa. In ognuno di questi casi, viene sempre usato lo stesso filtro per la stampante, ma, a seconda della queue, questi si comporta in modo diverso. Suggerimento Con incarichi di stampa particolarmente grandi, può essere bene, invece di una copia del file dei dati, far mettere su di essi un link simbolico nella spool directory: ciò viene eseguito dall'opzione -s di lpr. Naturalmente, fino alla fine della stampa, dovrete rinunciare ad accessi di scrittura su questo file. 221 8 Stampa 8.5 SETUP (lprsetup): configurazione del sistema di stampa Il pacchetto aps contiene il programma di configurazione SETUP (/var/lib/ apsfilter/SETUP) che può venire direttamente avviato con lprsetup. Esso offre i seguenti servizi: * elenco di tutte le configurazioni apsfilter della stampante * aggiunge e cancella le configurazioni apsfilter della stampante. 8.5.1 Indicazioni su lprsetup lprsetup è a menù e si usa con la tastiera. La scelta delle risposte `OK' e § ¤ `Cancel' avviene (in tutti i menù) tramite il § ¤ § ¤ ¦Tab ¥; Vi muovete fra le liste di scelta con ¦ ¥e¦ ¥ . 1. Chiamate lprsetup come `root' sulla console di testo: terra: # lprsetup § ¤ Per ritornare al menù principale, premete ¦ ¥: `EXIT' (ingl. Exit apsfilter setup) ­ terminare lprsetup. `LISTING' (ingl. List all apsfilter entries) ­ Elencare tutte le queue esistenti. `ENTRY' (ingl. Add/Overwrite/Delete an apsfilter entry) ­ Il punto del me- nù `ENTRY' serve ad aggiungere una nuova stampante: esso porta ad un altro menù `Choose your printer definition' in cui definirete la stampante. `DELETE' (ingl. Fast delete an apsfilter entry) ­ Per cancellare un apsfil- ter esistente, scegliete `DELETE'; dopo di ciò riceverete come scelta, un elenco di tutti gli apsfilter esistenti. 2. Scegliete `ENTRY'; ecco ciò che vedrete: RETURN Back to previous menu DEVICE Change printer interface 3. Scegliete `DEVICE' (Interfaccia). Per stampanti collegate ad un'interfaccia parellela o USB, scegliete `PARAL- LEL' e per quelle collegate ad un'interfaccia seriale, selezionate `SERIAL'. Interfacce parellele: /dev/lp0, /dev/lp1, /dev/lp2; interfacce USB per stampanti: /dev/usblp0, /dev/usblp1, /dev/usblp2. Interfacce seriali: /dev/ttyS0, /dev/ttyS1, /dev/ttyS2. Confermate con `OK'. 4. Scegliete `PRINTER' e, dal seguente elenco selezionate il tipo di stampante giusto: 222 8.5 SETUP (lprsetup): configurazione del sistema di stampa POSTSCRIPT Per real PostScript printer HEWLETT-PACKARD Per HP deskjet printer OTHER altre, stampanti non idonee a PostScript FREEDEF definizione libera Confermate con `COMMIT'. "Sfogliate" nel seguente elenco fino a trovare il driver ghostscript adatto o il file dei parametri adeguato (riconoscibile dall'estensione .upp) e selezionate quindi `OK'. 5. Indicate la risoluzione. Lasciate la preimpostazione solo se non conoscete la risoluzione giusta. Se non siete sicuri, provate le risoluzioni 300, 360, 600, e 720. Specialmente usando un file di parametro .upp, la risoluzione deve coincidere con quella indicata nel file di parametro. Dopo di ciò selezionate `OK'. 6. Scegliete `PAPER' leggete nel seguente elenco fino a trovare la misura giu- sta del foglio (con stampanti laser è normalmente a4 e con stampanti ad inchiostro (ingl. Inkjet) è quasi sempre a4dj). Ora confermate con `OK'. 7. Scegliete `COLOR' e indicate `MONO' o `COLOR' per facilitare una successiva configurazione per poter distinguere fra stampa in bianco e nero o a colori ­ a riguardo vedi anche il prossimo punto e la seguente sezione "Configurazione dell'apsfilter". 8. Se non avete ancora configurato una queue lp standard, lprsetup instal- lerà sempre le queues standard lp, ascii, raw ed eventaulmente anche lp-mono; lp-mono viene installato solo se nel punto precedente avete scelto `COLOR'. Se le queues standard sono installate, alla configurazione di ulte- riori queues (sotto `SPECIAL' e `NAME') potete registrare un proprio nome di queues. Questi dovrebbe consistere solo in lettere e numeri ed è consigliato scegliere nomi brevi e lettere minuscole: per esempio color per una queue per la stampante a colori. 9. Importante: Con `ADD' viene installata la nuova stampante e riceverete un output con l'indicazione delle queus create sul sistema alla configurazione dell'apsfilter. Vengono sempre create subito più queues che permettono l'output di differenti stampe. ### cdjcolor a4dj mono 300 color ### color-ascii|lp10|cdjcolor-a4dj-ascii-mono-300-color |cdjcolor a4dj ascii mono 300 color|lp11|cdjcolor-a4dj-auto-mono-300-color |cdjcolor a4dj auto mono 300 color-raw|lp12|cdjcolor-a4dj-raw-color|cdjcolor a4dj raw output 8.5.1: Elenco delle queue della stampante Analogamente all'output 8.5.1, notateVi quali queues sono state create (nor- malmente vengono emesse solo righe lunghe. Nell'esempio sono da notare color-ascii, color e color-raw). Premete quindi `OK'. 223 8 Stampa 10. Ora vengono indicati i file di configurazione dell'apsfilter. Non eseguite mo- dificazioni nel file globale di configurazione /etc/apsfilterrc, bensì so- lo nel file di configurazione assegnato alle queues appena create. Questo file di configurazione ha la forma /etc/apsfilterrc.", in cui è il driver del ghostscript scelto nel punto 4 Anche se il driver ghostscript viene scelto per più configurazioni, si può usa- re ugualmente lo stesso file di configurazione, poichè entro un tale file di configurazione si possono distinguere più queue. A proposito leggete anche la sezione sogConfigurazione dell'apsfilter apsfilters. Per continuare premete § ¤ ¦ ¥. 11. Uno dopo l'altro, selezionate `RETURN' ed `EXIT'. 8.5.2 Prova della stampante Una volta create le queues standard, dovrete essere in grado di stampare il file /etc/fstab con tux@terra: > lpr /etc/fstab Premesso che il ghostscript-driver scelto permetta la stampa a colori, potete provare la stampante con: tux@terra: > lpr /usr/share/doc/packages/ghostscript/examples/colorcir.ps 8.5.3 Casi speciali Con lpr file viene automaticamente stabilito il tipo di file (p.e. ASCII o PostScript). Se si vuole avere per forza il tipo di file ASCII, si deve stampare con tux@terra: > lpr -Pascii datei (per esempio per stampare PostScript-source che diversamente verrebbero interpretate come PostScript-file) Per file esistenti già nel formato specifico della stampante, si dovrebbe usare tux@terra: > lpr -Praw file Con tux@terra: > lpr -Plp-mono file non si può automaticamente stampare in bianco e nero. A questo scopo si de- vono prima mettere i rispettivi parametri ghostscript in un file apsfilterrc; a riguardo vedi la sezione 8.6.2 a pagina 226. 8.6 L'apsfilter 8.6.1 Funzionamento dell' apsfilters Nell'ambito della configurazione della stampante con YaST o con lprsetup, vongono memorizzati in /etc/printcap i seguenti parametri: 224 8.6 L'apsfilter * Ghostscript-driver; per esempio hpdj, ljet4, stcany.upp. * Formato del foglio; per esempio a4, a4dj, letter, letterdj. * Metodo; ascii o auto o raw. * Colore; se il modo non è raw: mono o color. * Risoluzione; se il modo non è raw: per esempio 300, 360, 600, 720. * Nome delle queues; se esplicitamente indicato con lprsetup sotto `SPECIAL - Settings for your printer'. Il filtro vero e proprio della stampante, lo shellscript /var/lib/apsfilter/ apsfilter,viene chiamato tramite un link conformemente alle indicazioni if in /etc/printcap. I suddetti parametri vengono consegnati al filtro della stampante per mezzo di questo link. color-ascii|lp4|hpdj-a4dj-ascii-mono-300-color\ |hpdj a4dj ascii mono 300:\ :lp=/dev/lp0:\ :sd=/var/spool/lpd/hpdj-a4dj-ascii-mono-300-color:\ :lf=/var/spool/lpd/hpdj-a4dj-ascii-mono-300-color/log:\ :af=/var/spool/lpd/hpdj-a4dj-ascii-mono-300-color/acct:\ :if=/var/lib/apsfilter/bin/hpdj-a4dj-ascii-mono-300-color:\ :la@:mx#0:\ :tr=:cl:sh: file 8.6.1: Queue per colori in /etc/printcap Esempio: se in /etc/printcap si trova la registrazione come nel file 8.6.1, vengono consegnati all'apsfilter i seguenti parametri: Ghostscript-driver : PRINTER="hpdj" Formato del foglio : PAPERSIZE="a4dj" Modo : METHOD="ascii" Colore : COLOR="mono" Risoluzione : DPI="300" Nome delle queues : QUEUE="color" L'apsfilter lavora in modi diversi a seconda di come siano attivate queste variabili: MODO="raw" ­ I dati vengono inviati al device della stampante (p.e. /dev/ lp0) senza venire convertiti . MODO="ascii" ­ Si parte dal presupposto che si tratti di un testo ASCII e che il testo venga trasformato nel formato PostScript con a2ps; vedi la pagina di manuale di a2ps (man a2ps). I dati in formato PostScript vengono poi convertiti da Ghostscript (gs) nel formato specifico della stampante e quindi inviati al suo device. Il ghostscript-driver e la risoluzione, sono stabiliti nella sopracitata varian- te; altri parametri ghostscript possono venire configurati nell'apsfilter. Unterabschnitt. 225 8 Stampa MODO="auto" ­ apsfilter cerca di determinare automaticamente di quale tipo siano i dati. Il programma necessario per la conversione, viene usato per convertire i dati nel formato PostScript; questi vengono poi trasformati da Ghostscript nel formato specifico della stampante e inviati al suo device. 8.6.2 Configurazione dell' apsfilters Grazie a speciali variabili, il modo di lavoro dell'apsfilter può venire impostato individualmente. Queste variabili vengono registrate in uno dei seguenti file di configurazione: * /etc/apsfilterrc * /etc/apsfilterrc. in cui deve venire sostituito con il vero e proprio valore del ghostscript-driver. Questi file di configurazione, vengono letti dall'apsfilter nel- l'ordine indicato; ciò significa che le impostazioni nel file specifico del dri- ver /etc/apsfilterrc." soprascrivono le preimpostazioni nel file globale /etc/apsfilterrc. In /etc/apsfilterrc dovrebbero venire registrate solo le impostazioni glo- bali per tutte le queue. Impostazioni speciali dovrebbero venire registrate solo nel corrispondente /etc/apsfilterrc.". Nella configurazione della stampante con YaST2, vengono in parte memo- rizzati i parametri come in /etc/printcap, ma specialmente in /etc/gs. upp/y2prn_".u pp. sta per la queue standard lp, una queue supplementare ha un nome diverso assegnato dall'utente stes- so (per esempio color). Anche qui il filtro vero e proprio della stampante /var/lib/apsfilter/apsfilter, viene chiamato per mezzo di un link a secondo della registrazione if in /etc/printcap. I suddetti parametri ven- gono trasmessi al filtro della stampante in parte tramite questo link e in parte tramite /etc/gs.upp/y2prn_".u pp. Specialmente in questo file si trovano i parametri ghostscript attivati alla configurazione della stampante con YaST2. Qui possono venire registrati solo i valori di parametri ghostscript molto speciali non configurabili con YaST2. Le variabili che de- terminano il comportamento dell'apsfilters devono venire registrate in uno dei seguenti files di configurazione: * /etc/apsfilterrc * /etc/apsfilterrc.y2prn_"."upp Questi file di configurazione vengono letti dall'apsfilter nell'ordine indicato, cioè le impostazioni in /etc/apsfilterrc.y2prn_"."upp soprascrivono le preimpostazioni in /etc/apsfilterrc. In /etc/apsfilterrc si trovano spiegazioni riguardanti le singole variabi- li e che possono essere di molto aiuto. Ecco un sommario delle variabili più importanti: 226 8.6 L'apsfilter FEATURE rende possibile l'accertazione del tipo di output dei testi ASCII: Le possibilità: FEATURE=1 stampa per foglio una pagina di testo ASCII con intestazione FEATURE=2 stampa due pagine di testo ASCII per foglio e con intestazione FEATURE=1n stampa una pagina di testo ASCII per foglio e senza intestazione FEATURE=2n stampa due pagine di testo ASCII-Text per foglio e senza intestazione FEATURE=1l stampa in formato oblungo e con intestazione FEATURE=1ln stampa in formato oblungo, senza intestazione GS_FEATURES rende possibile l'indicazione di speciali parametri ghostscript; questi però, a seconda del ghostscript driver usato, sono uno diverso dall'altro. Troverete iformazioni sulle singole impostazioni dei parametri in /usr/share/doc/packages/ghostscript/doc/Devices.htm e /usr/share/doc/packages/ghostscript/doc/hpdj/gs-hpdj. txt; vedi anche la sezione 8.8 a pagina 233 ff. Seguito dell'esempio del file 8.6.1 a pagina 225: Affinchè la stampante, nel caso $COLOR="mono", stampi veramente sem- pre in binaco e nero, dovrebbe ad esempio venire registrato in /etc/ apsfilterrc.hpdj il passo dal file 8.6.2. if [ "$COLOR" = "mono" ]; then GS_FEATURES="-sModel=unspec -sColorMode=mono" else GS_FEATURES="-sModel=unspec -sColorMode=CMYK" fi file 8.6.2: /etc/apsfilterrc.hpdj: Impostazione bianco e nero Controllate se, in base al file http://localhost/doc/packages/ ghostscript/doc/hpdj/gs-hpdj.txt, queste configurazioni siano giuste o possibili per il Vostro tipo di stampante. Breve informazione a riguardo: * Con -sModel= potete scegliere fra 500, 500C, 510, 520, 540, 550C, 560C, 850C, 855C e unspec. * Con -sColorMode= potete scegliere fra mono, CMY, CMY+K e CMYK. Per spiegazioni sui diversi modelli di colori, vedi http://localhost/ doc/packages/ghostscript/doc/hpdj/gs-hpdj.txt mono La stampante ha solo una cartuccia per il nero; per esempio i modelli 500, 510 e 520. CMY La stampante può stampare o con cartucce in nero o a colori; nella maggior parte dei casi, le cartucce devono venire cambiate a mano, per esempio nei modelli 500C e 540. 227 8 Stampa CMY+K La stampante ha contemporaneamente una cartuccia nera e una a colori, ma il nero e i colori non possono venire mescolati, per esempio i modelli 550C und 560C. CMYK La stampante ha contemporaneamente una cartuccia nera e una a co- lori ed è possibile stampare contemporaneamente in nero e a colori; per esempio i modelli 850C, 855C e tutti i nuovi DeskJets (unspec). PRELOADS Consente l'indicazione di un file che viene elaborato dall'apsfilter prima dei veri e propri dati da stampare. Ecco alcuni esempi: * Impostazione della chiarezza dei colori nella stampa con una stampante ad inchiostro a colori: vedi http://sdb.suse.de/de/html/jsmeix_ print-gammakorrektur.html * Impostazione dei margini nella stampa di files PostScript: vedi http: //sdb.suse.de/sdb/de/html/ke_print-margins.html * Commutare una stampante PostScript in stampa duplex, o scelta di un altro contenitore di carta in una stampante Postscript: vedi http: //sdb.suse.de/sdb/de/html/ke_print-duplex.html e http: //sdb.suse.de/sdb/de/html/ke_tray.html ENCODING rende possibile l'output di testi ASCII e pagine HTML da Netscape, conformemente alla cifratura secondo ISO-8859-1 oder ISO-8859-2 ­ vedi il commento in /etc/apsfilterrc e file:/usr/share/doc/sdb/de/ html/jsmeix_print-iso88592.html. 8.6.3 Ricerca degli errori nell'apsfilter Un protocollo che registra ciò che avviene durante l'elaborazione di un incarico di stampa tramite l'apsfilter, Vi aiuterà nella ricerca degli errori. Procedimento: 1. Fate il login come `root'. 2. In /var/lib/apsfilter/apsfilter togliete il segno di commento `#' che si trova davanti a set -x. 3. Da ora in poi vengono protocollate le attività del filtro della stampante nei relativi log-files determinati in /etc/printcap. In lf è indicato di vol- ta in volta il log-file delle singole queues, per esempio /var/spool/lpd/ hpdj-a4-auto-color-300/log. Il protocollo di ogni ultima stampa viene allegato al log-file di volta in volta esistente e ciò porta al rapido ingrandimento di questi files (e naturalmente anche al caos): per evitare questi inconvenienti, prima di ogni nuova prova di stampa, si devono vuotare (ma non cancellare) i protocolli del suddetto esempio con: terra: # cat /dev/null > /var/spool/lpd/hpdj-a4-ascii-mono- 300/log 228 8.7 Stampare nella rete TCP/IP 4. Dopo una prova di stampa, le comunicazioni di errori nei log-files, aiutano a trovare la causa dei problemi. I log-files del suddetto esempio, possono per esempio venire indicati con less. 8.7 Stampare nella rete TCP/IP Di cosa si tratta? O volete * usare una stamapante nella rete TCP/IP collegata localmente ad un altro computer, oppure * volte usare via rete TCP/IP una stampante collegata ad una "Printserver- Box", o * volete usare una stampante rete con un proprio collegamento rete TCP/IP. In tutti questi casi volte far filtrare i lavori di stampa con apsfilter. Terminologia Un "altro" computer nella rete TCP/IP a cui è collegata localmente la stampante verrà da ora in poi nominato Print-Server per differnziarlo da una Printserver- Box in cui si ha da una parte un piccolo device con collegamento rete TCP/IP e dall'altra parte la possibilità di collegamento locale ad una stampante. Una stampante che dispone di per sé stessa di un collegamento rete TCP/IP verrà da ora in poi nominata Stampante rete e il computer da cui viene inviato l'incarico di stampa si chiamerà Client. 8.7.1 Vista d'insieme: i singoli casi Le differenze stanno nel filtraggio dei dati da stampare: all'inizio di tutta una catena di lavori, il file deve venire convertito in un formato adatto alla stampante ­ nella lingua cioè parlata dalla stampante (PostScript, HP PCL, ESC/P): que- sto lavoro viene eseguito dall'apsfilter. Nelle stampanti rete e Printserver-Boxes l'apsfilter deve perciò funzionare già sul client e il suo output viene poi inoltra- to alla stampante rete o alla Printserver-Box. In stampanti ad un print-server, l'apsfilter può correre o sul client o su un print-server. Ci sono quindi le seguenti possibilità: stampante rete con filtraggio al client: 1. Client: trasformare il file in dati per la stampante (-apsfilter->) 2. Client: inviare i dati per la stampante alla stampante rete (-remote->) Printserver-Box con filtraggio al client: 229 8 Stampa 1. Client: convertire il file nei dati per la stamapnte (-apsfilter->) 2. Client: inviare i dati alla Printserver-Box (-remote->) 3. Printserver-Box: inviare i dati alla stampante Stampante ad un print-server con filtraggio al client: 1. Client: convertire il file in dati per la stampante (-apsfilter->) 2. Client: inviare i dati al print-server (-remote->) 3. Print-Server: inviare i dati alla stampante Stampante ad un print-server con filtraggio al print-server: 1. Client: inviare il file al print-server (-remote->) 2. Print-Server: convertire il file in dati per la stampante (-apsfilter->) 3. Print-Server: inviare i dati alla stampante * Là dove si trova -remote->, è necessaria una queue che invii solo i dati (ingl. Printer forwarding queue), ma non li filtri. * Dove c'è -apsfilter->, è necessaria una queue che filtri i dati. Se il fil- traggio è al client, questa queue-filtro è un "prefiltro" per la seguente "Printer forwarding queue". Se il filtraggio è al print-server, la queue-filtro è una delle queue normali installate sul print-server (p.e. lp o ascii). Premesse: La stampante deve essere supportata da SuSE Linux poichè il prefiltro crea i dati specifici per la stampante come per una stampante collegata localmente. A riguardo vedi la sezione 8.2 a pagina 214 ff. Deve esistere un collegamento TCP/IP con la stampante rete e deve funzionare regolarmente. 8.7.2 Configurazione: Printer forwarding queue sul client Su una console di testo, fate il login come Amministratore del sistema `root'. § ¤ § ¤ § ¤ Per prima cosa, se usate un login grafico, premendo ¦Ctrl ¥+ ¦Alt ¥+ ¦F2 ¥ , andate su una console di testo. 1. Digitate o /var/lib/apsfilter/SETUP oppure lprsetup. § ¤ 2. Premete ¦ ¥per ricevere il menu `APSFILTER SETUP'. 3. Selezionate uno dopo l'altro `ENTRY', `DEVICE' e `REMOTE'. 4. Registrate l'indirizzo IP della stampante rete o della printserver-box o del print-server. Se nella Vostra rete funziona la risoluzione del nome (DNS (ingl. Domain Name Service)), si può anche indicare il nome del print-server. 230 8.7 Stampare nella rete TCP/IP 5. Registrate il nome della queue sulla stampante rete, o sulla printserver-box o sul print-server. Per le stampanti rete o printserver-box, troverete i possibili nomi delle queue nella documentazione del device. Per un print-server si tratta di una delle queue installate su di esso (p.e. lp o ascii). 6. Scegliete `ADD'. § ¤ 7. Per continuare, premete ¦ ¥. 8. Uno dopo l'altro scegliete `RETURN' e `EXIT'. Sul client avete ora la queue remote. Dopo un nuovo start del daemon della stampante sul client con terra: # rclpd stop terra: # rclpd start la queue remote è disponibile sul client. Con il comando terra: # lpr -Premote il viene inviato senza filtraggio alla stampante rete o alla printserver-box. Se la stampante è però collegata ad un print-server, si deve registrare sul print- server, in /etc/hosts.lpd, l'indirizzo IP del client. Se la risoluzione del nome funziona, si può indicare il nome completamente qualificato del client (FQDN (ingl. Fully Qualified Domain Name)). Dopo un nuovo start del daemon della stampante sul print-server, questi accetta gli incarichi di stampa inviati dal client registrato. A questo punto la configura- zione è terminata, se la stampante è collegata ad un print-server con filtraggio al print-server stesso. 8.7.3 Configurazione: prefilter sul client 1. Inizializzate lprsetup. § ¤ 2. Premete ¦ ¥. 3. Selezionate uno dopo l'altro `ENTRY', `DEVICE' e PREFILTER. 4. Selezionate la queue remote appena installata. 5. Selezionate `PRINTER'. 6. Da `POSTSCRIPT', `HEWLETT-PACKARD', `OTHER' o `FREEDEF' selezionate la registrazione adeguata. 7. Selezionate `COMMIT'. 8. Controllate la seguente lista fino a trovare il ghostscript-driver adatto o il file dei parametri adeguato e selezionate poi `OK'. 9. Indicate la risoluzione giusta e selezionate `OK'. 10. Cliccate uno dopo l'altro `RETURN' e `PAPER'. 231 8 Stampa 11. Scegliete la misura giusta del foglio e cliccate `OK'. 12. Cliccate `COLOR'. 13. Scegliete `MONO' o `COLOR' e cliccate `OK'. 14. Cliccate `ADD'. Riceverete un output delle queues prefilter create sul Vostro sistema alla configurazione dell'apsfilter. AnnotateVi quali queue prefilter sono state create. Cliccate poi `OK'. § ¤ 15. Per continuare, premete ¦ ¥. 16. Cliccate uno dopo l'altro `RETURN' e `EXIT'. Dopo un nuovo start del daemon della stampante con terra: # rclpd stop terra: # rclpd start saranno disponibili sul client le nuove queue prefilter. Con il comando terra: # lpr -Pprefilter-queue il viene inviato senza filtraggio alla prefilter-queue indicata, là con- vertito dall'apsfilter in dati per la stampante i quali, attraverso la queue remote, vengono inoltrati alla stampante rete o alla printserver-box o al print-server. 8.7.4 Se ci sono problemi: Controllare la configurazione del prefiltro Tramite l'interfaccia parallela, collegate direttamente la stampante alla prima interfaccia parallella del computer e (per prova), configurate la stampante come stampante locale (per evitare problemi con la rete). Per farlo, seguite le indicazioni nella sezione 8.2 a pagina 214. Se la stampante locale funziona, conoscete anche i driver ghostscript e gli altri parametri di configurazione del prefiltro. Ora potete configurare la stampante come stampante rete, seguendo le indicazioni sopra accennate. La stampante rete o il print server box non lavorano correttamente A volte ci sono problemi con lo spooler della stampante che funziona sulla printserver-box (p.e. se sono collegate più stampanti o se esistono contem- poraneamente più incarichi di stampa): poichè la colpa è dello spooler della stampante nella printserver-box, non c'è purtroppo niente da fare. In genera- le, è meno problematico collegare la stampante ad un print-server o almeno fare eseguire ad un printserver apposito, lo spool degli incarichi per la box. Il seguente procedimento può però apportare un miglioramento: un unico computer serve come print server per il print server box o la stampante rete. Tutti i clients inviano gli incarichi di stampa a questo print server e solo esso si incarica dello spooling degli incarichi di stampa e li invia al print server box o alla stampante rete. Anche qui il filtraggio può avvenire dal client o sul print server. Potrete avere dei dettagli in file:/usr/share/doc/sdb/ de/html/jsmeix_print-netzwerk.html. 232 8.8 Informazioni su ghostscript Informazioni di sottofondo: La "Printer forwarding queue" e la "Prefilter-queue" non possono venire raccolte in un'unica queue, poichè il daemon lpd della stampante (pacchetto lprold), ignora nelle queue lontane l'indicazione del filtro in /etc/printcap ­ per il prefiltraggio è quindi necessaria una propria queue. 8.8 Informazioni su ghostscript Se non siete in possesso di una stampante postscript, ghostscript è la scelta giusta per il prefiltraggio degli incarichi di stampa. Ghostscript accetta come registra- zione file postscript e contiene, per la conversione nei formati specifici per la stampante, una serie di "driver per la stampante". Ghostscript è però molto di più di una raccolta di driver per stampanti. Ghostscript può anche preparare file postscrip per un output sullo schermo (per gv) o convertirli nel formato PDF. Ghostscript (descritto in http://localhost/doc/packages/ ghostscript/doc/Use.htm) è un programma molto vasto con diverse opzioni delle righe di comando. Un chiamata diretta di ghostscript inizializza ­ dopo l'elaborazione delle righe di comando ­ un dialogo con proprie richieste d'immissione GS> che viene termianto con il comando quit. Il comando-aiuto tux@terra: > gs -h | less elenca le opzioni più necessarie e indica il numero della versione del programma, come pure l' attuale elenco dei device supportati; come indicazione generale, appare anche uniprint ­ i file dei parametri per uniprint sono elencati in http://localhost/doc/packages/ghostscript/catalog.devices. 8.8.1 Esempi di lavori con ghostscript In /usr/share/doc/packages/ghostscript/examples troverete una quantità di file postscript. /usr/share/doc/packages/ghostscript/examples/alphabet.ps si adatta alla prova della stampa in nero, /usr/share/doc/packages/ ghostscript/examples/colorcir.ps per provare la stampa a colori. Sotto X, la superfice grafica, (con il comando gs)potete farVi mostrare sullo schermo un file postscript: tux@terra: > gs /usr/share/doc/packages/ghostscript/examples/ \ alphabet.ps § ¤ § ¤ Per terminare, premete ¦Ctrl ¥+ ¦c ¥nella finestra terminal in cui avete chiamato gs. La trasformazione di un file postscript nel formato specifico della stampante avviene, per una stampante PCL-5- o PCL-6, per esempio con il comando tux@terra: > gs -q -dNOPAUSE -dSAFER -sDEVICE=hpdj -r300x300 \ -sOutputFile=/tmp/out.prn \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps 233 8 Stampa Il comando deve venire immesso in una sola riga e (`\') deve venire omesso. Inoltre si parte dal presupposto che il file /tmp/out.prn non esista ancora. La conversione di un file postscript nel formato specifico per una stampante HP DeskJet (stampante a colori con PCL 3), avviene ad esempio con i seguenti comandi: tux@terra: > gs -q -dNOPAUSE -dSAFER -sDEVICE=hpdj -r300x300 \ -sOutputFile=/tmp/out.prn \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps tux@terra: > gs -q -dNOPAUSE -dSAFER -sDEVICE=cdjmono -r300x300 \ -sOutputFile=/tmp/out.prn \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps tux@terra: > gs -q -dNOPAUSE -dSAFER -sDEVICE=cdj500 -r300x300 \ -sOutputFile=/tmp/out.prn \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps tux@terra: > gs -q -dNOPAUSE -dSAFER -sDEVICE=cdj550 -r300x300 \ -sOutputFile=/tmp/out.prn \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps (Ogni comando deve venire digitato in un'unica riga e senza `\'.) La trasformazione di un file postscript nel formato specifico per una stampante ESC/P2 o ESC/P o ESC/P screen-printer, avviene per esempio con i seguenti comandi: tux@terra: > gs -q -dNOPAUSE -dSAFER @stcany.upp \ -sOutputFile=/tmp/out.prn \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps tux@terra: > gs -q -dNOPAUSE -dSAFER -sDEVICE=stcolor -r360x360 \ -dBitsPerPixel=1 -sDithering=gsmono -dnoWeave - sOutputCode=plain \ -sOutputFile=/tmp/out.prn \ /usr/share/doc/packages/ghostscript/examples/colorcir.ps quit.ps Nella chiamata, si può vedere la differenza fra l'uso di un parameter file per il driver uniprint e l'uso di un altro ghostscript driver. Poichè tutti i parametri specifici dei drivers si trovano nel pararameter file, non è necessario indicare altri parametri specifici dei drivers (a differenza di altri ghostscript driver). Dopo ognuno dei comandi sopra elencati, i dati specifici della stampante si tro- vano in /tmp/out.prn; se la stampante è collegata alla prima interfaccia pa- rallela /dev/lp0, questi dati vengono ora spediti da `root' direttamente alla stampante usando il seguente comando tux@terra: > cat /tmp/out.prn > /dev/lp0 Se si deve stampare un file di testo ASCII con ghostscript, questi deve prima venire convertito nel formato postscrip con tux@terra: > a2ps -1 --medium=A4dj --output=/tmp/out.ps textdatei e poi con tux@terra: > gs -q -dNOPAUSE -dSAFER \ -sOutputFile=/tmp/out.prn /tmp/out.ps quit.ps deve venire trsaformato nel formato specifico della stampante, che poi, come `root' viene inviato alla stampante con tux@terra: > cat /tmp/out.prn > /dev/lp0 234 8.9 Esempi di alcuni filtri per stampante Sulla homepage di ghostscript potete infromarVi sulle ultime novità (versioni, supporto stampante, etc.). Le troverete sotto l' URL http://www.cs.wisc. edu/~ghost/. 8.9 Esempi di alcuni filtri per stampante 8.9.1 Premessa Lo scopo di questa sezione, non è quello di presentare un'alternativa all'apsfilter, ma di spiegare i retroscena della stampa sotto Linux in base a due esempi di filtri per stampante creati individualmente, di cui uno più semplice e l'altro più com- plicato. Naturalmente si avrà anche la possibilità di usare (in casi speciali) una queue supplementare con un proprio filtro per stampante, se, in questo caso spe- ciale, l'apsfilter non sia ragionevolmente configurabile. Per poter spiegare con chiarezza i passi più importanti, abbiamo riportato qui gli esempi più semplici (per quanto ci fosse possibile). Per questo si è per esempiorinunciato anche ai provvedimenti per l'eliminazione degli errori nei bash-script. In seguito, si parte dal presupposto che la stampante sia collegata alla prima inter- faccia parallela /dev/lp0. Se la stampante è collegata ad un'altra interfaccia, invece di prendere /dev/lp0, si deve prendere il device dell'altra interfaccia (vedi sezione 8.2 a pagina 214). Un filtro riceve, attraverso lo spooler, i dati da stampare tramite l'immissione standard. Il filtro della stampante deve trasformare questi dati nel formato della stampante ed emetterli tramite l'emissione standard. Lo spooler procura che tut- to ciò che viene emesso dal filtro tramite l'emissione standard, arrivi al device della stampante /dev/lp0. Il kernel da parte sua inoltra all'interfaccia da defini- re (p.e. all'indirizzo IO 0x378) tutto quello che arriva al device della stampante. L'hardware provvede che tutto quello che viene per esempiomandato all'indi- rizzo IO 0x378, venga inviato attraverso l'interfaccia parallela. La stampante interpreta questo flusso di dati e li stampa. Normalmente, i seguenti comandi possono solo venire eseguiti come utente `root'; questo perchè i "normali" utenti non possono accedere direttamente al device della stampante, a meno ché l'utente `root', con il comando terra: # chmod a=rw /dev/lp0 abbia dato il permesso a tutti gli utenti di accedere al device della stampante. I comandi vengono per esempioimmessi come segue: terra: # cat file di testo ASCII >/dev/lp0 Sia ben chiaro che file di testo ASCII deve venire sostituito con il nome di un file di testo ASCII esistente. E sappiate altrettanto distingure fra ciò che deve venire riportato esattamente e ciò che deve venire considerato solo come "segnaposto". 235 8 Stampa 8.9.2 Un semplice esempio sul metodo fondamentale di lavoro Tramite il comando terra: # echo -en "hello\f" >/dev/lp0 non viene attivato alcun spooler o filtro della stampante, poichè viene diretta- mente indirizzato il device della stampante /dev/lp0. In questo modo, solo i caratteri ASCII `h', `e', `l', `l' e `o' vengono subito inviati alla stampante. Il carattere `\`f'' sta per il FormFeed-ASCII-sign e provoca un avanzamen- to di modulo nella stampante. Se la stampante è in grado di stampare caratteri ASCII, stampa la parola hello e manda fuori la pagina. Anche con terra: # cat file di testo ASCII >/dev/lp0 non vengono attivati né lo spooler né il filtro della stampante, poichè viene indi- rizzato direttamente il device della stampante /dev/lp0. I caratteri ASCII del file di testo ASCII, vengono inviati direttamente alla stampante. Sotto Linux, due righe di testo ASCII vengono divise solo da un carattere LineFeed-ASCII (interlinea (ingl. line feed)). Sotto diverse versioni DOS, e sotto Windows (di seguito nominato DOS/Windows), due righe di testo ASCII vengo- no separate da un carattere LineFeed-ASCII e da un carattere CarriageReturn (ritorno carrello). Se con il suddetto comanto si invia direttamente alla stampante un file di testo ASCII, si ha normalmente la seguente immagine Prima riga Seconda rigaTerza riga ... poichè la stampante esegue solo un avanzamento di modulo ma non esegue il ritorno di carrello in quanto non è stato mandato alcun carattere CarriageReturn- ASCII. È però possibile modificare la stampante in modo che questa, con un carattere LineFeed-ASCII esegua sia un'interlinea che un ritorno carrello (ingl. carriage return). Con la sequenza escape \033&k2G, le stampanti che capiscono la lingua PCL 3 (HP DeskJets e i modelli compatibili) vengono impostate in modo che con un carattere LineFeed-ASCII venga eseguita un'interlinea e un ritorno carrello. Con terra: # echo -en "\033&k2G" >/dev/lp0 la Escape-Sequenz viene inviata alla stampante e alla fine, con terra: # cat ASCII-Textdatei >/dev/lp0 viene stampato il file di testo ASCII con l'interlinea giusta. Eventualmente sarà dopo necessario ancora terra: # echo -en "\f" >/dev/lp0 per togliere l'ultima pagina dalla stampante. 236 8.9 Esempi di alcuni filtri per stampante Probabilmente, gli accenti non verranno stampati correttamente, perchè sotto DOS/Windows la codificazione degli accenti è diversa da Linux e la stampante è normalmente preimpostata per DOS/Windows. Con terra: # cp file di testo ASCII file di testo ASCII.ibmpc terra: # recode lat1..ibmpc file di testo ASCII.ibmpc viene prima copiato il file di testo ASCII in file di testo ASCII.ibmpc e quindi fileditestoASCII.ibmpc viene codificato secondo DOS/Windows. Con terra: # cat ASCII-Textdatei.ibmpc >/dev/lp0 dovrebbero venir stampati correttamente sia le interlinee che gli accenti. Poichè nel file di testo ASCII.ibmpc sia l'interlinea che gli accenti sono codificati se- condo DOS/Windows, non è più necessaria alcuna speciale sequenza Escape per impostare nella stampante l'interlinea adatta. Con terra: # cp file di testo ASCII file di testo ASCII.ibmpc terra: # recode lat1..ibmpc file di testo ASCII.ibmpc terra: # cat file di testo ASCII.ibmpc >/dev/lp0 dovrebbe quindi essere possibile stampare correttamente qualsiasi file di testo ASCII su ogni stampante idonea a stampare un testo ASCII. Se ciò funziona, è ovvio creare un filtro per la stampante che esegua auto- maticamente la conversione del file di testo ASCII nel formato specifico della stampante. Conformemente a /var/lib/apsfilter, viene prima creata una sottodirecto- ry per il proprio filtro ( o filtro individuale) e poi si va in questa sottodirectory (come utente `root'): terra: # mkdir /var/lib/myprinterfilter terra: # cd /var/lib/myprinterfilter Create un Bash-Script (come file di testo ASCII) con il nome asciifilter, come elencato nel file a fronte 8.9.1. Rendete attuabile questo Bash-Script da ogni utente con terra: # chmod a+x /var/lib/myprinterfilter/asciifilter Con lprsetup create una queue supplementare. Selezionate un qualsiasi ghostscript-driver che non usate diversamente. La risoluzione e la misura del foglio non sono importanti. Selezionate `MONO'. Se non esiste ancora una queue con il nome af, in `SPECIAL Settings for your printer', in `NAME Op- tional name for the queue' inserite af come nome. Mediante lprsetup verranno create le seguenti queue: af-ascii , af und af-raw . In seguito useremo solo la queue af. Le queue af-ascii e af-raw sono in realtà inutili e probabilmente non possono venir usate perchè presumibilmente il ghostscript-driver scelto non funziona per la stampante collegata. In /etc/printcap si trova ora anche la registrazione come nel file 8.9.2 nella pagina seguente (abbreviato). Fermate lo spooler della stampante con terra: # /sbin/init.d/lpd stop 237 8 Stampa #! /bin/bash # make a temporary file INPUT="$(mktemp /tmp/asciifilter.$$.XXXXXX)" # First store everything from stdin in $INPUT # to have the input as a regular file cat > $INPUT # Recode the INPUT recode lat1..ibmpc $INPUT # Add a FormFeed at the end of $INPUT # to get the last page out of the printer echo -en "\f" >> $INPUT # Send $INPUT to stdout cat $INPUT # Remove the INPUT file rm $INPUT file 8.9.1: /var/lib/myprinterfilter/asciifilter af... :if=/var/lib/apsfilter/bin/...-af:\ :la@:mx#0:\ :tr=:cl:sh: file 8.9.2: /etc/printcap: Filtro individuale 238 8.9 Esempi di alcuni filtri per stampante e nella registrazione precedente, in /etc/printcap, modificate solo la riga :if=/var/lib/apsfilter/bin/...-af:\ in :if=/var/lib/myprinterfilter/asciifilter:\ e dopo aver memorizzato /etc/printcap, inizializzate di nuovo lo spooler con terra: # /sbin/init.d/lpd start e ora, ogni utente dovrebbe essere in grado di stampare tramite la nuova queueaf con terra: # lpr -Paf file di testo ASCII Questa nuova queue, fa le stesse cose dell'apsfilter, premesso che in un apsfilterrc abbiate messo USE_RECODE_NOT_A2PS="yes". Per evitare che vengano mandati dati alla stampante attraverso le queues super- flue af-ascii e af-raw, si deve cambiare in /etc/printcap di queste queue la riga :lp=/dev/lp0:\ in :lp=/dev/null:\ 8.9.3 Un esempio un po' complesso Richiesta Questo driver non è un ghostscript driver. In questo caso può essere necessario creare un porprio filtro della stampante; si distinguono due varianti: 1. non esiste alcun driver ghostscript per la stampante (p.e. perchè si tratta di un drive "GDI") 2. esiste un driver ghostscript ma esiste anche un driver non ghostscript che rende possibili migliori stampe (p.e. un driver ottimizzato sul determinato modello della stampante). Normalmente, tali driver vengono utilizzati come supplemento di ghostscript. Ecco come: il programma del driver vero e proprio converte nel formato specifico della stampante speciali output di ghostscript. Poichè questa è la situazione più complicata, più avanti sarà possibile, sulla base di questo esempio, creare un proprio filtro per ogni altra stampante (se necessario). 239 8 Stampa Premessa Si presuppone che esista un driver adatto alla versione di SuSE Linux o che possa venire scaricato da Internet e che Voi abbiate esperienza con l'uso dei sources Unix (p.e. con archivi .zip o .tar.gz oppure pacchetti .rpm); vedi anche sezione 11.3 a pagina 300. Dopo aver scompattato un tale archivio, esistono normalmente attuali guide all'installazione nei files di nome README o INSTALL o in una sottodirectory di nome doc. Informazioni di sfondo Generalmente, negli archivi .tar.gz, il programma vero e proprio dei driver è da compilare ed installare. Qui in seguito partiamo dal presupposto che il programma vero e proprio dei driver venga installato come /usr/local/bin/printerdriver Normalmente il programma del driver non fa altro che convertire speciali out- put di ghostscript nel formato specifico della stampante (vedi capitolo 8.8 a pagina 233). A questo scopo, ghostscript viene chiamato p.e. con uno dei seguenti ghostscript driver ed una risoluzione di 600 dpi: -sDEVICE=pbmraw -r600x600 -sDEVICE=pnmraw -r600x600 Quale ghostscript driver e quale risoluzione scegliere, deve essere indicato nella documentazione sul programma del driver. In un filtro per la stampante, l'inserzione di ghostscript non viene direttamente dal file da stampare ma dall'inserzione standard. A questo scopo, nella chia- mata di ghostscript invece del nome del file deve trovarsi un solo -. Affinchè l'output di ghostscript venga trasmesso al programma del driver vero e proprio, è necessario il parametro di ghostscript -sOutputFile=-. L'output di ghostscript viene inoltrato al programma del driver tramite un pipe: | /usr/local/bin/printerdriver Parameter Nella documentazione del programma dell'unità di disco devono essere indicati i parametri necessari al programma dell'unità disco. Il comando corrispondente è il seguente: gs -q -dNOPAUSE -dSAFER -sOutputFile=- \ -sDEVICE= -r \ - quit.ps \ | /usr/local/bin/printerdriver Per , (risoluzione), /usr/local/bin/ printerdriver e si devono inserire i valori secondo la documentazione del programma del'unità di disco. Per una stampante supportata direttamente da ghostscript, il comando diventa molto più semplice, 240 8.9 Esempi di alcuni filtri per stampante gs -q -dNOPAUSE -dSAFER -sOutputFile=- \ -sDEVICE= -r \ \ - quit.ps Qui , (risoluzione) ed eventualmente (parametri di ghostscript specifici dell'unità di disco, facoltativi) devono venire usati corrispondentemente (vd. sezione 8.8 a pagina 233). Poichè ghostscript si aspetta i dati in formato PostScript, prima della chiamata di ghostscript, i dati da stampare devono venire convertiti nel suddetto formato, a meno che non si trovino già nel formato giusto. Normalmente, è sufficiente limitarsi alla trasformazione di testo ASCII in Post- Script, poichè i programmi applicativi forniscono subito PostScript (p.e Netscape e StarOffice) o solo testo ASCII (p.e. editors). Per determinare il formato dei dati da tradurre, si usa il comando file. Il testo ASCII viene convertito in PostScript con a2ps. Sulle diverse possibilità di questo tool, vedi la pagina di manuale di a2ps (man a2ps). Installazione e applicazione Create una directory /var/lib/myprinterfilter, se non esiste ancora, e andate in questa directory. Create un bash script di nome printerfilter (vedi file 8.9.3 nella pagina seguente). Potete lasciare tutto com'è, solo le variabili GSDEVICE e DRIVER devono venire adattate alla Vostra stampante ­ cioè vi si devono registrare i valori adatti per device, resolution, /usr/local/bin/printerdriver e parameter. Per una stampante supportata da ghostscript, inserite: DRIVER='cat -' Per una stampante PostScript che non ha nemmeno bisogno di ghostscript: GS='cat -' DRIVER='cat -' Potete adattare alle Vostre esigenze le variabili A2PSLAYOUT e A2PSENCODING; vd. pagina di manuale di a2ps (man a2ps). Fate in modo che ogni utente possa eseguire questo bash script e con lprsetup create una queue. Procedete come descritto nella sezione 8.9.2 a pagina 236. Se il filtro non lavora come desiderate, può esserVi d'aiuto (nella ricerca dell'er- rore) un log file nel quale viene scritto cosa succede durante l'elaborazione di un lavoro di stampa da parte del filtro della stampante. Procedete come descritto nella sezione 8.6.3 a pagina 228. 241 8 Stampa #! /bin/bash # For debugging see for stderr in /var/spool/.../log #set -x # Define the program calls for the filter pipes # The a2ps call A2PSLAYOUT="-1 --center-title= --borders=yes" A2PSENCODING='--encoding=ISO-8859-1' A2PS="a2ps $A2PSLAYOUT $A2PSENCODING --output=-" # The gs call # in GSDEVICE the Ghostscript device and parameters # have to be set GSDEVICE='-sDEVICE=Device -rResolution' GS="gs -q -dNOPAUSE -dSAFER -sOutputFile=- $GSDEVICE - quit.ps" # The call for an optional printerdriver DRIVER='/usr/local/bin/printerdriver Parameter' # make a temporary file INPUT="$(mktemp /tmp/printerfilter.$$.XXXXXX)" # First store everything from stdin in $INPUT # to have the input as a regular file cat > $INPUT # Determine the FILETYPE of the data in $INPUT FILESTRING=$(file $INPUT | tr 'A-Z' 'a-z') case "$FILESTRING" in *postscript*) FILETYPE=postscript ;; *ascii*|*text*|*english*|*script*) FILETYPE=ascii ;; *) FILETYPE=unknown ;; esac # Do the filter pipe according to the FILETYPE case "$FILETYPE" in postscript) cat $INPUT | eval $GS | eval $DRIVER ;; ascii) cat $INPUT | eval $A2PS | eval $GS | eval $DRIVER ;; unknown) echo "Unknown filetype: $FILESTRING" | mailx -s "pinterfilter" root ;; esac # Remove the INPUT file rm $INPUT file 8.9.3: Filtro complesso della stampante 242 9 Il kernel 9 Il kernel Il kernel che, dopo l'installazione, viene scritto sul dischetto e che nel sistema installato si trova nella directory boot, è configurato in modo tale da suppor- tare un largo spettro di hardware: perciò, questo kernel non è specifico per il Vostro sistema. È quindi conveniente, ma non strettamente necessario, generare un kernel adattato al proprio sistema. "Fare da sé" il kernel permette, in alcuni casi, l'utilizzo di hardware particolare, come, per esempio, mouse un po' 'eso- tici' o schede audio sconosciute. Inoltre, la configurazione del kernel, Vi offre un'interessante panoramica dell'attuale stato di sviluppo. Per creare un nuovo kernel, esistono già makefile per il C-compiler, grazie ai quali il processo viene quasi automatizzato. Solo le domande sull'hardware che il kernel deve supportare devono venire percorse in maniera interattiva. La compilazione di un proprio kernel non fa parte del supporto all'installazione ; saremo volentieri a vostra disposizione per darVi un aiuto nell'ambito di del supporto aziendale a pagamento. Nota La seguente descrizione si riferisce per lo più al kernel della serie 2.4.x e 2.2.x. Molte cose valgono anche per i kernel della serie 2.0.x. Bisogna tutta- via tenere presente che, nei particolari, ci sono spesso piccole ma decisive variazioni! 9.1 Le sorgenti del kernel Per poter creare un kernel è naturalmente necessario che siano installati sia i file- sorgente del kernel (pacchetto lx_suse), che il C-Compiler (pacchetto gcc), i GNU Binutils (pacchetto binutils) e gli Include-file per il C-Compiler (pac- chetto libc). Questi pacchetti sono contenuti nelle serie D (Development). Ge- neralmente si consiglia l'installazione del C-Compiler, poichè il linguaggio di programmazione C è parte integrante del sistema operativo Unix. I file-sorgente del kernel si trovano nella directory /usr/src/linux. Se avete in mente di fare qualche esperimento con il kernel e di averne contemporanea- mente diverse versioni sul disco rigido, è naturale scompattare ogni versione in diverse sottodirectory e di collegare con un link i sorgenti al momento importanti. Questo tipo d'installazione viene eseguita automaticamente da YaST. I file-sorgente del kernel possono essere installati e spostati in una qualsiasi sot- todirectory: poichè, però ,c'è una quantità di software che si aspetta di trovare 243 9 Il kernel le sorgenti du /usr/src/linux, è meglio scegliere la suddetta directory, per permettere la corretta compilazione di programmi vicini al sistema. 9.2 Moduli del kernel Molte unità di disco e proprietà del kernel di Linux non devono più essere con- nesse stabilmente al kernel, ma possono venire caricate come modulo kernel (in- gl. kernel module) durante l'attività di Linux. Durante la configurazione del ker- nel viene stabilito quali unità disco debbano essere collegate in maniera stabile al kernel e quali debbano venire impostate come moduli. I moduli del kernel vengono archiviati nella directory /lib/modules/; corrisponde alla momentanea versione del kernel (per esempio 2.4.9). Vi consigliamo di usare questa proprietà ogni volta che sia possibile. Regola di base: tutte le componenti del kernel, che non sono assolutamente necessarie durante il boot, dovrebbero venire realizzate come modulo. In questo modo, si assicura che il kernel non diventi troppo grande e che possa venire caricato senza difficoltà dal BIOS o da un qualsiasi altro bootloader. In genere, il unità del disco rigido, il supporto per ext2 e cose simili devono venire direttamente compilati nel kernel; il supporto per isofs, msdos o sound deve venire in ogni caso compilato come modulo. Utilizzo dei moduli Per l'utilizzo dei moduli si hanno a disposizione i seguenti comandi: * insmod Con il comando insmod, viene caricato il modulo indicato. Il modulo viene cercato in una sottodirectory di /lib/modules/. insmod non dovrebbe più venire usato in favore di modprobe (vedi sotto). * rmmod Scarica il modulo indicato. Ciò è naturalmente consigliabile solo se la cor- rispondente funzione del kernel non viene più usata. Non è, per esempio, possibile scaricare il modulo isofs se un CD è ancora montato. * depmod Questo comando crea un file di nome modules.dep nella directory /lib/modules/; nel file è annotata la dipendenza dei singoli moduli fra di loro: con ciò si assicura che al momento di caricare un modulo vengano automaticamente caricati anche tutti i moduli da esso dipendenti. Se è previsto lo start del kernel-daemon in /etc/rc.config, alla partenza del sistema viene automaticamente generato il file con i moduli delle dipendenze, sempre che non esista già. 244 9.2 Moduli del kernel * modprobe Caricare o scaricare un modulo tenendo conto della dipendenza da altri mo- duli. Questo comando è molto utile e può venire impiegato anche per altri scopi (p.e. test di tutti i moduli di un determinato tipo finchè se ne trovi uno caricabile). Al contrario del caricamento con insmod, modprobe analizza il file /etc/conf.modules e dovrebbe perciò venire usato per il caricamen- to dei moduli. Per una spiegazione dettagliata di tutte le opzioni, leggete le manpage corrispondenti. * lsmod Indica quali moduli sono caricati al momento e da quanti altri moduli ven- gono usati. Moduli caricati dal kernel daemon sono caratterizzati da un (autoclean) successivo; ciò significa che questi moduli vengono automa- ticamente tolti se non sono stati usati per un certo periodo di tempo. Vedi però nella pagina successiva. /etc/modules.conf Il caricamento dei moduli viene inoltre influenzato dal file /etc/modules. conf; vd. pagina di manuale di depmod (man depmod). Avviso: Al /etc/conf.modules è stato cambiato il nome a partire dalla SuSE Linux 6.3: da /etc/conf.modules a /etc/modules.conf. In questo file, possono venire impostati e attivati i parametri per quei moduli che sono collegati direttamente all'hardware e che devono perciò essere configurati in base al sistema specifico (p.e. unità disco CD-ROM o unità di rete). I para- metri qui registrati sono, in linea di principio, identici a quelli che vengono con- segnati al bootprompt del kernel (vd., per esempio, LILO ), (vd. sezione 10.3.2 pagina 254); in molti casi, comunque, i nomi si differenziano da quelli che ven- gono impiegati al bootprompt (cfr. per esempio sezione 10.3.4 pagina 267). Se non riuscite a caricare un modulo, provate a specificare l'hardware in questo file, e per caricare il modulo usate modprobe, invece di insmod. Kmod ­ Il "Kernel Module Loader" La via migliore per l'uso dei moduli del kernel, è, dalla versione 2.2.x in poi, l'impiego del "Kernel Module Loader" che sostituisce il "vecchio" kernel-dae- mon (kerneld). Kmod lavora sullo sfondo, e provvede che vengano caricati auto- maticamente i moduli necessari, tramite l'attivazione di modprobe, non appena si ha bisogno delle loro rispettive funzioni. Per poter usare il programma Kmod, dovete selezionare, durante la configurazio- ne del kernel, l'opzione `Kernel module loader' (CONFIG_KMOD). Le unità di disco necessarie per accedere al root-filesystem devono essere con- nesse permanentemente al kernel! Ciò significa che non dovete configurare come modulo la Vostra unità di disco SCSI o il file system della partizione root stessa (non configurate ext2)! 245 9 Il kernel Attenzione Poichè, tuttavia, SuSE Linux utilizza initrd (ingl. initial ramdisk), e in que- sto modo integra, p.e., l'unità di disco SCSI, alla creazione di un kernel pro- prio dovete fare attenzione ad adattare la variabile INITRD_MODULES nel file /etc/rc.config (sezione 13.6 pagina 336) e a togliere il commento dalla riga initrd che si trova in /etc/lilo.conf (vd. sezione 12.4.5 pagina 313). Se non lo fate, al momento del boot, il kernel si fermerà L'impiego dei moduli kernel è consigliabile per funzioni raramente usate co- me, per esempio, l'unità disco del ramdisk, parport e supporto della stampan- te, l'unità del floppy drive o per determinati filesystem che userete solo in casi eccezionali. Il Kmod non è impostato per scaricare automaticamente i moduli; con la quantità di RAM che si trova oggi nei computer, il guadagno in termini di risorse li- bere sarebbe solo marginale; vedi anche /usr/src/linux/Documentation/ kmod.txt. Server che devono adempiere a speciali compiti e hanno bisogno di solo poche unità di disco preferiscono, per ragioni di prestazione, un kernel "monolitico". 9.3 Configurazione del kernel La configurazione del kernel creato durante l'installazione o un aggiornamento si trova nel file /usr/src/linux/.config (vd. 2.1.8 a pagina 18); questo file descrive però solo il kernel e non i moduli che vengono dal pacchetto kern- mod. I moduli dovranno naturalmente essere prima selezionati, se devono venire nuovamente compilati. La configurazione del kernel può essere eseguita in tre modi diversi: 1. Dalla riga di comando 2. In un menù in modo di testo 3. In un menù sull'X Window System EccoVi, in breve, le tre possibilità. Configurazione da riga di comando Per configurare il kernel, andate su /usr/src/linux e digitate il seguente comando: terra:/usr/src/linux # make config Vi si chiederà quali capacità del sistema debba supportare il kernel. A queste do- § ¤ mande, ci sono normalmente due o tre possibilità di risposta: o un semplice ¤ § ¤ § ¤ § ¤ ¦y ¥e § ¦n ¥ , o una delle tre possibilità ¦y ¥(ingl. yes), ¦n ¥(ingl. no) e ¦m ¥(ingl. module). `m' 246 9.4 Impostazioni di configurazione del kernel qui significa che l'unità disco corrispondente non viene connessa stabilmente al kernel, ma viene tradotta come modulo che può essere caricato dal kernel duran- te il funzionamento. Naturalmente dovete collegare stabilmente al kernel tutte le unità di disco necessarie al caricamento del sistema. In questi casi, scegliete § ¤ perciò ¦y ¥ . Se ad una domanda premete un tasto diverso, riceverete un breve aiuto riguardante l'opzione relativa. Configurazione in modo di testo Per una configurazione più piacevole, usate il comando terra:/usr/src/linux # make menuconfig. Soprattutto, non dovrete rispondere a "centinaia" di domande. Configurazione unter l'X Window System Se avete installato l'X Window System (pacchetto xf86) come pure Tcl/Tk (pac- chetto tcl e pacchetto tk), potete, in alternativa, eseguire la configurazione con terra:/usr/src/linux # make xconfig. Avrete a disposizione una superficie grafica che rende più confortevole la confi- gurazione. Per farlo, però, dovrete aver inizializzato il sistema X-Window come utente `root'; diversamente, dovrete prendere ulteriori provvedimenti per poter avere il permesso d'accesso sul display di un altro utente. 9.4 Impostazioni di configurazione del kernel Vi descriveremo ora le singole configurazioni possibili del kernel: Utilizzate i diversi testi di aiuto riguardanti la configurazione del kernel. L'ultima versio- ne della documentazione si trova sempre sotto i file-sorgente del kernel nella directory /usr/src/linux/Documentation. 9.5 Compilare il kernel Suggerimento Affinchè il Vostro kernel possa venire facilmente installato in /boot, se ne- cessario, togliete nel main-makefile (circa 74 righe) il segno di commento che si trova davanti a INSTALL_PATH=/boot. Noi consigliamo di generare un "bzImage". In questo modo, è generalmente pos- sibile evitare che il kernel diventi troppo grande; il che può facilmente verificarsi 247 9 Il kernel se si sono selezionate troppe proprietà e si crea uno "zImage"; le comunicazioni tipiche in questo caso sono "kernel too big" o "System is too big"). Dopo aver configurato il kernel come lo desiderate, iniziate la compilazione: terra:/usr/src/linux # make dep terra:/usr/src/linux # make clean terra:/usr/src/linux # make bzImage Potete anche inserire questi 3 comandi in una riga di comando; questi verrano elaborati uno dopo l'altro. Questo metodo è conveniente se volete far procedere in automatico, p.e. "di notte", la compilazione del kernel. Per farlo, inserite: terra:/usr/src/linux # make dep clean bzImage Per compilare il kernel, a seconda delle prestazioni del Vostro sistema, ci vo- gliono alcuni minuti (più veloci sono AMD Athlon / Intel Pentium III 1) fino ad alcune ore ( 386 con 8 MB ). Durante questa procedura, potete naturalmente continuare a lavorare su un'altra console. Dopo aver portato a termine con successo la compilazione, troverete il kernel compresso nella directory /usr/src/linux/arch/i386/boot. L'image del kernel (il file contenente il kernel) si chiama bzImage potete "scrivere" su Bash l'output del processo di compilazione nel file kernel. out; su Tcsh, il comando è: terra:/usr/src/linux # make bzImage |& tee kernel.out Se avete configurato parti del kernel come moduli caricabili, dovete inizializzare la compilazione di questi moduli. Potete farlo con: terra:/usr/src/linux # make modules 9.6 Installare il kernel Dopo aver tradotto il kernel, dovete provvedere che, in futuro, venga anche ca- ricato. Se usate LILO, reinstallatelo. Nel caso più semplice, copiate il nuovo kernel su /boot/vmlinuz (vd. sezione 9.5 nella pagina precedente) chiamate poi LILO: Per non avere brutte sorprese, è consigliabile tenere il vecchio kernel (/boot/vmlinuz.old per poter rifare il boot, nel caso che il nuovo kernel non funzioni a dovere. terra:/usr/src/linux # cp /boot/vmlinuz /boot/vmlinuz.old terra:/usr/src/linux # cp arch/i386/boot/bzImage /boot/vmlinuz terra:/usr/src/linux # lilo Il Makefile-Target make bzlilo esegue i 3 passi precedenti in una volta. I moduli compilati devono ora solo essere installati; con il comando terra:/usr/src/linux # make modules_install potete farli copiare nelle directory giuste su /lib/modules/ . In questo caso, i vecchi moduli (con la stessa versione del kernel) vengono so- prascritti; NIENTE PAURA! potete reinstallare dai CD i moduli originali e il kernel. 1Uno dei test preferiti per hardware e software, è quello di tradurre il kernel con l'opzione make -j. Per questo test occorre molta memoria, (fino a più di 100 MB). Per farlo viene inizializzato un compiler proprio per ogni file-sorgente da tradurre. 248 9.7 Creare il disco di caricamento Suggerimento AssicurateVi di eliminare da /lib/modules" i moduli, le cui funzioni sono state ora incluse nella compilazione del kernel, per evita- re effetti non prevedibili. Per questo motivo, sconsigliamo vivamente alle persone inesperte di compilare da sé il kernel. Inserite nel Vostro /etc/lilo.conf un ulteriore label Linux.old come boot image (vedi capitolo 4.4.1 a pagina 97) e date un nuovo nome al vecchio kernel (/boot/vmlinuz.old). In questo modo, continuate a fare il boot con il vec- chio kernel, se per caso con il nuovo non funzionasse. Questa possibilità viene ampiamente spiegata nel capitolo 4 a pagina 91. Una volta adattato il file alle Vostre esigenze, dovete nuovamente aprire terra:/usr/src/linux # lilo Se avviate Linux da DOS tramite linux.bat e con loadlin, dovete copiare il nuovo kernel su /dosc/loadlin/bzimage2 affinchè sia attivo al prossimo boot. Se inizializzate Linux con il boot manager di Windows NT, non dimenticate di spostare il LILO boot sector (vd. capitolo 4.7.2 a pagina 109). Da tenere presente: il file /System.map contiene i simboli del kernel necessa- ri ai moduli del kernel per poterne chiamare correttamente le funzioni. Questo file dipende dal kernel attuale; perciò, dopo la compilazione e l'installazione del kernel, si deve copiare il file attuale /usr/src/linux/System.map3 nel- la directory principale. Se create il Vostro kernel tramite make zlilo, questo compito viene eseguito automaticamente. Se al momento del boot doveste ricevere una comunicazione di errore come "System.map does not match actual kernel", significa che probabil- mente, dopo la traduzione del kernel, il file System.map non è stato copiato in /boot. 9.7 Creare il disco di caricamento Se volete creare un disco di caricamento con il nuovo kernel, fatelo con il seguente comando: terra:/usr/src/linux # make bzdisk 2o copiarlo là dove avete installato la directory loadlin. 3Questo file viene creato di nuovo dopo ogni compilazione del kernel. 249 9 Il kernel 9.8 Pulire il disco rigido dopo la compilazione del kernel Se avete problemi con lo spazio del disco, potete, durante la compilazione del kernel, cancellare gli object-file creati: terra: # cd /usr/src/linux terra:/usr/src/linux # make clean Se, però, avete sufficiente spazio sul disco e avete intenzione di configurare spes- so il kernel, potete saltare quest'ultimo punto. Ricompilare il kernel è molto più veloce, poichè vengono ricompilate solo quelle parti del sistema che sono interessate da modifiche. 250 10 Parametri del kernel 10 Parametri del kernel 10.1 I driver nel kernel Esiste un'ampia quantità di componenti hardware per il PC: per poter usare cor- rettamente questo hardware occorre una "unità di disco", che permette al siste- ma operativo (su Linux il "kernel") di collegarsi correttamente con l'hardware stesso. Di norma ci sono due meccanismi per integrare un'unità di disco nel kernel: 1. Le unità disco vengono integrate stabilmente nel kernel: nel nostro manuale, tali kernel "tutto-in-uno" vengono denominati kernel monolitici. Kernel mo- nolitici sono contenuti p.e. nel CD per poter creare dischetti di caricamento in grado di "servire" anche hardware esotico. Il fatto che alcune unità disco esistano solo in questa forma, giustifica l'esistenza di kernel monolitici. 2. Le unità disco vengono integrate nel kernel solo nel momento di bisogno; in questo caso, si parla di kernel modulare. Il vantaggio consiste nel fatto che vengono caricati solo le unità veramente necessarie e che il kernel non viene "caricato" superfluamente. Il kernel sul dischetto di caricamento di SuSE, p.e., è a moduli e può perciò utilizzare la maggior parte delle configurazioni hardware. Indipendentemente dal fatto che i driver siano integrati stabilmente nel kernel o che vengano caricati come moduli, può succedere che un componente hardware non venga identificato; in questo caso, avrete modo di impostarne i paramentri manualmente ed aiutare il kernel ad identificare il nuovo componente. 14:49:55 MEST * Fornite all'unità di disco informazioni esatte sul tipo di hardware usato e sul come comunicarci (p.e., variabili d'ambiente, interrupt o simili). A volte, l'unità di disco riesce a rilevarle da solo, ma è meglio ed più veloce se lo fate Voi stessi. * Per i casi problematici, esistono speciali parametri del kernel che riusciranno a far funzionare il Vostro sistema. Con i kernel monolitici, i parametri devono essere trasmessi al kernel nel boot- prompt o tramite un bootloader, nel qual caso essi vengono semplicemente chia- mati parametri LILO (dal nome del tradizionali bootloader per architetture x86). Per le unità di disco modulari, vengono usati degli argomenti del comando insmod o modprobe, che caricano contemporaneamente anche il modulo stesso. Al momento del boot, dovete sempre indicare i parametri, perchè, purtroppo, il kernel non è in grado di rilevarli da solo. Più tardi, dopo l'installazione, 251 10 Parametri del kernel i parametri del kernel possono venire inseriti nei file /etc/lilo.conf ovv. /etc/modules.conf tramite i quali essi vengono automaticamente interpretati da LILO o da modprobe. Purtroppo, i parametri integrati vengono definiti con un formato diverso da quel- lo dei parametri caricati in moduli; questo è il motivo per cui, più avanti, trove- rete elenchi separati dei due tipi di parametri. In alcuni moduli (dispositivi CD- ROM), la consegna dei parametri è standardizzata, cosicché, anche per caricare un solo modulo, è possibile usare gli stessi parametri del bootprompt. 10.2 Alcuni suggerimenti Prima di arrivare alle liste di parametri, Vi offriamo un paio di consigli per il riconoscimento hardware delle unità di disco e la formulazione dei parametri: * La maggior parte delle unità di disco è in grado di eseguire un cosiddetto au- toprobing: l'unità di disco testa diversi indirizzi su cui si trova normalmente il relativo componente hardware: durante questo processo, può succedere che l'unità trovi un componente non di sua competenza e che, erroneamente, lo inizializzi. Ciò può causare che il computer si fermi. * Può anche capitare che un modulo venga caricato, benché l'hardware di sua competenza non si trovi nel computer (questo vale soprattutto per le unità di disco 3 Com delle schede di rete). Tuttavia, per semplificare le cose, dovreste ugualmente eseguire un auto- probing. Le unità caricate per sbaglio possono essere smontate facilmente; se l'hardware non viene riconosciuto, impostatene i parametri e cercate co- sì di comunicare la configurazione al kernel e permettergli di comunicare correttamente con il componente. * Ci sono, infine, componenti hardware per cui esistono più unità di disco (NCR 53C810, Ultrastor). Per quanto ci risulta, nessuna delle due unità Ul- trastor sembra possedere speciali vantaggi rispetto all'altra. L'unità BSD per l'NCR53C810 supporta anche gli altri prodotti NCR53C8xx (p.e. 53C875), mentre il vecchio driver NCR supporta il CD-writer. Provatele tutte e due e vedete quale riconosce il Vostro hardware. 252 10.3 I parametri 10.3 I parametri 10.3.1 Formulazione e significato Nei seguenti elenchi di parametri del kernel, disposti in ordine alfabetico, so- no indicati i singoli dispositivi e le rispettive unità di disco, con le possibi- li/necessarie formulazioni dei parametri. Alcuni parametri possiedono sempre lo stesso significato: indicazioni porte esadecimali, (p.e. 0x300) interrupt di comunicazione con il dispositivo (p.e. 7) canale DMA di comunicazione del dispositivo (p.e. 1) , Tabella 10.1: Le più usate denominazioni delle variabili per i parametri dei kernel In seguito, vengono descritti soprattutto i parametri importanti per un'installa- zione ben riuscita. Esiste inoltre una quantità di parametri del kernel per scopi speciali. Rispettate rigorosamente maiuscole e minuscole! Per un'introduzione dettagliata ai parametri del kernel, consultate, do- po l'installazione, BootPrompt-HOWTO su /usr/share/doc/howto come pure le sorgenti del kernel, nel file /usr/src/linux/Documentation/ kernel-parameters.txt. 253 10 Parametri del kernel 10.3.2 Parametri del kernel nel bootprompt I parametri qui elencati possono venire trasmessi al kernel solo direttamente, p.e. alle `boot options' di SYSLINUX (dischetto di caricamento fornito), nel prompt di LILO o tramite loadlinSe volete impiegare la relativa unità in moduli caricabili, ricavatene i parametri dalla sezione 10.3.4 a pagina 267). Nota Tutti i parametri di un'unità di disco devono venire indicati uno dopo l'altro e separati solo da virgole! Non lasciate spazi tra i parametri! Per indicare al bootprompt i parametri dell'unit disco aha1542 al bootprompt, inserite ( e non dimenticate di specificare prima il nome del file del kernel; sui dischetti di caricamento, il kernel si chiama linux!): linux aha1542=0x300 Con l'aiuto di certi parametri, si può regolare il comportamento generale del kernel di Linux. * Reboot Modus (al momento di chiudere Linux) reboot= laddove, per , sono validi i seguenti valori: Parametri Valori warm Reboot con warm start (senza test della memoria) cold Reboot con cold start (con test della memoria) bios Reboot tramite la routine di BIOS hard Reboot tramite CPU-crash (triple fault) Esempio: reboot=cold fa il boot del computer dopo lo spegnimento di Linux, come se aveste premuto il tasto di reset. * Protezione dei campi I/O (riservare) reserve=,, ...,, Con l'aiuto di questo parametri, potete riservare i campi IO all'hard- ware che non tollera un autoprobing del Vostro indirizzo I/O e rea- gisce, p.e., con il crollo del sistema. Esempio: una scheda di re- te delicata può venire protetta dall'autoprobing tramite l'immissione di: reserve=0x330,32 ether=5,0x330,eth0 e venire comunque inizializzata. Nell'esempio, la scheda di rete ha un cam- po I/O con un'estensione di 32-Byte che inizia dall'indirizzo 0x330, e un interrupt di 5. Sul significato dei parametri della scheda di rete vd. 10.3.2 a pagina 263. * Consegna della partizione root 254 10.3 I parametri root= Parametri Valori per esempio /dev/hda1, /dev/sdb5 Esempio: root=/dev/hda5 fa il boot del kernel e cerca di fare il mount dal primo dispositivo logico nella partizione estesa sul primo hard disk (E)IDE. * Dimensioni della memoria principale (RAM) mem= Le dimensioni della memoria vengono espresse in Byte, Kilobyte o Mega- byte. Gli esempi seguenti mostrano diverse configurazioni per una RAM di 96 MB. Esempi: mem=96M mem=98304k In casi rari, può succedere che la scheda madre o il chipset non possano libe- rare tutta le memoria. Tenete conto della memoria usata dalla scheda madre o dal chipset per le proprie necessità (almeno fino a 512 K). Ne trovere- te il valore esatto con il metodo "trial and error"; per motivi di semplicità, supponete che si tratti di 512 K; nel nostro esempio: mem=5ff8000 Usando un Pentium-Clone, la formula mem=nopentium può far funzionare un computer che non riesce a partire in altro modo. * Quantità dei CPUs in SMP maxcpus= Determinazione del numero massimo di CPU da usare in sistemi SMP. Esempio: maxcpus=1 * Console seriale console=, Stabilire il dispositivo per l'uscita della console; il parametro può venire immesso più volte. Esempi: console=ttyS1,9600 console=tty0 Vd./usr/src/linux/Documentation/serial-console.txt, dove troverete alcuni esempi pratici. 255 10 Parametri del kernel Controller SCSI e il subsistema SCSI La maggior parte dei controller SCSI può venire influenzata da parametri. * SCSI-streamer (Streamer) st=,[,] Parametri Valori Grandezza del buffer (numero dei blocchi da 1 KB) Limite di scrittura (numero dei blocchi da 1 KB) Quantità massima dei buffer, facoltativo (p.e. 2) Esempio: st=1000,2000 * Quantità di SCSI-device per ID max_scsi_luns= Parametri Valori 1..8 Esempio: Se si vuole esplicitamente usare soltanto il primo LUN (ingl. logical unit number), si deve inserire il parametro max_scsi_luns=1. Un caso tipico sono i cambia-CD, dove la quantità dei CD utili corrisponde al parametro max_scsi_luns=1. * Adaptec AHA-1520 / 1522 / 1510 / 1515 / 1505 SCSI-Hostadapter aha152x=,,[,[,[,[, []]]]] Parametri Valori (SCSI-ID dell'host adapter) ID dell'host adapter, quasi sempre 7 (reconnect) 0, 1 (parity) 0, 1 controllo di parità (synchronous) 0, 1 trasmissione sincrona 100 valore standard per ritardo bus 0, 1 traduzione C/H/S Con questa unità di disco, potete usare molti SCSI-controller a basso co- sto. Per esempio, tutte le schede audio con SCSI-controller (eccetto Pro Audio Spectrum) contengono un chip Adaptec simile e possono venire usa- te con questa unità. In tutti i controller non originali 152x, il 4o parame- tro (RECONNECT) sembra essere necessario per l'uso e deve essere imposta- to, per quasi tutti i tipi, su `0'. Solo l'AHA2825 vuole `1'. Esempio: aha152x=0x300,10,7 256 10.3 I parametri * Adaptec AHA-1540 / 1542 SCSI-host adapter aha1542=[,,[,]] Parametri Valori 2..15 1..64 5,6,7,8,10 Esempio: aha1542=0x300 * Adaptec AHA-274x / 284x / 294x host adapter aic7xxx=[,[, ...]] Parametri Valori extended attiva il translation mode no_reset impedisce il reset (ingl. reset) del bus SCSI inizializzazione dell'host adapter irq_trigger: solo per sistemi Eisa 0 per il controllo flange triggered, 1 per il controllo livello per ricevere più comunicazioni reverse_scan se più schede vengono esaminate nell'ordine sbagliato 7895_irq_hack: -1 solamente per Tyan II Motherboards pci_parity: se pci_parity non viene usato per parità pari 0 nessun esame di parità 1 parità dispari tag_info: amministrazione della queue per l'aumento della prestazione; per esperti, vd. sorgenti del kernel Esempio: aic7xxx=no_reset se il computer si ferma al reset del bus SCSI. Con gli Hostadapter SCSI basati su aic7xxx, i parametri sono necessari solo in caso di funzione errata o non soddisfacente. L'AHA-2940 AU funziona in modo sicuro solo dalla versione BIOS 1.3 in poi; per gli aggiornamenti, contattate il supporto Adaptec. L'ost adapter SCSI Adaptec 2920 non viene servito da questa unità, bensì da quella di Future Domain ( 10.3.2 a pagina 259)! 257 10 Parametri del kernel * AdvanSys SCSI-Hostadapter advansys=,,...,, Esempio: advansys=0x110,0x210 In questo esempio, si dà ordine al kernel di cercare l'hostadapter AdvanSys agli indirizzi indicati. * AM53/79C974 SCSI-host adapter AM53C974=,,, Parametri Valori SCSI-ID dell'hostadapter, quasi sempre 7 SCSI-ID del dispositivo 0..7 3,5,10 MHz/s max. transfer-rate modalità di trasferimento; 0 = non sincrono Se l'hostadapter sembra essersi inceppato, si riduce la velocità massima di trasferimento per il dispositivo (p.e. il primo CD-ROM SCSI /dev/scd0 con ID 5) sul bus SCSI con: Esempio: AM53C974=7,5,3,0 Per ogni dispositivo, si possono personalizzare velocitá e modalitá di trasfe- rimento, cosicchè si può avere AM53C974=x,x,x,x fino a sette volte per lo stesso hostadapter. * BusLogic SCSI-host adapter BusLogic= BusLogic= Esempio: BusLogic=0x300 258 10.3 I parametri Parametri Valori Indirizzo dell'adapter, p.e. 0x300 NoProbe non viene cercato nessun adapter NoProbeISA non viene cercato nessun adapter ISA NoProbePCI Non viene cercato nessun adapter PCI NoSortPCI sequenza dei multimaster adapter: determinata dal PCI-BIOS MultiMasterFirst multimaster prima del flashpoint FlashPointFirst flashpoint prima del multimaster InhibitTargetInquiry per vecchi dispositivi, con problemi con scsi_luns > 0 TraceProbe dà ulteriori comunicazioni all'inizializzazione dell'adapter TraceHardwareReset emette ulteriori comunicazioni al reset dell'hardware dell'adapter TraceConfiguration emette ulteriori comunicazioni alla configurazione dell'adapter TraceErrors comunica gli errori dei dispositivi collegati Debug emissione di tutto Questo hostadapter può venire configurato anche con altri parametri. Ciò fa però parte del 'fine-tuning' e viene descritto su /usr/src/linux/drivers/scsi/README.BusLogic. * Future Domain TMC-16x0-SCSI-host adapter fdomain=,[,] Parametri Valori SCSI-ID dell'hostadapter 0..7 Questa unità di disco "serve" l'hostadapter SCSI Adaptec 2920. Esempio: fdomain=0x140,11,7 * Future Domain TMC-885/950-host adapter tmc8xx=, Esempio: tmc8xx=0xca000,5 * Gruppo degli host adapter NCR 5380 SCSI ncr5380=,, Esempio: ncr5380=0x340,10,3 * Gruppo degli host adapter NCR 53c400 SCSI ncr53c400=, Esempio: ncr53c400=0x350,5 Questa unità di disco è valida anche per per esempio il diffuso Trantor T130B hostadapter SCSI 259 10 Parametri del kernel * Gruppo degli host adapter NCR 53c406a SCSI ncr53c406a=[,[,]] Parametri Valori 0, se non si desidera un PIO-mode più veloce Esempio: ncr53c406a=0x330,10,0 * Seagate ST01/02 SCSI-host adapter st0x=, Esempio: st0x=0xc8000,5 * Trantor T128/128F/228 SCSI-Hostadapter t128=, Esempio: t128=0x340,10 (E)IDE-Controller e ATAPI-device Per configurare il controller (E)IDE e i dispositivi ad esso collegati, sono disponibili numerosi parametri. * ATAPI-CD-ROM al controller (E)IDE hd= Parametri Valori a, b, . . . , h dal 1o all'8o hard disk a Master sul 1o controller IDE b Slave sul 1o controller IDE c Master sul 2o controller IDE d Slave sul 2o controller IDE etc. noprobe, se il test di un disco rigido esistente dà problemi none ignorare la registrazione CMOS e non testare nowerr ingnorare il Bit WREE_STAT cdrom riconosciuto erroneamente come disco rigido o non riconosciuto assolutamente o fallimento del boot autotune viene usato il modo PIO più veloce slow dopo ogni acceso viene fatta una lunga pausa. diventa molto lento, ma qualche volta è d'aiuto ed è l'ultima possibilità L'unità di disco supporta fino a sei interfacce IDE; ad ognuna di esse posso- no venire collegati 2 dispositivi (a seconda della specificazione ATA-2). Un dispositivo CD-ROM ATAPI come master al secondo IDE-controller vie- ne comunicato con hdc=cdrom; vd. /usr/src/linux/Documentation/ ide.txt. hd= Esempio: hdd=cdrom 260 10.3 I parametri * hard disk hd=,,[,,] Parametri Valori a, b, . . . , h dal 1o all'8o hard disk quantità dei cilindri quantità delle testine quantità dei settori cilindri dopo i quali viene usata la write compensation interrupt Se il BIOS è un po' vecchiotto, può succedere che non venga riconosciuta la giusta geometria del disco rigido: in questo caso, i parametri vengono trasmessi in modo che il kernel possa comunque comunicare con tutto il disco rigido. Esempio: hdc=1050,32,64 * Chipsets per l'EIDE-controller ide0= Una serie di controller EIDE possiede chipset errati o dà problemi se si usa il secondo controller. Per molti di questi chipset è stato quindi ideato uno speciale supporto nel kernel, da attivarsi separatamente con un parametro del kernel. Potete configurare i seguenti chipset: CMD 640 Questo chipset si trova su molte schede madri. Tuttavia, dal momento che è molto difettoso, il kernel offre uno speciale supporto che riconosce questo chipset e ne aggira i problemi; inoltre, in alcuni casi, l'uso del secondo controller è possi- bile solo tramite il codice specifico. Nei sistemi PCI, il chip viene riconosciuto automaticamen- te, nei sistemi VLB, è necessario il seguente parametro del kernel: ide0=cmd640_vlb . RZ 1000 Questo chip viene impiegato in molte schede ma- dri con il chipset Neptun ed è difettoso. Se viene attivato il supporto di questo chip, il sistema la- vorerà più lentamente, ma, in compenso, senza errori. Non è necessaria un'ulteriore attivazione con un parametro del kernel. DTC-2278 È possibile usare il secondo controller solo do- po aver attivato questa unità di disco tramite il parametro ide0=dtc2278. Tabella 10.2: Continua alla pagina seguente... 261 10 Parametri del kernel Holtek HT6560B Per attivare il secondo controller è necessario il seguente parametro: ide0=ht6560b. QDI QD6580 questa unità di disco permette velocità più alte: bezeichneride0=qd6580. UMC 8672 Per attivare il secondo controller, è necessario il seguente parametro: ide0=umc8672. ALI M1439/M1445 Per attivare il secondo controller, è necessario il seguente parametro: ide0=ali14xx. PROMISE DC4030 Per attivare il secondo controller, è necessario il seguente parametro: ide0=dc4030. I dispositivi CD-ROM e gli streamer nel secondo controller non vengono ancora supportati! Tabella 10.2: Chipset EIDE particolari Se il chipset non è compreso nella lista e non viene riconoscito, potrete assegnare i seguenti parametri: ide=[,[,]] Parametri Valori numero dell'adapter, quasi sempre 0 o 1, ma anche 3 o 4 Indirizzo di base dell'adapter, quasi sempre 0x1f0, 0x170, 0x1e8 o 0x168 registro di controllo dell'adapter, quasi sempre 0x3f6, 0x376, 0x3ee o 0x36e Interrupt dell'adapter, quasi sempre 14, 15, 11 o 10 Se il chipset non è fra quelli difettosi e si hanno ugualmente difficoltà, assegnate i seguenti parametri: ide= Parametri Valori Numero dell'adapter, quasi sempre 0 o 1, ma anche 3 o 4 autotune maggiore valore PIO possibile, viene provato, non supportato da tutti i chipset noautotune nessun miglioramento della velocità serialize nessuna accavallamento di tempo delle operazioni con il prossimo host adapter reset dopo le prove, riportare l'adapter allo stato di partenza dma se possibile, configurare/usare il DMS idebus= 262 10.3 I parametri Altre possibilitá * Scheda di rete Ethernet ether=,[,[,...]], I diversi parametri da fino a hanno diversi significati per diverse unità di disco. Quasi sempre sono indicati due parametri, il primo dei quali è l'indirizzo di start e il secondo l'indirizzo finale (meta) del campo shared memory. Il primo argomento non numerico viene considerato come nome. usa interrupt; 0 per autoprobing. indirizzo port; 0 per autoprobing. indirizzo di start per shared memory; alcune unità disco usano i primi 4 Bit per il Debug-Level; l'unità Lance usa questi Bit per il canale DMA. indirizzo finale per la shared memory; l'unità 3COM 3c503 usa questi parametri per differenziare fra transceiver interni ed esterni. tipo del transceiver La scheda Cabletron E21XX usa i primi 4 Bit, per scegliere il mezzo. nome dell'interfaccia (normalmente eth0). Tabella 10.3: Denominazione delle variabili per le schede di rete Ethernet Nella maggior parte dei casi, questo parametro viene usato per far ricono- scere al kernel più di una scheda di rete, poichè, normalmente, viene cercata solo la prima scheda. Per far ciò, digitate la aseguente formula: ether=0,0,eth1 Ricordate che, con l'indicazione di 0 per l'IRQ e l'indirizzo, l'unità di disco riceve il comando di eseguire un cosiddetto autoprobing; il che significa che diversi valori vengono provati in modalità autonoma. Un esempio più complesso: ether=10,0x310,3,0x3c509,eth0 Con questo viene configurata la prima scheda 3c509 sull'IRQ 10, l'indirizzo 0x310 e il collegamento 10base2 (BNC). w * Drive per dischetti floppy=,,cmos 263 10 Parametri del kernel Parametri Valori 0, 1, 2, 3 0 - Uso dei valori CMOS 1 - 5.25 pollici DD, 360 KB 2 - 5.25 pollici HD, 1,2 MB 3 - 3.5 pollici DD, 720 KB 4 - 3.5 pollici HD, 1,44 MB 5 - 3.5 pollici ED, 2,88 MB 6 - 3.5 pollici ED, 2,88 MB 16 - sconosciti o non installati floppy= Per possono venire usati i seguenti valori (tabella 10.4): one_fdc un drive per dischetti e non di più asus_pci impedisce l'accesso al lettore dei dischetti daring solo con controller che non danno problemi. Aumenta la performance 0,daring il contrario di daring [,]two_fdc se, in due controller floppy, si trala- scia il valore per l', per que- sti due controller viene assunto un indirizzo di porta 0x370 thinkpad computer IBM Thinkpad 0,thinkpad nessun computer Thinkpad omibook computer Omnibook nodma per computer Omnibook dma standard nofifo in caso di "Bus master arbi- tration error" fifo standard 0xX,fifo_depth livello FIFO standard 0xA unexpected_interrupts avviso nel caso che si verifichino interrupt imprevisti no_unexpected_interrupts e... L40SX questo valore fa il contrario di unexpected_interrupts Tabella 10.4: Valori per il parametro del kernel floppy * Bus mouse Logitech bmouse= * Controller dell'hard disk XT 264 10.3 I parametri xd=,,, 10.3.3 CD-ROM-device al proprio Controller * Aztech CDA268-01 CD-ROM-device aztcd=[,0x79] Indicate il valore 0x79 solo se usate una versione firmware sconosciuta. Esempio: aztcd=0x320 * Goldstar R420-CD-ROM-Laufwerk gscd= * Mitsumi-CD-ROM-device mcd=, Esempio: mcd=0x300,10,5 * Mitsumi-CD-ROM-Laufwerk (Multisession) mcdx=,[,,] Esempio: mcd=0x300,10 Vengono supportati fino a 5 device. * Interfaccia Mozart isp16=[[,[,]]][[,]] Parametri Valori Sanyo, Panasonic, Sony, Mitsumi Questa unità disco è competente per dispositivi CD-ROM collegati a una scheda audio ISP16, MAD16 o Mozart. Il valore della variabile risulta dal tipo di interfaccia a cui è connesso il cavo audio dal CD-ROM alla scheda audio. Esempio: isp16=0x340,10,3,Sony * Optics Storage 8000 AT CD-ROM-device optcd= Esempio: optcd=0x340 * Philips CM206 CD-ROM-device cm206=, Esempio: cm206=0x340,10 265 10 Parametri del kernel * Pro Audio Spectrum 16 - SCSI-host adapter pas16=, Sulla scheda audio Pro Audio Spectrum 16, si trova un'hostadapter SCSI le cui impostazioni possono venire comunicate al kernel con questo parametro: Esempio: pas16=0x340,10 Se la scheda non dovesse essere identificata, usatela senza interrupt. In questo caso, l'interrupt viene impostato su 255. Esempio: pas16=0x340,255 * Sanyo CD-ROM-device sjcd= Esempio: sjcd=0x340 * Sony CDU 31/33 A cdu31a=,[,PAS] In questa unità di disco non vi è più alcun tipo di autoprobing dal ker- nel, per cui è assolutamente necessario indicarne i parametri. Esempio: cdu31a=0x340,5 Se per il dispositivo non è previsto alcun interrupt e ci si può accedere solo tramite polling, bisogna impostare l'IRQ su 0. Esempio: cdu31a=0x340,0 Se questo dispositivo è collegato a una scheda Pro Audio Spectrum, il parametro potrebbe essere: Esempio: cdu31a=0x1f88,0,PAS * Sony CDU 535 sonycd535=, Esempio: sonycd535=0x340,10 * Soundblaster Pro 16 MultiCD sbpcd=, Parametri Valori LaserMate, SPEA, SoundBlaster, SoundScape, Teac 16bit Esempio: sbpcd=0x230,SoundBlaster La porta parallela * Porta parallela parport=,[ [parport=,[ [parport=,[]]]]] 266 10.3 I parametri Parametri Valori Indirizzo Interrupt Esempio: parport=0x3bc parport=0x378,7 parport=0x278,auto * Stampante su porta parallela lp= [lp= [lp=]] Parametri Valori Porta parallela Esempio: lp=parport0 lp=parport2 10.3.4 Parametri modprobe In questo capitolo vengono elencati quei parametri che possono venire usati co- me moduli quando si carica un driver. Se, nonostante l'indicazione del para- metro, un driver non potesse venir caricato, o in questo capitolo non si trova il parametro giusto per questo driver, dovrete purtroppo integrare questo driver in un kernel monolitico. Alcuni driver non sono ancora a disposizione come moduli, altri invece rico- noscono affidabilmente l'hardware solo se il driver è collegato stabilmente al kernel. In ogni modo vale la pena di provare se il driver in questione può venire usato come modulo. Se un driver viene caricato come modulo ogni variabile in esso usata può venire chiamat dalla riga di comando: c'è per esempio nel driver per la scheda NE2000 la variabile con il nome io, che specifica il campo I/O usato dalla scheda. La giusta chiamata per caricare questo modulo (vedi anche nel capitolo del kernel il 9.2 a pagina 244): è quindi: terra:/ # insmod ne io=0x300 irq=10 All'indicazione dei parametri, ricordate che prima e dopo il segno di uguale (=) non devono esserci spazi vuoti. Inoltre i valori esadecimali devono venire indicati come nella forma dell'esempio (con `0x' preposto). Nota Se per un driver si possono indicare più parametri, questi devono venire separati da spazi! Ciò rappresenta una grande differenza rispetto alla tra- smissione di parametri al LILO-Prompt, dove entro i parametri stessi per un unico driver non devono assolutamente apparire spazi vuoti! I parametri che potete indicare qui possono anche venire presi nel file /etc/ conf.modules. Qui, per ogni modulo, può venire indicata una quantità di parametri. Ciò avviene per ogni modulo in una propria riga: 267 10 Parametri del kernel options = ... Spiegazione: Parametri Valori nome del file del modulo senza estensione .o parametro 1 valore attribito al parametro 1 La registrazione per la scheda NE2000 dell'esempio sopra sarebbe quindi: options ne io=0x300 irq=10 In segito elenchiamo i parametri più importanti per la maggior parte dei moduli. SCSI-controller e sottosistema SCSI * Adaptec AHA-1520 / 1522 / 1510 / 1515 / 1505 SCSI-host adapter Modulname: aha152x.o Parametri Valori SCSI-ID dell host adapter; standard 7 ; 0, 1 parity; 0, 1 modo operativo sincrono; 0, 1 ritardo bus, valore standard; 100 traduzione della geometria del disk; 0, 1 Come al bootprompt: Esempio: modprobe aha152x aha152x=0x340,10,7,1,1,0,100,0 Per un secondo host adapter: Esempio: modprobe aha152x1 aha152x=0x140,12,7,1,1,0,100,0 * Adaptec AHA-1540 / 1542 SCSI-Hostadapter Modulname: aha1542.o Parametri Valori ; standard 0x330 e 0x334 2..15 1..64 5,6,7,8,10; standard 5 Come al bootprompt: Esempio: modprobe aha1542 aha152x=0x130 * Future Domain TMC-16x0­Hostadapter Modulname: fdomain.o 268 10.3 I parametri Questa unità di disco funziona anche per per esempio il diffuso hostadapter SCSI Adaptec 2920. fdomain=,[,] Parametri Valori Come al LILO-Prompt: Esempio: modprobe fdomain fdomain=0x140,11,7 * NCR 5380 risp. NCR 53C400 famiglia SCSI-hostadapter Modulname: g_NCR5380.o Parametri Valori ncr_addr ncr_irq ; spegnere con 255 ncr_dma ncr_5380 1 per un NCR5380-Adapter ncr_53c400 1 per un NCR53C400-Adapter Per un'adapter NCR5380: Esempio: modprobe g_NCR5380 ncr_irq=5 ncr_addr=0x350 ncr_5380=1 Per un adapter NCR53C400 con interrupt spenti: Esempio: modprobe g_NCR5380 ncr_irq=255 ncr_addr=0xc8000 ncr_53c400=1 Questa unità di disco vale anche per per esempio il diffuso Hostadapter SCSI Trantor T130B Schede di rete * Schede rete 3Com 3c501 / 3c503 / 3c505 / 3c507 Modulname: 3c501.o,3c503.o,3c505.o,3c507.o Parametri Valori io irq Esempio: modprobe 3c505 io=0x300 irq=10 * Schede di rete 3Com 3c509 / 3c579 Modulname: 3c509.o 269 10 Parametri del kernel Parametri Valori irq xcvr 0: interno; 1: esterno Esempio: modprobe 3c509 irq=10 xcvr=0 * Schede di rete 3Com 3c515 Modulname: 3c515.o Esempio: modprobe 3c515 * Schede di rete 3Com 3c59x / 3c90x ("Vortex"/"Boomerang") Modulname: 3c59x.o Con i computer Compaq (PCI) si possono provare i segenti parametri: Parametri Valori compaq_ioaddr compaq_irq compaq_prod_id Esempio: modprobe 3c59x compaq_irq=10 * Scheda grafica Allied Telesis AT1700 Modulname: at1700.o Parametri Valori io irq Esempio: modprobe at1700 io=0x300 irq=10 * Scheda di rete Cabletron E21xx Modulname: e2100.o Parametri Valori io irq mem xcvr 0: interno; 1: esterno Esempio: modprobe e2100 io=0x300 irq=10 mem=0xd000 xcvr=0 * Schede di rete Digital DE425 / 434 / 435 / 450 / 500 Modulname: de4x5.o io=0x 270 10.3 I parametri Parametri Valori bus Numero del PCI-Bus, generalmente 0 geräte-id Numero del PCI-device Questi dati vengono mostrati dai PCI-BIOS più recenti, o si possono trovare su Linux con terra: # cat /proc/pci. Esempio: modprobe de4x5 io=0x007 * Scheda di rete Digital DEPCA / DE10x / DE20(012) / DE42, EtherWORKS Modulname: depca.o Parametri Valori io irq mem adapter_name p.e. DEPCA, de100, de101, de200, de201, de202, de210, de422 Esempio: modprobe depca io=0x300 irq=10 * Scheda di rete EtherWORKS 3 (DE203, DE204, DE205) Modulname: ewrk3.o Parametri Valori io irq Esempio: modprobe ewrk3 io=0x300 irq=10 * Scheda di rete Intel EtherExpress 16 Modulname: eexpress.o Parametri Valori io irq Esempio: modprobe eexpress io=0x300 irq=10 * Scheda di rete Intel EtherExpressPro Modulname: eepro.o 271 10 Parametri del kernel Parametri Valori io irq mem Esempio: modprobe eepro io=0x300 irq=10 mem=0xd000 * Scheda di rete Intel EtherExpressPro 100 Modulname: eepro100.o L'Intel EtherExpressPro contiene i chip i82557/i82558. Parametri Valori options 16 full-Duplex 32 Trasferimento massimo di 100 MBit 64 Trasferimento massimo di 10 MBit Esempio: modprobe eepro100 options=48 Si può contemporaneamente configurare la modalitá full-duplex e trasferimento di 100-MBit (48 = 32 + 16). * schede di rete Fujitsu FMV-181/182/183/184 Modulname: fmv18x.o Parametri Valori io irq Esempio: modprobe fmv18x io=0x300 irq=10 * scheda di rete HP PCLAN+ (27247B and 27252A) Modulname: hp-plus.o Parametri Valori io irq Esempio: modprobe hp-plus io=0x300 irq=10 * HP PCLAN (27245 / 27xxx) Modulname: hp.o Parametri Valori io irq Esempio: modprobe hp io=0x300 irq=10 272 10.3 I parametri * schede di rete HP 10/100 VG-AnyLAN (ISA, EISA, PCI) Modulname: hp100.o Parametri Valori hp100_port Esempio: modprobe hp100 hp100_port=0x300 * schede di rete ICL EtherTeam 16i / 32 Modulname: eth16i.o Parametri Valori io irq Esempio: modprobe eth16i io=0x300 irq=10 * schede di rete Novell NE2000 / NE1000 Modulname: ne.o Parametri Valori io irq bad bad, solo se non viene riconosciuta la scheda Esempio: modprobe ne io=0x300 irq=10 * scheda di rete NI6510 (AM7990 "lance" Chip) Modulname: ni65.o Parametri Valori io irq dma Esempio: modprobe ni65 io=0x300 irq=10 * scheda di rete SMC Ultra Modulname: smc-ultra.o Parametri Valori io irq Esempio: modprobe smc-ultra io=0x300 irq=10 273 10 Parametri del kernel * scheda di rete SMC 9194 Modulname: smc9194.o Parametri Valori io irq if_port Parametri Valori 0 auto 1 TP 2 AUI, 10base2 Esempio: modprobe smc9194 io=0x300 irq=10 if_port=2 * Scheda di rete Western Digital WD80x3 Modulname: wd.o Parametri Valori io irq mem mem_end Esempio: modprobe wd io=0x300 irq=10 * scheda di rete IBM Tropic chipset Token Ring Modulname: ibmtr.o Parametri Valori io irq mem_start Esempio: modprobe ibmtr io=0x300 * scheda di rete D-Link DE620 Pocket-Adapter Modulname: de620.o Parametri Valori io irq bnc 1 se entrata/uscita BNC utp 1 se entrata/uscita UTP clone 1 se device identico Esempio: modprobe de620 io=0x300 irq=10 bnc=1 utp=0 274 10.3 I parametri Dispositivi CD-ROM proprietari I seguenti parametri riguardano dispositivi CD-ROM collegati a speciali controller. Chi sia in possesso di uno di questi "Oldies", li conoscerà sicuramente. . . * CD-ROM device Aztech CDA268-01 Modulname: aztcd.o Parametri Valori aztcd Esempio: modprobe aztcd aztcd=0x300 * CD-ROM device Goldstar R420 Modulname: gscd.o Parametri Valori gscd Esempio: modprobe gscd gscd=0x300 * CD-ROM device Mitsumi Modulname: mcd.o mcd=, Esempio: modprobe mcd mcd=0x300,10 * CD-ROM device Mitsumi (Multisessione) Modulname: mcdx.o mcdx=,[,,] Per diversi driver, le chiamate , possono venire ripetute fino a 4 volte. * Scheda audio Mozart con interfaccia per il CD-ROM Modulname: isp16.o isp16_cdrom_base= isp16_cdrom_irq= isp16_cdrom_dma= isp16_cdrom_type= Parametri Valori Sanyo, Panasonic, Sony, Mitsumi Questa unità di disco non è, di per sé, fatta per un CD-ROM; è competen- te solo per la configurazione delle interfacce dei CD-ROM collegati ad una scheda audio ISP16, MAD16 o Mozart. Dopo aver caricato questa unità di 275 10 Parametri del kernel disco, solo l'interfaccia è adeguatamente configurata; l'unità CD-ROM adat- ta deve ancora venire installata. Il valore per la variabile deriva dalla spina con cui il cavo del CD-ROM è collegato alla scheda audio. Esempio: modprobe isp16 isp16_cdrom_base=0x300 isp16_cdrom_irq=10 isp16_cdrom_dma=1 isp16_cdrom_type=sony * CD-ROM Optics Storage 8000 AT Modulname: optcd.o Parametri Valori optcd Esempio: modprobe optcd optcd=0x300 * CD-ROM-device Philips CM206 Modulname: cm206.o cm206=, Esempio: modprobe cm206 cm206=0x300,10 * CD-ROM-device Sanyo Modulname: sjcd.o Parametri Valori sjcd Esempio: modprobe sjcd sjcd=0x300 * Sony CDU 31/33 A Modulname: cdu31a.o Parametri Valori cdu31a_port cdu31a_irq Esempio: modprobe cdu31a cdu31a_port=0x300 cdu31a_irq=10 * Sony CDU 535 Modulname: sonycd535.o Parametri Valori sonycd535 Esempio: modprobe sonycd535 sonycd535=0x300 276 10.3 I parametri * Soundblaster Pro 16 MultiCD Modulname: sbpcd.o sbpcd=, in cui può aver i seguenti valori: Parametri Valori 0 LaserMate 1 SoundBlaster 2 SoundScape 3 Teac16bit Esempio: modprobe sbpcd sbpcd=0x300,0 Schede audio e chip audio Dal Kernel 2.2.xx è realizzato il supporto audio in forma modulare ed è controllabile attraverso diversi parametri. * AD1816 Chip Modulname: ad1816.o Supportati sono anche: Terratec Base 1, Terratec Base 64, HP Kayak, Acer FX-3D, SY-1816, Highscreen Sound-Boostar 32 Wave 3D Parametri Valori io irq dma dma2 ad1816_clockfreq Esempio: modprobe ad1816 io=0x530 irq=5 dma=1 dma2=3 ad1816_clockfreq=33000 * AD1848/CS4248 Chip (MSS) Modulname: ad1848.o Parametri Valori io irq dma dma2 type deskpro_xl 277 10 Parametri del kernel * OPLx driver generico Modulname: adlib_card.o Parametri Valori io Esempio: modprobe adlib_card io=0x330 * Chipset Crystal 423x Modulname: cs4232.o Parametri Valori io irq dma dma2 Esempio: modprobe cs4232 io=0x530 irq=5 dma=1 dma2=3 * Chipset Ensoniq 1370 Modulname: es1370.o Vgl. auch PCI64/128. Parametri Valori joystick 1: attivare Joystick lineout 1: cambiare da Line-in in Line-out micz impedanza microfono Esempio: modprobe es1370 joystick=1 lineout=1 * Chipset Creative Ensoniq 1371 Modulname: es1371.o Vgl. auch PCI64/128. Parametri Valori joystick I valori validi per sono 0x200, 0x208, 0x210 und 0x218. Esempio: modprobe es1371 joystick=0x200 * Gravis Ultrasound Modulname: gus.o 278 10.3 I parametri Parametri Valori io irq dma dma16 type gus16 no_wave_dma db16 * MAD16 Modulname: mad16.o Supporta OPTi 82C928, OAK OTI-601D, OPTi 82C929, OPTi 82C930 und OPTi 82C924. Parametri Valori io irq dma dma16 Esempio: modprobe mad16 io=0x530 irq=7 dma=0 dma16=1 * Turtle Beach Maui e Tropez Modulname: maui.o Parametri Valori io irq Esempio: modprobe maui io=0x530 irq=5 * MPU401 Modulname: mpu401.o Parametri Valori io Esempio: modprobe mpu401 io=0x330 * Turtle Beach MultiSound Modulname: msnd.o Esempio: modprobe msnd 279 10 Parametri del kernel * Turtle Beach Classic/Monterey/Tahiti Modulname: msnd_classic.o Parametri Valori io irq mem write_ndelay major fifosize calibrate_signal Esempio: modprobe io=0x290 irq=7 mem=0xd0000 * Turtle Beach Pinnacle/Fiji Modulname: msnd_pinnacle.o Oltre ai parametri della Turtle Beach Classic/Monterey/Tahiti ( 10.3.4), questa scheda capisce: Parametri Valori digital cfg reset mpu_io mpu_irq ide_io0 ide_io1 ide_irq joystick_io Esempio: modprobe msnd_pinnacle cfg=0x250 io=0x290 irq=5 mem=0xd0000 * OPL3 Modulname: opl3.o Parametri Valori io Esempio: modprobe io=0x388 * OPL3-SA1 Modulname: opl3sa.o 280 10.3 I parametri Parametri Valori io irq dma dma2 mpu_io mpu_irq Esempio: modprobe opl3sa io=0x530 irq=11 dma=0 dma2=1 mpu_io=0x330 mpu_irq=5 * YMF711, YMF715, YMF719, OPL3-SA2, OPL3-SA3, OPL3-SAx Modulname: opl3sa2.o Parametri Valori io irq dma dma2 mss_io mpu_io Esempio: modprobe opl3sa2 io=0x370 irq=7 dma=0 dma2=3 mss_io=0x530 mpu_io=0x330 * Pro Audio Spectrum Modulname: pas2.o Parametri Valori io irq dma dma16 sb_io sb_irq sb_dma sb_dma16 joystick symphony broken_bus_clock * Personal Sound System (ECHO ESC614) Modulname: pss.o 281 10 Parametri del kernel Parametri Valori pss_io mss_io mss_irq mss_dma mpu_io mpu_irq pss_mixer 1 (attivare) o 0 * Sound Blaster Compatibili Modulname: sb.o Parametri Valori io irq dma dma16 mpu_io mad16 1 (attivare) trix 1 (attivare) pas2 1 (attivare) sm_games 1 (attivare) acer 1 (attivare), in Acer Notebooks mwave_bug 1 (attivare) Esempio: modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 * Aztech Sound Galaxy Modulname: sgalaxy.o Parametri Valori io irq dma dma2 sgbase * S3 Sonic Vibes Modulname: sonicvibes.o Keine Parameter. * Ensoniq SoundScape Modulname: sscape.o 282 10.3 I parametri Parametri Valori io irq dma mss mpu_io mpu_irq spea 1 * MediaTrix AudioTrix Pro Modulname: trix.o Parametri Valori io irq dma dma2 sb_io sb_irq sb_dma mpu_io mpu_irq * UART401 Modulname: uart401.o Parametri Valori io irq Esempio: modprobe io=0x330 irq=9 * UART6850 Modulname: uart6850.o Parametri Valori io irq * Chipset Sound Blaster DSP Modulname: v_midi.o Keine Parameter. 283 10 Parametri del kernel * Turtle Beach Maui, Tropez, Tropez Plus Modulname: wavefront.o Parametri Valori io irq Esempio: modprobe wavefront io=0x200 irq=9 La porta parallela L' utilizzo della porta parallela è un po' complicato. Dopo la configurazione, è disponibile un proprio sottosistema; vedi 6.3.4 a pagina 183 ff. * Porta parallela Modulname: parport.o Esempio: modprobe parport * Porta parallela ­ architettura-specifica Modulname: parport_pc.o Parametri Valori io irq Per installare, ad esempio, 3 porte in stile PC (una delle quali sia collocata all'indirizzo 0x3bc senza IRQ, una all'indirizzo 0x378 con IRQ 7 e una all'indirizzo 0x278 con IRQ automaticamente riconoscibile), digitate (in una riga!): Esempio: modprobe parport_pc io=0x3bc,0x378,0x278 irq=none,7,auto * Driver della stampante Modulname: lp.o Parametri Valori parport Esempio: modprobe lp parport=0,2 * Dispositivo IDE su porta parallela Modulname: paride.o Se volete usare una catena di dispositivi Paride con una sola porta parallela, dovrete prima caricare parport.o (vd. 10.3.4)! Esempio: modprobe paride Possibilmente, la porta parallela dovrebbe venire usata in "modo EPP"; settate questo modo nel BIOS del Vostro computer. 284 10.3 I parametri * Porta parallela: protocollo del driver IDE-Lowlevel Modulname: .o Protocollo Device aten ATEN EH-100 (HK) bpck Microsolutions backpack (US) comm DataStor (old-type) "commuter" adapter (TW) dstr DataStor EP-2000 (TW) epat Shuttle EPAT (UK) epia Shuttle EPIA (UK) fit2 FIT TD-2000 (US) fit3 FIT TD-3000 (US) friq Freecom IQ cable (DE) frpw Freecom Power (DE) kbic KingByte KBIC-951A and KBIC-971A (TW) ktti KT Technology PHd adapter (SG) on20 OnSpec 90c20 (US) on26 OnSpec 90c26 (US) Esempio: modprobe epat * Porta parallela: hard disk IDE Modulname: pd.o Parametri Valori verbose Caricate prima parport e poi il driver lowlevel (vedi 10.3.4). Esempio: modprobe pd verbose=1 * CD-ROM ATAPI su porta parallela Modulname: pcd.o Caricate prima parport e poi l'unità disco lowlevel (vd. 10.3.4). Esempio: modprobe pcd * Port parallelo: floppy device ATAPI Modulname: pf.o Caricate prima parport e poi l'unità disco lowlevel (vd. 10.3.4). Esempio: modprobe pf * Porta parallela: ATAPI streamer Modulname: pt.o Caricate prima parport e poi l'unità disco lowlevel (vd. 10.3.4). Esempio: modprobe pt 285 10 Parametri del kernel * Porta parallela: dispositivo ATAPI generico Modulname: Caricate prima parport e poi l'unità discoi lowlevel (vd. 10.3.4 nella pagina precedente). Esempio: modprobe pg 286 11 Update del sistema e amministrazione dei pacchetti 11 Update del sistema e amministrazione dei pacchetti 11.1 Update di SuSE Linux SuSE Linux Vi offre la possibilità di aggiornare un sistema già esistente, senza dover fare un'installazione completamente nuova. Bisogna tuttavia distinguere fra l'aggiornamento di singoli pacchetti e il completo update del sistema. È un fenomeno noto: il software "cresce" di versione in versione! È perciò con- sigliabile controllare tramite il comando df, prima dell'aggiornamento, com'è sfruttato lo spazio sulle partizioni. Se avete l'impressione che lo spazio scarseg- gi, eseguite un backup dei dati e ripartizionate il sistema. Non esiste un criterio universale che Vi possa aiutare a decidere di quanto spazio abbiate bisogno: tutto dipende dal tipo di partizione esistente, dal software prescelto e dalla versione da aggiornare a SuSE Linux 7.3. Nota È bene leggere sul CD 1 il file LEGGIMI (ingl. README) o sotto DOS/Windows il file LEGGIMI.DOS (ingl. README.DOS); lì annotiamo ulteriori modifiche che sono avvenute dopo la stampa del manuale! 11.1.1 Preparazione Prima dell'inizio di un aggiornamento i vecchi file di configurazione dovrebbero essere copiati su un dispositivo a parte (streamer, hard disk estraibile, dischetto, ZIP-device). Principalmente si tratta dei file contenuti in /etc; si devono inol- tre controllare i file di configurazione sotto /var/lib (p.e. per news o XDM). Inoltre è sempre bene scrivere sull'unità di backup anche i dati dell'utente sotto /home (le HOME-directory). Prima di iniziare un aggiornamento annotateVi la partizione di root; con il co- mando terra: # df / potete trovare il nome del dispositivo della Vostra partizione root; nell'e- dizione 11.1.1 nella pagina seguente, /dev/hda7 è la partizione root da annotare: poichè la partizione /dev/hda7 è ("montata") nel filesystem sotto /. 287 11 Update del sistema e amministrazione dei pacchetti Filesystem Size Used Avail Use% Mounted on /dev/hda7 3.0G 1.1G 1.7G 38% / /dev/hda5 15M 2.4M 12M 17% /boot shmfs 141M 0 141M 0% /dev/shm /dev/hda1 1.9G 189M 1.7G 10% /dos output 11.1.1: Sommario con df -h Suggerimento Prima di un update PostgreSQL (pacchetto postgres) è generalmente consigliabile memorizzare completamente le banche dati; vedi pagina di manuale di pg_dump (man pg_dump). Questo è naturalmente necessario solo se avete veramente usato PostgreSQL prima dell'update. Ora dovete decidere se volete fare l'aggiornamento con il YaST classico o con lo YaST2 grafico. La scelta è semplice: se volete aggiornare un SuSE Li- nux anteriore alla versione 6.0, usate YaST e procedete come descritto nella sezione 11.1.3 nella pagina successiva. Dalla versione 6.0 in poi potete usare YaST2. 11.1.2 Update con YaST2 Dopo aver svolto i preparativi esposti nella sezione 11.1.1 nella pagina prece- dente, fate prima il boot. Nota Potete svolgere un update con YaST2 solo se volete aggiornare un SuSE Linux 6.x. Per le versioni più vecchie (p.e. SuSE Linux 5.3), YaST1 è la scelta giusta; vedi sezione 11.1.3 nella pagina successiva. Inizializzate YaST2 e selezionate `Update del sistema'. Il modulo lancierà una serie di azioni e YaST2 rileverà i pacchetti da aggiornare. Se lo volete, potete decidere per ogni singolo pacchetto, se eseguire un update o no. Il sistema di base però, non può venire rinnovato in questo modo; per farlo si deve eseguire il boot dal mezzo di installazione, p.e. dal CD. Ricordate che, più vecchia è la versione di base da aggiornare e/o maggiore il numero di pacchetti da attualizzare, più problematico diventa l'update. A vol- te la vecchia configurazione non può venire caricata correttamente; in questo caso, è consigliabile creare una configurazione completamente nuova. Prima dell'update, è consigliabile memorizzare una configurazione esistente. 288 11.1 Update di SuSE Linux 11.1.3 Update con YaST1 Update del sistema di base Poichè, all'aggiornamento del sistema di base, devono venire modificate anche le parti centrali del sistema (p.e. le librerie), questo compito non può essere svolto a sistema caldo. Dovrete quindi inizializzare l'ambiente di aggiornamento tramite il dischetto di boot ("Bootdisk") o digitando manual al bootprompt del kernel, come descritto dettagliatamente nella sezione 2.1 a pagina 7. Essenzialmente si devono eseguire i seguenti passi: 1. Dopo il boot del kernel, linuxrc si avvia automaticamente. 2. Nel menu principale, sotto `Configurazioni', stabilite la lingua, lo scher- mo e la tastiera e quindi confermate con `Ok'. 3. Ora, nel punto del menu `Moduli del kernel', devono venire caricate le unità disco dell'hardware. (per maggiori dettagli su questo procedimento, consultate la descrizione di linuxrc su 12.5 a pagina 316). 4. Una volta fatto ciò, si può passare, con i punti del menù `Installazione / Avviare il sistema' e `Inizializzare l'installazione', alla scelta del dispositivo d'installazione. (vedi a pagina 318). 5. Dopodiché, partendo da linuxrc, viene inizializzato YaST (in automatico). Nel menù principale di YaST, scegliete la voce `aggiornare un sistema esistente'; ora, YaST cerca di trovare la partizione di root e Vi offre la possibi- lità di scegliere o confermare il risultato delle sue ricerche; nell'elenco mostrato, indicate, come sopra annotato (Esempio: /dev/sda2), la Vostra partizione di root. "vecchio" fstab. YaST legge il file /etc/fstab che si trova su questa partizione e fa il mount dei filesystem lì registrati. Quindi selezionate `Avanti' (o Continua). § ¤ Dopo essere tornati al menù principale con ¦Esc ¥ , è il turno del punto `aggior- nare il sistema' (vedi capitolo 3.2 a pagina 47). YaST analizza il Vostro sistema attuale e mostra il risultato dell'analisi. Successivamente vengono aggiornati i componenti centrali del Vostro sistema, mentre YaST crea automaticamente una copia di sicurezza dei file da Voi mo- dificati nell'ultima installazione; se desiderato, vengono inoltre memorizzati i vecchi file di configurazione con la desinenza .rpmorig o .rpmsave; (ve- di 11.3.2 a pagina 301); il processo d'installazione o di update viene protocollato in /var/adm/inst-log/installation-* e può sempre essere consultato. Update del resto del sistema Una volta aggiornato il sistema di base, accedete ad uno speciale update-modus di YaST. Lì, potete aggiornare il resto del sistema a seconda dei Vostri desideri. 289 11 Update del sistema e amministrazione dei pacchetti YaST crea due liste nelle quali visualizza i pacchetti di cui crede sia necessario e possibile fare un aggiornamento (se per esempio è stato modificato un pac- chetto dipendente da altri o il nuovo pacchetto ha una versione maggiore). Nella seconda lista vengono mostrati quei pacchetti di cui non è facile decidere se l'up- date sia necessario o no ­ se, p.e., il vecchio pacchetto era memorizzato senza il numero della versione. In queste due liste potete selezionare o deselezionare i pacchetti da aggiorna- re. Se inizializzate l'aggiornamento, i pacchetti selezionati vengono rimpiazzati dalla nuova versione, mentre vengono nuovamente salvati tutti i file modificati dall'ultima installazione. Una volta eseguito questo compito, dovete terminare il processo come se si trat- tasse di una normale installazione: fra l'altro, dovreste scegliere un nuovo kernel; YaST Vi offrirà questa opzione. Suggerimento Se fate il boot con loadlin, dovete naturalmente anche copiare il kernel nuovo e eventualmente il file initrd nella directory loadlin della Vostra partizione DOS! Se non volete che dopo l'update YaST venga automaticamente iniziato (riguardo allo standard-runlevel, vedi sezione 13.2 a pagina 328) mentre il sistema è attivo, per terminare i processi preparati per l'aggiornamento, inserite al Boot-Prompt: NO_AUTO_SETUP=true NO_AUTO_SETUP=true ha senso se, contro ogni aspettativa, dovessero suben- trare dei problemi al riavvio del sistema. Tali problemi potrebbero subentrare se installate importanti parti del sistema Linux tramite una scheda PCMCIA-SCSI. Procedete nel seguente modo per poter continuare a eseguire la configurazione preparata: 1. Facendo il boot, al prompt di LILO, indicate il seguente parametro: NO_AUTO_SETUP=true 2. Per eseguire eventuali configurazioni, fate il login come `root' e inizializ- zate yast -nomenu. 3. Lanciate /lib/YaST/bootsetup.conf come `root' e aspettate. Fatto questo, tutto si svolgerà in modo standard. In un caso simile, l'utente esperto di Linux preferirà forse non andare diretta- mente nel runlevel standard, ma preferirà andare direttamente al modo di single user (Runlevel S) tramite single. 11.1.4 Attualizzare i singoli pacchetti Oltre all'update totale, potete naturalmente aggiornare anche i singoli pacchetti; per farlo, dovete naturalmente fare Voi stessi attenzione che il sistema rimanga 290 11.2 Da versione a versione consistente: purtroppo, al momento potrete trovare consigli per l'update solo nell' URL inglese: http://www.suse.com/support/download/updates/ index.html o tedesca: http://www.suse.de/de/support/download/updates/; alla versione italiana stiamo ancora lavorando. Nella scelta dei pacchetti tramite YaST (vedi capitolo 3.5.3 a pagina 67 ff.) potete fare quello che volete. Se scegliete di aggiornare un pacchetto importante per il funzionamento del sistema, YaST Vi avviserà: tali pacchetti dovrebbero venire aggiornati nello speciale update-modus. Molti pacchetti contengono per esempio "shared libraries", che vengono probabilmente utilizzate dai processi in corso al momento dell'aggiornamento stesso. Un aggiornamento di questi pacchetti a processi attivi potrebbe portare al malfunzionamento di questi programmi. 11.2 Da versione a versione Nelle sezioni successive elenchiamo le modifiche fondamentali da versione a versione. In questo sommario si indica se per esempio siano state riconfigurate parti fondamentali o se file di configurazione siano stati spostati in altre locazioni o se interi programmi siano stati modificati. Sono state elencate solo le cose im- portanti per l'utente o per l'amministratore di sistema nel loro lavoro quotidiano. La lista non è completa. In seguito Vi rimandiamo all'SDB contenuto anche in pacchetto sdb_de, serie doc. Appena rilevati, i problemi e le particolarità della rispettiva versione verran- no pubblicati sul Server-WWW. Aggiornamenti importanti dei singoli pacchet- ti sono disponibili tramite http://www.suse.de/de/support/download/ updates/. 11.2.1 Dalla versione 5.x alla 6.0 Problemi e particolarità: http://sdb.suse.de/sdb/de/html/bugs60.html. * Per ragioni di sicurezza, gli X-server non vengono più installati suid root (cioè senza l's-Bit). Per questo motivo, l'X Window System deve venire avviato con l'Xwrapper via startx o tramite un display manager xdm o con kdm). * Utenti che vogliono usare programmi per terminali come minicom, seyon, etc., devono venire registrati nel gruppo `uucp'; vedi file:/usr/share/ doc/sdb/de/html/ke_terminal-prog.html. * Emacs è presente nella versione 20.x; devono venire usati i file adattati di inizializzazione modificati di /etc/skel; vd. file:/usr/share/doc/ sdb/de/html/ke_emacs-update.html. 291 11 Update del sistema e amministrazione dei pacchetti * Parti di /etc/rc.config sono state spostate, per pacchetti con ampie pos- sibilità di configurazione, nei file della directory /etc/rc.config.d * cron è in grado di eseguire gli script nelle directory /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly e /etc/cron.monthly; il file- system-crontab ha cambiato nome: da /root/bin/cron.daily in /etc/ cron.daily/aaa_base. Cfr. anche a pagina 295. 11.2.2 Dalla versione 6.0 alla 6.1 Problemi e particolarità: http://sdb.suse.de/sdb/de/html/bugs61.html. * Sul dischetto modules allegato trovate ulteriori unità di disco, eventualmen- te necessarie alla prima installazione o al riconoscimento di periferiche par- ticolari (CD ROM proprietari, dispositivi su porta parallela, PCMCIA). A suo tempo, se necessario, linuxrc Vi chiederà di inserire questo dischetto modules (capitolo 2.1.2 a pagina 8). 11.2.3 Dalla versione 6.1 alla 6.2 Problemi e particolarità: http://sdb.suse.de/sdb/de/html/bugs62.html. * rpm (vedi anche capitolo 11.3 a pagina 300) è disponibile nella versione 3.0. Il formato del database RPM è cambiato; il database dovrà essere subito convertito non appena è stato installato il programma rpm. Facendo un ag- giornamento del sistema (di base) con YaST, la conversione viene eseguita in background al momento giusto. * La system library glibc è disponibile nella versione 2.1. Se possibile verra- no forniti componenti che permettono di continuare a usare programmi per glibc-2.0; si possono presentare dei limiti, se si cerca di accedere a deter- minati link interni: per questa ragione, alcuni programmi dovrebbero venire ricompilati. * Alla glibc appartiene anche il nscd (ingl. Name Service Cache Daemon) che viene configurato tramite il file /etc/nscd.conf; vedi pagina di manuale di nscd (man 8 nscd). * Con glibc-2.1 vengono supportati i dispositivi "Unix98 PTY". Ciò implica il del mount del filesystem devpts; ciò viene p.e. assicurato dalla seguente registrazione in /etc/fstab: none /dev/pts devpts gid=5,mode=620 0 0 Vedi anche la documentazione /usr/src/linux/Documentazione/ Changes nei sources del kernel. 292 11.2 Da versione a versione * PAM (ingl. Pluggable Authentication Modules): Oltre a /etc/login.defs ora c'è anche /etc/security, /etc/security/limits.conf e /etc/ security/pam_env.conf. I file di configurazione si trovano sotto /etc/ pam.d. La documentazione per programmatori e per amministratori del sistema si trova sotto /usr/share/doc/packages/pam. * Le configurazioni della lingua possono essere eseguite tramite variabi- li in /etc/rc.config; vedi http://sdb.suse.de/sdb/de/html/ml_ locale_implementation.html. Chi non desidera comunicazioni in tedesco, può inserire direttamente (p.e. in .bashrc): export LC_MESSAGES=C 11.2.4 Dalla versione 6.2 alla 6.3 Problemi e particolaritá: http://sdb.suse.de/sdb/de/html/bugs63.html. * Per l'installazione vengono offerti kernels diversamente ottimizzati; questi kernels usano un "initrd" (ingl. Initial Ramdisk) che dovrete tenere in con- siderazione quando create un kernel individuale; vedi sezione 12.4.5 a pagi- na 313 e http://sdb.suse.de/sdb/de/html/adrian_6.3_boot.html. * Il file di configurazione per il modulo del kernel si chiama /etc/modules. conf (prima: /etc/conf.modules). * Oltre all'NFS-daemon "Userspace" (pacchetto nfsserv), è disponibilie an- che l'NFS-daemon basato sul kernel (pacchetto knfsd). knfsd ha solo una funzionalità limitata, ma in compenso esegue perfettamente il locking dei files (da cui dipende StarOffice). Configurate USE_KERNEL_NFSD o NFS_SERVER in /etc/rc.config ed installate il pacchetto giusto per Voi. * Le pagine del manuale Manpages si trovano sotto /usr/share/man, co- me descritto nell'FHS (ingl. Filesystem Hierarchy Standard); sull'pacchetto fhs, vedi l'URL http://www.pathname.com/fhs/. * Spostamento delle impostazioni sendmail dal file /etc/rc.config nel file /etc/rc.config.d/sendmail.rc.config; cfr. http://sdb.suse. de/sdb/de/html/mneden_6.3_sendmail.html. * Per motivi di sicurezza, alla scelta standard, non viene più installato WU- FTPD (pacchetto wuftpd, serie n). * Nel leafnode è cambiata la directory della configurazione per la nuova ver- sione 1.9.2. Si trova sotto /etc/leafnode invece che sotto /usr/lib/ leafnode. Se avete cambiato il vostro file di configurazione potete trovarne una co- pia di sicurezza sotto /usr/lib/leafnode/config.rpmsave. Cambiate manualmente il nuovo file di configurazione. 293 11 Update del sistema e amministrazione dei pacchetti Se fate l'aggiornamento di una vecchia versione (pre 1.9.3) eseguite prima lo script contenuto in /usr/doc/packages/leafnode/update.sh. (At- tenzione: dalla versione SuSE Linux 7.0 la documentazione si trova sotto /usr/share/doc!): terra: # cd /usr/doc/packages/leafnode terra:/usr/doc/packages/leafnode # ./update.sh \ /var/spool/news/ /etc/leafnode /var/lock/news/fetchnews.lck In tal modo il file groupinfo e alcuni altri vengono riorganizzati (groupinfo non viene piú ordinato in modalità"case-sensitive"). Se nel processo avviene un errore, potete trovare il vecchio file sotto /var/ spool/news/leaf.node/groupinfo.old. Se lo script viene eseguito con successo potete cancellare il file (.old). Avviso: Il programma /usr/sbin/fetch si chiama, dalla versione 1.9.3 /usr/sbin/fetchnews. Aggiustate i "Cronjobs" o altri script nel modo esatto (per esempio /etc/ppp/ip-up). * MySQL si esegue sotto l' UID `mysql' e il GID `daemon', per avere piú sicurezza. * Fortify si trova sotto /opt/fortify; dopo l'installazione si puó cancellare. 11.2.5 Dalla versione 6.3 alla 6.4 Problemi e particolaritá: * Kernel. Il pacchetto kernmod o pacchetto kernmods non è più neces- sario. I moduli del kernel ottimizzati ed adattati vengono installati "in un colpo" con il kernel scelto di volta in volta (vedi 3.7.2 a pagina 76). I file di configurazione del kernel installato si trovano sotto /boot co- me vmlinuz.config-pentium (per esempio), vmlinuz.autoconf.h e vmlinuz.version.h. Se si desidera, YaST copia questi file nell'albero dei sources del kernel. * Login-Shells validi vengono registrati in /etc/shells; vedi pagina di ma- nuale di shells (man 5 shells). Se ad un utente viene assegnato /bin/true, questi può fare il login solo tramite X Window System; questo utente riceve una shell. /bin/false, come "Login-Shell" impedisce ogni login. * Per aumentare la sicurezza, XDM (xdm) è preconfigurato in modo che XDMCP- o richieste chooser non vengano accettate. Se voi per esempio volete servire terminals X, in /var/X11R6/lib/xdm/xdm-config deve venire "decommentata" (anteponendo un punto esclamativo) la riga con l'op- zione DisplayManager.requestPort; vedi la pagina di manuale di xdm (man xdm): !DisplayManager.requestPort: 0 294 11.2 Da versione a versione * Sotto X, si trova il tasto Compose ("Multi_key") che è raggiungibile con la § ¤ § ¤ combinazione di tasti ¦Shift ¥+ ¦Ctrl ¥(destra); cfr. sezione 12.8 a pagi- na 323 * pacchetto aaa_base: Le operazioni di manutenzione quotidiana del si- stema, per motivi di maggior chiarezza, sono stati divisi fra più script. In /etc/cron.daily esistono ora, assieme a aaa_base anche i com- ponenti backup_rpmdb, clean_catman, clean_core, clean_instlog, clean_tmp, do_mandb, rotate_logs e updatedb; aaa_base legge inol- tre cron.daily.local, in cui possono essere registrate estensioni proprie. Riguardo al sistema Cron, vedi la sezione 12.3.2 a pagina 308. * Viene fornita una versione più recente di tar (tar). Sono state modificate le modalità di sovrascrizione durante lo scompattamento dei dati esistenti; se DOVETE usare la vecchia modalità, usate l'opzione --overwrite. * Sul pacchetto firewals: per motivi di consistenza, il file di configurazione /etc/rc.firewall è stato rinominato /etc/rc.config.d/firewall. rc.config. * Sul pacchetto samba: assieme all'update nella versione 2.0.6 è cambiata an- che la sintassi del comando smbmount. smbmount deve venire chiamato dallo shell-script /sbin/mount.smbfs, il quale a sua volta viene chiamato da mount; un esempio: terra: # mount -t smbfs -o username=uname,password=passwd \ //smbserv/share /destination * Su pacchetto postfix sono state aggiunte altre possibilità di impostazione; le variabili dello start sono state portate in /etc/rc.config.d/postfix. rc.config; vedi anche la sezione 13.5 a pagina 332. * Il pacchetto squid, cioè la versione 1.x del Proxy server WWW, non vie- ne più fornita. Poichè la versione 2.x è da considerarsi stabile, consigliamo un cambiamento generale. Durante l'update, il pacchetto squid non vie- ne automaticamente sostituito dal pacchetto squid2; è almeno necessario cancellare il cache e controllare i files di configurazione. * Il client DHCP consigliato, è contenuto nel pacchetto dhcpd; in casi speciali viene ancora fornito il pacchetto dhclient. * Per ragioni di sicurezza, anonymous FTP non è più automaticamente per- messo. Per permettere l'anonymous FTP nell'FTP-Daemon in.ftpd, si de- ve togliere in /etc/pam.d/ftpd il segno di commento `#' che si trova davanti alla riga: auth sufficient /lib/security/pam_ftp.so * Modificare la Password con PAM (ingl. Pluggable Authentication Modules). pam_unix può modificare anche passwords NIS e capisce md5-Hashes come password. Inoltre ora esiste un nuovo modulo pam_pwcheck che controlla nuove pas- sword. La vecchia registrazione: 295 11 Update del sistema e amministrazione dei pacchetti password required /lib/security/pam_unix.so #strict=false deve venire modificata in (di volta in volta solo una riga o con \ alla fine della riga): password required /lib/security/pam_pwcheck.so \ nullok #use_cracklib password required /lib/security/pam_unix.so \ nullok use_first_pass use_authtok Questa operazione manuale è necessaria nel caso che al momento dell'update rpm non possa modificare da sé i file di configurazione poichè l'amministra- tore di sistema ha eseguito una modifica. Questo vale anche per tutti i file di configurazione di PAM sotto /etc/pam.d. * Oltre alle Manpages (vedi sezione 11.2.4 a pagina 293 ci sono da ora anche le pagine Info sotto /usr/share. * makewhatis Per trovare le Manpages, il (pacchetto makewhat) usa ora il programma d'aiuto manpath. Non si deve più impostare la variabile d'ambiente MANPATH nei file rc. * ldconfig viene chiamato se una directory /lib è più recente di /etc/ ld.so.cache; eventualmente inizializzato in sottofondo. Mettendo su true la variabile ambiente run_ldconfig, può venire forzata la chiamata ldconfig; è possibile attivare "run_ldconfig=true" già al bootprompt. * Il pacchetto ncurses si trova nella versione 5.0; delle "shared library" vie- ne ancora fornita la versione 4.2, cosicché è possibile continuare ad usare programmi precompilati. * Il pacchetto apache è stato diviso. Se avete bisogno di speciali estensio- ni, installate anche i sottopacchetti mod_*. In pacchetto phpdoc trovate la documentazione su PHP. Per motivi di chiarezza, i log-file si trovano in /var/log/httpd. * Roxen è suddiviso come segue: il pacchetto roxen senza crittografia e il pacchetto roxen-ssl (il pacchetto roxenssl di una volta) con crittografia. * Il pacchetto changes non c'è più. Le informazioni desiderate possono essere indicate da rpm: tux@terra: > rpm -q --changelog 11.2.6 Dalla versione 6.4 alla 7.0 http://sdb.suse.de/sdb/de/html/bugs70.html. * Tutti i moduli del kernel ("drivers") sono parte del kernel installato di volta in volta (kernel singolo, kernel multiprocessore etc.); in questo modo si può essere sicure che siano installati i moduli adeguatamente compilati. 296 11.2 Da versione a versione * L'X Window System 4.0 non supporta più alcune vecchie schede grafiche e non supporta ancora alcune nuove schede; vedi capitolo 5.2 a pagina 128. Il programma di setup nota questo fatto e si appoggia alla versione preceden- te,la 3.3.x, che viene ancora fornita. L'ambiente di sviluppo della versione 3.3.x deve anche venire installata, se si vogliono creare pacchetti secondo la "Linux Development Platform Specification"; vedi il capitolo 12.3.1 a pagina 308. * pacchetto openssh: per aumentare la sicurezza, "X11-forwarding" non è attivato (come standard). Questo feature può venire attivato con il parametro -X. In /etc/ssh/ssh_config, registrando ForwardX11 yes, è possibile attivare globalmente il forwarding o solo per determinati computers. Gli utenti possono impostare questa opzione anche in ~/.ssh/config. * ypserv del pacchetto ypserv non è più collegato alla library "tcp-wrapper", ma usa /var/yp/securenets. Dopo un update, le impostazioni di /etc/ hosts.allow o di /etc/hosts.deny dovrebbero essere prese in /var/ yp/securenets. * Il portmapper viene inizializzato tramite /sbin/init.d/portmap o con rcportmap; /sbin/init.d/rpc è ora obsoleto. * Conformemente all'FHS (ingl. Filesystem Hierarchy Standard) (vedi sezio- ne 12.1.1 a pagina 307), la documentazione indipendente dalla struttura si trova ora sotto /usr/share/doc (prima: /usr/doc). * Il pacchetto bttv non è più allegato; i moduli del kernel sono parte del kernel installato di volta in volta. * La library gtk-XmHTML è disponibile come pacchetto separato pacchetto gxmhtml; presa dal pacchetto gnlibs. * Si è rinunciato al pacchetto gnadmin; logview è ora contenuto nel pacchetto gnutils. * Sul pacchetto cron: come voluto dall'FHS, le tabelle cron si trovano sotto /var/spool/cron/tabs; vedi sezione 12.3.2 a pagina 308. * Sul pacchetto postgres: PostgreSQL e tutti i componenti ad esso appar- tenenti sono stati conseguentemente suddivisi in base ai pacchetti originali. Il pacchetto pg_datab con la banca dati per l'inizializzazione, non è più necessario; se necessario, startscript esegue l'inizializzazione. * Sul pacchetto mutt: sono stati modificati diversi particolari. I files di con- figurazione /etc/Muttrc e /etc/skel/.muttrc cercano, se possibile, di mantenere il "comportamento" usuale; in .muttrc, le righe set autoedit=yes set edit_headers=yes provvedono affinchè venga avviato subito l'Editor non appena deve venire scritta una mail. D'altro canto, ci sono modificazioni importanti che richie- dono un nuovo "comportamento" (p.e. in PGP). Leggete la documentazione fornita. 297 11 Update del sistema e amministrazione dei pacchetti 11.2.7 Dalla versione 7.0 alla 7.1 Problemi e particolarità: http://sdb.suse.de/sdb/de/html/bugs71.html. * Kernel: i drivers "low-level" per speciali chip sets EIDE sono integrati nel kernel standard; k_eide o eide non sono più necessari come images se- parate. Di conseguenza non è nemmeno più necessario creare un proprio dischetto per il boot se si devono usare questi drivers. * Il significato di Runlevel è cambiato; vedi tabella 13.1 a pagina 328. Gli scripts init si trovano ora in /etc/init.d; se sono stati creati degli scripts propri, prima dell'update si devono memorizzare. * DEFAULT_LANGUAGE: è il nuovo nome per la variabile LANGUAGE in /etc/ rc.config; vedi sezione 12.9 a pagina 324. * /etc/resolv.conf viene scritto direttamente da YaST o YaST2 e non più da SuSEconfig. A partire dalla versione 7.2, questo compito viene svolto dal- lo script /sbin/modify_resolvconf del pacchetto pacchetto aaa_base. * non esiste più e molti pacchetti hanno ricevuto un semplice nome. All'up- grade del sistema, questi nuovi nomi vengono tenuti in considerazione e i programmi abituali sono ancora automaticamente disponibili. In una nuova installazione, si deve fare attenzione a selezionare i pacchetti sotto il nuovo nome. * pacchetto ypclient: questo pacchetto è suddiviso in Pakete ypbind e yp- tools e lo script init si chiama ypbind. * pacchetto jade_dsl: per evitare un conflitto con il pacchetto rzsz, il tool della barra di comando sx si chiama ora s2x o sgml2xml. 11.2.8 Dalla versione 7.1 alla 7.2 Problemi e particolarità: http://sdb.suse.de/sdb/de/html/bugs72.html. * Quasi tutti i programmi nel pacchetto nkita e nel pacchetto nkitb sono presenti nelle nuove versioni. traceroute si trova ora nel pacchetto nkitb. Cfr. sezione 11.2.8. * Il pacchetto nkitb, come già il suo parente pacchetto nkita, è stato sciolto; i singoli programmi possono venire facilmente trovati nei pacchetti talk, rsh, finger, rwho, telnet, etc. e nei relativi pacchetti -server. Per esempio, nel pacchetto iputils è contenuto ping. Alcuni programmi sono già "pronti per IPv6". Fate pertanto attenzione che il DNS sia ben configurato, altrimenti può succedere di dover aspettare il timeout delr DNS per richieste Pv6; sostituite l'opzione dns con dns6 nel /etc/nsswitch.conf. 298 11.2 Da versione a versione * Rinominazione di altri pacchetti (vedi a riguardo nella pagina precedente); p.e.: serie sgm: pacchetto docbook_3 e pacchetto docbook_4. * pacchetto mod_php4 deve ora venire installato al posto di mod_php. * I componenti di Emacs sono suddivisi fra più pacchetti: ­ Pacchetto di base emacs. ­ Generalmente si deve installare anche il pacchetto emacs-x11 in cui è contenuto il programma con il supporto X11. ­ Nel pacchetto emacs-nox è contenuto il programma senza supporto X11. ­ Il pacchetto emacs-info: documentazione online in formato info. ­ Il pacchetto emacs-el contiene i files non compilati della library in Emacs Lisp ­ non necesari durante il funzionamento! ­ Diversi pacchetti supplementari che possono venire installati a seconda della necessità: pacchetto emacs-auctex (per LATEX); pacchetto psgml (per SGML/XML); pacchetto gnuserv (per uso client/server) etc. * Modifiche all'FHS (cfr. sezione 12.1.1 a pagina 307): ­ /media (era /cdrom e /floppy) Sono disponibili link di compatibilità per il periodo di transizione. 11.2.9 Dalla versione 7.2 alla 7.3 Problemi e particolarità: http://sdb.suse.de/sdb/de/html/bugs73.html. * Nel kernel 2.4 fornito assieme a SuSE Linux, è già attivato l'IDE-DMA. Il modulo YaST2 "Tuning del sistema" (pacchetto yast2-config-tune) e il backend idedma sono oramai obsoleti. In caso di problemi con DMA, ripiegate sull'opzione di boot `Failsafe'cfr. a pagina ?? * A prescidere dalle variabili rc.config, DISPLAYMANAGER penserà a far sí che il runlevel prescelto venga inserito nel /etc/inittab. YaST2 può garantire che accadacfr. sezione ?? a pagina ?? * MySQL utilizza ora la biblioteca TCP-Wrapper per più sicurezza. Il nuovo sottopacchetto mysql-Max contiene nuove feature ampliate, pronte per essere usate subito dopo l'installazione. * Documenti DocBook che usino "feature" particolari, sono accettati da db2x.sh (pacchetto docbktls). Chi non può rinunciare a documenti compatibili, dovrà lavorare con l'opzione --strict. 299 11 Update del sistema e amministrazione dei pacchetti 11.3 RPM ­ Il package-manager della distribuzione Dalla versione 5.0 di SuSE Linux ha fatto la sua comparsa il programma RPM (rpm) (ingl. Red Hat Package Manager); con esso viene semplificata la gestione dei pacchetti, sia per gli utenti che per gli amministratori di sistema e anche per i produttori dei pacchetti. Grazie al potente database sono sempre disponibili informazioni dettagliate sul software installato. Essenzialmente rpm può agire in tre modi: creare pacchetti installabili da sour- ces non ancora compressi (ingl. pristine sources), installare questi pacchetti o disinstallarli, oppure farne l'aggiornamento, e può anche indirizzare richieste alla banca dati RPM o a singoli archivi RPM. Gli archivi RPM installabili sono compressi in uno speciale formato binario; essi consistono nei file da installare e nelle diverse meta-informazioni che vengono usate da rpm durante l'installazione stessa per configurare il relativo pacchetto software, o che vengono depositate nel database RPM a scopo documentativo. Gli archivi RPM hanno l'estensione .rpm. Suggerimento In alcuni pacchetti, i componenti necessari allo sviluppo (biblioteche, hea- der file e include file, ecc.) sono riuniti in pacchetti a sé stanti. Di que- sti pacchetti si ha bisogno soltanto quando si voglia compilare da soli (ad esempio, nel caso dei recenti pacchetti GNOME . Generalmente, essi sono riconoscibili dalla desinenza -devel (il dev o d di una volta): pacchetto alsa-devel, pacchetto gimp-devel, pacchetto kdelibs-devel etc. 11.3.1 Controllare l'autenticità di un pacchetto Dalla versione 7.1 i pacchetti RPM di SuSE sono segnati con GnuPG: 1024D/9C800ACA 2000-10-19 SuSE Package Signing Key Key fingerprint = 79C1 79B2 E1C8 20C1 890F 9994 A84E DAE8 9C80 0ACA Con il comando terra:~ # rpm --verbose --checksig apache-1.3.12.rpm si può controllare il segno di un pacchetto RPM e in questo modo stabilire se proviene veramente da SuSE; questo è consigliabile specialmente quando si ca- ricano banche dati d'update dall'internet. Come standard, la nostra chiave per la segnatura dei pacchetti si trova in /root/.gnupg/. 11.3.2 Amministrare i pacchetti: installarli, farne l'aggiornamento e disinstallarli Normalmente è molto semplice installare un archivio RPM: 300 11.3 RPM ­ Il package-manager della distribuzione terra: # rpm -i .rpm Con questo comando standard, un pacchetto viene installato solo se sono rispet- tate le "dipendenze" e se non sussistono "conflitti" di genere. Tramite una co- municazione d'errore, rpm richiede i pacchetti necessari all'adempimento delle dipendenze. In background, il database "vigila" che non possano avvenire con- flitti: di norma un file può appartenere solo ad un pacchetto. Con diverse opzioni, è possibile ignorare questa regola ­ chi lo fa deve essere perfettamente cosciente di ciò che sta facendo, poichè ciò può mettere in gioco la capacità del sistema di compiere un aggiornamento. Per aggiornare un pacchetto, è interessante anche l'opzione -U risp. --upgrade; con essa viene cancellata la vecchia versione e ne viene installata una nuova. Contemporaneamente rpm cerca di tenere pulito il database: * Se un file di configurazione non è stato modificato dall'amministratore di sistema, rpm installa la nuova versione del file relativo. Un intervento da parte dell'amministratore non è più necessario. * Se un file di configurazione è stato modificato prima dell'aggiornamento, rpm memorizzerà con l'estensione .rpmorig o .rpmsave il file modifi- cato e installerà la nuova versione del pacchetto RPM solo nel caso che ci siano differenze fra il file originale e il file proveniente dall'aggiornamen- to. In questo caso è molto probabile che dobbiate adattare (in base alla co- pia (.rpmorig o .rpmsave)) alle condizioni del Vostro sistema il file di configurazione appena installato. Dopodichè dovete assolutamente elimi- nare tutti i file .rpmorig- o .rpmsave per non avere intralci al prossimo aggiornamento. * I files .rpmnew appaiono se il file di configurazione è già esistente e se nel file .spec è stato attivato noreplace. Alla fine di un update, dopo l'adattamento, si devono togliere tutti i files .rpmorig-, .rpmsave- o .rpmnew per non essere d'impaccio ai seguenti upda- tes. L'estensione .rpmorig viene scelta se il file della banca dati RPM non era ancora conosciuto, altrimenti si ha l'estensione .rpmsave. Cioè: .rpmorigs si hanno quando si fa l'update da un formato estraneo ad RPM; .rpmsave si ha all'update dal vecchio RPM al nuovo RPM. Con .rpmnew non si può dire se l'aministratore abbia eseguito una modificazione al file di configurazione o no. L'opzione -U non è assolutamente un equivalente per la sequenza -e (disinstalla- re/cancellare) ­ -i (installare). Ogni qualvolta sia possibile è consigliabile usare l'opzione -U. Nota Dopo ogni aggiornamento dovete controllare le copie di sicurezza con estensione .rpmorig o .rpmsave e create da rpm; questi sono i Vostri vecchi file di configurazione. Se necessario, prendete le Vostre modif- che dalle copie di sicurezza e mettetele nei nuovi file di configurazione e cancellate poi i vecchi file con l'estensione .rpmorig o .rpmsave. 301 11 Update del sistema e amministrazione dei pacchetti Procedura per cancellare un pacchetto: terra: # rpm -e rpm elimina un pacchetto solo nel caso che non ci sia più alcuna dipendenza; p.e. è teoreticamente impossibile cancellare Tcl/Tk finchè un altro programma ne ha bisogno per poter funzionare ­ anche qui fa la guardia RPM con il suo database. Se, in casi eccezionali, non è possibile cancellare un pacchetto, benchè non ci sia alcuna dipendenza, può essere d'aiuto creare di nuovo il database RPM con l'aiuto dell'opzione -rebuilddb; si vedano più avanti le note sul database RPM ( 11.3.3 a pagina 304). 11.3.3 Inoltrare richieste Con l'opzione -q (ingl. query) si inoltra una richiesta. Con essa è possibile sia rovistare negli archivi RPM (opzione -p ) che fare domande alla banca dati RPM. Le modaltà di risposta possono venire impostate tramite ulteriori parametri nella tabella 11.1. -i mostra le informazioni sul pacchetto -l mostra la lista dettagliata dei file -f + Richiesta del pacchetto posseduto dal file ; deve venire indicato con il percorso completo! -s mostra lo stato del file (implica -l) -d elenca solo i file di documentazione (implica -l) -c elenca solo i file di configurazione (implica -l) --dump mostra tutte le informazioni impostabili di ogni file (usare insieme con -l, -c oder -d!) --provides elenca le capacità del pacchetto che possono venire richieste da un altro pacchetto con --requires --requires, -R elenca le dipendenze del pacchetto --scripts elenca i diversi script di disinstallazione Tabella 11.1: Le opzioni di richiesta più importanti (-q [-p] . . . ) Il comando terra: # rpm -q -i rpm elenca p.e. le seguenti informazioni: L'opzione -f porta al target del comando, solo se si conosce il filename com- pleto, incluso il percorso; si può inserire una quantità qualsiasi di file da cercare, p.e.: terra: # rpm -q -f /bin/rpm /usr/bin/wget porta al risultato: rpm-3.0.3-3 wget-1.5.3-55 302 11.3 RPM ­ Il package-manager della distribuzione Name : rpm Relocations: (not relocateable) Version : 3.0.3 Vendor: SuSE GmbH, Germany Release : 47 Build Date: Fri Dec 10 13:50:27 Install date: Tue Dec 14 12:57:00 1999 Build Host: Cauchy.suse.de Group : unsorted Source RPM: rpm-3.0.3-47.src.rpm Size : 5740847 License: GPL Packager : feedback@suse.de Summary : RPM Package Manager Description : RPM Package Manager is the main tool for managing software packages of the SuSE Linux distribution. [...] output 11.3.1: rpm -q -i rpm Se si conosce solo una parte del filename ci si deve aiutare con uno shell script (vgl. file 11.3.1); il filename cercato è da indicare come parametro alla chiamate dello script. #! /bin/sh for i in `rpm -q -a -l | grep $1 `; do echo »$i« ist in Paket: rpm -q -f $i echo "" done file 11.3.1: Uno Script Con il comando terra: # rpm -q --changelog rpm ci si può far mostrare l'elenco delle informazioni (updates, configurazione, mo- dificazioni etc.) di un determinato pacchetto; qui per esempio del pacchetto rpm. In base alla banca dati, si possono anche eseguire dei controlli; queste operazioni vengono avviate con l'opzione -V (con lo stesso significato di -y o --verify). Con questa opzione si induce rpm a mostrare tutti quei file che sono stati modifi- cati rispetto alla versione originale (cioè quella contenuta nel pacchetto). rpm prepone al vero e proprio filename fino ad otto caratteri, i quali indicano le seguenti modifiche: 5 MD5 check sum S grandezza del file L link simbolico T Modification Time D "major" e "minor" (ingl. device number) U utente (ingl. user) G gruppo (ingl. group) M modo (incl. diritti e tipo) Tabella 11.2: I controlli 303 11 Update del sistema e amministrazione dei pacchetti Nei file di configurazione viene emessa anche una c. Per esempio, nel caso sia stato modificato qualcosa in /etc/wgetrc dal pacchetto wget: terra: # rpm -V wget S.5....T c /etc/wgetrc I file della banca dati RPM si trovano sotto /var/lib/rpm. Con una partizione /usr di 500 MB, la banca dati può senz'altro riservarsi 20 MB di spazio su hard disk; specialmente dopo un aggiornamento completo. Se la banca dati sembra essere troppo grande è sempre d'aiuto crearne (con l'opzione --rebuilddb) una nuova da quella già esistente; non nuoce mai fare una copia prima di eseguire un "Rebuild". Lo script cron cron.daily deposita le copie giornaliere della banca dati sot- to /var/adm/backup/rpmdb, la cui quantità viene determinata dalla variabile (standard: 5) in /etc/rc.config; si devono contare fino a 2 MB per ogni backup (con un /usr di 500 MB). Se non si vuo- le prevedere una partizione dedicata per /var, al momento di determinare la grandezza della partizione root bisogna assoultamente tenere conto di questo consumo di spazio. 11.3.4 Installare e compilare i pacchetti dei sources Tutti i pacchetti dei sources (ingl. sources) di SuSE Linux si trovano nella serie zq, e hanno l'estensione .spm, "Source-RPMs". Suggerimento Come ogni altro pacchetto, anche questi possono venire installati tramite YaST; i pacchetti dei sources non vengono però mai contrassegnati come installati ([i]), al contrario dei pacchetti "regolari". Ciò dipende dal fatto che i pacchetti dei sources non vengono registrati nella banca dati RPM; in essa infatti appare solo software installato Le directory di lavoro di rpm sotto /usr/src/packages devono essere presenti (nel caso non si sia fatta nessuna propria configurazione p.e. tramite /etc/ rpmrc): SOURCES per i sources originali (.tar.gz-files etc.) e per gli adattamenti specifici della distribuzione (.dif-files) SPECS per i file .spec che controllano il processo "build" nella forma di un Meta-Makefiles BUILD sotto questa directory, i sources vengono scompattati, "patched" e com- pilati RPMS qui vengono depositati i pacchetti "Binary" pronti. 304 11.3 RPM ­ Il package-manager della distribuzione Nota Non fate alcun esperimento RPM con importanti componenti del sistema (pacchetto libc, pacchetto rpm, pacchetto nkit, etc.); altrimenti mettete in gioco la funzionalità del Vostro sistema. Se installate con YaST un pacchetto source della serie zq, le componenti neces- sarie per il processo "build", vengono installate sotto /usr/src/packages: i sources e gli adattamenti sotto SOURCES e i rispettivi file .spec sotto SPECS. Per "fare i pacchetti" (ingl. build mode) vedi [Bai97]; lì o anche nella pagina di manuale di rpm (man rpm), vengono presentate altre possibilità d'impiego. Qui in seguito osserveremo il pacchetto wget.spm. Dopo aver installato con YaST il pacchetto source wget.spm ci sono i file: /usr/src/packages/SPECS/wget.spec /usr/src/packages/SOURCES/wget-1.4.5.dif /usr/src/packages/SOURCES/wget-1.4.5.tar.gz Con rpm -b /usr/src/packages/SPECS/wget.spec viene inizializ- zato il processo di compilazione; la variabile può stare per diversi gradi (vedi l'output di -help o la documentazione RPM); ecco in breve: -bp Preparare i sources nella directory /usr/src/packages/BUILD: scom- pattare e riparare -bc come -bp, con in più compilare -bi come -bc, con in più installare; ATTENZIONE, se un pacchetto non sup- porta il BuildRoot-Feature, è possibile che durante l'installazione vengano sovrascritti importanti file di configurazione! -bb come -bi, con in più però la creazione del cosiddetto Binary-RPM; se il tutto è riuscito, lo ritrovate in /usr/src/packages/RPMS. -ba come -bb, con in più però la creazione del cosiddetto Source-RPM herstel- len; se tutto è riuscito, si trova in /usr/src/packages/SRPMS. Con l'opzione -short-circuit è possibilie saltare singoli passi. Il Binary-RPM creato deve alla fine venire installato con rpm -i o ancora me- glio con rpm -U, affinchè appaia anche nella banca dati RPM. 11.3.5 Tools per gli archivi RPM e la banca dati RPM Il Midnight Commander (mc) è di per sé in grado di indicare il contenuto di un archivio RPM i di copiarne parti. Raffigura un tale archivio come un filesystem virtuale, di modo che, se necessario, ne siano disponibili tutti i punti nel menu di Midnight Commander stesso: le informazioni dell'header del "file" HEADER § ¤ § ¤ possono venire visualizzate premendo ¦F3 ¥ ; con i tasti-cursore e con ¦Enter ¥è 305 11 Update del sistema e amministrazione dei pacchetti possibile "navigare" attraverso la struttura dell'archivio per poterne copiare delle § ¤ componenti (con ¦F5 ¥ ). A proposito, anche per Emacs esiste un rpm.el; un "Frontend" per rpm :-) xrpm è il nome di un RPM-Manager grafico; questo tool è realizzato in pyton, una linguaggio molto elegante. xrpm supporta comandi tramite FTP. KDE contiene il tool krpm, un'interfaccia grafica sotto X per usare RPM. In GNOME trovate gnorpm. Con Alien (alien) è possibile convertire i formati dei pacchetti delle diverse distribuzioni. In questo modo si può cercare, prima dall'installazione, di con- vertire vecchi archivi TGZ in RPM, affinchè, durante l'installazione stessa, la banca dati RPM venga fornita con le informazioni dei pacchetti. Ma ATTEN- ZIONE: alien è uno script Perl, e come informano gli autori, si trova ancora in fase Alpha ­ nonostante abbia già raggiunto un numero di versione abbastanza elevato. Ultimo, ma non per ultimo ­ c'è YaST (vedi anche 3.5.9 a pagina 72). 306 12 Particolarità in SuSE Linux 12 Particolarità in SuSE Linux 12.1 Filesystem Hierarchy Standard (FHS) e Linux Standard Base (LSB) 12.1.1 Filesystem Hierarchy Standard (FHS) SuSE Linux cerca di conformarsi al Filesystem Hierarchy Standard, pacchetto fhs, serie doc; vd. http://www.pathname.com/fhs/). Per questo motivo, di tanto in tanto, è necessario spostare file o indirizzari nei settori "giusti" del filesystem. 12.1.2 Linux Standard Base (LSB) SuSE supporta il progetto Linux Standard Base; per informazioni attuali, vd. http://www.linuxbase.org. Nel frattenmpo, nella versione 0.3 troverete la prima stesura di LSB; l'inizializzazione del sistema è ormai pronta; cfr. capitolo 13 a pagina 327. 12.1.3 teTeX ­ TEX su SuSE Linux teTeX è impostato secondo la TEX Directory Structure (TDS) (vedi ftp://ftp. dante.de/tex-archive/tds/), senza contravvenire all'FHS. 12.2 Esempi di ambienti per FTP ed HTTP Su FTP Per facilitare l'allestimento di un server FTP, pacchetto ftpdir offre un esempio di ambiente, da installare su /usr/local/ftp. Su HTTP Apache è il webserver standard di SuSE Linux; assieme all'installazione, Vi vengono messi a disposizione dei documenti-esempio su /usr/local/httpd. Se volete creare un webserver proprietario, è consigliabile registrare una propria DocumentRoot su /etc/httpd/httpd.conf. 307 12 Particolarità in SuSE Linux 12.3 Indicazioni su pacchetti software speciali 12.3.1 Il pacchetto xdevel o xdevel33 Affinchè i vari software funzionino sulla maggior parte delle piattaforme, la "Li- nux Development Platform Specification" ha bisogno di XFree86 3.3.6. Tuttavia, dalla versione 7.0 di SuSE Linux in poi, lo standard è XFree86 4.0. La versione attuale di Linux (7.3) soddisfa i requisiti della specificazione grazie a pacchetto xdevel33. Se volete creare un pacchetto con SuSE Linux 7.2 in base alla "Linux Develop- ment Platform Specification" dovrete disinstallare pacchetto xdevel e installare pacchetto xdevel33. 12.3.2 Il pacchetto Cron Le tabelle cron si trovano su /var/cron/tabs (e non più su /var/lib/cron). Come tabella valida per tutto il sistema, viene creato il file /etc/crontab. Nel file /etc/crontab, dopo l'inserimento dell'ora, indicate anche sotto qua- le utente debba venire eseguito il relativo incarico (cfr. file 12.3.1, che indica `root'); i dati dei pacchetti su /etc/cron.d hanno lo stesso formato ­ cfr. pagina di manuale di cron (man 8 cron). 1-59/5 * * * * root test -x /usr/sbin/atrun && /usr/sbin/atrun file 12.3.1: Esempio di dato su /etc/crontab /etc/crontab non può essere modificato con crontab -e, ma deve venire direttamente caricato in un editor, modificato, e infine memorizzato. Alcuni pacchetti installano, nelle directory /etc/cron.hourly, /etc/cron. daily, /etc/cron.weekly e /etc/cron.monthly, degli shell script, la cui elaborazione viene diretta da /usr/lib/cron/run-crons. /usr/lib/cron/run-crons viene prelevato ogni 15 minuti dalla tabella prin- cipale (/etc/contrab); in questo modo, si assicura che vengano recupera- te per tempo esecuzioni mancate. Non meravigliateVi, quindi, se, subito do- po il boot, appare l'utente `nobody' nella tabella del processo; `nobody' sta probabilmente aggiornando la banca dati locate (vd. sezione 13.6 a pagina 343). 12.3.3 Il pacchetto Curses Sul CD troverete anche il pacchetto ncurses; le librerie che gli appartengono si chiamano libncurses.so.. Ciò comporta che le indicazioni per il linker in molti 'makefile' debbano venire modificate. Pertanto, compilate i Vostri pacchetti con -lncurses e mai con -lcurses. Se volete farlo comunque, usate -I/usr/include/termcap -I/usr/include/curses -L/usr/lib/termcap -L/usr/lib/curses 308 12.3 Indicazioni su pacchetti software speciali 12.3.4 Sorgenti del pacchetto uucp Le sorgenti del pacchetto uucp sono un sottopacchetto della sorgente RPM di Sendmail (al momento 7.1). 12.3.5 Manual-Pages Per alcuni programmi GNU (per esempio tar), le manual page non vengono più aggiornate. Al loro posto, troverete un sommario nell'edizione --help e un manuale dettagliato nei file Info. Info (info) è il sistema ipertestuale di GNU. Con info info otterrete delle prime istruzioni per l'uso. info è accessibile con Emacs emacs -f info o semplicemente con il comando info. Facili da usare sono anche i comando tkinfo, xinfo o il sistema d'aiuto. 12.3.6 Il comando ulimit Con il comando ulimit (ingl. user limits), potrete limitare l'accesso all'uso delle risorse del sistema o visualizzare le risorse. ulimit è particolarmente adatto a ridurre la Memoria disponibile alle applicazioni. In questo modo, si può impedire che un'applicazione occupi troppo (o tutto lo) spazio di memoria, causando così l'arresto del sistema. Potrete lanciare di ulimit in modi diversi Per limitare l'uso di memoria, usate le opzioni riportate nella tabella 12.1. -m grandezza massima della memoria fisica -v grandezza massima della memoria virtuale (swap) -s grandezza massima dello stack -c grandezza massima dei core file -a visualizzazione dei limiti impostati. Tabella 12.1: ulimit: impostare le risorse dell'utente Le impostazioni per l'intero sistema possono venire effettuate in /etc/ profile. Una delle impostazioni consiste, ad esempio, nell'autorizzare la crea- zione di quei core file necessari ai programmatori per il "debug". L'utente non è in grado di aumentare i valori impostati dall'Amministratore del sisema in /etc/profile; è però possibile inserire determinate impostazioni nel proprio ~/.bashrc. cfr. file 12.3.2 nella pagina seguente. La memoria viene descritta in KB. Per informazioni più dettagliate, date un'occhiata alla pagina di manuale di bash (man bash). 309 12 Particolarità in SuSE Linux # Limite della memoria reale: ulimit -m 98304 # Limite della memoria virtuale: ulimit -v 98304 file 12.3.2: Impostazioni ulimit in ~/.bashrc 12.4 Cricamento con l'"initial ramdisk" Problematiche Non appena il kernel di Linux è caricato e il filesystem root(/) ha eseguito il mounting, possono venire eseguiti i programmi e caricati altri moduli del kernel che mettano a disposizione funzionalità supplementari. Il mounting del filesystem root è tuttavia soggetto ad alcune condizioni: per poter comunicare con il dispositivo su cui si trova il filesystem root (specialmente se SCSI), il kernel ha bisogno delle unità di disco corrispondenti. Inoltre, il kernel deve contenere il codice necessario a leggere il filesystem (ext2, reiserfs, romfs etc.). È anche possibile che il root-filesystem sia già codificato; in questo caso, per fare il mounting, è necessaria la password. Per quanto riguarda il problema delle unità di disco SCSI, si può pensare a diver- se soluzioni: il kernel può contenere tutte le unità di disco possibili e immagina- bili. Il che non rende le cose più facili, dal momento che unità di disco diverse potrebbero non andare d'accordo fra di loro, allargando il kernel. Un'altra pos- sibilità consiste nel mettere a disposizione diversi kernel che contengano solo una o poche unità di disco SCSI. Anche questo metodo è problematico, poichè necessita un gran numero di kernel differenti, specialmente in presenza di diversi kernel ottimizzati (ottimizzazione Pentium, SMP, ecc.). Il caricamento a moduli dell'unità di disco SCSI causa una serie di difficoltà legate al concetto dell'initial ramdisk: e cioè la possibilità di eseguire programmi Userspace già prima del mount del root-filesystem. 12.4.1 Il concetto dell'initial ramdisk L'initial ramdisk (denominato anche "initdisk" o "initrd") risolve proprio que- sto tipo di guai. Il kernel di Linux Vi permette di caricare (piccolo) filesystem in un ramdisk e far eseguire in esso dei programmi, prima che venga montato il root-filesystem vero e proprio. Il caricamento dell'initrd viene svolto dal bootloader (LILO, loadlin etc.); tutti questi bootloader necessitano soltanto della routine del BIOS per caricare i dati dal dispositivo di caricamento. Una volta che il bootloader possa caricare il kernel, potrà caricare anche l'initial ramdisk. In questo modo non sono necessarie unità di disco speciali. 310 12.4 Cricamento con l'"initial ramdisk" 12.4.2 Processo di caricamento con initrd Il bootloader carica il kernel e l'initrd nella memoria e inizializza il ker- nel, comunicandogli che è disponibile un initrd e dove questo si trovi nella memoria. Se initrd è compresso (e, generalmente, loè), il kernel lo decomprime e lo monta come root-filesystem temporaneo. A questo punto, nell'initrd viene inizializzato un programma dal nome linuxrc. Questo programma può svolgere tutte le funzioni necessarie a montare il vero root-filesystem. Al termine di linu- xrc, l'initrd (temporaneo) viene di nuovo "smontato" (ingl. unmounted) ed il processo di boot viene continuato con il montaggio del vero root-filesystem. Il montaggio di initrd e l'esecuzione di linuxrc possono quindi venire considerati come un breve intermezzo durante una normale procedura di caricamento. Se initrd non può venire "smontato" (cosa da considerarsi un errore), il kernel cerca di montare initrd sulla directory /initrd. Se anche il punto di mount /initrd non esiste, il sistema V comunica un errore. In un tal caso, il sistema è del tutto funzionante, ma la memoria occupata da initrd non potrà mai venire liberata e non sarà più disponibile. linuxrc Il programma linuxrc in initrd richiede il nome speciale di linuxrc e di tro- varsi nella root-directory di initrd. Inoltre, deve essere eseguito dal solo ker- nel. Ciò significa che linuxrc può senz'altro avere un link dinamico; in questo caso, le "librerie condivise" devono come al solito essere completamente dispo- nibili sotto /lib in initrd. Inoltre linuxrc può essere anche uno shell script, ragion per cui esisterà una finestra di comando su /bin. In poche parole, initrd deve contenere un sistema Linux minimo che permetta l'esecuzione del program- ma linuxrc. All'installazione di SuSE Linux, viene usato un linuxrc con un link statico, per poter tenere initrd il più piccolo possibile (lo spazio sui dischetti di boot è molto scarso). linuxrc viene eseguito con i diritti `root'. Il vero root-filesystem Non appena linuxrc è terminato, initrd viene staccato e abbandonato, il proces- so di boot continua normalmente e il kernel monta il vero root-filesystem. Cosa debba venire montato come root-filesystem può essere influenzato da linuxrc. li- nuxrc dovrà prima montare il filesystem /proc ed impostare il valore del vero root-filesystem su /proc/sys/kernel/real-root-dev. 12.4.3 Bootloader La maggioranza dei bootloader (soprattutto LILO, loadlin e syslinux) sono in gra- do di usare initrd. Ai singoli bootloader viene "prescritto" di usare un initrd (vedi sotto): 311 12 Particolarità in SuSE Linux initrd=/boot/initrd 1. LILO Immissione della seguente riga in /etc/lilo.conf: Il file /boot/initrd è l'initial ramdisk. Esso può (ma non deve) essere compresso. 2. loadlin.exe Attivazione con: C:> loadlin \ initrd=C:\loadlin\initrd 3. syslinux Immissione della seguente riga in syslinux.cfg: append initrd=initrd 12.4.4 Uso di initrd su SuSE Installazione del sistema initrd viene usato già da parecchio tempo per l'installazione: l'utente può ca- ricare moduli nel linuxrc e dare le indicazioni necessarie per l'installazione (co- me il mezzo-sorgente). Linuxrc inizializza poi YaST, che esegue l'installazione. Una volta che YaST abbia terminato il suo lavoro lo comunica a linuxrc, in cui si trova il root-filesystem appena installato. linuxrc scrive questo valore su /proc, si chiude, e il kernel continua a fare il boot nel sistema appena installato. In un'installazione di SuSE Linux, si carica quindi il sistema che si sta instal- lando (elegante, a suo modo;-) ). Un vero riavvio dopo l'installazione avviene solo se il kernel in corso non va con i moduli che sono stati installati nel sistema. Dacché la versione attuale di SuSE Linux, al momento dell'installazione, usa un kernel per sistemi Uniprocessor, ciò avviene solo quando nel sistema sia stato in- stallato un kernel SMP assieme ai relativi moduli. Per poter usare tutti i moduli, si deve perciò caricare il kernel SMP che è appena stato installato nel sistema. Fare il boot del sistema installato In passato, YaST metteva a disposizione più di 40 kernel, che si differenziavano uno dall'altro per il fatto che ognuno di essi conteneva un certo tipo di uni- tà di disco SCSI. Ciò era necessario per poter montare il root-filesystem dopo il caricamento. Altre unità di disco potevano poi venire aggiunte in forma di moduli. Poichè, nel frattempo, esistono anche kernel perfezionati, questo concetto non è più accettabile: ora sarebbero necessarie più di 100 immagini kernel. 312 12.4 Cricamento con l'"initial ramdisk" Pertanto, si usa un initrd ormai anche per il normale avvio del sistema. Il fun- zionamento è analogo a quello di un'installazione. Il linuxrc qui usato è però solo uno shell-script che ha l'unico compito di caricare alcuni moduli precom- pilati. Si tratta, di norma, di un solo modulo; cioè di quell'unità disco SCSI necessaria per poter accedere al root-filesystem. Creare un initrd La creazione di un initrd avviene tramite lo script mk_initrd. In SuSE Li- nux, i moduli da caricare vengono determinati con in nomi INITRD_MODULES in /etc/rc.config. Dopo un'installazione, questa variabile viene automati- camente occupata con i valori giusti (il linuxrc dell'installazione sa quali moduli sono stati caricati). È da notare che i moduli vengono caricati nella stessa se- quenza in cui appaiono in INITRD_MODULES. Ciò è particolarmente importante nel caso che vengano usati più unità disco SCSI, poichè, altrimenti, cambiereb- be la denominazione dei dischi rigidi. A rigor di logica, sarebbe sufficiente far caricare solo lunità disco SCSI necessaria all'accesso al root-filesystem. Poichè, però, il caricamento automatico e successivo di unità disco SCSI supplementari è problematico (come potrebbe venire inizializzato se anche sul secondo adapter SCSI si trovano di dischi rigidi?), carichiamo tutte le unità di disco SCSI usate durante l'installazione tramite initrd. L'attuale mk_initrd controlla se l'accesso al root-filesystem necessiti un'unità di disco SCSI: il comando mk_initrd su un sistema in cui / si trovi su un disco rigido EIDE, non lancerà initrd, poichè non è necessario. Dal momento che ci sono sempre più controller EIDE speciali sul mercato, si avrà sempre più bisogno di un initrd per il boot del sistema installato. Importante: poichè il caricamento di initrd tramite il bootloader viene ese- guito esattamente come il caricamento del kernel stesso (LILO annota nel suo map-file la posizione dei file), dopo ogni modifica di initrd, LILO deve venire nuovamente installato! Dopo ogni mk_initrd è necessario anche un lilo! 12.4.5 Possibili difficoltà ­ kernel "auto"-compilati Se ci si compila un kernel da sé, può spesso subentrare il seguente problema: per abitudine, viene fatto un link stabile dellunità SCSI nel kernel, e l'attuale initrd rimane invariato. Durante il boot avviene la seguente cosa: il kernel contiene di già l'unità di disco SCSI, l'hardware viene riconosciuto. initrd cerca però di caricare nuovamente l'unità di disco come modulo; con alcune unità SCSI (specialmente con aic7xxx), ciò porta all'arresto del sistema. A dire il vero, questo è un errore del kernel (una unità già esistente non dovrebbe venire caricata una seconda volta come modulo); il problema è però già noto da un altro contesto (unità seriali). Per questo problema ci sono più soluzioni: o si configura l'unità disco come modulo (in questo caso verrà caricato correttamente in initrd), o si estrae initrd da /etc/lilo.conf. Un'equivalente dell'ultima soluzione è quella di togliere l'unità da INITRD_MODULES e immettere mk_initrd, che, a sua volta, constaterà che non è necessario alcun initrd. 313 12 Particolarità in SuSE Linux 12.4.6 Prospettiva In futuro è pensabile che un initrd possa venire usato per molte più cose (e più difficili) e non solo per caricare i moduli necessari all'accesso a /. * "High end" Unità di disco EIDE * Root-filesystem su software RAID (linuxrc attiva i md-Devices) * Root-filesystem su LVM * Root-filesystem è cifrato, (linuxrc richiede la password) * Root-filesystem su un disco rigido SCSI connesso a un adapter PCMCIA Ulteriori informazioni /usr/src/linux/Documentation/ramdisk.txt /usr/src/linux/Documentation/initrd.txt pagina di manuale di initrd (man 4 initrd). 12.5 linuxrc linuxrc è un programma che viene inizializzato durante la fase di avviamento del kernel e prima che venga fatto il boot. Questa proprietà del kernel permet- te di caricare un piccolo kernel modulare e, successivamente, le unità di disco veramente necessarie in forma di moduli ­ in caso di emergenza perfino da un secondo dischetto (modules) linuxrc Vi aiuta a caricare le unità di disco necessarie al Vostro hardware. Pote- te usare linuxrc non solo durante l'installazione, bensì anche come strumento di boot per il Vostro sistema installato (una specie di dischetto d'emergenza) e po- tete perfino inizializzare un sistema autonomo di salvataggio basato sulla RAM, ad esempio se è stato distrutto qualcosa di importante sul disco rigido o se ave- te dimenticato la Vostra `root' password. Troverete informazioni dettagliate nella sezione 12.6 a pagina 319. Menu principale Dopo aver configurato la lingua, lo schermo e la tastiera, avete accesso al menu principale di linuxrc (vedi Figura 2.3 a pagina 10). L'obiettivo è `Installazione / Inizializzare il sistema'. Se potete arrivarci direttamente o meno, dipende dall'hardware del Vostro computer: se tutti i componenti necessari ad un'installazione sono già stati riconosciuti dal kernel non avete bisogno di caricare nessun'altro driver. Questo è il caso di quei computer che dispongono di un hard disk e CD-ROM-device conessi ad un (E)IDE-adapter. 314 12.5 linuxrc Se il sistema possiede uno SCSI-adapter, necessario per l'installazione, si deve caricare un modulo SCSI. Lo stesso vale anche se l'installazione viene eseguita via rete: in questo caso, per la scheda di rete impiegata si deve prima caricare un modulo adatto. Infine esistono ancora un quantità di CD-ROM-device un po' vecchiotti, che sono stati forniti di una controller proprietario e che perciò necessitano di propri moduli del kernel. Anche se in un laptop vengono utilizzati dispositivi PCMCIA, dovrete caricare i moduli specifici. Informazioni del sistema Se non sapete di sicuro di che tipo sia l'hardware del Vostro sistema, il kernel Vi aiuterà con i suoi messaggi di caricamento. Su `Informazioni del sistema' (figura 12.1), oltre ai messaggi del kernel, troverete gli indirizzi I/O delle schede PCI, la capacità della memoria principale riconosciuta dal Linux e altro. Figura 12.1: Informazioni del sistema Il seguente esempio mostra come il riconoscimento di un disco rigido e di un di- spositivo CD-ROM connessi ad un adapter EIDE. In questo caso, l'installazione non ha bisogno di moduli del kernel: hda: ST32140A, 2015MB w/128kB Cache, LBA, CHS=1023/64/63 hdb: CD-ROM CDR-S1G, ATAPI CDROM drive Partition check: hda: hda1 hda2 hda3 < hda5 > Se avete inizializzato un kernel in cui sia già stabilmente integrato una unità di disco SCSI, non sarà naturalmente più necessario caricare moduli SCSI. Comu- nicazioni tipiche del riconoscimento di uno SCSI-adaper e dei dispositivi ad esso collegati sono: 315 12 Particolarità in SuSE Linux scsi : 1 host. Started kswapd v 1.4.2.2 scsi0 : target 0 accepting period 100ns offset 8 10.00MHz FAST SCSI-II scsi0 : setting target 0 to period 100ns offset 8 10.00MHz FAST SCSI-II Vendor: QUANTUM Model: VP32210 Rev: 81H8 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 scsi0 : target 2 accepting period 236ns offset 8 4.23MHz synchronous SCSI scsi0 : setting target 2 to period 248ns offset 8 4.03MHz synchronous SCSI Vendor: TOSHIBA Model: CD-ROM XM-3401TA Rev: 0283 Type: CD-ROM ANSI SCSI revision: 02 scsi : detected 1 SCSI disk total. SCSI device sda: hdwr sector=512 bytes. Sectors=4308352 [2103 MB] [2.1 GB] Partition check: sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 > Caricare i moduli Scegliete il tipo di modulo di cui avete bisogno. Se avete fatto il boot dal di- schetto, linuxrc leggerà i dati e Vi metterà a disposizione un'ampia gamma di moduli. Se avete caricato dal CD o se avete eseguito un "poststart" da DOS tramite load- lin, tutti i moduli sono già a disposizione di linuxrc. Questo risparmia un lungo caricamento, ma in compenso necessita più memoria. Se il Vostro computer ha meno di 8 MB di RAM, caricate dal floppy. Figura 12.2: Caricare i moduli linuxrc Vi offre un elenco di unità di disco disponibili. A sinistra, trovate il nome del relativo modulo; a destra, una breve descrizione dell'hardware per cui l'unità è competente. Per alcuni componenti possono esserci più driver o Alpha-driver recenti. Anche quest'ultimi Vi vengono offerti. 316 12.5 linuxrc Figura 12.3: Scelta dello SCSI-driver Inserimento dei parametri Una volta trovata l'unità di disco corrisponte al Vostro hardware, posizionate § ¤ il cursore e premete ¦ ¥ . A questo punto appare una maschera in cui poter digitare i parametri del modulo da caricare. Troverete informazioni dettagliate sui parametri dei moduli nella sezione 10.3.4 a pagina 267. Figura 12.4: Digitazione dei parametri per il caricamento dei moduli A questo punto vogliamo ricordarVi che, al contrario del prompt del kernel (MI- LO, LILO o SYSLINUX), qui più parametri per uno stesso modulo devono essere separati da uno spazio vuoto. In molti casi non è necessaria l'esatta specificazione dell'hardware; la maggior parte delle unità disco trova da sola i suoi componenti. Solo schede di rete e dispositivi CD-ROM un pò più antichi potrebbero necessitare i parametri. In § ¤ ogni caso, provate prima con ¦ ¥ . 317 12 Particolarità in SuSE Linux Con alcuni moduli, il riconoscimento e l'inizializzazione dell'hardware possono § ¤ § ¤ durare a lungo. Passando alla console virtuale 4 (¦Alt ¥+ ¦F4 ¥ ), potrete leggere i messaggi di caricamento del kernel. Gli adapter SCSI sono piuttosto lenti, poichè si aspettano che tutti i dispositivi collegati siano stati identificati. Se il caricamento del modulo ha funzionato, linuxrc Vi mostra i messaggi del ker- nel, di modo che possiate assicurarVi che tutto sia andato bene; in caso contrario, i messaggi Vi permetteranno di trovare la causa dell'errore. Inizializzare il sistema / l'installazione Una volta che abbiate ottenuto il supporto del kernel per il Vostro hardware, po- tete passare al punto `Inizializzare il sistema / l'installazione'. Da qui (Figura 2.4 a pagina 11) è possibile inizializzare diversi proces- si: `Inizializzare l'installazione' (con cui viene anche inizializzato l'aggiornamento), `Caricare il sistema installato' (la partizione root deve essere nota), `Inizializzare il sistema di salvataggio' (vd. sezione 12.6 a fronte) e `Inizializzare il Live-CD'. Suggerimento Il punto `Inizializzare il Live-CD' può sempre essere utile se si vuo- le provare, senza fare un'installazione sul disco rigido, se il computer o il notebook sono compatibili con SuSE Linux. Dovreste essere in grado di esseguire questo tipo di test da un qualsiasi rivenditore di PC. Figura 12.5: Scelta del dispostivo d'installazione in linuxrc Per l'installazione (figura 12.5),come anche per il sistema di salvataggio, potete scegliere diversi dispositivi (Figura 12.6 a pagina 321). 318 12.6 Il sistema di salvataggio di SuSE 12.6 Il sistema di salvataggio di SuSE SuSE Linux contiene (indipendentemente dal sistema d'installazione) un pro- prio sistema di salvataggio. Per essere più esatti, sono 2 (più avanti troverete altre informazioni) o persino 3 pezzi, se si considera anche il "Live-Filesystem"; Con questi mezzi, potrete accedere "dall'esterno" a tutte le Vostre partizioni Li- nux. Parte integrale del sistema di salvataggio è un'accurata selezione di pro- grammi di aiuto, con cui avrete a disposizione sufficienti attrezzature per elimi- nare una quantità di problemi causati p.e. da dischi rigidi inaccessibili, file di configurazione errati etc. Suggerimento Il sistema di salvataggio consiste in un dischetto di caricamento, ovv. in un CD di SuSE Linux destinato al boot, come pure in un sistema "Rescue" che può venire caricato da diversi mezzi (p.e. dal dischetto, dal CD, dalla rete e perfino direttamente dal server FTP di SuSE). 12.6.1 Preparazione Per creare un sistema di salvataggio, avete bisogno (IMPORTANTISSIMO) di due dischetti privi di errori: uno verrà usato in seguito come dischetto di cari- camento, l'altro per l'immagine compressa di un piccolo rootfile system. Il file immagine bootdisk per il caricamento del sistema e il file rescue per il root file system, si trovano sul primo CD su /disks. Esistono due possibilità per creare il dischetto con il root file system: * con YaST * tramite una console usando i comandi di Linux terra: # /sbin/badblocks -v /dev/fd0 1440 terra: # dd if=/cdrom/disks/rescue of=/dev/fd0 bs=18k * o con il comando DOS (supponendo che Q: sia il dispositivo CD-ROM sotto DOS) Q:\> cd \dosutils\rawrite Q:\dosutils\rawrite> rawrite.exe Il dischetto di salvataggio attualmente si basa sulla libc5 (SuSE Linux 5.3), poichè in questa versione di SuSE Linux è posibbile raggruppare su un dischetto alcuni programmi, come Editor, programmfdisk o e2fsck. Nota Non è possibile montare il sistema di salvataggio, poichè non è un file system, bensì solo l'immagine compressa di un file system. Per avere accesso al file system, consultate il prossimo paragrafo. 319 12 Particolarità in SuSE Linux Se volete avere accesso all'immagine non compressa, dovete decomprimere il file dell'immagine e montare l'immagine decompressa come utente `root'. Se il Vostro kernel di Linux supporta il loop-device, il procedimento è il seguente: terra: # cp /cdrom/disks/rescue /root/rescue.gz terra: # gunzip /root/rescue.gz terra: # mount -t ext2 -o loop /root/rescue /mnt 12.6.2 Inizializzare il sistema di salvataggio Il sistema di salvataggio viene inizializzato come un'installazione dal dischetto di boot di SuSE o dal CD 1 di caricamento. La premessa è che il drive del dischet- to o del CD-ROM siano adatti al caricamento; se necessario, dovete modificare la sequenza di caricamento nel setup del CMOS. Ecco i singoli passi: 1. Condizione: il lettore floppy o il CD deve essere idoneo al boot (se necessario, modificate la equenza di caricamento nel setup del CMOS). 2. Inizializzate il sistema con il dischetto di boot di SuSE o con il CD 1. Digi- tate al boot prompt o yast1 o manual; con manual avete la possibilità di caricare Voi stessi i moduli del kernel necessari. 3. Configurare lingua, tastiera etc. come per l'installazione in linuxrc, finchè arrivare al menù principale. 4. Nel menù principale scegliete `Inizializzare l'installazioone/il sistema'. 5. Se avete fatto lo start con il dischetto di boot, inserite ora il CD per l'in- stallazione o il dischetto (rescue) con la copia compressa del sistema di salvataggio. 6. Nel menù `Inizializzare l'installazione/il sistema', sceglie- te il punto `Inizializzare il sistema di salvataggio' (vd. figu- ra 2.4 a pagina 11) e indicate il dispositivo sorgente desiderato (figura 12.6 a fronte): Alla fine, un paio di indicazioni per le possibilità di scelta: `CD-ROM': quando caricate il sistema di salvataggio, il path /cdrom viene esportato. In questo modo non è possibile l'installazione da questo CD. Nota Fornire i valori giusti e lanciate quindi SuSEconfig; (vd. sezione 13.5 a pagina 332 ff.). `Rete (NFS)': caricate dalla rete il sistema rescue via NFS; dovrete ca- ricare prima l'unità di disco della Vostra scheda di rete; vd. anche le informazioni generali nella sezione 2.3.1 a pagina 27. 320 12.6 Il sistema di salvataggio di SuSE Figura 12.6: Mezzo sorgente per il sistema rescue `Rete (FTP)': caricare dalla rete il sistema rescue via FTP; non dimenticate l'unità di disco della scheda di rete! `Hard disk': caricare il sistema rescue dal disco rigido. `Dischetto': inizializzare il sistema rescue dal dischetto di cui sopra; questa variante funziona anche quando il omputer ha a disposizione solo poca RAM. Il sistema di salvataggio viene decompresso, caricato, montato e inizializzato in un disco RAM come nuovo root-filesystem. Ora è pronto per l'uso. 12.6.3 Lavorare con il sistema di salvataggio § ¤ § ¤ § ¤ § ¤ Sotto ¦Alt ¥+ ¦F1 ¥bis ¦Alt ¥+ ¦F3 ¥ , il sistema di salvataggio Vi mette a disposizio- ne almeno tre console virtuali con cui fare il login come utente `root' senza § ¤ § ¤ la password. Con ¦Alt ¥+ ¦F10 ¥andate alla console del sistema che contiene le comunicazioni del kernel e syslog. Sotto /bin trovate la finestra di comando e l'utility (p.e. mount); una certa quan- tità di file-utility e utility di rete, fra cui e2fsck, per controllare e riparare i file- system, si trovano sotto /sbin. In /sbin avete anche i file binari più importanti per l'amministrazione del sistema come fdisk, mkfs, mkswap, init, shutdown, e per l'uso della rete, come ifconfig, route e netstat. Il Vostro editor del caso è vi su /usr/bin; qui troverete anche altri tool (grep, find, less etc.) e altre cose ancora come p.e. telnet. 321 12 Particolarità in SuSE Linux Esempio: accesso al sistema normale Per montare il Vostro sistema Linux sul disco rigido, abbiamo il mountpoint /mnt; naturalmente, per i Vostro scopi, potete creare altre directory e usarle come mountpoint. Supponiamo, per esempio, che /etc/fstab Vi comunichi che il Vostro sistema presenti la composizione del file-esempio 12.6.1. /dev/sdb5 swap swap defaults 0 0 /dev/sdb3 / ext2 defaults 1 1 /dev/sdb6 /usr ext2 defaults 1 2 file 12.6.1: Esempio: /etc/fstab Attenzione Nella seguente sezione fate attenzione alla sequenza in cui i singoli devices devono venire montati. Montatelo quindi passo per passo sotto /mnt con i seguenti comandi (rispettate la sequenza!): terra:/ # mount /dev/sdb3 /mnt terra:/ # mount /dev/sdb6 /mnt/usr Ora avete accesso a tutto il Vostro sistema e potete per esempio correggere errori nei file di configurazione come /etc/fstab, /etc/passwd, /etc/inittab (che naturalmente ora si trovano su /mnt/etc invece che su /etc!). Perfino partizioni che erano andate completamente perse, si possono recuperare (ovvero ricreare) con Linux fdisk; si deve però sapere esattamente in quale punto del disco rigido si trovavano prima le partizioni.Ogni esperto utente di Linux archivia il più presto possibile uno stampato di /etc/fstab e uno stampato del comando terra: # fdisk -l /dev/ Al posto di inserite uno dopo l'altro i nomi dei dispositivi del Vostro disco rigido, ad esempio hda Esempio: riparare i filesystem Filesystem danneggiati richiedono l'utilizzo del sistema di salvataggio. Ciò può avvenire dopo uno spegnimento non corretto (per esempio a causa di una man- canza di corrente) o dopo un crollo. I filesystem non possono venire riparati durante il normale uso del sistema. In presenza di danni gravi, il root-filesystem potrebbe non lasciarsi montare e lo start del sistema termina in un "kernel panic". L'unica cosa da farsi a questo punto, è quella di provare ad eseguire la riparazione "da fuori" con un sistema di salvataggio. Nel sistema di salvataggio di SuSE Linux sono contenuti gli attrezzi e2fsck e, per la diagnosi, dumpe2fs. Con essi avrete la la meglio sulla maggior parte dei 322 12.7 Console virtuali problemi. Poichè, in caso di emergenza, non avrete più accesso neanche alla manual page di e2fsck, la trovate stampata nell'appendice A a pagina 347. Esempio: Se un filesystem, a causa di un Superblock non valido non si lascia più montare, molto probabilmente, in un primo tempo, fallirà anche e2fsck. La soluzione consiste nell'usare uno dei superblock backup creati nel filesystem ogni 8192 blocchi (8193, 16385. . . ). Ciò viene eseguito p.e. dal comando terra: # e2fsck -f -b 8193 /dev/ L'opzione -f determina l'uso del filesystem-check e previene in questo modo il possibile errore di e2fsck, il quale, trovando la copia intatta del superblock, pensa che sia tutto a posto. 12.7 Console virtuali Linux è multitasking e multiutente e, anche se avete un sistema ad un utente solo, imparerete certamente ad apprezzare i vantaggi di queste capacità. In modo di testo sono a disposizione 6 consoles virtuali; premdendo la combina- § ¤§ ¤ § ¤§ ¤ zione di tasti ¦Alt ¥+¦F1 ¥fino a ¦Alt ¥+¦F6 ¥ , potete passare da una console all'altra. La settima console è riservata a X11.1 Se,da X11, volete ritornare su una console di testo senza però chiuder X11, usate § ¤§ ¤§ ¤ § ¤§ ¤§ ¤ § ¤§ ¤ la combinazione ¦Ctrl ¥+¦Alt ¥+¦F1 ¥fino a ¦Ctrl ¥+¦Alt ¥+¦F6 ¥ . Con ¦Alt ¥+¦F7 ¥ ritornate a X11. 12.8 Impostazione della tastiera Per uniformare l'impostazione della tastiera nei programmi sono state eseguite modifiche ai seguenti file: /etc/inputrc /usr/X11R6/lib/X11/Xmodmap /etc/skel/.Xmodmap /etc/skel/.exrc /etc/skel/.less /etc/skel/.lesskey /etc/csh.cshrc /etc/termcap /usr/lib/terminfo/x/xterm /usr/X11R6/lib/X11/app-defaults/XTerm /usr/share/emacs/20.7/site-lisp/term/*.el /usr/lib/joerc Queste modifiche hanno conseguenze solo sulle applicazioni che leggono terminfo, o i cui file di configurazione sono stati direttamente modificati (vi, less etc.). Altre applicazioni non-SuSE devono venire adattate a queste impostazioni di default. 1Modificando il file /etc/inittab vengono messe a disposizione ancora più console, o anche di meno. 323 12 Particolarità in SuSE Linux 12.9 Adattamenti locali SuSE Linux è inetrnazionale e può venire adattato ai alle condizioni locali. Cioè: l'internazionalizzazione ("I18N") localizzazioni speciali ("L10N"). Le abbreviazioni I18N e L10N stanno per internazionalizzazione e localizzazione. Le impostazioni vengono eseguite tramite le variabili LC_* definite nel file /etc/rc.config. Naturalmente non si tratta solo dell'impostazione della lin- gua per la superficie e le comunicazioni dei programmi (ingl. native language support), ma anche delle categorie per le notizie (linguaggio), classi dei caratte- ri, sequenza della classificazione, data e ora, numeri e valuta. Ognuna di queste categorie può venire stabilita direttamente tramite una propria variabile o indi- rettamente tramite una variabile superiore nel file rc.config (vedi pagina di manuale di locale (man 5 locale)): 1. RC_LC_MESSAGES, RC_LC_CTYPE, RC_LC_COLLATE, RC_LC_TIME, RC_LC_NUMERIC, RC_LC_MONETARY: queste variabili vengono date alla shell senza il prefisso RC_ e determinano le suddette categorie; i files in questione sono elelncati qui di seguito. DEFAULT_LANGUAGE non viene esportato. L'impostazione attuale può venire richiesta con il comando locale. 2. RC_LC_ALL: questa variabile soprascrive, se configurato, i valori della variabile nominata nel punto 1. 3. RC_LANG: questo è il cosiddetto "fallback", nel caso che nessuna delle sud- dette variabili sia stata configurata; come standard SuSE Linux imposta RC_LANG; in questo modo, l'utente può trovare più facilmente i valori che ha registrato. 4. ROOT_USES_LANG: è una variabile yes/no. Se è impostata su no, `root' lavora sempre nell'ambiente POSIX. 5. DEFAULT_LANGUAGE: questa variabile ha due funzioni. Stabilisce la lingua in cui viene inizializzato YaST ed è contemporaneamente fallback nel caso che RC_LANG non sia impostato. Viene impostata da YaST in dipendenza della lingua selezionata nel menu di selezione della lingua. Per evitare equi- voci: DEFAULT_LANGUAGE non viene inoltrata da SuSEconfig alla shell, ma il valore di questa variabile viene preso per impostare eventualmente LANG. DEFAULT_LANGUAGE può venire influenzata da YaST tramite il punto `Stabi- lire la lingua'; vedi la sezione 3.4.1 a pagina 49. Le altre variabili vengono impostate tramite l'editor rc.config; Il valore di tali variabili è composto dall'indicazione della lingua (ingl. language code), paese o territorio (ingl. country code), composizione dei caratteri (ingl. encoding) ed opzone (ingl. modifier). Le singole indicazioni vengono collegate ai caratteri speciali: LANG=[[_].Encoding[@Modifier]] Esempi concreti: LANG=de_DE.ISO-8859-15 324 12.9 Adattamenti locali In Germania viene impostata la lingua tedesca con la composizione dei caratteri ISO-8859-15; questa composizione contiene il segno dell'EURO, anche se qui la valuta standard è DM. Ed un esempio per l'impostazione delle opzioni: LANG=no_NO@nynorsk Impostate sempre assieme l'indicazione della lingua e dei paesi. L'indica- zione della lingua segue lo standard ISO 639 (http://www.indigo.ie/ egt/standards/iso639/iso639-1-en.html), i codici dei paesi sono de- finiti in ISO 3166 (http://www.din.de/gremien/nas/nabd/iso3166ma/ codlstp1/en_listp1.html). Logicamente, possono venire scelti solo i valo- ri per il file di descrizione utilizzabili che si trovano sotto /usr/lib/locale. Altri files di descrizione possono venire creati con l'aiuto di localedef preso dai files in /usr/share/i18n. Un file di descrizione per de_DE@euro.UTF-8 viene creato con: terra:~ # localedef -i de_DE@euro -f UTF-8 de_DE@euro.UTF-8 Emacs p.e. analizza l'indicazione del set di caratteri (qui ISO-8859-15); se si lavora in un xterm unicode, l'indicazione da fare UTF-8. SuSEconfig elenca le variabili /etc/rc.config e scrive le indicazioni su /etc/SuSEconfig/profile e /etc/SuSEconfig/csh.cshrc. /etc/ SuSEconfig/profile viene letto da /etc/profile e /etc/SuSEconfig/ csh.cshrc da /etc/csh.cshrc. In questo modo le impostazioni sono disponibili per tutto il sistema. Gli utenti possono soprascrivere le predisposinzioni del sistema in ~/.bashrc. Se la predisposizione è de_DE e l'utente non è soddisfatto delle comunicazioni del programma in lingua tedesca, può cambiare e impostare la lingua inglese: LC_MESSAGES=en_US 12.9.1 Adattamento per il supporto della lingua Generalmente, per ottenere un fall back, i files delle categorie Notizie vengono archiviati solo nella directory della lingua (p.e. de). Se quindi LANG viene im- postato su de_AT e se il file "Message" non è esistente sotto /usr/share/ locale/de_AT/LC_MESSAGES, si ricorre a /usr/share/locale/de/LC_ MESSAGES. Con LANGUAGE è anche possibile determinare una "cascata" di fall backs; p.e. per il bretone francese o per la galizia spangnolo portoghese: LANGUAGE="br_FR:fr_FR" LANGUAGE="gl_ES:es_ES:pt_PT" Problemi possibili * Il millesimo punto non viene riconosciuto. Probabilmente LANG si trova su de. Poichè la descrizione alla quale ricorre la glibc si trova in /usr/ share/locale/de_DE/LC_NUMERIC, LC_NUMERIC deve venire impostato su de_DE. 325 12 Particolarità in SuSE Linux Ulteriori informazioni: * The GNU C Library Reference Manual, Kap. "Locales and Internationaliza- tion"; contenuto nel pacchetto glibc-info, serie doc. * Jochen Hein [Hei96], sotto il lemma "NLS". * German-Howto di Winfried Trümper file:/usr/share/doc/howto/ en/html/German-HOWTO.html * Markus Kuhn, UTF-8 and Unicode FAQ for Unix/Linux, attuale sotto http: //www.cl.cam.ac.uk/~mgk25/unicode.html. * Unicode-Howto di Bruno Haible file:/usr/share/doc/howto/en/ html/Unicode-HOWTO.html. 326 13 Il concetto boot di SuSE Linux 13 Il concetto boot di SuSE Linux Anche ad un amministratore di sistemi abbastanza esperto il boot e l'inizializ- zazione di un sistema UNIX causano sempre qualche brivido. Questo capitolo fornisce una breve introduzione al concetto di boot di SuSE Linux. Questo con- cetto è più complesso ma anche molto più flessibile di quello degli altri sistemi Linux: si basa sul concetto di boot di una workstation System V, come descritto in [Fri93]. Con le lapidarie parole "Uncompressing Linux...", il cosiddetto kernel as- sume la guida di tutto l'hardware del sistema. Controlla e imposta la console o, più esattament, i registri del BIOS della scheda grafica e il formato dell'output sullo schermo , per poi leggere le impostazioni nel BIOS e inizializzare le inter- facce fondamentali presenti sulla scheda madre. Nel passo successivo, le singole unità di disco, che sono poi parte del kernel, rilevano l'hardware esistente e, se necessario, lo inizializzano. Dopo il "controllo della partizione" e il mount del root-filesystem, il kernel inizializza il programma /sbin/init, il quale a sua volta inizializza il sistema vero e proprio con i suoi programmi "di servizio" e le loro configurazioni. Il kernel amministra inoltre tutto il sistema, ovvero i tempi di utilizzo dela CPU da parte dei singoli programmi e il loro accesso all'hardware. 13.1 Il programma init Il programma /sbin/init è il processo responsabile per la corretta inizializzazio- ne del sistema; è, per così dire, il "padre di tutti i processi" che si trovano nel sistema. Fra tutti i programmi, init occupa un posto speciale: esso viene inizializzato diret- tamente dal kernel ed è immune dal segnale 9 con cui può venire normalmente "ucciso" ogni processo. Tutti gli altri processi vengono inizializzati o da init stesso, o da uno dei suoi "figli". init viene configurato centralmente tramite il file /etc/inittab; qui vengono definiti i cosiddetti "runlevel" (vedi la prossima sezione) e viene stabilito ciò che deve succedere nei singoli livelli. In base alle impostazioni in /etc/inittab, vengono inizializzati da init diversi script, che per maggior chiarezza vengono riuniti nella directory /sbin/init.d. Il completo processo di inizializzazione del sistema (e naturalmente anche lo spegnimento) viene quindi guidato unicamente dal processo init; in questo sen- so, il kernel può quasi venire considerato come "processo di sottofondo" il cui compito consiste nell'amministrare i processi attivati, assegnare loro i tempi di lavoro e rendere possibile e controllare l'accesso all'hardware. 327 13 Il concetto boot di SuSE Linux 13.2 Il runlevel Sotto Linux esistono diversi runlevel, i quali definiscono in quale stato debba av- viarsi il sistema. Il runlevel di default è definito nel file /etc/inittab tramite l'immissione initdefault. Generalmente si tratta del runlevel 2 o 3 (vedi ta- bella 13.1). In alternativa, il runlevel desiderato può venire indicato al momento del boot (p.e. al bootprompt); il kernel trasmette al processo init, senza alcuna modifica, i parametri che lui stesso non analizza. Più tardi, per passare ad un altro runlevel, si può semplicemente avviare init con il numero del relativo runlevel; il cambiamento del runlevel può naturalmente venire disposto solo dall'Amministratore di sistema. Con il comando: root@terra:/ > init 1 si passa per esempio nel cosiddetto single user mode, che serve alla "cura" e am- ministrazione del sistema. Dopo aver terminato il suo lavoro, l'amministratore di sistema può, con: root@terra:/ > init 3 far ripartire nuovamente il sistema con il normale runlevel su cui lavorano tut- ti i programmi necessari al funzionamento del sistema e su cui i singoli utenti possono registrarsi nel sistema. La tabella 13.1 fornisce una visione generale sui runlevel disponibili. Su di un sistema la cui partizione /usr è stata "montata" tramite NFS, non si deve usare il runlevel 1! Runlevel Significato 0 Stop del sistema (ingl. System halt) S Sistema per utente singolo (ingl. Single user mode); dal bootprompt con l'impostazione americana della tastiera 1 Sistema per utente singolo (ingl. Single user mode) 2 Sistema multiutente locale senza rete remota (ingl. Local multiuser without remote network (p.e. NFS)) 3 Sistema completamente multiutente con rete (ingl. Full multiuser with network) 4 Libero (ingl. Not used) 5 Sistema completamente multiutente con rete e KDM (Standard), GDM o XDM (ingl. Full multiuser with network and xdm) 6 riavvio del sistema (ingl. System reboot) Tabella 13.1: Lista dei runlevel validi su Linux Da ciò ne deriva che potete fermare il sistema anche con root@terra:/ > init 0 o inizializzarlo nuovamente con root@terra:/ > init 6 Se, sul Vostro computer, avete già configurato correttamente l'X Window System (capitolo 5.3 a pagina 130) e volete che l'utente acceda al login direttamente in 328 13.3 Cambiare il runlevel modalità grafica, potete semplicemente cambiare con 3 il runlevel standard che si trova in /etc/inittab. Prima di farlo, però, dovreste provare se il sistema funziona come dovrebbe; per farlo, inserite: root@terra:/ > init 5 Suggerimento Non modificate manualmente /etc/inittab. Un file di /etc/inittab guasto può causare danni all'avvio del sistema. Siate perciò molto prudenti e precisi nel modificare questo file. In un caso simile potete, provvisoria- mente, cercare di dare al prompt di LILO il comando init=/bin/sh, per iniziare direttamente il boot in una finestra di comando (vd. 1 a pagina 94) in questo modo: boot: linux init=/bin/sh 13.3 Cambiare il runlevel Generalmente, durante un cambiamento di runlevel, vengono eseguiti i cosid- detti Stop-Script del runlevel attuale (che terminano anche diversi programmi in corso su questo runlevel) e vengono eseguiti gli Start-Scripts del nuovo runle- vel. Nella maggioranza dei casi, durante un tale processo, vengono inizializzati alcuni programmi. Per rendere più chiara la cosa, guardiamo in un esempio che cosa avviene se passiamo dal runlevel 2 al runlevel 3: * L'amministratore (`root') comunica al processo init che deve venire cambiato il runlevel: root@terra:/ > init 5 * init consulta il file di configurazione /etc/inittab e appura che, con il nuovo runlevel, debbano anche venire usati i parametri nello script /sbin/ init.d/rc. * rc attiva ora tutti gli stop script dell'attuale runlvevel, per i quali non esista alcuno start script nel nuovo runlevel; nel nostro esempio, si tratta degli script che si trovano nella directory /sbin/init.d/rc2.d (il vecchio runlevel era 2) e che iniziano con un `K'. Il numero seguente alla lettera `K' Vi assicura che durante questa procedura venga mantenuta una certa sequenza, poichè alcuni programmi potrebbero essere dipendenti da altri. Nota I nomi degli stop-script iniziano sempre con `K' (ingl. kill), mentre quelli degli start-script iniziano con `S' (ingl. start). 329 13 Il concetto boot di SuSE Linux * Per ultimo, vengono chiamati gli start script del nuovo runlevel; nel nostro esempio, essi si trovano su /sbin/init.d/rc3.d ed iniziano con una `S'. Anche qui, viene mantenuta una certa sequenza, stabilita dalla cifra seguente la lettera `S'. Se cambiate ambiente all'interno del runlevel nel quale già Vi trovate, init legge solo i suoi /etc/inittab, controlla gli eventuali cambiamenti e, se necessario, avvia i processi necessari (p.e. inizializzare un getty su un'altra interfaccia). 13.4 Gli script Init Gli script su /sbin/init.d si dividono in due categorie: * Script chiamati direttamente da init: questo avviene solo al momento del boot e del shutdown del sistema (in caso di mancanza di corrente o premendo la § ¤ § ¤ § ¤ combinazione di tasti ¦Ctrl ¥+ ¦Alt ¥+ ¦Entf ¥ ). * Script chiamati indirettamente da init: ciò avviene al cambiamento del runle- vel; generalmente qui viene eseguito lo script superiore /sbin/init.d/rc, il quale procura che gli script rilevanti vengano chiamati nella sequenza corretta. Tutti gli script si trovano sotto /sbin/init.d. Anche gli script per il cambia- mento del runlevel si trovano in questa directory; in linea di massima vengono però attivati come link simbolici da una delle sottodirectory /sbin/init.d/ rc0.d fino a /sbin/init.d/rc6.d. Ciò serve a mantenere una certa chiarez- za ed evita che gli script siano presenti più volte, p.e,. perchè devono venire usati in diversi runlevel. Poichè ognuno di questi script può venire attivato sia come start script che come stop script, essi devono poter capire quali dei due possibi- li parametri (start e stop) vengano immessi. Gli script capiscono inoltre le opzioni restart, reload, force-reload e status; il significato di tutte le opzioni è elencato nella tabella 13.2. Opzione Significato start Iniziare il servizio stop Terminare il servizio restart Terminare il servizio ed iniziarlo nuovamente (se il servizio era già in corso); diversamente, iniziarlo di nuovo reload Leggere nuovamente la configurazione del servizio senza interromperlo ed inizializzarlo nuovamente force-reload Leggere nuovamente la configurazione del servizio (se l'azione viene appoggiata dal servizio); diversamente come restart stato mostrare lo stato attuale Tabella 13.2: Sommario delle opzioni degli init-script 330 13.4 Gli script Init Nell'uscire dal runlevel 3, viene chiamato /sbin/init.d/rc3.d/ K40network; /sbin/init.d/rc chiama lo script /sbin/init.d/network con il parametro stop. Entrando nel runlevel 5, viene inizializzato lo stesso script, questa volta però con il parametro start. I link nelle sottodirectory specifiche dei singoli runlevel servono quindi solo a rendere possibile un'attribuzione dei singoli script a determinati runlevel. La creazione ed eliminazione dei link necessari avviene, durante l'installa- zione o smontaggio del pacchetto, con: vedi pagina di manuale di insserv (man 8 insserv) In seguito, trovate una breve descrizione dei primi boot script e degli ultimi shutdown script come pure dei control script: * boot Viene eseguito allo start del sistema e inizializzato direttamente partendo da init. È indipendente dal default-runlevel desiderato e viene eseguito esatta- mente una sola volta. Qui viene inizializzato il kernel-daemon , il quale si assume l'incarico di caricare automaticamente i moduli del kernel. Vengo- no controllati i filesysytem, sotto /var/lock vengono cancellati file super- flui e viene configurata la rete per il loopback device (sempre che questo sia registrato in /etc/rc.config). Viene inoltre stabilito il clock-timing e l'hardware Plug-and-Play viene configurato con i tool di isapnp (vedi capitolo 6.2.1 a pagina 178). Se durante la verifica o la riparazione automatica dei filesystem dovesse ve- rificarsi un errore, l'amministratore di sistema ha la possibilità di eliminarlo manualmente, dopo aver inserito la root password. A questo script è asse- gnata inoltre la directory /sbin/init.d/boot.d; tutti gli script, che co- minciano con il carattere `S', e che si trovano in questa directory vengono automaticamente eseguiti allo start del sistema. Questo è il luogo giusto per proprie estensioni che possono venire attivate solo una volta allo start del sistema. Per ultimo, viene eseguito lo script boot.local. * boot.local Qui possono venire registrati altri processi che devono venire lanciati al mo- mento dell'avvio, prima che il sistema entri in un runlevel; come funzione, lo si può paragonare quasi a AUTOEXEC.BAT di DOS. * boot.setup Sono impostazioni fondamentali che devono venire effettuate al passaggio da single user mode ad un runlevel qualsiasi. Qui vengono caricate la configurazione della tastiera e la configurazione delle console. * halt Questo script viene eseguito solo quando si entra nel runlevel 0 o 6; viene avviato con la denominazione halt o reboot. A seconda di come viene attivato halt, il sistema viene inizializzato di nuovo, oppure completamente spento. * rc Si tratta dello script superiore, che viene chiamato ad ogni cambiamento del 331 13 Il concetto boot di SuSE Linux runlevel. Esegue gli stop script dell'attuale runlevel e quindi gli start script del nuovo runlevel. In base a questo concetto ,si possono aggiungere anche script propri; su /sbin/ init.d/skeleton è pronta una struttura per poterlo fare. Per poter dirigere, tramite /etc/rc.config, l'esecuzione di un proprio script, si dovrebbe deposi- tare in /etc/rc.config una variabile da poter esaminare nel pro- prio script; in /etc/rc.config dovrebbero venire registrati ulteriori parametri solo in singoli casi, vedi p.e. lo script /sbin/init.d/gpm). Ora dovete creare dei link dalla relativa directory rc al nuovo script, affinchè questi, come descritto su 13.3 a pagina 329, venga eseguito al cambiamento del runlevel; in questo contesto ( 13.3 a pagina 329), si parla anche della denomina- zione dei link. I dettagli tecnici vengono rappresentati nella pagina di manuale di init.d (man 7 init.d). Attenzione Se compilate i vostri script dovete essere prudenti: ­ uno script errato puó fermare completamente il Vostro computer. Nel caso in cui il computer si sia completamente bloccato (vedi capitolo 13.2 a pagina 328) . . . 13.5 /etc/rc.config e SuSEconfig La configurazione completa di SuSE Linux può praticamente venire effettua- ta tramite il file centrale di configurazione /etc/rc.config. In questo file vengono inizializzate una serie di variabili d'ambiente che vengono fra l'altro analizzate dagli script init; al fine di assumere i valori validi ed attuali delle sin- gole variabili ognuno degli script sotto /sbin/init.d carica per primo il file /etc/rc.config. Nota A partire da SuSE Linux 6.0 le variabili dei pacchetti complessi vengono riportate nella directory /etc/rc.config.d, come nel caso, per esempio, del pacchetto pacchetto i4l (ISDN). In questa sezione, parleremo prevalentemente di /etc/rc.config, sebbene esista anche un file esterno "depositato" Inoltre, in base a /etc/rc.config, possono venire generati molti altri file di configurazione del sistema; questo compito viene svolto da /sbin/SuSEconfig: così , p.e., dopo una modifica della configurazione della rete, viene gene- rato di nuovo il file /etc/resolv.conf poichè esso dipende dal tipo di configurazione. Se successivamente eseguite delle modifiche nel file /etc/rc.config, dovete in seguito chiamare sempre SuSEconfig, per assicurarVi che la Vostra impo- stazione sia attivata in tutti i punti rilevanti. Se modificate la configurazione 332 13.6 La variabile /etc/rc.config ­ configurazione del sistema con YaST, non avete bisogno di occuparvene; YaST inizializza automaticamente SuSEconfig con cui vengono attualizzati i file in questione. Questo concetto permette di eseguire notevoli cambiamente alla configurazio- ne del computer senza dovergli fare il boot di nuovo. Poichè alcune imposta- zioni influenzano notevolmente il sistema, per rendere attive le modifiche, sa- rà probabilmente necessario inizializzare di nuovo alcuni programmi. usando i comandi terra:~ # rcnetwork stop terra:~ # rcnetwork start sono stati inizializzati di nuovo i programmi interessati dalle modifiche. Come vedete, gli script init possono anche venire chiamati manualmente. Generalmente, per la configurazione del sistema, è consigliabile il seguente metodo: * Portate il sistema nel "single user mode" (Runlevel 1): terra: # init 1 * Eseguite nel file di configurazione /etc/rc.config, le modifiche desi- derate. Questo può avvenire o con un qualsiasi editor, oppure con Ya- ST sotto il punto `Modificare il file di configurazione' (vedi capitolo 13.6). * Eseguite SuSEconfig per far registrare le modifiche nei diversi file di configu- razione. Se avete modificato il file /etc/rc.config con YaST, ciò avviene automaticamente . * Riportate il sistema al runlevel precedente: terra: # init 3 Naturalmente questa procedura è necessario solo con modifiche che influiscono pesantemente sulle configurazioni del sistema (p.e. configurazione della rete); con compiti semplici non è necessario che l'amministratore passi nel "single user mode"; grazie ad esso, però, ci si accerta che vengano veramente inizializzati di nuovo tutti i programmi interessati dalle modifiche. Suggerimento Per eliminare per sempre la configurazione automatica trami- te SuSEconfig, può venire configurata adeguatamente la variabile nel file /etc/rc.config (osservate però l'avviso in 13.6 nella pagina seguente); usando le variabili rc.config adatte, è anche possibile "disabilitare" solo in determinate circostanze la configurazione automatica. 13.6 Le variabili /etc/rc.config Descriveremo ora brevemente i singoli parametri del sistema e le loro configura- zioni. Se non modificate con YaST il file di configurazione /etc/rc.config, 333 13 Il concetto boot di SuSE Linux fate attenzione di scrivere un parametro vuoto come una sequenza di virgolette (p.e. KEYTABLE="") e di chiudere fra virgolette i parametri in cui sono contenuti degli spazi. Con variabili di una sola parola, le virgolette non sono necessarie. Nella seguente descrizione, ogni parametro contiene un valore, al fine di chiarire con un esempio le possibili configurazioni: Configurazioni di base * ENABLE_SUSECONFIG=yes Stabilisce se SuSEconfig debba eseguire la configurazione. Non disabilitatelo se volete riccorrere al supporto per l'installazione. * MAIL_REPORTS_TO=tux Stabilisce a chi SuSEconfig debba inviare, per posta elettronica, i rapporti dell'amministrazione del sistema. * GMT=-u Se il Vostro orologio hardware è su GMT (Greenwich Mean Time), setta- te questa variabile su -u, oppure lasciatela vuota. Questa configurazione è importante per il cambio automatico dell'ora legale. * TIMEZONE=CET Il fuso orario in cui vivete. È importante anche per il passaggio automatico da ora legale a ora solare e viceversa. * LANGUAGE="italian" Viene stabilito da YaST nel momento in cui un utente cambia la lingua tra- mite il menù `Stabilire la lingua' (vedi 3.4.1 a pagina 49). Questo valore ("italian") vale anche se le variabili LANG e LC_* non sono state ini- zializzate (vedi sotto); in questo caso viene utilizzato il valore che si trova nel file /usr/share/locale/locale.alias. * RC_LANG="de_DE" Configura LANG per utenti locali; con questa risorsa può venire impostata una predisposizione per gli utenti locali. Questo valore è valido finchè vengano usate speciali variabili RC_LC_*. Le relative variabili rc.config sono: RC_LC_ALL (con questa si possono soprascrivere LC_* come pure LANG!), RC_LC_MESSAGES, RC_LC_CTYPE, RC_LC_MONETARY, RC_LC_NUMERIC, RC_LC_TIME e RC_LC_COLLATE. vedi sezione 12.9 a pagina 324. * ROOT_USES_LANG="no" Devono venire usate le impostazioni locali anche per `root'? * ENABLE_SYSRQ="no" Osservare l'interno del kernel. Prima dell'applicazione, leggere attentamente /usr/src/linux/Documentation/sysrq.txt! 334 13.6 La variabile /etc/rc.config ­ configurazione del sistema Inizializzare l'hardware locale (Tastiera, Modem, Mouse, PCMCIA etc.) * KEYTABLE=it-latin1-nodeadkeys Definisce la configurazione della tastiera. * KBD_NUMLOCK=no § ¤ ¦NumLock ¥non deve essere attivato al momento del boot. * KBD_CAPSLOCK=no § ¤ ¦CapsLock ¥non deve essere attivato al momento del boot. item KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6" § ¤ § ¤ ¦NumLock ¥e ¦CapsLock ¥può venire limitato a determinate TTY; gequoted sta per tutte le TTY. * KBD_RATE=30 Stabilisce la velocità della ripetizione automatica dei tasti. Le configu- razioni possibili sono da due volte fino a 30 volte al secondo. Affinchè questa configurazione funzioni deve essere definito anche il ritardo (vedi KBD_DELAY)! * KBD_DELAY=250 Qui viene definito il ritardo in base al quale inizia la ripetizione automati- ca. Il valore è in millesimi di secondo, ma la tabella non è molto accurata. Ricordate di configurare anche KBD_RATE! * CONSOLE_FONT=mr.fnt Il font che viene caricato per la console. Non tutti i font posseggo- no gli accenti italiani! Con YaST potete commodamente provare i font e utilizzare quello che piú vi piace. Le impostazioni aggiuntive sono: CONSOLE_SCREENMAP, CONSOLE_UNICODEMAP e CONSOLE_MAGIC. * MODEM=/dev/ttyS1 È l'interfaccia a cui è collegato il modem. Da YaST o da SuSEconfig viene creato un link che va da /dev/modem al dispositivo indicato. * MOUSE=/dev/ttyS2 È l'interfaccia cui è collegato il mouse. Da YaST o da SuSEconfig viene creato un link che va da /dev/mouse al dispositivo indicato. * START_GPM=yes Controlla che venga inizializzato il supporto per il mouse in una console; con esso, usando il mouse, è possibile copiare il testo fra le diverse console virtuali. Gpm è problematico in rapporto con alcuni bus mouse; se usando X, avete problemi con il mouse, evitate di inizializzare gpm; oppure usate da principo l'xdm, poichè nel runlevel 3, gpm non viene mai inizializzato. * GPM_PARAM=" -t logi -m /dev/mouse" I parametri di avvio per gpm; vengono di norma messi a disposizione da YaST. 335 13 Il concetto boot di SuSE Linux * PCMCIA=i82365 Serve a fissare il chipset; valori validi sono i82365 oppure tcic. Se la variabile viene settata su "", il sottosistema PCMCIA non viene inizializzato. Configurazioni esatte sono possibili tramite le variabili PCMCIA_PCIC_OPTS e PCMCIA_CORE_OPTS. * START_ISAPNP=yes Inizializzare ISA PnP al momento del boot. * INITRD_MODULES="aic7xxx" I nomi dei moduli che devono venire caricati durante il boot del kernel per poter per esempio accedere all'hard disk. Durante l'installazione o l'update vengono svolte le registrazioni necessarie; vedi sezione 12.4 a pagina 310. * START_KERNELD=yes Questa variabile decide se durante il boot del kernel 2.0.xx debba venire automaticamente inizializzato il kernel-daemon. Questo daemon provvede, se necessario, al caricamento automatico dei moduli del kernel. Con il kernel standard attuale 2.2.xx, kerneld non è più necessario! Inizializzare e configurare la rete e i servizi locali * START_LOOPBACK=yes Stabilisce se, configurando il cosiddetto Loopback-device, debba venire crea- ta una mini rete. Questa funzione deve essere attiva, poichè è necessaria a molti programmi.1 * CHECK_ETC_HOSTS=yes Stabilisce se SuSEconfig debba controllare ed eventualmente modificare /etc/hosts. * BEAUTIFY_ETC_HOSTS=no Se volete selezionare il file /etc/hosts. * SETUPDUMMYDEV=yes Stabilisce se debba venire creato il dummy device; utile con collegamen- ti di rete non permanenti (p.e.SLIP o PPP). Con una scheda Ethernet può disturbare. * CREATE_RESOLVCONF=yes Stabilisce se SuSEconfig debba controllare ed eventualmente modificare /etc/resolv.conf. Se la variabile si trova su yes e una delle variabi- li SEARCHLIST o NAMESERVER è vuota, si presuppone che non si deside- ri alcun DNS e /etc/resolv.conf viene cancellato. Se si trova su no, /etc/resolv.conf rimane invariato. * NETCONFIG=_0 Indica il numero di schede di rete (o qualsiasi altro dispositivo di rete) che si trovano nel computer. In questo caso, abbiamo una sola scheda di rete 1Anche il kernel deve naturalmente fornire il supporto di rete! 336 13.6 La variabile /etc/rc.config ­ configurazione del sistema (vengono numerate cominciando da 0); in un computer con due schede, il valore dovrebbe essere NETCONFIG="_0 _1". In un computer senza scheda di rete, la riga rimane vuota. * IPADDR_0=193.141.17.202 L'indirizzo IP per la prima scheda di rete. * NETDEV_0=eth0 Il nome del primo dispositivo di rete (normalmente, una scheda di rete Ether- net, da cui il parametro eth0). Se il computer dispone di più di una scheda di rete, vengono inizializzate analogamente le variabili NETDEV_1 fino a NETDEV_3. * IFCONFIG_0="193.141.17.205 broadcast 193.141.17.255 netmask 255.255.255.192" Comando di configurazione per il primo dispositivo di rete. Le impostazioni necessarie possono comodamente essere eseguite con YaST. Se avete più di una scheda di rete, inserite qui le righe di comando nelle relative variabili. * CLOSE_CONNECTIONS=false Se si trova su true e il "Runlevel" è 0 o 6 (halt o reboot), /sbin/init.d/route invia un SIGTERM a tutti i processi con un collegamento aperto "remote tcp" oppure "udp". * IP_DYNIP=no Attivare il "dynamic IP patch" all'avvio; con yes, lo skript /sbin/init.d/boot, libera questo patch tramite una registrazione nel filesystem /proc. * IP_TCP_SYNCOOKIES=yes Attivare la protezione contro "Syn Flooding" (ingl. syn flood protection). * IP_FORWARD=no Se il computer deve inoltrare notizie attraverso due interfacce della rete, si deve sistemare IP_FORWARD su yes; con un "Router" o con "Masquerading" ciò non è benvisto o meglio non è necessario. Lo script /sbin/init.d/ boot libera "IP-Forwarding" tramite una registrazione nel filesystem /proc. * FQHOSTNAME=terra.cosmo.com Il nome completo del computer; "il nome completo" è composto dal nome del computer e quello del dominio. * SEARCHLIST=cosmo.com Questa impostazione viene usata per completare un hostname incompleto. Se, p.e., viene usato il nome venere, si controlla se venere.cosmo.com sia un nome valido. Questa variabile deve venire inizializzata se volete usare DNS! Indicate qui almeno il Vostro nome di dominio. Nella "searchlist" potete inserire fino a tre parametri, separati da spazi. * NAMESERVER=192.168.0.1 L'indirizzo del nameserver da consultare nel caso in cui il nome del computer debba venire tramutato in indirizzo IP. Potete indicare fino a tre nameserver, i cui indirizzi sono divisi l'uno dall'altro da uno spazio. 337 13 Il concetto boot di SuSE Linux Se volete usare un nameserver, dovete configurare anche la variabile SEARCHLIST! * ORGANIZATION="Duesentrieb, Entenhausen" Il testo qui impostato appare in ogni news-posting. * NNTPSERVER=sole.cosmo.com L'indirizzo del news-server; se ricevete la Vostra posta per UUCP e se questa viene memorizzata localmente, inserite localhost. * IRCSERVER=sole.cosmo.com Potete indicare più server IRC (Internet Relay Chat). I nomi dei singoli server vengono separati da uno spazio. * START_FW=no Il firewall viene attivato. * START_INETD=yes Attiva il super-daemon inetd. Questo deamon reagisce alle richieste di colle- gamento degli altri computer e, in base alla porta scelta, inizializza il servizio relativo. Ne avete bisogno se volete fare immetterVi nel sistema tramite tel- net o rlogin. Se, invece, volete impiegare xinetd, mettete START_INETD su no (vd. 13). * START_XINETD=no Attiva il super-daemon xinetd, l'inetd esteso (vedi 13). Se si vuole usare que- sto "extended Internet services daemon", si deve impostare START_INETD su no. * SENDMAIL_xxxx= Le variabili di sendmail, * START_POSTFIX=no Il mail-server postfix viene attivato. Ad esso apartengono POSTFIX_CREATECF, POSTFIX_RELAYHOST, POSTFIX_MASQUERADE_DOMAIN und POSTFIX_LOCALDOMAINS. * SMTP=no Stabilisce se debba girare un daemon sendmail. Non ne avete bisogno se ricevete le Vostre posta elettronica esclusivamente via UUCP, a meno che, dopo ogni polling, non attiviate sendmail -q (l'rmail attivato da UUCP colloca solo la posta in attesa di essere ricevuta ma non la inoltra). In una rete in cui le directory mail-spool sono state "montate" via NFS e il singolo computer abbia di conseguenza solo posta da inviare, questa variabile può essere settata su no; lo stesso vale per l'uso di un "Relay Host". * START_PORTMAP=no Stabilisce se debba essere inizializzato il port mapper, necessario se il computer viene usato come server NFS senza il port mapper, i daemon rpc.mountd e rpc.nfsd non sono in grado di funzionare; il port mapper viene perciò inizializzato anche se questa variabile si trova su no ma l'NFS_SERVER si trova su yes! Il port mapper è necessario anche per l'uso di NIS. 338 13.6 La variabile /etc/rc.config ­ configurazione del sistema * NFS_SERVER=no Se il computer viene usato come server NFS, questa variabile si deve trovare su yes. In questo modo fa sì che vengano inizializzati i daemon rpc.nfsd e rpc.mountd. Per ulteriori descrizioni del server NFS (p.e. la determinazione delle * REEXPORT_NFS=no Settate questa variabile su yes per riesportare directory NFS cui è stato fatto il mount o per riesportare i volumi NetWare. * NFS_SERVER_UGID=no Se volete inizializzare il daemon (rcp.ugidd) per trasmormare ID utente e di gruppi in nuove ID; questa variabile funziona solo se è settato su yes. * USE_KERNEL_NFSD="no" Una volta installato il pacchetto knfsd, può venire usato il daemon NFS (basato sul kernel). Con questo daemon NFS è possibile il locking. Vedi anche la variabile corrispondente USE_KERNEL_NFSD_NUMBER. * START_AMD=no Inizializzare l'automounter; a meno che non sia assolutamente indispensa- bile, in questo caso è preferibile scegliere il modulo del kernel autofs e impostare la variabile START_AUTOFS su yes. * START_AUTOFS=no Con questo daemon è possibile fare automaticamente il mount di directo- ry raggiungibili tramite l'NFS e di directory locali (dispositivi CD-ROM, dischetti, etc.). * START_RWHOD=no Stabilisce se debba venire inizializzato l'rwhod. Attenzione: rwhod invia regolarmente dei "Broadcast"; ciò può portare alla creazione di collegamenti "on demand" (ISDN e/o diald) che possono aumentare i costi! * START_ROUTED=no Il route daemon è necessario solo per route dinamici (vedi pagina di manuale di routed (man routed)). Attenzione: questo servizio attiva connessioni di rete ogni 30 secondi; se il computer è collegato ad Internet tramite dialup, (p.e. ISDN), non ha senso settare questa variabile su yes. * START_NSCD=yes Al boot, inizializzare NSCD (ingl. Name Service Caching Daemon). * START_NAMED=no Stabilisce se debba venire inizializzato il name-daemon. * CREATE_YP_CONF=yes Stabilisce se, in base alle due registrazioni seguenti, SuSEconfig debba crea- re automaticamente i file necessari per l'utilizzo di YP. Inoltre, se necessario, vengono adattati anche i file /etc/passwd e /etc/group. 339 13 Il concetto boot di SuSE Linux * YP_DOMAINNAME=cosmo.com Il domain-name YP del computer. * YP_SERVER=sole.cosmo.com Il nome del server NIS. * USE_NIS_FOR_RESOLVING=no Usare NIS per la risoluzione del nome del computer. * START_CIPED=no Inizializzare l' CIPE-Daemon per un IPIP-tunnel. * START_DHCPD=no Inizializzare il server per DHCP (ingl. Dynamic Host Configuration Protocol). Ad esso apartengono le variabili DHCPD_INTERFACE, START_DHCRELAY e DHCRELAY_SERVERS. * START_LDAP=no Inizializzare il LDAP-server. * START_RADIUSD=yes Inizializzare il radius accounting e l'authentication service. Questo servi- zio viene utilizzato p.e. da determinati server dialin per eseguire l'autenti- ficazione dell'utente; vedi anche la documentazione su /usr/share/doc/ packages/radiusd. * START_LPD=yes Inizializzare lpd (ingl. Line Printer Daemon); di norma è necessario per poter stampare. * START_NNTPD=yes Inizializzare nntpd; necessario per garantire l'accesso tramite NNTP alle news locali. * START_INN=no Inizializzare il news server INN Newsserver. * START_ATD=yes Stabilisce se debba venire inizializzato il daemon AT. Questo daemon per- mette di far eseguire determinati job in un tempo prestabilito. Al contrario del daemon Cron, si tratta della singola esecuzione di una determinata azione. * START_HTTPD=yes Indica se debba venire inizializzato il daemon http Apache. * START_HTTPSD=yes Indica se debba venire inizializzato l'Apache httpsd (Webserver "sicuro") con SSL e PHP3. * START_SQUID=no Indica se debba venire inizializzato Squid. 340 13.6 La variabile /etc/rc.config ­ configurazione del sistema * DOC_HOST="" Inserite qui il nome del server (p.e. "sole.cosmo.com"), nel caso che debba venire usato un server centrale di documentazione che tiene pronto il sistema d'aiuto di SuSE. * DOC_SERVER=no Sul server di documentazione questa variabile deve trovarsi su yes; do- podiché, inserite le indicazioni in DOC_ALLOW (vedi sotto), viene messo a disposizione l'accesso ad http-rman e, a seconda delle impostazioni setta- te, vengono cambiati gli index file del server HTTP; invece di indicare su http://localhost, essi indicheranno su http://`hostname-f`. * DOC_ALLOW="LOCAL" Lista dei computer/domini (come esempio per /etc/hosts.allow), a cui è permesso l'accesso al server di documentazione. Questa variabile viene interpretata solo se DOC_SERVER si trova su yes. Qui può venire registrato anche un subdomain (p.e. con ".cosmo.com"). * HTTP_PROXY="" Se questa variabile si trova nella modalità adeguata, alcuni programmi (p.e. lynx, arena o wget) posso usare i proxy server; SuSEconfig è in grado di metterli in /etc/SuSEconfig/* (vd. banca dati di supporto http://www.suse.de/Support/sdb/lynx_proxy.html). Esempio: "http://proxy.provider.de:3128/". * FTP_PROXY="" Proxy per FTP. Esempio: "http://proxy.provider.de:3128/". * GOPHER_PROXY="" Proxy per Gopher. Esempio: "http://proxy.provider.de:3128/". * NO_PROXY="" Tramite questa variabile, è possibile escludere i (sub-)domini dal proxy. Esempio: "www.me.de, do.main, localhost". * START_HYLAFAX=no Inizializza Hylafax. Prima di porre questa variabile su yes, deve venire essere lanciato il programma faxsetup. * START_SMB=no Inizializzare il server di samba; Windows file server e server della stampante. * START_MARSNWE=no Indica se debba venire inizializzata l'emulazione del server novell. * START_SSHD=yes Inizializzare il "Secure Shell Daemon"; prima dello start assicurateVi che esista una "host key" ­ vedi anche la documentazione sotto /usr/share/ doc/packages/ssh e le manpages. 341 13 Il concetto boot di SuSE Linux * START_XNTPD=yes Inizializza il "Network Time Protocol (NTP) Daemon" dall' pacchetto xntp; la configurazione stessa avviene tramite il file /etc/ntp.conf. Gli orologi radiocomandati hanno indirizzi come 127.127.T.U; qui, T in- dica il tipo di orologio e U è il "numero unit" ("unit number") che va dal- lo 0 al 3. La maggioranza di questi orologi necessita di un'interfaccia se- riale o di un bus speciale. Il device file previsto per questo (Device) vie- ne indicato tramite un link simbolico /dev/device-U sull'hardware rea- le; in questo caso, U deve coincidere con il suddetto "numero unit". Vedi anche /usr/share/doc/packages/xntp/html/refclock.htm. Esem- pio: Chi possiede un orologio radiocomandato collegato ad un'interfaccia seriale, ha bisogno anche del corrispondente link simbolico (symlink). Per la denominazione da attribuirgli, consultate refclock.htm. Per le restanti riceventi DCF77, è responsabile l'unità di disco "PARSE" ## Type 8 Generic Reference Driver (PARSE) ## Address: 127.127.8.u ## Serial Port: /dev/refclock-u Chi perciò scelga server 127.127.8.0 tramite una impostazione ntp. conf, non ha bisogno di un link simbolico (symlink) da /dev/refclock-0 a ttySx ­ qui, x indica l'interfaccia a cui è collegato l'orologio telecomandato. * XNTPD_INITIAL_NTPDATE="" Lista dei server NTP da cui poter prelevare l'ora prima di inizializzare il ser- ver locale; per esempio "sole.cosmo.com". Se avete più server, separateli con uno spazio. * DISPLAYMANAGER="" Descrive come deve avvenire il login, se nella console di testo o in moda- lità grafica su X Window System. I valori possibili sono: xdm (Standard- Displaymanager dell'X Window System), kdm (Displaymanager di KDE) o ""; nell'ultimo caso si presuppone che non si desideri un login grafico e il computer viene inizializzato nel runlevel 2 (console di testo). * KDM_SHUTDOWN=root Indica quali utenti siano abilitati ad eseguire il reeboot o shutdown del com- puter. I valori possibili sono: root (`root' deve identificarsi con la pas- sword), all (tutti gli utenti), none (nessuno è abilitato a fare il shutdown tramite kdm) e local (è possibile fare il shutdown del computer se l'utente ha fatto un login locale e non tramite rete). Se la variabile si trova su "", il valore root viene considerato come default. * CONSOLE_SHUTDOWN=reboot § ¤ Indica il modo di reagire del processo init alla combinazione dei tasti § ¤ § ¤ ¦Ctrl ¥ + ¦Alt ¥+ ¦Entf ¥ . Valori possibili sono: reboot (si esegue lo shutdown del computer e subito il reboot), halt (si fa lo shutdown del computer sen- za ripartire nuovamente) e ignore (la combinazione dei tasti non ha alcun effetto). Il valore di default è reboot. 342 13.6 La variabile /etc/rc.config ­ configurazione del sistema * START_AXNET=no Server per Applixware. * START_MYSQL=no Server per MySQL. * START_ADABAS=no Server per Adabas. Le seguenti variabili appartengono ad Adabas: DBROOT, DBNAME, DBUSER e DBCONTROL (vd. i relativi commenti nel file rc. config). * START_DB2=no Server per DB2. * START_ARKEIA=no Inizializzare il backup server Arkeia. * START_ARGUS=no Server per Argus (Monitorizza lo stato della rete). * ARGUS_INTERFACE=eth0 L'interfaccia di rete che deve venire monitorata da Argus. * ARGUS_LOGFILE="/var/log/argus.log" Il logfile di Argus. Questo file può diventare molto grande! * CRON=yes Regola lo start e la fine del Cron-Daemon. Questo daemon inizializza de- terminati programmi automaticamente e in tempi prestabiliti. Il Cron vie- ne inizializzato solo nei runlevel 2 e 3! Ne è consigliabile l'attivazione su computer sempre in funzione. Un'alternativa o completamento può essere il daemon AT (vedi 13 a pagina 340). Nota Poichè esistono una quantità di opzioni che richiedono l'avvio regolare di determinati programmi, su ogni sistema dovrebbe venire attivato il Cron-Daemon. Servizi locali di assistenza * RUN_UPDATEDB=yes Stabilisce se la banca dati per locate (locate) debba venire aggiornata ogni notte; locate serve a trovare velocemente i file nel sistema. Si può ot- tenere una "sintonizzazione" precisa del programma updatedb tramite le variabili RUN_UPDATEDB_AS, UPDATEDB_NETPATHS, UPDATEDB_NETUSER e UPDATEDB_PRUNEPATHS (vd. commenti in rc.config). Se il Vo- stro computer non lavora ininterrottamente, questo aggiornamento viene probabilmente eseguito subito dopo il boot; vd. sezione 12.3.2 a pagina 308. 343 13 Il concetto boot di SuSE Linux * REINIT_MANDB=yes Nel caso che la banca dati della manpage di cron.daily debba venire aggiornata giornalmente. * CREATE_INFO_DIR=yes Stabilisce se debba venire creato automaticamente il file /usr/info/dir, il quale forma per così dire un indice di tutte le pagine di informazioni esisten- ti. Ciò ha senso dopo l'installazione di un pacchetto contenente un pagina di informazioni. Tenete presente che per l'utilizzo di questa proprietà deve essere installato il programma perl. * CHECK_PERMISSIONS=set Stabilisce se i diritti del file debbano venire controllati con il file /etc/ permissions. Con set vengono corrette le impostazioni errate, con warn vengono creati solo "avvertimenti" con no viene disattivata del tutto questa proprietà. * PERMISSION_SECURITY="easy local" In /etc/permissions.paranoid, /etc/permissions.secure e /etc/permissions.easy, sono preimpostati tre gradi di sicurezza. Inserite qui easy, secure o /etc/permissions.paranoid; potete creare configurazioni personalizzate, p.e., su /etc/permissions.local ed aggiungere quindi l'estensione come valore su local. * RPMDB_BACKUP_DIR=/var/adm/backup/rpmdb Stabilisce dove cron.daily debba scrivere i backup della banca dati RPM; se non desiderate alcun backup, settate questa variabile su "". * MAX_RPMDB_BACKUPS=5 Stabilisce la quantità dei backup della banca dati RPM. * DELETE_OLD_CORE=yes Corefiles sono "riproduzioni" degli spazi di memoria occupati da programmi interrotti a causa di una violazione della protezione della memoria; queste riproduzioni servono alla ricerca degli errori. Qui potete settare la configu- razione in modo che eventuali corefile vengano cercati e automaticamente cancellati. * MAX_DAYS_FOR_CORE=7 Stabilisce il numero massimo di giorni in cui possano rimanere su disco rigido i corefile prima di venire automaticamente cancellati. * MAX_DAYS_FOR_LOG_FILES=365 Se un log-file (soprattutto sotto /var/log) ha raggiunto una determinata capacità , esso viene automaticamente compresso ed archiviato e una mail avvisa il root dell'accaduto. Con questo parametro potete stabilire per quan- to tempo debbano essere mantenuti i file di sicurezza prima di venire au- tomaticamente cancellati. Se impostate il valore su 0, non avviene alcuna compressione o archiviazione; si continua a riscrivere sui file che possono così raggiungere un volume considerevole! Con less potete sempre leggere i file di sicurezza compressi. 344 13.6 La variabile /etc/rc.config ­ configurazione del sistema * MAX_DAYS_IN_TMP=30 Viene quotidianamente controllato se nelle directory tmp esistano file a quali non sia possibile accedere per più del tempo stabilito (espresso in giorni). Se non si acceduto per più tempo ad uno dei file di questa directory, esso viene automaticamente cancellato. * TMP_DIRS_TO_CLEAR="/tmp /var/tmp" Indicazione di quelle directory nelle quali cercare quotidianamente vecchi file. * OWNER_TO_KEEP_IN_TMP="root bs" I file degli utenti qui indicati non devono venire cancellati dalla directory tmp anche se non vi si è avuto accesso per più tempo. * CWD_IN_ROOT_PATH=no Attuale directory (ingl. current working directory) nel path di `root'. * ROOT_LOGIN_REMOTE=yes Se si deve permettere il login per il`root' tramite telnet. * SUSEWM_UPDATE=yes Stabilisce se SuSEconfig debba adattare i file sistemici di configurazione per i Windowmanager in base ai pacchetti software installati. Un'impostazione precisa è possibile tramite le variabili SUSEWM_WM, SUSEWM_MWM, SUSEWM_XPM, SUSEWM_ADD e SUSEWM_COMPAT. 345 13 Il concetto boot di SuSE Linux 346 A Manual-Page di e2fsck A Manual-Page di e2fsck E2FSCK(8) E2FSCK(8) NAME e2fsck - check a Linux second extended file system SYNOPSISe2fsck [ -pacnyrdfvstFSV ] [ -b superblock ] [ -B block- size ] [ -l|-L bad_blocks_file ] [ -C fd ] device DESCRIPTION e2fsck is used to check a Linux second extended file sys- tem. device is the special file corresponding to the device (e.g /dev/hdc1). OPTIONS-a This option does the same thing as the -p option. It is provided for backwards compatibility only; it is suggested that people use -p option whenever possible. -b superblock Instead of using the normal superblock, use an alternative superblock specified by superblock. This option is normally used when the primary superblock has been corrupted. The location of the backup superblock is dependent on the filesystem's blocksize. For filesystems with 1k blocksizes, a backup superblock can be found at block 8193; for filesystems with 2k blocksizes, at block 16384; and for 4k blocksizes, at block 32768. If an alterna- tive superblock is specified and the filesystem is not opened read-only, e2fsck will make sure that the primary superblock is updated appropriately upon completion of the filesystem check. -B blocksize Normally, e2fsck will search for the superblock at various different block sizes in an attempt to find the appropriate block size. This search can be fooled in some cases. This option forces e2fsck to only try locating the superblock at a particular blocksize. If the superblock is not found, e2fsck will terminate with a fatal error. -c This option causes e2fsck to run the badblocks(8) program to find any blocks which are bad on the filesystem, and then marks them as bad by adding them to the bad block inode. 347 A Manual-Page di e2fsck -C This option causes e2fsck to write completion information to the specified file descriptor so that the progress of the filesystem check can be monitored. This option is typically used by pro- grams which are running e2fsck. If the file descriptor specified is 0, e2fsck will print a com- pletion bar as it goes about its business. This requires that e2fsck is running on a video console or terminal. -d Print debugging output (useless unless you are debugging e2fsck). -f Force checking even if the file system seems clean. -F Flush the filesystem device's buffer caches before beginning. Only really useful for doing e2fsck time trials. -l filename Add the blocks listed in the file specified by filename to the list of bad blocks. The format of this file is the same as the one generated by the badblocks(8) program. -L filename Set the bad blocks list to be the list of blocks specified by filename. (This option is the same as the -l option, except the bad blocks list is cleared before the blocks listed in the file are added to the bad blocks list.) -n Open the filesystem read-only, and assume an answer of 'No' to all questions. Allows e2fsck to be used non-interactively. (Note: if the -c, -l, or -L options are specified in addition to the -n option, then the filesystem will be opened read-write, to permit the bad-blocks list to be updated. However, no other changes will be made to the filesystem.) -p Automatically repair ("preen") the file system without any questions. -r This option does nothing at all; it is provided only for backwards compatibility. -s This option will byte-swap the filesystem so that it is using the normalized, standard byte-order (which is i386 or little endian). If the filesys- tem is already in the standard byte-order, e2fsck will take no action. -S This option will byte-swap the filesystem, regard- less of its current byte-order. -t Print timing statistics for e2fsck. If this option is used twice, additional timing statistics are printed on a pass by pass basis. -v Verbose mode. 348 A Manual-Page di e2fsck -V Print version information and exit. -y Assume an answer of 'Yes' to all questions; allows e2fsck to be used non-interactively. EXIT CODE The exit code returned by e2fsck is the sum of the follow- ing conditions: 0 - No errors 1 - File system errors corrected 2 - File system errors corrected, system should be rebooted if file system was mounted 4 - File system errors left uncorrected 8 - Operational error 16 - Usage or syntax error 128 - Shared library error SIGNALSThe following signals have the following effect when sent to e2fsck. SIGUSR1This signal causes e2fsck to start displaying a completion bar. (See discussion of the -C option.) SIGUSR2This signal causes e2fsck to stop displaying a com- pletion bar. REPORTING BUGS Almost any piece of software will have bugs. If you man- age to find a filesystem which causes e2fsck to crash, or which e2fsck is unable to repair, please report it to the author. Please include as much information as possible in your bug report. Ideally, include a complete transcript of the e2fsck run, so I can see exactly what error messages are displayed. If you have a writeable filesystem where the transcript can be stored, the script(1) program is a handy way to save the output of e2fsck to a file. It is also useful to send the output of dumpe2fs(8). If a specific inode or inodes seems to be giving e2fsck trou- ble, try running the debugfs(8) command and send the out- put of the stat(1u) command run on the relevant inode(s). If the inode is a directory, the debugfs dump command will allow you to extract the contents of the directory inode, which can sent to me after being first run through uuen- code(1). Always include the full version string which e2fsck dis- plays when it is run, so I know which version you are run- ning. AUTHOR This version of e2fsck was written by Theodore Ts'o . 349 A Manual-Page di e2fsck SEE ALSOmke2fs(8), tune2fs(8), dumpe2fs(8), debugfs(8) E2fsprogs version 1.19 July 2000 3 350 B La Licenza Pubblica GNU (GPL) B La Licenza Pubblica GNU (GPL) Questa e` una traduzione italiana non ufficiale della Licenza Pubblica Generale GNU. Non e` pubblicata dalla Free Software Foundation e non ha valore legale nell'esprimere i termini di distribuzione del software che usa la licenza GPL. Solo la versione originale in inglese della licenza ha valore legale. Ad ogni modo, speriamo che questa traduzione aiuti le persone di lingua italiano a capire meglio il significato della licenza GPL. This is an unofficial translation of the GNU General Public License into Italian. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GNU GPL­only the original English text of the GNU GPL does that. However, we hope that this translation will help Italian speakers understand the GNU GPL better. LICENZA PUBBLICA GENERICA (GPL) DEL PROGETTO GNU Versione 2, Giugno 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Traduzione curata dal gruppo Pluto e da ILS, ultimo aggiornamento, 30 luglio 1998. Tutti possono copiare e distribuire copie letterali di questo documento di licenza, ma non e` lecito modificarlo. Preambolo Le licenze per la maggioranza dei programmi hanno lo scopo di togliere all'uten- te la liberta` di condividerlo e di modificarlo. Al contrario, la Licenza Pubblica Generica GNU e` intesa a garantire la liberta` di condividere e modificare il free software, al fine di assicurare che i programmi siano "liberi" per tutti i loro utenti. Questa Licenza si applica alla maggioranza dei programmi della Free Software Foundation e ad ogni altro programma i cui autori hanno scelto questa Licenza. Alcuni altri programmi della Free Software Foundation sono invece coperti dal- la Licenza Pubblica Generica per Librerie. Chiunque puo` usare questa Licenza per i propri programmi. Quando si parla di "free software", ci si sriferisce alla liberta`, non al prezzo. Le nostre Licenze (la GPL e la LGPL) sono progettate per assicurarsi che ciascuno abbia la liberta` di distribuire copie del free software (e farsi pagare per questo, se vuole), che ciascuno riceva il codice sorgente o che lo possa ottenere se lo desidera, che ciascuno possa modificare il programma o usarne delle parti in nuovi programmi "liberi" e che ciascuno sappia di potere fare queste cose. 351 B La Licenza Pubblica GNU (GPL) Per proteggere i diritti dell'utente, abbiamo bisogno di creare delle restrizioni che vietino a chiunque di negare questi diritti o di chiedere di rinunciarvi. Que- ste restrizioni si traducono in certe responsabilita` per chi distribuisce copie del software e per chi lo modifica. Per esempio, chi distribuisce copie di un Programma coperto da GPL, sia gra- tis sia in cambio di un compenso, deve dare ai destinatari tutti i diritti che ha ricevuto. Deve anche assicurarsi che i destinatari ricevano o possano ricevere il codice sorgente. E deve mostrar loro queste condizioni di Licenza, in modo che conoscano i loro diritti. Proteggiamo i diritti dell'utente in due modi: (1) proteggendo il software con un copyright, e (2) offrendo una Licenza che offre il permesso legale di copiare, distribuire e/o modificare il Programma. Infine, per proteggere ogni autore e noi stessi, vogliamo assicurarci che ognuno capisca che non ci sono garanzie per i programmi coperti da GPL. Se il Program- ma viene modificato da qualcun altro e ridistribuito, vogliamo che gli acquiren- ti sappiano che cio` che hanno non e` l'originale, in modo che ogni problema introdotto da altri non si rifletta sulla reputazione degli autori originari. Infine, ogni programma libero e` costantemente minacciato dai brevetti sui pro- grammi. Vogliamo evitare il pericolo che chi ridistribuisce un Programma li- bero ottenga brevetti personali, rendendo percio` il Programma una cosa di sua proprieta`. Per prevenire questo, abbiamo chiarito che ogni prodotto brevettato debba essere distribuito per il libero uso da parte di chiunque, o non distribuito affatto. Seguono i termini e le condizioni precisi per la copia, la distribuzione e la modifica. LICENZA PUBBLICA GENERICA GNU TERMINI E CONDIZIONI PER LA COPIA, LA DISTRIBUZIONE E LA MODIFICA 0. Questa Licenza si applica a ogni Programma o altra opera che contenga una nota da parte del detentore del copyright che dica che tale opera puo` distribuita sotto i termini di questa Licenza Pubblica Generica. Il termine "Programma" nel seguito indica ognuno di questi programmi o lavori, e l'espressione "lavoro basato sul Programma" indica sia il Programma sia ogni opera considerata "deri- vata" in base alla legge sul Copyright: cioe` un lavoro contenente il programma o una porzione di esso, sia letteralmente sia modificato e/o tradotto in un'altra lingua; da qui in avanti, la traduzione e` in ogni caso considerata una "modifica". Vengono ora elencati i diritti dei detentori di licenza. Attivita` diverse dalla copiatura, distribuzione e modifica non sono coperte da questa Licenza e sono al di fuori della sua influenza. L'atto di eseguire il pro- gramma non viene limitato, e l'output del programma e` coperto da questa Li- cenza solo se il suo contenuto costituisce un lavoro basato sul Programma (indi- pendentemente dal fatto che sia stato creato eseguendo il Programma). In base alla natura del Programma il suo output puo` essere o meno coperto da questa Licenza. 1. E` lecito copiare e distribuire copie letterali del codice sorgente del Program- ma cosi` come viene ricevuto, con qualsiasi mezzo, a condizione che venga 352 B La Licenza Pubblica GNU (GPL) riprodotta chiaramente su ogni copia una appropriata nota di copyright e di assenza di garanzia; che si mantengano intatti tutti i riferimenti a questa Li- cenza e all'assenza di ogni garanzia; che si dia a ogni altro destinatario del Programma una copia di questa Licenza insieme al Programma. E` possibile richiedere un pagamento per il trasferimento fisico di una co- pia del Programma, e` anche possibile a propria discrezione richiedere un pagamento in cambio di una copertura assicurativa. 2. E` lecito modificare la propria copia o copie del Programma, o parte di esso, creando percio` un lavoro basato sul Programma, e copiare o distribuire que- ste modifiche e questi lavori sotto i termini del precedente punto 1, a patto che anche tutte queste condizioni vengano soddisfatte: a) Bisogna indicare chiaramente nei file che si tratta di copie modificate e la data di ogni modifica. b) Bisogna fare in modo che ogni lavoro distribuito o pubblicato, che in parte o nella sua totalita` derivi dal Programma o da parti di esso, sia globalmente utilizzabile da terze parti secondo le condizioni di questa licenza. c) Se di solito il programma modificato legge comandi interattivamente quando eseguito, bisogna fare in modo che all'inizio dell'esecuzione in- terattiva usuale, stampi un messaggio contenente una appropriata nota di copyright e di assenza di garanzia (oppure che specifichi il tipo di garanzia che si offre). Il messaggio deve inoltre specificare agli utenti che possono ridistribuire il programma nelle condizioni qui descritte e deve indicare come reperire questa licenza. Se pero` il programma di partenza e` inte- rattivo ma normalmente non stampa tale messaggio, non occorre che un lavoro derivato lo stampi. Questi requisiti si applicano al lavoro modificato nel suo complesso. Se sus- sistono parti identificabili del lavoro modificato che non siano derivate dal Programma e che possono essere ragionevolmente considerate lavori indi- pendenti, allora questa Licenza e i suoi termini non si applicano a queste par- ti quando vengono distribuite separatamente. Se pero` queste parti vengono distribuite all'interno di un prodotto che e` un lavoro basato sul Programma, la distribuzione di questo prodotto nel suo complesso deve avvenire nei ter- mini di questa Licenza, le cui norme nei confronti di altri utenti si estendono a tutto il prodotto, e quindi ad ogni sua parte, chiunque ne sia l'autore. Sia chiaro che non e` nelle intenzioni di questa sezione accampare diritti su lavori scritti interamente da altri, l'intento e` piuttosto quello di esercitare il diritto di controllare la distribuzione di lavori derivati o dal Programma o contenenti esso. Inoltre, se il Programma o un lavoro derivato da esso viene aggregato ad un altro lavoro non derivato dal Programma su di un mezzo di immagazzina- mento o di distribuzione, il lavoro non derivato non deve essere coperto da questa licenza. 3. E` lecito copiare e distribuire il Programma (o un lavoro basato su di esso, come espresso al punto 2) sotto forma di codice oggetto o eseguibile sotto i 353 B La Licenza Pubblica GNU (GPL) termini dei precedenti punti 1 e 2, a patto che si applichi una delle seguenti condizioni: a) Il Programma sia corredato dal codice sorgente completo, in una forma leggibile dal calcolatore e tale sorgente deve essere fornito secondo le regole dei precedenti punti 1 e 2 su di un mezzo comunemente usato per lo scambio di programmi. b) Il Programma sia accompagnato da un'offerta scritta, valida per almeno tre anni, di fornire a chiunque ne faccia richiesta una copia completa del codice sorgente, in una forma leggibile dal calcolatore, in cambio di un compenso non superiore al costo del trasferimento fisico di tale copia, che deve essere fornita secondo le regole dei precedenti punti 1 e 2 su di un mezzo comunemente usato per lo scambio di programmi. c) Il Programma sia accompagnato dalle informazioni che sono state ricevute riguardo alla possibilita` di avere il codice sorgente. Questa alternativa e` permessa solo in caso di distribuzioni non commerciali e solo se il programma e` stato ricevuto sotto forma di codice oggetto o eseguibile in accordo al precedente punto B. @end enumerate Per "codice sorgente completo" di un lavoro si intende la forma preferen- ziale usata per modificare un lavoro. Per un programma eseguibile, "codice sorgente completo" significa tutto il codice sorgente di tutti i moduli in es- so contenuti, piu` ogni file associato che definisca le interfacce esterne del programma, piu` gli script usati per controllare la compilazione e l'installa- zione dell'eseguibile. In ogni caso non e` necessario che il codice sorgente fornito includa nulla che sia normalmente distribuito (in forma sorgente o in formato binario) con i principali componenti del sistema operativo sotto cui viene eseguito il Programma (compilatore, kernel, e cosi` via), a meno che tali componenti accompagnino l'eseguibile. Se la distribuzione dell'eseguibile o del codice oggetto e` effettuata indi- cando un luogo dal quale sia possibile copiarlo, permettere la copia del co- dice sorgente dallo stesso luogo e` considerata una valida forma di distri- buzione del codice sorgente, anche se copiare il sorgente e` facoltativo per l'acquirente. 4. Non e` lecito copiare, modificare, sublicenziare, o distribuire il Programma in modi diversi da quelli espressamente previsti da questa Licenza. Ogni tentativo di copiare, modificare, sublicenziare o distribuire il Programma non e` autorizzato, e fara` terminare automaticamente i diritti garantiti da questa Licenza. D'altra parte ogni acquirente che abbia ricevuto copie, o diritti, coperti da questa Licenza da parte di persone che violano la Licenza come qui indicato non vedranno invalidare la loro Licenza, purche` si comportino conformemente ad essa. 5. L'acquirente non e` obbligato ad accettare questa Licenza, poiche` non l'ha firmata. D'altra parte nessun altro documento garantisce il permesso di mo- dificare o distribuire il Programma o i lavori derivati da esso. Queste azioni sono proibite dalla legge per chi non accetta questa Licenza; percio`, modi- ficando o distribuendo il Programma o un lavoro basato sul programma, si 354 B La Licenza Pubblica GNU (GPL) indica nel fare cio` l'accettazione di questa Licenza e quindi di tutti i suoi termini e le condizioni poste sulla copia, la distribuzione e la modifica del Programma o di lavori basati su di esso. 6. Ogni volta che il Programma o un lavoro basato su di esso vengono distribui- ti, l'acquirente riceve automaticamente una licenza d'uso da parte del licen- ziatario originale. Tale licenza regola la copia, la distribuzione e la modifica del Programma secondo questi termini e queste condizioni. Non e` lecito im- porre restrizioni ulteriori all'acquirente nel suo esercizio dei diritti qui garan- titi. Chi distribuisce programmi coperti da questa Licenza non e' comunque responsabile per la conformita` alla Licenza da parte di terze parti. 7. Se, come conseguenza del giudizio di una corte, o di una imputazione per la violazione di un brevetto o per ogni altra ragione (anche non relativa a questioni di brevetti), vengono imposte condizioni che contraddicono le con- dizioni di questa licenza, che queste condizioni siano dettate dalla corte, da accordi tra le parti o altro, queste condizioni non esimono nessuno dall'os- servazione di questa Licenza. Se non e` possibile distribuire un prodotto in un modo che soddisfi simultaneamente gli obblighi dettati da questa Licenza e altri obblighi pertinenti, il prodotto non puo` essere affatto distribuito. Per esempio, se un brevetto non permettesse a tutti quelli che lo ricevono di ridi- stribuire il Programma senza obbligare al pagamento di diritti, allora l'unico modo per soddisfare contemporaneamente il brevetto e questa Licenza e' di non distribuire affatto il Programma. Se parti di questo punto sono ritenute non valide o inapplicabili per qualsiasi circostanza, deve comunque essere applicata l'idea espressa da questo pun- to; in ogni altra circostanza invece deve essere applicato il punto 7 nel suo complesso. Non e` nello scopo di questo punto indurre gli utenti ad infrangere alcun bre- vetto ne` ogni altra rivendicazione di diritti di proprieta`, ne` di contestare la validita` di alcuna di queste rivendicazioni; lo scopo di questo punto e` solo quello di proteggere l'integrita` del sistema di distribuzione dei programmi liberi, che viene realizzato tramite l'uso della licenza pubblica. Molte per- sone hanno contribuito generosamente alla vasta gamma di programmi di- stribuiti attraverso questo sistema, basandosi sull'applicazione fedele di tale sistema. L'autore/donatore puo` decidere di sua volonta` se preferisce distri- buire il software avvalendosi di altri sistemi, e l'acquirente non puo` imporre la scelta del sistema di distribuzione. Questo punto serve a rendere il piu` chiaro possibile cio` che crediamo sia una conseguenza del resto di questa Licenza. 8. Se in alcuni paesi la distribuzione e/o l'uso del Programma sono limitati da brevetto o dall'uso di interfacce coperte da copyright, il detentore del copy- right originale che pone il Programma sotto questa Licenza puo` aggiungere limiti geografici espliciti alla distribuzione, per escludere questi paesi dalla distribuzione stessa, in modo che il programma possa essere distribuito solo nei paesi non esclusi da questa regola. In questo caso i limiti geografici sono inclusi in questa Licenza e ne fanno parte a tutti gli effetti. 355 B La Licenza Pubblica GNU (GPL) 9. All'occorrenza la Free Software Foundation puo` pubblicare revisioni o nuo- ve versioni di questa Licenza Pubblica Generica. Tali nuove versioni saran- no simili a questa nello spirito, ma potranno differire nei dettagli al fine di coprire nuovi problemi e nuove situazioni. Ad ogni versione viene dato un numero identificativo. Se il Programma as- serisce di essere coperto da una particolare versione di questa Licenza e "da ogni versione successiva", l'acquirente puo` scegliere se seguire le condi- zioni della versione specificata o di una successiva. Se il Programma non specifica quale versione di questa Licenza deve applicarsi, l'acquirente puo` scegliere una qualsiasi versione tra quelle pubblicate dalla Free Software Foundation. 10. Se si desidera incorporare parti del Programma in altri programmi liberi le cui condizioni di distribuzione differiscano da queste, e` possibile scrivere all'autore del Programma per chiederne l'autorizzazione. Per il software il cui copyright e` detenuto dalla Free Software Foundation, si scriva alla Free Software Foundation; talvolta facciamo eccezioni alle regole di questa Licen- za. La nostra decisione sara` guidata da due scopi: preservare la liberta` di tutti i prodotti derivati dal nostro free software e promuovere la condivisione e il riutilizzo del software in generale. NON C'E` GARANZIA 11. POICHE` IL PROGRAMMA E` CONCESSO IN USO GRATUITAMEN- TE, NON C'E` GARANZIA PER IL PROGRAMMA, NEI LIMITI PER- MESSI DALLE VIGENTI LEGGI. SE NON INDICATO DIVERSAMEN- TE PER ISCRITTO, IL DETENTORE DEL COPYRIGHT E LE ALTRE PARTI FORNISCONO IL PROGRAMMA "COSI` COM'E`", SENZA AL- CUN TIPO DI GARANZIA, NE` ESPLICITA NE` IMPLICITA; CIO` COMPRENDE, SENZA LIMITARSI A QUESTO, LA GARANZIA IMPLI- CITA DI COMMERCIABILITA` E UTILIZZABILITA` PER UN PARTI- COLARE SCOPO. L'INTERO RISCHIO CONCERNENTE LA QUALITA` E LE PRESTAZIONI DEL PROGRAMMA E` DELL'ACQUIRENTE. SE IL PROGRAMMA DOVESSE RIVELARSI DIFETTOSO, L'ACQUIREN- TE SI ASSUME IL COSTO DI OGNI MANUTENZIONE, RIPARAZIONE O CORREZIONE NECESSARIA. 12. NE` IL DETENTORE DEL COPYRIGHT NE` ALTRE PARTI CHE POS- SONO MODIFICARE O RIDISTRIBUIRE IL PROGRAMMA COME PERMESSO IN QUESTA LICENZA SONO RESPONSABILI PER DANNI NEI CONFRONTI DELL'ACQUIRENTE, A MENO CHE QUESTO NON SIA RICHIESTO DALLE LEGGI VIGENTI O APPAIA IN UN ACCORDO SCRITTO. SONO INCLUSI DANNI GENERICI, SPECIALI O INCIDEN- TALI, COME PURE I DANNI CHE CONSEGUONO DALL'USO O DAL- L'IMPOSSIBILITA` DI USARE IL PROGRAMMA; CIO` COMPRENDE, SENZA LIMITARSI A QUESTO, LA PERDITA DI DATI, LA CORRU- ZIONE DEI DATI, LE PERDITE SOSTENUTE DALL'ACQUIRENTE O DA TERZE PARTI E L'INABILITA` DEL PROGRAMMA A LAVORA- RE INSIEME AD ALTRI PROGRAMMI, ANCHE SE IL DETENTORE 356 B La Licenza Pubblica GNU (GPL) O ALTRE PARTI SONO STATE AVVISATE DELLA POSSIBILITA` DI QUESTI DANNI. FINE DEI TERMINI E DELLE CONDIZIONI Appendice: come applicare questi termini ai nuovi programmi Se si sviluppa un nuovo programma e lo si vuole rendere della maggiore utilita` possibile per il pubblico, la cosa migliore da fare e` rendere tale programma free software, cosicche` ciascuno possa ridistribuirlo e modificarlo sotto questi termini. Per fare questo, si inserisca nel programma la seguente nota. La cosa migliore da fare e` mettere la nota all`inizio di ogni file sorgente, per chiarire nel modo piu` efficiente possibile l'assenza di garanzia; ogni file dovrebbe contenere almeno la nota di copyright e l'indicazione di dove trovare l'intera nota. una riga per dire in breve il nome del programma e cosa fa Copyright (C) 19aa nome dell'autore Questo programma e` free software; e` lecito redistribuirlo e/o modificarlo se- condo i termini della Licenza Pubblica Generica GNU come e` pubblicata dalla Free Software Foundation; o la versione 2 della licenza o (a propria scelta) una versione successiva. Questo programma e` distribuito nella speranza che sia utile, ma SENZA AL- CUNA GARANZIA; senza neppure la garanzia implicita di NEGOZIABILITA` o di APPLICABILITA` PER UN PARTICOLARE SCOPO. Si veda la Licenza Pubblica Generica GNU per avere maggiori dettagli. Ognuno dovrebbe avere ricevuto una copia della Licenza Pubblica Generica GNU insieme a questo programma; in caso contrario, si scriva alla Free Soft- ware Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, Stati Uniti. Si aggiungano anche informazioni su come si puo` essere contattati tramite posta elettronica e cartacea. Se il programma e` interattivo, si faccia in modo che stampi una breve nota simile a questa quando viene usato interattivamente: Orcaloca versione 69, Copyright (C) 19aa Orcaloca non ha ALCUNA GARANZIA; per i dettagli si digiti `show g'. Questo e` free software, e ognuno e` libero di ridistribuirlo sotto certe condizioni; si digiti `show c' per dettagli. Gli ipotetici comandi "show g" e "show c" mostreranno le parti appro- priate della Licenza Pubblica Generica. Chiaramente, i comandi usati possono essere chiamati diversamente da "show g" e "show c" e possono anche essere selezionati con il mouse o attraverso un menu`; in qualunque modo pertinente al programma. Se necessario, si dovrebbe anche far firmare al proprio datore di lavoro (se si la- vora come programmatore) o alla propria scuola, se si e` studente, una "rinuncia al copyright" per il programma. Ecco un esempio con nomi fittizi: Yoyodinamica SPA rinuncia con questo documento ad ogni interesse al copy- right del programma `Orcaloca' (che svolge dei passi di compilazione) scritto da Giovanni Smanettone. 357 B La Licenza Pubblica GNU (GPL) firma di Primo Tizio , 1 April 1999 Primo Tizio, Presidente I programmi coperti da questa Licenza Pubblica Generica non possono essere incorporati all'interno di programmi proprietari. Se il proprio programma e` una libreria di funzioni, puo` essere piu` utile permettere di collegare applica- zioni proprietarie alla libreria. Se si ha questa intenzione consigliamo di usare la Licenza Generica Pubblica GNU per Librerie (LGPL) al posto di questa Licenza. 358 C Le combinazioni di tasti più importanti C Le combinazioni di tasti più importanti Questo capitolo Vi offre una piccola lista delle combinazioni di tasti più utili ed importanti. § ¤ ¦ ¥ Eseguire un comando a livello di finestra di comando. In tutti gli altri casi: a capo. § ¤ § ¤§ ¤ ¦Alt ¥+ ¦F1 ¥ -¦F6 ¥ Passare su un'altra console (in modo di testo). § ¤ § ¤§ ¤§ ¤ ¦Ctrl ¥+ ¦Alt ¥+¦F1 ¥ -¦F6 ¥ Su X11 e Dosemu: Passare su una delle console di testo § ¤ § ¤ ¦Alt ¥+ ¦F7 ¥ Tornare a X11. § ¤ § ¤ § ¤ ¦Ctrl ¥+ ¦Alt ¥+ ¦Backspace ¥ Terminare X11. § ¤ § ¤ ¦Shift ¥+ ¦PaginaSu ¥ Mostrare pagine precenti sulla console. Fun- ziona finché si rimane sulla stessa console. § ¤ § ¤ § ¤ § ¤ ¦Shift ¥+ ¦PaginaGiu ¥ Contrario di ¦Shift ¥+ ¦PaginaSu ¥ . § ¤ ¦ ¥ Mostra il comando precedentemente digitato in una riga d'inserzione. § ¤ § ¤ ¦ ¥ Nella finestra di comando, contrario di ¦ ¥. § ¤ § ¤ ¦Shift ¥ + ¤ ¦Alt ¥ + § Su X11: Passare sulla finestra più vicina (nel- ¦Cursore ¥ la direzione della freccia) del desktop virtua- le. Il numero di finestre a disposizione vie- ne fissato con il parametro DeskTopSize su .fvwm[2]rc. § ¤ § ¤ § ¤ ¦Ctrl ¥+ ¦Alt ¥+ ¦±(grey) ¥ Modifica la definizione dello schermo seguen- do l'ordine dei parametri del modo schermo su /etc/XF86Config. § ¤ § ¤ ¦Ctrl ¥+ ¦D ¥ uscire dal sistema. Corrisponde al coman- do exit. Il parametro su /etc/profile: ignoreeof=x. x indica il numero di ripetizioni necessario ad attivare il comando. § ¤ § ¤ ¦Shift ¥+ ¦Ctrl ¥ Tasto di compose ("Multi_key"). Tabella C.1: 359 C Le combinazioni di tasti più importanti 360 Bibliografia Bibliografia [Alm96] ALMESBERGER, Werner: LILO User's guide, 1996. ­ (siehe Datei /usr/share/doc/ lilo/user.dvi) [Bai97] BAILEY, Edward C.: Maximum RPM. Red Hat, 1997. ­ (ISBN 1-888172-78-9) [BBD+97] BECK, Michael; BÖHME, Harald; DZIADZKA, Mirko; KUNITZ, Ulrich; MAGNUS, Robert ; VERWORNER, Dirk: Linux-Kernel-Programmierung. 4. Aufl. Addison Wesley GmbH, 1997. ­ (ISBN 3-8273-1144-6) [BD98] BORKNER-DELCARLO, Olaf: Linux im kommerziellen Einsatz. Carl Hanser Verlag, 1998. ­ (ISBN 3-446-19465-7) [BD99] BORKNER-DELCARLO, Olaf: Das Samba-Buch. SuSE PRESS, 1999. ­ (ISBN 3-930419- 93-9) [CAR93] COSTALES, Bryan; ALLMAN, Eric ; RICKERT, Neil: sendmail. O'Reilly & Associates, Inc., 1993. ­ (ISBN 1-56592-056-2) [CB96] CHESWICK, William R.; BELLOVIN, Steven M.: Firewalls und Sicherheit im Internet. Addison Wesley GmbH, 1996. ­ (ISBN 3-89319-875-x) [CR91] CAMERON, Debra; ROSENBLATT, Bill: Learning GNU Emacs. O'Reilly & Associates, Inc., 1991. ­ (ISBN 0 937175-84-6) [CZ96] CHAPMAN, Brent; ZWICKY, Elisabeth D.: Einrichten von Internet Firewalls. Sicherheit im Internet gewährleisten.. O'Reilly & Associates, Inc., 1996. ­ (ISBN 3-930673312) [DR98] DAWSON, Terry; RUBINI, Alessandro: NET-3 HOWTO, v1.4, August 1998. ­ (siehe Datei /usr/share/doc/howto/en/NET-3-HOWTO.gz) [DR99] DAWSON, Terry; RUBINI, Alessandro: NET3-4 HOWTO, v1.5, August 1999. ­ (siehe Datei /usr/share/doc/howto/en/NET3-4-HOWTO.gz) [EH98] ECKEL, George; HARE, Chris: Linux ­ Internet Server. Carl Hanser Verlag, 1998. ­ (ISBN 3-446-19044-9) [FCR93] FANG, Chin; CROSSON, Bob ; RAYMOND, Eric S.: The Hitchhiker's Guide to X386/XFree86 Video Timing (or, Tweaking your Monitor for Fun and Profit), 1993. ­ (siehe Datei /usr/X11/lib/X11/doc/VideoModes.doc) [Fis00] FISCHER, Thorsten: GUI-Programmierung mit GTK+ (Handbuch und Referenz). SuSE PRESS, 2000. ­ ISBN (3­934678­42­4) [Fri93] FRISCH, Æleen: Essential System Administration. O'Reilly & Associates, Inc., 1993. ­ (ISBN 0-937175-80-3) 361 Bibliografia [Gil92] GILLY, Daniel: UNIX in a nutshell: System V Edition. O'Reilly & Associates, Inc., 1992. ­ (ISBN 1-56592-001-5) [GMR97] GOOSSENS, Michel; MITTELBACH, Frank ; RAHTZ, Sebastian: The LATEX Graphics Companion. Addison Wesley Longman, 1997. ­ (ISBN 0-201-85469-4) [GMS94] GOOSSENS, Michel; MITTELBACH, Frank ; SAMARIN, Alexander: The LATEX Companion. Addison Wesley GmbH, 1994. ­ (ISBN 0-201-54199-8) [GMS96] GOOSSENS, Michel; MITTELBACH, Frank ; SAMARIN, Alexander: Der LATEX-Begleiter. Addison Wesley GmbH, 1996. ­ (ISBN 3-89319-646-3) [GR99] GOOSSENS, Michel; RAHTZ, Sebastian: The LATEX Web Companion. Addison Wesley Longman, 1999. ­ (ISBN 0-201-43322-7) [Gri94] GRIEGER, W.: Wer hat Angst vorm Emacs?. Addison Wesley GmbH, 1994. ­ (ISBN 3-89319-620-X) [GS93] GARFINKEL, Simson; SPAFFORD, Gene: Practical UNIX Security. O'Reilly & Associates, Inc., 1993. ­ (ISBN 0-937175-72-2) [Hei96] HEIN, Jochen: Linux-Companion zur Systemadministration. Addison Wesley GmbH, 1996. ­ (ISBN 3-89319-869-5) [Her92] HEROLD, H.: UNIX Grundlagen. Addison Wesley GmbH, 1992. ­ (ISBN 3-89319-542-8) [HHMK96]HETZE, Sebastian; HOHNDEL, Dirk; MÜLLER, Martin ; KIRCH, Olaf: Linux Anwenderhandbuch. 6. Aufl. LunetIX Softfair, 1996. ­ (ISBN 3-929764-05-9) [Hof97] HOFFMANN, Erwin: EMail-Gateway mit qmail. In: iX 12 (1997), S. 108ff. [HR98] HÖLZER, Matthias; RÖHRIG, Bernhard: KDE ­ Das K Desktop Environment. Computer & Literatur, 1998. ­ (ISBN 3-932311-50-7) [HST97] HOLZ, Helmut; SCHMITT, Bernd ; TIKART, Andreas: Linux für Internet & Intranet. International Thomson Publishing, 1997. ­ (ISBN 3-8266-0342-7) [Hun95] HUNT, Craig: TCP/IP Netzwerk Administration. O'Reilly & Associates, Inc., 1995. ­ (ISBN 3-930673-02-9) [JT98] JOHNSON, Michael K.; TROAN, Erik W.: Anwendungen entwickeln unter Linux. Addison Wesley GmbH, 1998. ­ (ISBN 3-8273-1449-6) [Kie95] KIENLE, Micheal: TIS: Toolkit für anwendungsorientierte Firewall-Systeme. In: iX 8 (1995), S. 140ff. [Kir95] KIRCH, Olaf: LINUX Network Administrator's Guide. O'Reilly & Associates, Inc., 1995. ­ (ISBN 1-56592-087-2) [Kof99] KOFLER, Michael: Linux ­ Installation, Konfiguration, Anwendung. 4. Aufl. Addison Wesley GmbH, 1999. ­ (ISBN 3-8273-1475-5) [Kop94] KOPKA, Helmut: LATEX-Einführung. Addison Wesley GmbH, 1994. ­ (ISBN 3-89319- 664-1) 362 Bibliografia [Kopff] KOPKA, Helmut: LATEX. Addison Wesley GmbH, 1996 ff. ­ 3 Bde. (ISBN 3-8273-1025-3; 3-8273-1229-9; 3-89319-666-8) [Kun95] KUNITZ, Ulrich: Sicherheit fast kostenlos: Einrichtung eines kostenlosen Firewall-Systems. In: iX 9 (1995), S. 176ff. [Lam90] LAMB, Linda: Learning the vi Editor. O'Reilly & Associates, Inc., 1990. ­ (ISBN 0-937175-67-6) [Lef96] LEFFLER, Sam: HylaFAX Home Page, 1996 [Meg98] MEGGINSON, David: Structuring XML Documents. Prentice-Hall, 1998. ­ ISBN (0­13­ 642299­3) [Moh98] MOHR, James: UNIX-Windows-Integration. International Thomson Publishing, 1998. ­ (ISBN 3-8266-4032-2) [OT92] O'REILLY, Tim; TODINO, Grace: Managing UUCP and Usenet. O'Reilly & Associates, Inc., 1992. ­ (ISBN 0-937175-93-5) [Per94] PERLMAN, G.: Unix For Software Developers. Prentice-Hall, 1994. ­ (ISBN 13-932997- 8) [POL97] PEEK, Jerry; O'REILLY, Tim ; LOUKIDES, Mike: Unix Power Tools. 2. Aufl. Sebastopol : O'Reilly & Associates, Inc., 1997 [Pug94] PUGH, K.: UNIX For The MS-DOS User. Prentice-Hall, 1994. ­ (ISBN 13-146077-3) [Rub98] RUBINI, Alessandro: Linux-Gerätetreiber. O'Reilly & Associates, Inc., 1998. ­ (ISBN 3-89721-122-X) [SB92] SCHOONOVER, M.; BOWIE, J.: GNU Emacs. Addison Wesley GmbH, 1992. ­ (ISBN 0-201-56345-2) [Sch98] SCHEIDERER, Jürgen: Sicherheit Kostenlos - Firewall mit Linux. In: iX 12 (1998) [Sto98] STOLL, Clifford: Kuckucksei; Die Jagd auf die deutschen Hacker, die das Pentagon knackten. Fischer-TB.-Vlg., 1998. ­ (ISBN 3596139848) [The96] THE XFREE86TM-TEAM: XF86Config(4/5) - Configuration File for Xfree86TM, 1996. ­ Manual-Page zu XFree86TM [TSP93] TODINO, Grace; STRANG, John ; PEEK, Jerry: Learning the UNIX operating system. O'Reilly & Associates, Inc., 1993. ­ (ISBN 1-56592-060-0) [Wel94] WELSH, Matt: Linux Installation and Getting Started. 2. Aulf. SuSE GmbH, 1994. ­ (ISBN 3-930419-03-3) [WK95] WELSH, Matt; KAUFMAN, Lars: Running Linux. O'Reilly & Associates, Inc., 1995. ­ (ISBN 1-56592-100-3) [WK98] WELSH, Matt; KAUFMAN, Lars: Linux ­ Wegweiser zur Installation & Konfiguration. 2. Aufl. O'Reilly & Associates, Inc., 1998. ­ (ISBN 3-930673-58-4) [WM99] WALSH, Norman; MUELLNER, Leonard: DocBook. The Definiteve Guide. O'Reilly & Associates, Inc., 1999. ­ ISBN (1­56592­580­7) [WWH98] WITHERSPOON, Craig; WITHERSPOON, Coletta ; HALL, Jon: Linux für Dummies. International Thomson Publishing, 1998. ­ (ISBN 3-8266-2725-3) 363 Bibliografia 364 Indice analitico Indice analitico Simboli 3COM 3c590 . . . . . . . . . . . . . 270 YaST . . . . . . . . . . . . . . . . . . . . 73 /bin . . . . . . . . . . . . . . . . . . . . . . . 44 3COM 3c900 . . . . . . . . . . . . . 270 amministrazione gruppi . . . . . 84 /etc/conf.modules . . . . vedi Andries Brouwer . . . . . . . . . . . 60 /etc/modules.conf A apache . . . . . . . . . . . . . . . . . . 296 /etc/fstab . . . . . . . . . . . . . . 59 a2ps . . . . . . . . . . . . . . . . . . . . . 225 Apache . . . . . . . . . . . . . . . . . . . 307 /etc/inittab . . . . . . . . . . . 327 a2ps . . . . . . . . . . . . . . . . . . . . . 212 mod_php4 . . . . . . . . . . . . . . 299 /etc/modules.conf . . . . . 245 aaa_base . . . . . . . . . . . 295, 298 APM . . . . . . . . . . . . . . . . . . . . . 205 /etc/rc.config . . . . . 88, 333 Adabas . . . . . . . . . . . . . . . . . . . 343 Kernel, scegliere . . . . . . . . . 18 /etc/resolv.conf . . . . . . 298 Adabas D . . . . . . . . . . . . . . . . . . . 3 scegliere il kernel . . . . . . . . . 76 /sbin/SuSEconfig . . . . . . . . . . 332 Adaptec apmd . . . . . . . . . . . . . . . . . . . . 206 /sbin/init . . . . . . . . . . . . . . . . . 327 AHA-152x/151x/1505 . . 256, apmd . . . . . . . . . . . . . . . . 206, 207 /sbin/init.d/rc . . . . . . . . . . . . . 330 268 aps . . . . . . . . . . . . . . . . . 212, 222 Applixware . . . . . . . . . . . . . . 343 AHA-1540/1542 . . . . . . . . 268 apsfilter . . 74, 76, 222, 225, 226, Applixware . . . . . . . . . . . . 39, 40 AHA-154x . . . . . . . . . . . . . 257 229, 232 reboot . . . . . . . . . . . . . . . . . . 342 AHA-274x . . . . . . . . . . . . . 257 stampante rete . . . . . . . . . . 229 shutdown . . . . . . . . . . . . . . . . 342 AHA-284x . . . . . . . . . . . . . 257 apsfilters . . . . . . . . . . . . . . . . . 226 LILO . . . . . . . . . . . . . . . . . . . . . . 77 AHA-294x . . . . . . . . . . . . . 257 Arcad . . . . . . . . . . . . . . . . . . . . . 40 configurazione . . . . . . . . . . . 97 Adaptec 2920 . . . . . . . . 259, 269 Arcimende . . . . . . . . . . . . . . . . . . 3 cosè . . . . . . . . . . . . . . . . . . . . . 94 ADB-Mouse . . . . . . . . . . . . . . 134 arena . . . . . . . . . . . . . . . . . . . . . 341 dove installarlo . . . . . . . . . . . 95 Advanced Power Management . . Argus . . . . . . . . . . . . . . . . . . . . 343 elementi . . . . . . . . . . . . . . . . . 94 vedi APM, vedi APM Arkeia . . . . . . . . . . . . . . . . . . . 343 interfaccia . . . . . . . . . . . . . . . 94 AdvanSys . . . . . . . . . . . . . . . . 258 AT1700 . . . . . . . . . . . . . . . . . . 270 LILO . . . . . . . . . . . . . . . . . . . . . 110 aggiornare il sistema atd . . . . . . . . . . . . . . . . . . . . . . . 340 /etc/hosts . . . . . . . . . . . . . 336 YaST . . . . . . . . . . . . . . . . . . . . 73 Autentificazione . . . . . . . . . . . 293 /etc/resolv.conf . . . . . . 336 aic7xxx . . . . . . . . . . . . . . . . . . 257 autoexec.bat . . . . . . . . . . . . . . 118 /opt . . . . . . . . . . . . . . . . . . . . . . 39 AIRCOP . . . . . . . . . . . . . . . . . . 94 autofs . . . . . . . . . . . . . . . . . . . . 339 kdm . . . . . . . . . . . . . . . . . . . . . . 342 Aiuto . . . . . . . . . . . . . . . . . . . . 341 Automounter . . . . . . . . . . . . . 339 xdm . . . . . . . . . . . . . . . . . . . . . . 342 alice . . . . . . . . . . . . . . . . . . . . . 29 awk . . . . . . . . . . . . . . . . . . . . . . . . 1 SaX2 . . . . . . . . . . . . . . . . . . . . 127 ALICE . . . . . . . . . . . . . . . . . 28, 29 Aztech CD-ROM . . . . . . . . . . 275 XFree86 . . . . . . . . . . . . . . . . . . 1, 2 alien . . . . . . . . . . . . . . . . . . . 306 X Window System . . . . vedi X11 Alien . . . . . . . . . . . . . . . . . . . . 306 B YaST . . . . . . . . . . . . . . . . . . . 2, 22 ALSA . . . . . . . . . . . . . . . 181, 182 Backup . . . . . . . . . . . . . . . . . . . . 85 YaST alsa-devel . . . . . . . . . . . . . 300 binutils . . . . . . . . . . . . . . . . 243 alla prima installazione . . . 13 alsaconf . . . . . . . . . . . . . 181, 182 boot 1024 cilindri AM53/79C974 . . . . . . . . . . . . 258 concetti . . . . . . . . . . . . . . . . . 92 LILO problemi . . . . . . . . . . 114 ambiente chroot . . . . . . . . . . . . 65 parametri . . . . . . . . . . . . . . . 251 3COM 3c501 . . . . . . . . . . . . . 269 AMD 53/79C974 . . . . . . . . . . 258 partizione root . . . . . . . . . . 254 3COM 3c503 . . . . . . . . . 263, 269 AMD Athlon / Intel Pentium III Boot 3COM 3c505 . . . . . . . . . . . . . 269 248 LILO . . . . . . . . . . . . . . . . . . . . 91 3COM 3c507 . . . . . . . . . . . . . 269 amministrazione Boot manager . . . . . . . . . . . . . . 91 3COM 3c509 . . . . . . . . . . . . . 269 gruppi . . . . . . . . . . . . . . . . . . . 84 boot.sys . . . . . . . . . . . . . . . . . 93 3COM 3c515 . . . . . . . . . . . . . 270 utenti . . . . . . . . . . . . . . . . . . . 82 LILO . . . . . . . . . . . . . . . . . . . . 93 3COM 3c579 . . . . . . . . . . . . . 269 Amministrazione OS/2 . . . . . . . . . . . . . . . . . . . . 93 365 Indice analitico Windows NT . . . . . . . . . . . . 93 Sanyo . . . . . . . . . . . . . 266, 276 Creare un rescue-Dischetto . . 76 Boot, fare il . . . . . . . . . . . . . . . 327 Sony CDU31A . . . . . 266, 276 cron . . . . . . . . 292, 297, 308, 308 boot.local . . . . . . . . . . . . . . . . . 331 Sony CDU33A . . . . . 266, 276 cron . . . . . . . . . . . . . . . . . . . . . 297 boot.sys . . . . . . . . . . . . . . . . . . . 93 Sony CDU535 . . . . . . 266, 276 Cron . . . . . . . . . . . . . . . . . . . . . 295 Bootdisk SoundBlaster Pro 16 . . . . . 277 Cron-Daemon . . . . . . . . . . . . . 343 installale con . . . . . . . . . . . . . . 8 CD-ROM-device cron.daily . . . . . . . . . . . . . . . . 344 Booten . . . . . . . . . . . . . . . . . . . 347 interfaccia parallela . . . . . . 183 Crontab Bootloader . . . . . . . . . . . . . . . . . 91 CD-ROM-drive giornalmente . . . . . . . . . . . . 295 bttv . . . . . . . . . . . . . . . . . . . . . 297 Supporto tramite Linux . . . 35 curses . . . . . . . . . . . . . . . . . . . 308 Bus mouse . . . . . . . . . . . . . . . . 158 cdb . . . . . . . . . . . . . . . . . . . . . . . 35 Cyberscheduler Software . . . . 40 bus mouse Logitech . . . . . . . 264 changes . . . . . . . . . . . . . . . . . 296 Cygnus Source-Navigator . . . 40 BusLogic . . . . . . . . . . . . . . . . . 258 Check . . . . . . . . . . . . . . . . . . . . 347 Cyrix vedi Processore, Cyrix 686 Busmouse Chris Mason . . . . . . . . . . . . . . . 56 Logitech . . . . . . . . . . . . . . . 264 Clock-Chip . . . . . . . . . . . . . . . 160 D D-Link DE620 . . . . . . . . . . . . 274 C Comandol ulimit . . . . . . . . . . . . . . . . 309 Daemmon C . . . . . . . . . . . . . . . . . . . . . . . . 243 Combinazioni di tasti . . . . . . 359 routed . . . . . . . . . . . . . . . . . . 339 Cabletron E21xx . . . . . . . . . . 270 Daemon Cabletron E21XX . . . . . . . . . 263 command not found . . . . . . . 345 named . . . . . . . . . . . . . . . . . 339 Cambiare il nome . . . . . . . . . . 80 Compiler GNU C/C++ . . . . . . . 1 nscd . . . . . . . . . . . . . . . . . . . 339 campo I/O Compose . . . vedi Tastiera, tasto rwhod . . . . . . . . . . . . . . . . . . 339 riservare . . . . . . . . . . . . . . . . 254 compose daemon del kernel . . . . . . . . . 245 cancellare comprare PC . . . . . . . . . . . . . . 318 DB2 . . . . . . . . . . . . . . . . . . . . . 343 LILO . . . . . . . . . . . . . . . . . . . 105 concetti del boot . . . . . . . . . . . . 92 DCF77 . . . . . . . . . . . . . . . . . . . 342 Cancellare conf.modules vedi modules.conf DE203 . . . . . . . . . . . . . . . . . . . 271 Linux . . . . . . . . . . . . . . . . . . 105 conf.modules . . . . . . . . . . vedi DE204 . . . . . . . . . . . . . . . . . . . 271 CardBus . . . . . . . vedi Hardware, /etc/modules.conf DE205 . . . . . . . . . . . . . . . . . . . 271 CardBus config.sys . . . . . . . . . . . . . . . . 118 DEC . . . . . . . . . . . . . . . . . . . . . 127 cardctl . . . . . . . . . . . . . . . . . . . 203 configuare XFree . . . . . . . . . . . 87 defrag . . . . . . . . . . . . . . . . . . . . . 31 Cardmanager . . . . 196, 197, 202 Configurare il tempo . . . . . . . 342 Defrag . . . . . . . . . . . . . . . . . . . . 31 cardmgr . . . . . . . . . . . . . . . . . . 196 configurazione deinstallazione cardmgr . . . . . . . . . . . . 196, 197 LILO . . . . . . . . . . . . . . . . . . . . 97 LILO . . . . . . . . . . . . . . . . . . . 103 Caricamento memorizzare . . . . . . . . . . . . . 67 depmod . . . . . . . . . . . . . . . . . . 244 con i dischetti . . . . . . . . . . . . 32 Configurazione Descrizioni dei pacchetti . . . . 68 dal CD2 . . . . . . . . . . . . . . . . . 32 cambiare . . . . . . . . . . . . . . . 332 Determinare la lingua . . . . . . . 49 Initial ramdisk . . . . . . . . . . 310 installazione, prima . . . . . . . 19 Device . . . . . . . . . . . . . . . . . . . 167 metodi . . . . . . . . . . . . . . . . . . 25 modificare . . . . . . . . . . . . . . . 67 device dei dischetti . . . . . . . . 263 CD-ROM tempo della rete . . . . . . . . . 342 Device-Section . . . . . . . . . . . . 167 ATAPI . . . . . . . . . . . . . . . . . 260 X11 . . . . . . . . . . . . . . . 130, 157 dhclient . . . . . . . . . . . . . . . . 295 Aztech . . . . . . . . . . . . . 265, 275 configurazione del sistema . . 88 DHCP . . . . . . . . . . . . . . . . . . . 340 EIDE . . . . . . . . . . . . . . . . . . 260 Configurazione del sistema . 333 configurare . . . . . . . . . . . . . . 79 Goldstar . . . . . . . . . . . 265, 275 configurazioni . . . . . . . . . . . . . . 66 dhcpd . . . . . . . . . . . . . . . . . . . 295 installazione . . . . . . . . . . . . . 74 predefinite . . . . . . . . . . . . . . . 66 diald . . . . . . . . . . . . . . . . . . . . . 339 Mitsumi . . . . . . . . . . . 265, 275 Console . . . . . . . . . . . . . . . . . . 342 Digital . . . . . . . . . . . . . . . . . . . 270 Mitsumi FX-001(D) 265, 275 Console di testo . . . . . . . . . . . 342 Digital DEPCA . . . . . . . . . . . 271 Mitsumi Multisession . . . 265, Console seriale . . . . . . . . . . . . 255 Digital Equipment Corporation . 275 Console, impostare i fonts . . . 86 127 Mozart . . . . . . . . . . . . 265, 275 consoles virtuali . . . . . . . . . . . 323 Diritti . . . . . . . . . . . . . . . . . . . . 344 Optics Storage . . . . . . 265, 276 consoles, virtuali . . . . . . . . . . 323 Diritti del file . . . . . . . . . . . . . 344 Panasonic . . . . . . . . . . 266, 277 Core-files . . . . . . . . . . . . . . . . . 309 Dischetti di caricamento Philips CM206 . . . . . 265, 276 CPU . . . . vedi SMP, quantità dei crearli con setup . . . . . . . . . . 32 port parallelo . . . . . . . . . . . 273 CPUs dischetto Porta parallela . . . . . . . . . . 273 Crash . . . . . . . . . . . . . . . . . . . . 347 fare il boot dal . . . . . . . . . . . 92 366 Indice analitico Dischetto di boot . . . . . . . . . . . 96 F ftape . . . . . . . . . . . . . . . . . . . . . 193 Dischetto di caricamento Failsafe . . . . . . . vedi Problemi di ftp . . . . . . . . . . . . . . . . . . . . . . . . 80 Creare con rawrite . . . . . . . . 33 caricamento, Failsafe FTP Creare con Setup . . . . . . . . . 33 fare il boot . . . . . . . . . . . . . . . . . 23 Anonymous FTP . . . . . . . . 295 Dischetto di salvataggio . . . . 319 processo . . . . . . . . . . . . . . . . . 91 FTP-Server dischetto per il boot . . . . . . . . . 92 Fare il boot Configurare . . . . . . . . . . . . . 307 creare (con LILO) . . . . . . . 106 boot manager . . . . . . . . . . . . 93 ftpdir . . . . . . . . . . . . . . . . . . 307 Dischetto per il boot . . . . . . . . . 8 Meccanismo per lo start con Fujitsu FMV-181/182/183/184 . . dispositivo dinstallazione . . . . 49 loadlin . . . . . . . . . . . . . . . 118 272 DMA . . . . . . . . . vedi IDE-DMA fare le partizioni . . . . . . . . 30, 53 Fuso orario . . . . . . . . . . . . . . . 334 DNS . . . . . . . . . . . . . . . . . . . . . 337 Fare le partizioni Fuso orario, impostare il . . . . 87 Timeout . . . . . . . . . . . . . . . . 298 principianti . . . . . . . . . . . . . . 38 future domain . . . . . . . . . . . . . 259 docbktls . . . . . . . . . . . . . . . . 299 fare un test . . . . . . . . . . . . . . . 318 Future Domain . . . . . . . . . . . . 268 DocBook vedi SGML, DocBook FAT32 . . . . . . . . . . . . . . . . . . . . . 32 fvwm . . . . . . . . . . . . . . . . . . . . 147 docbook_3 . . . . . . . . . . . . . . 299 Fax G docbook_4 . . . . . . . . . . . . . . 299 Hylafax . . . . . . . . . . . . . . . . 341 gamix . . . . . . . . . . . . . . . . . . . . 181 dochost . . . . . . . . . . . . . . . . . . . . 40 faxsetup . . . . . . . . . . . . . . . . . . 341 Gateway Documentazione fdisk . . 31, 32, 60, 96, 104­106, 2 schede rete . . . . . . . . . . . . 263 server per la documentazione . 110, 111, 321, 322 gcc . . . . . . . . . . . . . . . . . . . . . . 243 341 fhs . . . . . . . . . . . . . . . . . 293, 307 GDI-stampante . . . . . . . . . . . . 212 DOS FHS . . . . . vedi Filesystem, FHS gdm . . . . . . . . . . . . . . . . . . . . . . . 81 Creare le partizioni Linux . 31, File di configurazione . . . . . . 333 GDM . . . . . . . . . . . . . . . . . . . . . 81 32 File systems GDT RAID5-Controller . . . vedi fare il boot . . . . . . . . . 108, 110 stabilire . . . . . . . . . . . . . . . . . 62 ICP Vortex Menu per il boot . . . . . . . . 118 files Ghostscript . . . . . . . . . . . . . . . . 75 Driver della stampante . . . . . 284 cercare . . . . . . . . . . . . . . . . . . 71 ghostscript . . . . . . . . . . . . . . . . 233 Drivespace . . . . . . . . . . . . . . . . . 37 Files . . . . . . . . . . . . . . . . . . . . . 166 Ghostscript . 225, 226, 233, 233 Dummy-Device . . . . . . . . . . . 336 Files temporanei gimp-devel . . . . . . . . . . . . . 300 dump . . . . . . . . . . . . . . . . . . . . . 62 cancellare . . . . . . . . . . . . . . 345 glibc . . . . . . . . . . . . . . . . . . . . . 292 dumpe2fs . . . . . . . . . . . . . . . . . 322 Files-Section . . . . . . . . . . . . . . 166 glibc-info . . . . . . . . . . . . . 326 Dynamische IP-Adresse . . . . 337 Filesystem gnadmin . . . . . . . . . . . . . . . . . 297 FHS . . . . . . . . . . . . . . . . . . . 307 gnlibs . . . . . . . . . . . . . . . . . . 297 ReiserFS . . . . . . . . . . . . . . . . 56 E GNOME . . . . . . . . . . . . . . 40, 306 TeX . . . . . . . . . . . . . . . . . . . . 307 e2fsck . . . . . . . . . . . 319, 321, 322 Compilare . . . . . . . . . . . . . . 300 find . . . . . . . . . . . . . . . . . . . . . . 321 Manual-Page . . . . . . . . . . . 347 gnorpm . . . . . . . . . . . . . . . . . . 306 finger . . . . . . . . . . . . . . . . . . 298 GNU . . . . . . . . . . . . . . . . . . . . . 309 2fsck . . . . . . . . . . . . . . . . . . . 347 fips . . . . . . . . . . . . . . . . . . . . 16, 30 Eagle . . . . . . . . . . . . . . . . . . . . . . 40 gnuserv . . . . . . . . . . . . . . . . . 299 fips.exe . . . . . . . . . . . . . . . . 31, 32 gnutils . . . . . . . . . . . . . . . . . 297 Eberhard Mönkeberg . . . . . . . . . 4 FireGL . . . . . . . . . . . . . . . . . . . . . 8 Goldstar CD-ROM . . . . . . . . 275 EIDE Firewall Goldstar-CD-ROM . . . . . . . . 265 chip sets speciali . . . . . . . . 298 Attivare . . . . . . . . . . . . . . . . 338 GPL . . . . . . . . . . . . . . . . . . . . . 351 EIDE-Chipsätze . . . . . . . . . . . 261 firewals . . . . . . . . . . . . . . . . 295 gpm . . . . . . . . . . . . . . 87, 149, 335 emacs . . . . . . . . . . . . . . . . . . . 299 floppy . . . . . . . . . . . . . . . . . . . . 263 Gpm . . . . . . . . . . . . . . . . . . . . . 335 Emacs 1, 41, 291, 299, 306, 309 Formato del pacchetto . . . . . 300 GPM . . . . . . . . . . . . . . . . . . . . . 335 emacs-auctex . . . . . . . . . . . 299 Formattare i dischetti . . . . . . . 34 gpm, configurare . . . . . . . . . . . 87 emacs-el . . . . . . . . . . . . . . . . 299 Fortify . . . . . . . . . . . . . . . . 40, 294 grep . . . . . . . . . . . . . . . . . . . . . . 321 emacs-info . . . . . . . . . . . . . 299 Freecom . . . . . . . . . . . . . . . . . . . 37 gruppi emacs-nox . . . . . . . . . . . . . . 299 Frequenza orizzontale . . . . . 159 amministrazione . . . . . . . . . 84 emacs-x11 . . . . . . . . . . . . . . 299 Frequenza verticale . . . . . . . . 159 gs . . . . . . . . . . . . vedi Ghostscript emm386.exe . . . . . . . . . . . . . . . 25 fromattare gs . . . . . . . . . . . . . . . . . . . . . . . 225 Erstinstallation . . . . . . . . . . . . . . 7 partizione . . . . . . . . . . . . . . . . 59 gs_fonto . . . . . . . . . . . . . . . . 213 EtherTeam 16i/32 . . . . . . . . . 273 fsck . . . . . . . . . . . . . . . . . . . . . . . 62 gs_fonts . . . . . . . . . . . . . . . . 213 367 Indice analitico gs_lib . . . . . . . . . . . . . . . . . . 213 I18N . . . . . . . . . . . . . . . . . . . . . 324 pacchetti . . . . . . . . . . . . . . . . 71 gs_x11 . . . . . . . . . . . . . . . . . . 212 i4l . . . . . . . . . . . . . . . . . . 81, 332 via FTP . . . . . . . . . . . . . . . . . 52 gv . . . . . . . . . . . . . . . . . . . . . . . 233 i82365 . . . . . . . . . . . . . . . . . . . 202 via NFS . . . . . . . . . . . . . . . . . 50 gxmhtml . . . . . . . . . . . . . . . . . 297 i82557/i82558 . . . . . . . . . . . . 272 Installazione gzip . . . . . . . . . . . . . . . . . . . . . . . 44 IBM Thinkpad . . . . . . . . . . . . 264 Con YaST1, in modao di testo ICL EtherTeam . . . . . . . . . . . 273 7 H ICP Vortex-Controller da CD-ROM . . . . . . . . . . . . . 50 halt . . . . . . . . . . . . . . . . . . . . . . 331 Installazione errata . . . . . . . 12 da una partizione dellhard disk Hans Lermen . . . . . . . . . . . . . . . . 4 IDE-DMA . . . . . . . . . . . . . . . . 299 50 Hans Reiser . . . . . . . . . . . . . . . . 56 idedma . . . . . . . . . . . . . . . . . . 299 Lettori CD-ROM su porta hard disk Identifier . . . . . . . . . . . . . . . . . 169 parallela . . . . . . . . . . . . . . . 37 parametri . . . . . . . . . . . . . . . 261 ifconfig . . . . . . . . . . . . . . 321, 337 LILO . . . . . . . . . . . . . . . . . . . 103 hardware ifport . . . . . . . . . . . . . . . . . . . . 203 pacchetti, deinstallare i . . 300 device per dischetti . . . . . . 188 Il CD ROM ATAPI si inceppa 35 pachcetti,installare i . . . . . 300 Dispositivi ZIP . . . . . . . . . . 189 Il dispositivo CD-ROM si PCMCIA . . . . . . . . . . . . . . . 203 LS120-device . . . . . . . . . . . 189 inceppa . . . . . . . . . . . . . . . . 35 rete come source . . . . . . . . . 27 Hardware Il lettore del CD-ROM si inceppa Installazione dei pacchetti . . . 68 AGP . . . . . . . . . . . . . . . . . . . 177 37 installazioni CardBus . . . . . . . . . . . . . . . . 195 Impostazione della tastiera Pacchetti . . . . . . . . . . . . . . . . 66 integrare . . . . . . . . . . . . . . . 177 YaST . . . . . . . . . . . . . . . . . . . . 47 Insure++ . . . . . . . . . . . . . . . . . . 40 interfaccia parallela . . . . . . 183 imwheel . . . . . . . . . . . . . . . . . . 135 Intel EtherExpress 16 . . . . . . 271 IrDA . . . . . . . . . . . . . vedi IrDA Intel EtherExpressPro . 271, 272 ISA . . . . . . . . . . . . . . . . . . . . 177 imwheel . . . . . . . . . . . . 135, 174 indice delle serie e dei pacchetti Intel EtherExpressPro 100 . . 272 ISApnp . . . . . . . . vedi ISApnp 71 Interfaccia Laptop . . . . . . . vedi Notebook parallela . . . . . . . . . . . . . . . . 214 modem esterno . . . . . . . . . . 190 indirizzo IP . . . . . . . . . . . . . . . . 51 USB . . . . . . . . . . . . . . . . . . . 217 modem interno . . . . . . . . . . 190 inetd . . . . . . . . . . . . . . 20, 80, 338 Interfaccia parallela . . . . . . . vedi Notebook . . . . . vedi Notebook info . . . . . . . . . . . . . . . . . . . . . 309 Hardware, interfaccia PCI . . . . . . . . . . . . . . . . . . . . 177 Info . . . . . . . . . . . . . . . . . . . . . . 309 parallela Plug-and-Play . . . . . . . . . . 331 Info (info) . . . . . . . . . . . . . . . 309 Internet Services Daemon PlugAndPlay . . . . . . . . . . . 178 Informazioni sui pacchetti . . . 68 inetd . . . . . . . . . . . . . . . . . . . 338 schede . . . . . . . . . . . . . . . . . 177 Infrared Data Association . . vedi schede PC . . . . . . . . . . . . . . 195 IrDA xinetd . . . . . . . . . . . . . . . . . . 338 Streamer 191, vedi Hardware, init . . . . . . . 2, 106, 321, 327­331 IP-Adresse Streamer scripts . . . . . . . . . . . . . . . . . . 330 dynamisch . . . . . . . . . . . . . . 337 USB . . . . . . . . . . . . . . vedi USB initial ramdisk . . . . . . . . . . . . 310 IP-Forwarding . . . . . . . . . . . . 337 Winmodem . . . . . . . . . . . . . 190 initrd . . . . . . . . . . . . . . . . . . . . . 336 iputils . . . . . . . . . . . . . . . . . 298 hdparm . . . . . . . . . . . . . . . . . . . 207 SCSI-driver . . . . . . . . . . . . . 246 IPv6 . . . . . . . . . . . . . . . . . . . . . 298 Hibernation . . . . . . . . . . . . . . . 205 inittab . . . . . . . . . . . . . . . . . . . . 327 IRC . . . . . . . . . . . . . . . . . . . . . . 338 HOME . . . . . . . . . . . . . . . . . . . . . 287 INN . . . . . . . . . . . . . . . . . . . . . . 340 irda . . . . . . . . . . . . . . . . . . . . . 208 howto . . . . . . . . . . . . . . . . . . . 208 inode . . . . . . . . . . . . . . . . . . . . . . 58 IrDA . . . . . . . . . . . . . . . . . . . . . 207 HP 10/100 VG-AnyLAN . . . 273 Densità . . . . . . . . . . . . . . . . . . 58 stampante . . . . . . . . . . . . . . 208 HP PCLAN . . . . . . . . . . . . . . . 272 insmod . . . . . . . . . . 244, 245, 251 ISA PnP HP PCLAN+ . . . . . . . . . . . . . 272 parametri . . . . . . . . . . . . . . . 251 Initialisieren . . . . . . . . . . . . 336 htdig . . . . . . . . . . . . . . . . . . . . . . 40 Installation ISA-schede . . . . . . . . . . . . . . . 178 http-rman . . . . . . . . . . . . . . . . . 341 da DVD . . . . . . . . . . . . . . . . . 50 isapnp . . . . . . . . . . . . . . . 178­180 HTTP-Server Erstinstallation . . . . . . . . . . . . 7 isapnp . . . . . . . . . . . . . . 178, 180 Allestire . . . . . . . . . . . . . . . . 307 FTP . . . . . . . . . . . . . . . . . . . . . 27 ISApnp . . . . . . . . . . . . . . . . . . 178 httpd . . . . . . . . . . . . . . . . . . . . . 340 NFS . . . . . . . . . . . . . . . . . . . . 27 iso-8859 . . . . . . . . . . . . . . . . . . 171 installazione ISP16 . . . . . . . . . . . . . . . 265, 275 I da directory . . . . . . . . . . . . . . 52 I tasti delle funzioni di... . . . . . . . . . . . . . . . . . . . . . 49 J non funzionano . . . . . . . . . . 47 dispositivo . . . . . . . . . . . . . . . 49 jade_dsl . . . . . . . . . . . . . . . . 298 368 Indice analitico K leafnode . . . . . . . . . . . . . . . . . . 293 loadlin.exe . . . . . . . . . . . . . . 4 kardinfo . . . . . . . . . . . . . . . . . . 204 less . . . . . . . . . . . . . . . . . . . . . . 321 locali . . . . . . . . . . . . . . . . . . . . 334 kbatmon . . . . . . . . . . . . . . . . . . 207 Lettore CD-ROM locate . . . . . . . . . . . . . . . . 308, 343 KDE . . . . . . . . . . . . . . 40, 81, 306 a porta parallela . . . . . . . . . . 35 locate . . . . . . . . . . . . . . . . . . 343 kdelibs-devel . . . . . . . . . . 300 libc . . . . . . . . . . . . . . . . 243, 305 Log-files . . . . . . . . . . . . . . . . . 344 kdm . . . . . . . . . . . . . . . . . . 81, 291 libc5 . . . . . . . . . . . . . . . . . . . . . 319 Logical Volume Manager . . . 65 KDM . . . . . . . . . . . . . . . . . . 23, 81 LILO . . . . . . . . . . . . . . . . . . . . . . 91 Login . . . . . . . . . . . . . . . . . . . . 342 Kernel . . . . . . . . . . . . . . . . . . . 243 LILO . . . . . . . . . . . . . . . . . . . . . . 91 Login-Shell . . . . . . . . . . . . . 294 compilazione . . . . . . . . . . . 243 LILO . . . . 18, 19, 25, 26, 39, 56, PAM . . . . . . . . . . . . . . 293, 295 configurazione . . . . . . . . . . 246 76­79, 91, 92, 93, 93­97, Logitech . . . . . . . . . . . . . . . . . 158 console seriale . . . . . . . . . . 255 99­115, 117, 142, 245, 248, logview . . . . . . . . . . . . . . . . . . 297 CPUs, quantità dei . . . . . . 255 251, 252, 254, 267, 269, Loopback . . . . . . . . . . . . . . . . 336 Debugging . . . . . . . . . . . . . 334 310­313, 317, 329 lpc . . . . . . . . . . . . . . . . . . 218, 219 Driver della stampante . . . 284 deinstallazione . . . . . . . . . . 103 lpd . . . . . . . . . 218, 218, 233, 340 moduli . . . . . . . . . . . . . . . . . 244 dischetto per il boot . . . . . 106 lpq . . . . . . . . . . . . . . . . . . . . . . . 218 parametri . . . . . . . . . . . . . . . 251 DOS e OS/2, fare il boot . 110 lpr . . . . . . . . . . . . . . . . . . 220, 221 Scegliere il kernel SMP . . . 76 DOS/fare il boot di Win95 108 lprm . . . . . . . . . . . . . . . . . . . . . 218 separate Module . . . . . . . . 296 esempi di configurazione . 107 lprold . . . . . . . . . . . . . . 213, 233 SMP-Kernel, scegliere . . . . 18 fare il boot di Windows . . 108 lprsetup . . . . . . . . . . . . . . . . 222 Sysrq . . . . . . . . . . . . . . . . . . 334 Installazione . . . . . . . . . . . . 103 LSB . vedi Linux Standard Base Kernel Module Loader . . . . . 245 OS/2 fare il boot . . . . . . . . 110 lsmod . . . . . . . . . . . . . . . . . . . . 245 Kernel panic . . . . . . . . . . . . . . . 18 parametri . . . . . . . . . . . . . . . 251 lspci . . . . . . . . . . . . . . . . . . . . . 169 Kernel too big . . . . . . . . . . . . 247 problemi . . . . . . . . . . . . . . . 112 LUN . . . . . . . . . . . . . . . . . . . . . 256 kernel-daemon . . . . . . . . . . . . 331 1024 cilindri . . . . . . . . . . . . . 114 LVM . . . . . . . . . . . . . . . . . . . . . . 65 Kernel-Daemon . . . . . . . . . . . 336 comunicazioni allo start . . . 112 lx_suse . . . . . . . . . . . . . . . . . 243 kerneld . . . . . . . . . . . . . . 245, 336 dal Kernel 2.0 . . . . . . . . . . . . 117 lynx . . . . . . . . . . . . . . . . . . . . . 341 kerneld . . . . . . . . . . . . . . . . . . . 245 diagnosi . . . . . . . . . . . . . . . . . 112 kernmod . . . . . . . . . . . . 246, 294 M rimuovere . . . . . . . . . . . . . . 105 kernmods . . . . . . . . . . . . . . . . 294 MAD16 . . . . . . . . . . . . . 265, 275 kfontmanager . . . . . . . . . . . . . 173 lilo.conf . . . . . . . . . . . . . . . . . . . 97 Mail-Server kikbd . . . . . . . . . . . . . . . . . . . . 175 Linguaggio Postfix . . . . . . . . . . . . . . . . . 338 kmix . . . . . . . . . . . . . . . . . . . . . 181 Impostazioni . . . . . . . . . . . . 334 makewhat . . . . . . . . . . . . . . . . 296 kmod . . . . . . . . . . . . . . . . . . . . 214 Linus Torvalds . . . . . . . . . . . . 3, 5 makewhatis . . . . . . . . . . . . . . . 296 Kmod . . . . . . . . . . . 184, 245, 246 Linux . . . . . . . . . . . . . . . . . . . . . . 1 Manpages . . vedi Manual-Pages knfsd . . . . . . . . . . . . . . . . . 57, 293 Cancellare . . . . . . . . . . . . . . 105 Index . . . . . . . . . . . . . . . . . . 296 knfsd . . . . . . . . . . . . . . . 293, 339 Deinstallare . . . . . . . . . . . . . 105 MANPATH . . . . . . . . . . . . . . . . . 296 kpanel . . . . . . . . . . . . . . . . . . . 207 update . . . . . . . . . . . . . . . . . 287 Manual-Pages . . . . . . . . . . . . . 309 krpm . . . . . . . . . . . . . . . . . . . . . 306 Linux Development Platform Masquerading kterm . . . . . . . . . . . . . . . . . . . . . 87 Specification . . . . . . . . . . 308 IP-Forwarding . . . . . . . . . . 337 Linux Standard Base . . . . . . 307 Massachusetts Institute of L Linux-Erstinstallation . . . . . . . . 7 Technology . . . . . . . . . . . 127 L10N . . . . . . . . . . . . . . . . . . . . 324 linux.par . . . . . . . . . . . . . . . . . 118 MBR . . . 91, 92, 96, vedi Master la prima installazione linuxrc . . . . 4, 7­13, 28, 33, 203, Boot Record Premesse . . . . . . . . . . . . . . . . . 7 289, 292, 311, 312, 314, mc . . . . . . . . . . . . . . . . . . . . . . . 305 La prima installazione 314, 316, 318, 320 memoria Punto di partenza . . . . . . . . . . 7 Linuxrc . . . . . . . . . . . . . . . . . . . 37 Dimensioni non note . . . . 255 La scelta della tastiera . . . . . . 49 Lizenz . . . . . . . . . . . . . . . . . . . 351 proteggere . . . . . . . . . . . . . . 254 Lance . . . . . . . . . . . . . . . . . . . . 263 loadlin 4, 25, 26, 37, 39, 91, 93, memoria principale . . . . . . . vedi LANG . . . . . . . . . . . . . . . . . . . . . 334 115, 118, 119, 179, 254, memoria laptop . . . . . . . . . . . . . . . . . . . . 195 290, 310, 311, 316 Memorizzazione dei dati . . . . 85 LC_* . . . . . . . . . . . . . . . . . . . . . 334 non funziona . . . . . . . . . . . . . 37 Memory . . . . . . . . . vedi memoria LDAP-Server . . . . . . . . . . . . . 340 non parte . . . . . . . . . . . . . . . . 37 Menù principale . . . . . . . . . . . . 47 ldconfig . . . . . . . . . . . . . . . . . . 296 loadlin.exe . . . . . . . . . . . . 93, 312 Menu per il boot . . . . . . . . . . 118 369 Indice analitico Microsolutions BackPack . . 273 mutt . . . . . . . . . . . . . . . . . . . . . 297 Orologio radiocomandato . . 342 Midnight Commander . . . . . 305 MySQL . . . . . . . . . 294, 299, 343 OS/2 minicom . . . . . . . . . . . . . . . . . 291 mysql-Max . . . . . . . . . . . . . . 299 boot manager . . . . . . . . . . . . 93 MIT . . . . . . . . . . . . . . . . . . . . . 127 fare il boot . . . . . . . . . . . . . . 110 Mitsumi CD-ROM . . . . 265, 275 N fare il booten . . . . . . . . . . . 110 Mitsumi FX-001(D) . . 265, 275 Name Service Caching Daemon OSS . . . . . . . . . . . . . . . . . . . . . 182 mkfontdir . . . . . . . . . . . . . . . . 172 Initialisieren . . . . . . . . . . . . 339 mkfs . . . . . . . . . . . . . . . . . . . . . 321 Nameserver . . . . . . . . . . . . . . . 337 P mkswap . . vedi Swap-Partizione, Configurazione . . . . . . . . . . . 80 pacchetti 321 ncpfs . . . . . . . . . . . . . . . . . . . . . 81 cancellare . . . . . . . . . . . . . . . 73 mod_php4 . . . . . . . . . . . . . . . . 299 NCR 5380 . . . . . . . . . . . 259, 269 cercare . . . . . . . . . . . . . . . . . . 71 mod_php4 . . . . . . . . . . . . . . . . 299 NCR 53c400 . . . . . . . . . . . . . . 259 configurazioni . . . . . . . . . . . . 66 Modeline . . . . . . . . . . . . 167, 170 NCR 53C400 . . . . . . . . . . . . . 269 indice . . . . . . . . . . . . . . . . . . . 71 Modem . . . . . . . . . . . . . . . . . . 335 NCR 53c406a . . . . . . . . . . . . . 260 installazione . . . . . . . . . . . . . 71 configurazione . . . . . . . . . . . 74 NCR 53C810 . . . . . . . . . . . . . 252 Verificare dipendenze . . . . . 69 modprobe . . . . . . . 245, 251, 252 ncurses . . . . . . . . . . . . 296, 308 Pacchetti parametri . . . . . . . . . . . . . . . 251 NE1000/2000 . . . . . . . . . . . . . 273 Compilare . . . . . . . . . . . . . . 304 modules.conf . . . . . . . . . . . . . 293 NE2000 . . . . . . . . . . . . . . . . . . 267 Installare . . . . . . . . . . . . . . . . 72 modules.conf . . . . . . . . . . vedi Netscape . . . . . . . . . . . . . . . 39­41 scelta . . . . . . . . . . . . . . . . . . . 67 /etc/modules.conf netstat . . . . . . . . . . . . . . . . . . . . 321 Pacchetti da installare . . . . . . . 66 Moduli . . . . . . . . . . . . . . . . . . . 244 NetWare . . vedi Novell Netware pacchetto traduzione . . . . . . . . . . . . . . 248 NFS a2ps . . . . . . . . . . . . . . . . . . . 212 uso . . . . . . . . . . . . . . . . . . . . 244 Daemon . . . . . . . . . . . . . . . . 293 aaa_base . . . . . . . . . 295, 298 Moduli del kernel Group-IDs . . . . . . . . . . . . . . 339 alice . . . . . . . . . . . . . . . . . . 29 File di configurazione . . . . 293 installazione di . . . . . . . . . . . 50 alsa-devel . . . . . . . . . . . 300 Modulo Kernel NFS-Daemon . . . . 339 apache . . . . . . . . . . . . . . . . 296 caricare . . . . . . . . . . . . . . . . 316 Server . . . . . . . . . . . . . . . . . . 339 apmd . . . . . . . . . . . . . . 206, 207 parametri . . . . . . . . . . . . . . . 317 User-IDs . . . . . . . . . . . . . . . 339 aps . . . . . . . . . . . . . . . 212, 222 binutils . . . . . . . . . . . . . . 243 Monitor . . . . . . . . . . . . . . . . . . 167 nfsserv . . . . . . . . . . . . . . . . . 293 bttv . . . . . . . . . . . . . . . . . . . 297 Monitor della rete NI6510 . . . . . . . . . . . . . . . . . . . 273 NIS . . . . . . . . . . . . . . vedi YP, 297 cdb . . . . . . . . . . . . . . . . . . . . . 35 Argus . . . . . . . . . . . . . . . . . . 343 Client . . . . . . . . . . . . . . . . . . 298 changes . . . . . . . . . . . . . . . 296 Monitor-Section . . . . . . . . . . . 167 nkit . . . . . . . . . . . . . . . . . . . . . 305 cron . . . . . . . . . . . . . . . . . . . 297 Monitors . . . . . . . . . . . . . . . . . 159 nkita . . . . . . . . . . . . . . . . . . . 298 dhclient . . . . . . . . . . . . . . 295 mount . . . . . . . . . . . 188, 189, 321 nkitb . . . . . . . . . . . . . . . . . . . 298 dhcpd . . . . . . . . . . . . . . . . . 295 Mountpoint . . . . . . . . . . . . . . . . 57 NNTP . . . . . . . . . . . . . . . . . . . . 340 docbktls . . . . . . . . . . . . . . 299 Mouse . . . . . . . . . . . . . . . . . . . 335 NNTP-Server . . . . . . . . . . . . . 338 docbook_3 . . . . . . . . . . . . 299 Bus . . . . . . . . . . . . . . . . . . . . 158 nntpd . . . . . . . . . . . . . . . . . . . . 340 docbook_4 . . . . . . . . . . . . 299 configurazione . . . . . . . . . . . 74 notebook . . . . . . . . . . . . . . . . . 195 emacs . . . . . . . . . . . . . . . . . 299 HiTablet . . . . . . . . . . . . . . . . 158 Notebook emacs-auctex . . . . . . . . . 299 Logitech . . . . . . . . . . . . . . . 158 IrDA . . . . . . . . . . . . . vedi IrDA emacs-el . . . . . . . . . . . . . . 299 Logitech (MouseMan) . . . 158 PCMCIA . . . . . . . . . . . . . . . 336 emacs-info . . . . . . . . . . . 299 Microsoft . . . . . . . . . . . . . . . 158 Power management vedi APM emacs-nox . . . . . . . . . . . . 299 MM-Serie . . . . . . . . . . . . . . 158 Novell NE1000/2000 . . . . . . 273 emacs-x11 . . . . . . . . . . . . 299 Mouse Systems . . . . . . . . . 158 Novell-Server, emulazione . 341 fhs . . . . . . . . . . . . . . . 293, 307 PS/2 . . . . . . . . . . . . . . . . . . . 158 nscd . . . . . . . . . . . . . . . . . . . . . 292 finger . . . . . . . . . . . . . . . . 298 Mozart . . . . . . . . . . . . . . 265, 275 firewals . . . . . . . . . . . . . . 295 Mozart CD-ROM . . . . . 265, 275 O ftpdir . . . . . . . . . . . . . . . . 307 msdos.sys . . . . . . . . . . . . . . . . 118 Omnibook . . . . . . . . . . . . . . . . 264 gcc . . . . . . . . . . . . . . . . . . . . 243 mt . . . . . . . . . . . . . . . . . . . . . . . 192 openssh . . . . . . . . . . . . . . . . . 297 gimp-devel . . . . . . . . . . . 300 Multiprozessor-System . . . . vedi Optics Storage CD-ROM . . 265, glibc-info . . . . . . . . . . . 326 SMP 276 gnadmin . . . . . . . . . . . . . . . 297 Multisession CD-ROM 265, 275 Oracle 8.1.7 . . . . . . . . . . . . . . . . 40 gnlibs . . . . . . . . . . . . . . . . 297 370 Indice analitico gnuserv . . . . . . . . . . . . . . . 299 squid . . . . . . . . . . . . . . . . . 295 partizioni logiche . . . . . . . . . . . 55 gnutils . . . . . . . . . . . . . . . 297 squid2 . . . . . . . . . . . . . . . . 295 partizioni primarie . . . . . . . . . . 55 gs_fonto . . . . . . . . . . . . . . 213 talk . . . . . . . . . . . . . . . . . . . 298 PATH . . . . . . . . . . . . . . . . . . . . . . . 3 gs_fonts . . . . . . . . . . . . . . 213 tcl . . . . . . . . . . . . . . . . . . . . 247 Patrick Volkerding . . . . . . . . . . . 5 gs_lib . . . . . . . . . . . . . . . . 213 telnet . . . . . . . . . . . . . . . . 298 PC portatili . . . . . . . . . . . . . . . 195 gs_x11 . . . . . . . . . . . . . . . . 212 tk . . . . . . . . . . . . . . . . . . . . . 247 PC-schede . 195, vedi Hardware, gxmhtml . . . . . . . . . . . . . . . 297 ttmkfdir . . . . . . . . . . . . . . 172 schede PC howto . . . . . . . . . . . . . . . . . 208 uucp . . . . . . . . . . . . . . . . . . . 309 pcmcia . . . . . . . . . . . . . . 203, 204 i4l . . . . . . . . . . . . . . . . 81, 332 wget . . . . . . . . . . . . . . . . . . . 304 PCMCIA . . . . . . . . 195, 290, 336 idedma . . . . . . . . . . . . . . . . 299 wuftpd . . . . . . . . . . . . . . . . 293 Aiuto, programmi di . . . . . 203 imwheel . . . . . . . . . . 135, 174 xdevel . . . . . . . . . . . . . . . . 308 cardmgr . . . . . . . . . . . . . . . . 196 iputils . . . . . . . . . . . . . . . 298 xdevel33 . . . . . . . . . . . . . . 308 configurazione . . . . . . . . . . 196 irda . . . . . . . . . . . . . . . . . . . 208 xf86 . . . . . . . . . . . . . . . . . . . 247 Configurazione . . . . . . . . . 198 isapnp . . . . . . . . . . . . 178, 180 xfsetup . . . . . . . . . . . . . . . 127 Ethernet . . . . . . . . . . . . . . . . 197 jade_dsl . . . . . . . . . . . . . . 298 xkeycaps . . . . . . . . . . . . . . 175 IDE . . . . . . . . . . . . . . . . . . . . 198 kdelibs-devel . . . . . . . . 300 xntp . . . . . . . . . . . . . . . . . . . 342 Installazione . . . . . . . . . . . . 203 kernmod . . . . . . . . . . 246, 294 xvga16 . . . . . . . . . . . . . . . . 128 ISDN . . . . . . . . . . . . . . . . . . 197 kernmods . . . . . . . . . . . . . . 294 yast2-config-tune . . . 299 Modem . . . . . . . . . . . . . . . . 197 knfsd . . . . . . . . . . . . . 293, 339 yp-tools . . . . . . . . . . . . . . 298 problemi . . . . . . . . . . . . . . . 199 libc . . . . . . . . . . . . . . 243, 305 ypbind . . . . . . . . . . . . . . . . 298 schema . . . . . . . . . . . . . . . . . 198 lprold . . . . . . . . . . . . 213, 233 ypclient . . . . . . . . . . 80, 298 SCSI . . . . . . . . . . . . . . . . . . . 198 lx_suse . . . . . . . . . . . . . . . 243 ypserv . . . . . . . . . . . . . . . . 297 Software . . . . . . . . . . . . . . . 196 makewhat . . . . . . . . . . . . . . 296 yudit . . . . . . . . . . . . . . . . . 172 Startskript . . . . . . . . . . . . . . 198 mod_php4 . . . . . . . . . . . . . . 299 Pacchetto TokenRing . . . . . . . . . . . . . 197 mutt . . . . . . . . . . . . . . . . . . . 297 Dovè adesso xyz? . . . . . . . 298 PCMCIA . . . . . . . . . . . . . . . . . . 196 mysql-Max . . . . . . . . . . . . 299 pacchetto.tgz . . . . . . . . . . . . . . . 44 pep . . . . . . . . . . . . . . . . . . . . . . . 40 ncpfs . . . . . . . . . . . . . . . . . . 81 Package manager . . . . . . . . . . 300 perl . . . . . . . . . . . . . . . . . . . . 1, 344 ncurses . . . . . . . . . . 296, 308 PAM . . . . . . . . . . . . . . . . . 83, 293 Permissions . . . . . . . . . . . . . . . 344 nfsserv . . . . . . . . . . . . . . . 293 MD5-Passwords . . . . . . . . . . 83 pg_datab . . . . . . . . . . . . . . . . 297 nkit . . . . . . . . . . . . . . . . . . . 305 Panasonic CD-ROM . . 266, 277 PGP . . . . . . . . . . . . . . . . . . . . . 300 nkita . . . . . . . . . . . . . . . . . 298 Parallelport Philips CM206 . . . . . . . 265, 276 nkitb . . . . . . . . . . . . . . . . . 298 hard disk IDE . . . . . . . . . . . 285 PHP . . . . . . . . . . . . . . . . . . . . . 296 openssh . . . . . . . . . . . . . . . 297 Paride . . . . . . . . . . . . . . . . . . . . 284 phpdoc . . . . . . . . . . . . . . . . . . 296 pcmcia . . . . . . . . . . . . 203, 204 Parport-Subsystem . . . . . . . . 183 ping . . . . . . . . . . . . . . . . . . . . . 298 PCMCIA . . . . . . . . . . . . . . . . 196 Partition Magic . . . . . . . . . . . . . 26 PLIP pg_datab . . . . . . . . . . . . . . 297 Partizionare interfaccia parallella . . . . . 183 phpdoc . . . . . . . . . . . . . . . . 296 Esperti . . . . . . . . . . . . . . . . . . 40 PlugAndPlay . . . . . . . . . . . . . 178 postfix . . . . . . . . . . . . . . . 295 Partizione pnpdump . . . . . . . . . . . . 178­180 postgres . . . . . . . . . 288, 297 formattare . . . . . . . . . . . . . . . 62 Port parallelo psgml . . . . . . . . . . . . . . . . . 299 swap . . . . . . . . . . . . . . . . . . . . 41 architettura-specifico . . . . 284 reiserfs . . . . . . . . . . . . . . . 57 partizione root . . . . . . . . . . . . 254 ATAPI Disks . . . . . . . . . . . . 285 roxen . . . . . . . . . . . . . . . . . 296 Partizione swap . . . . . . . . . . . . 41 ATAPI streamer . . . . . . . . . 285 roxen-ssl . . . . . . . . . . . . 296 partizioni Device IDE . . . . . . . . . . . . . 284 roxenssl . . . . . . . . . . . . . . 296 estese . . . . . . . . . . . . . . . . . . . 55 Dispositivo ATAPI generico . . rpm . . . . . . . . . . . . . . . . . . . . 305 formattare . . . . . . . . . . . . . . . 59 286 rsh . . . . . . . . . . . . . . . . . . . . 298 logiche . . . . . . . . . . . . . . . . . . 55 kernel, parametri del . . . . . 266 rwho . . . . . . . . . . . . . . . . . . . 298 primarie . . . . . . . . . . . . . . . . . 55 kernel, parametro del . . . . 284 rzsz . . . . . . . . . . . . . . . . . . . 298 Partizioni protocollo del driver IDE . 285 samba . . . . . . . . . . . . . . 81, 295 allestire . . . . . . . . . . . . . . . . . 53 Porta parallela sax . . . . . . . . . . . . . . . . . . . . 127 Configurare . . . . . . . . . . . . . . 60 CD-ROM ATAPI . . . . . . . . 285 sax2 . . . . . . . . . . . . . . . . . . . 128 tipi . . . . . . . . . . . . . . . . . . . . . . 38 porta parallela CD-ROM . . . 273 sdb_de . . . . . . . . . . . . . . . . 291 partizioni estese . . . . . . . . . . . . 55 Porta parallela CD-ROM . . . 273 371 Indice analitico portmap . . . . . . . . . . . . . . . . 20, 80 Programmare rpm . . . . . . . . 292, 296, 304, 306 Portmapper . . . . . . . . . . 297, 338 Core-files . . . . . . . . . . . . . . . 309 rpm . . . . . . . . . . . . . . . . . . . . . . 300 postfix . . . . . . . . . . . . . . . . . . . 338 Programme rpm . . . . . . . . . . . . . . . . . . . . . . 305 postfix . . . . . . . . . . . . . . . . . 295 Quellcode . . . . . . . . . . . . . . . 68 RPM . . . . . . . . . . . . . . . . . . . . . 300 Postfix . . . . . . . . . . . . . . . . . . . 338 Programmi banca dati . . . . . . . . . . . . . . 344 postgres . . . . . . . . . . . 288, 297 Compilare . . . . . . . . . . . . . . 304 rpmnew . . . . . . . . . . . . . . . . 300 PostgreSQL . . . . . . . . . . 288, 297 rete . . . . . . . . . . . . . . . . . . . . 298 RPM (rpm) Power management . . . . . . . . 205 proteggere il campo I/O . . . . 254 rpmorig . . . . . . . . . . . . . . . 300 prima installazione Proxy rpmsave . . . . . . . . . . . . . . . 300 creare un utente . . . . . . . . . . 20 FTP . . . . . . . . . . . . . . . . . . . . 341 rsh . . . . . . . . . . . . . . . . . . . . . . 298 fare le partizioni . . . . . . . . . . 30 Gopher . . . . . . . . . . . . . . . . . 341 run_ldconfig . . . . . . . . . . . 296 installare i pacchetti . . . . . . 21 HTTP . . . . . . . . . . . . . . . . . . 341 Runlevel . . . . . . . . . . . . . 299, 328 mouse . . . . . . . . . . . . . . . . . . . 21 psgml . . . . . . . . . . . . . . . . . . . 299 cambiare . . . . . . . . . . . . . . . 329 pacchetti, installare . . . . . . . 17 nuovo significato . . . . . . . . 298 software, installare . . . . . . . 17 Q rwho . . . . . . . . . . . . . . . . . . . . . 298 stabilire il root password . . 20 Quellcode . . . . . . . . . . . . . . . . . 68 rwhod . . . . . . . . . . . . . . . . . . . . 339 Prima installazione rzsz . . . . . . . . . . . . . . . . . . . . . 298 YaST inizializzare . . . . . . . . 13 R Caricamento dal CD2 . . . . . 32 Radius . . . . . . . . . . . . . . . . . . . 340 S caricamento, metodo futuro di RAM . . . . . . . . . . . vedi memoria Salvataggio, sistema di . . . . . 319 25 Ramdac . . . . . . . . . . . . . . . . . . 160 inizializzare . . . . . . . . . . . . 320 configurazione di base . . . . 19 Ramdisk preparare . . . . . . . . . . . . . . . 319 Configurazione rete . . . . . . . 20 Initial Ramdisk . . . . . . . . . 336 usare . . . . . . . . . . . . . . . . . . . 321 configurazione, scegliere la 17 rawrite . . . . . . . . . . . . . . . . . . . . 33 samba . . . . . . . . . . . . . . . . 81, 295 Creare dischetti di caricamento rawrite.exe . . . . . . . . . . . . . . . . . 33 Samba . . . . . . . . . . . . . . . . . . . 341 con Unix . . . . . . . . . . . . . . 34 rc . . . . . . . . . . . . . . . . . . . . . . . . 329 Sanyo CD-ROM . . . . . . 266, 276 dischetti di caricamento . . . 32 /etc/rc.config . . . . . . . . 332 sax . . . . . . . . . . . . . . . . . . . . . . 127 SaX 87, 127­130, 148­154, 156, file systems, stabilire . . . . . . 62 rc.config . . . . . . . . . . . . . . 333 rcp.ugidd . . . . . . . . . . . . . . . . . 339 157 hard disk, formattare . . . . . . 62 reboot . . . . . . . . . . . . . . . . 23, 254 sax2 . . . . . . . . . . . . . . . . . . . . . 132 kernel, scelta del . . . . . . . . . 18 Reboot . . . . . . . . . . . . . . . . . . . 342 sax2 . . . . . . . . . . . . . . . . . . . . . 128 linuxrc . . . . . . . . . . . . . . . . . . . 8 reiserfs . . . . . . . . . . . . . . . . . 57 SaX2 . . 127­144, 146­148, 166, login . . . . . . . . . . . . . . . . . . . . 21 reset . . . . . . . . . . . . . . . . . . . . . 254 167, 169, 170, 173, 174 Meccanismo per lo start con resolv.conf . vedi /etc/resolv.conf configurazione automatica 131 loadlin . . . . . . . . . . . . . . . 118 rete configurazione manuale . . 132 Modem . . . . . . . . . . . . . . . . . . 20 Configurazione con YaST . 79 Scanner mountpoints, stabilire . . . . . 62 Rete configurazione . . . . . . . . . . . 74 partizioni, configurare le . . 60 Dummy-Device . . . . . . . . . 336 Scegliere i pacchetti . . . . . . . . 17 schermata iniziale . . . . . . . . . 7 tools . . . . . . . . . . . . . . . . . . . 298 Scegliere il kernel . . . . . . . . . . 76 Sendmail . . . . . . . . . . . . . . . . 20 Rimpicciolire le partizioni . . . 30 Scegliere il software . . . . . . . . 17 software, scegliere il . . . . . . 17 risoluzione dello schermo . . 169 scelta Print manager(lpd) . . . . . . . . 218 rlogin . . . . . . . . . . . . . . . . . . . . 338 dispositivo dinstallazione . . 49 Print-Server . . . . . . . . . . . . . . 229 rmmod . . . . . . . . . . . . . . . . . . . 244 Scelta della serie . . . . . . . . . . . 67 PRINTER . . . . . . . . . . . . . . . . . 220 root . . . . . . . . . . . . . . . . . . . . . . . 20 sched rete Printserver-Box . . . . . . . . . . . 229 route . . . . . . . . . . . . . . . . . . . . . 321 SMC Ultra . . . . . . . . . . . . . 273 Pro Audio Spectrum . . 256, 266 Router scheda audio Pro Audio Spectrum 16 . . . . 266 IP-Forwarding . . . . . . . . . . 337 Pro Audio Spectrum . . . . . 266 Problemi di caricamento roxen . . . . . . . . . . . . . . . . . . . 296 scheda rete Failsafe . . . . . . . . . . . . . . . . 299 Roxen . . . . . . . . . . . . . . . . . . . . 296 3COM 3c515 . . . . . . . . . . . 270 processo del boot . . . . . . . . . . . 91 roxen-ssl . . . . . . . . . . . . . . 296 3COM 3c590 . . . . . . . . . . . 270 Processore roxenssl . . . . . . . . . . . . . . . . 296 3COM 3c900 . . . . . . . . . . . 270 Cyrix 686 . . . . . . . . . . . . . . . 18 rpc.mountd . . . . . . . . . . . 338, 339 AM7990 Chipsatz . . . . . . . 273 profondità dei colori . . . . . . . 168 rpc.nfsd . . . . . . . . . . 80, 338, 339 AT1700 . . . . . . . . . . . . . . . . 270 372 Indice analitico Cabletron . . . . . . . . . . . . . . . 270 Schema vedi PCMCIA, Schema ServerFlags . . . . . . . . . . . . . . . 166 D-Link DE620 . . . . . . . . . . 274 schermo virtuale . . . . . . . . . . 169 setserial . . . . . . . . . . . . . . 183, 191 DE10x . . . . . . . . . . . . . . . . . 271 Screen . . . . . . . . . . . . . . . . . . . 167 settore boot . . . . . . . . . . . . . 91, 92 DE20 . . . . . . . . . . . . . . . . . . 271 Screen-Section . . . . . . . . . . . . 167 setup . . . . . . . . . . . . . . . . . . . . . . 32 DE203 . . . . . . . . . . . . . . . . . 271 SCSI Setup . . . . . . . . . . . . . . . . . . . 4, 33 DE204 . . . . . . . . . . . . . . . . . 271 Adaptec SETUP . . . . . . . . . . . . . . . . . . . 222 DE205 . . . . . . . . . . . . . . . . . 271 AHA-152x/151x/1505 . 268 setup.exe . . . . . . . . . . . . . . . . . 118 DE42 . . . . . . . . . . . . . . . . . . 271 Adaptec AHA-1540/1542 268 setup.exe . . . . . . . . . . . . . . . . . 4 DE425 . . . . . . . . . . . . . . . . . 270 AdvanSys . . . . . . . . . . . . . . 258 seyon . . . . . . . . . . . . . . . . . . . . 291 DE434 . . . . . . . . . . . . . . . . . 270 AHA-152x/151x/1505 . . . 256 SGML DE435 . . . . . . . . . . . . . . . . . 270 AHA-154x . . . . . . . . . . . . . 257 DocBook . . . . . . . . . . . . . . . 299 DE450 . . . . . . . . . . . . . . . . . 270 AHA-274x . . . . . . . . . . . . . 257 shutdown . . . . . . . . . . . . . 23, 321 DE500 . . . . . . . . . . . . . . . . . 270 AHA-284x . . . . . . . . . . . . . 257 Shutdown . . . . . . . . . . . . . 23, 342 DEC EtherWORKS . . . . . 271 AHA-294x . . . . . . . . . . . . . 257 Sicurezza Digital DEPCA . . . . . . . . . 271 AM53/79C974 . . . . . . . . . . 258 stampare . . . . . . . . . . . . . . . 218 E21xx . . . . . . . . . . . . . . . . . . 270 future domain . . . . . . . . . . . 259 Sicurezza del sistema, EtherBlaster . . . . . . . . . . . . 273 Future Domain . . . . . . . . . . 268 configurare . . . . . . . . . . . . 86 EtherTeam 16i/32 . . . . . . . 273 LUN . . . . . . . . . . . . . . . . . . . 256 Sistema a più processori . . . vedi EtherWORKS 3 . . . . . . . . . 271 NCR 5380 . . . . . . . . . 259, 269 SMP Fujitsu FMV-181/182/183/184 NCR 53c400 . . . . . . . . . . . . 259 Sistema di emergenza . . . . . . 319 272 NCR 53C400 . . . . . . . . . . . 269 Sistema Spool HP 10/100 VG-AnyLAN . 273 NCR 53c406a . . . . . . . . . . . 260 controllo . . . . . . . . . . . . . . . 218 HP 27245 . . . . . . . . . . . . . . 272 Seagate ST01/02 . . . . . . . . 260 sistema X Window . . . . . . . . 127 HP 27247B . . . . . . . . . . . . . 272 Streamer . . . . . . . . . . . . . . . 256 sistema, informazioni del . . 315 HP 27252A . . . . . . . . . . . . . 272 TMC-16x0 . . . . . . . . . 259, 268 smbmount . . . . . . . . . . . . . . . . 295 HP 27xxx . . . . . . . . . . . . . . 272 TMC-885/950 . . . . . . . . . . 259 SMC 9194 . . . . . . . . . . . . . . . . 274 HP PCLAN . . . . . . . . . . . . . 272 Trantor T128/128F/228 . . 260 SMC Ultra . . . . . . . . . . . . . . . . 273 HP PCLAN+ . . . . . . . . . . . 272 Trantor T130B . . . . . 259, 269 SMP IBM Token Ring . . . . . . . . 274 sdb_de . . . . . . . . . . . . . . . . . . 291 CPUs, quantità dei . . . . . . 255 ICL EtherTeam . . . . . . . . . 273 Seagate ST01/02 . . . . . . . . . . 260 Kernel, scegliere . . . . . . . . . 18 Intel EtherExpress 16 . . . . 271 Searchlist . . . . . . . . . . . . . . . . . 337 Scegliere il kernel . . . . . . . . 76 Intel EtherExpress Pro . . . 271 Secure Shell Daemon . . . . . . 341 SMTP . . . . . . . . . . . . . . . . . . . . 338 Intel EtherExpress Pro 100 . . . sed . . . . . . . . . . . . . . . . . . . . . . . . . 1 SNiFF+ . . . . . . . . . . . . . . . . . . . 40 272 sendmail . . . . . . . . . 80, 293, 338 Sony CDU31A . . . . . . . 266, 276 Lance . . . . . . . . . . . . . . . . . . 273 Sendmail . . . . . . . . . . . . . . . . . 309 Sony CDU33A . . . . . . . 266, 276 Novell NE1000/2000 . . . . 273 Configurazione . . . . . . . . . . . 80 Sony CDU535 CD-ROM . . 266, Token Ring . . . . . . . . . . . . . 274 serie 276 WD80x3 . . . . . . . . . . . . . . . 274 a . . . . . . . . . . . . . . . . . . . . 57, 68 Sound Western Digital . . . . . . . . . 274 a1 . . . . . . . . . . . . . . . . . . 70, 196 AD1816 Chip . . . . . . . . . . . 277 Scheda rete ap . . 135, 174, 178, 206, 212, AD1848/CS4248 Chip (MSS) 3COM 3c501 . . . . . . . . . . . 269 213 277 3COM 3c503 . . . . . . . . . . . 269 cercare . . . . . . . . . . . . . . . . . . 71 Aztech Sound Galaxy . . . . 282 3COM 3c505 . . . . . . . . . . . 269 D . . . . . . . . . . . . . . . . . . . . . . 243 Chip set Creative Ensoniq 3COM 3c507 . . . . . . . . . . . 269 doc . . . . . . . 35, 291, 307, 326 1371 . . . . . . . . . . . . . . . . . 278 3COM 3c509 . . . . . . . . . . . 269 indice . . . . . . . . . . . . . . . . . . . 71 Chip set Ensoniq 1370 . . . 278 3COM 3c579 . . . . . . . . . . . 269 n . . . . . . . . . . . 80, 81, 213, 293 chip sets Crystal 423x . . . 278 configurazione . . . . . . . . . . . 74 sgm . . . . . . . . . . . . . . . . . . . . 299 Chipsete Sound Blaster DSP . Digital . . . . . . . . . . . . . . . . . 270 x . . . . . . . . . . . . . . . . . . 127, 128 283 SMC 9194 . . . . . . . . . . . . . . 274 xap . . . . . . . . . . . . . . . 172, 175 configurare . . . . . . . . . . . . . 181 schede PC . . . . . . . . . . . . . . . . 195 xsrv . . . . . . . . . . . . . . . . . . . 128 Ensoniq SoundScape . . . . 282 Schede PCI . . . . . . . . . . . . . . . 177 zq . . . . . . . . . . . . . . . . . . . . . 305 Gravis Ultrasound . . . . . . . 278 schede rete . . . . . . . . . . . . . . . 263 server.exe . . . . . . . . . . . . . . . . . . 93 MAD16 . . . . . . . . . . . . . . . . 279 373 Indice analitico MediaTrix AudioTrix Pro 283 Stampante della rete . . . . . . . 218 Systema MPU401 . . . . . . . . . . . . . . . 279 stampante rete . . . . . . . . . . . . 229 update . . . . . . . . . . . . . . . . . 287 OPL3 . . . . . . . . . . . . . . . . . . 280 Stampante rete . . . . . . . . . . . . 229 OPL3-SA1 . . . . . . . . . . . . . 280 Configurazione . . . . . . . . . . . 80 T OPL3-SAx . . . . . . . . . . . . . 281 prefiltraggio . . . . . . . . . . . . 229 tabella di partizione . . . . . . . . . 91 OPLx driver generico . . . . 278 Stampante, filtro della talk . . . . . . . . . . . . . . . . . . . . . 298 Personal Sound System per stampanti rete . . . . . . . 229 tar . . . . . . . . . . . . . . . 44, 295, 309 (ECHO ESC614) . . . . . . 281 Stampare tar . . . . . . . . . . . . . . . . . . . . . . 295 Pro Audio Spectrum . . . . . 281 lpd, inizializzare . . . . . . . . 340 Tastatur S3 Sonic Vibes . . . . . . . . . . 282 kernel, parametri del . . . . . 267 Compose . . . . . . . . . . . . . . . 294 Sound Blaster und Clones 282 Novell NetWare . . . . . . . . . . 81 Compose-Taste . . . . . . . . . 359 Turtle Beach printserver . . . . . . . . . . . . . . 218 Tasti del mouse . . . . . . . . . . . 158 Classic/Monterey/Tahiti 280 Samba . . . . . . . . . . . . . . . . . . 81 Tastiera Turtle Beach Maui e Tropez . . Standby . . . . . . . . . . . . . . . . . . 205 CapsLock . . . . . . . . . . . . . . 335 279 Staroffice . . . . . . . . . . . . . . . . . . 40 configurazione . . . . . . . . . . 335 Turtle Beach Maui, Tropez, StarOffice . . . . . . . . . . . . . . . . 293 NumLock . . . . . . . . . . . . . . 335 Tropez Plus . . . . . . . . . . . 284 startx . . . . . . . . . . . . . . . . . 81, 147 ripetizione . . . . . . . . . . . . . . 335 Turtle Beach MultiSound 279 Streamer . . . . . . . vedi Hardware, ritardo . . . . . . . . . . . . . . . . . 335 Turtle Beach Pinnacle/Fiji 280 Streamer Tastiera, impostazione della 323 UART401 . . . . . . . . . . . . . . 283 SCSI . . . . . . . . . . . . . . . . . . . 256 tcl . . . . . . . . . . . . . . . . . . . . . . 247 UART6850 . . . . . . . . . . . . . 283 Supporto raggi infrarossi . . vedi telnet . . . . . . . . 80, 321, 338, 345 YMF71x . . . . . . . . . . . . . . . 281 IrDA telnet . . . . . . . . . . . . . . . . . . 298 Sourcecode SuSE . . . . . . . . . . . . . . . . . . . . 307 termcap . . . . . . . . . . . . . . . . . . 308 Compilare . . . . . . . . . . . . . . 304 SuSEconfig . . . 20, 88, 199, 298, test della memoria . . . . . . . . . 254 Sources . . . . . . . . . . . . . . . . . . . 68 320, 324, 325, 332­335, teTeX . . . . . . . . . . . . . . . . . . . . 307 Compilare . . . . . . . . . . . . . . 304 339, 341 Texinfo . . . . . . . . . . . . . . . . . . . 309 spindown . . . . . . . . . . . . . . . . . 207 SuSEconfig . . . . . . . . . . . . . . . 332 The Open Group . . . . . . . . . . 127 Spool-System . . . . . . . . . . . . . 211 SuSE Linux . . . . . . . . . . . . . . 307 The XFree86 Project, Inc. . . 127 daemon . . . . . . . . . . . . . . . . 218 installazione . . . . . . . . . . . . 314 Thinkpad . . . . . . . . . . . . . . . . . 264 stampante rete . . . . . . . . . . 229 particolarità . . . . . . . . . . . . . 307 Tipo di mouse . . . . . . . . . . . . 158 squid . . . . . . . . . . . . . . . . . . . . . 340 salvataggio, sistema di . . . 319 tk . . . . . . . . . . . . . . . . . . . . . . . 247 Tkinfo (tkinfo) . . . . . . . . . . 309 squid . . . . . . . . . . . . . . . . . . . 295 tastiera, impostazione della . . . TMC-16x0 . . . . . . . . . . . 259, 268 squid2 . . . . . . . . . . . . . . . . . . 295 323 TMC-885/950 . . . . . . . . . . . . 259 ssh . . . . . . . . . . . . . . . . . . . . . . . . 86 susewm . . . . . . . . . . . . . . . . . . . 82 Token Ring . . . . . . . . . . . . . . . 274 Stabilire i filesystem . . . . . . . . 55 impostare . . . . . . . . . . . . . . . . 82 traceroute . . . . . . . . . . . . . . . . 298 Stampa . . . . . . . . . . . . . . . . . . . 211 Suspend . . . . . . . . . . . . . . . . . . 205 Trantor T128/128F/228 . . . . 260 Stampa, sistema di . . . . . . . . vedi Swap-partizione Trantor T130B . . . . . . . 259, 269 Spool-System creare . . . . . . . . . . . . . . . . . . . 61 ttmkfdir . . . . . . . . . . . . . . . . . . 172 stampante Swap-Partizione ttmkfdir . . . . . . . . . . . . . . . . 172 configurazione . . . . . . . . . . . 74 Creare . . . . . . . . . . . . . . . . . . . 55 Tux . . . . . . . . . . . . . . . . . . . . . . . . 3 Stampante sx . . . . . . . . . . . . . . . . . . . . . . . 298 Comuter Windows come print Sybase . . . . . . . . . . . . . . . . . . . . 40 U server . . . . . . . . . . . . . . . . . 81 Syn Flood Protection . . . . . . 337 ulimit . . . . . . . . . . . . . . . . . . 309 daemon . . . . . . . . . . . . . . . . 218 syslinux . . . . . . . . . . . . . 311, 312 Ultrastor . . . . . . . . . . . . . . . . . 252 interfaccia parallela . . . . . . 183 Syslinux . . . . . . . . . . . . . . . . . . . 33 unfsd . . . . . . . . . . . . . . . . . . . . . . 57 Lexmark . . . . . . . . . . . . . . . 212 SYSLINUX . . . . . . . . . . . . . . 254 Unicode . . . . . . . . . . . . . . . . . . 172 Novell NetWare come server syslog . . . . . . . . . . . . . . . . . . . . 321 Universal Serial Bus . vedi USB della stampante . . . . . . . . 81 sysp . . . . . . . . . . . . . . . . . . . . . 131 Unix98 PTY . . . . . . . . . . . . . . 292 stampante GDI . . . . . . . . . . 212 Sysrq . . . . . . . vedi Kernel, Sysrq Update . . . . . . . . . . . . . . . . . 2, 287 Stampante rete . . . . . . . . . . . 80 System Commander Deluxe . 26 updatedb . . . . . . . . . . . . . . . . . 343 terminare la stampa . . . . . . 220 System is too big . . . . . . . . . . 247 USB . . . . . . . . . . . . . . . . . . . . . 185 Windows only . . . . . . . . . . 212 System V . . . . . . . . . . . . . . . . . 327 Moduli . . . . . . . . . . . . . . . . . 185 374 Indice analitico mouse e tastiera, esempio di X Window System . . . . . . 1, 127 Virtual . . . . . . . . . . . . . . . . . 169 configurzione . . . . . . . . 188 X-Terminal XF86Setup . . . . . . . . . . . 127, 166 useradd . . . . . . . . . . . . . . . . . . . . 83 configurare . . . . . . . . . . . . . 294 XFree86 . . . . . . . . . . . . . 127, 128 userdel . . . . . . . . . . . . . . . . . . . . 83 X11 . . . . . . . . . . . . . . . . . . . . . . 127 xfsetup . . . . . . . . . . . . . . . . . 127 utenti configurazione . . . . . 130, 157 xinetd . . . . . . . . . . . . . . . . . . . . 338 amministrazione . . . . . . . . . 82 mouses . . . . . . . . . . . . . . . . . . 158 XInfo (xinfo) . . . . . . . . . . . . . 309 uucp . . . . . . . . . . . . . . . . . . . . . 309 tastiera . . . . . . . . . . . . . . . . . . 158 xinit . . . . . . . . . . . . . . . . . . . . . 130 uucp . . . . . . . . . . . . . . . . . . . . . 309 Configurazione xkeycaps . . . . . . . . . . . . . . . . . 175 monitors . . . . . . . . . . . . . . . . 159 xkeycaps . . . . . . . . . . . . . . . . 175 V X-Server . . . . . . . . . . . . . . . . 160 xlsfonts . . . . . . . . . . . . . . . . . . 173 Variabile d'ambiente Displaymanager . . . . . . . . . 342 xntp . . . . . . . . . . . . . . . . . . . . . 342 HOME . . . . . . . . . . . . . . . . . . . 287 driver . . . . . . . . . . . . . . . . . . 169 xrpm . . . . . . . . . . . . . . . . . . . . . 306 LANG . . . . . . . . . . . . . . . . . . . 334 Font . . . . . . . . . . . . . . . . . . . 170 xset -fp . . . . . . . . . . . . . . . . . . 171 LC_* . . . . . . . . . . . . . . . . . . . 334 Framebuffer . . . . . . . . . . . . 142 xset +fp . . . . . . . . . . . . . . . . . . 171 MANPATH . . . . . . . . . . . . . . . 296 mkfontdir . . . . . . . . . . . . . . 170 xsetpointer . . . . . . . . . . . . . . . 174 PATH . . . . . . . . . . . . . . . . . . . . . 3 ottimizzare . . . . . . . . . . . . . 166 XT-Festplattencontroller . . . 264 PRINTER . . . . . . . . . . . . . . . 220 Protokolldatei . . . . . . . . . . . 146 xterm . . . . . . . . . . . . . . . . . . . . . 87 run_ldconfig . . . . . . . . . 296 Schede grafiche . . . . . . . . . 160 xvga16 . . . . . . . . . . . . . . . . . . 128 VG-AnyLAN . . . . . . . . . . . . . 273 set di caratteri . . . . . . . . . . . 170 xvidtune . . . . . . . . . . . . . . . . . . 145 vi . . . . . . . . . . . . . . . . . . . . . 1, 321 Shutdown . . . . . . . . . . . . . . 342 Xwrapper . . . . . . . . . . . . . . . . 291 virtuoso . . . . . . . . . . . . . . . . . . . 40 start . . . . . . . . . . . . . . . . . . . . 147 Virus . . . . . . . . . . . . . . . . . . 26, 94 Troubleshooting . . . . . . . . . 141 Y yast . . . . . . . . . . . . . . . . 3, 22, 47 W True type font . . . . . . . . . . . 170 YaST . . 2­4, 7­9, 12­23, 25, 32, Wabi . . . . . . . . . . . . . . . . . . . . . . 40 ttmkfdir . . . . . . . . . . . . . . . . 170 39, 47, 47­50, 52, 53, WD80x3 . . . . . . . . . . . . . . . . . 274 VGA . . . . . . . . . . . . . . . . . . . 142 59­63, 65­69, 71­74, Werner Almesberger . . . . . . . 112 VGA16 . . . . . . . . . . . . . . . . 142 76­79, 82­89, 97, 103, 107, Western Digital WD80x3 . . 274 X11R1 . . . . . . . . . . . . . . . . . . . 127 114, 115, 127, 128, 131, wget . . . . . . . . . . . . . . . . . . . . . 341 X11R6.3 . . . . . . . . . . . . . . . . . 127 148, 152, 197, 199, 204, wget . . . . . . . . . . . . . . . . . . . . . 304 X-Window-System . . . . . . . . 166 206, 209, 212, 224, 243, Windowmanager xdevel . . . . . . . . . . . . . . . . . . 308 288­292, 294, 298, impostare . . . . . . . . . . . . . . . . 82 xdevel33 . . . . . . . . . . . . . . . . 308 304­306, 312, 319, 324, Windows xdm . . . . . . . . . . . . . . 81, 291, 335 333­335, 337 Samba . . . . . . . . . . . . . . . . . 341 xdm . . . . . . . . . . . . . . . . . . . . . . 294 LILO . . . . . . . . . . . . . . . . . 76, 77 Windows NT XDM . . . . . . . . . . . . 81, 287, 294 Aiuto . . . . . . . . . . . . . . . . . . . 48 boot manager . . . . . . . . . . . . 93 configurazione . . . . . . . . . . 294 Amministrazione . . . . . . . . . 73 fare il boot . . . . . . . . . . . . . . 108 xf86 . . . . . . . . . . . . . . . . . . . . . 247 amministrazione dei gruppi 84 Windows 95 xf86config . 127, 130, 157, 163, amministrazione utenti . . . . 82 Creare le partizioni Linux . 31 165, 166 Backup . . . . . . . . . . . . . . . . . . 85 fare il boot . . . . . . . . . . . . . . 108 XF86Config . . . . . . . . . . . . . . 157 boot kernel . . . . . . . . . . . . . . 76 Menu per il boot . . . . . . . . 118 Clocks . . . . . . . . . . . . . . . . . 168 cancellare pacchetti . . . . . . . 73 Windows 95/98 Depth . . . . . . . . . . . . . . . . . . 168 CD-ROM, configurare il . . 74 Creare le partizioni Linux . 32 Device . . . . . . . . . . . . . . . . . 168 configurare la sched rete . . 74 Windows 98 . . vedi Windows 95 device-section . . . . . . . . . . 169 configurare la stampante . . 74 WU-FTPD . . . . . . . . . . . . . . . 293 InputDevice . . . . . . . . . . . . 166 configurare lo scanner . . . . 74 wuftpd . . . . . . . . . . . . . . . . . . 293 modeline . . . . . . . . . . . . . . . 168 configurazione del boot . . . 76 wvdial . . . . . . . . . . . . . . . 197, 209 Modes . . . . . . . . . . . . . 167, 168 configurazioni . . . . . . . . . . . . 66 wvdial . . . . . . . . . . . . . . . . . . 197 Monitor . . . . . . . . . . . . . . . . 168 console, font . . . . . . . . . . . . . 86 Monitor-Section . . . . . . . . . 170 Creare un rescue-Dischetto 76 X Screen-Section . . . . . . . . . . 167 Densità dellinode . . . . . . . . . 58 X . . . . . . . . . . . . . . . . . . . vedi X11 ServerLayout . . . . . . . . . . . 167 determinare la lingua . . . . . 49 X -probeonly . . . . . . . . . 163, 165 Subsection dispositivo dinstallazione . . 49 X Consortium, Inc. . . . . . . 1, 127 Display . . . . . . . . . . . . . . . . . 168 file di configurazione . . . . . 88 375 Indice analitico formattare . . . . . . . . . . . . . . . 59 Scelta dei pacchetti . . . . . . . 67 yast2-config-tune . . . . . 299 fstab-leggere il file . . . . . . 59 Scelta dei pacchetti da Yellow Pages . . . . . . . . . vedi YP Fuso orario . . . . . . . . . . . . . . 87 installare . . . . . . . . . . . . . . 66 YP gdm . . . . . . . . . . . . . . . . . . . . . 81 Scelta della serie . . . . . . . . . 67 Client configurare . . . . . . . . 80 gpm . . . . . . . . . . . . . . . . . . . . . 87 sicurezza del sistema . . . . . 86 Domain name . . . . . . . . . . . 340 hardware, integrare . . . . . . . 74 sistema, aggiornare . . . . . . . 73 Server . . . . . . . . . . . . . . . . . . 340 Impostazione della tastiera 47 stabilire i filesystem . . . . . . 55 YP-Server Impostazioni . . . . . . . . . . . . . 48 stabilire il mountpoint . . . . 57 Update . . . . . . . . . . . . . . . . . 297 indice delle serie e dei susewm . . . . . . . . . . . . . . . . . 82 pacchetti . . . . . . . . . . . . . . 71 Tasti delle funzioni . . . . . . . 47 yp-tools . . . . . . . . . . . . . . . . 298 Installare i pacchetti . . . . . . 72 Tipo del filesystem, stabilire . . ypbind . . . . . . . . . . . . . . . . . . 298 kdm . . . . . . . . . . . . . . . . . . . . . 81 56 ypclient . . . . . . . . . . . . 80, 298 La scelta della tastiera . . . . 49 Verificare dipendenze fra ypserv . . . . . . . . . . . . . . . . . . 297 LVM . . . . . . . . . . . . . . . . . . . . 65 pacchetti . . . . . . . . . . . . . . 69 yudit . . . . . . . . . . . . . . . . . . . . . 172 Menù principale . . . . . . . . . . 47 xdm . . . . . . . . . . . . . . . . . . . . . 81 yudit . . . . . . . . . . . . . . . . . . . 172 modem, configurare il . . . . 74 XFree . . . . . . . . . . . . . . . . . . . 87 mouse, configurare il . . . . . 74 YaST1 . . . 12, 29, 221, 288, 289 partizioni, fare le . . . . . . . . . 53 YaST2 . . . 7, 13, 65, 75, 86, 114, Z rete . . . . . . . . . . . . . . . . . . . . . 79 134, 181, 182, 203, 212, ZIP-device Scegliere il kernel . . . . . . . . 76 221, 226, 288, 298, 299 interfaccia parallela . . . . . . 183 376