The Linux Tips HOWTO Vince Reed, reedv@rpi.edu Traduzione Natali Giuliano(Diaolin) (febbraio 1996) v0.1, 30 August 1994 Questo documento descrive alcune brevi procedure ed idee per risparmi­ are tempo nella configurazione e nell'uso quotidiano di Linux. Tutto cio` che trovate qui dentro era troppo generale per essere incluso negli altri HOWTO. ______________________________________________________________________ Indice Generale 1. Introduzione 2. Piccoli Tips 2.1 Muovere le directory attraverso i filesystems. Alan Cox, A.Cox@swansea.ac.uk 2.2 Puntatore toper le patch allo GNU Make 3.70 per cambiare VPATH. Ted Stern, stern@amath.washington.edu 2.3 Come posso impedire che venga eseguito l' fsck ad ogni reboot del sistema? Dale Lutz, dal@wimsey.com 2.4 Come impedire gli "fscks" causati da "device busy" al reboot . Jon Tombs, jon@gtex02.us.es 2.5 Come stampare pagine con il margine (forabile) per i contenitori standard. Mike Dickey, mdickey@thorplus.lib.purdue.edu 2.6 Il modo per ricercare attraverso una serie di files una espressione regolare. Raul Deluth Miller, rockwell@nova.umd.edu 2.7 Uno script per ripulire il disco dai file di autosave e backup. Barry Tolnas, tolnas@nestor.engr.utk.edu 3. Tips dettagliati 3.1 Usare la partizione di swap di Linux anche per lo swap di Windows. Tony Acero, ace3@midway.uchicago.edu 3.2 Come configurare il "selezionatore" di xdm per la scelta degli host. Arrigo Triulzi, a.triulzi@ic.ac.uk ______________________________________________________________________ 11.. IInnttrroodduuzziioonnee Benvenuti al LLiinnuuxx TTiippss HHOOWWTTOO, il posto in cui troverete le risposte alle domande non attinenti ai linux howtos specifici . Nel tips howto, troverete piccoli "tricks" che renderanno l'uso e il mantenimento di Linux piu` facile. Comunque, essendo solo la seconda release deltips howto, il numero di tips riportato e` relativamente basso. Penso comunque che prossimamente stroveremo qualcosa in piu`... Mandatemi le vostre idee in modo che io le possa includere nell'howto. Vi ringrazio anticipatamente! Vince Reed Maintainer--Linux TIPS HOWTO 22.. PPiiccccoollii TTiippss 22..11.. MMuuoovveerree llee ddiirreeccttoorryy aattttrraavveerrssoo ii ffiilleessyysstteemmss.. AAllaann CCooxx,, AA..CCooxx@@sswwaannsseeaa..aacc..uukk Metodo veloce per muovere un intera directory da un disco all'altro: (cd /source/directory; tar cf - .)| (cd /dest/directory; tar xvfp -) 22..22.. PPuunnttaattoorree ttooppeerr llee ppaattcchh aalllloo GGNNUU MMaakkee 33..7700 ppeerr ccaammbbiiaarree VVPPAATTHH.. TTeedd SStteerrnn,, sstteerrnn@@aammaatthh..wwaasshhiinnggttoonn..eedduu Non saprei quante siano le persone che hanno riscontrato il problema, ma c'e` una "feature" del GNU make versione 3.70 che non mi piace. In questa il VPATH si comporta stranamente se gli assegnate un pathname assoluto. C'e` una patch estremamente valida che lo corregge, la potete ottenere da Paul D. Smith psmith@wellfleet.com. Lui spedisce la documentazione e la patch dopo ogni revisione dello GNU make sul newsgroup 'gnu.utils.bug'. Generalmente,io applico questa patch e ricompilo il gmake su ogni sistema al quale ho possibilita` di accedere. 22..33.. CCoommee ppoossssoo iimmppeeddiirree cchhee vveennggaa eesseegguuiittoo ll'' ffsscckk aadd ooggnnii rreebboooott ddeell ssiisstteemmaa?? DDaallee LLuuttzz,, ddaall@@wwiimmsseeyy..ccoomm _D_=_D_o_m_a_n_d_a _R_=_R_i_s_p_o_s_t_a D: Come posso fare per impedire a e2fsck di controllare il disco ad ogni sequenza di boot? R: Quando ricompili il kernel,il filesystem viene marcato 'dirty' e cosi` il disco viene controllato ad ogni boot.La soluzione e` eseguire: rdev -R /zImage 1 .Questo corregge il kernel per convincerlo che il filesystem non e` "dirty". _N_o_t_a_: _S_e _u_s_a_t_e _l_i_l_o_, aggiungete la riga read-only _n_e_l _v_o_s_t_r_o _f_i_l_e _d_i _c_o_n_f_i_g_u_r_a_z_i_o_n_e _d_i _l_i_l_o _(_D_i _s_o_l_i_t_o _/_e_t_c_/_l_i_l_o_._c_o_n_f_) 22..44.. CCoommee iimmppeeddiirree ggllii ""ffsscckkss"" ccaauussaattii ddaa ""ddeevviiccee bbuussyy"" aall rreebboooott .. JJoonn TToommbbss,, jjoonn@@ggtteexx0022..uuss..eess Se incontrate spesso l'errore device busy allo shutdown il che' provoca un fsck del filesystem al momento del reboot, eccovi la semplice soluzione: aggiungete questa linea al file /etc/brc o al file /sbin/brc, mount -o remount,ro /mount.dir per tutti i filesystems montati escludendo /, prima della chiamata umount -a. Questo serve se , per qualsiasi ragione, lo shutdown fallisce nella chiusura di tutti i processi e nello smontare i dischi; questi saranno comunque a posto al reboot. Nel mio caso questo salva un bel po` di tempo ad ogni reboot. 22..55.. CCoommee ssttaammppaarree ppaaggiinnee ccoonn iill mmaarrggiinnee ((ffoorraabbiillee)) ppeerr ii ccoonntteenniittoorrii ssttaannddaarrdd.. MMiikkee DDiicckkeeyy,, mmddiicckkeeyy@@tthhoorrpplluuss..lliibb..ppuurrdduuee..eedduu ______________________________________________________________________ #!/bin/sh # /usr/local/bin/print # a simple formatted printout, to enable someone to # 3-hole punch the output and put it in a binder cat $1 | pr -t -o 5 -w 85 | lpr ______________________________________________________________________ 22..66.. IIll mmooddoo ppeerr rriicceerrccaarree aattttrraavveerrssoo uunnaa sseerriiee ddii ffiilleess uunnaa eesspprreess­­ ssiioonnee rreeggoollaarree.. RRaauull DDeelluutthh MMiilllleerr,, rroocckkwweellll@@nnoovvaa..uummdd..eedduu Ho chiamato questo script 'forall'. Usatelo cosi`: forall /usr/include grep -i ioctl forall /usr/man grep ioctl Ed eccovi forall: ______________________________________________________________________ #!/bin/sh if [ 1 = `expr 2 $ #` ] then echo Usage: $0 dir cmd [optargs] exit 1 fi dir=$1 shift find $dir -type f -print | xargs "$@" ______________________________________________________________________ 22..77.. UUnnoo ssccrriipptt ppeerr rriippuulliirree iill ddiissccoo ddaaii ffiillee ddii aauuttoossaavvee ee bbaacckkuupp.. BBaarrrryy TToollnnaass,, ttoollnnaass@@nneessttoorr..eennggrr..uuttkk..eedduu Qui propongo un semplice script di shell che ricursivamente discende un ramo di directories rimuovendo i file di auto-save ( )e backup (#) di emacs , .o files,ed i files di TeX .log . Comprime inoltre i files .tex ed i README . Sul mio sistema l'ho chiamato : squeeze. ____________________________________________________________ #!/bin/sh #SQUEEZE removes unnecessary files and compresses .tex and README files #By Barry tolnas, tolnas@sun1.engr.utk.edu # echo squeezing $PWD find $PWD -name -or -name -or -name -or -name -exec rm -f {} find $PWD -name -or -name -or -name -exec gzip -9 {} ____________________________________________________________ 33.. TTiippss ddeettttaagglliiaattii 33..11.. UUssaarree llaa ppaarrttiizziioonnee ddii sswwaapp ddii LLiinnuuxx aanncchhee ppeerr lloo sswwaapp ddii WWiinn­­ ddoowwss.. TToonnyy AAcceerroo,, aaccee33@@mmiiddwwaayy..uucchhiiccaaggoo..eedduu 1. Formattate la partition come partizione dos, e createvi il file di swap di Windows al suo interno, ma non fate ripartire windows subito. (Dovete mantenerlo completamente vuoto per il momento, per comprimerlo al massimo). 2. Fate partire linux e salvate la partizione in un file. Poniamo che la partizione fosse/dev/hda8: _d_d _i_f_=_/_d_e_v_/_h_d_a_8 _o_f_=_/_e_t_c_/_d_o_s_s_w_a_p 3. Comprimete il file dosswap ; visto che e` a 0 verra` compresso nel modo migliore _g_z_i_p _-_9 _/_e_t_c_/_d_o_s_s_w_a_p 4. Aggiungete, al vostro file /etc/rc per preparare ed installare lo spazio di swap sotto Linux: _X_X_X_X_X _c_o_r_r_i_s_p_o_n_d_e _a_l _n_u_m_e_r_o _d_i _b_l_o_c_c_h_i _n_e_l_l_a _p_a_r_t_i_z_i_o_n_e _d_i _s_w_a_p _m_k_s_w_a_p _/_d_e_v_/_h_d_a_8 _X_X_X_X_X _s_w_a_p_o_n _-_a_v 5. Assicuratevi di aggiungere un' "entry" per la partizione di swap nel vostro file /etc/fstab 6. Se il vostro pacchetto "init/reboot" supporta /etc/brc o /sbin/brc aggiungete ,a /etc/brc, o aggiungetelo manualmente quando volete reboottare con dos|os/2, e desiderate riconvertire la partizione di swap di nuovo alla versione per dos/windows : _s_w_a_p_o_f_f _-_a_v _z_c_a_t _/_e_t_c_/_d_o_s_s_w_a_p_._g_z _| _d_d _o_f_=_/_d_e_v_/_h_d_a_8 _b_s_=_1_k _c_o_u_n_t_=_1_0_0 NN..BB.. :Notate che questo scrive solamente i primi 100 blocchi della partizione. Empiricamente, ho notato che questo e` sufficiente. Quali sono i pro ed i contro? Pro: risparmierete un bel po` di spazio su disco. Contro: se il passaggio 5 non e` automatizzato, dovrete ricordarvi di farlo manualmente, e questo rallentera` il processo di reboot di qualche nanosecondo. :-) 33..22.. CCoommee ccoonnffiigguurraarree iill ""sseelleezziioonnaattoorree"" ddii xxddmm ppeerr llaa sscceellttaa ddeeggllii hhoosstt.. AArrrriiggoo TTrriiuullzzii,, aa..ttrriiuullzzii@@iicc..aacc..uukk 1. Editate il file che lancia xdm (probabilmente /etc/rc/rc.6 o /etc/rc.local) in modo che contenga le seguenti linee nella sezione di startup di xdm. _/_u_s_r_/_b_i_n_/_X_1_1_/_x_d_m _e_x_e_c _/_u_s_r_/_b_i_n_/_X_1_1_/_X _-_i_n_d_i_r_e_c_t _h_o_s_t_n_a_m_e 2. Editate /usr/lib/X11/xdm/Xservers e commentate la linea che fa` partire il server sulla macchina locale i.e. starting 0: 3. Eseguite il reboot e siete a posto. Lo aggiunsi quando, disperato, provavo a settare la mia "subnet" ed occupai almeno una settimana per la soluzione del problema. Caveat: con la vecchia edizione SLS (1.1.1) per alcune ragioni potrete lasciare la stringa -nodaemon alla fine della riga contenente il comando xdm -- qquueessttoo NNOONN ffuunnzziioonnaa ccoonn llee rreelleeaassee ssuucccceessssiivvee.