ALCUNI FILES DI CONFIGURAZIONE di GNU/Linux Luglio 2004 Kernel GNU/Linux: 2.4.22 Distribuzione di riferimento: Slackware 9.1 Cos'è: Un elenco di alcuni files di configurazione di GNU/Linux, con alcune brevi spiegazioni. Disclaimer: Visto che sono un po' smemorato, ho redatto innanzitutto questo testo per ricordarmi dove andare a mettere le mani ogni volta che voglio fare una installazione pulita del Sistema Operativo. Sono dunque le stesse informazioni che ho utilizzato io sulla mia macchina, ma non posso dare alcuna garanzia sul loro funzionamento. Se seguite queste istruzioni, lo fate a vostro rischio e pericolo! Leggete SEMPRE la documentazione ufficiale delle utility che userete (digitando 'man comando_da_capire' senza apici). * * * * * * * * * * * * LEGENDA nomefile paginadimanuale (n) spiegazione ___[nomefile]___________________________________________________________________________________ contenuto del file ________________________________________________________________________________________________ * * * * * * * * * * * * PRELUDIO: IL BOOTLOADER lilo, lilo.conf Visto che senza bootloader non si va da nessuna parte, e visto che l'installazione automatica in fase di installazione può dare alcuni problemini (a me me ne ha dati), tanto vale elencare anche l'istruzione per installare il bootloader LILO. Si tratta di una operazione molto delicata, quindi pensateci bene prima di fare alcunché. Questo installa il bootloader nel MBR (Master Boot Record) del disco. lilo -b /dev/hda Se lo volete installare all'inizio di una partizione, basta che passiate come argomento la partizione su cui installarlo. Ad esempio: lilo -b /dev/hda4 Dove hda4 contiene la partizione di root di Linux. Per disinstallare LILO da un disco o partizione, utilizzate il comando lilo -u. Se ad esempio volete eliminare LILO dal MBR del primo disco IDE, digitate lilo -u /dev/hda Se vi dà errore di timestamp, potete provare con lilo -U /dev/hda /etc/lilo.conf configurazione del bootloader LILO (e passaggio di parametri al kernel Linux) - Decommentare la risoluzione e profondità del colore che si preferisce usare per la shell bash. - Inserire eventuali parametri da passare al kernel tramite la stringa append. Argomenti diversi vanno separati da uno spazio. (ecco un esempio) ___[/etc/lilo.conf]_____________________________________________________________________________________ # LILO configuration file # generated by 'liloconfig' # # Start LILO global section boot="/dev/hda" message = /boot/boot_message.txt prompt timeout="1200" # Override dangerous defaults that rewrite the partition table: change-rules reset # VESA framebuffer console @ 800x600x256 vga="771" # Normal VGA console # vga = normal # VESA framebuffer console @ 1024x768x64k # vga=791 # VESA framebuffer console @ 1024x768x32k # vga=790 # VESA framebuffer console @ 1024x768x256 # vga=773 # VESA framebuffer console @ 800x600x64k # vga=788 # VESA framebuffer console @ 800x600x32k # vga=787 # VESA framebuffer console @ 800x600x256 # vga=771 # VESA framebuffer console @ 640x480x64k # vga=785 # VESA framebuffer console @ 640x480x32k # vga=784 # VESA framebuffer console @ 640x480x256 # vga=769 # End LILO global section # DOS bootable partition config begins other = /dev/hda1 label = DOS table = /dev/hda # DOS bootable partition config ends # Linux bootable partition config begins image = /boot/vmlinuz root = /dev/hda2 label = Linux read-only # Linux bootable partition config ends append="apm=on hdc=ide-scsi" # elenco 'funzioni kernel' abilitate (in ordine) # hdc=ide-scsi ; lo uso per caricare il masterizzatore (hdc è il secondary master) # apm=on ; abilito l'Advanced Power Management (controllo dell'alimentatore e via dicendo) ________________________________________________________________________________________________ /etc/fstab fstab, mount (8) tabella di partizione se passiamo un uid (user id) come parametro, quello diventerà proprietario della partizione, e tutti i files ivi contenuti saranno considerati suoi. ecco un esempio: per comodità (o per vezzo), i nomi di montaggio delle partizioni FAT32 riprendono i nomi dei satelliti di Saturno per il Primary Master (il primo disco IDE) ed Urano per il Primary Slave (il secondo disco IDE). ___[/etc/fstab]______________________________________________________________________________ /dev/hda3 swap swap defaults 0 0 /dev/hda4 / ext2 defaults 1 1 /dev/hdb1 /win/ariel vfat defaults,uid=1000 1 0 /dev/hdb5 /win/miranda vfat defaults,uid=1000 1 0 /dev/hda1 /win/encelado vfat defaults,uid=1000 1 0 /dev/hda5 /win/giapeto vfat defaults,uid=1000 1 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec,dev,suid,unhide 0 0 /dev/cdrw /mnt/cdrw iso9660 noauto,ro,user,exec,dev,suid,unhide 0 0 /dev/fd0 /mnt/floppy auto noauto,owner,user,exec,dev,suid 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 proc /proc proc defaults 0 0 ________________________________________________________________________________________________ (per capire il significato delle opzioni nella quarta colonna, consultate il manuale di mount) per il masterizzatore, denominato cdrw, ho dovuto creare un link simbolico come segue: ln -sf /dev/scd0 /dev/cdrw oppure ln -sf /dev/sr0 /dev/cdrw per il cdrom il link potrebbe esistere già, ma lo posso sostituire con questo ln -sf /dev/hdd /dev/cdrom ricordatevi poi di creare (sempre come superutente) la corrispettiva directory in /mnt, che in questo caso sarà cdrw, altrimenti il montaggio sarà impossibile. Se volete che altri utenti possano eseguire comandi come eject, bisognerà dare i permessi di lettura al rispettivo device ( /dev/scd0 e/o /dev/sr0) oppure (e forse è consigliabile) aggiungere gli utenti a cui si vogliono dare tali privilegi al gruppo 'disk'. Potrebbe essere necessario un logout dell'utente interessato per applicare i cambiamenti. /etc/X11/XF86Config configurazione XFree crearlo con la procedura guidata xf86config ripristinare valori di default con xfree86setup (crea un file per 'generico') Se si vuole l'accelerazione 3D, bisogna togliere i commenti alle righe che seguono (suggerito nella SlackwareHOWTO) # This loads the GLX module # Load "glx" # This loads the DRI module # Load "dri" e # Section "DRI" # Mode 0666 # EndSection Se si ha un mouse con rotella e la si vuole attivare, modificare la sezione relativa al mouse nella sezione InputDevice: Identifier "Mouse1" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/mouse" # abilito rotella del mouse Option "ZAxisMapping" "4 5" Il protocollo passa da PS/2 a IMPS/2 e si aggiunge l'ultima stringa. /!\ Grazie a gotux e dndvault per avermi suggerito questa modifica! ;) NOTA: Dalla Slackware 10 XFree è stato rimpiazzato dal clone X.org Il file di configurazione diventa /etc/X11/xorg.conf , ed è più leggero (tolte tutte le opzioni commentate). Per creare il file di configurazione: Xorg -configure e sostituirlo al file /etc/X11/xorg.conf . Modificare il file a seconda delle proprie esigenze. ATTENZIONE! Bisogna settare il range di valori per HorizSync e VertRefresh nella sezione Monitor, altrimenti i windows manager non superano la risoluzione di 640x480. Porre DefaultDepth a 24. Impostare Option "XkbLayout" "it" in InputDevice (keyboard) per avere il layout tastiera di X in italiano. Ecco il mio file di configurazione con X.org ___[/etc/X11/xorg.conf]______________________________________________________________________________ Section "ServerLayout" Identifier "X.org Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" ModulePath "/usr/X11R6/lib/modules" FontPath "/usr/X11R6/lib/X11/fonts/misc/" FontPath "/usr/X11R6/lib/X11/fonts/TTF/" FontPath "/usr/X11R6/lib/X11/fonts/Speedo/" FontPath "/usr/X11R6/lib/X11/fonts/Type1/" FontPath "/usr/X11R6/lib/X11/fonts/CID/" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/" EndSection Section "Module" Load "record" Load "extmod" Load "dbe" Load "dri" Load "glx" Load "xtrap" Load "freetype" Load "type1" Load "speedo" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" # Option "Xkbrules" "xorg" # Option "XkbModel" "pc105" Option "XkbLayout" "it" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/mouse" # abilito rotella del mouse Option "ZAxisMapping" "4 5" EndSection Section "Monitor" #DisplaySize 280 210 # mm Identifier "Monitor0" VendorName "OLI" ModelName "9c0" Option "DPMS" HorizSync 30-65 VertRefresh 50-110 EndSection Section "Device" ### Available Driver options are:- ### Values: : integer, : float, : "True"/"False", ### : "String", : " Hz/kHz/MHz" ### [arg]: arg optional #Option "SWcursor" # [] #Option "HWcursor" # [] #Option "PciRetry" # [] #Option "SyncOnGreen" # [] #Option "NoAccel" # [] #Option "ShowCache" # [] #Option "Overlay" # [] #Option "MGASDRAM" # [] #Option "ShadowFB" # [] #Option "UseFBDev" # [] #Option "ColorKey" # #Option "SetMclk" # #Option "OverclockMem" # [] #Option "VideoKey" # #Option "Rotate" # [] #Option "TexturedVideo" # [] #Option "Crtc2Half" # [] #Option "Crtc2Ram" # #Option "Int10" # [] #Option "AGPMode" # #Option "AGPSize" # #Option "DigitalScreen1" # [] #Option "DigitalScreen2" # [] #Option "TV" # [] #Option "TVStandard" # [] #Option "CableType" # [] #Option "NoHal" # [] #Option "SwappedHead" # [] #Option "DRI" # [] #Option "MergedFB" # [] #Option "Monitor2HSync" # [] #Option "Monitor2VRefresh" # [] #Option "Monitor2Position" # [] #Option "MetaModes" # [] Identifier "Card0" Driver "mga" VendorName "Matrox Graphics, Inc." BoardName "MGA G400 AGP" BusID "PCI:1:0:0" EndSection # mio test #Section "Modes" # Identifier "preferita" # ModeLine "800x600" #EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 1 EndSubSection SubSection "Display" Viewport 0 0 Depth 4 EndSubSection SubSection "Display" Viewport 0 0 Depth 8 EndSubSection SubSection "Display" Viewport 0 0 Depth 15 EndSubSection SubSection "Display" Viewport 0 0 Depth 16 EndSubSection SubSection "Display" Depth 24 Modes "800x600" "640x480" Virtual 800 600 Viewport 0 0 EndSubSection EndSection ________________________________________________________________________________________________ /etc/rc.d/rc.modules moduli caricati all'avvio per attivare le funzioni, decommentare la voce relativa decommentare supporto APM #/sbin/modprobe apm /etc/inittab elenco dei 'runlevels' - si possono decidere le operazioni compiute dalla macchina all'avvio, allo spegnimento e via dicendo - da qui si può cambiare il runlevel predefinito (nella slack9.1 il 3 è console, il 4 è grafico) (la stringa specifica appare così) # Default runlevel. (Do not set to 0 or 6) # prima l'ho portato da 3 a 4 (ma lo preferisco a 3) id:3:initdefault: /etc/filesystems mount (8) se in /etc/fstab si setta qualche partizione come 'auto', qui verrà cercato l'elenco dei filesystem fra cui scegliere. Questo è utile per esempio per i floppy FAT, che possono essere o meno compatibili con i nomi lunghi (per cui serve la vfat). Se il file non è presente, bisogna crearlo: i filesystem vanno separati da un ritorno a capo, e l'ultima riga del file deve sempre contenere un solo *. (il mio file si presenta così) ___[/etc/filesystems]___________________________________________________________________________ vfat msdos * ________________________________________________________________________________________________ /usr/X11R6/lib/X11/xinit/xinitrc alla fine del file, viene lanciato il comando per far partire un ambiente grafico (qua vi sono gli esempio con KDE e GNOME). Digitando 'startx' verrà quindi avviato quello di default specificato qui. # Start the window manager: #startkde gnome-session