aboutsummaryrefslogtreecommitdiff
path: root/it_IT.ISO8859-15/books/handbook/ports/chapter.sgml
blob: 6674018f13e3277f36de529ff15fac8670664df4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
<!--
     The FreeBSD Italian Documentation Project

     $FreeBSD$
     Original revision: 1.226
-->

<chapter id="ports">
  <title>Installazione delle Applicazioni: Port e Package</title>

  <sect1 id="ports-synopsis">
    <title>Sinossi</title>

    <indexterm><primary>port</primary></indexterm>
    <indexterm><primary>package</primary></indexterm>

    <para>FreeBSD &egrave; distribuito con una ricca collezione di strumenti di
      sistema come parte base del sistema.  Comunque, c'&egrave; molto che si
      pu&ograve; fare prima che sia necessario installare un'applicazione
      aggiuntiva di terze parti.  FreeBSD fornisce due tecnologie complementari
      per installare software di terze parti sul tuo sistema: la FreeBSD Port
      Collection, ed i packages contenenti i binari del software.  Puoi usare
      entrambi questi sistemi per installare l'ultima versione della tua
      applicazione preferita dai dispositivi locali o direttamente dalla
      rete.</para>

    <para>Dopo aver letto questo capitolo, saprai:</para>

    <itemizedlist>
      <listitem>
        <para>Come installare i package contenenti i binari delle applicazioni
          di terze parti.</para>
      </listitem>

      <listitem>
        <para>Come compilare le applicazioni di terze parti dalla collezione dei
          port.</para>
      </listitem>

      <listitem>
        <para>Come rimuovere i package o i port installati in precedenza.</para>
      </listitem>

      <listitem>
        <para>Come modificare i valori di default utilizzati dalla collezione
          dei port.</para>
      </listitem>

      <listitem>
        <para>Come trovare un package specifico.</para>
      </listitem>

      <listitem>
        <para>Come aggiornare i tuoi port.</para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="ports-overview">
    <title>Uno Sguardo all'Installazione del Software</title>

    <para>Se hai gi&agrave; usato un sistema &unix; prima d'ora saprai che la
      procedura tipica per installare software di terze parti &egrave; simile a
      questa:</para>

    <procedure>
      <step>
        <para>Scaricare il software, che potrebbe essere distribuito sotto forma
          di codice sorgente, o come binario.</para>
      </step>

      <step>
        <para>Scompattare il software dal suo formato di distribuzione
          (tipicamente un tarball compresso con &man.compress.1;, &man.gzip.1;,
          o con &man.bzip2.1;).</para>
      </step>

      <step>
        <para>Individuare la documentazione (probabilmente un file
          <filename>INSTALL</filename> o un file <filename>README</filename>,
          o qualche file nella sottodirectory <filename>doc/</filename>) e
          leggere come installare il software.</para>
      </step>

      <step>
        <para>Se il software &egrave; stato distribuito sotto forma di sorgente,
          compilarlo.  Questa fase pu&ograve; coinvolgere la modifica di un
          <filename>Makefile</filename>, oppure l'esecuzione di uno script
          <command>configure</command>, e qualche altro lavoro.</para>
      </step>

      <step>
        <para>Installare e testare il software.</para>
      </step>
    </procedure>

    <para>E questo se tutto va bene.  Se stai installando del software di cui
      non &egrave; stato deliberatamente effettuato il porting in FreeBSD
      potresti perfino dover modificare il codice per farlo funzionare
      correttamente.</para>

    <para>Se vuoi, puoi continuare ad installare il software su FreeBSD nel modo
      <quote>tradizionale</quote>.  Comunque, FreeBSD fornisce due tecnologie
      che possono farti risparmiare molti sforzi: i package e i port.  Nel
      momento in cui scrivo, sono disponibili pi&ugrave; di &os.numports;
      applicazioni di terze parti tramite questi due metodi.</para>

    <para>Per ogni applicazione, il package di FreeBSD per quella applicazione
      consiste in un singolo file che devi scaricare.  Il package contiene una
      copia pre-compilata di tutti i comandi dell'applicazione, cos&igrave;
      come i file di configurazione e di documentazione.  Una volta scaricato il
      package, questo pu&ograve; essere manipolato con i comandi di gestione
      dei package di FreeBSD, come &man.pkg.add.1;, &man.pkg.delete.1;,
      &man.pkg.info.1;, e cos&igrave; via.  L'installazione di una nuova
      applicazione pu&ograve; essere fatta con un singolo comando.</para>

    <para>In FreeBSD un port di un'applicazione &egrave; un insieme di file
      predisposti per automatizzare il processo di compilazione
      dell'applicazione partendo dal codice sorgente.</para>

    <para>Ricorda che ci sono molte fasi che normalmente devi eseguire se vuoi
      compilare un programma autonomamente (scaricare, scompattare, correggere,
      compilare, installare).  I file che costituiscono un port contengono tutte
      le informazioni necessarie per permettere al sistema di fare questo lavoro
      al posto tuo.  Tu esegui una manciata di semplici comandi e il codice
      sorgente dell'applicazione viene automaticamente scaricato, estratto,
      corretto, compilato, ed installato.</para>

    <para>Di fatto, il sistema dei port pu&ograve; anche essere usato per
      generare package che possono essere successivamente manipolati
      con <command>pkg_add</command> ed altri comandi di gestione dei package
      che saranno presentati tra poco.</para>

    <para>Sia i package che i port comprendono il meccanismo delle
      <emphasis>dipendenze</emphasis>.  Supponiamo che tu voglia installare
      un'applicazione che dipende da un specifica libreria.  Sia l'applicazione
      che la libreria sono disponibili in FreeBSD come port o come package.  Se
      usi il comando <command>pkg_add</command> o il sistema dei port per
      installare l'applicazione, entrambi noteranno che la libreria non &egrave;
      installata, e automaticamente la installeranno per prima.</para>

    <para>Dato che le due tecnologie sono abbastanza simili, probabilmente
      vorrai sapere perch&eacute; FreeBSD le usa entrambe.  I package e i port
      hanno i loro punti forte, e l'utilizzo dell'uno o dell'altro dipende dalle
      proprie preferenze personali.</para>

    <itemizedlist>
      <title>Benefici dei Package</title>

      <listitem>
        <para>Il tarball compresso di un package &egrave; tipicamente pi&ugrave;
          piccolo del tarball compresso contenente il codice sorgente
          della stessa applicazione.</para>
      </listitem>

      <listitem>
        <para>I package non richiedono alcuna compilazione aggiuntiva.  Per
          grandi applicazioni, come <application>Mozilla</application>,
          <application>KDE</application>, oppure
          <application>GNOME</application> questo pu&ograve; essere importante,
          sopra tutto se usi un sistema lento.</para>
      </listitem>

      <listitem>
        <para>I package non richiedono la conoscenza del processo di
          compilazione del software su FreeBSD.</para>
      </listitem>
    </itemizedlist>

    <itemizedlist>
      <title>Benefici dei Port</title>

      <listitem>
        <para>I package sono normalmente compilati con opzioni conservative,
          poich&eacute; devono poter funzionare su un parco macchine il
          pi&ugrave; ampio possibile.  Con l'installazione dai port, puoi
          aggiustare le opzioni di compilazione per produrre (per esempio) del
          codice che sia specifico per un Pentium IV o un processore
          Athlon.</para>
      </listitem>

      <listitem>
        <para>Alcune applicazioni hanno delle opzioni attivabili al tempo di
          compilazione che permettono di modificare il comportamento delle
          applicazioni stesse.  Per esempio, <application>Apache</application>
          pu&ograve; essere configurato con un'ampia variet&agrave; di
          differenti opzioni built-in.  Effettuando la compilazione dal port non
          sei costretto ad accettare le opzioni di default, e puoi settarle tu
          stesso.</para>

        <para>In alcuni casi, ci possono essere pi&ugrave; package per la stessa
          applicazione a seconda dei settaggi ivi contenuti.  Per esempio,
          <application>Ghostscript</application> &egrave; disponibile come
          package <filename>ghostscript</filename> e come package
          <filename>ghostscript-nox11</filename>, a seconda che tu abbia o meno
          installato un server X11.  Questa sorta di adattamento &egrave;
          possibile con i package, ma diviene impossibile nel caso in cui
          un'applicazione ha pi&ugrave; di una o due diverse opzioni che si
          possono dare al tempo di compilazione.</para>
      </listitem>

      <listitem>
        <para>Le condizioni di licenza di alcune distribuzioni di software
          proibiscono la distribuzione dei binari.  Tali software devono essere
          distribuiti come codice sorgente.</para>
      </listitem>

      <listitem>
        <para>Alcune persone non si fidano della distribuzione dei binari.
          Con il codice sorgente, puoi (in teoria) controllare il codice e
          cercare i suoi potenziali problemi.</para>
      </listitem>

      <listitem>
        <para>Se hai delle patch, hai bisogno del sorgente per
          applicarle.</para>
      </listitem>

      <listitem>
        <para>Ad alcune persone piace avere il codice sorgente, in modo tale da
          poterlo leggerlo se sono annoiati, hackerarlo, prenderne in prestito
          delle parti (licenza permettendo, naturalmente), e cos&igrave;
          via.</para>
      </listitem>
    </itemizedlist>

    <para>Per tenersi al corrente sugli aggiornamenti dei port, iscriviti alla
      &a.ports; e alla &a.ports-bugs;.</para>

    <warning>
      <para>Prima di installare qualche applicazione, dovresti verificare <ulink
          url="http://vuxml.freebsd.org/"></ulink> per eventuali problemi di
        sicurezza relativi alla tua applicazione.</para>

      <para>Inoltre puoi installare il port <filename
          role="package">security/portaudit</filename> che verificher&agrave;
        in modo automatico tutte le applicazioni installate a caccia di
        vulnerabilit&agrave; note, e verr&agrave; fatta una verifica anche
        prima della compilazione dei port.  Puoi usare il comando
        <command>portaudit -F -a</command> dopo che hai installato qualche
        package.</para>
    </warning>

    <para>Il resto del capitolo spiegher&agrave; come usare i package ed i
      port per installare e gestire il software di terze parti su
      FreeBSD.</para>
  </sect1>

  <sect1 id="ports-finding-applications">
    <title>Ricerca della Propria Applicazione</title>

    <para>Prima di poter installare delle applicazioni devi sapere
      quale applicazione ti serve, e come viene chiamata.</para>

    <para>La lista delle applicazioni disponibili su FreeBSD cresce
      continuamente.  Fortunatamente, ci sono diversi sistemi per trovare
      quello che ti serve:</para>

    <itemizedlist>
      <listitem>
        <para>Il sito web di FreeBSD mantiene all'indirizzo <ulink
            url="&url.base;/ports/index.html">http://www.FreeBSD.org/ports/</ulink>
          una lista aggiornata in cui puoi cercare tutte le applicazioni
          correntemente disponibili.  I port sono divisi in categorie, e puoi
          sia cercare un'applicazione in base al nome (se lo conosci), sia
          visionare tutte le applicazioni disponibili in una data
          categoria.</para>
      </listitem>

      <indexterm><primary>FreshPort</primary></indexterm>

      <listitem>
        <para>Dan Langille mantiene FreshPort, all'indirizzo <ulink
            url="http://www.FreshPorts.org/"></ulink>.
          FreshPort segue in tempo reale i cambiamenti delle applicazioni
          nell'albero dei port, permettendoti di <quote>controllare</quote>
          uno o pi&ugrave; port, e dandoti la possibilit&agrave; di essere
          avvisato tramite email quando questi vengono aggiornati.</para>
      </listitem>

      <indexterm><primary>FreshMeat</primary></indexterm>

      <listitem>
        <para>Se non conosci il nome dell'applicazione che desideri, prova ad
          usare un sito come FreshMeat (<ulink
            url="http://www.freshmeat.net/"></ulink>)
          per trovare l'applicazione, quindi controlla sul sito di FreeBSD
          per vedere se &egrave; gi&agrave; stato effettuato il porting.</para>
      </listitem>

      <listitem>
        <para>Se sei a conoscenza del nome esatto del port, ma non sai in
          quale categoria esso sia, puoi usare il comando &man.whereis.1;
          Semplicemente digita <command>whereis
            <replaceable>file</replaceable></command>, dove
          <replaceable>file</replaceable> &egrave; il programma che vuoi
          installare.  Se viene trovato sul tuo sistema, ti verr&agrave;
          indicato dove si trova, in modo simile a quanto segue:</para>

        <screen>&prompt.root; <userinput>whereis lsof</userinput>
