doc: remove much of the Italian translations
The Italian translation has not been updated since r31375 on 2008-01-27. Future commits were either mechanical or global. - The committers guide still references CVS - The handbook still references sysinstall - Both still reference GNATS In general the documentation is out of date sufficient and not being updated. The hard work of the previous contributors is much appreciated. Leave the handbook as there is interest in continuing the project.
This commit is contained in:
parent
870a8a1d4d
commit
7820081803
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=52099
31 changed files with 0 additions and 19254 deletions
|
|
@ -1,6 +1,5 @@
|
|||
# $FreeBSD$
|
||||
|
||||
SUBDIR = articles
|
||||
SUBDIR+= books
|
||||
|
||||
COMPAT_SYMLINK = it
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
# $FreeBSD$
|
||||
|
||||
SUBDIR =
|
||||
SUBDIR+= committers-guide
|
||||
SUBDIR+= explaining-bsd
|
||||
SUBDIR+= filtering-bridges
|
||||
SUBDIR+= new-users
|
||||
SUBDIR+= vm-design
|
||||
|
||||
DOC_PREFIX?= ${.CURDIR}/../..
|
||||
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
DESTDIR?= ${DOCDIR}/it_IT.ISO8859-15/articles/${.CURDIR:T}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Articolo: Guida del Committer
|
||||
|
||||
MAINTAINER=ale@FreeBSD.org
|
||||
|
||||
DOC?= article
|
||||
|
||||
FORMATS?= html
|
||||
WITH_ARTICLE_TOC?= YES
|
||||
|
||||
INSTALL_COMPRESSED?= gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
SRCS= article.xml
|
||||
|
||||
URL_RELPREFIX?= ../../../..
|
||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
||||
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,19 +0,0 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Articolo: Panoramica su BSD
|
||||
|
||||
DOC?= article
|
||||
|
||||
FORMATS?= html
|
||||
WITH_ARTICLE_TOC?= YES
|
||||
|
||||
INSTALL_COMPRESSED?=gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
SRCS= article.xml
|
||||
|
||||
URL_RELPREFIX?= ../../../..
|
||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
||||
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
|
|
@ -1,615 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
||||
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
|
||||
<!--
|
||||
The FreeBSD Italian Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
Original revision: 1.22
|
||||
-->
|
||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="it">
|
||||
<info><title>Panoramica su BSD</title>
|
||||
|
||||
|
||||
<author><personname><firstname>Greg</firstname><surname>Lehey</surname></personname><affiliation>
|
||||
<address><email>grog@FreeBSD.org</email></address>
|
||||
</affiliation></author>
|
||||
|
||||
<legalnotice xml:id="trademarks" role="trademarks">
|
||||
&tm-attrib.freebsd;
|
||||
&tm-attrib.amd;
|
||||
&tm-attrib.apple;
|
||||
&tm-attrib.linux;
|
||||
&tm-attrib.opengroup;
|
||||
&tm-attrib.sun;
|
||||
&tm-attrib.xfree86;
|
||||
&tm-attrib.general;
|
||||
</legalnotice>
|
||||
|
||||
<pubdate>$FreeBSD$</pubdate>
|
||||
|
||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
||||
|
||||
<abstract>
|
||||
<para>Nel mondo open source, la parola <quote>Linux</quote> è quasi
|
||||
sinonimo di <quote>Sistema Operativo</quote>, ma non si tratta del solo
|
||||
sistema operativo &unix; open source. Secondo
|
||||
l'<link xlink:href="http://www.leb.net/hzo/ioscount/data/r.9904.txt">Internet
|
||||
Operating System Counter</link>, ad Aprile del 1999 il 31.3% delle
|
||||
macchine connesse in rete ha in esecuzione Linux.
|
||||
Il 14.6% fa girare BSD &unix;.
|
||||
Alcuni dei più grandi operatori del web, come <link xlink:href="http://www.yahoo.com/">Yahoo!</link>, usano BSD. Il server
|
||||
FTP più affollato del mondo nel 1999 (ora defunto), <link xlink:href="ftp://ftp.cdrom.com/">ftp.cdrom.com</link>, usa BSD per
|
||||
trasferire 1.4 TB di dati al giorno. Chiaramente questo non è
|
||||
un mercato di nicchia: BSD è un segreto ben mantenuto.</para>
|
||||
|
||||
<para>Dunque, qual è il segreto? Perché BSD non è
|
||||
conosciuto meglio? Questo documento risponde a questa e ad altre
|
||||
domande.</para>
|
||||
|
||||
<para>In questo documento, le differenze tra BSD e Linux verranno
|
||||
evidenziate <emphasis>così</emphasis>.</para>
|
||||
|
||||
&trans.it.surrender;
|
||||
</abstract>
|
||||
</info>
|
||||
|
||||
<sect1 xml:id="what-is-bsd">
|
||||
<title>Cos'è BSD?</title>
|
||||
|
||||
<para>BSD sta per <quote>Berkeley Software Distribution</quote>. È
|
||||
il nome delle distribuzioni di codice sorgente dell'Università
|
||||
della California, Berkeley, che erano originariamente estensioni al
|
||||
sistema operativo &unix; del settore Ricerca della AT&T.
|
||||
Molti progetti open source di sistemi operativi sono basati
|
||||
su una versione di questo codice sorgente noto come
|
||||
4.4BSD-Lite. Inoltre, essi comprendono un gran numero di
|
||||
pacchetti provenienti da altri progetti Open Source, incluso, in
|
||||
particolare, il progetto GNU. L'intero sistema operativo
|
||||
comprende:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Il kernel BSD, che gestisce lo scheduling dei processi, l'utilizzo
|
||||
della memoria, il supporto multiprocessore (SMP), i driver dei
|
||||
vari dispositivi, ecc.</para>
|
||||
|
||||
<para><emphasis>Diversamente dal kernel Linux, ci sono differenti
|
||||
kernel BSD con differenti caratteristiche.</emphasis></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>La libreria C, le API di base per il sistema.</para>
|
||||
|
||||
<para><emphasis>La libreria C BSD è basata su codice proveniente
|
||||
da Berkeley, non dal progetto GNU.</emphasis></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Utilità come shell, file manager, compilatori e
|
||||
linker.</para>
|
||||
|
||||
<para><emphasis>Alcune delle applicazioni derivano dal
|
||||
progetto GNU, altre no.</emphasis></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>L'X Window System, che gestisce la visualizzazione grafica.</para>
|
||||
|
||||
<para>L'X Window System usato nella maggior parte delle versioni di
|
||||
BSD viene mantenuto da uno dei due progetti separati, il
|
||||
<link xlink:href="http://www.XFree86.org/">progetto &xfree86;</link> e il
|
||||
<link xlink:href="http://www.X.org/">progetto X.Org</link>.
|
||||
Questo è lo stesso codice usato da Linux. BSD in genere non
|
||||
specifica un <quote>desktop grafico</quote> come GNOME o KDE,
|
||||
anche se questi sono disponibili.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Molti altri programmi ed utilità.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="what-a-real-unix">
|
||||
<title>Cosa, un vero &unix;?</title>
|
||||
|
||||
<para>I sistemi operativi BSD non sono cloni, ma derivati open source
|
||||
del sistema operativo &unix; dell'AT&T Research, che è anche
|
||||
l'antenato del moderno &unix; System V. Questo potrebbe sorprendere.
|
||||
Come è potuto accadere questo, se la AT&T non ha mai rilasciato
|
||||
il suo codice come open source?</para>
|
||||
|
||||
<para>È vero che lo &unix; AT&T non è open source, e nel
|
||||
senso del copyright BSD in definitiva <emphasis>non è</emphasis>
|
||||
&unix;, ma d'altro canto l'AT&T ha importato sorgenti da altri
|
||||
progetti, in maniera rilevante dal Computer Sciences Research Group
|
||||
dell'Università della California a Berkeley, CA. Iniziato nel
|
||||
1976, il CSRG ha iniziato a rilasciare nastri con il loro software,
|
||||
chiamandolo <emphasis>Berkeley Software Distribution</emphasis> o
|
||||
<emphasis>BSD</emphasis>.</para>
|
||||
|
||||
<para>Le versioni iniziali di BSD consistevano principalmente di programmi
|
||||
utente, ma questo cambiò drammaticamente quando il CSRG
|
||||
sottoscrisse un contratto con la
|
||||
Defense Advanced Projects Research Agency (DARPA) per migliorare
|
||||
i protocolli di comunicazione della loro rete, ARPANET. I nuovi
|
||||
protocolli furono conosciuti come <emphasis>Internet Protocols</emphasis>,
|
||||
e in seguito come <emphasis>TCP/IP</emphasis>, ai nomi dei protocolli
|
||||
più importanti. La prima implementazione distribuita in maniera
|
||||
estesa fu parte di 4.2BSD, nel 1982.</para>
|
||||
|
||||
<para>Nel corso degli '80, sorsero un certo numero di compagnie
|
||||
che producevano workstation. Molti preferirono usare &unix; su licenza
|
||||
piuttosto che sviluppare da soli un nuovo sistema operativo.
|
||||
In particolare, la Sun Microsystems rilicenziò &unix; ed
|
||||
implementò una versione commerciale di 4.2BSD, che chiamò
|
||||
SunOS. Quando alla AT&T stessa fu permesso di vendere &unix;
|
||||
commercialmente, cominciarono con una implementazione ridotta all'osso
|
||||
nota come System III, presto seguita da System V.
|
||||
Il codice fondamentale di System V non comprendeva la parte di rete,
|
||||
dunque tutte le implementazioni includevano software addizionale tratto
|
||||
da BSD, incluso il software legato al TCP/IP, ma anche utilità come
|
||||
la shell <emphasis>csh</emphasis> e l'editor <emphasis>vi</emphasis>.
|
||||
Complessivamente, questi miglioramenti furono conosciuti
|
||||
come le <emphasis>Estensioni Berkeley</emphasis>.</para>
|
||||
|
||||
<para>Il nastro BSD conteneva codice AT&T e dunque richiedeva
|
||||
una licenza per il sorgente &unix;. Dal 1990, il finanziamento del CSRG
|
||||
si stava esaurendo, e se ne stava per affrontare la chiusura.
|
||||
Alcuni membri del gruppo decisero di rilasciare il codice BSD,
|
||||
che era Open Source, senza il codice proprietario della AT&T.
|
||||
Ciò accadde infine con il <emphasis>Networking Tape 2</emphasis>,
|
||||
in genere noto come <emphasis>Net/2</emphasis>. Net/2 non era un sistema
|
||||
operativo completo: mancava circa il 20% del codice del kernel. Uno dei
|
||||
membri del CSRG, William F. Jolitz, scrisse il codice rimanente e lo
|
||||
rilasciò all'inizio del 1992 come <emphasis>386BSD</emphasis>.
|
||||
Allo stesso tempo, un altro gruppo di ex membri del CSRG formò una
|
||||
compagnia chiamata <link xlink:href="http://www.bsdi.com/">Berkeley Software
|
||||
Design Inc.</link> e rilasciò una versione beta di un sistema
|
||||
operativo chiamato <link xlink:href="http://www.bsdi.com/">BSD/386</link>,
|
||||
che era basato sugli stessi sorgenti. Il nome del sistema operativo
|
||||
è cambiato di recente in BSD/OS.</para>
|
||||
|
||||
<para>386BSD non divenne mai un sistema operativo stabile. Invece, due
|
||||
altri progetti se ne distaccarono nel 1993:
|
||||
<link xlink:href="http://www.NetBSD.org/">NetBSD</link> e
|
||||
<link xlink:href="&url.base;/index.html">FreeBSD</link>.
|
||||
I due progetti presero inizialmente direzioni divergenti, a causa della
|
||||
differente pazienza nell'attendere miglioramenti a
|
||||
386BSD: la gente di NetBSD cominciò all'inizio dell'anno,
|
||||
e la prima versione di FreeBSD non fu pronta fino alla fine
|
||||
dell'anno. Nel frattempo, i codici erano diventati abbastanza differenti
|
||||
da renderne difficile la fusione. Inoltre, i progetti avevano obiettivi
|
||||
differenti, come vedremo in seguito. Nel 1996,
|
||||
<link xlink:href="http://www.OpenBSD.org/">OpenBSD</link> si ramificò
|
||||
da NetBSD, e nel 2003,
|
||||
<link xlink:href="http://www.dragonflybsd.org/">DragonFlyBSD</link> si
|
||||
ramificò da FreeBSD.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="why-is-bsd-not-better-known">
|
||||
<title>Perché BSD non è più conosciuto?</title>
|
||||
|
||||
<para>Per un certo numero di ragioni, BSD è relativamente
|
||||
sconosciuto:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Gli sviluppatori BSD sono spesso più interessati
|
||||
a ripulire il loro codice che a fagli pubblicità.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Molta della popolarità di Linux è dovuta a fattori
|
||||
esterni al progetto Linux, come la stampa, e le compagnie formate per
|
||||
fornire servizi relativi a Linux. Fino a poco tempo fa,
|
||||
la varie versioni di BSD open source non avevano tali spinte.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Gli sviluppatori BSD tendono ad avere più esperienza
|
||||
di quelli di Linux, ed hanno meno interesse nel rendere il sistema
|
||||
facile da usare.
|
||||
I nuovi arrivati tendono a sentirsi più a loro agio con
|
||||
Linux.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Nel 1992, l'AT&T citò in giudizio
|
||||
<link xlink:href="http://www.bsdi.com/">BSDI</link>,
|
||||
il produttore di BSD/386, sostenendo che il prodotto conteneva
|
||||
codice sotto copyright della AT&T. Il caso fu risolto in
|
||||
tribunale nel 1994, ma lo spettro della causa continua a perseguitare
|
||||
alcune persone. Nel marzo 2000 un articolo pubblicato sul web
|
||||
sosteneva che il caso era stato <quote>concluso
|
||||
recentemente</quote>.</para>
|
||||
|
||||
<para>Un dettaglio che venne chiarito dall'azione legale fu il nome:
|
||||
negli anni '80, BSD era stato conosciuto come <quote>BSD
|
||||
&unix;</quote>.
|
||||
Con l'eliminazione delle ultima vestigia del codice AT&T da BSD,
|
||||
si era perso anche il diritto di usare il nome &unix;. Per questo
|
||||
noterete riferimenti nei libri al <quote>sistema operativo 4.3BSD
|
||||
&unix;</quote> ed al <quote>sistema operativo 4.4BSD</quote>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>C'è una certa percezione che il progetto BSD sia
|
||||
frammentato e belligerante. Il <link xlink:href="http://interactive.wsj.com/bin/login?Tag=/&URI=/archive/retrieve.cgi%253Fid%253DSB952470579348918651.djm&">Wall
|
||||
Street Journal</link> parlò di
|
||||
<quote>balcanizzazione</quote> dei progetti BSD. Come per l'azione
|
||||
legale, questa percezione si basa principalmente su vecchie
|
||||
storie.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="comparing-bsd-and-linux">
|
||||
<title>Paragone tra BSD e Linux</title>
|
||||
|
||||
<para>Dunque qual'è l'effettiva differenza tra, diciamo, Debian
|
||||
Linux e FreeBSD? Per l'utente medio, la differenza è
|
||||
sorprendentemente piccola: entrambi sono sistemi operativi tipo &unix;.
|
||||
Entrambi vengono sviluppati da progetti non commerciali (questo non si
|
||||
applica a molte altre distribuzioni di Linux, ovviamente). Nella sezione
|
||||
seguente, daremo un'occhiata a BSD e lo paragoneremo a Linux.
|
||||
La descrizione si applica molto da vicino a FreeBSD, che conta per un 80%
|
||||
delle installazioni BSD, ma le differenza da NetBSD, OpenBSD e DragonFlyBSD
|
||||
sono piccole.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Chi possiede BSD?</title>
|
||||
|
||||
<para>Nessuna persona o società possiede BSD. Esso è creato
|
||||
e distribuito da una comunità di persone con grande preparazione
|
||||
tecnica e voglia di fare che contribuiscono da tutto il mondo.
|
||||
Alcuni dei componenti di BSD sono progetti open source a se stanti gestiti
|
||||
da diversi responsabili.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Come viene sviluppato ed aggiornato BSD?</title>
|
||||
|
||||
<para>I kernel BSD vengono sviluppati ed aggiornati
|
||||
seguendo il modello di sviluppo open source. Ogni progetto mantiene
|
||||
un <emphasis>albero dei sorgenti</emphasis> liberamente accessibile in
|
||||
un <link xlink:href="http://www.cvshome.org/">Concurrent Versions
|
||||
System</link>, un sistema di gestione delle versioni concorrenti,
|
||||
che contiene tutti i file sorgenti del progetto,
|
||||
inclusa la documentazione ed altri file inerenti. Il CVS
|
||||
permette agli utenti di <quote>estrarre</quote> (in sostanza,
|
||||
estrarre una copia di) ogni versione desiderata del sistema.</para>
|
||||
|
||||
<para>Un grande numero di sviluppatori da tutto il mondo contribuisce al
|
||||
miglioramento di BSD. Essi sono divisi in tre grandi gruppi:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>I <firstterm>contributor</firstterm> scrivono codice o
|
||||
documentazione. Non gli è permesso di effettuare il commit
|
||||
(aggiungere codice) direttamente all'albero dei sorgenti.
|
||||
Affinché il loro codice sia incluso nel sistema, esso
|
||||
deve essere rivisto e controllato da uno sviluppatore registrato,
|
||||
noto come <emphasis>committer</emphasis>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>I <firstterm>committer</firstterm> sono sviluppatori
|
||||
con accesso in scrittura all'albero dei sorgenti.
|
||||
Per poter divenire un committer, un individuo deve dimostrare
|
||||
abilità nell'area nella quale è attivo.</para>
|
||||
|
||||
<para>
|
||||
È a discrezione del committer la volontà di
|
||||
confrontarsi con qualcuno prima di effettuare cambiamenti. In
|
||||
generale, un committer con esperienza può effettuare
|
||||
cambiamenti che sono ovviamente corretti senza interrogare nessuno.
|
||||
Ad esempio, un committer del progetto di documentazione può
|
||||
correggere errori tipografici o grammaticali senza un confronto con
|
||||
altri. D'altro canto, dagli sviluppatori che stanno per effettuare
|
||||
cambiamenti profondi o complessi ci si aspetta che sottopongano i
|
||||
cambiamenti a revisione prima di renderli effettivi. In casi
|
||||
estremi, un membro del core team, con una funzione simile a un Capo
|
||||
Architetto, può ordinare che i cambiamenti siano rimossi
|
||||
dall'albero, un processo noto come <firstterm>marcia
|
||||
indietro</firstterm>.
|
||||
Tutti i committer ricevono una lettera che descrive ogni
|
||||
modifica individuale, dunque non è possibile effettuare un
|
||||
commit segretamente.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Il <firstterm>Core Team</firstterm>. FreeBSD e NetBSD
|
||||
hanno ognuno un core team che gestisce il progetto. I
|
||||
core team si sono modificati nel corso del progetto, ed i loro
|
||||
ruoli non sempre sono ben definiti. Non è necessario essere
|
||||
uno sviluppatore per far parte del core team, anche se è
|
||||
normale che sia così. Le regole
|
||||
per il core team variano da un progetto ad un altro, ma in
|
||||
generale chi ne fa parte ha più autorità
|
||||
nell'indirizzamento del progetto rispetto agli altri membri.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Questa organizzazione differisce da Linux in vari modi:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Nessuna persona controlla il contenuto del sistema. In
|
||||
pratica, questa differenza è sopravvalutata, poiché
|
||||
il Capo Architetto può richiedere che il codice sia
|
||||
rimosso, ed anche nel progetto Linux viene permesso a
|
||||
molte persone di effettuare cambiamenti.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>D'altra parte, <emphasis>c'è</emphasis> un deposito
|
||||
centrale, un punto singolo dove è possibile trovare i
|
||||
sorgenti dell'intero sistema, incluse tutte le vecchie
|
||||
versioni.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>I progetti BSD mantengono l'intero <quote>Sistema
|
||||
Operativo</quote>, non solo il kernel. Questa distinzione
|
||||
è utile solo marginalmente: né BSD né Linux
|
||||
sono utili senza applicazioni. Le applicazioni usate su BSD sono
|
||||
spesso le stesse usate su Linux.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Come risultato di un mantenimento formalizzato
|
||||
di un singolo CVS per l'albero dei sorgenti, lo sviluppo di BSD
|
||||
è chiaro, ed è possibile accedere ad ogni versione del
|
||||
sistema dal numero di release o dalla data.
|
||||
Il CVS permette anche aggiornamenti incrementali del sistema: ad
|
||||
esempio, il repository di FreeBSD viene aggiornato più o meno
|
||||
100 volte al giorno. La maggior parte dei cambiamenti sono
|
||||
piccoli.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Release di BSD</title>
|
||||
|
||||
<para>FreeBSD, NetBSD and OpenBSD forniscono il sistema in tre
|
||||
<quote>release</quote> differenti. Come per Linux, alle release
|
||||
vengono assegnati dei numeri come 1.4.1 o 3.5. Inoltre, il numero di
|
||||
versione ha un suffisso che indica il suo scopo:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>la versione di sviluppo del sistema è chiamata
|
||||
<firstterm>CURRENT</firstterm>. FreeBSD assegna un numero
|
||||
alla CURRENT, ad esempio FreeBSD 5.0-CURRENT. NetBSD usa uno
|
||||
schema di denominazione leggermente differente
|
||||
ed aggiunge un suffisso di una singola lettera che indica
|
||||
i cambiamenti nell'interfaccia interna, ad esempio NetBSD
|
||||
1.4.3G. OpenBSD non assegna un numero
|
||||
(<quote>OpenBSD-current</quote>).
|
||||
Tutti gli sviluppi del sistema vanno in questo ramo.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>A intervalli regolari, tra le due e le quattro volte all'anno, i
|
||||
progetti fanno uscire una versione <firstterm>RELEASE</firstterm>
|
||||
del sistema, disponibile su CD-ROM e come libero download da siti
|
||||
FTP, ad esempio OpenBSD 2.6-RELEASE o NetBSD 1.4-RELEASE.
|
||||
La versione RELEASE è intesa per gli utenti finali ed
|
||||
è la versione normale del sistema. NetBSD fornisce anche
|
||||
<emphasis>patch release</emphasis>, versioni con solo piccole
|
||||
correzioni, con una terza cifra, ad esempio NetBSD 1.4.2.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Quando vengono trovati dei bug in una versione RELEASE,
|
||||
vengono corretti, e le correzioni vengono aggiunte all'albero del
|
||||
CVS. In FreeBSD, la versione risultante viene detta
|
||||
<firstterm>STABLE</firstterm>, mentre in NetBSD ed OpenBSD continua
|
||||
a chiamarsi RELEASE. Caratteristiche minori possono essere aggiunte
|
||||
a questo ramo dopo un periodo di test nel ramo CURRENT.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
|
||||
<para><emphasis>In contrasto, Linux mantiene due alberi di codice
|
||||
differenti: la versione stabile e la versione di sviluppo.
|
||||
Le versioni stabili hanno un numero di versione pari, come 2.0, 2.2 o
|
||||
2.4. Le versioni di sviluppo hanno numero di versione dispari, come
|
||||
2.1, 2.3 o 2.5. In ogni caso, il numero è seguito da un
|
||||
ulteriore numero che indica la versione esatta. Inoltre, ogni
|
||||
venditore aggiunge i suoi programmi utente o le sue utilità,
|
||||
dunque anche il nome della distribuzione è importante. Ogni
|
||||
venditore di distribuzione assegna anche un numero di versione alla
|
||||
distribuzione, dunque una descrizione completa dovrebbe essere una
|
||||
cosa del tipo <quote>TurboLinux 6.0 con kernel
|
||||
2.2.14</quote></emphasis></para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Quali versioni di BSD sono disponibili?</title>
|
||||
|
||||
<para>In contrasto alle numerose distribuzioni Linux, ci sono solo
|
||||
quattro BSD open source. Ogni progetto BSD mantiene il suo albero dei
|
||||
sorgenti ed il suo kernel. In pratica, comunque, ci sono meno
|
||||
divergenze tra i codici dei programmi utente dei vari progetti di quante
|
||||
ce ne siano in Linux.</para>
|
||||
|
||||
<para>È difficile catalogare gli obiettivi di ogni progetto:
|
||||
le differenze sono molto soggettive. Di base,</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>FreeBSD punta alle alte prestazioni e alla facilità d'uso
|
||||
per l'utente finale, ed è molto usato dai fornitori di
|
||||
contenuti web. Funziona su diverse piattaforme, inclusi i sistemi
|
||||
basati su i386 (<quote>PC</quote>), i sistemi basati sui processori
|
||||
AMD a 64-bit, i sistemi basati su &ultrasparc;, i sistemi basati su
|
||||
processori Alpha della Compaq e i sistemi basati sulle specifiche
|
||||
NEC PC-98. Il progetto FreeBSD ha nettamente più utenti degli
|
||||
altri.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>NetBSD punta alla massima portabilità: <quote>of course
|
||||
it runs NetBSD</quote>, ovviamente ci gira NetBSD.
|
||||
Funziona su macchine che vanno dai palmtop ai grossi
|
||||
server, ed è anche stato usato dalla NASA in alcune missioni
|
||||
spaziali. È una scelta particolarmente buona per il vecchio
|
||||
hardware non Intel.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>OpenBSD punta alla sicurezza e alla purezza del codice: usa una
|
||||
combinazione dei concetti open source e un rigoroso controllo
|
||||
del codice per creare un sistema la cui correttezza sia
|
||||
dimostrabile, rendendolo la scelta di organizzazioni attente alla
|
||||
sicurezza come banche, borse e dipartimenti del governo
|
||||
statunitense.
|
||||
Come NetBSD, funziona su un gran numero di piattaforme.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>DragonFlyBSD punta ad alte prestazioni e scalabilità sotto
|
||||
qualsiasi sistema dal singolo sistema mono-processore al sistema
|
||||
massicciamente clasterizzato. DragonFlyBSD ha diversi obbiettivi a
|
||||
lungo termine, anche se è concentrato nel fornire un'infrastruttura
|
||||
SMP facile da capire, mantenere e sviluppare.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Ci sono anche altri due sistemi operativi BSD che non sono open
|
||||
source, BSD/OS e il &macos; X della Apple:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>BSD/OS fu il pù antico dei derivati di 4.4BSD.
|
||||
Non fu open source, anche se le licenze per il codice sorgente
|
||||
erano disponibili ad un costo relativamente basso.
|
||||
Per molti aspetti assomiglia a FreeBSD. Due anni dopo
|
||||
l'acquisizione di BSDi da parte di Wind River Systems,
|
||||
BSD/OS non riuscii a sopravvivere come prodotto indipendete.
|
||||
Supporto e codice sorgente sono ancora disponibili da Wind River,
|
||||
anche se tutto il nuovo sviluppo è concentrato sul
|
||||
sistema operativo embedded VxWorks.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><link xlink:href="http://www.apple.com/macosx/server/">&macos;
|
||||
X</link> è l'ultima versione del sistema operativo per
|
||||
la linea &macintosh; della <link xlink:href="http://www.apple.com/">Apple
|
||||
Computer Inc.</link>. L'anima BSD &unix; di questo sistema
|
||||
operativo, <link xlink:href="http://developer.apple.com/darwin/">Darwin</link>, è
|
||||
disponibile come un sistema operativo open source completamente
|
||||
funzionante per computer x86 e PPC. Il sistema grafico Aqua/Quartz
|
||||
e molti altri aspetti proprietari di &macos; X rimangono comunque
|
||||
closed source. Numerosi sviluppatori di Darwin sono anche
|
||||
committer di FreeBSD, e viceversa.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Come differisce la licenza BSD dalla GNU Public?</title>
|
||||
|
||||
<para>Linux è disponibile con licenza <link xlink:href="http://www.fsf.org/copyleft/gpl.html">GNU General Public
|
||||
License</link> (GPL), che è pensata per eliminare il software
|
||||
closed source. In particolare, ogni lavoro derivante da un prodotto
|
||||
rilasciato sotto GPL deve essere fornito anche con il codice sorgente,
|
||||
se richiesto. Al contrario, la <link xlink:href="http://www.opensource.org/licenses/bsd-license.html">licenza
|
||||
BSD</link> è meno restrittiva: le distribuzioni dei soli
|
||||
binari sono permesse. Ciò è particolarmente attraente per
|
||||
le applicazioni embedded.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Cos'altro dovrei sapere?</title>
|
||||
|
||||
<para>Poiché sono disponibili meno applicazioni per BSD che per
|
||||
Linux, gli sviluppatori BSD hanno creato un pacchetto di
|
||||
compatibilità con Linux, che permette ai programmi per Linux di
|
||||
funzionare su BSD. Il pacchetto include sia modifiche al kernel, in
|
||||
modo da permettere l'esecuzione corretta di chiamate di sistema
|
||||
Linux, che file di compatibilità, come la libreria C. Non
|
||||
c'è una differenza notevole nella velocità di esecuzione
|
||||
tra una applicazione in esecuzione su una macchina Linux ed una
|
||||
applicazione in esecuzione su una macchina BSD con pari
|
||||
caratteristiche.</para>
|
||||
|
||||
<para>La natura <quote>tutto da una sola fonte</quote> di BSD fa sì
|
||||
che gli aggiornamenti siano molto più semplici da gestire
|
||||
rispetto alla maggior parte dei casi in Linux. BSD gestisce gli
|
||||
aggiornamenti della versione di libreria fornendo moduli di
|
||||
compatibilità per le versioni precedenti, dunque è
|
||||
possibile eseguire binari di parecchi anni prima senza problemi.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Cosa dovrei usare, BSD o Linux?</title>
|
||||
|
||||
<para>Cosa significa tutto questo in pratica? Chi dovrebbe usare BSD, chi
|
||||
dovrebbe usare Linux?</para>
|
||||
|
||||
<para>Questa è una domanda molto difficile a cui rispondere. Qui
|
||||
ci sono alcune linee guida:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><quote>Se non è rotto, non aggiustarlo</quote>: se usi
|
||||
già un sistema operativo open source, e ne sei soddisfatto,
|
||||
probabilmente non c'è ragione di cambiare.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>I sistemi BSD, in particolare FreeBSD, possono avere prestazioni
|
||||
notevolmente migliori di Linux. Ma questo non avviene in tutti i
|
||||
campi. In molti casi, c'è una differenza minima nelle
|
||||
prestazioni. In alcuni casi, Linux può comportarsi meglio di
|
||||
FreeBSD.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>In generale, i sistemi BSD hanno una reputazione migliore di
|
||||
affidabilità, principalmente come risultato di una base di
|
||||
codice più maturo.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>I progetti BSD hanno una reputazione migliore per quanto
|
||||
concerne qualità e completezza della loro documentazione.
|
||||
I diversi progetti di documentazione mirano a fornire attivamente
|
||||
documentazione aggiornata, in molte lingue, e coprendo tutti
|
||||
gli aspetti del sistema.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>La licenza BSD può essere più attraente della
|
||||
GPL.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>BSD può eseguire la maggior parte dei binari Linux,
|
||||
mentre Linux non può eseguire i binari BSD. Molte
|
||||
implementazioni di BSD possono anche eseguire i binari di altri
|
||||
sistemi di tipo &unix;. Come risultato, BSD può
|
||||
rappresentare un percorso di migrazione più semplice da
|
||||
altri sistemi rispetto a Linux.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Chi fornisce supporto, servizi, e training su BSD?</title>
|
||||
|
||||
<para>BSDi / <link xlink:href="http://www.freebsdmall.com">FreeBSD
|
||||
Mall, Inc.</link> forniscono contratti di supporto per
|
||||
FreeBSD da quasi un decennio.</para>
|
||||
|
||||
<para>Inoltre, ognuno dei progetti ha una lista di consulenti a pagamento:
|
||||
<link xlink:href="&url.base;/commercial/consult_bycat.html">FreeBSD</link>,
|
||||
<link xlink:href="http://www.netbsd.org/gallery/consultants.html">NetBSD</link>,
|
||||
e <link xlink:href="http://www.openbsd.org/support.html">OpenBSD</link>.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</article>
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Articolo: Filtering Bridges
|
||||
|
||||
DOC?= article
|
||||
|
||||
FORMATS?= html
|
||||
|
||||
INSTALL_COMPRESSED?=gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
SRCS= article.xml
|
||||
|
||||
URL_RELPREFIX?= ../../../..
|
||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
||||
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
|
|
@ -1,429 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
||||
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
|
||||
<!--
|
||||
The FreeBSD Italian Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
Original revision: 1.21
|
||||
-->
|
||||
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="it">
|
||||
<info><title>Filtering Bridges</title>
|
||||
|
||||
|
||||
<authorgroup>
|
||||
<author><personname><firstname>Alex</firstname><surname>Dupre</surname></personname><affiliation>
|
||||
<address><email>ale@FreeBSD.org</email></address>
|
||||
</affiliation></author>
|
||||
</authorgroup>
|
||||
|
||||
<legalnotice xml:id="trademarks" role="trademarks">
|
||||
&tm-attrib.freebsd;
|
||||
&tm-attrib.3com;
|
||||
&tm-attrib.intel;
|
||||
&tm-attrib.general;
|
||||
</legalnotice>
|
||||
|
||||
<pubdate>$FreeBSD$</pubdate>
|
||||
|
||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
||||
|
||||
<abstract>
|
||||
<para>Spesso è utile dividere una rete fisica (come una Ethernet)
|
||||
in due segmenti separati, senza dover creare sottoreti e usare un router
|
||||
per collegarli assieme. Il dispositivo che collega due reti insieme in
|
||||
questo modo è chiamato bridge. Un sistema FreeBSD con due
|
||||
interfacce di rete è sufficiente per raggiungere lo scopo.</para>
|
||||
|
||||
<para>Un bridge funziona individuando gli indirizzi del livello
|
||||
<acronym>MAC</acronym> (indirizzi Ethernet) dei dispositivi collegati ad
|
||||
ognuna delle sue interfacce di rete e inoltrando il traffico tra le due
|
||||
reti solo se il mittente e il destinatario si trovano su segmenti
|
||||
differenti. Sotto molti punti di vista un brigde è simile a uno
|
||||
switch Ethernet con solo due porte.</para>
|
||||
</abstract>
|
||||
</info>
|
||||
|
||||
<sect1 xml:id="filtering-bridges-why">
|
||||
<title>Perché usare un filtering bridge?</title>
|
||||
|
||||
<para>Sempre più frequentemente, grazie all'abbassamento dei costi
|
||||
delle connessioni a banda larga (xDSL) e a causa della riduzione del
|
||||
numero di indirizzi IPv4 disponibili, molte società si ritrovano
|
||||
collegate ad Internet 24 ore su 24 e con un numero esiguo (a volte nemmeno
|
||||
una potenza di 2) di indirizzi IP. In situazioni come queste spesso
|
||||
è desiderabile avere un firewall che regoli i permessi di ingresso
|
||||
e uscita per il traffico da e verso Internet, ma una soluzione basata
|
||||
sulle funzionalità di packet filtering dei router può non
|
||||
essere applicabile, vuoi per problemi di suddivisione delle sottoreti,
|
||||
vuoi perché il router è di proprietà del fornitore di
|
||||
accesso (<acronym>ISP</acronym>), vuoi perché il router non
|
||||
supporta tali funzionalità. È in questi casi che l'utilizzo
|
||||
di un filtering bridge diventa altamente consigliato.</para>
|
||||
|
||||
<para>Un firewall basato su bridge può essere configurato e inserito
|
||||
direttamente tra il router xDSL e il vostro hub/switch Ethernet senza
|
||||
alcun problema di assegnazione di indirizzi IP.</para>
|
||||
|
||||
<note>
|
||||
<para>La traduzione italiana di <quote>firewall</quote> è
|
||||
<quote>muro anti incendio</quote>, <emphasis>non</emphasis>
|
||||
<quote>muro di fuoco</quote> come molti pensano. Nel corso
|
||||
dell'articolo, comunque, manterrò i termini tecnici nella loro
|
||||
lingua originale in modo da non creare confusione o
|
||||
ambiguità.</para>
|
||||
</note>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="filtering-bridges-how">
|
||||
<title>Metodi d'installazione</title>
|
||||
|
||||
<para>Aggiungere le funzionalità di bridge a una macchina FreeBSD non
|
||||
è difficile. Dalla release 4.5 è possibile caricare tali
|
||||
funzionalità come moduli anziché dover ricompilare il
|
||||
kernel, semplificando di gran lunga la procedura. Nelle prossime
|
||||
sottosezioni spiegherò entrambi i metodi di installazione.</para>
|
||||
|
||||
<important>
|
||||
<para><emphasis>Non</emphasis> seguite entrambe le istruzioni: le
|
||||
procedure sono <emphasis>a esclusione</emphasis>. Scegliete
|
||||
l'alternativa che meglio si adatta alle vostre esigenze e
|
||||
capacità.</para>
|
||||
</important>
|
||||
|
||||
<para>Prima di continuare è necessario assicurarsi di avere almeno
|
||||
due schede di rete Ethernet che supportino la modalità promiscua
|
||||
sia in ricezione che in trasmissione, difatti devono essere in grado di
|
||||
inviare pacchetti Ethernet con qualunque indirizzo, non solo il loro.
|
||||
Inoltre, per avere un buon rendimento, le schede dovrebbero essere di
|
||||
tipo PCI bus mastering. Le scelte migliori sono ancora le Intel
|
||||
ðerexpress; Pro seguite dalle &tm.3com; 3c9xx subito dopo. Per
|
||||
comodità nella configurazione del firewall può essere
|
||||
utile avere due schede di marche differenti (che usino drivers
|
||||
differenti) in modo da distinguere chiaramente quale interfaccia sia
|
||||
collegata al router e quale alla rete interna.</para>
|
||||
|
||||
<sect2 xml:id="filtering-bridges-kernel">
|
||||
<title>Configurazione del Kernel</title>
|
||||
|
||||
<para>Così avete deciso di utilizzare il più vecchio e
|
||||
collaudato metodo di installazione. Per prima cosa bisogna
|
||||
aggiungere le seguenti righe al file di configurazione del
|
||||
kernel:</para>
|
||||
|
||||
<programlisting>options BRIDGE
|
||||
options IPFIREWALL
|
||||
options IPFIREWALL_VERBOSE</programlisting>
|
||||
|
||||
<para>La prima riga serve a compilare il supporto per il bridge, la
|
||||
seconda il firewall e la terza le funzioni di logging del firewall.
|
||||
</para>
|
||||
|
||||
<para>Adesso è necessario compilare e installare il nuovo kernel.
|
||||
Si possono trovare le istruzioni nella sezione <link xlink:href="&url.books.handbook;/kernelconfig-building.html">
|
||||
Building and Installing a Custom Kernel</link> dell'handbook.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="filtering-bridges-modules">
|
||||
<title>Caricamento dei Moduli</title>
|
||||
|
||||
<para>Se avete deciso di usare il nuovo e più semplice metodo di
|
||||
installazione, l'unica cosa da fare è aggiungere la seguente riga
|
||||
al file <filename>/boot/loader.conf</filename>:</para>
|
||||
|
||||
<programlisting>bridge_load="YES"</programlisting>
|
||||
|
||||
<para>In questo modo all'avvio della macchina verrà caricato
|
||||
insieme al kernel anche il modulo <filename>bridge.ko</filename>. Non
|
||||
è necessario invece aggiungere una riga per il modulo
|
||||
<filename>ipfw.ko</filename> in quanto verrà caricato in
|
||||
automatico dallo script <filename>/etc/rc.network</filename> dopo aver
|
||||
seguito i passi della prossima sezione.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="filtering-bridges-finalprep">
|
||||
<title>Preparativi finali</title>
|
||||
|
||||
<para>Prima di riavviare per caricare il nuovo kernel o i moduli richiesti
|
||||
(a seconda del metodo che avete scelto in precedenza), bisogna effettuare
|
||||
alcune modifiche al file <filename>/etc/rc.conf</filename>. La regola di
|
||||
default del firewall è di rifiutare tutti i pacchetti IP. Per
|
||||
iniziare attiviamo il firewall in modalità <option>open</option>,
|
||||
in modo da verificare il suo funzionamento senza alcun problema di
|
||||
filtraggio pacchetti (nel caso stiate eseguendo questa procedura da
|
||||
remoto, tale accorgimento vi consentirà di non rimanere
|
||||
erroneamente tagliati fuori dalla rete).
|
||||
Inserite queste linee nel file <filename>/etc/rc.conf</filename>:</para>
|
||||
|
||||
<programlisting>firewall_enable="YES"
|
||||
firewall_type="open"
|
||||
firewall_quiet="YES"
|
||||
firewall_logging="YES"</programlisting>
|
||||
|
||||
<para>La prima riga serve ad attivare il firewall (e a caricare il modulo
|
||||
<filename>ipfw.ko</filename> nel caso non fosse già compilato nel
|
||||
kernel), la seconda a impostarlo in modalità
|
||||
<option>open</option> (come descritto nel file
|
||||
<filename>/etc/rc.firewall</filename>), la terza a non
|
||||
visualizzare il caricamento delle regole e la quarta ad abilitare il
|
||||
supporto per il logging.</para>
|
||||
|
||||
<para>Per quanto riguarda la configurazione delle interfacce di rete, il
|
||||
metodo più utilizzato è quello di assegnare un IP a solo una
|
||||
delle schede di rete, ma il bridge funziona egualmente anche se entrambe o
|
||||
nessuna delle interfacce ha IP settati. In quest'ultimo caso (IP-less) la
|
||||
macchina bridge sarà ancora più nascosta in quanto
|
||||
inaccessibile dalla rete: per configurarla occorrerà quindi entrare
|
||||
da console o tramite una terza interfaccia di rete separata dal bridge. A
|
||||
volte all'avvio della macchina qualche programma richiede di accedere alla
|
||||
rete, per esempio per una risoluzione di dominio: in questo caso è
|
||||
necessario assegnare un IP all'interfaccia esterna (quella collegata a
|
||||
Internet, dove risiede il server <acronym>DNS</acronym>), visto che il
|
||||
bridge verrà attivato alla fine della procedura di avvio. Questo
|
||||
vuol dire che l'interfaccia <filename>fxp0</filename> (nel nostro
|
||||
caso) deve essere menzionata nella sezione ifconfig del file
|
||||
<filename>/etc/rc.conf</filename>, mentre la <filename>xl0</filename>
|
||||
no. Assegnare IP a entrambe le schede di rete non ha molto senso, a meno
|
||||
che durante la procedura di avvio non si debba accedere a servizi presenti
|
||||
su entrambi i segmenti Ethernet.</para>
|
||||
|
||||
<para>C'è un'altra cosa importante da sapere. Quando si utilizza IP
|
||||
sopra Ethernet ci sono due protocolli Ethernet in uso: uno è IP,
|
||||
l'altro è <acronym>ARP</acronym>. <acronym>ARP</acronym> permette
|
||||
la conversione dell'indirizzo IP di una macchina nel suo indirizzo
|
||||
Ethernet (livello <acronym>MAC</acronym>). Affinché due macchine
|
||||
separate dal bridge riescano a comunicare tra loro è necessario che
|
||||
il bridge lasci passare i pacchetti <acronym>ARP</acronym>. Tale
|
||||
protocollo non fa parte del livello IP, visto che è presente solo
|
||||
con IP sopra Ethernet. Il firewall di FreeBSD agisce esclusivamente sul
|
||||
livello IP e quindi tutti i pacchetti non IP (compreso
|
||||
<acronym>ARP</acronym>) verranno inoltrati senza essere filtrati, anche se
|
||||
il firewall è configurato per non lasciar passare nulla.</para>
|
||||
|
||||
<para>Ora è arrivato il momento di riavviare la macchina e usarla
|
||||
come in precedenza: appariranno dei nuovi messaggi riguardo al bridge e al
|
||||
firewall, ma il bridge non sarà attivato e il firewall, essendo in
|
||||
modalità <option>open</option>, non impedirà nessuna
|
||||
operazione.</para>
|
||||
|
||||
<para>Se ci dovessero essere dei problemi, è il caso di scoprire ora
|
||||
da cosa derivino e risolverli prima di continuare.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="filtering-bridges-enabling">
|
||||
<title>Attivazione del Bridge</title>
|
||||
|
||||
<para>A questo punto, per attivare il bridge, bisogna eseguire i seguenti
|
||||
comandi (avendo l'accortezza di sostituire i nomi delle due interfacce di
|
||||
rete <filename>fxp0</filename> e <filename>xl0</filename> con i
|
||||
propri):</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>sysctl net.link.ether.bridge.config=fxp0:0,xl0:0</userinput>
|
||||
&prompt.root; <userinput>sysctl net.link.ether.bridge.ipfw=1</userinput>
|
||||
&prompt.root; <userinput>sysctl net.link.ether.bridge.enable=1</userinput></screen>
|
||||
|
||||
<para>La prima riga specifica tra quali interfacce va attivato il bridge,
|
||||
la seconda abilita il firewall sul bridge ed infine la terza attiva il
|
||||
bridge.</para>
|
||||
|
||||
<note>
|
||||
<para>Se hai &os; 5.1-RELEASE o precedenti le variabili sysctl
|
||||
sono chiamate in modo differente. Guarda &man.bridge.4; per i
|
||||
dettagli.</para>
|
||||
</note>
|
||||
|
||||
<para>A questo punto dovrebbe essere possibile inserire la macchina tra
|
||||
due gruppi di host senza che venga compromessa qualsiasi
|
||||
possibilità di comunicazione tra di loro. Se è così,
|
||||
il prossimo passo è quello di aggiungere le parti
|
||||
<literal>net.link.ether.bridge.[blah]=[blah]</literal>
|
||||
di queste righe al file <filename>/etc/sysctl.conf</filename>, in modo che
|
||||
vengano eseguite all'avvio della macchina.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="filtering-bridges-ipfirewall">
|
||||
<title>Configurazione del Firewall</title>
|
||||
|
||||
<para>Ora è arrivato il momento di creare il proprio file con le
|
||||
regole per il firewall, in modo da rendere sicura la rete interna.
|
||||
Ci sono delle complicazioni nel fare questo, perché non tutte le
|
||||
funzionalità del firewall sono disponibili sui pacchetti inoltrati
|
||||
dal bridge. Inoltre, c'è una differenza tra i pacchetti che stanno
|
||||
per essere inoltrati dal bridge e quelli indirizzati alla macchina locale.
|
||||
In generale, i pacchetti che entrano nel bridge vengono processati dal
|
||||
firewall solo una volta, non due come al solito; infatti vengono filtrati
|
||||
solo in ingresso, quindi qualsiasi regola che usi <option>out</option>
|
||||
oppure <option>xmit</option> non verrà mai eseguita. Personalmente
|
||||
uso <option>in via</option> che è una sintassi più antica,
|
||||
ma che ha un senso quando la si legge.
|
||||
Un'altra limitazione è che si possono usare solo i comandi
|
||||
<option>pass</option> e <option>drop</option> per i pacchetti filtrati
|
||||
dal bridge. Cose avanzate come <option>divert</option>,
|
||||
<option>forward</option> o <option>reject</option> non sono disponibili.
|
||||
Queste opzioni possono ancora essere usate, ma solo per il traffico da
|
||||
e verso la macchina bridge stessa (sempre che le sia stato assegnato
|
||||
un IP).</para>
|
||||
|
||||
<para>Nuovo in FreeBSD 4.0 è il concetto di stateful filtering.
|
||||
Questo è un grande miglioramento per il traffico
|
||||
<acronym>UDP</acronym>, che consiste tipicamente di una richiesta in
|
||||
uscita, seguita a breve termine da una risposta con la stessa coppia di
|
||||
indirizzi IP e numeri di porta (ma con mittente e destinatario invertiti,
|
||||
ovviamente). Per i firewall che non supportano il mantenimento di stato,
|
||||
non c'è modo di gestire questo breve scambio di dati come una
|
||||
sessione unica. Ma con un firewall che può
|
||||
<quote>ricordarsi</quote> di un pacchetto <acronym>UDP</acronym> in
|
||||
uscita e permette una risposta nei minuti successivi, gestire i
|
||||
servizi <acronym>UDP</acronym> è semplice.
|
||||
L'esempio seguente mostra come fare. La stessa cosa è
|
||||
possibile farla con i pacchetti <acronym>TCP</acronym>. Questo
|
||||
permette di evitare qualche tipo di attacco denial of service e altri
|
||||
sporchi trucchi, ma tipicamente fa anche crescere velocemente la
|
||||
tabella di stato.</para>
|
||||
|
||||
<para>Vediamo un esempio di configurazione. Bisogna notare che all'inizio
|
||||
del file <filename>/etc/rc.firewall</filename> ci sono già delle
|
||||
regole standard per l'interfaccia di loopback
|
||||
<filename>lo0</filename>, quindi non ce ne occuperemo più ora.
|
||||
Le regole personalizzate andrebbero messe in un file a parte (per esempio
|
||||
<filename>/etc/rc.firewall.local</filename>) e caricate all'avvio
|
||||
modificando la riga del file <filename>/etc/rc.conf</filename> dove era
|
||||
stata definita la modalità <option>open</option> con:</para>
|
||||
|
||||
<programlisting>firewall_type="/etc/rc.firewall.local"</programlisting>
|
||||
|
||||
<important>
|
||||
<para>Bisogna specificare il path <emphasis>completo</emphasis>
|
||||
del file, altrimenti non verrà caricato con il rischio di
|
||||
rimanere tagliati fuori dalla rete.</para>
|
||||
</important>
|
||||
|
||||
<para>Per il nostro esempio immaginiamo di avere l'interfaccia
|
||||
<filename>fxp0</filename> collegata all'esterno (Internet) e la
|
||||
<filename>xl0</filename> verso l'interno (<acronym>LAN</acronym>).
|
||||
La macchina bridge ha assegnato l'IP
|
||||
<systemitem class="ipaddress">1.2.3.4</systemitem>
|
||||
(è impossibile che il vostro <acronym>ISP</acronym> vi assegni un
|
||||
indirizzo simile a questo, ma per l'esempio va bene).</para>
|
||||
|
||||
<programlisting># Le connessioni di cui abbiamo mantenuto lo stato vengono fatte passare subito
|
||||
add check-state
|
||||
|
||||
# Esclude le reti locali definite nell'RFC 1918
|
||||
add drop all from 10.0.0.0/8 to any in via fxp0
|
||||
add drop all from 172.16.0.0/12 to any in via fxp0
|
||||
add drop all from 192.168.0.0/16 to any in via fxp0
|
||||
|
||||
# Permette alla macchina bridge di connettersi con chi vuole
|
||||
# (se la macchina è IP-less non includere questi comandi)
|
||||
add pass tcp from 1.2.3.4 to any setup keep-state
|
||||
add pass udp from 1.2.3.4 to any keep-state
|
||||
add pass ip from 1.2.3.4 to any
|
||||
|
||||
# Permette agli host della rete interna di connettersi con chi vogliono
|
||||
add pass tcp from any to any in via xl0 setup keep-state
|
||||
add pass udp from any to any in via xl0 keep-state
|
||||
add pass ip from any to any in via xl0
|
||||
|
||||
# Sezione TCP
|
||||
# Permette SSH
|
||||
add pass tcp from any to any 22 in via fxp0 setup keep-state
|
||||
# Permette SMTP solo verso il mail server
|
||||
add pass tcp from any to relay 25 in via fxp0 setup keep-state
|
||||
# Permette i trasferimenti di zona solo dal name server secondario [dns2.nic.it]
|
||||
add pass tcp from 193.205.245.8 to ns 53 in via fxp0 setup keep-state
|
||||
# Lascia passare i controlli ident:
|
||||
# è meglio che aspettare che vadano in timeout
|
||||
add pass tcp from any to any 113 in via fxp0 setup keep-state
|
||||
# Permette connessioni nel range di "quarantena".
|
||||
add pass tcp from any to any 49152-65535 in via fxp0 setup keep-state
|
||||
|
||||
# Sezione UDP
|
||||
# Permette DNS solo verso il name server
|
||||
add pass udp from any to ns 53 in via fxp0 keep-state
|
||||
# Permette connessioni nel range di "quarantena".
|
||||
add pass udp from any to any 49152-65535 in via fxp0 keep-state
|
||||
|
||||
# Sezione ICMP
|
||||
# Abilita le funzioni di 'ping'
|
||||
add pass icmp from any to any icmptypes 8 keep-state
|
||||
# Permette il passaggio dei messaggi di errori del comando 'traceroute'
|
||||
add pass icmp from any to any icmptypes 3
|
||||
add pass icmp from any to any icmptypes 11
|
||||
|
||||
# Tutto il resto è sospetto
|
||||
add drop log all from any to any</programlisting>
|
||||
|
||||
<para>Coloro che hanno configurato un firewall in precedenza potrebbero aver
|
||||
notato che manca qualcosa. In particolare, non ci sono regole contro lo
|
||||
spoofing, difatti <emphasis>non</emphasis> abbiamo aggiunto:</para>
|
||||
|
||||
<programlisting>add deny all from 1.2.3.4/8 to any in via fxp0</programlisting>
|
||||
|
||||
<para>Ovvero, non far entrare dall'esterno pacchetti che affermano di venire
|
||||
dalla rete interna. Questa è una cosa che solitamente viene fatta
|
||||
per essere sicuri che qualcuno non provi a eludere il packet filter,
|
||||
generando falsi pacchetti che sembrano venire dall'interno. Il problema
|
||||
è che c'è <emphasis>almeno</emphasis> un host
|
||||
sull'interfaccia esterna che non si può ignorare: il router.
|
||||
Solitamente, però, gli <acronym>ISP</acronym> eseguono il controllo
|
||||
anti-spoof sui loro router e quindi non ce ne dobbiamo preoccupare.</para>
|
||||
|
||||
<para>L'ultima riga sembra un duplicato della regola di default, ovvero non
|
||||
far passare nulla che non sia stato specificatamente permesso. In
|
||||
verità c'è una differenza: tutto il traffico sospetto
|
||||
verrà loggato.</para>
|
||||
|
||||
<para>Ci sono due regole per permettere il traffico <acronym>SMTP</acronym>
|
||||
e <acronym>DNS</acronym> verso il mail server e il name server, se ne
|
||||
avete. Ovviamente l'intero set di regole deve essere personalizzato
|
||||
per le proprie esigenze, questo non è altro che uno specifico
|
||||
esempio (il formato delle regole è spiegato dettagliatamente nella
|
||||
man page &man.ipfw.8;). Bisogna notare che, affinché
|
||||
<quote>relay</quote> e <quote>ns</quote>
|
||||
siano interpretati correttamente, la risoluzione dei nomi deve funzionare
|
||||
<emphasis>prima</emphasis> che il bridge sia attivato. Questo è un
|
||||
chiaro esempio che dimostra l'importanza di settare l'IP sulla corretta
|
||||
scheda di rete. In alternativa è possibile specificare
|
||||
direttamente l'indirizzo IP anziché il nome host (cosa necessaria
|
||||
se la macchina è IP-less).</para>
|
||||
|
||||
<para>Le persone che sono solite configurare un firewall probabilmente
|
||||
avranno sempre usato una regola <option>reset</option> o
|
||||
<option>forward</option> per i pacchetti
|
||||
ident (porta 113 <acronym>TCP</acronym>). Sfortunatamente, questa non
|
||||
è una scelta applicabile con il bridge, quindi la cosa migliore
|
||||
è lasciarli passare fino alla destinazione. Finché la
|
||||
macchina di destinazione non ha un demone ident attivo, questa tecnica
|
||||
è relativamente sicura. L'alternativa è proibire le
|
||||
connessioni sulla porta 113, creando qualche problema con servizi tipo
|
||||
<acronym>IRC</acronym> (le richieste ident devono andare in
|
||||
timeout).</para>
|
||||
|
||||
<para>L'unica altra cosa un po' particolare che potete aver notato è
|
||||
che c'è una regola per lasciar comunicare la macchina bridge e
|
||||
un'altra per gli host della rete interna. Ricordate che questo è
|
||||
dovuto al fatto che i due tipi di traffico prendono percorsi differenti
|
||||
attraverso il kernel e di conseguenza anche dentro il packet filter. La
|
||||
rete interna passerà attraverso il bridge, mentre la macchina
|
||||
locale userà il normale stack IP per le connessioni. Perciò
|
||||
due regole per gestire due casi differenti. Le regole <literal>in via
|
||||
fxp0</literal> funzionano in entrambi i casi.
|
||||
In generale, se usate regole <option>in via</option> attraverso il
|
||||
packet filter, dovrete fare un'eccezione per i pacchetti generati
|
||||
localmente, in quanto non entrano tramite nessuna interfaccia.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="filtering-bridges-contributors">
|
||||
<title>Contributi</title>
|
||||
|
||||
<para>Alcune parti di questo articolo sono state prese, tradotte e
|
||||
adattate da testi sui bridge, appartenenti alla documentazione di FreeBSD
|
||||
in lingua inglese, a cura di Nick Sayer e Steve Peterson.</para>
|
||||
|
||||
<para>Un grosso ringraziamento va a Luigi Rizzo per l'implementazione
|
||||
delle funzionalità di bridging in FreeBSD e per il tempo che mi ha
|
||||
dedicato rispondendo ad alcune mie domande a riguardo.</para>
|
||||
</sect1>
|
||||
</article>
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Articolo: Per chi e' alle Prime Armi sia con FreeBSD che con Unix
|
||||
|
||||
DOC?= article
|
||||
|
||||
FORMATS?= html
|
||||
|
||||
INSTALL_COMPRESSED?=gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
SRCS= article.xml
|
||||
|
||||
URL_RELPREFIX?= ../../../..
|
||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
||||
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,22 +0,0 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Articolo: Elementi di progettazione del sistema di VM di FreeBSD
|
||||
|
||||
DOC?= article
|
||||
|
||||
FORMATS?= html
|
||||
WITH_ARTICLE_TOC?= YES
|
||||
|
||||
SRCS= article.xml
|
||||
IMAGES_EN = fig1.eps
|
||||
IMAGES_EN+= fig2.eps
|
||||
IMAGES_EN+= fig3.eps
|
||||
IMAGES_EN+= fig4.eps
|
||||
|
||||
INSTALL_COMPRESSED?=gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
|
||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,7 +1,6 @@
|
|||
# $FreeBSD$
|
||||
|
||||
SUBDIR = handbook
|
||||
SUBDIR+= unix-introduction
|
||||
|
||||
ROOT_SYMLINKS= handbook
|
||||
|
||||
|
|
|
|||
|
|
@ -1,43 +0,0 @@
|
|||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Crea l'Introduzione a Unix.
|
||||
#
|
||||
|
||||
MAINTAINER= ale@FreeBSD.org
|
||||
|
||||
DOC?= book
|
||||
|
||||
FORMATS?= html-split
|
||||
|
||||
INSTALL_COMPRESSED?= gz
|
||||
INSTALL_ONLY_COMPRESSED?=
|
||||
|
||||
#
|
||||
# SRCS lista i singoli files XML che compongono il documento. Modifiche
|
||||
# a qualunque di questi files obbligano la ricreazione
|
||||
#
|
||||
|
||||
# Contenuto XML
|
||||
SRCS = book.xml
|
||||
SRCS+= bibliography/chapter.xml
|
||||
SRCS+= command-summary/chapter.xml
|
||||
SRCS+= commands/chapter.xml
|
||||
SRCS+= editors/chapter.xml
|
||||
SRCS+= getting-started/chapter.xml
|
||||
SRCS+= glossary/chapter.xml
|
||||
SRCS+= history/chapter.xml
|
||||
SRCS+= preface/chapter.xml
|
||||
SRCS+= shell-programming/chapter.xml
|
||||
SRCS+= shells/chapter.xml
|
||||
SRCS+= special-features/chapter.xml
|
||||
SRCS+= structure/chapter.xml
|
||||
SRCS+= system-resource/chapter.xml
|
||||
SRCS+= text-processing/chapter.xml
|
||||
|
||||
# Entities
|
||||
SRCS+= chapters.ent
|
||||
|
||||
DOC_PREFIX?= ${.CURDIR}/../../..
|
||||
|
||||
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
|
||||
|
|
@ -1,179 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!--
|
||||
The FreeBSD Italian Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="bibliography">
|
||||
<title>Una breve bibliografia Unix</title>
|
||||
|
||||
<table frame="all" xml:id="bibliography-table">
|
||||
<title>Una breve bibliografia Unix</title>
|
||||
|
||||
<tgroup cols="4">
|
||||
<colspec colwidth="3in"/>
|
||||
<colspec colwidth="1.8in"/>
|
||||
<colspec colwidth="1in"/>
|
||||
|
||||
<thead>
|
||||
<row>
|
||||
<entry align="center">Titolo</entry>
|
||||
|
||||
<entry align="center">Autori</entry>
|
||||
|
||||
<entry align="center">Editore</entry>
|
||||
|
||||
<entry align="center">Anno pub.</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><emphasis>UNIX: concetti, strutture,
|
||||
utilizzo</emphasis></entry>
|
||||
|
||||
<entry>James R. Groff, Paul N. Weinberg</entry>
|
||||
|
||||
<entry>Jackson</entry>
|
||||
|
||||
<entry>1988</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>Guida completa Unix System V. Release
|
||||
4</emphasis></entry>
|
||||
|
||||
<entry>Coffin Steven</entry>
|
||||
|
||||
<entry>Mc Graw Hill</entry>
|
||||
|
||||
<entry>1991</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>Introduzione all'architettura di sistema
|
||||
Unix</emphasis></entry>
|
||||
|
||||
<entry>Prabhat K. Andleigh</entry>
|
||||
|
||||
<entry>Jackson</entry>
|
||||
|
||||
<entry>1991</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>Usare Unix senza fatica</emphasis></entry>
|
||||
|
||||
<entry>John R. Levine, Margaret Levine Young</entry>
|
||||
|
||||
<entry>Mc Graw Hill</entry>
|
||||
|
||||
<entry>1993</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>La grande guida Unix</emphasis></entry>
|
||||
|
||||
<entry>John J. Valley</entry>
|
||||
|
||||
<entry>Jackson</entry>
|
||||
|
||||
<entry>1993</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>Shell Unix guida alla
|
||||
programmazione</emphasis></entry>
|
||||
|
||||
<entry>Arthur, Burns</entry>
|
||||
|
||||
<entry>Mc Graw Hill</entry>
|
||||
|
||||
<entry>1998</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>Introduzione alla struttura interna di
|
||||
Unix</emphasis></entry>
|
||||
|
||||
<entry>Le Van Huu</entry>
|
||||
|
||||
<entry>Unicopli</entry>
|
||||
|
||||
<entry>1998</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>Unix guida completa</emphasis></entry>
|
||||
|
||||
<entry>Rosen, Host, Farber, Rosinski</entry>
|
||||
|
||||
<entry>Mc Graw Hill</entry>
|
||||
|
||||
<entry>1999</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>Gestione del sistema operativo Unix</emphasis></entry>
|
||||
|
||||
<entry>Bruno Catalano, Ezio Raddi</entry>
|
||||
|
||||
<entry>Città Studi</entry>
|
||||
|
||||
<entry>2000</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>Guida a Unix seconda edizione</emphasis></entry>
|
||||
|
||||
<entry>Hahn H.</entry>
|
||||
|
||||
<entry>Mc Graw Hill</entry>
|
||||
|
||||
<entry>2000</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>I segreti di Unix Seconda edizione</emphasis></entry>
|
||||
|
||||
<entry>Armstrong James</entry>
|
||||
|
||||
<entry>Apogeo</entry>
|
||||
|
||||
<entry>2000</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>Guida a Unix con Linux</emphasis></entry>
|
||||
|
||||
<entry>Jack Dent, Tony Gaddis</entry>
|
||||
|
||||
<entry>Apogeo</entry>
|
||||
|
||||
<entry>2001</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>Introduzione a Unix</emphasis></entry>
|
||||
|
||||
<entry>David L. Schwartz</entry>
|
||||
|
||||
<entry>Apogeo</entry>
|
||||
|
||||
<entry>2001</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>Unix manuale per l'amministratore di sistema - terza
|
||||
edizione</emphasis></entry>
|
||||
|
||||
<entry>Nemeth Evi, Snyder Garth, Seebass Scott, Hein Trent</entry>
|
||||
|
||||
<entry>Pearson Education Italia</entry>
|
||||
|
||||
<entry>2002</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</chapter>
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
||||
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [
|
||||
<!ENTITY % chapters SYSTEM "chapters.ent"> %chapters;
|
||||
]>
|
||||
<!--
|
||||
The FreeBSD Italian Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
-->
|
||||
<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="it">
|
||||
<info><title>Introduzione a Unix</title>
|
||||
|
||||
|
||||
<author><personname><firstname>Frank G.</firstname><surname>Fiamingo</surname></personname><affiliation>
|
||||
<address><email>fiamingo.1@osu.edu</email></address>
|
||||
</affiliation></author>
|
||||
|
||||
<author><personname><firstname>Linda</firstname><surname>DeBula</surname></personname><affiliation>
|
||||
<address><email>debula.2@osu.edu</email></address>
|
||||
</affiliation></author>
|
||||
|
||||
<author><personname><firstname>Linda</firstname><surname>Condron</surname></personname><affiliation>
|
||||
<address><email>condron.1@osu.edu</email></address>
|
||||
</affiliation></author>
|
||||
|
||||
<pubdate>Settembre 1998</pubdate>
|
||||
|
||||
<copyright>
|
||||
<year>1996</year>
|
||||
|
||||
<year>1997</year>
|
||||
|
||||
<year>1998</year>
|
||||
|
||||
<holder>University Technology Services, The Ohio State
|
||||
University.</holder>
|
||||
</copyright>
|
||||
|
||||
<legalnotice xml:id="legalnotice">
|
||||
<para>© 1996-1998 University Technology Services, The Ohio State
|
||||
University, Baker Systems Engineering Building, 1971 Neil Avenue,
|
||||
Columbus, OH 43210.</para>
|
||||
|
||||
<para>Tutti i diritti riservati. La ridistribuzione e l'uso, con o senza
|
||||
modifiche, sono permesse purchè siano rispettate le seguenti
|
||||
condizioni:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>La ridistribuzione deve contenere la precedente nota di
|
||||
copyright, questa lista di condizioni, e il seguente
|
||||
disclaimer.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Né il nome dell'Università né i nomi dei
|
||||
suoi contributori possono essere usati per appoggiare o promuovere
|
||||
prodotti o servizi derivanti da questo documento senza un precedente
|
||||
specifico permesso scritto.</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
|
||||
<para>QUESTA PUBBLICAZIONE VIENE FORNITA <quote>COSÌ
|
||||
COM'È</quote> SENZA NESSUN TIPO DI GARANZIA. QUESTA
|
||||
PUBBLICAZIONE PUÒ CONTENERE IMPRECISIONI TECNICHE O ERRORI
|
||||
TIPOGRAFICI.</para>
|
||||
|
||||
<para>Unix è un marchio registrato della The Open Group, AT&T
|
||||
è un marchio registrato della American Telephone and Telegraph,
|
||||
Inc.</para>
|
||||
</legalnotice>
|
||||
|
||||
<releaseinfo>$FreeBSD$</releaseinfo>
|
||||
|
||||
<abstract>
|
||||
&trans.it.mark;
|
||||
|
||||
<para>Questo documento introduce il vasto mondo dei sistemi operativi
|
||||
Unix e lo fa in stile manualistico. Unix non è un sistema
|
||||
operativo unico, come molti potrebbero pensare, bensì è
|
||||
una grande famiglia di sistemi operativi (come ad esempio FreeBSD,
|
||||
NetBSD, OpenBSD, BSD, AIX, System V, SunOS, varie distribuzioni di
|
||||
Linux, ecc.), aventi comandi e caratteristiche simili e disponibili per
|
||||
molte architetture hardware (come ad esempio x86, alpha, ecc.).</para>
|
||||
|
||||
<para>Copyright e URL rivisti nel Settembre 1998.</para>
|
||||
</abstract>
|
||||
</info>
|
||||
|
||||
&chap.preface;
|
||||
&chap.history;
|
||||
&chap.structure;
|
||||
&chap.getting-started;
|
||||
&chap.system-resource;
|
||||
&chap.shells;
|
||||
&chap.special-features;
|
||||
&chap.text-processing;
|
||||
&chap.commands;
|
||||
&chap.shell-programming;
|
||||
&chap.editors;
|
||||
&chap.command-summary;
|
||||
&chap.bibliography;
|
||||
&chap.glossary;
|
||||
</book>
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!--
|
||||
The FreeBSD Italian Documentation Project
|
||||
|
||||
Crea le entities per ogni capitolo dell'Introduzione a Unix.
|
||||
Ogni entity è chiamata chap.foo, dove foo è il valore
|
||||
dell'attributo id di quel capitolo, e corrisponde al nome della directory
|
||||
nella quale il file sgml del capitolo è salvato.
|
||||
|
||||
I capitoli devono essere listati nell'ordine in cui sono referenziati.
|
||||
|
||||
$FreeBSD$
|
||||
-->
|
||||
|
||||
<!ENTITY chap.preface SYSTEM "preface/chapter.xml">
|
||||
<!ENTITY chap.history SYSTEM "history/chapter.xml">
|
||||
<!ENTITY chap.structure SYSTEM "structure/chapter.xml">
|
||||
<!ENTITY chap.getting-started SYSTEM "getting-started/chapter.xml">
|
||||
<!ENTITY chap.system-resource SYSTEM "system-resource/chapter.xml">
|
||||
<!ENTITY chap.shells SYSTEM "shells/chapter.xml">
|
||||
<!ENTITY chap.special-features SYSTEM "special-features/chapter.xml">
|
||||
<!ENTITY chap.text-processing SYSTEM "text-processing/chapter.xml">
|
||||
<!ENTITY chap.commands SYSTEM "commands/chapter.xml">
|
||||
<!ENTITY chap.shell-programming SYSTEM "shell-programming/chapter.xml">
|
||||
<!ENTITY chap.editors SYSTEM "editors/chapter.xml">
|
||||
<!ENTITY chap.command-summary SYSTEM "command-summary/chapter.xml">
|
||||
<!ENTITY chap.bibliography SYSTEM "bibliography/chapter.xml">
|
||||
<!ENTITY chap.glossary SYSTEM "glossary/chapter.xml">
|
||||
|
|
@ -1,671 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!--
|
||||
The FreeBSD Italian Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="command-summary">
|
||||
<title>Riassunto dei comandi Unix</title>
|
||||
|
||||
<sect1 xml:id="command-summary-">
|
||||
<title>Comandi Unix</title>
|
||||
|
||||
<para>Nella tabella che segue vengono riassunti i comandi maggiormente usati
|
||||
su un sistema Unix. In questa tabella, come in generale avviene, per
|
||||
molti comandi Unix, <replaceable>file</replaceable> può essere un
|
||||
nome di file, una lista di nomi di file o input/output che potrebbe essere
|
||||
rediretto per o dal comando.</para>
|
||||
|
||||
<table frame="all" xml:id="command-summary-table">
|
||||
<title>Comandi Unix</title>
|
||||
|
||||
<tgroup cols="2">
|
||||
<colspec colwidth="4in"/>
|
||||
|
||||
<thead>
|
||||
<row>
|
||||
<entry align="center">Comando/Sintassi</entry>
|
||||
|
||||
<entry align="center">Cosa fa</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><command>awk/nawk [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>esamina schemi in un file e processa i risultati</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>cat [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>concatena (lista) un file</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>cd
|
||||
[directory]</command></entry>
|
||||
|
||||
<entry>cambia directory</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>chgrp [opzioni]
|
||||
gruppo file</command></entry>
|
||||
|
||||
<entry>cambia il gruppo di appartenenza di un file</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>chmod [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>cambia i permessi di accesso a file o directory</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>chown [opzioni]
|
||||
proprietario file</command></entry>
|
||||
|
||||
<entry>cambia il proprietario di un file; può essere solo
|
||||
fatto dal super-user</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>chsh (passwd -e/-s) username
|
||||
login_shell</command></entry>
|
||||
|
||||
<entry>cambia la shell di login dell'utente (spesso solamente
|
||||
attraverso il super-user)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>cmp [opzioni]
|
||||
file1 file2</command></entry>
|
||||
|
||||
<entry>confronta due file e mostra dove avvengono le differenze
|
||||
(file di testo e file binari)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>compress [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>comprime il file specificato e lo salva con l'estensione
|
||||
<filename>.Z</filename></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>cp [opzioni]
|
||||
file1 file2</command></entry>
|
||||
|
||||
<entry>copia <filename>file1</filename>
|
||||
in <filename>file2</filename>;
|
||||
<filename>file2</filename> non dovrebbe
|
||||
già esistere. Questo comando crea o sovrascrive
|
||||
<filename>file2</filename></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>cut (opzioni)
|
||||
[file]</command></entry>
|
||||
|
||||
<entry>taglia specifici campi/caratteri dalle linee del file
|
||||
specificato</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>date
|
||||
[opzioni]</command></entry>
|
||||
|
||||
<entry>riporta data e ora corrente</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>dd [if=infile]
|
||||
[of=outfile]
|
||||
[operando=valore]</command></entry>
|
||||
|
||||
<entry>copia un file, converte tra ASCII e EBCDIC o scambia l'ordine
|
||||
di byte, come specificato</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>diff [opzioni]
|
||||
file1 file2</command></entry>
|
||||
|
||||
<entry>confronta i due file e visualizza le differenze (solamente
|
||||
file di testo)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>df [opzioni]
|
||||
[risorsa]</command></entry>
|
||||
|
||||
<entry>riporta il sommario dei blocchi del disco e degli inode
|
||||
liberi e usati</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>du [opzioni]
|
||||
[directory o
|
||||
file]</command></entry>
|
||||
|
||||
<entry>riporta lo spazio di disco usato</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>echo
|
||||
[stringa di testo]</command></entry>
|
||||
|
||||
<entry>riporta la stringa di testo specificata in standard
|
||||
output</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>ed</command> o <command>ex
|
||||
[opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>editor a linea di comando</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>emacs [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>editor a schermo-pieno</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>expr
|
||||
argomenti</command></entry>
|
||||
|
||||
<entry>valuta gli argomenti. Usato per l'aritmetica, ecc. in
|
||||
shell</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>file [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>classifica il tipo di file</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>find directory
|
||||
[opzioni]
|
||||
[azioni]</command></entry>
|
||||
|
||||
<entry>cerca file basandosi sul tipo o su uno schema</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>finger [opzioni]
|
||||
user[@nomehost]</command></entry>
|
||||
|
||||
<entry>riporta informazioni circa gli utenti di macchine locali e
|
||||
remote</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>ftp [opzioni]
|
||||
host</command></entry>
|
||||
|
||||
<entry>trasferisce file utilizzando il protocollo di trasferimento
|
||||
di file (FTP)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>grep [opzioni]
|
||||
'stringa di ricerca'
|
||||
argomento</command></entry>
|
||||
|
||||
<entry morerows="2">ricerca nell'argomento (in questo caso
|
||||
probabilmente un file) tutte le occorrenze della stringa di
|
||||
ricerca specificata e le visualizza</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>egrep [opzioni]
|
||||
'stringa di ricerca'
|
||||
argomento</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>fgrep [opzioni]
|
||||
'stringa di ricerca'
|
||||
argomento</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>gzip [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry morerows="2">comprime o decomprime un file. I file compressi
|
||||
vengo memorizzati con l'estensione
|
||||
<filename>.gz</filename></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>gunzip [opzioni]
|
||||
file</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>zcat [opzioni]
|
||||
file</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>head [-numero]
|
||||
file</command></entry>
|
||||
|
||||
<entry>mostra le prime 10 (o numero di) linee di un file</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>hostname</command></entry>
|
||||
|
||||
<entry>mostra o setta (solamente super-user) il nome della macchina
|
||||
attuale</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>kill [opzioni]
|
||||
[-SEGNALE]
|
||||
[pid#]
|
||||
[%job]</command></entry>
|
||||
|
||||
<entry>manda un segnale al processo specificato dal numero di
|
||||
processo id (<replaceable>pid#</replaceable>) o dal numero di
|
||||
controllo del job (%<replaceable>n</replaceable>). Il segnale di
|
||||
default termina il processo</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>ln [opzioni]
|
||||
sorgente
|
||||
destinazione</command></entry>
|
||||
|
||||
<entry>crea un collegamento di nome
|
||||
<filename>destinazione</filename> a
|
||||
<filename>sorgente</filename></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>lpq
|
||||
[opzioni]</command></entry>
|
||||
|
||||
<entry morerows="1">mostra lo stato dei job di stampa</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>lpstat
|
||||
[opzioni]</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>lpr [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry morerows="1">stampa sulla stampante specificata</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>lp [opzioni]
|
||||
file</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>lprm
|
||||
[opzioni]</command></entry>
|
||||
|
||||
<entry morerows="1">rimuove un job di stampa dalla coda di
|
||||
stampa</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>cancel
|
||||
[opzioni]</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>ls [opzioni]
|
||||
[directory o
|
||||
file]</command></entry>
|
||||
|
||||
<entry>elenca il contenuto della directory specificata o i permessi
|
||||
del file specificato</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>mail [opzioni]
|
||||
[user]</command></entry>
|
||||
|
||||
<entry morerows="2">semplice utility per la posta elettronica
|
||||
disponibile su un sistema Unix. Si digita un punto come primo
|
||||
carattere su una nuova linea per trasmettere il messaggio, un
|
||||
punto interrogativo per richiamare l'help</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>mailx [opzioni]
|
||||
[user]</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>Mail [opzioni]
|
||||
[user]</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>man [opzioni]
|
||||
comando</command></entry>
|
||||
|
||||
<entry>mostra la pagina di manuale (<emphasis>man</emphasis>)
|
||||
del comando specificato</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>mkdir [opzioni]
|
||||
directory</command></entry>
|
||||
|
||||
<entry>crea una directory</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>more [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry morerows="2">impaginatore di un file testuale</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>less [opzioni]
|
||||
file</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>pg [opzioni]
|
||||
file</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>mv [opzioni]
|
||||
file1 file2</command></entry>
|
||||
|
||||
<entry>muove <filename>file1</filename>
|
||||
in <filename>file2</filename></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>od [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>dump su un file binario, in ottale, in ASCII, in
|
||||
esadecimale, in decimale o in modalità carattere.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>passwd
|
||||
[opzioni]</command></entry>
|
||||
|
||||
<entry>setta o modifica la propria password</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>paste [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>incolla campi nelle linee del file specificato</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>pr [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>filtra il file e lo stampa su un terminale</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>ps
|
||||
[opzioni]</command></entry>
|
||||
|
||||
<entry>mostra lo stato dei processi attivi</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>pwd</command></entry>
|
||||
|
||||
<entry>stampa la directory di lavoro (corrente)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>rcp [opzioni]
|
||||
nomehost</command></entry>
|
||||
|
||||
<entry>copia file in remoto dalla macchina corrente in un'altra
|
||||
macchina</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>rlogin [opzioni]
|
||||
nomehost</command></entry>
|
||||
|
||||
<entry>effettua il login in remoto su un'altra macchina</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>rm [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>rimuove (elimina) un file o una directory
|
||||
(<option>-r</option> elimina ricorsivamente la directory ed il suo
|
||||
contenuto) (<option>-i</option> chiede conferma prima di eliminare
|
||||
i file)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>rmdir [opzioni]
|
||||
directory</command></entry>
|
||||
|
||||
<entry>rimuove una directory</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>rsh [opzioni]
|
||||
nomehost</command></entry>
|
||||
|
||||
<entry>shell remota da eseguire su un'altra macchina</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>script
|
||||
file</command></entry>
|
||||
|
||||
<entry>memorizza ogni cosa che appare sullo schermo in un file fino
|
||||
a quando si esegue <command>exit</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>sed [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>editor di flusso per editare file da uno script o da linea di
|
||||
comando</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>sort [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>ordina le linee del file specificato basandosi sulle opzioni
|
||||
scelte</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>source
|
||||
file</command></entry>
|
||||
|
||||
<entry morerows="1">legge i comandi dal file specificato
|
||||
e li esegue nella shell corrente. <command>source</command> per
|
||||
la shell C, <command>.</command> per la shell Bourne</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>. file</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>strings [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>riporta sequenze di 4 o più caratteri stampabili
|
||||
terminanti in <NL> o <NULL>. Generalmente viene usato
|
||||
per ricercare in file binari stringhe ASCII</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>stty
|
||||
[opzioni]</command></entry>
|
||||
|
||||
<entry>setta o visualizza le opzioni del terminale di
|
||||
controllo</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>tail [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>mostra le ultime linee (o parte) di un file</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>tar [opzioni]
|
||||
[file]</command></entry>
|
||||
|
||||
<entry>archivio a nastro--riferirsi alle pagine man per dettagli su
|
||||
come creare, elencare ed estrarre file da un archivio. I file tar
|
||||
possono essere memorizzati su disco o su nastro.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>tee [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>copia standard output in uno o più file</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>telnet [host
|
||||
[porta]]</command></entry>
|
||||
|
||||
<entry>comunica con un altro host usando il protocollo
|
||||
telnet</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>touch [opzioni]
|
||||
[data/ora]
|
||||
file</command></entry>
|
||||
|
||||
<entry>crea un file vuoto o aggiorna la data/ora di accesso di un
|
||||
file esistente</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>tr [opzioni]
|
||||
stringa1 stringa2</command></entry>
|
||||
|
||||
<entry>traduce i caratteri di <replaceable>stringa1</replaceable>
|
||||
provenienti da standard input in quelli di
|
||||
<replaceable>stringa2</replaceable> per standard output</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>uncompress
|
||||
file.Z</command></entry>
|
||||
|
||||
<entry>decomprime il file specificato e lo salva in un file</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>uniq [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>rimuove le linee ripetute in un file</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>uudecode
|
||||
[file]</command></entry>
|
||||
|
||||
<entry>decodifica un file codificato con
|
||||
<command>uuencode</command>, riportandolo al file
|
||||
originale</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>uuencode [file]
|
||||
nuovo_nome</command></entry>
|
||||
|
||||
<entry>codifica un file binario in codice ASCII 7-bit; utile quando
|
||||
lo si trasmette via email, per essere poi decodificato come
|
||||
<filename>nuovo_nome</filename> alla
|
||||
destinazione</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>vi [opzioni]
|
||||
file</command></entry>
|
||||
|
||||
<entry>editor visuale, a pieno schermo</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>wc [opzioni]
|
||||
[file]</command></entry>
|
||||
|
||||
<entry>mostra il numero di parole (o di caratteri o di linee) del
|
||||
file specificato</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>whereis [opzioni]
|
||||
comando</command></entry>
|
||||
|
||||
<entry>riporta le locazioni del binario, del sorgente e della pagina
|
||||
man per il comando specificato</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>which
|
||||
comando</command></entry>
|
||||
|
||||
<entry>riporta il percorso del comando o l'alias di shell in
|
||||
uso</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>who</command> o <command>w</command></entry>
|
||||
|
||||
<entry>riporta chi è <quote>loggato</quote> e quali processi
|
||||
ha in esecuzione</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>zcat
|
||||
file.Z</command></entry>
|
||||
|
||||
<entry>concatena (lista) il file non compresso a video, lasciando il
|
||||
file compresso su disco</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</sect1>
|
||||
</chapter>
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,558 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!--
|
||||
The FreeBSD Italian Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
-->
|
||||
<glossary xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||
<title>Glossario</title>
|
||||
|
||||
<glossdiv>
|
||||
<title>A</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>account</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>struttura di dati che contiene alcune informazioni (come password,
|
||||
nome reale, username, indirizzo, ecc.) relative a un utente</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>alias</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>meccanismo che permette di invocare un comando (o una combinazione
|
||||
di comandi) attraverso un nome pseudonimo precedentemente
|
||||
assegnato</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>B</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>background</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>riferito alla modalità di gestione dell'esecuzione di un
|
||||
processo in shell corrente: la shell non aspetta la fine di tale
|
||||
processo ma continua la sua normale esecuzione</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis>
|
||||
<link linkend="shells-job-control">sezione 5.5</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>backquote</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>caratteri speciali utilizzati per inserire in una stringa l'output
|
||||
del comando specificato tra questi caratteri</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="shell-programming-sett-param-val">sezione 9.2</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>built-in</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>comandi incorporati nel codice della shell</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="shells-built-in-comm">sezione 5.1</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>C</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>case sensitive</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>distinzione tra lettere maiuscole e lettere minuscole</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>D</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>directory-home</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>è la directory dell'utente, nella quale ci si ritrova
|
||||
(in generale) dopo la fase di login</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="getting-started-directory-nav-control">sezione
|
||||
3.6</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>directory-root</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>è la directory padre di tutte le altre directory (indicata
|
||||
spesso con il segno /)</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="structure-file-system">sezione 2.2</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>E</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>editor</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>strumenti per manipolare testi (programmi, ecc.)</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="editors">Capitolo
|
||||
10</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>EOF</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>sta per <quote>end of file</quote> e indica la fine del
|
||||
file</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>F</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>filename</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>nome del file</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>file system</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>architettura formata da un insieme di strutture dati che permetto
|
||||
di organizzare e gestire i dati su disco</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="structure-file-system">sezione 2.2</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>foreground</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>riferito alla modalità di gestione dell'esecuzione di un
|
||||
processo in shell corrente: la shell aspetta che il processo termini
|
||||
prima di riprendere la sua esecuzione</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="shells-job-control">sezione 5.5</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>G</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>groupid</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>numero che identifica in maniera univoca un gruppo di utenti su un
|
||||
sistema Unix</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="getting-started-login-identity">sezione 3.1.4</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>groupname</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>nome che identifica un gruppo su un sistema Unix</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="getting-started-login-identity">sezione 3.1.4</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>H</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>hard link</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>link fisico tra due file</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="commands-work-files-ln">sezione 8.1.7</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>here document</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>speciale forma di quoting</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="shell-programming-here-doc">sezione 9.6</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>history</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>storia dei comandi digitati precedentemente</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="shells-history">sezione 5.6</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>I</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>inode</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>struttura di dati contenente informazioni sui file</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="structure-directories-files-inodes">sezione 2.3</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>J</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>job</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>sinonimo di processo</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>K</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>kernel</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>è il cuore del sistema operativo, il posto in cui sono
|
||||
caricati tutti i driver per i device, gestisce i processi, le
|
||||
operazione di I/O, ecc.</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>L</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>login</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>riferito sia al nome utente di un account Unix (login username)
|
||||
sia alla fase (fase di login) di accesso a un sistema Unix
|
||||
(login+password) (il riferimento risulta chiaro dal contesto)</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="getting-started-login">sezione 3.1</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>M</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>man page</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>pagina del manuale di un sistema Unix</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="getting-started-get-help">sezione 3.5</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>multi-level file system </glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>file system a più livelli organizzati in gerarchia</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="structure-file-system">sezione 2.2</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>multi-processor</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>o multi-tasking; capacità del sistema operativo che
|
||||
permette di eseguire più programmi (processi) senza doverne
|
||||
aspettare la terminazione sequenziale</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="structure-os">sezione
|
||||
2.1</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>multi-user</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>capacità del sistema operativo che permette di gestire
|
||||
più utenti contemporaneamente</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="structure-os">sezione
|
||||
2.1</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>O</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>OS</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>operating system, sistema operativo</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>P</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>password</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>codice segreto di un account Unix utilizzato per autenticare un
|
||||
utente nel sistema</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="getting-started-login">sezione 3.1</link> e
|
||||
<link linkend="getting-started-login-passwords">sezione 3.1.2</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>path name</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>percorso dei nomi, che indica i <quote>rami</quote> del file
|
||||
system (directory separate da un /) che bisogna attraversare per
|
||||
raggiungere un determinato file o directory</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="structure-file-system">sezione 2.2</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>pattern</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>schema</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>pipe/piping</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>meccanismo che porta l'output di un comando nell'input di
|
||||
un altro</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="special-features-file-redir">sezione 6.2</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>Q</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>quoting</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>tecnica di interpretazione di una stringa da parte della
|
||||
shell</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="shell-programming-quoting">sezione 9.3</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>S</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>script</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>programma scritto nel linguaggio della shell</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="shell-programming-scripts">sezione 9.1</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>shell</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>interprete a linea di comando. È l'interfaccia tra
|
||||
l'utente e il sistema operativo (kernel)</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="shells">Capitolo
|
||||
5</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>simbolic link</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>link simbolico (collegamento tramite path name) tra due file o
|
||||
directory</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="commands-work-files-ln">sezione 8.1.7</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>system call</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>sono delle procedure (routine) standard, che i programmi utente
|
||||
utilizzano per accedere ai servizi che il kernel mette
|
||||
a disposizione</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="structure-os">sezione
|
||||
2.1</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>standard error</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>dispositivo standard di errori (terminale di default)</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="special-features-file-desc">sezione 6.1</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>standard input</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>dispositivo standard di ingresso (tastiera di default)</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="special-features-file-desc">sezione 6.1</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>standard output</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>dispositivo standard di uscita (terminale di default)</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="special-features-file-desc">sezione 6.1</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>super-user</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>o root, utente speciale che amministra un sistema Unix</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>U</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>userid</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>numero che identifica univocamente l'utente su un sistema
|
||||
Unix</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="getting-started-login-identity">sezione 3.1.4</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>username</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>o user, nome di un utente Unix (utilizzato nella fase di
|
||||
login)</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="getting-started-login-identity">sezione 3.1.4</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>V</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>verbose</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>modalità di esecuzione di un comando che fornisce molte
|
||||
informazioni addizionali (utile per gli utenti novizi)</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
|
||||
<glossdiv>
|
||||
<title>W</title>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>wild card</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>anche conosciuti come meta-caratteri, sono caratteri speciali
|
||||
utilizzati in alcune circostanze per il confronto/sostituzione di
|
||||
caratteri</para>
|
||||
|
||||
<para><emphasis>Vedere:</emphasis> <link linkend="special-features-wildcard">sezione 6.4</link></para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>word-wrap</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>meccanismo che invia alla prossima riga l'intera parola fuori
|
||||
margine</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glossdiv>
|
||||
</glossary>
|
||||
|
|
@ -1,103 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!--
|
||||
The FreeBSD Italian Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="history">
|
||||
<title>Storia di Unix</title>
|
||||
|
||||
<para>1965 Bell Laboratory con la collaborazione del MIT e della General
|
||||
Eletric lavorano per la realizzazione di un nuovo sistema operativo,
|
||||
Multics, il quale vuole fornire, come principali caratteristiche,
|
||||
capacità multi-utente (multi-user), multi-processo (multi-processor)
|
||||
e un file system multi-livello (gerarchico)
|
||||
(multi-level file system).</para>
|
||||
|
||||
<para>1969 AT&T era infelice del progresso di Multics e abbandona il
|
||||
progetto. Ken Thompson, Dennis Ritchie, Rudd Canaday e Doug McIlroy,
|
||||
alcuni programmatori dei Bell Lab che avevano lavorato nel progetto Multics,
|
||||
progettano e implementano su un PDP-7 la prima versione del file system Unix
|
||||
insieme ad alcune utility. Il nome Unix è stato assegnato da parte
|
||||
di Brian Kernighan come gioco di parole su Multics.</para>
|
||||
|
||||
<para>1 Gennaio 1970 Inizio di Unix.</para>
|
||||
|
||||
<para>1971 Il sistema ora gira su un PDP-11 con 16 Kbyte di memoria, di cui
|
||||
8 Kbyte per i programmi utente, e con un disco di 512 Kbyte.</para>
|
||||
|
||||
<para>Il suo primo reale impiego è come strumento di manipolazione
|
||||
del testo in esclusiva per il dipartimento dei Bell Lab. Quel tipo di
|
||||
utilizzo giustifica ulteriormente la ricerca e lo sviluppo attraverso la
|
||||
programmazione di gruppo. Unix attira i programmatori perchè
|
||||
è stato progettato con queste caratteristiche:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>ambiente di programmazione;</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>semplice interfaccia utente;</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>semplici utility che possono essere combinate per realizzare potenti
|
||||
funzioni;</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>file system gerarchico (ad albero);</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>semplice interfacciamento con i dispositivi, in armonia con il
|
||||
formato dei file;</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>sistema multi-utente e multi-processo;</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>architettura indipendente e trasparente all'utente.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>1973 Unix è riscritto prevalentemente in C, un nuovo linguaggio
|
||||
di programmazione sviluppato da Dennis Ritchie. La codifica in questo
|
||||
linguaggio di alto livello diminuisce fortemente lo sforzo necessario per
|
||||
portare Unix su nuove macchine.</para>
|
||||
|
||||
<para>1974 Thompson e Ritchie descrivono in una relazione pubblicata in un
|
||||
comunicato dell'ACM il nuovo sistema operativo Unix. Unix genera
|
||||
entusiasmo nella comunità accademica che lo vede come un potente
|
||||
strumento di insegnamento per lo studio della programmazione di sistemi.
|
||||
Poichè il decreto del 1956 impedisce ad AT&T di
|
||||
commercializzare il prodotto, viene concessa una licenza
|
||||
all'Università per scopi educativi e una per esistenza
|
||||
commerciale.</para>
|
||||
|
||||
<para>1977 Ci sono circa 500 siti Unix nel mondo.</para>
|
||||
|
||||
<para>1980 BSD 4.1 (software sviluppato da Berkeley).</para>
|
||||
|
||||
<para>1983 SunOS, BSD 4.2, Sys V.</para>
|
||||
|
||||
<para>1984 Ci sono circa 100.000 siti Unix che girano su differenti
|
||||
piattaforme hardware, con differenti capacità.</para>
|
||||
|
||||
<para>1988 AT&T e Sun Microsystem sviluppano System V Release 4 (SVR4).
|
||||
Questo sarà in futuro implementato in UnixWare e Solaris 2.</para>
|
||||
|
||||
<para>1993 Novell compra Unix da AT&T.</para>
|
||||
|
||||
<para>1994 Novell porta il nome <emphasis>UNIX</emphasis> a X/OPEN.</para>
|
||||
|
||||
<para>1995 Santa Cruz Operation compra UnixWare da Novell. Santa Cruz
|
||||
Operation e Hewlett-Packard annunciano lo sviluppo di una versione di Unix a
|
||||
64 bit.</para>
|
||||
|
||||
<para>1996 International Data Corporation prevede che nel 1997 ci saranno 3
|
||||
milioni di sistemi Unix nel mondo.</para>
|
||||
</chapter>
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!--
|
||||
The FreeBSD Italian Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
-->
|
||||
<preface xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="preface">
|
||||
<title>Prefazione</title>
|
||||
|
||||
<para>Questo documento è rivolto in prevalenza a quelle persone che si
|
||||
avvicinano per la prima volta a Unix, ma non solo.</para>
|
||||
|
||||
<para>Prima di iniziare ad esporre la traduzione di questo documento
|
||||
volevo dire alcune cose. Alcune parole del testo originale in lingua
|
||||
inglese non sono state tradotte in italiano, vuoi perchè la
|
||||
rispettiva traduzione in italiano non è efficiente in termini di
|
||||
comprensibilità, vuoi perchè è di uso comune far
|
||||
riferimento a queste direttamente in lingua inglese (vedi login, quoting,
|
||||
built-in, here document, shell, background, pipe, script, ecc.). Inoltre mi
|
||||
è sembrato opportuno e logico modificare l'ultima sezione di questo
|
||||
documento, bibliografia di Unix (testi in lingua inglese), in una breve
|
||||
bibliografia italiana di Unix. Infine ho aggiunto un glossario dove poter
|
||||
trovare un elenco dei termini inglesi più caldi incontrati in questo
|
||||
documento e il loro significato corrispondente.</para>
|
||||
|
||||
<para>Non mi resta che augurarvi una buona lettura.</para>
|
||||
|
||||
<bridgehead xml:id="preface-conv" renderas="sect1">Convenzioni usate in questo
|
||||
libro</bridgehead>
|
||||
|
||||
<para>Per fornire un testo consistente e facile da leggere, sono state
|
||||
seguite numerose convenzioni in tutto il libro.</para>
|
||||
|
||||
<bridgehead xml:id="preface-typographic-conv" renderas="sect2">Convenzioni
|
||||
Tipografiche</bridgehead>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><emphasis>Italico</emphasis></term>
|
||||
|
||||
<listitem>
|
||||
<para>Un font <emphasis>italico</emphasis> è per i nomi dei file,
|
||||
per gli URL, per il testo enfatizzato, e per il primo utilizzo dei
|
||||
termini tecnici.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>Monospazio</varname></term>
|
||||
|
||||
<listitem>
|
||||
<para>Un font <varname>monospazio</varname> è usato per i
|
||||
messaggi di errore, i comandi, le variabili di ambiente, i nomi di
|
||||
host, i nomi degli utenti, i nomi dei gruppi, i nomi dei device, le
|
||||
variabili, e i frammenti di codice.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><application>Grassetto</application></term>
|
||||
|
||||
<listitem>
|
||||
<para>Un font in <application>grassetto</application> è per le
|
||||
applicazioni, i comandi, e i tasti.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<bridgehead xml:id="preface-command-conv" renderas="sect2">Input
|
||||
dell'Utente</bridgehead>
|
||||
|
||||
<para>I tasti sono visualizzati in <keycap>grassetto</keycap> per
|
||||
differenziarli dal testo normale. Le combinazioni di tasti che devono
|
||||
essere digitate contemporaneamente sono visualizzate con un
|
||||
`<literal>+</literal>' tra i tasti, come:</para>
|
||||
|
||||
<para><keycombo action="simul">
|
||||
<keycap>Ctrl</keycap>
|
||||
<keycap>Alt</keycap>
|
||||
<keycap>Del</keycap>
|
||||
</keycombo></para>
|
||||
|
||||
<para>I tasti che devono essere digitati in sequenza saranno separati da
|
||||
virgole, come per esempio:</para>
|
||||
|
||||
<para><keycombo action="simul">
|
||||
<keycap>Ctrl</keycap>
|
||||
<keycap>X</keycap>
|
||||
</keycombo>, <keycombo action="simul">
|
||||
<keycap>Ctrl</keycap>
|
||||
<keycap>S</keycap>
|
||||
</keycombo></para>
|
||||
|
||||
<para>Vuol dire che l'utente deve digitare i tasti <keycap>Ctrl</keycap> e
|
||||
<keycap>X</keycap> contemporaneamente e poi i tasti <keycap>Ctrl</keycap> e
|
||||
<keycap>S</keycap>.</para>
|
||||
</preface>
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,554 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!--
|
||||
The FreeBSD Italian Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="special-features">
|
||||
<title>Caratteristiche speciali di Unix</title>
|
||||
|
||||
<para>Uno dei più importanti contributi che Unix ha dato ai sistemi
|
||||
operativi è stato quello di fornire molti strumenti per creare lavori
|
||||
ordinari e per ottenere le informazioni che si desiderano. Un altro
|
||||
è rappresentato dal modo standard con cui i dati sono memorizzati e
|
||||
trasmessi in un sistema Unix. Questo permette di trasferire dati
|
||||
<emphasis>in</emphasis> un file, nel terminale video o in un programma,
|
||||
oppure <emphasis>da</emphasis> un file, dalla tastiera o da un programma,
|
||||
sempre in maniera uniforme. Il trattamento standardizzato dei dati supporta
|
||||
due importanti caratteristiche di Unix: la redirezione di I/O e il
|
||||
piping.</para>
|
||||
|
||||
<para>Con la <emphasis>redirezione dell'output</emphasis>, l'output di un
|
||||
comando viene rediretto su un file piuttosto che sul terminale video.
|
||||
Con la <emphasis>redirezione dell'input</emphasis>, l'input di un comando
|
||||
viene preso da un file piuttosto che dalla tastiera. Sono possibili
|
||||
altre tecniche di redirezione dell'input e dell'output come
|
||||
si vedrà in seguito. Con il <emphasis>piping</emphasis>, l'output di
|
||||
un comando può essere usato come input di un comando successivo.
|
||||
In questo capitolo si discuterà di alcune delle caratteristiche e
|
||||
degli strumenti disponibili per gli utenti Unix.</para>
|
||||
|
||||
<sect1 xml:id="special-features-file-desc">
|
||||
<title>Descrittori di file</title>
|
||||
|
||||
<para>Ci sono 3 descrittori di file standard:</para>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="3">
|
||||
<colspec colwidth="1in"/>
|
||||
|
||||
<colspec colwidth="0.5in"/>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>&man.stdin.4;</entry>
|
||||
|
||||
<entry>0</entry>
|
||||
|
||||
<entry>Standard input per il programma</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>&man.stdout.4;</entry>
|
||||
|
||||
<entry>1</entry>
|
||||
|
||||
<entry>Standard output dal programma</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>&man.stderr.4;</entry>
|
||||
|
||||
<entry>2</entry>
|
||||
|
||||
<entry>Standard error (output) dal programma</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
<para>Normalmente l'input viene preso dalla tastiera o da un file.
|
||||
Generalmente l'output, sia &man.stdout.4; che &man.stderr.4;, scorre nel
|
||||
terminale, ma può essere rediretto, uno o entrambi, su uno o
|
||||
più file.</para>
|
||||
|
||||
<para>Si possono specificare descrittori di file addizionali, denotandoli
|
||||
con un numero da 3 a 9 e redirigendo l'I/O attraverso questi.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="special-features-file-redir">
|
||||
<title>Redirezione di file</title>
|
||||
|
||||
<para>La redirezione dell'output prende l'output di un comando e lo
|
||||
posiziona nel file specificato. La redirezione dell'input legge il file
|
||||
specificato come input per un comando. La tabella che segue sintetizza le
|
||||
possibili modalità di redirezione.</para>
|
||||
|
||||
<table frame="all" xml:id="special-features-table-file-redir">
|
||||
<title>Redirezione di file</title>
|
||||
|
||||
<tgroup cols="2">
|
||||
<colspec colwidth="1.5in"/>
|
||||
|
||||
<thead>
|
||||
<row>
|
||||
<entry align="center">SIMBOLO</entry>
|
||||
|
||||
<entry align="center">REDIREZIONE</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><command>></command></entry>
|
||||
|
||||
<entry>redirezione dell'output</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>>!</command></entry>
|
||||
|
||||
<entry>come sopra, ma non tiene conto dell'opzione
|
||||
<emphasis>noclobber</emphasis> per &man.csh.1;</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>>></command></entry>
|
||||
|
||||
<entry>appende l'output</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>>>!</command></entry>
|
||||
|
||||
<entry>come sopra, ma non tiene conto dell'opzione
|
||||
<emphasis>noclobber</emphasis> su &man.csh.1; e crea il file se
|
||||
non esiste</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>|</command></entry>
|
||||
|
||||
<entry>incanala (pipe) l'output nell'input di un altro
|
||||
comando</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command><</command></entry>
|
||||
|
||||
<entry>redirezione dell'input</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command><<Stringa</command></entry>
|
||||
|
||||
<entry>legge da standard input fino a quando incontra una linea
|
||||
contenente solo la parola <replaceable>Stringa</replaceable>.
|
||||
Anche conosciuto come <emphasis>here document</emphasis>
|
||||
(vedere il <link linkend="shell-programming">Capitolo 9</link>)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command><<\Stringa</command></entry>
|
||||
|
||||
<entry>come sopra, ma le sostituzioni di shell non sono
|
||||
permesse</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<para>Un esempio di redirezione dell'output è:</para>
|
||||
|
||||
<para><command>cat file1 file2 >
|
||||
file3</command></para>
|
||||
|
||||
<para>Il precedente comando concatena
|
||||
<filename>file1</filename>
|
||||
e <filename>file2</filename> e redirige (manda)
|
||||
l'output in <filename>file3</filename>. Se
|
||||
<filename>file3</filename> non esiste, viene
|
||||
creato. Se esiste, verrà troncato a lunghezza zero prima che il
|
||||
nuovo contenuto sia inserito, oppure, se l'opzione
|
||||
<emphasis>noclobber</emphasis> della shell &man.csh.1; è abilitata,
|
||||
il comando verrà rifiutato (vedere la shell &man.csh.1; nel
|
||||
<link linkend="shells">Capitolo 5</link>). I file originali
|
||||
<filename>file1</filename> e
|
||||
<filename>file2</filename> rimarranno
|
||||
come erano prima dell'esecuzione del comando, ossia due entità
|
||||
separate.</para>
|
||||
|
||||
<para>L'output viene appeso a un file con la forma:</para>
|
||||
|
||||
<para><command>cat file1 >>
|
||||
file2</command></para>
|
||||
|
||||
<para>Questo comando appende il contenuto di
|
||||
<filename>file1</filename> alla fine
|
||||
dell'esistente <filename>file2</filename>
|
||||
(<filename>file2</filename> non viene
|
||||
soprascritto).</para>
|
||||
|
||||
<para>L'input è rediretto (preso) da un file con la forma:</para>
|
||||
|
||||
<para><command>programma <
|
||||
file</command></para>
|
||||
|
||||
<para>Questo comando prende l'input per il
|
||||
<command>programma</command> da
|
||||
<filename>file</filename>.</para>
|
||||
|
||||
<para>Per incanalare (pipe) l'output di un programma nell'input di un altro
|
||||
programma si usa la forma:</para>
|
||||
|
||||
<para><command>comando|comando</command></para>
|
||||
|
||||
<para>Questo comando assegna l'output del primo comando all'input del
|
||||
secondo comando.</para>
|
||||
|
||||
<sect2 xml:id="special-features-file-redir-csh">
|
||||
<title>Csh</title>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<colspec colwidth="2in"/>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><command>>&
|
||||
file</command></entry>
|
||||
|
||||
<entry>redirige &man.stdout.4; e &man.stderr.4; in
|
||||
<filename>file</filename></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>>>&
|
||||
file</command></entry>
|
||||
|
||||
<entry>appende &man.stdout.4; e &man.stderr.4; in
|
||||
<filename>file</filename></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>|&
|
||||
comando</command></entry>
|
||||
|
||||
<entry>crea una pipe tra &man.stdout.4;-&man.stderr.4; e il
|
||||
<command>comando</command></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
<para>Per redirigere &man.stdout.4; e &man.stderr.4; in due file separati
|
||||
si deve prima redirigere &man.stdout.4; in una sotto-shell,
|
||||
così:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>(comando > out_file) >& err_file</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="special-features-file-redir-sh">
|
||||
<title>Sh</title>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<colspec colwidth="2in"/>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><command>2>
|
||||
file</command></entry>
|
||||
|
||||
<entry>redirige &man.stderr.4; in
|
||||
<filename>file</filename></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>> file
|
||||
2>&1</command></entry>
|
||||
|
||||
<entry>redirige &man.stdout.4; e &man.stderr.4; in
|
||||
<filename>file</filename></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>>> file
|
||||
2>&1</command></entry>
|
||||
|
||||
<entry>appende &man.stdout.4; e &man.stderr.4; in
|
||||
<filename>file</filename></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>2>&1 |
|
||||
comando</command></entry>
|
||||
|
||||
<entry>crea una pipe tra &man.stdout.4;-&man.stderr.4; e il
|
||||
<replaceable>comando</replaceable></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
<para>Per redirigere &man.stdout.4; e &man.stderr.4; in due file separati
|
||||
si può fare:</para>
|
||||
|
||||
<screen>$ <userinput>comando 1> out_file 2> err_file</userinput></screen>
|
||||
|
||||
<para>oppure, data la redirezione di default per &man.stdout.4;:</para>
|
||||
|
||||
<screen>$ <userinput>comando > out_file 2> err_file</userinput></screen>
|
||||
|
||||
<para>Con la shell Bourne si possono specificare altri descrittori di file
|
||||
(da 3 a 9) e redirigere l'output attraverso questi. Questo può
|
||||
essere fatto con la forma:</para>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<colspec colwidth="1in"/>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><command>n>&m</command></entry>
|
||||
|
||||
<entry>redirige il descrittore di file
|
||||
<replaceable>n</replaceable> sul descrittore di file
|
||||
<replaceable>m</replaceable></entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
<para>Questo meccanismo viene utilizzato per mandare &man.stderr.4; nello
|
||||
stesso posto di &man.stdout.4;, <command>2>&1</command>, quando
|
||||
si vuole avere i messaggi di errore e i normali messaggi in un file
|
||||
piuttosto che sul terminale. Se si vuole che solamente i messaggi di
|
||||
errore vadano nel file, si può usare un descrittore di file di
|
||||
supporto, 3. Si redirige prima 3 su 2, quindi 2 su 1 e in fine si
|
||||
redirige 1 su 3.</para>
|
||||
|
||||
<screen>$ <userinput>(comando 3>&2 2>&1 1>&3) > file</userinput></screen>
|
||||
|
||||
<para>Questo manda &man.stderr.4; in 1 e &man.stdout.4; in 3 che è
|
||||
rediretto su 2. In questo modo, in effetti, si ribaltano i normali
|
||||
significati dei descrittori di file 1 e 2. Si può sperimentare
|
||||
tutto questo con l'esempio seguente:</para>
|
||||
|
||||
<screen>$ <userinput>(cat file 3>&2 2>&1 1>&3) > errfile</userinput></screen>
|
||||
|
||||
<para>Quindi se <filename>file</filename>
|
||||
è letto, l'informazione è scartata dall'output del
|
||||
comando, ma se <filename>file</filename> non
|
||||
può essere letto, i messaggi di errore sono messi nel file
|
||||
<filename>errfile</filename> per usi
|
||||
futuri.</para>
|
||||
|
||||
<para>I descrittori di file che sono stati creati possono essere chiusi
|
||||
con:</para>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<colspec colwidth="1in"/>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><command>m<&-</command></entry>
|
||||
|
||||
<entry>chiude un descrittore di file di input</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command><&-</command></entry>
|
||||
|
||||
<entry>chiude &man.stdin.4;</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>m>&-</command></entry>
|
||||
|
||||
<entry>chiude un descrittore di file di output</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>>&-</command></entry>
|
||||
|
||||
<entry>chiude &man.stdout.4;</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="special-features-special-comm-simb">
|
||||
<title>Altri speciali simboli di comando</title>
|
||||
|
||||
<para>Oltre ai simboli di redirezione dei file ci sono altri
|
||||
simboli speciali che si possono usare su linea di comando.
|
||||
Alcuni di questi sono:</para>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<colspec colwidth="1.5in"/>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><command>;</command></entry>
|
||||
|
||||
<entry>separatore di comandi</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>&</command></entry>
|
||||
|
||||
<entry>esegue un comando in background</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>&&</command></entry>
|
||||
|
||||
<entry>esegue il comando seguente (a questo simbolo) solamente se il
|
||||
comando precedente (a questo simbolo) è stato completato
|
||||
con successo, esempio:
|
||||
<command>grep stringa file && cat
|
||||
file</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>||</command></entry>
|
||||
|
||||
<entry>esegue il comando seguente (a questo simbolo) solamente se il
|
||||
comando precedente (a questo simbolo) non è stato
|
||||
completato con successo, esempio:
|
||||
<command>grep stringa file ||
|
||||
echo "Stringa non trovata."</command></entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>( )</command></entry>
|
||||
|
||||
<entry>i comandi tra parentesi sono eseguiti in una sotto-shell.
|
||||
L'output della sotto-shell può essere manipolato come
|
||||
specificato nelle precedenti sezioni.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>' '</command></entry>
|
||||
|
||||
<entry>segni di quoting letterali. All'interno di questi segni di
|
||||
quoting non viene permesso ad alcuni caratteri di assumere
|
||||
significati speciali.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>\</command></entry>
|
||||
|
||||
<entry>considera il prossimo carattere letteralmente
|
||||
(escape)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>" "</command></entry>
|
||||
|
||||
<entry>segni di quoting regolari. All'interno di questi segni di
|
||||
quoting sono permesse sostituzioni di variabili e di comando
|
||||
(non disattivano $ e \ all'interno della stringa).</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>`comando`</command></entry>
|
||||
|
||||
<entry>prende l'output del comando e lo sostituisce nell'argomento
|
||||
su linea di comando</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><command>#</command></entry>
|
||||
|
||||
<entry>ogni cosa che lo segue fino a un newline è un
|
||||
commento</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
<para>Inoltre, il carattere \ può essere usato per effettuare un
|
||||
escape sul carattere di newline, in modo tale da continuare un
|
||||
lungo comando su più di una linea fisica di testo.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="special-features-wildcard">
|
||||
<title>Meta caratteri</title>
|
||||
|
||||
<para>La shell e alcuni programmi di manipolazione testo permettono i
|
||||
<emphasis>meta-caratteri</emphasis>, chiamati anche
|
||||
<emphasis>wild card</emphasis>, i quali vengono rimpiazzati dai
|
||||
corrispondenti schemi (pattern). Per i nomi di file questi
|
||||
<emphasis>meta-caratteri</emphasis> e i loro significati sono:</para>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<colspec colwidth="1.5in"/>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><emphasis>?</emphasis></entry>
|
||||
|
||||
<entry>indica un singolo carattere alla posizione
|
||||
indicata</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>*</emphasis></entry>
|
||||
|
||||
<entry>indica una stringa di zero o più
|
||||
caratteri</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>[abc...]</emphasis></entry>
|
||||
|
||||
<entry>indica un carattere tra quelli racchiusi</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>[a-e]</emphasis></entry>
|
||||
|
||||
<entry>indica un carattere tra quelli nel range a, b, c, d,
|
||||
e</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>[!def]</emphasis></entry>
|
||||
|
||||
<entry>indica un carattere tra quelli non inclusi in parentesi,
|
||||
solamente &man.sh.1;</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>{abc,bcd,cde}</emphasis></entry>
|
||||
|
||||
<entry>indica un set di caratteri tra quelli inclusi in parentesi,
|
||||
separati da una virgola (,) (niente spazi), solamente
|
||||
&man.csh.1;</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>~</emphasis></entry>
|
||||
|
||||
<entry>indica la directory home dell'utente corrente, solamente
|
||||
&man.csh.1;</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><emphasis>~<replaceable>user</replaceable></emphasis></entry>
|
||||
|
||||
<entry>indica la directory home dell'utente specificato, solamente
|
||||
&man.csh.1;</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
|
@ -1,165 +0,0 @@
|
|||
<?xml version="1.0" encoding="iso-8859-15"?>
|
||||
<!--
|
||||
The FreeBSD Italian Documentation Project
|
||||
|
||||
$FreeBSD$
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="structure">
|
||||
<title>Struttura di Unix</title>
|
||||
|
||||
<sect1 xml:id="structure-os">
|
||||
<title>Il sistema operativo</title>
|
||||
|
||||
<para>Unix è un sistema operativo a strati. Lo strato più
|
||||
interno è l'hardware il quale fornisce servizi al OS. Il sistema
|
||||
operativo (OS), riferito in Unix come al <emphasis>kernel</emphasis>,
|
||||
interagisce direttamente con l'hardware e fornisce i servizi ai programmi
|
||||
utente. I programmi utente non necessitano di conoscere informazioni
|
||||
sull'hardware. Devono solo sapere come interagire con il kernel ed
|
||||
è quest'ultimo a fornire i servizi richiesti. Uno dei più
|
||||
grandi fattori che ha contribuito alla richiesta di Unix da parte dei
|
||||
programmatori è stato che molti programmi utente corretti
|
||||
sono indipendenti dall'hardware sottostante, e ciò li rende
|
||||
facilmente trasportabili su nuovi sistemi.</para>
|
||||
|
||||
<para>I programmi utente interagiscono con il kernel attraverso un set di
|
||||
<emphasis>system call</emphasis> (chiamate di sistema) standard. Queste
|
||||
system call chiedono dei servizi, servizi che saranno forniti dal kernel.
|
||||
Così i servizi possono includere un accesso a un file: aprire,
|
||||
chiudere, leggere, scrivere un file, creare un link o eseguire un file;
|
||||
creare o aggiornare degli account (informazioni relative ad un utente come
|
||||
nome, password, ecc.); cambiare il proprietario di un file o di una
|
||||
directory; spostarsi in una nuova directory; creare, sospendere o
|
||||
terminare un processo; abilitare l'accesso a un dispositivo hardware e
|
||||
impostare dei limiti sulle risorse di sistema.</para>
|
||||
|
||||
<para>Unix è un sistema operativo <emphasis>multi-user</emphasis>
|
||||
(multi-utente) e <emphasis>multi-tasking</emphasis> (multi-processo). Si
|
||||
possono avere molti utenti <quote>loggati</quote> simultaneamente nel
|
||||
sistema (multi-user), ognuno dei quali esegue alcuni programmi
|
||||
(multi-tasking). È compito del kernel mantenere ogni processo e
|
||||
ogni utente separato e regolare l'accesso all'hardware di sistema, inclusa
|
||||
la cpu, la memoria, il disco e altri dispositivi di I/O.</para>
|
||||
|
||||
<programlisting>
|
||||
FIGURA 2.1 Struttura di un sistema Unix
|
||||
|
||||
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
| |
|
||||
| Programmi |
|
||||
| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
|
||||
| | | |
|
||||
| | Kernel | |
|
||||
| | _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
|
||||
| | | Hardware | | |
|
||||
| | |_ _ _ _ _ _ _ _ _ _ _ _ _ _| | |
|
||||
| | | |
|
||||
| | System Call | |
|
||||
| |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _| |
|
||||
| |
|
||||
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|</programlisting>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="structure-file-system">
|
||||
<title>Il file system</title>
|
||||
|
||||
<para>L'aspetto del file system di Unix è paragonabile alla struttura
|
||||
rovesciata di un albero. Si parte dall'alto con la directory
|
||||
<emphasis>root</emphasis>, denotata con <filename>/</filename>, per poi
|
||||
scendere attraverso sotto-directory sottostanti la root.</para>
|
||||
|
||||
<programlisting>
|
||||
FIGURA 2.2 Struttura del file system di Unix
|
||||
|
||||
|
||||
/(root) 1 livello
|
||||
| | | | |
|
||||
bin dev etc tmp usr 2 livello
|
||||
| | | | | | | | |
|
||||
sh date csh ttya cua0 passwd group bin lib 3 livello
|
||||
|
|
||||
gcc 4 livello
|
||||
|
||||
.... n livello</programlisting>
|
||||
|
||||
<para>Ogni nodo è o un <emphasis>file</emphasis> o una
|
||||
<emphasis>directory</emphasis> di file, dove quest'ultima può
|
||||
contenere altri file e directory. Un file o una directory vengono
|
||||
specificati attraverso il loro <emphasis>path name</emphasis> (percorso
|
||||
del nome del file o della directory), il quale può essere un path
|
||||
name assoluto oppure un path name relativo ad un'altra locazione. Un path
|
||||
name assoluto inizia con la directory root, <filename>/</filename>,
|
||||
seguono poi i <quote>rami</quote> del file system, ognuno separato da /,
|
||||
fino a raggiungere il file desiderato, come per esempio:</para>
|
||||
|
||||
<para><filename>/home/condron/source/xntp</filename></para>
|
||||
|
||||
<para>Un path name relativo specifica un percorso relativo ad un altro path
|
||||
name, che usualmente è la directory di lavoro corrente in cui ci si
|
||||
trova. Sono ora introdotte due directory speciali:</para>
|
||||
|
||||
<para><filename>.</filename> la directory corrente</para>
|
||||
|
||||
<para><filename>..</filename> la directory padre della directory
|
||||
corrente</para>
|
||||
|
||||
<para>Quindi se si è in <filename>/home/frank</filename> e si
|
||||
desidera specificare un path nel modo relativo si può usare:</para>
|
||||
|
||||
<para><filename>../condron/source/xntp</filename></para>
|
||||
|
||||
<para>Questo indica che si deve prima salire di un livello di directory,
|
||||
quindi passare attraverso la directory <filename>condron</filename>,
|
||||
seguire la directory <filename>source</filename> e quindi
|
||||
<filename>xntp</filename>.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="structure-directories-files-inodes">
|
||||
<title>Directory, file e inode Unix</title>
|
||||
|
||||
<para>Ogni <emphasis>directory</emphasis> e ogni <emphasis>file</emphasis>
|
||||
sono inclusi nella loro directory padre. Nel caso della directory root,
|
||||
la directory padre è se stessa. Una directory è un file
|
||||
contenente una tabella che elenca i file contenuti nella directory stessa,
|
||||
dove ai nomi dei file in lista vengono assegnati i corrispondenti numeri
|
||||
di <emphasis>inode</emphasis>. Un inode è un file speciale,
|
||||
progettato per essere letto dal kernel al fine di conoscere alcune
|
||||
informazioni su ciascun file. Un inode specifica i permessi del file, il
|
||||
proprietario del file, la data di creazione, quella dell'ultimo accesso e
|
||||
quella dell'ultima modifica del file e la posizione fisica dei blocchi di
|
||||
dati sul disco che contengono il file.</para>
|
||||
|
||||
<para>Il sistema non richiede qualche struttura particolare per i dati
|
||||
contenuti nel file. Il file può essere ASCII o binario o una
|
||||
combinazione di questi e può rappresentare dati testuali, uno
|
||||
script di shell, un codice oggetto compilato per un programma, una tabella
|
||||
di directory, robaccia o qualunque cosa si voglia.</para>
|
||||
|
||||
<para>Non c'è un'intestazione, una traccia, un'etichetta o il
|
||||
carattere <emphasis>EOF</emphasis> come parte del file.</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="structure-programs">
|
||||
<title>Programmi Unix</title>
|
||||
|
||||
<para>Un <emphasis>programma</emphasis> o un <emphasis>comando</emphasis>
|
||||
interagisce con il kernel per fornire l'ambiente e realizzare le
|
||||
funzioni richieste dall'utente. Un programma può essere: un file
|
||||
di shell eseguibile, conosciuto come uno script di shell, un comando
|
||||
interno (built-in) alla shell o un file sorgente compilato in codice
|
||||
oggetto.</para>
|
||||
|
||||
<para>La <emphasis>shell</emphasis> è un interprete a linea di
|
||||
comando. L'utente interagisce con il kernel attraverso la shell. Si
|
||||
può scrivere uno script ASCII (testo) in modo tale da essere
|
||||
interpretato da una shell.</para>
|
||||
|
||||
<para>I programmi di sistema sono generalmente in forma binaria, compilati
|
||||
partendo da un codice sorgente in C. Questi si trovano in posti come
|
||||
<filename>/bin</filename>, <filename>/usr/bin</filename>,
|
||||
<filename>/usr/local/bin</filename>, <filename>/usr/ucb</filename>, ecc.
|
||||
Questi comandi forniscono quelle funzionalità che normalmente si
|
||||
pensano essere di Unix. Alcuni di questi sono &man.sh.1;, &man.csh.1;,
|
||||
&man.date.1;, &man.who.1;, &man.more.1;, &man.ls.1; e molti altri.</para>
|
||||
</sect1>
|
||||
</chapter>
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue