aboutsummaryrefslogtreecommitdiff
path: root/ru/FAQ/admin.sgml
blob: 9b05d67d52ac6b9ca02799bce5d3f89df952220c (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
<!-- $Id: admin.sgml,v 1.6 1999-05-29 12:57:55 nik Exp $ -->
<!-- The FreeBSD Russian Documentation Project -->

  <sect>
    <heading>Системное администрирование<label id="admin"></heading>

    <sect1>
      <heading>Где расположены файлы конфигурации системы?</heading>

      <p>Для FreeBSD версий от 2.0.5R до 2.2.1R основным конфигурационным
      файлом является <tt>/etc/sysconfig</tt>.  Все параметры указываются
      здесь, а остальные конфигурационные файлы, такие, как
      <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc" name="/etc/rc">
      и <tt>/etc/netstart</tt> просто его используют.

      <p>Посмотрите файл <tt>/etc/sysconfig</tt> и измените значения
      переменных на соответствующие вашей системе.  В файле содержатся
      комментарии, описывающие смысл этих переменных и способ их задания.

      <p>В системах выше 2.2.1 и в 3.0 файл <tt>/etc/sysconfig</tt> сменил
      название на говорящее само за себя <htmlurl 
      url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)" name="rc.conf">,
      синтаксис описания переменных был несколько улучшен.
      <tt>/etc/netstart</tt> тоже был переименован в <tt>/etc/rc.network</tt>,
      так что все конфигурационные файлы теперь можно перенести одной
      командой <tt><htmlurl url="http://www.freebsd.org/cgi/man.cgi?cp"
      name="cp"> /usr/src/etc/rc* /etc</tt>.

      <p><tt>/etc/rc.local</tt> как обычно, можно использовать для запуска
      дополнительных местных служб типа <htmlurl
      url="http://www.freebsd.org/cgi/ports.cgi?^inn" name="INN"> или
      для настройки дополнительных параметров.

      <p>Файл <tt>/etc/rc.serial</tt> предназначен для инициализации
      коммуникационных адаптеров (например, установки характеристик
      работы последовательных портов итд).

      <p>Файл <tt>/etc/rc.i386</tt> предназначен для настройки специфичных
      для архитектуры Intel параметров, таких, как эмуляция iBCS2 или
      характеристик системной консоли ПК.

      <p>Начиная с версии 2.1.0R, вы можете иметь "местные" файлы
      автозапуска в каталоге, указанном в файле <tt>/etc/sysconfig</tt>
      (или <tt>/etc/rc.conf</tt>):

      <verb>
        # Location of local startup files.
        local_startup=/usr/local/etc/rc.local.d
      </verb>

      <p>Каждый файл, оканчивающийся на <tt/.sh/, будет запущен на выполнение
      в алфавитном порядке.

      <p>Если вам нужно добиться определённого порядка выполнения не
      меняя имён файлов, можно использовать схему, в которой для
      упорядочения используются цифры, предшествующие имени файла.

      <verb>
        10news.sh
        15httpd.sh
        20ssh.sh
      </verb>

      <p>Это может выглядеть безобразно (как SysV :-)), но это
      простой и понятный метод для добавления дополнительных служб без
      шаманства с редактированием <tt>/etc/rc.local</tt>.  Многие
      порты/пакаджи предполагают, что каталог
      <tt>/usr/local/etc/rc.d</tt> предназначен для размещения
      запускаемых при загрузке системы скриптов.

    <sect1>
      <heading>Как проще всего добавить пользователя?</heading>

      <p>Используйте команду <htmlurl
      url="http://www.freebsd.org/cgi/man.cgi?adduser" name="adduser">.

      <p>Существует также пакет, называющийся ``<tt/new-account/'',
      написанный на языке Perl Оливьером Робертом (Ollivier Robert).
      Все вопросы направляйте на адрес <tt>&lt;roberto@FreeBSD.ORG&gt;</tt>.
      В настоящий момент это пакет находится в стадии доработки.

      <p>Чтобы удалить пользователя, используйте команду <htmlurl
      url="http://www.freebsd.org/cgi/man.cgi?rmuser" name="rmuser">.

    <sect1>
      <heading>Как добавить в систему новый диск?</heading>

      <p>Обратитесь к Руководству по форматированию дисков на сервере
      <url url="../../tutorials/diskformat/" name="www.freebsd.org">.

    <sect1>
      <heading>
        Как использовать устройство для чтения сменных дисков?
      </heading>

      <p>Каким бы ни было это устройство, типа ZIP, EZ (или даже обычным
      дисководом, если вы хотите его использовать) или каким-то
      другим, как только оно будет установлено и распознано
      системой, и вы вставите в него картридж/дискету/что-там-ещё, всё
      будет выглядеть примерно одинаково.

      <p><label id="disklabel">(этот раздел опирается на <url
      url="http://www.vmunix.com/mark/FreeBSD/ZIP-FAQ.html"
      name="FAQ по устройствам ZIP"> Марка Мэйо (Mark Mayo))

      <p>Если это устройство ZIP или обычный дисковод, и у вас уже есть
      файловая система DOS на дискетах, то вы можете нспользовать команду
      типа:

      <verb>
        mount -t msdos /dev/fd0c /floppy
      </verb>

      <p>для обычных дискет, или

      <verb>
        mount -t msdos /dev/sd2s4 /zip
      </verb>

      <p>для дискет ZIP со стандартной конфигурацией.

      <p>Для других дисков посмотрите их параметры с помощью
      <tt/fdisk/ или <tt>/stand/sysinstall</tt>.

      <p>Остальные примеры даны для привода ZIP на sd2, третьем диске SCSI.

      <p>Если это дискета или сменный диск, который будет использоваться для
      обмена информацией с другими людьми, хорошой идеей будет помещение туда
      файловой системы BSD.  Вы получите поддержку длинных имён файлов,
      увеличение производительности по крайней мере в два раза и гораздо
      большую надёжность.  Первым делом вам снова будет нужно выполнить
      разбиение диска на разделы/файловые системы.  Вы можете
      воспользоваться утилитой <htmlurl
      url="http://www.freebsd.org/cgi/man.cgi?fdisk" name="fdisk"> либо
      <tt>/stand/sysinstall</tt>, а в случае небольшого диска, на котором
      не нужно располагать несколько операционных систем, просто сотрите
      таблицу разделов (слайсов) FAT и используйте разбиение на разделы BSD.

      <verb>
        dd if=/dev/zero of=/dev/rsd2 count=2
        disklabel -Brw sd2 auto
      </verb>

      <p>Вы можете использовать disklabel или <tt>/stand/sysinstall</tt> для
      создания нескольких разделов BSD.  Вам наверняка придётся это сделать,
      если вы станете добавлять место для раздела подкачки на винчестере,
      хотя это не имеет отношения к устройствам типа ZIP.

      <p>В итоге вы должны создать новую файловую систему (в этом примере
      она занимает весь наш диск ZIP):

      <verb>
        newfs /dev/rsd2c
      </verb>

      <p>и смонтировать её:

      <verb>
        mount /dev/sd2c /zip
      </verb>

      <p>Хорошо ещё добавить строку типа следующей в файл
      <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fstab"
      name="/etc/fstab">, чтобы в будущем можно было просто давать команду
      "mount /zip":

      <verb>
        /dev/sd2c /zip ffs rw,noauto 0 0
      </verb>

    <sect1>
      <heading>Как смонтировать вторичный раздел DOS?</heading>

      <p>Вторичные разделы DOS находятся после ВСЕХ первичных разделов.
      Например, если раздел "E" является вторым разделом DOS на
      втором диске SCSI, вам нужно создать специальные файлы для пятого
      "слайса" в каталоге /dev, затем смонтировать /dev/sd1s5:

      <verb>
        # cd /dev
        # ./MAKEDEV sd1s5
        # mount -t msdos /dev/sd1s5 /dos/e
      </verb>

    <sect1>
      <heading>
        Можно ли смонтировать другие файловые системы?
      </heading>

      <p>Компакт-диски с файловой системой UFS от <bf/ Digital UNIX/
      могут быть замонтированы без всяких проблем.  Монтирование файловых
      систем Digital UNIX или других систем, поддерживающих UFS, может быть
      более сложным, в зависимости от особенностей разбиения диска конкретной
      операционной системой.

      <p><bf/ Linux/: Версии 2.2 и выше имеют поддержку разделов <bf/ext2fs/.
      За дополнительной информацией обратитесь к страницам справочника по
      команде <htmlurl url="http://www.freebsd.org/cgi/man.cgi?mount_ext2fs"
      name="mount_ext2fs">.

      <p><bf/ NT/: Существует драйвер, позволяющий под FreeBSD иметь
      доступ к NTFS в режиме "только для чтения".  Посмотрите учебник от
      Марка Овенса (Mark Ovens) по адресу <htmlurl
      url="http://www.users.globalnet.co.uk/~markov/ntfs_install.html"
      name="http://www.users.globalnet.co.uk/~markov/ntfs_install.html">.

      <p>Нас интересует любая дополнительная информация по этому вопросу.

    <sect1>
      <heading>
        Как можно использовать загрузчик NT для запуска FreeBSD?
      </heading>

      <p>Идея заключается в копировании первого сектора корневого раздела
      FreeBSD в файл, находящийся в разделе DOS/NT.  Предположим, что
      вы назвали этот файл <tt>c:&bsol;bootsect.bsd</tt> (по аналогии с
      <tt>c:&bsol;bootsect.dos</tt>), после чего можете отредактировать
      файл <tt>c:&bsol;boot.ini</tt>, чтобы он выглядел примерно так:

      <verb>
        [boot loader]
        timeout=30
        default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
        [operating systems]
        multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
        C:\BOOTSECT.BSD="FreeBSD"
        C:\="DOS"
      </verb>

      <p>Здесь предполагается, что DOS, NT, FreeBSD или другая операционная
      система были установлены в их соответствующие разделы fdisk на 
      <bf/одном и том же/ диске.  В моём случае DOS &amp; NT находятся
      на первом разделе fdisk, а FreeBSD на втором.  Я также проинсталлировал
      FreeBSD для загрузки с её раздела, а <bf/не/ из MBR.

      <p>Смонтируйте дискету в формате DOS (если вы используете NTFS) или
      раздел FAT, скажем, в каталог <tt>/mnt</tt>.

      <verb>
        dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1
      </verb>

      <p>Перезапустите DOS или NT.  Пользователи NTFS должны скопировать
      файл <tt/bootsect.bsd/ и/или <tt/bootsect.lnx/ с дискеты на диск
      <tt/C:&bsol;/.  Измените атрибуты (права) на файл <tt/boot.ini/
      следующим образом:

      <verb>
        attrib -s -r c:\boot.ini
      </verb>

      <p>Отредактируйте этот файл, добавив соответствующие строки из
      примерного <tt/boot.ini/ выше, и восстановите атрибуты:

      <verb>
        attrib -r -s c:\boot.ini
      </verb>

      <p>Если FreeBSD загружается из MBR, восстановите его командой DOS
      ``<tt/fdisk/'' после того, как переконфигурировали их для загрузки с
      их родных разделов.

    <sect1>
      <heading>
        Как загрузить FreeBSD и Linux с помощью LILO?
      </heading>

      <p>Если у вас установлены FreeBSD и Linux на одном и том же диске,
      следуйте указаниям по установке LILO о загрузке не-Linux операционных
      систем.  Они сводятся к следующему:

      <p>Загрузите Linux, и добавьте слеующие строки в файл
      <tt>/etc/lilo.conf</tt>:
      <verb>
      other=/dev/hda2
	      table=/dev/hda
	      label=FreeBSD
      </verb>
      (здесь вы предполагаем, что слайс с FreeBSD известен Linux как
      <tt>/dev/hda2</tt>; измените эту строку в соответствии с вашей 
      конфигурацией).  Затем достаточно будет запустить <tt>lilo</tt>,
      войдя в систему администратором.

      <p>Если FreeBSD располагается на другом диске, вам нужно добавить
      строчку ``<tt>loader=/boot/chain.b</tt>'' в конфигурационный файл
      LILO.  Например:
      <verb>
      other=/dev/sdb4
	      table=/dev/sdb
	      loader=/boot/chain.b
	      label=FreeBSD
      </verb>

      <p>В некоторых случаях для успешной загрузки со второго диска вам
      может потребоваться указать номер диска BIOS загрузчику FreeBSD.
      Например, если диск SCSI с FreeBSD определяется BIOS как диск 1,
      в приглашении загрузчика FreeBSD нужно указать:
      <verb>
      Boot: 1:sd(0,a)/kernel
      </verb>

      <p>Во FreeBSD 2.2.5 и выше вы можете настроить <htmlurl 
      url="http://www.freebsd.org/cgi/man.cgi?boot(8)" name="boot(8)">
      на автоматическое принятие таких параметров во время загрузки.

      <p>В документе <htmlurl 
      url="http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+FreeBSD.html"
      name="Linux+FreeBSD mini-HOWTO"> содержится много информации,
      касающейся взаимодействия FreeBSD и Linux.

    <sect1>
      <heading>
        Как загрузить FreeBSD и Linux с помощью BootEasy?
      </heading>

      <p>Установите LILO в начало загрузочного раздела Linux, а не в
      Master Boot Record.  После этого можно запустить LILO из BootEasy.

      <p>Это рекомендуется сделать в любом случае при одновременном
      использовании Windows-95 и Linux, чтобы упростить восстановление
      работоспособности Linux после переинсталляции Windows95 (которая
      является Недоброжелательной Операционной Системой и не терпит
      присутствия других операционных систем в Master Boot Record).

    <sect1>
      <heading>
        Не угрожает ли режим ``dangerously dedicated'' моему здоровью?
      </heading>

      <p><label id="dedicate">В процессе установки вы можете выбрать два
      различных метода разбиения вашего диска.  По умолчанию это делается
      в режиме совместимости с другими операционными системами на этой же
      машине с использованием записей в таблице разделов fdisk (то, что
      называется ``слайсом'' во FreeBSD), со слайсом (разделом), выделенным
      FreeBSD.  Опционально, вы можете выбрать установку менеджера
      загрузки для переключения между операционными системами.  Либо вы
      можете выделить диск полностью под FreeBSD, не заботясь о совместимости
      с другими операционными системами.

      <p>Почему же этот режим называется ``dangerous''? Дело в том, что
      диск в этом режиме не будет содержать того, что обычные утилиты для
      ПК распознают как таблицу разделов.  В зависимости от того, насколько
      хорошо они написаны, они могут сообщить вам об этом, как только
      обнаружат такой диск, или, что гораздо хуже, могут запортить загрузчик
      BSD, даже не спрашивая и не сообщая об этом.  К тому же известно, что
      разметка диска в режиме ``dangerously dedicated'' вводит в заблуждение
      BIOS многих производителей, включая AWARD (которые используются в
      компьютерах HP Netserver, Micronics и многих других) и Symbios/NCR
      (производителя популярных SCSI-контроллеров серии 53C8xx).  И это не
      полный список, есть ещё другие производители.  Симптомами подобных
      проблем является сообщение "read error", выводимое загрузчиком FreeBSD,
      когда он не может найти сам себя, а также зависания системы при загрузке.

      <p>Тогда зачем вообще нужен этот режим?  Он экономит всего лишь
      несколько килобайт дискового пространства и может вызвать серьёзные 
      проблемы при новой инсталляции.  Причиной появления этого режима
      является желание избежать появления одной из самых распространённых
      проблем, с которой сталкиваются новички - соответствие параметров
      BIOS и реальных параметров диска.

      <p>``Параметры'' диска являются устаревшей концепцией, но она лежит
      в основе работы BIOS с диском.  Когда программа установки FreeBSD
      создаёт слайсы, она записывает их расположение в соответствии с тем,
      как с ними будет работать BIOS.  Если это делается неправильно, вы не
      сможете выполнить загрузку системы.

      <p>Режим ``dangerously dedicated'' пытается обойти это, упрощая решение
      данной проблемы.  Иногда он делает это правильно.  Однако это значит,
      что его нужно использовать только как последнюю альтернативу - есть
      способы получше, решающие проблему в 99 случаях из 100.

      <p>Итак, как избежать использования режима ``DD'' во время установки?
      Сначала запишите параметры диска, которые сообщает BIOS.  Вы можете
      выяснить это, заставив ядро вывести эти параметры при загрузке, указав
      ``-v'' в приглашении ``boot:'', или используя ``boot -v'' в загрузчике.
      Перед тем, как запустится программа установки, ядро выведет параметры,
      используемые BIOS.  Не волнуйтесь - подождите запуска программы
      установки, а затем воспользуйтесь скроллингом, чтобы посмотреть
      значения этих параметров.  Как правило, BIOS нумерует диски в том же
      порядке, что и FreeBSD, сначала IDE, затем SCSI.
       
      <p>Когда вы разбиваете диск на слайсы, проверьте, что параметры диска,
      выводимые в окне программы FDISK, корректны (то есть они соответствуют
      параметрам BIOS); если это не так, воспользуйтесь командой ``g'', чтобы
      их исправить.  Вы можете это сделать, если на диске нет абсолютно
      ничего или если этот диск был перенесён с другой системы.  Заметьте,
      что это касается только загрузочного диска; FreeBSD прекрасно разберётся 
      с остальными дисками, которые могут у вас быть.

      <p>Как только вы добились соответствия параметров диска в BIOS и
      FreeBSD, скорее всего, проблем у вас больше не будет, и использовать
      режим ``DD'' не потребуется.  Если, однако, страшной сообщение
      ``read error'' продолжает появляться при загрузке, самое время
      перекреститься и попробовать этот режим - вам больше нечего терять.
     
      <p>Чтобы вернуть диск из режима ``dangerously dedicated'' к
      нормальному режиму использования, есть два способа. Первый заключается
      в том, что вы записываете достаточное количество байтов NULL поверх
      MBR, чтобы любой инсталлятор думал, что это чистый диск. Это можно
      сделать, например, командой

      <verb>
        dd if=/dev/zero of=/dev/rsd0 count=15
      </verb>

      <p>Другой способ - недокументированной командой DOS

      <verb>
        fdisk /mbr
      </verb>

      <p>проинсталлировать новую MBR, удалив загрузчик BSD.

    <sect1>
      <heading>
        Как добавить дополнительную виртуальную память?
      </heading>

      <p>Наилучший способ - увеличить размер раздела подкачки, может быть,
      добавив для этого ещё один диск.  Общим правилом является выбор
      размера виртуальной памяти, в два раза превышающий объём физической
      памяти.  Однако, если у вас очень мало физической памяти, этот объём
      гораздо больше.  Хорошей практикой является задание достаточного
      объёма виртуальной памяти в ожидании добавления физической памяти,
      чтобы потом не испытывать трудностей.

      <p>Перенос виртуальной памяти на отдельный диск увеличивает
      быстродействие системы по сравнению с добавлением виртуальной памяти
      на том же диске.  Например, компиляция исходных текстов происходит
      быстрее, если они находятся не на том же диске, что и раздел подкачки.
      Особенно это заметно для дисков SCSI.

      <p>Если у вас имеется несколько дисков, размещение раздела подкачки
      на каждом из них, даже на рабочем диске, обычно бывает полезно.
      Как правило, каждый быстрый диск в вашей системе должен иметь раздел
      подкачки.  FreeBSD поддерживает по умолчанию до 4 устройств подкачки с
      чередованием.  При задании нескольких разделов подкачки вам захочется
      сделать их одинакового размера, однако иногда первичный раздел подкачки
      делается несколько больше для того, чтобы он мог поместить аварийный
      образ ядра.  Размер вашего первичного раздела подкачки должен по крайней 
      мере быть равным объёму физической памяти, чтобы поместить аварийный
      образ ядра.

      <p>Диски IDE не позволяют реализовать одновременный доступ к обоим
      дискам по одному каналу (FreeBSD не поддерживает режим 4, так что
      весь ввод/вывод для дисков IDE ``программируется'').  Однако я всё
      равно советую перенести раздел подкачки на отдельный диск.  Диски
      достаточно дешёвы, и экономить тут не на чем.
      
      <p>Использование NFS для размещения раздела подкачки рекомендуется
      только в случае, если у вас нет локального диска.  Подкачка поверх
      NFS медленна и неэффективна в релизах FreeBSD до 4.x, хотя достаточно
      быстра в релизах 4.0 и выше.  Кроме того, её скорость будет ограничена
      реальной пропускной способностью сети и это даст дополнительную нагрузку
      на NFS-сервер.

      <p>Вот пример vn-файла подкачки размером 64Мб (<tt>/usr/swap0</tt>,
      хотя, конечно, вы можете выбрать любое другое имя.

      <p>Удостоверьтесь, что ядро откомпилировано со строкой

      <verb>
        pseudo-device   vn 1   #Vnode driver (turns a file into a device)
      </verb>

      <p>в конфигурационном файле.  Ядро GENERIC её содержит

      <enum>
        <item>создайте vn-устройство

        <verb>
          cd /dev
          sh ./MAKEDEV vn0
        </verb>

        <item>создайте файл подкачки (<tt>/usr/swap0</tt>)

        <verb>
          dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
        </verb>

        <item>Установите корректные права на файл (<tt>/usr/swap0</tt>)

        <verb>
          chmod 0600 /usr/swap0
        </verb>
 
        <item>Включите использование файла подкачки в <tt>/etc/rc.conf</tt>

        <verb>
          swapfile="/usr/swap0"   # Set to name of swapfile if aux swapfile desired.
        </verb>

        <item>перезагрузите машину
      </enum>

      <p>Чтобы включить использование файла подкачки немедленно, наберите

      <verb>
        vnconfig -ce /dev/vn0c /usr/swap0 swap
      </verb>

    <sect1>
      <heading>У меня проблемы с установкой принтера.</heading>

      <p>Обратитесь к соответствующему <url url="../../handbook/printing.html"
      name="разделу"> Руководства, посвящённому печати.  В нём описаны
      решения большинства ваших проблем.

    <sect1>
      <heading>Раскладка клавиатуры неверна.</heading>

      <p>Программа kbdcontrol имеет параметр, задающий файл раскладки.
      Файлы раскладок находятся в каталоге
      <tt>/usr/share/syscons/keymaps</tt>.  Выберите соответствующий вашей
      системе и загрузите его.

      <verb>
        kbdcontrol -l uk.iso
      </verb>

      <p>Программа <htmlurl
      url="http://www.freebsd.org/cgi/man.cgi?kbdcontrol" name="kbdcontrol">
      предполагает использование каталога <tt>/usr/share/syscons/keymaps</tt>
      и расширения <tt/.kbd/.

      <p>Это может быть настроено в файле <tt>/etc/sysconfig</tt> (или
      <htmlurl url="http://www.freebsd.org/cgi/man.cgi?rc.conf(5)"
      name="rc.conf">).  Обратитесь к соответствующим комментариям в этом
      файле.

      <p>В системах 2.0.5R и выше, всё, относящееся к знакогенератору,
      раскладке клавиатуры, находится в каталоге
      <tt>/usr/share/examples/syscons</tt>.

      <p>На данный момент поддерживаются следующие раскладки:

      <itemize>
        <!-- generate by `kbdmap -p' -->
        <item>Belgian ISO-8859-1 
        <item>Brazilian 275 keyboard Codepage 850 
        <item>Brazilian 275 keyboard ISO-8859-1 
        <item>Danish Codepage 865 
        <item>Danish ISO-8859-1 
        <item>French ISO-8859-1 
        <item>German Codepage 850 
        <item>German ISO-8859-1 
        <item>Italian ISO-8859-1 
        <item>Japanese 106 
        <item>Japanese 106x 
        <item>Latin American 
        <item>Norwegian ISO-8859-1 
        <item>Polish ISO-8859-2 (programmer's) 
        <item>Russian Codepage 866 (alternative) 
        <item>Russian koi8-r (shift) 
        <item>Russian koi8-r 
        <item>Spanish ISO-8859-1 
        <item>Swedish Codepage 850 
        <item>Swedish ISO-8859-1 
        <item>Swiss-German ISO-8859-1 
        <item>United Kingdom Codepage 850 
        <item>United Kingdom ISO-8859-1 
        <item>United States of America ISO-8859-1 
        <item>United States of America dvorak 
        <item>United States of America dvorakx 
      </itemize>

    <sect1>
      <heading>Не получается заставить работать дисковые квоты.</heading>

      <p>
      <enum>
        <item>Не включайте квотирование на '/',

        <item>Помещайте файл с квотами в ту файловую систему, которую
        он обслуживает, то есть:

        <verb>
          ФС      ФАЙЛ КВОТ
          /usr    /usr/admin/quotas
          /home   /home/admin/quotas
          ...
        </verb>
      </enum>

    <sect1>
      <heading>Что не так с устройством ccd?</heading>

      <p>Симптом выглядит так:

      <verb>
        # ccdconfig -C
        ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
        #
      </verb>

      <p>Это сообщение обычно выдаётся, когда вы пытаетесь объединить разделы
      'c', по умолчанию имеющие тип 'unused'.  Драйвер ccd требует, чтобы
      используемые разделы имели тип FS_BSDFFS.  Отредактируйте метки тех
      дисков, которые вы хотите использовать, сменив типы разделов на 
      '4.2BSD'.

    <sect1>
      <heading>
        Почему невозможно отредактировать метку диска ccd?
      </heading>

      <p>Симптом выглядит так:

      <verb>
        # disklabel ccd0
        (здесь выводится информация о диске, пробуем отредактировать метку)
        # disklabel -e ccd0
        (редактирование, сохранение, выход)
        disklabel: ioctl DIOCWDINFO: No disk label on disk;
        use "disklabel -r" to install initial label
        #
      </verb>

      <p>Это происходит из-за того, что метка диска, возвращаемая ccd, на
      самом деле 'ненастоящая', не соответствующая реально располагающейся
      на диске.  Вы можете решить эту проблему, явно записав эту метку
      обратно следующим образом:

      <verb>
        # disklabel ccd0 > /tmp/disklabel.tmp
        # disklabel -Rr ccd0 /tmp/disklabel.tmp
        # disklabel -e ccd0
        (теперь это будет работать)
      </verb>

    <sect1>
      <heading>Поддерживает ли FreeBSD вызовы IPC из System V?</heading>

      <p>Да, FreeBSD поддерживает IPC из System V, а именно совместно
      используемую память, сообщения и семафоры.  Чтобы они работали, вам
      нужно добавить следующие строки в файл конфигурации ядра.

      <verb>
        options    SYSVSHM
        options    "SHMMAXPGS=64"   # 256Kb of sharable memory
        options    SYSVSEM          # enable for semaphores
        options    SYSVMSG          # enable for messaging
      </verb>

      <p>Перекомпилируйте и проинсталлируйте ядро.

      <p><bf/ЗАМЕЧАНИЕ:/ Вам может потребоваться увеличить значение
      константы SHMMAXGS на что-то большее, типа 4096 (16М!), если вы
      собираетесь ипользовать GIMP.  256Кб достаточно для работы X11R6.

    <sect1>
      <heading>
        Как настроить sendmail для доставки почты по UUCP?
        <label id="uucpmail">
      </heading>

      <p>Конфигурация sendmail, поставляемая с FreeBSD, предназначена для
      сайтов, которые имеют непосредственный выход в Internet.  Сайты,
      которым требуется обмениваться почтой по UUCP, должны использовать
      другой конфигурационный файл.

      <p>Ковыряние в файле <tt>/etc/sendmail.cf</tt> вручную - это занятие
      для пуристов (и мазохистов).  Восьмая версия sendmail поставляется
      с новой системой генерации конфигурационных файлов с использованием
      препроцессора <htmlurl url="http://www.freebsd.org/cgi/man.cgi?m4"
      name="m4">, в которой ручная конфигурация перенесена на более высокий
      уровень абстракции.  Используйте конфигурационные файлы в каталоге

      <verb>
        /usr/src/usr.sbin/sendmail/cf
      </verb>

      <p>Если вы не собираетесь инсталлировать все исходные тексты системы,
      специально для вас конфигурационные файлы sendmail выделены в отдельный
      дистрибутив.  Если вы имеете смонтированный компакт-диск, выполните
      такую команду:

      <verb>
        cd /usr/src
        tar -xvzf /cdrom/dists/src/ssmailcf.aa
      </verb>

      <p>Не волнуйтесь, эти файлы занимают всего лишь несколько сотен
      килобайт.  Файл <tt>README</tt> в каталоге <tt>cf</tt> может быть
      использован как начальное введение в конфигурацию m4.

      <p>Для доставки почты по UUCP лучше всего использовать
      <em>mailertable</em>.  В этом файле содержится база данных,
      используемая sendmail при маршрутизации почты.

      <p>Первым делом создайте ваш файл <tt>.mc</tt>.  Для таких файлов
      предназначен каталог <tt>/usr/src/usr.sbin/sendmail/cf/cf</tt>.
      Посмотрите в нём, там есть уже несколько примеров.  Положим, что
      вы назвали ваш файл <tt>foo.mc</tt>, всё, что вам нужно для
      перобразования его в нормальный <tt>sendmail.cf</tt>, это:

      <verb>
        cd /usr/src/usr.sbin/sendmail/cf/cf
        make foo.cf
        cp foo.cf /etc/sendmail.cf
      </verb>

      <p>Типичный файл <tt>.mc</tt> выглядит примерно так:

      <verb>
        include(`../m4/cf.m4')
        VERSIONID(`Your version number')
        OSTYPE(bsd4.4)

        FEATURE(nodns)
        FEATURE(nocanonify)
        FEATURE(mailertable)

        define(`UUCP_RELAY', your.uucp.relay)
        define(`UUCP_MAX_SIZE', 200000)

        MAILER(local)
        MAILER(smtp)
        MAILER(uucp)

        Cw    your.alias.host.name
        Cw    youruucpnodename.UUCP
      </verb>

      <p>Параметры <em>nodns</em> и <em>nocanonify</em> подавляют
      использование DNS в процессе доставки.  Строка <em>UUCP_RELAY</em>
      может понадобиться только в очень странных случаях, не
      спрашивайте о них.  Просто поместите здесь имя хоста Internet,
      который может обрабатывать адреса с псевдо-доменами .UUCP; в
      большинстве случаев достаточно поставить сюда имя почтового шлюза
      вашего провайдера.

      <p>Как только вы сгенерируете конфигурационный файл, вам понадобится
      <tt>/etc/mailertable</tt>.  Типичный пример такого файла:

      <verb>
        #
        # makemap hash /etc/mailertable.db < /etc/mailertable
        #
        horus.interface-business.de   uucp-dom:horus
        .interface-business.de        uucp-dom:if-bus
        interface-business.de         uucp-dom:if-bus
        .heep.sax.de                  smtp8:%1
        horus.UUCP                    uucp-dom:horus
        if-bus.UUCP                   uucp-dom:if-bus
        .                             uucp-dom:sax
      </verb>

      <p>Как видите, это часть реально существующего файла.  Первые три
      строки описывают особые случаи, когда почта, направленная на 
      некоторые домены, будет посылаться не по стандартному маршруту, а на
      некоторую близлежащую UUCP-систему для `сокращения' маршрута доставки.
      Следующая строка описывает, что почта на локальный домен в сети
      Ethernet может быть доставлена по SMTP.  В конце файла описаны
      близлежащие системы UUCP в псевдо-домене .UUCP, что позволит
      выполнять правильную доставку почты на адреса
      ``uucp-система!получатель''.  В последней строке всегда присутствует
      одна точка, соответствующая всем остальным доменам, с доставкой по
      UUCP на блишнюю систему UUCP, который является универсальный почтовым
      шлюзом во весь остальной мир.  Все имена узлов после <tt>uucp-dom:</tt>
      должны быть реально существующими узлами UUCP, что можно проверить
      командой <tt>uuname</tt>.

      <p>Как напоминание о том, что этот файл должен быть преобразован
      в формат базы данных DBM перед использованием, командная строка,
      выполняющая это действие, помещена как комментарий в начало
      файла.  При изменении mailertable всегда нужно выполнять эту команду.

      <p>Последняя подсказка: если вы не уверены в правильности настройки
      маршрутизаци почты, используйте sendmail с опцией <tt>-bt</tt>.  Она
      переводит sendmail в режим <em>проверки адресов</em>; введите ``0 '',
      а затем адрес, который вы хотите протестировать на правильность
      маршрутизации.  В последней строке будут указаны используемый
      почтовый агент, хост получателя, с которым будет работать этот агент,
      и (может быть преобразованный) адрес.  Выход их этого режима
      осуществляется по Control-D.

      <verb>
        j@uriah 191% sendmail -bt
        ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
        Enter <ruleset> <address>
        > 0 foo@interface-business.de
        rewrite: ruleset  0   input: foo @ interface-business . de
        ...
        rewrite: ruleset  0 returns: $# uucp-dom $@ if-bus $: foo \
        < @ interface-business . de >
        > ^D
        j@uriah 192%
      </verb>

    <sect1>
      <heading>
        Как настроить почту при коммутируемом соединении с Internet?
        <label id="ispmail">
      </heading>

      <p>Если вам выделен статический IP-адрес, вам не нужно ничего
      менять.  Установите имя вашего хоста в соответствии с выделенным
      именем DNS, а sendmail сделаёт всё остальное.

      <p>Если ваш IP-адрес выделяется динамически при коммутируемом 
      соединении по <bf/ppp/ с Internet, может быть, вам выделен почтовый
      ящик на сервере провайдера.  Предположим, что домен вашего
      провайдера называется <tt/myISP.com/, а ваше имя пользователя
      <tt/user/.  Также положим, что вы назвали вашу машину <tt/bsd.home/ и
      что ваш провайдер сказал, что вы должнв использовать
      <tt/relay.myISP.com/ как почтовый шлюз.
 
      <p>Чтобы забирать почту из вашего почтового ящика, вам нужно установить
      соответствующий агент.  Хорошим агентов является <bf/fetchmail/, так
      как он поддерживает много различных протоколов.  Обычно провайдеры
      предлагают POP3.  Если вы используете user-ppp, вы можете
      автоматически забирать вашу почту при установлении соединения с
      Internet, добавив такую строку в <tt>/etc/ppp/ppp.linkup</tt>:

      <verb>
        MYADDR:
          !bg su user -c fetchmail
      </verb>

      <p>Если вы используете <tt>sendmail</tt> (как показано ниже) для 
      доставки почты для внешних пользователей, поместите команду

      <verb>
	  !bg su user -c "sendmail -q"
      </verb>

      после вышеуказанной строки.  Это заставит sendmail обработать вашу
      очередь почтовых сообщений, как только будет осуществлено подключение
      к сети.
 
      <p>Предположим, что вы имеет учётную запись для <tt/user/ на машине
      <tt/bsd.home/.  В домашнем каталоге пользователя <tt/user/ на машине
      <tt/bsd.home/ создайте такой файл <tt/.fetchmailrc/:

      <verb>
        poll myISP.com protocol pop3 fetchall pass MySecret;
      </verb>

      <p>Излишним будет напоминание о том, что этот файл никому не должен
      быть доступен для чтения, кроме пользователя <tt/user/, потому что
      он содержит пароль <tt/MySecret/ доступа к почтовому ящику.

      <p>Чтобы посылать почту с правильным заголовком <bf/from:/, вы должны
      указать программе sendmail использовать <tt/user@myISP.com/, а не
      <tt/user@bsd.home/.  Вам может понадобиться настроить sendmail для
      посылки всей почты через <tt/relay.myISP.com/, чтобы убыстрить её
      передачу.

      <p>Следующий файл <tt/.mc/ должен подойти:

      <verb>
        VERSIONID(`bsd.home.mc version 1.0')
        OSTYPE(bsd4.4)dnl
        FEATURE(nouucp)dnl
        MAILER(local)dnl
        MAILER(smtp)dnl
        Cwlocalhost
        Cwbsd.home
        MASQUERADE_AS(`myISP.com')dnl
        FEATURE(allmasquerade)dnl
        FEATURE(masquerade_envelope)dnl
        FEATURE(nocanonify)dnl
        FEATURE(nodns)dnl
        define(SMART_HOST, `relay.myISP.com')
        Dmbsd.home
        define(`confDOMAIN_NAME',`bsd.home')dnl
        define(`confDELIVERY_MODE',`deferred')dnl
      </verb>

      <p>В предыдущем разделе описано, как преобразовать файл <tt/.mc/ в
      <tt/sendmail.cf/.  И не забудьте перезапустить sendmail после
      обновления sendmail.cf.

   <sect1>
    <heading>Ой! Я забыл пароль администратора!</heading>

    <p>Без паники!  Просто перезапустите систему, наберите -s в приглашении
    Boot: для входа в однопользовательский режим.  На вопрос об используемой
    оболочке нажмите ENTER.  На приглашение # введите <tt>mount -u /</tt>,
    чтобы перемонтировать корневую файловую систему в режиме чтения/записи,
    затем выполните команду <tt/mount -a/ для монтирования всех файловых
    систем.  Запустите команду <tt/passwd root/, чтобы сменить пароль
    администратора и затем <tt/exit/ для продолжения загрузки.  
    
  <sect1>
   <heading>
     Как запретить перезагрузку по клавишам Control-Alt-Delete?
   </heading>

    <p>Отредактируйте используемый вами для консоли файл раскладки
    клавиатуры, заменив ключевые слова <tt/boot/ на <tt/nop/.  Раскладка
    по умолчанию находится в файле 
    <tt>/usr/share/syscons/keymaps/us.iso.kbd</tt>. 
    Вам может потребоваться явно указать в файле <tt>/etc/rc.conf</tt>
    загрузку этой раскладки, чтобы она действительно поменялась.  Конечно,
    если в вашей стране вы используете другую раскладку, вы должны 
    отредактировать именно её.

  <sect1>
    <heading>Как преобразовать текстовые файлы DOS в формат UNIX?</heading>

     <p>Используйте такую команду:

<verb>
perl -i.bak -npe 's/\r\n/\n/g' file ...
</verb>

     <p>где file - это имя файла(ов) для преобразования.  Преобразование
     делается в том же самом файле, оригинальные файлы сохраняются с
     расширением .bak.

     <p>Это преобразование также можно выполнить с помощью команды
     <url url="/cgi/man.cgi?tr" name="tr(1)">:

<verb>
tr -d '\r' &lt; dos-text-file &gt; unix-file
</verb>

     <p>где dos-text-file - это имя файла, содержащего текст DOS, а
     в файл unix-file будет помещён уже преобразованный текст.  Этот способ
     может работать гораздо быстрее, чем при использовании perl.
     
    <sect1>
      <heading>Как прервать процесс по имени?</heading>

      <p>Используйте команду <url url="/cgi/man.cgi?killall" name="killall(1)">.

    <sect1>
      <heading>
        Почему su выдаёт сообщение о том, что я не вхожу в root ACL?
      </heading>

      <p>Эта ошибка выдаётся распределённой системой аутентификации Kerberos.
      Эта ошибка не фатальна, однако это раздражает.  Вы можете запустит su
      с ключом -K либо деинсталлировать Kerberos, как описано в следующем
      разделе.

    <sect1>
      <heading>Как деинсталлировать Kerberos?</heading>

      <p>Чтобы убрать Kerberos из системы, переинсталлируйте дистрибутив bin
      того релиза, который у вас запущен.  Если у вас есть CDROM, вы можете
      смонтировать компакт-диск (положим, в каталог /cdrom) и выполнить
      команду
    
      <verb>
        cd /cdrom/bin
        ./install.sh
      </verb>

    <sect1>
      <heading>Как добавить в систему дополнительные псевдотерминалы?</heading>

      <p>Если у вас много пользователей, работающий в сеансах telnet, ssh, X
      или в screen, вам можете столкнуться с проблемой нехватки
      псевдотерминалов.  Их количество можно уыеличить следующим образом:

      <enum>
      <item>Откомпилируйте и инсталлируйте новое ядро, в конфигурационный
      файл которого входит строка

      <verb>
        pseudo-device pty 256
      </verb>

      <item>Выполните команду

      <verb>
        # cd /dev
        # ./MAKEDEV pty{1,2,3,4,5,6,7}
      </verb>

      <p>для создания 256 дополнительных файлов устройств для новых терминалов.

      <item>Отредактируйте файл <tt>/etc/ttys</tt>, добавив по строке для
      каждого из 256 терминалов.  Они должны соответствовать формату
      существующих строк, то есть должны выглядеть как

      <verb>
        ttyqc none network
      </verb>

      <p>Порядок назначения букв при записи в виде регулярного выражения имеет
      вид <tt>tty[pqrsPQRS][0-9a-v]</tt>.

      <item>Теперь осталось только перезапустить систему с новым ядром.
      </enum>
 
    <sect1>
      <heading>
        Как перечитать содержимое /etc/rc.conf и перестартовать /etc/rc
        без перезагрузки системы?
      </heading>

      <p>Перейдите в однопользовательский режим, а затем возвратитесь обратно
      в многопользовательский.

      На консоли выполните следующее:

      <verb>
        # shutdown now
        (Замечание: без -r или -h)

        # return
        # exit
      </verb>
      
  </sect>