lsof: /usr/ports/sysutils/lsof</screen>

        <para>Questo ci dice che <command>lsof</command> (un'utility di
          sistema) si trova nella directory
          <filename>/usr/ports/sysutils/lsof</filename>.</para>
      </listitem>

      <listitem>
        <para>Un altro modo per trovare un determinato port &egrave; quello
          di usare il meccanismo di ricerca contenuto nella collezione dei port.
          Per usare questo servizio di ricerca, devi posizionarti nella
          directory <filename>/usr/ports</filename>.  Una volta in quella
          directory, lancia <command>make search
            name=<replaceable>nome-programma</replaceable></command> dove
          <replaceable>nome-programma</replaceable> &egrave; il nome del
          programma che vuoi cercare.  Per esempio, se vuoi cercare
          <command>lsof</command>:</para>

        <screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make search name=lsof</userinput>
Port:   lsof-4.56.4
Path:   /usr/ports/sysutils/lsof
Info:   Elenca informazioni sui file aperti (simile a fstat(1))
Maint:  obrien@FreeBSD.org
Index:  sysutils
B-deps:
R-deps:</screen>

        <para>La parte di output sulla quale devi porre particolare attenzione
          &egrave; la riga <quote>Path:</quote>, che ti dice dove puoi trovare
          il port.  Le altre informazioni riportate non sono necessarie per
          installare il port, e quindi non saranno trattate in questa
          sede.</para>

        <para>Inoltre per una ricerca pi&ugrave; complessa puoi usare
          <command>make search key=<replaceable>stringa</replaceable></command>
          dove <replaceable>stringa</replaceable> fa parte del testo da cercare.
          Questo ricerca nei nomi dei port, nei commenti, nelle descrizioni e
          nelle dipendenze e pu&ograve; essere usato per cercare port che si
          riferiscono ad un argomento particolare anche se non conosci il nome
          del programma che stai cercando.</para>

        <para>In entrambi i casi, la stringa di ricerca &egrave;
          case-insensitive.  La ricerca per <quote>LSOF</quote> produrr&agrave;
          gli stessi risultati della ricerca per <quote>lsof</quote>.</para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="packages-using">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Chern</firstname>

          <surname>Lee</surname>

          <contrib>Contributo di</contrib>
        </author>
      </authorgroup>
    </sect1info>

    <title>Utilizzo del Sistema dei Package</title>

    <sect2>
      <title>Installazione di un Package</title>

      <indexterm>
        <primary>package</primary>
        <secondary>installazione</secondary>
      </indexterm>

      <indexterm><primary><command>pkg_add</command></primary></indexterm>

      <para>Puoi usare l'utility &man.pkg.add.1; per installare un package di
        FreeBSD da un file locale o da un server sulla rete.</para>

      <example>
        <title>Scaricare un Package Manualmente e Installarlo da Locale</title>

        <screen>&prompt.root; <userinput>ftp -a <replaceable>ftp2.FreeBSD.org</replaceable></userinput>
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230-     This machine is in Vienna, VA, USA, hosted by Verio.
230-         Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
<prompt>ftp></prompt> <userinput>cd /pub/FreeBSD/ports/packages/sysutils/</userinput>
250 CWD command successful.
<prompt>ftp></prompt> <userinput>get lsof-4.56.4.tgz</userinput>
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375       00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
<prompt>ftp></prompt> <userinput>exit</userinput>
&prompt.root; <userinput>pkg_add <replaceable>lsof-4.56.4.tgz</replaceable></userinput></screen>
      </example>

      <para>Se non hai una raccolta di package locale (per esempio il
        set dei CDROM di FreeBSD) allora probabilmente ti risulter&agrave;
        pi&ugrave; facile usare &man.pkg.add.1; con l'opzione
        <option>-r</option>.  In questo modo &man.pkg.add.1; determina
        automaticamente la corretta release e il giusto formato dell'oggetto,
        quindi scarica il package da un sito FTP e lo installa.</para>

      <indexterm><primary><command>pkg_add</command></primary></indexterm>

      <screen>&prompt.root; <userinput>pkg_add -r <replaceable>lsof</replaceable></userinput></screen>

      <para>L'esempio qui sopra scarica il giusto package e lo installa senza
        nessun ulteriore intervento.  Se vuoi specificare un sito mirror dei
        package di &os; alternativo, invece del sito di distibuzione principale,
        devi settare la variabile <envar>PACKAGESITE</envar> come desiderato,
        in modo tale da sovrascrivere i settaggi di default.  &man.pkg.add.1;
        usa &man.fetch.3; per scaricare i file, il quale rispetta varie
        variabili d'ambiente, incluse <envar>FTP_PASSIVE_MODE</envar>,
        <envar>FTP_PROXY</envar>, e <envar>FTP_PASSWORD</envar>.  Puoi aver
        bisogno di settarne qualcuna se la tua macchina &egrave; dietro un
        firewall, o se utilizzi un proxy FTP/HTTP.  Leggi &man.fetch.3; per la
        lista completa.  Nell'esempio precedente si pu&ograve; anche notare che
        viene usato <literal>lsof</literal> al posto di
        <literal>lsof-4.56.4</literal>.  Quando viene usata la modalit&agrave;
        di prelevamento da remoto, il numero di versione del package non deve
        essere specificato.  &man.pkg.add.1; prender&agrave; automaticamente
        l'ultima versione dell'applicazione.</para>

      <note>
        <para>&man.pkg.add.1; scaricher&agrave; la versione pi&ugrave; recente
          della tua applicazione solo se stai usando &os.current; o &os.stable;.
          Se stai utilizzando una versione -RELEASE, allora verr&agrave;
          scaricata la versione del package che &egrave; stato costruito per
          la tua release.  Tuttavia &egrave; possibile cambiare questo
          comportamento modificando la variabile di ambiente
          <envar>PACKAGESITE</envar> in modo opportuno.</para>
      </note>

      <para>I file dei package sono distribuiti nel formato
        <filename>.tgz</filename>.  Puoi trovarli in <ulink
          url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/"></ulink>,
        oppure sui CDROM della distribuzione di FreeBSD.  Ogni CD contenuto
        nel set dei quattro CD (e nel PowerPak, ecc.) contiene i package nella
        directory <filename>/packages</filename>.  La disposizione dei package
        &egrave; simile a quella dell'albero <filename>/usr/ports</filename>.
        Ogni categoria ha la propria directory, ed ogni package pu&ograve;
        essere trovato dentro la directory <filename>All</filename>.</para>

      <para>La struttura delle directory del sistema dei package eguaglia
        quella dei port; questi due sistemi lavorano l'uno con l'altro per
        formare l'intero sistema dei package/port.</para>
    </sect2>

    <sect2>
      <title>Gestione dei Package</title>

      <indexterm>
        <primary>package</primary>
        <secondary>gestione</secondary>
      </indexterm>

      <para>L'utility &man.pkg.info.1; elenca e descrive i vari package
        installati.</para>

      <indexterm><primary><command>pkg_info</command></primary></indexterm>

      <screen>&prompt.root; <userinput>pkg_info</userinput>
