Linux UMSDOS HOW-TO <author>Jacques Gelinas, <tt/jacques@solucorp.qc.ca/ <date>v1.1, 13 novembre 1995 <abstract> <em/Umsdos/ è un file system Linux. Esso provvede un'alternativa al filesystem <em/EXT2/. La proprietà principale consiste nel poter condividere facilmente i dati con <em/Ms-DOS/ utilizzando la stessa partizione. Questo documento spiega prima come usare Umsdos in configurazioni diverse, poi spiega queste operazioni e tenta di provvedere alcune informazioni per dare la possibilità di decidere se <em/Umsdos/ è una buona scelta (vedere ``Perché UMSDOS'' in fondo al documento). Questo documento è stato tradotto da Michele Dalla Sivestra, <tt/dalla@maya.dei.unipd.it/, ultima revisione il 05/02/96. </abstract> <toc> <sect>UMSDOS: Cos'è? <p> <sect1>Storia <p> Il progetto <em/Umsdos/ fu iniziato nel 1992 e reso disponibile in rete nel gennaio 1994 come patch. Esso fu incluso nella distribuzione standard del kernel in luglio, partendo dal kernel 1.1.36. <em/Umsdos/ fu poi adottato nella distribuzione <em/Slackware/ anche se non era ancora ufficialmente incluso nel kernel. <em/Umsdos/ fu migliorato dal kernel 1.1.60. Le sue performance sono state notevolmente potenziate, specialmente in scrittura. Dalla versione 1.1.70 è abbastanza stabile. L'errore più grosso fu risolto in <em/Linux/ 1.2.2. Questo bug causava angoscia agli utenti (alcuni file venivano silenziosamente rinominati, dando l'impressione che fossero eliminati). Attenzione che la <em/Slackware/ 2.2 ha la release del kernel 1.2.1, per cui ha ancora questo bug. <sect1>Disponibilità <p> Esso è disponibile come patch per il kernel 1.0.x. È compreso con il kernel 1.2. Esso può essere compilato o caricato come modulo. Attenzione: se si intende caricare <em/Umsdos/ come modulo, si deve usare anche il fs Ms-DOS come modulo. Questo viene da una limitazione nel sistema dei moduli (alcuni simboli sono solo esportati quando i driver sono installati come moduli). <sect1>Distrizioni supportanti Umsdos <p> Penso che solo <em/Slackware/ supporti umsdos. Potrei sbagliarmi, quindi mandatemi informazioni per correggere questo. <sect1>Sito base <p> L'home site di <em/Umsdos/ è <tt/sunsite.unc.edu/. Vedere nella directory <tt>/pub/Linux/system/Filesystems/umsdos</tt>. <sect1>Documentazione tecnica <p> C'è abbastanza documentazione sulle caratteristiche interne di <em/Umsdos/. È disponibile sia in formato <tt/HTML/ e sia testo insieme ai file di utilità. Per quello che so, la versione <tt/HTML/ non è ancora disponibile in linea su un sito web. È necessario scaricarla, separare i file (un-tar) e leggerla localmente. <sect1>Chi lo scrisse <p> Jacques Gelinas, <tt/jacques@solucorp.qc.ca/. <sect>Umsdos come partizione di root <p> <sect1>Il concetto di pseudo-root <p> Con <em/Umsdos/, <em/Linux/ può essere installato in una partizione standard DOS. <em/Linux/ è installato come secondo (o terzo) S. O. della partizione. Per evitare collisioni nei nomi (potrebbe esserci già una directory <tt/bin/ o <tt/tmp/ nel drive C:), <em/Umsdos/ usa un piccolo trucco: lo pseudo-root. Tutti i file <em/Linux/ sono installati in una sottodirectory DOS chiamata <tt/linux/, generalmente <tt/C:\LINUX/. La normale struttura directory <em>Linux/Unix</em> finisce lì. Così si ha <itemize> <item> <verb/C:\LINUX\BIN/ <item> <verb/C:\LINUX\ETC/ <item> <verb/C:\LINUX\LIB/ <item> <verb/C:\LINUX\ROOT/ <item> <verb/C:\LINUX\SBIN/ <item> <verb/C:\LINUX\TMP/ <item> <verb/C:\LINUX\USR/ <item> <verb/C:\LINUX\VAR/ </itemize> Quando si avvia <em/Umsdos/, esso esplora se esiste la directory <tt/linux/ e poi <tt>/linux/etc</tt>. Se esistono, viene attivata la modalità pseudo-root. Generalmente, la modalità pseudo-root imposta la partizione di root a <tt/C:\LINUX/ dando l'aspetto convenzionale delle directory di <em/Unix/. <itemize> <item><verb>/bin</verb> <item><verb>/etc</verb> <item><verb>/lib</verb> <item><verb>/root</verb> <item><verb>/sbin</verb> <item><verb>/tmp</verb> <item><verb>/usr</verb> <item><verb>/var</verb> </itemize> A questa lista ne viene aggiunta una nuova chiamata <tt/DOS/. Questa è una directory virtuale. <sect1>Cose da sapere sullo pseudo-root <p> <itemize> <item>Questa modalità può essere commutata solamente all'avvio. Non c'è modo per attivarla con un comando mount. <item>Questo meccanismo è solamente una visione diversa di un normale filesystem <em/Umsdos/. Questo significa che una partizione normalmente usata come partizione di root può essere montata normalmente. Non c'è nessun effetto pseudo-root. Per esempio, se si avvia Linux con un disco di manutenzione e si monta la partizione di root in <tt>/mnt</tt>, si troveranno tutte le directory di Linux in <tt>/mnt/linux/bin</tt>, <tt>/mnt/linux/etc</tt> e così via. </itemize> <sect>Vari aspetti sul funzionamento di <em/Umsdos/ <p> <sect1>Opzioni di mount <p> Si possono usare le stesse opzioni di mount come per i filesystem Ms-DOS. L'opzione <tt/conv=/ è ambigua su un sistema <em/Umsdos/. Suggerisco di evitarla. Generalmente le opzioni da guardare sono <itemize> <item>uid= <item>gid= <item>umask= </itemize> Ricordarsi che la gestione <em/Umsdos/ non promuove le directory nello stesso modo dei filesystem <em/Ms-DOS/. Le opzioni precedenti sono applicate globalmente a tutte le directory non promosse. <em/uid/ imposta il proprietario di default, <em/gid/ imposta il gruppo di default e <em/umask/ imposta i permessi di default. <sect1>Impostare i parametri per la directory di root <p> <tt/umssetup/ fu creato per impostare durante il funzionamento il proprietario della partizione di root. Per altre partizioni <em/Umsdos/ si possono usare le opzioni di <tt/mount/ oppure <tt/umssetup/. Il modo migliore per le partizioni non di root è di mettere le opzini in <tt>/etc/fstab</tt>. Qui c'è un esempio. Mettete questo in <tt>/etc/rc.d/rc.S</tt>. <tscreen><verb> /sbin/umssetup -u jack -g group -m 0755 / </verb></tscreen> <sect1>Swap o non swap <p> Usare un file di swap è generalmente più lento di una partizione di swap. Esso è comunque molto più flessibile. Si può impostare un file di swap in una partizione <em/Umsdos/ nello stesso modo con cui lo si fa con ogni altro filesystem <em/Linux/. Per esempio, per impostare un file di swap da 8 Mb nella directory di root: <tscreen><verb> dd if=/dev/zero bs=1024k count=8 of=/swap mkswap /swap 8192 sync swapon /swap </verb></tscreen> Fatto questo, inserire la linea seguente in <tt>/etc/fstab</tt> <tscreen><verb> /swap swap swap default </verb></tscreen> E il file di swap verrà attivato ad ogni avvio (generalmente c'è un ``<tt/swapon -a/'' in <tt>/etc/rc.d/rc.S</tt>). <sect>Come avviare un sistema Umsdos <p> <sect1>Loadlin <p> Il pacchetto <tt/lodlin15.tgz/ disponibile a <tt/sunsite.unc.edu/ in <tt>/pub/Linux/system/Bootutils</tt>. Questa utility è adatta per avviare un sistema <em/Umsdos/. Generalmente tutto quello che bisogna fare è <tscreen><verb> Avviare DOS C:\>loadlinx zimage root=D: </verb></tscreen> dove <tt/zimage/ è una normale immagine kernel (compressa) semplicemente copiata nel drive DOS. <tt/D:/ è il drive DOS dove è stato installato <em/Linux/. <sect1>Da floppy <p> Avviare un sistema <em/Umsdos/ da floppy non è diverso da avviare un sistema <em/Ext2/. È necessaria un'immagine del kernel configurata per localizzare la partizione <em/Umsdos/ di root. Questo viene fatto normalmente usando il comando <tt/rdev/. La seguente sequenza inizializza un'immagine e la mette su un floppy. <tscreen><verb> rdev zImage /dev/hda1 rdev -R zImage 0 dd if=zImage bs=8192 of=/dev/fd0 </verb></tscreen> Se questo sembra confuso, formattare un disco di avvio DOS e mettere in esso i seguenti file <itemize> <item>loadlin.exe <item>loadlinx.exe <item>zimage </itemize> e impostare l'<tt/autoexec.bat/ come questo <tscreen><verb> loadlinx zimage rw root=C: </verb></tscreen> <sect1>LILO <p> LILO, il caricatore ufficiale di <em/Linux/ può anche essere usato all'avvio di un sistema <em/Umsdos/. Comunque non ho esperienza con questo. Dal 1.1.60 dovrebbe funzionare. Scrivetemi una email se sapete qualcosa. <sect1>Come ottimizzare una partizione <em/Umsdos/ <p> Può essere fatto usando un qualsiasi strumento DOS. Non c'è niente di particolare sui file prodotti da <em/Umsdos/. E <em/Umsdos/ non si aspetta niente di particolare (struttura directory, intestazioni directory...) dal filesystem sottostante. Da quello che so non ci sono strumenti <em/Linux/ per fare ciò. <sect1>Aspetti avanzati <p> <em/Umsdos/ si affida sul file <tt/--linux-.---/ il quale si affida sulla directory <em/DOS/. Alcuni utenti potrebbero voler provare un po'. L'utility <tt/udosctl/ inclusa nel pacchetto umsdos_progs (contenente <tt/umssync/ e <tt/umssetup/) permette semplici operazioni sulle directory (liste, eliminazioni) indipendentemente dal file <tt/--linux-.---/ e dalla directory <em/DOS/. <sect>Principi base <p> <sect1>Introduzione <p> <em/Umsdos/ mappa i file <em/Linux/ direttamente in file <em/Ms-DOS/. Questa è l'unica trasformazione. Il contenuto dei file non è assolutamente modificato. <em/Umsdos/ lavora solo sui nomi. Per file speciali (link e dispositivi per esempio) è introdotta una gestione speciale. Per ogni directory c'è un file chiamato <tt/--linux-.---/. <sect1><em/Umsdos/ può sostituire il filesystem <em/Ms-DOS/. <p> L'<em/Umsdos/ è un superset per usi generali del filesystem <em/Ms-DOS/ di Linux. In effetti questa capacità e flessibilità crea molta confusione su <em/Umsdos/. Vediamo il perché. Provate a montare un floppy appena formattato <em/DOS/ come qui. <tscreen><verb> mount -t umsdos /dev/fd0 /mnt </verb></tscreen> E scrivere questo: <tscreen><verb> ls / >/mnt/LONGFILENAME ls -l /mnt </verb></tscreen> Si otterrà il seguente risultato <tscreen><verb> -rwxr-xr-x 1 root root 302 Apr 14 23:25 longfile </verb></tscreen> Sembra che il filesystem <em/Umsdos/ non sia molto di più (in realtà non proprio) del normale filesystem <em/Ms-DOS/ di <em/Linux/. <sect1>Promozione di directory <p> Qui sta il trucco. Finché non si promuove una directory <em/DOS/, essa verrà gestita allo stesso modo sia dal filesystem <em/Ms-DOS/ che dal filesystem <em/Umsdos/. <em/Umsdos/ usa uno speciale file in ogni subdirectory per registrare le traduzioni tra le capacità estese (nomi lunghi, proprietari ecc.) del filesystem <em/Umsdos/ e i limiti di <em/Ms-DOS/. Questo file è invisibile agli utenti <em/Umsdos/, ma visibile quando si avvia <em/DOS/. Per evitare di ingombrare la partizione <em/DOS/ con questi file (<tt/--linux-.---/) non utilizzati, il file è ora opzionale. Se assente, <em/Umsdos/ diventa simile a <em/Ms-DOS/. Quando una directory è promossa, ogni operazione verrà fatta con la piena semantica normalmente disponibile agli utenti <em/Unix/ e <em/Linux/. E tutte le subdirectory create successivamente saranno silenziosamente promosse. Questa caratteristica permette di organizzare logicamente la partizione <em/DOS/ in zone <em/DOS/ e zone <em/Linux/. È importante capire che questi file <tt/--linux-.---/ occupano spazio (generalmente 2k per directory). Il <em/DOS/ generalmente usa cluster larghi (grandi 16k per partizioni da 500 Mb), quindi evitare di mettere <tt/--linux-.---/ ovunque permette di guadagnare spazio. <sect1>Come promuovere: <tt>/sbin/umssync</tt> <p> Una directory può essere promossa in ogni momento usando <tt>/sbin/umssync</tt>. Promuovere una directory significa fare le seguenti operazioni <itemize> <item>Creare un <tt/--linux-.---/. <item>Stabilire una relazione tra <tt/--linux-.---/ e l'attuale contenuto della directory. </itemize> <tt>/sbin/umssync</tt> mantiene un esistente file <tt/--linux-.---/. Non lo crea da zero ogni volta. Semplicemente aggiunge le informazioni mancanti (file creati durante una sessione <em/DOS/). Esso rimuove anche i file che non esistono più nella directory <em/DOS/ da <tt/--linux-.---/. <tt/umssync/ prende il nome da questo. Esso sincronizza <tt/--linux-.---/ con la sottostante directory <em/DOS/. <sect1>Usare <tt>/sbin/umssync</tt> all'avvio <p> È una buona idea mettere una chiamata a <tt>/sbin/umssync</tt> alla fine del file <tt>/etc/rc.d/rc.S</tt> se non c'è già. Il comando seguente è adeguato per molti sistemi: <tscreen><verb> /sbin/umssync -r99 -c -i+ / </verb></tscreen> L'opzione <tt/-c/ previene <tt/umssync/ dal promuovere directory. Esso aggiorna solamente i <tt/--linux-.---/ esistenti. Questo comando è utile se si accede alla directory <em/Linux/ durante una sessione <em/DOS/. <em/Linux/ non ha mezzi efficienti per capire che una directory è stata modificata da <em/DOS/, così <em/Umsdos/ non può fare l'operazione <em/umssync/ quando necessario. <sect1>Come UN-promuovere <p> Rimuovere il file <tt/--linux-.---/ usando il <em/DOS/. Tutto qui. <sect1>Cosa succede con i file creati durente una sessione <em/DOS/? <p> Finché non si usa <tt/umssync/ su una directory dove i file sono stati aggiunti o rimossi da <em/DOS/, si noteranno alcuni problemi: <itemize> <item>Non va in crash e nemmeno crea problemi maggiori, soltanto alcune noie. <item>I file creati da <em/DOS/ <itemize> <item>sono invisibili in <em/Linux/; <item>quando si crea un file con lo stesso nome si otterrà un messaggio di errore indicante che il file esiste già; <item>questo crea più confusione che problemi reali. Non viene danneggiato il filesystem. </itemize> <item>I file eliminati da <em/DOS/ non creano problemi. <em/Umsdos/ noterà l'assenza al primo accesso. Verrà stampato un messaggio (e generalmente riportato in <tt>/var/adm/syslog</tt>). </itemize> <sect>Installazione/Disinstallazione e alcuni trucchi <p> L'installazione di <em/Umsdos/ non è molto diversa dall'installazione di un filesystem ordinario (es. <em/Ext2/) <em/Linux/. Ci sono due principali differenze. <sect1>Lo pseudo-root <tt>/mnt/linux</tt> <p> La normale sequenza di operazioni per l'installazione è <enum> <item>Impostare una partizione con <tt/fdisk/ e formattarla. <item>Montarla come <tt>/mnt</tt> relativa al root disk di installazione. <item>Copiare tutti i pacchetti in <tt>/mnt</tt> </enum> Con <em/Umsdos/, il primo passo non è richiesto (non è lo scopo di <em/Umsdos/ il non dover formattare?). È possibile installare un sistema <em/Umsdos/ semplicemente copiando tutti i pacchetti in <tt>/mnt</tt>. Questo certamente funziona. Ma questo creerà una marea di subdirectory nella root directory <em/DOS/ (C:\) e non è quello che si vorrebbe. Questa è la ragione per cui tutte le installazioni <em/Umsdos/ usano lo pseudo-root. E questa è la maggior differenza tra una normale installazione <em/Ext2/ e <em/Umsdos/: tutti i file sono copiati in <tt>/mnt/linux</tt>. <sect1>Preparare <tt>/mnt/linux</tt> <p> <tt>/mnt/linux</tt> non è una directory ordinaria. Essa è stata promossa in modo da gestire correttamente i filename lunghi di <em/Linux/ e i file speciali (link, dispositivi). I passi richesti per impostare <tt>/mnt/linux</tt> sono: <enum> <item><tt>mkdir /mnt/linux</tt> <item><tt>umssync /mnt/linux</tt> </enum> È tutto! <sect1>Come assicurarsi che <tt>/mnt/linux</tt> sia impostata correttamente <p> Anche se l'impostazione di <tt>/mnt/linux</tt> è molto semplice, ci sono alcuni pacchetti di installazione che la sbagliano. Come è possibile? <!-- <quote> --> I maggiori problemi di installazione nascono da una incompatibilità del programma <tt/umssync/. <em/Umsdos/ è stato aggiornato in Linux 1.1.88 (non ricordo esattamente) e una falla fu scoperta in <tt/umssync/. Per evitare confusione nella comunità di <em/Linux/, fu deciso di aumentare il livello richesto per tutti gli strumenti <em/Umsdos/. Le versioni precedenti sono semplicemente rifiutate. Sembra che molte distribuzioni non abbiano aggiornato l'utility <tt/umssync/ nel loro disco di installazione. <!-- </quote> --> Ci sono molte distribuzioni come queste. Il risultato è che la directory <tt>/mnt/linux</tt> non è promossa, e quindi verranno troncati i nomi lunghi e rifiutati tutti i file speciali. È possibile fare un test all'inizio dell'installazione per vedere se qualcosa non va. Grazie al meccanismo della pseudo console di <em/Linux/, si può farlo senza lasciare il programma di installazione. Fare i seguenti passi: <enum> <item>Premere <tt/Alt-F2/ (il tasto <tt/Alt/ e contemporaneamente il tasto <tt/F2/). <item>Loggarsi come <tt/root/ <item><tt>cd /mnt/linux</tt> Se questo fallisce, si sta facendo la prova troppo presto. Il momento migliore per farlo è alla fine della selezione dei pacchetti. <item><tt>>TOTO</tt> <item><tt>ls -l</tt> Si dovrebbe vedere un file vuoto <tt/TOTO/ in maiuscolo. Se lo si vede in minuscolo, qualcosa è andato storto. Provare a fare di nuovo <tt/umssync/. <tt/umssync/ può essere usato tutte le volte che si vuole senza problemi. <tt>umssync .</tt> Se non ci sono messaggi di errore, provare il test <tt/TOTO/ di nuovo. Se <tt/TOTO/ appare, allora tutto è OK. A volte è un difetto di queste installazioni, ma è stato posto rimedio. Continuare. <item>Premere <tt/Alt-F1/ per tornare nella schermata di installazione. </enum> <!-- <code> --> Se il test fallisce, il miglior rimedio è prelevare un nuovo disco di root per l'installazione. Si può generalmente riparare il disco di root installando una nuova versione di <tt/umssync/. Questo non è difficile, ma richiede un sistema con <em/Linux/ funzionante. Si deve semplicemente montare il disco di root e sostituire il programma <tt/umssync/ con uno nuovo. <!-- </quote> --> <sect1>Oops releasing pseudo root... <p> Molte delle installazioni che falliscono, lo fanno stampando questo strano messaggio. Questo non è un bug di <em/Umsdos/ benché il il messaggio sembri strano. Queste sono le possibili cause. <itemize> <item>Il più comune. L'installazione <em/Slackware/ tenta di impostare un file di swap all'inizio dell'installazione. Per fare ciò chiede all'utente di selezionare una partizione (dos), quindi la monta ed imposta il file di swap. Quando si installa un sistema <em/Slackware/, è necessario impostare la partizione di destinazione prima di installare. Questo generalmente monta la partizione <tt/DOS/ in <tt>/mnt</tt>, crea <tt>/mnt/linux</tt> e vi applica <tt/umsssync/. Questo è problema più comune: molti utenti dimenticano di impostare la partizione di destinazione (``target partition''), e vanno direttamente al resto dell'installazione. Siccome <tt>/mnt</tt> è già montata, questo errore passa inosservato. Questo fa sì che <tt>/mnt/linux</tt> non sia impostata correttamente (non promossa). Tutti i file speciali e nomi lunghi non possono essere creati in modo corretto. <item>Utility <tt/umssync/ non corretta. <tt>/mnt/linux</tt> è impostata erroneamente. Generalmente è causata da una utility <tt/umssync/ difettosa nel disco di installazione di root. <item>Vecchio bug di <em/Umsdos/. C'è un bug in <em/Umsdos/ anteriore a <em/Linux 1.2.2/. La modalità pseudo-root non viene attivata correttamente se il file <tt>/etc/init</tt> è assente. <tt/init/ è adesso localizzato in <tt>/sbin</tt>. Si può risolvere prelevando un nuovo kernel. Questo è raccomandato perché altri bug sono stati scoperti e risolti in 1.2.2. Se non è possibile l'aggiornamento, fare questo <enum> <item>Avviare il disco di installazione. <item>Loggarsi come <tt/root/. <item><tt>mount -t umsdos /dev/hdXX /mnt</tt> dove <tt>/dev/hdXX</tt> è la partizione <em/DOS/. <item><tt>cd /mnt/linux/etc</tt> <item><tt>ln -s ../sbin/init init</tt> <item><tt>cd /</tt> <item><tt>Ctrl-Alt-Canc</tt> <item>Avviare <em/Umsdos/ normalmente. </enum> </itemize> Sfortunatamente i primi due problemi (problemi di installazione) producono un'installazione completamente inutilizzabile. Disintallate (sezione successiva) e reinstallate di nuovo. <sect1>Come disinstallare un sistema <em/Umsdos/ <p> Una cosa semplice di <em/Umsdos/ e il suo meccanismo di pseudo-root e che lo si può disinstallare senza problemi. Si deve semplicemente avviare <em/DOS/ ed eliminare ricorsivamente le directory <tt/linux/. Questo è tutto. <em/Umsdos/ non richiede driver speciali nel <tt/config.sys/, e non crea niente di speciale fuori dalla directory <tt/linux/. <sect1>Spostare un sistema <em/Umsdos/ in altri dischi <em/DOS/ <p> Questo può essere fatto da <em/Linux/ o da <em/DOS/. Si devono copiare ricorsivamente le directory <tt/linux/ da un drive all'altro. Dopo di ciò si devono sistemare i meccanismi di avvio e il file <tt>/etc/fstab</tt>. <em/Umsdos/ può vivere in qualsiasi drive <em/DOS/. Non è necessario installarlo nel drive <tt/C:/, non è nemmeno importante averlo nel primo disco fisso. In effetti si può decidere di avere parecchie installazioni <em/Umsdos/ su drive diversi anche solo per eseguire prove. <sect1>Come installare più sistemi <em/Umsdos/. <p> Come installare una serie di sistemi <em/Linux/ in poco tempo? I sistemi <em/Umsdos/ vivono nel mondo <em/DOS/. Se ne possono quindi sfruttare i vantaggi se si vuole installare facilmente <em/Linux/. Si può installare e configurare un sistema <em/Umsdos/ per conto proprio. Quando si è soddisfatti della configurazione e dei diversi pacchetti installati, si può avviare <em/DOS/ e copiare l'intera directory <tt/linux/ nel file server <em/DOS/. Quindi si può andare in altre stazioni <em/DOS/ e copiare semplicemente i file dal disco di rete al disco locale. Tutto qui. Aggiornare solamente lo script di avvio (<em/Loadlin/) e via. Con piccoli ritocchi (Hostname, indirizzo IP), chiunque riuscirà ad installare un sistema <em/Linux/ in pochi minuti. I lettori attenti potrebbero notare che installare un sistema <em/Linux/ copiando un sistema funzionante va bene anche per altri sistemi <em/Linux/, compresi i sistemi basati su <em/Ext2/. Una cosa bella di <em/Linux/ è che non ci sono file nascosti che devono essere installati da particolari programmi di installazione. <sect>Impostare una sezione <em/Linux/ in una partizione <em/DOS/ <p> <em/Umsdos/ può essere utile anche agli utenti <em/Ext2/ (il filesystem <em/Linux/ originale). Una situazione comune è questa: <itemize> <item><em/Linux/ diventa il sistema operativo di preferenza e la partizione di <em/Linux/ comincia ad essere piena. <item>La partizione <em/DOS/ accumula polvere, diventando mezza vuota. <item>Si finisce improvvisamente lo spazio nella partizione <em/Ext2/. <item>Non si è ancora sicuri di voler sbarazzarsi del <em/DOS/. </itemize> A questo punto arriva <em/Umsdos/ a salvare la situazione. Si può impostare una directory nella partizione <em/DOS/ e usarla senza restringerne l'uso per <em/Linux/. Per esempio, diciamo di voler impostare una nuova directory chiamata <tt/"extra"/ nel drive <tt/C:/. E si vuole che questa directory diventi una normale directory <em/Linux/. Eseguire questo (assumiamo che <tt/C:/ sia <tt>/dev/hda1</tt>). <tscreen><verb> mkdir /c /sbin/mount -t umsdos /dev/hda1 /c mkdir /c/extra umssync /c/extra </verb></tscreen> Questo deve essere fatto con i privilegi di <tt/root/. Impostando opportunamente <tt>/etc/fstab</tt>, si potrà sempre accedere alla directory <tt>/c/extra</tt>. <sect>Perché UMSDOS <p> Spiegare come usare o installare un sistema <em/Umsdos/ non è abbastanza. Molta gente cerca informazioni circa l'uso di <em/Umsdos/ o no. <sect1>Il vantaggio di <em/Umsdos/ <p> Il vantaggio di <em/Umsdos/ è di semplificare l'installazione di <em/Linux/. Un altro vantaggio è la sua semplice disinstallazione. L'idea di base era quella di promuovere la diffusione di <em/Linux/. L'installazione di un nuovo OS in un sistema è sempre dolorosa. <em>OS/2</em> per esempio contamina la directory root di <tt/C:/ con una serie di nuove directory. Se siete esperti come me, esso eliminerà anche i file <tt/config.sys/ e <tt/autoexec.bat/. La caratteristica dello pseudo-root di <em/Umsdos/ evita questa invasione indesiderata. <em/Linux/ può essere disinstallato senza effetti secondari. <sect1>A chi serve <p> Se si ha un piccolo disco fisso, <em/Umsdos/ permette di condividere lo spazio tra <em/DOS/ e <em/Linux/. Un disco sotto i 300 Mb è a mio avviso in disco piccolo. Questa opinione si basa sulla dimensione dei diversi pacchetti disponibili oggi. Un comune word processor può occupare anche 70 Mb se si scelgono tutte le caratteristiche. Se si ha un drive grande, si può decidere di riservare una partizione a <em/Linux/ con il filesystem <em/Ext2/. <em/Ext2/ usa cluster di dimensione più piccola rispetto al <em/DOS/ (1k infatti), così installando molti file piccoli si spreca meno spazio che in una partizione <em/Umsdos/. <sect1>Conclusioni <p> A questo punto confrontiamo <em/Umsdos/ con <em/Ext2/. <itemize> <item>La gestione delle directory è più veloce con <em/Ext2/. Questo a causa della doppia struttura delle directory di <em/Umsdos/. <item>L'accesso ai file (lettura e scrittura) è probabilmente più veloce con <em/Umsdos/ che con <em/Ext2/. Questo per la semplicità del filesystem <em/FAT/ usato dal <em/DOS/. Attenzione che questa semplicità ha i suoi costi: <itemize> <item>Un massimo di circa 65.000 file o cluster per partizione. Questo comporta che una partizione da 500 Mb userà cluster da 16 k. In altre parole, un file contenente un singolo byte userà 16 k di spazio su disco. <item>Tutto è controllato dalla <em/FAT/ localizzata all'inizio del disco fisso. Il filesystem <em/DOS/ è probabilmente più fragile a causa di questo. <item>Nessun provvedimento per evitare la frammentazione dei file. Un sistema <em/Umsdos/ è generalmente usato come stazione di lavoro per utente singolo. In questo caso non fa molta differenza. In un sistema multi-utente, i file vengono dispersi nel disco, diminuendo la velocità di accesso. </itemize> <item>I link simbolici sono memorizzati in file normali. Se si intende averne tanti, si vedrà che <em/Umsdos/ usa molto più spazio confrontato con <em/Ext2/. </itemize> </article>