Introduzione a Linux:
Linux è una reimplementazione completamente gratuita delle specifiche
POSIX, con estensioni SYSV e BSD (il che significa che sembra proprio come Unix,
ma non è derivato dallo stesso codice di partenza), disponibile sia come
codice sorgente sia in formato binario. Il suo copyright è posseduto
da Linus Torvalds <torvalds@transmeta.com> e da altri collaboratori, ed
è liberamente distribuibile nei termini della GNU General Public License
(GPL). Una copia della GPL è inclusa nei sorgenti di Linux; è
possibile ottenerne una copia anche da ftp://prep.ai.mit.edu/pub/gnu/COPYING.
Linux, di per sè, è
solo il kernel del sistema operativo, la parte che controlla l'hardware, gestisce
i file, suddivide i processi e così via. Esistono diverse combinazioni
di Linux con insiemi di utilità e applicazioni per formare un sistema
operativo completo. Ognuna di queste combinazioni è detta una distribuzione
di Linux. La parola Linux, sebbene in senso stretto si riferisca specificamente
al kernel, è largamente e correttamente usata per riferirsi all'intero
sistema operativo costruito attorno al kernel Linux. Per un elenco e una breve
descrizione delle diverse distribuzioni, si veda http://sunsite.unc.edu/LDP/HOWTO/Distribution-HOWTO.html.
Nessuna di queste distribuzioni è il ``Linux ufficiale''.
Linux non è di pubblico
dominio, non è nemmeno ``shareware''. È un software ``libero'',
comunemente chiamato freeware o Open Source Software[tm] (si veda http://www.opensource.org),
e si possono distribuire o venderne copie, ma si devono includerne i sorgenti
o renderli disponibili nello stesso modo con il quale si distribuiscono o si
vendono gli eseguibili. Se si distribuisce una qualsiasi modifica, si è
obbligati per legge a distribuire i sorgenti di queste modifiche. Si veda la
GNU General Public License per i dettagli.
Linux è ancora libero,
come nella versione 2.0, e continuerà a esserlo. La natura del copyright
GNU, a cui Linux è soggetto, renderebbe illegale il fatto che non sia
più libero. Notare che: la parte `libera' implica l'accesso ai sorgenti
indipendentemente dall'aspetto monetario; è perfettamente legale far
pagare denaro per la distribuzione di Linux, a patto che venga distribuito anche
il codice sorgente. Questa è una generalizzazione; per aspetti più
accurati, leggere la GPL.
Linux gira su macchine 386/486/Pentium
con bus ISA, EISA, PCI e VLB. MCA (bus della IBM) non è attualmente ben
supportato, sebbene nella nuova versione in fase di sviluppo, la 2.1.x, il supporto
sia stato inserito. Se siete interessati, guardate http://glycerine.itsmm.uni.edu/mca.
È in corso il port per
diverse piattaforme Motorola 680x0 (attualmente usate in alcuni Amiga, Atari
e macchine VME), che ora funziona abbastanza bene. Richiede un 68020 con MMU,
un 68030, un 68040 o un 68060 e richiede anche l'FPU. Per ora il supporto di
rete e X non funzionano. Si veda news:comp.os.linux.m68k.
Linux funziona bene sulle CPU
Alpha della DEC, supportando attualmente le piattaforme ``Jensen'', ``NoName'',
``Cabriolet'', ``Universal Desktop Box'' (meglio conosciuta come Multia). Per
altre informazioni, si veda http://www.azstarnet.com/ axplinux/FAQ.html.
Linux funziona bene su Sun SPARC
e viene utilizzato già su molte macchine sun4c, sun4m e sun4u, mentre
il supporto per sun4 è in fase di sviluppo. Red Hat Linux è (alla
scrittura di questo testo) la sola distribuzione disponibile per SPARC; si veda
http://www.redhat.com/support/docs/rhl-sparc/.
Linux è in attiva fase
di port per architetture PowerPC, incluse le macchine PowerMac (Nubus e PCI),
Motorola, IBM e Be. Si veda http://www.cs.nmt.edu/ linuxppc/ e http://www.linuxppc.org/.
Port su altre macchine, tra cui
MIPS (si veda http://linus.linux.sgi.com e http://lena.fnet.fr/) e ARM, sono
in corso e stanno mostrando dei progressi. Non trattenete il fiato, ma se siete
interessati e capaci di contribuire, potete trovare facilmente altri sviluppatori
che vorrebbero lavorare con voi.
Linux non è più
considerato in beta test da quando è stata rilasciata la versione 1.0
il 14 marzo 1994. C'erano ancora bug nel sistema, e nuovi bug salteranno fuori
e saranno risolti col passare del tempo. Siccome Linux segue il ``modello a
sviluppo aperto'', tutte le nuove versioni sono rilasciate al pubblico anche
se non sono considerate ``prodotti di qualità''. Comunque, per aiutare
la gente a capire se sta prelevando una versione stabile o no, è stato
adottato il seguente schema: le versioni n.x.y, dove x è un numero pari,
sono le versioni stabili, e come vengono risolti bug viene incrementato y. Così
dalla versione 1.2.2 alla 1.2.3 ci fu la correzione di alcuni bug e non l'aggiunta
di nuove caratteristiche. Le versioni n.x.y, dove x è un numero dispari,
sono di qualità beta per soli sviluppatori, e possono quindi essere instabili
e cadere (crash), ma hanno nuove caratteristiche aggiuntive. Non appena il kernel
attualmente in sviluppo diviene stabile, verrà ``congelato'' in uno nuovo
kernel ``stabile'', e lo sviluppo continuerà con una nuova versione del
kernel. Si noti che la maggior parte dei rilasci del kernel Linux, beta o meno,
sono relativamente robuste; in questo contesto ``stabile'' significa che ``cambia
lentamente'' oltre a ``robusto''.
La versione stabile attuale è
la 2.0.35 (questa continua a cambiare a mano a mano che vengono aggiunti nuovi
supporti hardware e corretti bug), ed è partito lo sviluppo dei kernel
sperimentali 2.1.x. I sorgenti del kernel Linux contengono un file, Documentation/Changes,
che spiega i cambiamenti di cui si deve essere consci quando si aggiorna la
versione del kernel. Comunque, la stragrande maggioranza degli utenti di Linux
semplicemente aggiornano periodicamente la loro distribuzione per avere una
nuova versione del kernel.
Molte versioni di Linux, beta
o no, sono abbastanza stabili e si possono usare se fanno quel che vi serve.
Un sito ha utilizzato un computer con la versione 0.97p1 (rilasciata nell'estate
del 1992) per più di 136 giorni senza nessun errore o crash (e avrebbe
funzionato ancora più a lungo se un operatore sbadato non avesse erroneamente
staccato la spina dell'alimentatore principale...) Altri hanno segnalato uptime
di oltre un anno. Un sito ha ancora un computer che usa Linux 0.99p15 da oltre
600 giorni.
Una cosa da considerare è
che Linux è sviluppato usando un modello aperto e distribuito, invece
di un modello chiuso e centralizzato come molto altro software. Questo significa
che la versione di sviluppo corrente è sempre pubblica (con un ritardo
di una o due settimane) in modo che tutti possano usarla. Il risultato è
che ogni volta una versione con nuove funzionalità viene rilasciata,
quasi sempre contiene bug, ma con il rapido sviluppo esistente i bug sono trovati
e corretti velocemente, spesso in ore, in quanto molta gente lavora per risolverli.
Diversamente, il modello chiuso
e centralizzato significa che una sola persona o un gruppo lavora al progetto,
e solo loro rilasciano il software quando ritengono che funzioni bene. Spesso
questo porta a un lungo intervallo tra le release, una lunga attesa per risolvere
i bug e uno sviluppo lento. Certamente l'ultima release pubblica di tale software
è, a volte, di qualità superiore, ma la velocità di sviluppo
è generalmente molto inferiore.
Per una discussione su questi
due modelli, si legga ``The Cathedral and the Bazaar'' a http://sagan.earthspace.net/
esr/writings/cathedral-bazaar/ di Eric Raymond.
Al 1 settembre 1998, la versione
stabile corrente di Linux è 2.0.35, e quella in fase di sviluppo è
2.1.119
Caratteristiche di Linux
Multitasking: più programmi
funzionano contemporaneamente.
Multiutenza: più utenti nella stessa macchina contemporaneamente (e senza
licenze per coppie di utenti!).
Multipiattaforma: funziona su varie CPU diverse, non solo Intel.
Multiprocessore: il supporto per SMP è disponibile su piattaforme Intel
e SPARC (ed è in sviluppo il supporto su altre piattaforme), e Linux
viene usato in diverse applicazioni MP loosely-coupled, tra cui i sistemi Beowulf
(si veda http://cesdis.gsfc.nasa.gov/linux-web/beowulf/beowulf.html) e il supercomputer
basato su SPARC Fujitsu AP1000+.
Multithreading: ha supporto nativo nel kernel per thread di controllo multipli
e indipendenti all'interno dello stesso spazio di memoria del processo.
Funziona in modalità protetta nel chip 386.
Protezione della memoria tra processi, in modo che un programma non possa mandare
in crash l'intero sistema.
Caricamento degli eseguibili a richiesta: Linux legge dal disco solo le parti
di un programma che sono realmente usate.
Condivisione pagine copy-on-write tra processi. Questo significa che più
processi possono usare la stessa memoria per funzionare. Quando uno tenta di
scrivere in quella zona di memoria, quella pagina (un pezzo di memoria da 4Kb)
è copiata in un altro posto. Copy-on-write ha due vantaggi: incrementa
la velocità e diminuisce l'uso di memoria.
Memoria virtuale con paginazione (non fa lo swap di interi processi) su disco:
in una partizione separata o in un file del filesystem o in entrambi, con la
possibilità di aggiungere nuove aree durante il normale funzionamento
(sono chiamate aree di swap). Un massimo di 16 di queste aree di swap da 128
Mb (2GB nei kernel recenti) possono essere usate contemporaneamente, per un
totale teorico di 2 Gb di spazio di swap disponibile. È semplice aumentarlo,
se necessario, cambiando poche linee di codice sorgente.
Memoria unificata per programmi utente e cache del disco, in modo che tutta
la memoria possa essere usata per la cache e la cache possa essere ridotta quando
funzionano programmi di grandi dimensioni.
Collegamento (link) dinamico delle librerie condivise (DLL), e naturalmente
anche di quelle statiche.
Può creare core per l'analisi post-mortem dei processi, permettendo l'uso
di un debugger su un programma non solo mentre sta funzionando, ma anche dopo
che è terminato in malo modo.
Compatibile a livello sorgente con POSIX, SYSV e BSD.
Attraverso un modulo di emulazione conforme a iBCS2, compatibile a livello di
binari con SCO, SVR3 e SVR4.
Il codice sorgente è disponibile in toto, compreso quello dell'intero
kernel, dei driver, degli strumenti di sviluppo e dei programmi utente e tutti
questi sono pure distribuibili liberamente. Diversi programmi commerciali vengono
forniti per Linux senza i sorgenti ma tutto quello che è nato libero,
compreso l'intero sistema operativo di base, è tuttora libero.
Controllo POSIX dei processi.
Pseudoterminali (pty).
Emulazione 387 nel kernel in modo che i programmi non abbiano bisogno di una
propria emulazione del coprocessore matematico. Qualsiasi computer che usa Linux
appare possedere un coprocessore matematico. Naturalmente, se il proprio computer
contiene già una FPU, verrà usata questa invece di emularla, e
si può anche compilare il proprio kernel togliendo l'emulazione matematica
per guadagnare un po' di memoria.
Supporto per molte tastiere nazionali o personalizzate, ed è abbastanza
semplice aggiungerne dinamicamente una nuova.
console virtuali multiple: più sessioni in console con login indipendente
ed è possibile passare da una all'altra premendo una combinazione di
tasti (indipendente dall'hardware video). Sono allocate dinamicamente; se ne
possono usare fino a 64.
Supporto per parecchi filesystem comuni: tra cui minix, Xenix, e tutti i comuni
filesystem System V, ed un proprio filesystem avanzato che offre filesystem
fino a 4 TB, e nomi lunghi fino a 256 caratteri.
Accesso trasparente alle partizioni MS-DOS (o alle partizioni FAT di OS/2) tramite
un filesystem speciale: non è necessario alcun comando speciale per usare
una partizione MS-DOS, appare come un normale filesystem Unix (tranne che per
quelle simpatiche restrizioni sui nomi dei file, permessi altro). Le partizioni
compresse di MS-DOS 6 attualmente non funzionano a meno che non si applichi
una patch (dmsdosfs). Il supporto per VFAT (WNT, Windows 95) e FAT-32 è
disponibile in Linux 2.0.
Filesystem speciale chiamato UMSDOS che permette di installare Linux su un filesystem
DOS.
Supporto in sola lettura di HPFS-2 per OS/2 2.1.
Supporto per il filesystem HFS (Macintosh) disponibile separatamente come modulo.
Filesystem per CD-ROM che legge tutti i formati standard di CD-ROM.
Supporto di rete TCP/IP, compresi ftp, telnet, NFS, ecc.
Server Appletalk.
Client e server Netware.
Client e server Lan Manager/Windows Native (SMB).
Molti protocolli di rete: i protocolli di base disponibili nel l'ultimo kernel
in sviluppo includono TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP (Appletalk), Netrom,
e altri. I protocolli di rete stabili compresi nei kernel stabili attualmente
sono TCP, IPv4, IPX, DDP e AX.25.
Requisiti hardware:
Configurazione minima
Quella che segue probabilmente è la più piccola configurazione
possibile che permette di far funzionare Linux: 386SX/16, 1 MB di RAM, un floppy
da 1.44 MB o 1.2 MB, una qualsiasi delle schede video supportate (+ ovviamente
tastiera, monitor e così via). Questa dovrebbe permettere di avviare
Linux e di provare se funziona o meno nella macchina, ma non si sarà
in grado di fare niente altro di utile. Si veda http://rsphy1.anu.edu.au/ gpg109/mem.html
per altre configurazioni minime di Linux.
Per poter fare qualcosa, sarà
necessario un po' di spazio su un disco fisso, da 5 a 10 MB dovrebbero essere
sufficienti per un'installazione proprio minima (con solo i comandi più
importanti e forse una o due piccole applicazioni, come una programma di terminale).
Questa è ancora una installazione molto ma molto limitata e molto scomoda
a meno che le proprie applicazioni non siano proprio limitate. Generalmente
non è raccomandata per farci niente se non un po' di test di funzionamento,
e naturalmente per essere in grado di vantarsi del fatto che le risorse richieste
sono veramente minime.
Configurazione usabile
Se si ha intenzione di usare programmi intensi a livello computazionale, come
gcc, X e TeX probabilmente si avrà bisogno di un processore più
veloce di un 386SX/16, sebbene anche questo potrebbe essere sufficiente se si
ha pazienza.
In pratica, si avrà bisogno
di almeno 4 MB di RAM se non si usa X, e di 8 MB se lo si usa. Inoltre, se si
vogliono avere più utenti in contemporanea, o eseguire contemporaneamente
più programmi grossi (compilazioni, per esempio), si avrà bisogno
di più di 4 MB di memoria. Funzionerà comunque anche con meno
memoria ma userà la memoria virtuale (usando il disco fisso come una
memoria lenta) ma sarà così lento da essere inutilizzabile. Se
si usano più programmi contemporaneamente, 16 MB riduranno considerevolmente
le operazioni di swap. Se non si vuole fare swap in maniera apprezzabile durante
il normale carico, 32 MB probabilmente saranno sufficienti. Se si usano assieme
molte applicazioni che usano intensamente la memoria, saranno necessari 64 MB
per evitare un sacco di swap. Naturalmente se si usano applicazioni fameliche
in termini di memoria, bisognerà aggiungerne.
Lo spazio su disco di cui si ha
bisogno dipende da quale software si vuole installare. L'insieme normale di
utility Unix, shell e programmi di amministrazione dovrebbero stare abbondantemente
in meno di 10 MB, con un po' di spazio libero per i file degli utenti. Per un
sistema più completo, si prenda Red Hat, Debian, o un'altra distribuzione
e si faccia conto che saranno necessari dai 60 ai 600 MB, a seconda di cosa
si sceglie di installare e di quale distribuzione si prende. Si aggiunga lo
spazio che si vuole riservare per i file degli utenti a questi totali. Con i
prezzi correnti dei dischi fissi, se si sta per comperare una nuova macchina,
non ha senso comperare un disco fisso troppo piccolo. Se ne prenda almeno uno
da 2 GB, preferibilmente 4 GB o più, e si vedrà che non andrà
sprecato. Linux gestisce tranquillamente dischi fissi molto grandi come i recenti
e popolari dischi IDE da 11 GB e SCSI da 18 GB.
Si aggiunga più memoria,
più spazio su disco, un processore più veloce e altro a seconda
delle proprie necessità, desideri e disponibilità economiche.
In generale, una grossa differenza tra Linux e DOS è che in Linux l'aggiunta
di memoria fa una grande differenza, mentre in DOS memoria in più non
fa poi molta differenza. Naturalmente ciò ha a che fare con il limite
dei 640KB, che sotto Linux non esiste.
Hardware supportato:
CPU
Qualsiasi cosa in grado di eseguire programmi in modalità 386 protetta.
Tutti i modelli di 386, 486, Pentium, Pentium Pro, Pentium II e cloni di questi
chip dovrebbero andar bene (i 286 e inferiori potrebbero un giorno essere supportati
da un kernel più piccolo detto ELKS (Embeddable Linux Kernel Subset),
ma non ci si aspetti le stesse caratteristiche). Una versione per CPU 680x0
(con x = 2 con MMU esterna, 3, 4 e 6) che funziona su Amiga e Atari può
essere reperita a tsx-11.mit.edu nella directory 680x0. Sono supportate molte
macchine DEC Alpha, SPARC, e PowerPC. Sono in lavorazione anche i port su architetture
ARM, StrongARM, e MIPS. Maggiori dettagli sono reperibili da qualche altra parte.
Architetture
Bus PCI, ISA, EISA e VLB. Il supporto per MCA (la maggior parte dei PS/2 true
blue) è incompleto ma sta migliorando (si veda sopra). I local bus (VLB
e PCI) funzionano. Linux è molto più esigente sull'hardware rispetto
a DOS, Windows e in pratica molti altri sistemi operativi. Ciò significa
che alcuni componenti hardware, che potrebbe funzionare se usati con altri sistemi
operativi meno esigenti, potrebbero dare problemi quando usati con Linux. Linux
è un eccellente tester della memoria...
RAM
Fino a 1 GB su Intel; di più su piattaforme a 64-bit. Alcuni (tra cui
Linus) hanno notato che aggiungere RAM senza allo stesso tempo aggiungere anche
cache ha estremamente rallentato le loro macchine, quindi se si aggiunge RAM
e si trova che la propria macchina sia più lenta, si provi ad aggiungere
ancora cache. Alcune macchine possono fare il cache solo di una certa parte
della memoria indipendentemente da quanta RAM è installata (64 MB è
la dimensione di cui i chipset più popolari possono fare la cache). Oltre
i 64 MB sarà necessario un parametro al boot con kernel 2.0.35 e precendenti,
in quanto il BIOS non può riportare più di 64 MB. I recenti kernel
2.1.x e successivi sono in grado di rilevare tutta la memoria di un sistema.
Dispositivi di immagazzinamento dati
Sono supportati i drive AT generici (controller di HD EIDE, IDE e a 16 bit con
MFM, RLL o ESDI), così come lo sono i dischi fissi e i CD-ROM SCSI con
un adattatore SCSI tra quelli supportati. Sono supportati anche i controller
generici XT (controller a 8 bit con MFM o RLL). Adattatori SCSI supportati:
Advansys, Adaptec 1542, 1522, 1740, e le serie 27xx e 29xx (con alcune eccezioni),
Buslogic MultiMaster e Flashpoint, controller basati su NCR53c8xx, controller
DPT, controller Qlogic ISP e FAS, Seagate ST-01 and ST-02, la serie Future Domain
TMC-88x (o qualsiasi scheda basata sul chip TMC950) e TMC1660/1680, Ultrastor
14F, 24F and 34F, Western Digital wd7000 ed altri. Sono anche supportati i nastri
SCSI, QIC-02 e alcuni QIC-80. A parte i cdrom IDE e SCSI, sono supportati anche
parecchi dispositivi CD-ROM proprietari, tra cui Matsushita/Panasonic, Mitsumi,
Sony, Soundblaster, Toshiba, ATAPI (EIDE), SCSI e altri. Per i modelli esatti
si veda l'Hardware compatibility HOWTO. N.B. Questi elenchi sono incompleti,
e lo saranno sempre. Chi vende le distribuzioni mantiene generalmente una lista
molto più aggiornata.
Video
In modo testo funzionano le VGA, EGA, CGA o Hercules (e compatibili). Per la
grafica e X, c'è il supporto (almeno) per VGA normale, alcune schede
SVGA (molte delle schede basate su chipset Tseng, Paradise, e alcuni Trident),
S3, 8514/A, ATI, Matrox ed Hercules (Linux usa il server X XFree86, il quale
determina quali schede sono supportate. Una lista completa dei chipset supportati
avrebbe occupato molto più di una pagina. Si veda http://www.XFree86.org/)
Rete
Il supporto Ethernet comprende 3COM 503/509/579/589/595/905 (le 501/505/507
sono supportate ma non raccomandate), AT&T GIS (neé NCR) WaveLAN,
molte schede basate su WD8390 e su WD80x3, NE1000/2000 e cloni, AC3200, Apricot
82596, AT1700, ATP, DE425/434/435/500, D-Link DE-600/620, DEPCA, DE100/101,
DE200/201/202 Turbo, DE210, DE422, Cabletron E2100 (non raccomandata), Intel
EtherExpress (non raccomandata), EtherExpress Pro, EtherExpress 100, DEC EtherWORKS
3, HP LAN, HP PCLAN/plus, molte schede basate su AMD LANCE, NI5210, ni6510,
SMC Ultra, DEC 21040 (tulip), Zenith Z-Note ethernet. Tutte le schede Zircom
e tutte le Cabletron diverse dalla E2100 non sono supportate, a causa nel rifiuto
dei costruttori di fornire gratuitamente informazioni per programmarle.
Il supporto FDDI attualmente comprende
le schede DEFxx della DEC.
Il supporto di rete Point-to-Point
comprende PPP, SLIP, CSLIP e PLIP. Il supporto per il PPP è disponibile
sia per dispositivi asincroni standard come i modem, sia per connessioni sincrone
come ISDN.
È disponibile un supporto
limitato per il Token Ring.
Seriali
Molte schede basate su UART 16450 e 16550, tra cui AST Fourport, Usenet Serial
Card II e altre. Le schede intelligenti supportate comprendono la serie Cyclom
della Cyclades (supportata dal costruttore), la serie Rocketport della Comtrol
(supportata dal costruttore), Stallion (la maggior parte delle schede; supportate
dal costruttore) e Digi (alcune schede; supportate dal costruttore). È
supportato anche un po' di hardware per ISDN, frame relay e leased line.
Altro hardware
SoundBlaster, ProAudio Spectrum 16, Gravis Ultrasound, molte altre schede audio,
molti (tutti?) tipi di bus mouse (Microsoft, Logitech, PS/2), ecc.
Un elenco incompleto di programmi
portati su Linux e altro software
Sono stati portati su Linux la maggior parte degli strumenti e dei programmi
Unix, tra cui praticamente tutto il software della GNU e molti client per X
da varie fonti. Attualmente, il port è più difficile a dirsi che
a farsi, in quanto molti programmi si compilano direttamente senza modifiche,
o solo con modifiche minime, in quanto Linux segue abbastanza fedelmente le
direttive POSIX. Non ci sono mai abbastanza applicazioni per un qualsiasi sistema
operativo, ma Linux sta guadagnando sia in applicazioni per utenti finali che
per server. Si contatti il produttore della propria applicazione Unix commerciale
preferita e gli si chieda se ne hanno prodotto una versione per Linux.
Ecco una lista semicompleta di
software che sicuramente funziona sotto Linux:
Comandi Unix basilari:
ls, tr, sed, awk e così via (se ne pensi uno, e probabilmente Linux ce
l'ha).
Strumenti di sviluppo:
gcc, gdb, make, bison, flex, perl, rcs, cvs, prof.
Linguaggi e ambienti:
C, C++, Objective C, Java, Modula-3, Modula-2, Oberon, Ada95, Pascal, Fortran,
ML, scheme, Tcl/tk, Perl, Python, Common Lisp e molti altri.
Ambienti grafici:
GNOME e KDE (desktop), X11R6 (XFree86 3.x), X11R5 (XFree86 2.x), MGR.
Editor:
GNU Emacs, XEmacs, MicroEmacs, jove, ez, epoch, elvis (GNU vi), vim, vile, joe,
pico, jed e altri.
Shell:
bash (POSIX sh compatibile), zsh (compresa la modalità di compatibilità
ksh) pdksh, tcsh, csh, rc, es, ash (shell praticamente sh compatibile usata
come /bin/sh da BSD) e molte altre.
Telecomunicazione:
PPP, UUCP, SLIP, CSLIP, insieme completo di strumenti di comunicazione TCP/IP,
kermit, szrz, minicom, pcomm, xcomm, term (esegue più shell, redireziona
l'attività di rete e permette l'uso di applicazioni X remote, il tutto
su una singola linea modem), Seyon (programma di comunicazione per X-Window
molto popolare) e sono disponibili diversi pacchetti per fax e voice-mail (usando
ZyXEL e altri modem). Naturalmente, sono supportati i login remoti via seriale
e via rete.
News e mail:
C-news, innd, trn, nn, tin, smail, elm, mh, exmh, pine, mutt, ecc.
Elaborazione testi:
TeX, groff, doc, ez, LyX, Lout, Linuxdoc-SGML e altri.
Giochi:
Nethack, diversi Mud e giochi per X e moltissimi altri. Se se ne cerca uno,
si veda tra tutti i giochi disponibili a tsx-11 e sunsite.
Tutti questi programmi (e questi non sono neanche un centesimo di quanto è
disponibile) sono disponibili gratuitamente. Inizia a diventare largamente disponibile
anche moltissimo software commerciale; si chieda ai produttori del proprio software
commerciale preferito se supportano Linux.
Chi usa Linux?
Linux è disponibile liberamente e a nessuno viene richiesto di registrare
le proprie copie a una qualsiasi autorità centrale, perciò è
difficile sapere quanta gente usa Linux. Diverse aziende vivono solo vendendo
e fornendo supporto per Linux e i newsgroup su Linux sono tra i più letti
in Internet, quindi il numero di utenti probabilmente va espresso in milioni,
ma una stima veritiera è difficile da fare. La miglior ricerca di mercato
attuale indica fra i 7.5 e gli 11 milioni di utenti.
Comunque, un'anima coraggiosa,
Harald T. Alvestrand Harald.T.Alvestrand@uninett.no, ha deciso di provare a
contare gli utenti di Linux nel modo più difficile: uno a uno. Se si
vuole essere annoverati fra gli utenti di Linux, allora si usi il form disponibile
a http://counter.li.org/. In alternativa, si può spedire un messaggio
a linux-counter@uninett.no con uno dei seguenti subject: `I use Linux at home'
(uso Linux a casa), `I use Linux at work' (uso Linux al lavoro), o `I use Linux
at home and at work' (uso Linux a casa e al lavoro). Saranno accettate anche
registrazioni tramite terzi; si chieda ad Harald per i dettagli.
Harald pubblica mensilmente i
suoi conteggi in news:comp.os.linux.misc; sono disponibili anche presso http://counter.li.org/.
Procurarsi Linux:
In FTP Anonimo
Per documentazione su Linux liberamente distribuibile, si veda il sito del Linux
Documentation Project a ftp://sunsite.unc.edu/pub/Linux/docs/LDP/ e http://sunsite.unc.edu/LDP/
Si rimanga sintonizzati sul newsgroup
news:comp.os.linux.announce per ulteriori sviluppi.
Almeno i seguenti siti per ftp
anonimo rendono disponibile Linux.
Nome Indirizzo Numerico Directory Linux
============================= ================== ===============
tsx-11.mit.edu 18.172.1.2 /pub/linux
sunsite.unc.edu 152.2.22.81 /pub/Linux
ftp.funet.fi 128.214.248.6 /pub/Linux
net.tamu.edu 128.194.177.1 /pub/linux
ftp.mcc.ac.uk 130.88.203.12 /pub/linux
src.doc.ic.ac.uk 146.169.2.1 /packages/linux
fgb1.fgb.mw.tu-muenchen.de 129.187.200.1 /pub/linux
ftp.informatik.tu-muenchen.de 131.159.0.110 /pub/comp/os/
/linux
ftp.dfv.rwth-aachen.de 137.226.4.111 /pub/linux
ftp.informatik.rwth-aachen.de 137.226.225.3 /pub/Linux
ftp.Germany.EU.net 192.76.144.75 /pub/os/Linux
ftp.lip6.fr 132.227.77.2 /pub/linux
ftp.uu.net 137.39.1.9 /systems/unix/
/linux
wuarchive.wustl.edu 128.252.135.4 mirrors/linux
ftp.win.tue.nl 131.155.70.100 /pub/linux
ftp.stack.urc.tue.nl 131.155.2.71 /pub/linux
srawgw.sra.co.jp 133.137.4.3 /pub/os/linux
cair.kaist.ac.kr /pub/Linux
ftp.denet.dk 129.142.6.74 /pub/OS/linux
NCTUCCCA.edu.tw 140.111.1.10 /Operating-
Systems/Linux
nic.switch.ch 130.59.1.40 /mirror/linux
sunsite.cnlab-switch.ch 193.5.24.1 /mirror/linux
cnuce_arch.cnr.it 131.114.1.10 /pub/Linux
ftp.monash.edu.au 130.194.11.8 /pub/linux
ftp.dstc.edu.au 130.102.181.31 /pub/linux
ftp.sydutech.usyd.edu.au 129.78.192.2 /pub/linux
tsx-11.mit.edu e fgb1.fgb.mw.tu-muenchen.de sono i siti ufficiali del GCC per
Linux. Alcuni siti fanno il mirror di altri siti. Si invita a usare il sito
a voi più vicino (in senso di rete) ogni qualvolta ciò sia possibile.
Almeno sunsite.unc.edu e ftp.informatik.tu-muenchen.de
offrono servizi di ftpmail. Si invii un messaggio a ftpmail@sunsite.unc.edu
o ftp@informatik.tu-muenchen.de per ottenere un aiuto.
Se ci si è persi, si veda
http://sunsite.unc.edu/LDP/HOWTO/Distribution-HOWTO.html, dove sono elencate
diverse distribuzioni. Red Hat Linux e Debian sembrano al momento essere le
distribuzioni più popolari, almeno negli USA.
In CD-ROM
La maggior parte della gente ormai installa Linux da CD-ROM. Le distribuzioni
hanno ormai raggiunto centinaia di MB di software per Linux, e scaricarsele
con un modem a 28.8 o una connesione ISDN richiede un sacco di tempo.
Ci sono essenzialmente due modi
per comperare una distribuzione Linux su CD-ROM: come parte di un archivio di
siti FTP o direttamente dal produttore. Se si compra un archivio, spesso di
avranno diverse distribuzioni tra cui scegliere, ma solitamente non è
incluso il supporto. Quando si compra una distribuzione direttamente dal produttore,
tipicamente si riceve solo una distribuzione, ma solitamente si riceve anche
qualche forma di supporto, tipicamente supporto sull'installazione.
Altri modi per procurarsi Linux
Ci sono molte BBS che hanno file su Linux. Un elenco di queste viene inviato
di tanto in tanto in comp.os.linux.announce. Si chieda ad amici e a gruppi di
utenti, o si ordini una delle distribuzioni commerciali. Una lista di queste
è contenuta nel Linux Distribution HOWTO, disponibile a http://sunsite.unc.edu/LDP/HOWTO/Distribution-HOWTO.html,
e postato regolarmente nel newsgroup news:comp.os.linux.announce.
|