cvsup-16.1          Un comune sistema di distribuzione dei file in rete ottimizzato per CVS
docbook-1.2         Meta-port delle varie versioni del DTD DocBook
...</screen>

      <para>L'utility &man.pkg.version.1; riassume le versioni di tutti i
        package installati.  Paragona le versioni dei package con le versioni
        correnti trovate nell'albero dei port.</para>

      <indexterm><primary><command>pkg_version</command></primary></indexterm>

      <screen>&prompt.root; <userinput>pkg_version</userinput>
cvsup                       =
docbook                     =
...</screen>

      <para>I simboli nella seconda colonna indicano il risultato del confronto
        tra la versione installata e quella disponibile in locale nell'albero
        dei port.</para>

      <informaltable frame="none">
        <tgroup cols="2">
          <thead>
            <row>
              <entry>Simbolo</entry>

              <entry>Significato</entry>
            </row>
          </thead>

          <tbody>
            <row>
              <entry>=</entry>

              <entry>Le versioni del package installato e di quello disponibile
                in locale nell'albero dei port sono uguali.</entry>
            </row>

            <row>
              <entry>&lt;</entry>

              <entry>La versione installata &egrave; precedente a quella
                disponibile nell'albero dei port.</entry>
            </row>

            <row>
              <entry>&gt;</entry>

              <entry>La versione installata &egrave; pi&ugrave; aggiornata di
                quella trovata in locale nell'albero dei port. (L'albero
                dei port locale &egrave; probabilmente da aggiornare)</entry>
            </row>

            <row>
              <entry>?</entry>

              <entry>Il package installato non pu&ograve; essere trovato
                nell'indice dei port. (Questo pu&ograve; succedere, per esempio,
                se un port installato viene rimosso dalla collezione dei port
                oppure viene rinominato.)</entry>
            </row>

            <row>
              <entry>*</entry>

              <entry>Ci sono pi&ugrave; versioni del package.</entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>
    </sect2>

    <sect2>
      <title>Cancellazione di un Package</title>

      <indexterm><primary><command>pkg_delete</command></primary></indexterm>
      <indexterm>
        <primary>package</primary>
        <secondary>cancellare</secondary>
      </indexterm>

      <para>Per rimuovere un package installato in precedenza, usa l'utility
        &man.pkg.delete.1;.</para>

      <screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen>
    </sect2>

    <sect2>
      <title>Miscellanea</title>

      <para>Tutte le informazioni sui package sono memorizzate nella
        directory <filename>/var/db/pkg</filename>.  La lista dei file
        installati e le descrizioni di ogni package possono essere trovate
        all'interno dei file di questa directory.</para>
    </sect2>
  </sect1>

  <sect1 id="ports-using">
    <title>Utilizzo della Collezione dei Port</title>

    <para>Le sezioni seguenti forniscono le istruzioni basilari sull'uso della
      collezione dei port per installare e rimuovere programmi dal tuo
      sistema.</para>

    <sect2 id="ports-tree">
      <title>Ottenimento della Collezione dei Port</title>

      <para>Prima che tu possa installare i port, devi procurarti la collezione
        dei port&mdash;che essenzialmente &egrave; un set di
        <filename>Makefiles</filename>, patch, e file di descrizione collocati
        in <filename>/usr/ports</filename>.</para>

      <para>Durante l'installazione del tuo sistema FreeBSD,
        <application>sysinstall</application> ti ha chiesto se volevi installare
        la collezione dei port.  Se hai rifiutato, puoi seguire queste
        istruzioni per ottenerla:</para>

      <procedure>
        <title>Il Metodo Sysinstall</title>

        <para>Questo metodo richiede ancora l'uso di
          <application>sysinstall</application> per installare
          manualmente la collezione dei port.</para>

        <step>
          <para>Esegui da <username>root</username>
            <command>/stand/sysinstall</command> come mostrato qui sotto:</para>

            <screen>&prompt.root; <userinput>/stand/sysinstall</userinput></screen>
        </step>

        <step>
          <para>Scorri verso il basso e seleziona
            <guimenuitem>Configure</guimenuitem>, premi
            <keycap>Invio</keycap>.</para>
        </step>

        <step>
          <para>Scorri verso il basso e seleziona
            <guimenuitem>Distributions</guimenuitem>, premi
            <keycap>Invio</keycap>.</para>
        </step>

        <step>
          <para>Scorri verso il basso fino a <guimenuitem>ports</guimenuitem>,
            premi <keycap>Spazio</keycap>.</para>
        </step>

        <step>
          <para>Scorri verso l'alto fino a <guimenuitem>Exit</guimenuitem>,
            premi <keycap>Invio</keycap>.</para>
        </step>

        <step>
          <para>Seleziona il modo di installazione desiderato, come CDROM,
            FTP, e cos&igrave; via.</para>
        </step>

        <step>
         <para>Scorri verso l'alto fino a <guimenuitem>Exit</guimenuitem> e
            premi <keycap>Invio</keycap>.</para>
       </step>

        <step>
         <para>Premi <keycap>X</keycap> per uscire da
            <application>sysinstall</application>.</para>
        </step>
      </procedure>

      <para>Un altro metodo per ottenere la tua collezione dei port e per
        mantenerla aggiornata consiste nell'utilizzo di
        <application>CVSup</application>.  Dai un'occhiata al file di
        <application>CVSup</application> riguardante i port,
        <filename>/usr/share/examples/cvsup/ports-supfile</filename>.
        Guarda <link linkend="cvsup">Usare CVSup</link> (<xref
          linkend="cvsup">) per maggiori informazioni sull'uso di
        <application>CVSup</application> e del file menzionato.</para>

      <procedure>
        <title>Il Metodo CVSup</title>

        <para>Questo &egrave; un rapido metodo che utilizza
          <application>CVSup</application> per ottenere la collezione dei
          port.  Se vuoi mantenere il tuo albero dei port aggiornato, o imparare
          di pi&ugrave; su <application>CVSup</application>, leggi la sezione
          menzionata in precedenza.</para>

        <step>
          <para>Installa il port <filename role="package">net/cvsup</filename>.
            Guarda <link linkend="cvsup-install">Installazione di CVSup</link>
            (<xref linkend="cvsup-install">) per maggiori dettagli.</para>
        </step>

        <step>
          <para>Da <username>root</username>, copia il file
            <filename>/usr/share/examples/cvsup/ports-supfile</filename>
            in un nuovo posto, come in <filename>/root</filename> o nella tua
            directory home.</para>
        </step>

        <step>
          <para>Edita <filename>ports-supfile</filename>.</para>
        </step>

        <step>
          <para>Cambia <replaceable>CHANGE_THIS.FreeBSD.org</replaceable> in un
            server <application>CVSup</application> vicino a te.  Guarda <link
              linkend="cvsup-mirrors">Mirror CVSup</link> (<xref
              linkend="cvsup-mirrors">) per una lista completa dei siti
            mirror.</para>
        </step>

        <step>
          <para>Esegui <command>cvsup</command>:</para>

          <screen>&prompt.root; <userinput>cvsup -g -L 2 <replaceable>/root/ports-supfile</replaceable></userinput></screen>
        </step>

        <step>
          <para>Poco dopo aver eseguito questo comando verranno scaricate
            e applicate alla tua collezione dei port tutte le modifiche
            recenti, anche se di fatto i port gi&agrave; compilati sul tuo
            sistema non verranno aggiornati.</para>
        </step>
      </procedure>
    </sect2>

    <sect2 id="ports-skeleton">
      <title>Installazione dei Port</title>

      <indexterm>
        <primary>port</primary>
        <secondary>installazione</secondary>
      </indexterm>

      <para>La prima cosa che dovrebbe essere chiara quando si ha a che fare con
        la collezione dei port &egrave; l'effettivo significato di
        <quote>scheletro</quote> di un port.  Brevemente, lo scheletro di un
        port &egrave; un insieme minimo di file che dice al tuo sistema FreeBSD
        come compilare ed installare un programma in modo pulito.  Ogni
        scheletro di un port include:</para>

      <itemizedlist>
        <listitem>
          <para>Un <filename>Makefile</filename>.  Il
            <filename>Makefile</filename> contiene varie espressioni che
            specificano come l'applicazione deve essere compilata e dove
            deve essere installata sul tuo sistema.</para>
        </listitem>

        <listitem>
          <para>Un file <filename>distinfo</filename>.  Questo file contiene
            informazioni sui file che devono essere scaricati per la
            compilazione del port e sui loro checksum (somme di controllo),
            utilizzati per verificare che quei file non siano stati corrotti
            durante il download.</para>
        </listitem>

        <listitem>
          <para>Una directory <filename>files</filename>.  Questa directory
            contiene le patch utilizzate per la compilazione e per
            l'installazione del programma sul tuo sistema FreeBSD.  Le patch
            sono sostanzialmente piccoli file che specificano come modificare
            alcuni file.  Sono in puro formato di testo, e in modo grossolano
            dicono <quote>Rimuovi la riga 10</quote> o
            <quote>Cambia la riga 26 in ...</quote>.  Le patch sono anche
            conosciute con il termine <quote>diff</quote> poich&egrave; sono
            generate dal programma &man.diff.1;.</para>

          <para>Questa directory pu&ograve; anche contenere altri file
            utilizzati per la costruzione del port.</para>
        </listitem>

        <listitem>
          <para>Un file <filename>pkg-descr</filename>.  Questo file contiene
            una descrizione del programma pi&ugrave; dettagliata, spesso su
            pi&ugrave; righe di testo.</para>
        </listitem>

        <listitem>
          <para>Un file <filename>pkg-plist</filename>.  Questo file contiene
            l'elenco di tutti i file che saranno installati dal port.
            Dice anche al sistema dei port quale file rimuovere durante la
            disinstallazione.</para>
        </listitem>
      </itemizedlist>

      <para>Alcuni port hanno altri file, come
        <filename>pkg-message</filename>.  Il sistema dei port li usa
        per affrontare speciali situazioni.  Se vuoi maggiori dettagli
        su questi file, e sui port in generale, leggi attentamente il
        <ulink url="&url.books.porters-handbook;/index.html">Manuale del Porter
          di FreeBSD</ulink>.</para>

      <para>Il port include istruzioni su come compilare il codice sorgente,
        ma non include il codice sorgente stesso.  Devi prendere il codice
        sorgente da un CDROM o da Internet.  L'autore del codice sorgente
        pu&ograve; distribuirlo come desidera.  Quasi sempre &egrave; un file
        di archivio tar compresso con gzip, ma potrebbe essere stato compresso
        con un altro tool o perfino potrebbe essere non compresso.  Il codice
        sorgente del programma, in qualsiasi forma sia, &egrave; chiamato con
        il termine <quote>distfile</quote>.  I due metodi per installare un
        port di &os; sono descritti qui sotto.</para>

      <note>
        <para>Devi essere <username>root</username> per installare i
          port.</para>
      </note>

      <warning>
        <para>Prima di installare qualche port, dovresti assicurarti di avere
          l'albero della collezione dei port aggiornato e dovresti verificare
          <ulink
            url="http://vuxml.freebsd.org/"></ulink> per eventuali problemi di
          sicurezza relativi alla tua applicazione.</para>

        <para>Una verifica delle vulnerabilit&agrave; di sicurezza pu&ograve;
          essere fatta in modo automatico con
          <application>portaudit</application> prima dell'installazione di nuove
          aplicazioni.  Questo strumento pu&ograve; essere trovato nella
          collezione dei port (<filename
            role="package">security/portaudit</filename>).  Esegui
          <command>portaudit -F</command> prima di installare un nuovo port,
          per aggiornare la base di dati delle vulnerabilit&agrave;.  Durante
          la verifica giornaliera del sistema verr&agrave; fatto un controllo
          di integrit&agrave; e un aggiornamento della base di dati delle
          vulnerabilit&agrave;.  Per maggiori informazioni leggi le pagine man
          &man.portaudit.1; e &man.periodic.8;.</para>
      </warning>

      <sect3 id="ports-cd">
        <title>Installazione dei Port dal CDROM</title>

        <indexterm>
          <primary>port</primary>
          <secondary>installazione da CDROM</secondary>
        </indexterm>

        <para>Le immagini ufficiali su CDROM del progetto FreeBSD non
          includono pi&ugrave; i distfile.  Occupano molto spazio che &egrave;
          meglio utilizzato per i package precompilati.  I prodotti su CDROM
          come il FreeBSD PowerPak includono i distfile, e puoi ordinare questi
          set da un venditore come <ulink
            url="http://www.freebsdmall.com/">FreeBSD Mall</ulink>.
          Questa sezione presuppone che tu abbia un simile set di CDROM di
          FreeBSD.</para>

        <para>Metti il tuo CDROM di FreeBSD nell'apposito lettore.  Montalo
          su <filename>/cdrom</filename>.  (Se usi un punto di mount differente,
          l'installazione non funzioner&agrave;.)  Per prima cosa, vai nella
          directory del port che vuoi installare:</para>

        <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput></screen>

        <para>Una volta dentro la directory <filename>lsof</filename>,
          vedrai lo scheletro del port.  Il prossimo passo riguarda la
          compilazione, o <quote>costruzione</quote>, del port.  Questo viene
          fatto semplicemente digitando <command>make</command> al prompt.  Una
          volta che hai fatto questo, dovresti vedere qualcosa simile a quanto
          segue:</para>

        <screen>&prompt.root; <userinput>make</userinput>
&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
&gt;&gt; Attempting to fetch from file:/cdrom/ports/distfiles/.
===&gt;  Extracting for lsof-4.57
...
[l'output dell'estrazione &egrave; stato tagliato]
...
&gt;&gt; Checksum OK for lsof_4.57D.freebsd.tar.gz.
===&gt;  Patching for lsof-4.57
===&gt;  Applying FreeBSD patches for lsof-4.57
===&gt;  Configuring for lsof-4.57
...
[l'output della configurazione &egrave; stato tagliato]
...
===&gt;  Building for lsof-4.57
...
[l'output della compilazione &egrave; stato tagliato]
...
&prompt.root;</screen>

        <para>Nota che una volta terminata la compilazione ritornerai al tuo
          prompt.  Il prossimo passo riguarda l'installazione del
          port.  Per installarlo, devi semplicemente affiancare una parola al
          comando <command>make</command>, e questa parola &egrave;
          <command>install</command>:</para>

        <screen>&prompt.root; <userinput>make install</userinput>
===&gt;  Installing for lsof-4.57
...
[l'output dell'installazione &egrave; stato tagliato]
...
===&gt;   Generating temporary packing list
===&gt;   Compressing manual pages for lsof-4.57
===&gt;   Registering installation for lsof-4.57
===&gt;  SECURITY NOTE:
      I binari di questo port richiedono l'esecuzione con alti privilegi.
&prompt.root;</screen>

        <para>Quando ritornerai al tuo prompt, dovresti essere in grado di
          eseguire l'applicazione che hai appena installato.  Siccome
          <command>lsof</command> &egrave; un programma che lavora con alti
          privilegi, viene mostrato un avvertimento di sicurezza.  Durante la
          compilazione e l'installazione dei port, dovresti fare attenzione ad
          ogni avvertimento che appare.</para>

        <note>
          <para>Potresti anche evitare un passaggio lanciando solamente
            <command>make install</command> invece dei due passi separati
            <command>make</command> e <command>make install</command>.</para>
        </note>

        <note>
          <para>Alcune shell mantengono una cache dei comandi che sono
            disponibili nelle directory elencate nella variabile d'ambiente
            <envar>PATH</envar>, per velocizzare le operazioni di ricerca dei
            file eseguibili di questi comandi.  Se stai usando una di queste
            shell, potresti dover usare il comando <command>rehash</command>
            dopo l'installazione di un port, prima di poter usare il nuovo
            comando.  Questo succede sia per le shell che fanno parte del
            sistema base (come <command>tcsh</command>) sia per le shell
            che sono disponibili dai port (per esempio,
            <filename role="package">shells/zsh</filename>).</para>
        </note>

        <note>
          <para>Per cortesia sii consapevole che le licenze di alcuni port non
            permettono l'inclusione degli stessi sul CDROM.  Questa limitazione
            potrebbe essere dovuta dalla necessit&agrave; di compilare un form
            di registrazione prima di scaricare il software, o perch&eacute; la
            ridistribuzione non &egrave; permessa, o per altre ragioni.  Se
            desideri installare un port non incluso nel CDROM, dovrai essere
            collegato ad Internet per farlo (vedi la <link
              linkend="ports-inet">prossima sezione</link>).</para>
        </note>
      </sect3>

      <sect3 id="ports-inet">
        <title>Installazione dei Port da Internet</title>

        <para>Questa sezione presuppone che tu abbia una connessione ad Internet
          funzionante.  Se non ce l'hai, dovrai utilizzare <link
            linkend="ports-cd">l'installazione da CDROM</link>, oppure dovrai
          copiare manualmente il distfile in
          <filename>/usr/ports/distfiles</filename>.</para>

        <para>L'installazione di un port da Internet viene fatta nello stesso
          modo con cui viene fatta l'installazione da CDROM.  L'unica differenza
          tra i due modi &egrave; che il distfile del port viene preso da
          Internet invece che dal CDROM.</para>

        <para>I passi richiesti sono gli stessi:</para>

        <screen>&prompt.root; <userinput>make install</userinput>
&gt;&gt; lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
&gt;&gt; Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
439860 bytes transferred in 18.0 seconds (23.90 kBps)
===&gt;  Extracting for lsof-4.57
...
[l'output dell'estrazione &egrave; stato tagliato]
...
&gt;&gt; Checksum OK for lsof_4.57D.freebsd.tar.gz.
===&gt;  Patching for lsof-4.57
===&gt;  Applying FreeBSD patches for lsof-4.57
===&gt;  Configuring for lsof-4.57
...
[l'output della configurazione &egrave; stato tagliato]
...
===&gt;  Building for lsof-4.57
...
[l'output della compilazione &egrave; stato tagliato]
...
===&gt;  Installing for lsof-4.57
...
[l'output dell'installazione &egrave; stato tagliato]
...
===&gt;   Generating temporary packing list
===&gt;   Compressing manual pages for lsof-4.57
===&gt;   Registering installation for lsof-4.57
===&gt;  SECURITY NOTE:
      I binari di questo port richiedono l'esecuzione con alti privilegi.
&prompt.root;</screen>

        <para>Come puoi vedere, la sola differenza sta nella riga che dice
          da dove il sistema sta ottenendo il distfile del port.</para>

        <para>Il sistema dei port usa &man.fetch.1; per scaricare i file,
          il quale rispetta varie variabili d'ambiente, incluse
          <envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar>,
          e <envar>FTP_PASSWORD</envar>.  Puoi aver bisogno di settarne
          qualcuna se sei dietro a un firewall, o se usi un proxy FTP/HTTP.
          Guarda &man.fetch.3; per la lista completa.</para>

        <para>Gli utenti che non possono essere sempre connessi ad Internet
          possono usare l'opzione <command>make
            <maketarget>fetch</maketarget></command>.  Esegui tale comando in
          cima alla directory (<filename>/usr/ports</filename>) e i file
          richiesti saranno scaricati.  Questo comando funziona anche nelle
          categorie di livello inferiore, per esempio:
          <filename>/usr/ports/net</filename>.  Nota che se un port dipende
          da una libreria o da altri port, quel comando <emphasis>non</emphasis>
          prelever&agrave; anche i distfile di questi port.  Sostituisci
          <maketarget>fetch</maketarget> con
          <maketarget>fetch-recursive</maketarget> se vuoi prelevare anche
          tutte le dipendenze di un port.</para>

        <note>
          <para>Puoi compilare tutti i port di una categoria o perfino tutti
            i port eseguendo <command>make</command> in cima alla directory,
            in modo simile a quanto fatto per il suddetto metodo <command>make
              <makevar>fetch</makevar></command>.  Comunque, questo &egrave;
            rischioso poich&egrave; alcuni port non possono coesistere.  Inoltre,
            alcuni port potrebbero richiedere di installare due diversi file con
            lo stesso nome.</para>
        </note>

        <para>In alcuni casi rari, gli utenti potrebbero voler acquisire i
          tarball da un sito diverso dal <makevar>MASTER_SITES</makevar>
          (la locazione di default dove i file sono scaricati).  Puoi
          sovrascrivere l'opzione <makevar>MASTER_SITES</makevar> con il comando
          seguente:</para>

        <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>

        <para>In questo esempio abbiamo settato <makevar>MASTER_SITES</makevar>
          a <hostid
            role="fqdn">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</hostid>.</para>

        <note>
          <para>Alcuni port permettono (o perfino richiedono) l'impostazione
            di alcune opzioni di compilazione che abilitano/disabilitano parti
            dell'applicazione opzionali, settaggi di sicurezza, e altre
            personalizzazioni.  Alcune applicazioni che mi vengono in mente sono
            <filename role="package">www/mozilla</filename>, <filename
              role="package">security/gpgme</filename>, e <filename
              role="package">mail/sylpheed-claws</filename>.  Quando sono
            disponibili simili opzioni viene visualizzato un
            messaggio.</para>
        </note>
      </sect3>

      <sect3>
        <title>Cambiare le Directory dei Port di Default</title>

        <para>Qualche volta &egrave; utile (o necessario) utilizzare
          directory per i distfile e i port diverse da quelle di default.  Le
          variabili <makevar>PORTSDIR</makevar> e <makevar>PREFIX</makevar>
          possono sovrascrivere le directory di default.  Per esempio:</para>

        <screen>&prompt.root; <userinput>make PORTSDIR=/usr/home/example/ports install</userinput></screen>

        <para>compiler&agrave; il port in
          <filename>/usr/home/example/ports</filename> e installer&agrave; ogni
          cosa sotto <filename>/usr/local</filename>.</para>

        <screen>&prompt.root; <userinput>make PREFIX=/usr/home/example/local install</userinput></screen>

        <para>compiler&agrave; in <filename>/usr/ports</filename> ed
          installer&agrave; in
          <filename>/usr/home/example/local</filename>.</para>

        <para>E naturalmente,</para>

        <screen>&prompt.root; <userinput>make PORTSDIR=../ports PREFIX=../local install</userinput></screen>

        <para>&egrave; una combinazione dei due (&egrave; troppo lungo da
          scrivere per intero su questa pagina, ma dovrebbe darti lo stesso
          un'idea generale).</para>

        <para>Alternativamente, queste variabili potrebbero essere settate nel
          tuo ambiente.  Leggi la pagina man della tua shell per sapere come
          fare.</para>
      </sect3>

      <sect3>
        <title>Avere a che Fare con <command>imake</command></title>

        <para>Alcuni port che usano <command>imake</command> (una parte dell'X
          Window System) non funzionano bene con
          <makevar>PREFIX</makevar>, e si ostinano ad installarsi sotto
          <filename>/usr/X11R6</filename>.  In modo analogo, alcuni port di Perl
          ignorano <makevar>PREFIX</makevar> e si installano nell'albero del
          Perl.  Far rispettare a questi port <makevar>PREFIX</makevar> &egrave;
          spesso un lavoro difficile o persino impossibile.</para>
      </sect3>
    </sect2>

    <sect2 id="ports-removing">
      <title>Rimozione dei Port Installati</title>

      <indexterm>
        <primary>port</primary>
        <secondary>rimozione</secondary>
      </indexterm>

      <para>Ora che sai come installare i port, probabilmente ti chiederai come
        rimuoverli, caso mai ne installassi uno e successivamente ti accorgessi
        che hai installato il port sbagliato.  Rimuoveremo il port utilizzato
        nel nostro esempio precedente (che era <command>lsof</command> se non
        sei stato attento).  Come con l'installazione dei port, la prima cosa
        che devi fare &egrave; andare nella directory del port,
        <filename>/usr/ports/sysutils/lsof</filename>.  Dopo aver cambiato
        directory, sei pronto per disinstallare <command>lsof</command>.
        Questo viene fatto con il comando
        <command>make deinstall</command>:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/lsof</userinput>
&prompt.root; <userinput>make deinstall</userinput>
===&gt;  Deinstalling for lsof-4.57</screen>

      <para>&Egrave; stato abbastanza facile.  In questo modo hai rimosso
        <command>lsof</command> dal tuo sistema.  Se volessi reinstallarlo, puoi
        farlo lanciando <command>make reinstall</command> dalla directory
        <filename>/usr/ports/sysutils/lsof</filename>.</para>

      <para>Le sequenze <command>make deinstall</command> e <command>make
          reinstall</command> non funzionano pi&ugrave; una volta che hai dato
        un <command>make clean</command>.  Se vuoi disinstallare un port dopo un
        <command>make clean</command>, usa &man.pkg.delete.1; come
        discusso nella <link linkend="packages-using">sezione del Manuale
          riguardante i Package</link>.</para>
    </sect2>

    <sect2 id="ports-disk-space">
      <title>Port e Spazio su Disco</title>

      <indexterm>
        <primary>port</primary>
        <secondary>spazio su disco</secondary>
      </indexterm>

      <para>Usando la collezione dei port puoi facilmente esaurire lo spazio del
        tuo disco.  Per questa ragione dovresti sempre ricordarti di ripulire
        le directory di lavoro dei port usando l'opzione <command>make
          <makevar>clean</makevar></command>.  Questo rimuover&agrave; la
        directory <filename>work</filename> usata per la compilazione ed
        l'installazione del port.  Inoltre puoi rimuovere i file tar dalla
        directory <filename>distfiles</filename>, e rimuovere i port installati
        che non sono pi&ugrave; utilizzati.</para>

      <para>Alcuni utenti limitano le categorie dei port mettendo un elemento
        nel file <filename>refuse</filename>.  In questo modo, quando viene
        eseguita l'applicazione <application>CVSup</application>, questa non
        scaricher&agrave; i file delle categorie specificate nel file
        <filename>refuse</filename>.</para>
    </sect2>

    <sect2 id="ports-upgrading">
      <title>Aggiornamento dei Port</title>

      <indexterm>
        <primary>portupgrade</primary>
      </indexterm>

      <indexterm>
        <primary>port</primary>
        <secondary>aggiornamento</secondary>
      </indexterm>

      <note>
        <para>Dopo che hai aggiornato la tua collezione dei port, prima di
          tentare di aggiornare un port, dovresti verificare il file
          <filename>/usr/ports/UPDATING</filename>.  Questo file riporta alcuni
          problemi che gli utenti potrebbero incontrare durante l'aggiornamento
          di un port con le relative soluzioni.</para>
      </note>

      <para>Mantenere i tuoi port aggiornati pu&ograve; essere un lavoro noioso.
        Per esempio, per aggiornare dovresti andare nella directory del port,
        compilare il port, disinstallare il vecchio port, installare quello
        nuovo, e quindi ripulire la directory di lavoro.  Immagina di fare
        tutto ci&ograve; per cinque port, noioso vero?  Questo era uno dei
        maggiori problemi per gli amministratori di sistema, e ora abbiamo
        strumenti che fanno questo lavoro per noi.  Per esempio l'utility
        <filename role="package">sysutils/portupgrade</filename> fa tutto
        questo!  Installalo come qualsiasi altro port, usando il comando
        <command>make <makevar>install clean</makevar></command>.</para>

      <para>Ora crea un database con il comando <command>pkgdb -F</command>.
        Verr&agrave; letta la lista dei port installati e verr&agrave; creato
        un file database nella directory <filename>/var/db/pkg</filename>.
        D'ora in avanti, quando esegui <command>portupgrade -a</command>, questo
        legger&agrave; il database e il file dei port
        <filename>INDEX</filename>.  Infine,
        <application>portupgrade</application> incomincer&agrave; a scaricare,
        compilare, effettuare backup, installare, e ripulire i port che devono
        essere aggiornati.  <application>portupgrade</application> &egrave;
        fornito di molte opzioni a seconda dei casi di utilizzo, tra i quali
        uno &egrave; particolarmente importante.</para>

      <para>Se vuoi aggiornare solo una determinata applicazione, e non il
        database completo, usa <command>portupgrade
          <replaceable>pkgname</replaceable></command>, con l'opzione
        <option>-r</option> se <application>portupgrade</application> dovrebbe
        agire anche su tutti i package che dipendono dal dato package, o con
        l'opzione <option>-R</option> per agire su tutti i package richiesti
        dal dato package.  Se vuoi usare i package invece dei port per
        l'installazione, usa l'opzione <option>-P</option> e se vuoi scaricare
        solo i distfile senza compilare o installare nulla, allora usa l'opzione
        <option>-F</option>.  Per maggiori informazioni guarda la pagina man di
        &man.portupgrade.1;.</para>

      <note>
        <para>&Egrave; importante aggiornare in modo regolare il database dei
          package usando il comando <command>pkgdb -F</command> per rattoppare
          eventuali incoerenze, specialmente quando
          <application>portupgrade</application> te lo chiede.  Non interrompere
          <application>portupgrade</application> mentre sta aggiornando il
          database dei package, poich&egrave; ci&ograve; comporter&agrave;
          un database inconsistente.</para>
      </note>

      <para>Esistono altre utility che fanno simili lavori, controlla la
        directory <filename>ports/sysutils</filename> e guarda se ti viene
        qualche idea.</para>
    </sect2>
  </sect1>

  <sect1 id="ports-nextsteps">
    <title>Attivit&agrave; del Dopo Installazione</title>

    <para>Di solito dopo aver installato una nuova applicazione dovresti
      leggere la documentazione che potrebbe essere stata inclusa, modificare
      qualche file di configurazione, assicurarti che l'applicazione parta nella
      fase di avvio (se &egrave; un demone), e cos&igrave via;.</para>

    <para>I passi precisi che devi seguire per configurare un'applicazione
      sono ovviamente diversi da applicazione a applicazione.  Comunque, se hai
      appena installato una nuova applicazione e ti stai chiedendo
      <quote>Cosa faccio ora?</quote> questi consigli potrebbero
      aiutarti:</para>

    <itemizedlist>
      <listitem>
        <para>Usa &man.pkg.info.1; per scoprire quali file sono stati
          installati, e dove sono stati installati.  Per esempio, se hai appena
          installato la versione 1.0.0 di FooPackage, allora questo
          comando</para>

        <screen>&prompt.root; <userinput>pkg_info -L foopackage-1.0.0 | less</userinput></screen>

        <para>mostrer&agrave; tutti i file installati dal package.  Fai molta
          attenzione ai file nelle directory <filename>man/</filename>, che
          sono le pagine man, a quelli nella directory
          <filename>etc/</filename>, che sono i file di configurazione, e a
          quelli in <filename>doc/</filename>, che forniscono una documentazione
          pi&ugrave; esauriente.</para>

        <para>Se non sei sicuro della versione dell'applicazione che hai appena
          installato, questo comando</para>

        <screen>&prompt.root; <userinput>pkg_info | grep <replaceable>foopackage</replaceable></userinput></screen>

        <para>trover&agrave; tutti i package installati che contengono nel nome
          <replaceable>foopackage</replaceable>.  Rimpiazza
          <replaceable>foopackage</replaceable> nella tua riga di comando a
          seconda delle tue necessit&agrave;.</para>
      </listitem>

      <listitem>
        <para>Una volta che hai scoperto dove sono state posizionate le pagine
          man dell'applicazione, esaminale usando &man.man.1;.  Analogamente,
          esamina i file di configurazione d'esempio, ed ogni ulteriore
          documentazione che pu&ograve; essere stata fornita.</para>
      </listitem>

      <listitem>
        <para>Se l'applicazione ha un sito web, cerca della documentazione
          aggiuntiva, le domande pi&ugrave; frequenti (FAQ), ed altro ancora.
          Se non sei sicuro dell'indirizzo del sito web questo potrebbe essere
          presente nell'output di</para>

        <screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen>

        <para>Una riga contenete <literal>WWW:</literal>, se presente, dovrebbe
          fornire l'URL del sito dell'applicazione.</para>
      </listitem>

      <listitem>
        <para>I port che dovrebbero avviarsi in fase di avvio (come i server
          Internet) di solito installano uno script di esempio in
          <filename>/usr/local/etc/rc.d</filename>.  Dovresti verificare questo
          script ed eventualmente modificarlo o rinominarlo.  Vedi la sezione
          <link linkend="configtuning-starting-services">Avvio dei
            Servizi</link> per maggiori informazioni.</para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="ports-broken">
    <title>Avere a che Fare con Port non Funzionanti</title>

    <para>Se ti dovessi imbattere in un port che per te non funziona, ci
      sono alcune cose che puoi fare, tra le quali:</para>

    <orderedlist>
      <listitem>
        <para>Aggiustarlo!  Il <ulink
          url="&url.books.porters-handbook;/index.html">Manuale del
            Porter</ulink> contiene informazioni dettagliate
          sull'infrastruttura dei <quote>Ports</quote> affinch&egrave;
          tu possa aggiustare quel port che occasionalmente non funziona o
          perfino proporne uno tutto tuo!</para>
      </listitem>

      <listitem>
        <para>Brontolare&mdash;<emphasis>solo attraverso email</emphasis>!
          Prima manda una email a colui che mantiene il port.
          Digita <command>make maintainer</command> o leggi il
          <filename>Makefile</filename> per trovare il suo indirizzo email.
          Ricorda di includere nel messaggio il nome e la versione del port
          (manda la riga <literal>&dollar;FreeBSD:</literal> del
          <filename>Makefile</filename>) e l'output che descrive
          l'errore.  Se non ottieni risposta dal maintainer, puoi usare
          &man.send-pr.1; per inoltrare il report del bug.</para>
      </listitem>

      <listitem>
        <para>Prendi il package da un sito FTP vicino a te.  La
          <quote>principale</quote> collezione dei package &egrave; su <hostid
            role="fqdn">ftp.FreeBSD.org</hostid> nella <ulink
            url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/packages/">directory
            dei package</ulink>, ma <emphasis>prima</emphasis> assicurati di
          controllare il tuo mirror locale!  &Egrave; pi&ugrave; probabile
          che funzionino i package rispetto alla compilazione dal sorgente e
          sono anche molto pi&ugrave; sbrigativi.  Usa il programma
          &man.pkg.add.1; per installare i package sul tuo sistema.</para>
      </listitem>
    </orderedlist>
  </sect1>
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->