Часто Задаваемые Вопросы по FreeBSD 2.X, 3.X, 4.X и 5.X

         

Альтернативный метод размещения каталогов


В ответ на вопрос о других методах размещения каталогов могу сказать, что используемая в настоящее схема не претерпела изменений с 1983 года. Эти соглашения были предназначены для оригинальной файловой системы FFS, я никогда их не пересматривал. Эта схема прекрасно работает, позволяя избежать переполнения групп дорожек. Как некоторые из вас замечали, она работает плохо при поиске. Большинство файловых систем создаются из архивов, которые были созданы с глубиной первого поиска (aka ftw). Это приводит к тому, что их каталоги размещаются на нескольких группах дорожек, создавая наихудший случай для последующего поиска глубиной один. Если бы было известно общее количество каталогов, которые должны быть созданы, выходом было бы создание (общее количество / количество групп дорожек) на дорожку группу перед переходом. Обычно это число определяется чисто эвристически. Даже при использовании маленького фиксированное числа, скажем 10, значительно улучшает ситуацию. Чтобы различать операции восстановления от обычных операций (где текущий алгоритм подходит), вы можете использовать объединение в кластеры объёмом до 10, если они делаются в окне, равным 10 секундам. Во всяком случае, я думаю, что это требует некоторых экспериментов.

Кирк МакКузик (Kirk McKusick), Сентябрь 1998



Bibliography


FreeBSD Unleashed, Michael Urban, Brian Tiemann, Sams, 1st Edition, 992, October 2001, ISBN 0-67232-206-4.

4.4BSD System Manager's Manual, Computer Systems Research Group, University of California, Berkeley, O'Reilly and Associates, 1st Edition, June 1994, 804 pages, ISBN 1-56592-080-5.

4.4BSD User's Reference Manual, Computer Systems Research Group, University of California, Berkeley, O'Reilly and Associates, 1st Edition, June 1994, 905 pages, ISBN 1-56592-075-9.

4.4BSD User's Supplementary Documents, Computer Systems Research Group, University of California, Berkeley, O'Reilly and Associates, 1st Edition, June 1994, 712 pages, ISBN 1-56592-076-7.

4.4BSD Programmer's Reference Manual, Computer Systems Research Group, University of California, Berkeley, O'Reilly and Associates, 1st Edition, June 1994, 866 pages, ISBN 1-56592-078-3.

4.4BSD Programmer's Supplementary Documents, Computer Systems Research Group, University of California, Berkeley, O'Reilly and Associates, 1st Edition, June 1994, 596 pages, ISBN 1-56592-079-1.

The Design and Implementation of the 4.4BSD Operating System, M. K. McKusick, Kirk Marshall, Keith Bostic, Michael J Karels, John Quarterman, Addison-Wesley, Reading, 1996, ISBN 0-201-54979-4.



The Design and Implementation of the FreeBSD Operating System, M. K. McKusick, George V. Neville-Neil, Addison-Wesley, Boston, 2004, ISBN 0-201-70245-2.

Unix System Administration Handbook, Evi Nemeth, Garth Snyder, Scott Seebass, Trent R. Hein, John Quarterman, Prentice-Hall, 3rd edition, 2000, ISBN 0-13-020601-6.

The Complete FreeBSD, Greg Lehey, Walnut Creek, 3rd edition, June 1999, 773 pages, ISBN 1-57176-246-9.

The FreeBSD Handbook, FreeBSD Documentation Project, BSDi, 1st Edition, November 1999, 489 pages, ISBN 1-57176-241-8.

[McKusick et al, 1994] Berkeley Software Architecture Manual, 4.4BSD Edition, M. K. McKusick, M. J. Karels, S. J. Leffler, W. N. Joy, R. S. Faber, 5:1-42.

FreeBSD for PC 98'ers (in Japanese), SHUWA System Co, LTD., ISBN 4-87966-468-5 C3055 P2900E.




FreeBSD (in Japanese), CUTT, ISBN 4-906391-22-2.



Complete Introduction to FreeBSD (in Japanese), Shoeisha Co., Ltd, ISBN 4-88135-473-6 P3600E.



Personal UNIX Starter Kit FreeBSD (in Japanese), ASCII, ISBN 4-7561-1733-3 P3000E.



FreeBSD Handbook (Japanese translation), ASCII, ISBN 4-7561-1580-2 P3800E.



FreeBSD mit Methode (in German), Computer und Literature Verlag/Vertrieb Hanser, 1998, ISBN 3-932311-31-0.



FreeBSD install and Utilization Manual (in Japanese), Mainichi Communications Inc..



Building Internet Server with FreeBSD (in Indonesia Language), Elex Media Komputindo, Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo.



The FreeBSD Corporate Networker's Guide, Addison-Wesley.



UNIX in a Nutshell, O'Reilly & Associates, Inc., 1990, ISBN 093717520X.



What You Need To Know When You Can't Find Your Unix System Administrator, O'Reilly & Associates, Inc., 1995, Linda Mui, ISBN 1-56592-104-6.



FreeBSD User's Reference Manual (Japanese translation), Mainichi Communications Inc., Jpman Project, Japan FreeBSD Users Group, 1998, ISBN 4-8399-0088-4 P3800E.



, .



DNS and BIND, O'Reilly & Associates, Inc, ISBN 1-56592-512-2, Paul Albitz Albitz, Cricket Liu, 1998, 3rd.



Sendmail, O'Reilly & Associates, Inc, 1997, 2nd, Brian Costales, ISBN 1-56592-222-0.



Essential System Administration, ?leen Frisch, 2nd, O'Reilly & Associates, 1995, ISBN 1-56592-127-5.



TCP/IP Network Administration, Craig Hunt, 2nd, O'Reilly & Associates, Inc, 1997, ISBN 1-56592-322-7.



Managing NFS and NIS, Hal Stern, O'Reilly & Associates, Inc, 1991, ISBN 0-937175-75-7.



, Jpman Project, Japan FreeBSD Users Group, , 1998, ISBN 4-8399-0109-0 P3300E.



X Window System Toolkit, Digital Press, Paul Asente, ISBN 1-55558-051-3.



C: A Reference Manual, Prentice Hall, 1995, 4th, Samuel P. Harbison, Guy L. Jr. Steele, ISBN 0-13-326224-3.



The C Programming Language, Prentice Hall, 1998, Brian, Kernighan and Dennis Ritchie, ISBN 0-13-110362-9.





Porting UNIX Software, Greg Lehey, O'Reilly & Associates, Inc., 1995, ISBN 1-56592-126-7.



The Standard C Library, Prentice Hall, 1992, P. J. Plauger, ISBN 0-13-131509-9.



Advanced Programming in the UNIX Environment, Addison-Wesley, 1992, W. Richard Stevens, ISBN 0-201-56317-7.



UNIX Network Programming, W. Richard Stevens, Prentice Hall, 1998, 2nd, ISBN 0-13-490012-X.



Writing Serial Drivers for UNIX, Bill Wells, December 1994, Dr. Dobb's Journal, pp68-71, pp97-99.



UNIX System Architecture, Prentice-Hall, Inc, 1990, Prabhat K. Andleigh, ISBN 0-13-949843-5.



Porting UNIX to the 386, William Jolitz, Dr. Dobb's Journal, January 1991-July 1992.



TCP/IP Illustrated, Volume 1: The Protocols, W. Richard Stevens, Addison-Wesley, 1996, ISBN 0-201-63346-9.



Unix Systems for Modern Architectures, Addison-Wesley, Curt Schimmel, 1994, ISBN 0-201-63338-8.



TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain Protocols, Addison-Wesley, 1996, W. Richard Stevens, ISBN 0-201-63495-3.



UNIX Internals -- The New Frontiers, Uresh Vahalia, Prentice Hall, 1996, ISBN 0-13-101908-2.



TCP/IP Illustrated, Volume 2: The Implementation, Gary R. Wright, W. Richard Stevens, 1995, Addison-Wesley, ISBN 0-201-63354-X.



Firewalls and Internet Security: Repelling the Wily Hacker, William R. CHeswick, Steven M. Bellovin, Addison-Wesley, 1995, ISBN 0-201-63357-4.



Practical UNIX Security, Simson Garfinkel, Gene Spafford, 1996, 2nd, O'Reilly & Associates, Inc, ISBN 1-56592-148-8.



PGP Pretty Good Privacy, Simson Garfinkel, O'Reilly & Associates, Inc, 1995, ISBN 1-56592-098-8.



Pentium Processor System Architecture, Don Anderson, Tom Shanley, Addison-Wesley, 1995, 2nd, ISBN 0-201-40992-5.



Programmer's Guide to the EGA, VGA, and Super VGA Cards, Richard F. Ferraro, 3rd, Addison-Wesley, 1995, ISBN 0-201-62490-7.



80486 System Architecture, Tom Shanley, Addison-Wesley, 1995, 3rd, ISBN 0-201-40994-1.



ISA System Architecture, Tom Shanley, Addison-Wesley, 3rd, 1995, ISBN 0-201-40996-8.





PCI System Architecture, Tom Shanley, Addison-Wesley, 1995, 3rd, ISBN 0-201-40993-3.



The Undocumented PC, Frank Van Gilluwe, Addison-Wesley, 1994, ISBN 0-201-62277-7.



Bell System Technical Journal, Unix Time-Sharing System, American Telephone & Telegraph Company, July-August 1978, Vol 57, No 6, Part 2, ISSN0005-8580.



Lion's Commentary on UNIX, John Lion, ITP Media Group, 1996, 6th, ISBN 1573980137.



The New Hacker's Dictionary, Eric S. Raymond, MIT Press, 1996, 3rd, ISBN 0-262-68092-0.



A quarter century of UNIX, Peter H. Salus, Addison-Wesley, 1994, ISBN 0-201-54777-5.



The UNIX-HATERS Handbook, Steven Strassman, Daniel Weise, Simon Garfinkel, IDG Books Worldwide, Inc, 1994, ISBN 1-56884-203-1.



Life with UNIX -- special edition, Don Libes, Sandy Ressler, Prentice-Hall, 1989, ISBN 0-13-536657-7.



The BSD Family Tree, 1997.



Absolute BSD, Michael Lucas, No Starch Press, June 2002, ISBN 1-886411-74-3.



The C/C++ Users Journal, R&D Publications Inc., ISSN 1075-2838.



Sys Admin -- The Journal for UNIX System Administrators, Miller Freeman, Inc, ISSN 1061-2688.

 
Наши благодарности    

BIND (named) работает на порту и на одном из портов с большим номером Что происходит?


Во FreeBSD версий 3.0 и выше используется версия BIND, которая для исходящих запросов использует случайно выбираемый порт с большим номером. Если для исходящих запросов вы хотите использовать порт с номером 53 для работы за межсетевым экраном либо просто для собственного спокойствия, то можете попробовать настроить файл /etc/namedb/named.conf следующим образом:

options { query-source address * port 53; };

Можете заменить символ * некоторым IP-адресом, если хотите настроить все еще жестче.

Кстати, поздравляем. Прекрасно, что вы читаете вывод команды sockstat(1) и обращаете внимание на аномалии!



Часто Задаваемые Вопросы по FreeBSD X, X, X и X


Проект Русской Документации FreeBSD

© 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 The FreeBSD Documentation Project

Этот документ является так называемым FAQ (Frequently Asked Questions), то есть списком Часто Задаваемых Вопросов по FreeBSD версий 2.X, 3.X, 4.X и 5.X. Если не оговорено обратное, предполагается, что все замечания справедливы для версий FreeBSD 2.0.5 и выше. Если вы хотите помочь в составлении этого документа, пошлите письмо в Список рассылки Проекта Документации FreeBSD. Последняя редакция этого документа всегда доступна с . Его также можно получить в виде одного большого HTML-файла по HTTP или в виде обычного текстового файла, файла формата PostScript, PDF или другого формата с FTP-сервера. Вы также можете осуществить в FAQ (на сайте - прим. ред.)

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

Список таблиц

3-1.

12-1.

Список примеров

11-1.

11-2.

11-3.

11-4.

11-5.

11-6.

11-7.

11-8.

   
    Вступление



Часто Задаваемые Вопросы по FreeBSD X, X, X и X


Проект Русской Документации FreeBSD

FreeBSD это зарегистрированная торговая марка Wind River Systems, Inc. Ожидается, что в скором времени это изменится.

UNIX это зарегистрированная торговая марка The Open Group в США и других странах.

Sun, Sun Microsystems, SunOS, Solaris, и Java это торговые марки или зарегистрированные торговые марки Sun Microsystems, Inc. в Соединенных Штатах и других странах.

Apple и QuickTime это торговые марки Apple Computer, Inc., зарегистрированные в США и других странах.

Macromedia и Flash это торговые марки или зарегистрированные торговые марки Macromedia, Inc. в Соединенных Штатах и/или других странах.

Microsoft, Windows, и Windows Media это или зарегистрированные торговые марки или торговые марки Microsoft Corporation в Соединенных Штатах и/или других странах.

PartitionMagic это зарегистрированная торговая марка PowerQuest Corporation в Соединенных Штатах и/или других странах.

Многие из обозначений, используемых производителями и продавцами для обозначения своих продуктов, заявляются как торговые марки. Когда такие обозначения появляются в этой книге, и Проекту FreeBSD известно о торговой марке, к обозначению добавляется знак '™'.

Распространение и использование исходных (SGML DocBook) и 'скомпилированных' форм (SGML, HTML, PDF, PostScript, RTF и прочих) с модификацией или без оной, разрешены при соблюдении следующих соглашений:

Распространяемые копии исходного кода (SGML DocBook) должны сохранять вышеупомянутые объявления copyright, этот список положений и сохранять следующий отказ от права в первых строках этого файла немодифицированным.

Распространяемые копии скомпилированных форм (преобразование в другие DTD, конвертированные в PDF, PostScript, RTF и другие форматы) должны повторять вышеупомянутые объявления copyright, этот список положений и и следующий отказ в документации и/или других материалах, поставляемых с дистрибьюцией.

Важно: ЭТА ДОКУМЕНТАЦИЯ ПОСТАВЛЯЕТСЯ ПРОЕКТОМ ДОКУМЕНТАЦИИ FREEBSD "КАК ЕСТЬ" И ЛЮБЫЕ ЯВНЫЕ ИЛИ НЕЯВНЫЕ ГАРАНТИИ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ НЕЯВНЫМИ ГАРАНТИЯМИ, КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ ОТРИЦАЮТСЯ. НИ В КОЕМ СЛУЧАЕ РЕГЕНТЫ ИЛИ УЧАСТНИКИ НЕ ДОЛЖНЫ БЫТЬ ОТВЕТСТВЕННЫМИ ЗА ЛЮБОЙ ПРЯМОЙ, КОСВЕННЫЙ, СЛУЧАЙНЫЙ, СПЕЦИАЛЬНЫЙ, ОБРАЗЦОВЫЙ ИЛИ ПОСЛЕДУЮЩИЙ УЩЕРБЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ПОСТАВКОЙ ТОВАРОВ ЗАМЕНЫ ИЛИ УСЛУГ; ПОТЕРЮ ДАННЫХ ИЛИ ИХ НЕПРАВИЛЬНУЮ ПЕРЕДАЧУ ИЛИ ПОТЕРИ; ПРИОСТАНОВЛЕНИЕ БИЗНЕСА), И ТЕМ НЕ МЕНЕЕ ВЫЗВАННЫЕ И В ЛЮБОЙ ТЕОРИИ ОТВЕТСТВЕННОСТИ, НЕЗАВИСИМО ОТ КОНТРАКТНОЙ, СТРОГОЙ ОТВЕТСТВЕННОСТИ, ИЛИ ПРАВОНАРУШЕНИИ (ВКЛЮЧАЯ ХАЛАТНОСТЬ ИЛИ ИНЫМ СПОСОБОМ), ВОЗНИКШЕМ ЛЮБЫМ ПУТЕМ ПРИ ИСПОЛЬЗОВАНИИ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ БЫ БЫЛО СООБЩЕНО О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА.

   



Что делать при аварийном остановах системы


[Этот раздел был вырезан из письма, написанного Bill Paul wpaul@FreeBSD.org> в список рассылки freebsd-current Dag-Erling C. Smørgrav des@FreeBSD.org>, который исправил несколько опечаток и добавил комментарии в квадратных скобках]

From: Bill Paul <wpaul@skynet.ctr.columbia.edu> Subject: Re: the fs fun never stops To: Ben Rosengart Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT) Cc: current@FreeBSD.org

Бен Розенгарт отправил письмо, содержащее следующее аварийное сообщение системы]

> Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x40 > fault code = supervisor read, page not present > instruction pointer = 0x8:0xf014a7e5 ^^^^^^^^^^ > stack pointer = 0x10:0xf4ed6f24 > frame pointer = 0x10:0xf4ed6f28 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 80 (mount) > interrupt mask = > trap number = 12 > panic: page fault

[Если] вы увидите такое сообщение, просто его воспроизвести и послать нам не достаточно. Указатель инструкций, выделенный мною, важен, к сожалению, его значение зависит от конфигурации ядра. Другими словами, его значение меняется в зависимости от конкретного ядра, которое вы используете. Если вы используете ядро GENERIC одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую ошибку, но если вы работаете со специально отконфигурированным ядром, то только вы можете сказать нам, где случилась ошибка.

Вот что вы должны сделать:

Запишите значение указателя инструкций. Заметьте, что часть 0x8: в этом случае не важна: нам нужна часть 0xf0xxxxxx.

Когда система перезагрузится, сделайте следующее:

% nm -n /kernel.that.caused.the.panic | grep f0xxxxxx

где f0xxxxxx - это значение указателя инструкций. Однако неприятность заключается в том, что вы не получите точного соответствия, так как в таблице имен ядра для точек входа в функции даны адреса на начало функций, а указатель инструкций будет указывать куда-то внутрь её тела.
Если вы не получили точного соответствия, опустите последнюю цифру в значении указателя инструкций и попробуйте снова, то есть:

% nm -n /kernel.that.caused.the.panic | grep f0xxxxx

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

Зачастую люди приводят подобные аварийные сообщения, на редко кто утруждается привести соответствие указателя инструкций с функцией в таблице символов ядра.

Лучшим способом выяснить причину, вызвавшую аварийный останов, является получение аварийного дампа системы, а затем использование gdb(1) для получения трассировки вызовов в этом дампе.

Во всяком случае, обычно я использую такой способ:

Отредактируйте конфигурационный файл ядра, добавив строку options DDB, если вам зачем-то понадобился встроенный отладчик. (Я использую его в основном для указания точек останова, если подозреваю возникновение бесконечных циклов.)

Выполните config -g KERNELCONFIG для создания каталога построения ядра.

cd /sys/compile/KERNELCONFIG; make

Дождитесь окончания компиляции ядра.

make install

reboot

В процессе выполнения команды make(1) будут построены два ядра, kernel и kernel.debug. kernel будет установлен как /kernel, тогда как kernel.debug может быть использован в качестве источника отладочной информации для gdb(1).

Чтобы включить сброс аварийного дампа, вам нужно отредактировать файл /etc/rc.conf так, чтобы устройство dumpdev указывало на раздел подкачки. В этом случае скрипты rc(8) будут вызывать команду для включения создания аварийных дампов. Вы можете запустить команду dumpon(8) вручную. После аварийной остановки аварийный дамп может быть получен с помощью программы savecore(8) если значение переменной dumpdev было установлено в /etc/rc.conf, скрипты rc(8) запустят savecore(8)

автоматически и поместят аварийный дамп в каталог /var/crash.



Замечание: Аварийные дампы FreeBSD обычно имеют размер, равный физическому объёму оперативной памяти вашей машины. Так что если у вас 64МБ ОЗУ, вы получите дамп размером 64МБ. Поэтому вы должны удостовериться, что в каталоге /var/crash достаточно места для хранения дампа. Либо вы можете вручную запустить savecore(8) и создать аварийный дамп в другом каталоге, где достаточно места. Размер аварийного дампа можно уменьшить, указав в конфигурации ядра options MAXMEM=(размер)

подходящее значение для объёма памяти, которое будет использоваться ядром. Например, если у вас 128 МБ ОЗУ, вы можете ограничить использование памяти ядром 16 мегабайтами, так что размер аварийного дампа будет равен 16МБ, а не 128.

Как только вы получили аварийный дамп, вы можете выполнить трассировку вызовов с помощью таким образом:

% gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0

(gdb) where

Заметьте, что при этом может быть выведено несколько экранов информации; в идеале вы должны использовать script(1) для их перехвата. При использовании необработанного образа ядра со всей отладочной информацией может быть найдена конкретная строка исходного текста ядра, при достижении которой случилась аварийная остановка. Для выяснения последовательности событий, приведших к аварийному останову, обычно читается трассировка стека снизу вверх. Вы можете также использовать для вывода значений различных переменных или структур, чтобы выяснить состояние системы во время аварии.

Теперь, если вы в самом деле душевнобольной и у вас есть второй компьютер, то можете настроить для удалённой отладки, так, что сможете использовать gdb(1) на одном компьютере, чтобы отладить ядро на другом, включая использование точек останова, пошагового прохода по коду ядра, всё как с обычной прикладной программой. Я пока с этим не игрался, так как не часто имею возможность поставить две машины одну напротив другой для отладки.

[Билл (Bill) добавил: "Я забыл обратить ваше внимание на одну вещь: если у вас включена поддержка DDB и ядро переходит в режим отладки, вы можете намеренно вызвать аварийный останов (и создание аварийного дампа), набрав 'panic' в командной строке ddb.Этот процесс может снова вызвать отладчик. В этом случае наберите 'continue' и процесс будет завершён созданием аварийного дампа." -ed]


Что это за пользователь toor с UID Я подвергся взлому?


Не волнуйтесь, toor является ``альтернативным'' административным пользователем (toor - это root, записанный задом наперед). Раньше он создавался при установке командного интерпретатора bash(1), однако теперь он создается по умолчанию. Его предполагается использовать с нестандартным командным интерпретатором, так чтобы вам не нужно было менять используемый по умолчанию командный процессор для пользователя root. Это важно, так как оболочки, не являющиеся частью дистрибутива системы (например, командный процессор, устанавливаемый из портов или пакаджей), скорее всего, устанавливаются в каталог /usr/local/bin, который по умолчанию располагается в другой файловой системе. Если командный процессор для пользователя root располагается в /usr/local/bin, и /usr (или другая файловая система, содержащая /usr/local/bin) по какой-либо причине не смонтирована, то root не сможет войти в систему для исправления этой проблемы (хотя если вы перезагрузите систему в однопользовательский режим, вы сможете указать командный процессор).

Некоторые используют toor для выполнения повседневных административных работ с нестандартным командным процессором, оставляя root со стандартной оболочкой для работы в однопользовательском режиме или выполнения аварийных работ. По умолчанию вы не сможете войти в систему как пользователь toor, потому что у него нет пароля, так что, если вы хотите его использовать, зарегистрируйтесь в системе как root и задайте пароль для пользователя toor.



Что это за сообщения ``arp: unknown hardware address format''?


Это означает, что какое-то устройство в вашей локальной сети использует MAC-адрес в формате, не распознаваемом FreeBSD. Скорее всего, это происходит из-за того, что кто-то в сети экспериментирует с сетевым адаптером. Чаще всего это происходит в сетях с кабельными модемами. Это безобидно и не должно влиять на производительность машины с FreeBSD.



Что мне нужно иметь для запуска FreeBSD?


Вам нужен персональный компьютер не ниже 386, с 5 или более мегабайтами ОЗУ и по крайней мере 60Мб свободного пространства на винчестере. Система может работать с дешёвым графическим адаптером MDA, но для работы с X11R6 требуется адаптер стандарта VGA или лучше.

Обратитесь также к .



Что мне нужно сделать, чтобы перевести документацию FreeBSD на родной язык?


Ознакомьтесь с из FreeBSD Documentation Project Primer.



Что не так с устройством ccd?


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

# ccdconfig -C

ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format

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



Что означает сокращение BSD?


Это сокращение значит что-то на секретном языке, который могут знать только посвящённые. Это нельзя перевести один к одному, однако достаточно сказать, что перевод с BSD - это что-то между ``Команда Formula-1'', ``Пингвины - это вкусные плюшки'' и ``Мы прикольнее, чем Linux''. :-)

Если серьёзно, то BSD является сокращением от ``Berkeley Software Distribution'', названия, которое было выбрано Berkeley CSRG (Computer Systems Research Group) для их дистрибутива Unix.



Что означает сокращение POLA?


Принцип Наименьшего Удивления (Principle of Least Astonishment). Он означает, что при дальнейшем развитии FreeBSD изменения, видимые пользователю, максимально не должны быть для него сюрпризом. К примеру, произвольная перестановка переменных начальной загрузки в /etc/defaults/rc.conf нарушает POLA. Разработчики следуют POLA, когда планируют внести изменения в системе, которые будут видны пользователю.



Что означает сообщение ``ahc brkadrint, Illegal Host Access at seqaddr '


Это - результат конфликта со SCSI-адаптером Ultrastor.

Во время загрузки войдите в меню конфигурации ядра и выключите устройство uha0, являющееся источником этой проблемы.



Что означает сообщение ``No route to host''?


Эта ошибка появляется из-за отсутствующего раздела

MYADDR: delete ALL add 0 0 HISADDR

в файле /etc/ppp/ppp.linkup. Он необходим, если ваш IP адрес выделяется динамически или адрес маршрутизатора вам не известен. Если вы используете интерактивный режим, вы можете набрать следующие команды после входа в пакетный режим (пакетный режим идентифицируется заглавными буквами PPP в приглашении):

delete ALL add 0 0 HISADDR

Обратитесь к разделу Руководства за подробной информацией.



Что означает сообщение ``stray IRQ''?


Потерянные IRQ являются признаком странностей в работе аппаратных IRQ, в основном оборудования, которое удаляет свои запросы на прерывание посреди цикла подтверждения запроса на прерывание.

Имеется три варианта работы с такими ситуациями:

Примириться с сообщениями. В любом случае подавляются все сообщения, кроме каждых первых 5 на IRQ.

Убрать предупреждающие сообщения, изменив параметр 5 на 0 в функции isa_strayintr(), так что все предупреждения будут подавлены.

Избавиться от предупреждений, установив параллельный порт, использующий IRQ 7 и драйвер PPP для него (это есть на большинстве систем), и установив диск IDE или другое оборудование, использующее IRQ 15 и подходящий драйвер.



Что означает сообщение ``swap_pager: indefinite wait buffer:''?


Это значит, что процесс пытается сбросить страницу памяти на диск, и попытка сделать это оканчивается неудачно вот уже в течение более чем 20 секунд. Это может быть вызвано испорченными блоками на диске, кабелями, подключением или другим оборудованием ввода/вывода. Если диск сам по себе на самом деле испорчен, вы также увидите ошибки работы с диском в /var/log/messages и при работе команды dmesg. В противном случае проверьте кабели и подключения.



Что означает термин sandbox (песочница)?


``Sandbox'' - это термин, используемый при обеспечении безопасности. Он имеет два значения:

Процесс, помещённый внутрь некоторых виртуальных стен, которые предназначены для того, чтобы предотвратить взлом всей системы в результате взлома этого конкретного процесса.

Говорится, что процесс может ``играть'' в границах этих стен. Что бы этот процесс ни делал, он эти стены разрушить не может, поэтому вам не нужен его особый аудит, чтобы с уверенностью сказать, насколько его работа безопасна для системы.

Стеной может служить, например, идентификатор пользователя. Вот определение, даваемое на страницах справочника по named и часто используемое при обсуждении безопасности систем.

Рассмотрим, например, службу ntalk (смотрите /etc/inetd.conf). Раньше эта служба запускалась с идентификатором пользователя root, а сейчас - tty. Пользователь tty - это та песочница, которая осложняет взлом системы через ntalk посредством использования этого идентификатора пользователя.

Процесс, помещённый внутрь симулируемой машины. Это даёт больший уровень безопасности. В общем это означает, что некто, взломавший процесс, может думать. что может сломать и систему в целом, однако фактически может сломать только симулятор этой машины и не может модифицировать никаких реальных данных.

Самым распространённым способом достигнуть такого результата является построение имитирующего окружения в каталоге и затем запуск процессов в этом каталоге через chroot (т.е. задав этот каталог в качестве / для этого процесса, а не реальный / всей системы).

Другим часто используемым методом является монтирование низлежащей файловой системы в режиме "только для чтения" и затем создание уровня файловой системы поверх неё, что даёт процессу видимость доступа по записи на ту файловую систему. Процесс будет полагать, что может записывать в те файлы, но это будет единственный процесс, который увидит результат - другие процессы не будут этого делать, ни в коем случае.

Попытка сделать такой тип песочницы настолько прозрачна, что пользователь (или взломщик) даже не поймёт, что он в ней находится.

В Unix реализованы два типа ``песочниц''. Один на уровне процесса, и один на уровне идентификаторов пользователей.

Каждый процесс в Unix полностью защищён от других процессов. Никакой процесс не может модифицировать адресное пространство другого процесса. Это отличается от Windows, где процесс может легко записать что-либо в адресное пространство другого процесса, что приводит к аварийным ситуациям.

В Unix каждым процессом владеет некоторый идентификатор пользователя. Если этот пользователь не root, он ограждает процесс от других, владельцами которых являются другие пользователи. Этот идентификатор используется также для защиты данных на диске.



Что означают ошибки CCP


В файле протокола появляются такие сообщения об ошибках:

CCP: CcpSendConfigReq CCP: Received Terminate Ack (1) state = Req-Sent (6)

Это происходит, если ppp(8) пытается установить компрессию типа Predictor1, а противоположная сторона не хочет устанавливать никакой компрессии. Эти сообщения безобидны, но если вы хотите от них избавиться, вы можете запретить компрессию Predictor1 и у себя тоже:

disable pred1



Что означают ошибки ``UDMA ICRC'', и как их исправить?


Драйвер сообщает об ошибках ``UDMA ICRC'', когда нарушается передача в или с диска в режиме DMA. Драйвер будет повторять передачу несколько раз. Если повторные попытки окончатся неудачей, он переключится из режима DMA в более медленный режим PIO взаимодействия с устройством.

Проблема может возникать по многим причинам, хотя самым распространённой является неправильное или сбоящее подключение кабелей. Проверьте кабели ATA на наличие повреждений и соответствие используемому режиму Ultra DMA. Если вы используете диски на съёмных салазках, они также должны быть совместимыми с этим режимом. Удостоверьтесь, что все соединения подключены хорошо. Проблемы также наблюдались, когда старый диск устанавливался на тот же самый канал ATA, что и Ultra DMA 66 (или более быстрый) диск. Наконец, такие ошибки могут указывать на сбойность самого диска. Большинство производителей дисков предоставляют программное обеспечение для тестирования своих дисков, так что проверьте свой диск, и, если это необходимо, сделайте резервную копию данных и замените его.

Для просмотра и выбора режимов DMA или PIO для каждого устройства ATA можно использовать утилиту atacontrol(8). В частности, команда atacontrol mode channel выдаст режимы, используемые заданным каналом ATA, причём первичный канал нумеруется нулём, и так далее.

Аппаратная совместимость   Коммерческие приложения



Что означают различные состояния памяти, показываемые утилитой top?


Active: по статистике страницы недавно использовались.

Inactive: по статистике страницы недавно не использовались.

Cache: (наиболее часто) страницы, которых перемещены из числа неактивных в статус, в котором они содержат данные, но которые могут часто сразу же использоваться повторно (как с их старым содержимым, так и повторно с новым.) Это может быть некоторое непосредственное перемещение из числа активных в состояние 'cache', если известна чистота (немодифицированность) страницы, но такое перемещение определяется политикой, зависящей от выбора алгоритма разработчиком VM-системы.

Free: страницы, не содержащие данных, и которые могут быть использованы при некоторых условиях, когда страницы кэша могут не подойти. Свободные страницы могут повторно использоваться в состояниях прерывания или процессах.

Wired: страницы, зафиксированные в памяти, обычно для использования ядром, а также иногда для специального использования процессами.

Страницы чаще всего записываются на диск (типа синхронизации VM), когда они находятся в состоянии 'inactive', однако страницы в состоянии 'active' также могут сбрасываться (но это требует наличия определённых возможностей ЦПУ.) Это зависит от наличия и возможности отслеживания со стороны ЦПУ бита 'модифицированности', и в некоторых ситуациях это может быть лучше для блока синхронизируемых страниц VM, вне зависимости от их активности. В большинстве встречающихся ситуаций лучше всего представлять 'неактивную' очередь как очередь сравнительно неиспользуемых страниц, которые могут быть, а могут и не быть в процессе записи на диск. 'Кэшируемые' страницы уже 'синхронизированы', не отображаются, но доступны для непосредственного использования процессом со своей старой или новой привязкой. Свободные страницы доступны на уровне прерывания, однако кэшируемые или свободные страницы могут использоваться в процессе повторно. Кэшируемые страницы недостаточно заблокированы для того, чтобы быть доступными на уровне прерывания.

Есть ещё некоторые другие флаги (например, флаг Busy или счётчик занятости), которые могут изменить некоторые описанные правила.



Что случилось с /dev/MAKEDEV?


Во FreeBSD 5.X используется система devfs(8) устройств по требованию. Драйверы устройств автоматически создают новые файлы устройств, как только в них появляется необходимость, таким образом обходясь без /dev/MAKEDEV.

Если вы работаете с FreeBSD 4.X или более ранней версией, и файл /dev/MAKEDEV отсутствует, то у вас действительно есть проблема. Возьмите копию из исходных кодов системы, как правило, из /usr/src/etc/MAKEDEV.



Что такое FreeBSD-CURRENT?


- это версия операционной системы, находящаяся в стадии разработки, которая должна потом стать новой веткой FreeBSD-STABLE. Ожидается, что это случится примерно к выходу 5.3-RELEASE. Таким образом, она представляет реальный интерес только для разработчиков системы и её фанатов. Обратитесь к соответствующему разделу

для прояснения деталей работы с -CURRENT.

Если вы не специалист по операционным системам или не в состоянии отличить реальную проблему от временных явлений, вы не должны использовать FreeBSD-CURRENT. Эта ветвь зачастую меняется очень быстро и вполне может быть просто не работоспособна некоторое время. Те, кто используют FreeBSD-CURRENT, должны быть в состоянии анализировать любые проблемы и сообщать о них, если это действительно ошибки, а не ``глюки''. Сообщения типа ``make world produces some error about groups'' в списке рассылки -CURRENT могут быть восприняты пренебрежительно.

Ежедневно из веток -CURRENT и -STABLE делаются снэпшоты. Дистрибутивы некоторых снэпшотов сделаны общедоступными. Их предназначение:

Тестирование самой последней версии инсталлятора.

Дать людям, которые хотят работать с -CURRENT или -STABLE, но не имеют времени или возможности (пропускной способности) для отслеживания ежедневных изменений, простой способ её установки.

Фиксация точки для последующих ссылок в случае, если позже мы что-нибудь очень сильно сломаем. (Хотя CVS, как правило, не позволяет случиться ничему такому ужасному :)

Все новые возможности, которым требуется тестирование, должны иметь как можно больше потенциальных тестеров.

Не утверждается, что всякий снэпшот -CURRENT имеет качество ``готового продукта''. Если вам нужна стабильно работающая и полностью оттестированная система, то необходимо дождаться выхода полного релиза или воспользоваться снэпшотами -STABLE.

Снэпшоты доступны непосредственно с ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/. Снэпшоты 3-STABLE больше не выпускаются.

Снэпшоты, как правило, генерируются ежедневно для всех активно разрабатываемых веток.



Что такое 'kernquantum'?


``kern.quantum'' определяет максимальное количество тактов, которое процесс может выполняться, не будучи прерванным. Этот параметр специфичен для планировщика 4BSD, так что вы можете использовать его наличие для определения типа используемого планировщика.

Прикладные программы   Диски, файловые системы и начальные загрузчики



Что такое MFC?


MFC - это сокращение от ``Merged From -CURRENT''. Оно используется в протоколах изменений CVS для отметки того, что изменение было перенесено в ветвь STABLE из CURRENT.



Что такое ошибки FCS?


FCS является сокращением от Frame Check Sequence (контроль последовательности кадров). Каждый кадр PPP имеет контрольную сумму для проверки того, что принятые данные совпадают с переданными. Если FCS принятого пакета некорректна, пакет отбрасывается и счётчик FCS для HDLC увеличивается. Значения ошибок уровня HDLC можно вывести командой show hdlc.

Если у вас плохая линия (или драйвер коммуникационного адаптера отбрасывает пакеты), ошибки FCS неизбежны. Это обычно не является причиной для волнений, хотя это существенно замедляет протоколы компрессии. Если у вас внешний модем, проверьте качество экранирования соединительного кабеля - это может избавить от проблемы.

Если ваша связь замирает, как только вы соединились и наблюдается большое количество ошибок FCS, это может быть вызвано не полной прозрачностью канала для 8-битовых данных. Проверьте, что модем не использует программного управления потоком (XON/XOFF). Если же оборудование должно , использовать программное управление потоком, то воспользуйтесь командой set accmap 0x000a0000 для указания ppp(8) экранировать символы ^Q и ^S.

Другой причиной слишком большого количества ошибок FCS может быть прекращение противоположной стороной сеанса PPP. В этом случае Вам может понадобиться включить протоколирование async для проверки того, не являются ли поступаемые из линии данные на самом деле приглашениями login или shell. Если вы получили приглашение shell с противоположной стороны, возможно завершение без обрыва связи командой close lcp (последующая команда term снова вернёт вас к приглашению shell на удалённой машине).

Если ничего в файле протокола не говорит о том, что связь была прервана, вы должны спросить у администратора удалённой машины (вашего провайдера), почему сеанс был закрыт.



Что такое ``профили безопасности''?


``Профиль безопасности'' (security profile) является набором настраиваемых параметров, при помощи которых делается попытка достичь желаемый баланс между безопасностью и удобством работы, разрешая или запрещая запуск определенных программ и изменяя другие настройки. Все подробности можно найти в разделе Профиль безопасности главы Руководства о .



Что такое repo-copy?


repo-copy (что является краткой формой от ``repository copy'') обозначает прямое копирование файлов внутри хранилища CVS.

Без repo-copy, если есть необходимость скопировать или переместить файл в другое место репозитория, то коммиттер должен выполнять команды cvs add для помещения файла на новое место, а затем cvs rm, чтобы удалить старый файл, если старая копия должна быть удалена.

Минусом этого метода является то, что история (то есть записи в журналах CVS) работы с файлом не копируются в новое место. Так как Проект FreeBSD осознаёт важность сохранения истории, вместо описанного процесса зачастую используется копирование в репозитории. Это действие заключается в том, что один из хозяев репозитория копирует файлы непосредственно внутри репозитория, не пользуясь командами cvs(1).



Что такое SNAP и RELEASE?


В сейчас находятся три активно/полуактивно развивающихся ветки FreeBSD. (Более ранние ветки изменяются очень редко, именно поэтому в разработке только три активных ветки):

RELENG_3 AKA 3.X-STABLE

RELENG_4 AKA 4-STABLE

HEAD AKA -CURRENT AKA 5.X-CURRENT

HEAD - это не реальный тэг ветки, как другие два; это просто символьная константа для обозначения ``текущего, не ветвящегося, находящегося в разработке дерева'', то есть ``-CURRENT''.

На данный момент ``-CURRENT'' является находящимся в разработке деревом 5.X, ветка 4-STABLE, RELENG_4, отделилась от ``-CURRENT'' в марте 2000 года.



Что такое sup и как это можно использовать?


Сокращение означает Software Update Protocol, который был разработан в CMU для синхронизации исходных текстов. Мы используем его для синхронизации исходных текстов на удалённых сайтах с основным сервером разработчиков.

Протокол SUP использует пропускную способность канала неэффективно, и был отвергнут. В настоящее время рекомендуемым методом для синхронизации исходных текстов является протокол .



Что такое уровень защиты (securelevel)?


Уровень защиты является механизмом обеспечения безопасности, реализованным в ядре. В общем, когда уровень защиты больше нуля, ядро ограничивает выполнение некоторых операций; даже администратору (то есть пользователю root) запрещается их выполнять. На момент написания этого текста механизм уровня защиты может, кроме всего прочего, ограничивать возможности по

снятию некоторых флагов с файлов, таких, как schg

(системный флаг неизменяемости),

записи в память ядра через устройства /dev/mem и /dev/kmem,

загрузке модулей ядра и

изменению правил для ipfirewall(4).

Для выяснения состояния уровня защиты в работающей системе просто выполните следующую команду:

# sysctl kern.securelevel

Результат будет содержать название sysctl(8)-переменной (в нашем случае это kern.securelevel) и число. Последнее и является текущим значением уровня защиты. Если оно положительно (то есть больше нуля), то по крайней мере некоторые из защит этого механизма включены.

Вы не можете понизить уровень защиты работающей системы; возможность сделать это противоречит назначению этого механизма. Если вам нужно выполнить работу, которая требует не положительный уровень защиты (к примеру, выполнение installworld или смена даты), вам потребуется изменить настройки уровня защиты системы в файле /etc/rc.conf (вам нужно обратить внимание на переменные kern_securelevel и kern_securelevel_enable) и перезагрузить систему.

Более подробная информация об уровнях защиты и о том, какие специфические действия выполняют все уровни, может быть найдена на справочных страницах о init(8).

Внимание: Уровень защиты не является панацеей; в нём есть много недостатков. Зачастую он даёт обманчивое чувство безопасности.

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

Это обстоятельство, а также ряд других, часто обсуждаются в списках рассылки, в частности, во . Пожалуйста, поищите в более подробное обсуждение. Некоторые надеются, что механизм уровней защиты вскоре отомрёт, а на его смену придёт более гибкий механизм, но пока всё это туманно.

Считайте себя предупреждёнными.



Что такое /var/empty? Я не могу его удалить!


/var/empty представляет собой каталог, который использует программа sshd(8) при выполнении разделения полномочий. Каталог /var/empty пуст, его владельцем является root и на нём установлен флаг schg.

Хотя этот каталог удалять не рекомендуется, для выполнения этой операции вам нужно сначала снять флаг schg. Обратитесь к справочным страницам по для получения более полной информации (и помните про ответ на вопрос о снятии флага schg).

Диски, файловые системы и начальные загрузчики   X Window System и виртуальные консоли



Что такое виртуальные консоли и как изменить их количество?


Виртуальные консоли, упрощённо говоря, позволяют вам иметь несколько одновременных сеансов работы с той же самой машиной без установки какой бы то ни было сети или запуска X.

При запуске системы после вывода сообщений этапа загрузки на консоль выдаётся приглашение на вход в систему. Вы можете ввести своё имя и пароль и начать работать (или играть!) на первой виртуальной консоли.

В какой-то момент вы можете захотеть запустить ещё одну сеанс, скажем, чтобы заглянуть в документацию по программе, которую вы запустили или для для чтения электронной почты во время ожидания завершения передачи данных по FTP. Просто нажмите Alt+F2 (удерживая клавишу Alt, нажмите F2) и вы обнаружите приглашение, ждущее вас на второй ``виртуальной консоли''! Когда захотите вернуться к первоначальному сеансу, нажмите Alt+F1.

После инсталляции по умолчанию во FreeBSD задействованы три виртуальных консоли (8 начиная с 3.3-RELEASE), а комбинации клавиш Alt+F1, Alt+F2 и Alt+F3 служат для переключения между ними.

Чтобы увеличить количество консолей, отредактируйте файл /etc/ttys (посмотрите справку по ttys(5)), добавив туда записи для терминалов с именами от ttyv4 до ttyvc после слов ``Virtual terminals'':

# Edit the existing entry for ttyv3 in /etc/ttys and change # "off" to "on". ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/libexec/getty Pc" cons25 on secure ttyv9 "/usr/libexec/getty Pc" cons25 on secure ttyva "/usr/libexec/getty Pc" cons25 on secure ttyvb "/usr/libexec/getty Pc" cons25 on secure

Используйте из них столько, сколько посчитаете нужным. Чем больше виртуальных терминалов у вас имеется, тем больше ресурсов они используют; это может иметь значение, если у вас меньше чем 8МБ ОЗУ.
Вы можете сменить статус консолей с secure на insecure.

Важно: Если вы хотите запустить X, вы должны оставить для него по крайней мере один неиспользуемый (или выключенный) виртуальный терминал. Таким образов, если вы хотите иметь приглашения login на всех двенадцати функциональных клавиши, то вам не повезло - вы можете это сделать только для одиннадцати из них, если хотите на этой же машине ещё запустить X-сервер.

Самым простым способом убрать консоль является просто её выключение. Например, если вы запустили на всех 12 консолях виртуальные терминалы, как указано выше, и ещё хотите запустить X, то должны будете изменить параметры двенадцатого виртуального терминала с:

ttyvb "/usr/libexec/getty Pc" cons25 on secure

на:

ttyvb "/usr/libexec/getty Pc" cons25 off secure

Если на вашей клавиатуре только десять функциональных клавиш, то последние строки будут выглядеть так:

ttyv9 "/usr/libexec/getty Pc" cons25 off secure ttyva "/usr/libexec/getty Pc" cons25 off secure ttyvb "/usr/libexec/getty Pc" cons25 off secure

(Вы также можете просто их удалить.)

После того, как вы отредактировали файл /etc/ttys, проверьте, что у вас имеется достаточное количество устройств для виртуальных терминалов. Самый простой способ сделать это:

# cd /dev

# sh MAKEDEV vty12

Замечание: Во FreeBSD 5.X, если вы используете DEVFS, вам не нужно создавать устройства вручную, потому что необходимые файлы устройств будут создаваться в каталоге /dev

автоматически.

Самым простым (и надёжным) способом активировать виртуальные консоли является перезагрузка. Однако если вы вовсе не хотите этого делать, просто остановите X Window System и выполните (как пользователь root):

# kill -HUP 1

При этом требуется, чтобы вы полностью закрыли X Window, если она была запущена, до запуска этой команды. Если вы это не сделаете, ваша система может повиснуть/заблокироваться после выполнения команды kill.


Что такое vnlru?


vnlru сбрасывает и освобождает vnode, когда система достигает своего ограничения по параметру kern.maxvnodes. Этот подпроцесс ядра в основном работает вхолостую и активируется только при наличии огромного объема ОЗУ и обращении к десяткам или тысячам файлов маленького размера.



Что значат эти сообщения ``icmp-response bandwidth limit pps'' в моих журнальных файлах?


Это ядро сообщает вам, что имела место некоторая активность, приводящая к посылке большего количества ответных пакетов ICMP или сбросов TCP (RST), чем, как предполагается, это следует делать. Ответы ICMP часто генерируются в результате попыток подключения к незанятым портам UDP. Сбросы TCP генерируются в результате попыток подключения к неоткрытым портам TCP. Кроме всяких прочих, такие сообщения могут быть вызваны следующими действиями:

Лобовая атака типа отказ в обслуживании DoS (в отличие от атак в один пакет, которые используют конкретную брешь в защите).

Сканирование портов в попытке осуществить подключение к большому количеству портов (в отличие от проб нескольких известных портов).

Первое число в сообщении указывает вам, какое количество пакетов ядро посылало бы при отсутствии ограничений, а второе число указывает лимит. Вы можете управлять этим ограничением при помощи системной переменной net.inet.icmp.icmplim приводимым ниже способом, где 300 является ограничением на количество посылаемых пакетов в секунду:

# sysctl -w net.inet.icmp.icmplim=300

Если вы не хотите видеть подобные сообщения в журнальных файлах, но хотите использовать это ограничение в ядре, то можете использовать системную переменную net.inet.icmp.icmplim_output для подавления вывода, как это показано здесь:

# sysctl -w net.inet.icmp.icmplim_output=0

И наконец, если вы хотите выключить это ограничение, то можете установить значение системной переменной net.inet.icmp.icmplim (смотрите пример выше) равным 0. Выключение этого лимита не приветствуется по причинам, перечисленным выше.



Другая операционная система уничтожила мой менеджер загрузки, как мне его восстановить?


Запустите утилиту sysinstall(8) и выберите пункт Configure, а затем Fdisk. Выберите диск, на котором ранее находился менеджер загрузки, при помощи клавиши пробел. Нажмите W для записи изменений на диск. Появится диалоговое окно для выбора устанавливаемого начального загрузчика. Выберите нужный, и он будет восстановлен.



Другие источники информации


Пожалуйста, посмотрите список имеющейся документации на главной странице сайта .

Часто Задаваемые Вопросы по FreeBSD 2.X, 3.X, 4.X и 5.X   Документация и поддержка



Есть ли хорошие книги о FreeBSD?


В рамках проекта создан широкий спектр документации, которая доступна в онлайне по следующей ссылке: . Эти же самые документы доступны и в виде пакаджей, которые можно с лёгкостью установить в вашу систему FreeBSD. Детальная информация о пакаджах с документацией может быть найдена в последующих параграфах.

Кроме того, в Библиографии в конце этого FAQ и в Руководстве имеются ссылки на другие рекомендуемые для чтения книги.



Есть ли ограничения на разбиение диска?


Да. Вы должны убедиться, что корневой раздел находится до 1024 дорожки, так чтобы BIOS могла загрузить с него ядро. (Заметьте, что это ограничение BIOS компьютера, а не FreeBSD).

Для диска SCSI, это, как правило, будет означать, что корневой раздел располагается в первых 1024Мб (или в первых 4096Мб, если включен режим расширенной трансляции - посмотрите предыдущий вопрос). Для дисков IDE соответствующее значение равно 504Мб.



Есть ли решение проблемы отсутствия звука при использовании драйвера pcm с адаптером es?


При каждой перезагрузке вам нужно запускать следующую команду:

# mixer pcm 100 vol 100 cd 100



Есть ли в лицензии FreeBSD какие-то ограничения?


Да. Эти ограничения не касаются того, как именно вы используете код, но главным образом описывают ваше отношение при этом в целом к Проекту FreeBSD. Если у вас есть серьезные проблемы с лицензированием, прочтите собственно текст лицензионного соглашения. Упрощенно оно может быть вкратце изложено следующим образом.

Не говорите, что это написано вами.

Не судитесь с нами, если что-то не работает.



Есть ли версии документации в другом формате, например, в виде обычного текста ASCII или PostScript?


Да. Документация имеется в нескольких различных форматах и упакованная разными способами на FTP-сервере FreeBSD, и находится она в каталоге /pub/FreeBSD/doc/.

Документация подразделяется на категории различными способами. Это включает:

Имя документа, например, faq или handbook.

Язык и кодировка документа. Они опираются на имена локализаций, которые вы найдёте в каталоге /usr/share/locale вашей системы FreeBSD. На данный момент для документации поддерживаются следующие языки и кодировки:

Кодировка

Язык

en_US.ISO8859-1 Английский (США)
de_DE.ISO8859-1 Немецкий
es_ES.ISO8859-1 Испанский
fr_FR.ISO8859-1 Французский
ja_JP.eucJP Японский (кодировка EUC)
ru_RU.KOI8-R Русский (кодировка KOI8-R)
zh_TW.Big5 Китайский (кодировка Big5)

Замечание: Некоторые документы могут иметься не на всех языках.

Формат документа. Мы создаём документацию в нескольких различных форматах. У каждого из форматов имеются свои плюсы и свои минусы. Некоторые форматы лучше подходят для чтения в онлайне, когда как другие предназначены для получения эстетично выглядящей на бумаге копии. Наличие документации во всех этих форматах обеспечивает возможность прочтения нашими пользователями любой её части как с экрана монитора, так и на бумаге после вывода на печать. На данный момент поддерживаются следующие форматы;

Формат

Значение

html-split Набор маленьких связанных друг с другом HTML-файлов.
html Один большой HTML-файл, полностью содержащий документ.
pdb Формат баз данных Palm Pilot, для использования с утилитой iSilo.
pdf Adobe's Portable Document Format
ps PostScript
rtf Rich Text Format от Microsoft [a]
txt Обычный текст
Примечания:

a. Номера страниц при загрузке в Word автоматически не обновляются. Нажмите CTRL+A, CTRL+END, F9 после загрузки документа для обновления номеров страниц.

Способ компрессии и создания архива. Сейчас используется три.

В случае формата html-split, файлы архивируются с помощью . Получающийся файл .tar затем подвергается сжатию по схемам, подробно описываемым далее.


Все другие форматы генерируют один файл с именем book.format (то есть book.pdb, book.html, и так далее).

Эти файлы затем сжимаются по двум схемам сжатия.



Схема

Описание

zip Формат Zip. Если вам нужно будет развернуть это во FreeBSD, то потребуется установить сначала порт archivers/unzip.
bz2 Формат BZip2. Используется реже, чем Zip, но, как правило, даёт файлы меньшего размера. Чтобы работать с такими файлами, установите порт archivers/bzip2.
Таким образом, версия Руководства в формате PostScript, упакованная с помощью BZip2, будет находиться в файле с именем book.ps.bz2 в каталоге handbook/.

После выбора формата и способа компрессии, в котором вы хотите получить файл, вы должны определиться, должен ли он быть в виде пакаджа FreeBSD.

Плюсом сгрузки и установки в виде пакаджа является то, что документация затем может управляться обычными средствами для работы с пакаджами, такими, как pkg_add(1) и pkg_delete(1).

Если вы решили сгрузить и установить пакадж, то вы должны знать имя файла. Файлы, содержащие документацию в виде пакаджей, находятся в каталоге packages. Каждый такой файл имеет вид document-name.lang.encoding.format.tgz.

Например, FAQ на английском языке в формате PDF находится в пакадже faq.en_US.ISO8859-1.pdf.tgz.

Зная это, для установки пакаджа с англоязычным FAQ в формате PDF вы можете воспользоваться следующей командой.

# pkg_add ftp://ftp.FreeBSD.org/pub/ FreeBSD/doc/packages/faq.en_US.ISO8859-1.pdf.tgz

Сделав это, можно использовать утилиту pkg_info(1) для определения того, куда файл был установлен.

# pkg_info -f faq.en_US.ISO8859-1.pdf

Information for faq.en_US.ISO8859-1.pdf:

Packing list: Package name: faq.en_US.ISO8859-1.pdf CWD to /usr/share/doc/en_US.ISO8859-1/books/faq File: book.pdf CWD to . File: +COMMENT (ignored) File: +DESC (ignored)

Как видите, book.pdf будет установлен в /usr/share/doc/en_US.ISO8859-1/books/faq.

Если же вы не хотите использовать пакаджи, то вам нужно самим сгрузить упакованные файлы, распаковать их, а затем скопировать документацию в соответствующие места.

Например, версия FAQ в виде отдельных HTML-файлов, упакованная при помощи bzip2(1), находится в файле doc/ru_RU.KOI8-R/books/faq/book.html-split.tar.bz2. Для сгрузки и распаковки этого файла вам нужно сделать вот что.

# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/ doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2

# bzip2 -d book.html-split.tar.bz2

# tar xvf book.html-split.tar

У вас получится набор файлов .html. Главным является index.html, и в нём находится оглавление, вводный материал и ссылки на остальные части документа. После этого вы их можете копировать и перемещать при необходимости на окончательное местоположение.


FreeBSD аварийно завершает работу с сообщением ``kmem_map too small!''


Замечание: Сообщение может также выглядеть как ``mb_map too small!''

Такое завершение работы показывает, что системе не хватает виртуальной памяти для сетевых буферов (точнее, структур mbuf). Вы можете увеличить количество виртуальной памяти для структур mbuf, добавив:

options "NMBCLUSTERS=n"

в файл конфигурации ядра, где n - это число в пределах 512-4096, в зависимости от числа TCP-соединений, которое вам нужно одновременно обслуживать. Я рекомендую попробовать значение 2048 - это должно избавить вас от аварийных остановов. Вы можете отслеживать количество структур mbuf, выделенных/используемых системой командой netstat -m (обратитесь к ). Значение по умолчанию для NMBCLUSTERS равно 512 + MAXUSERS * 16.



FreeBSD - что это такое?


В двух словах, FreeBSD - это UN*X-подобная операционная система для платформ i386, IA-64, PC-98, Alpha/AXP и UltraSPARC, разработанная на основе операционной системы ``4.4BSD-Lite'' с некоторыми усовершенствованиями, взятыми из ``4.4BSD-Lite2'' Калифорнийского Университета (Беркли). Также она косвенно базируется на 386BSD (BSD Net/2, перенесённой на платформу i386 Вильямом Джолитцем (William Jolitz)), хотя от того первоначального кода осталось очень мало. Более подробные объяснения того, что представляет из себя FreeBSD и для чего она может вам пригодиться, можно найти на домашней странице FreeBSD.

FreeBSD используется компаниями, Интернет-провайдерами, научными работниками, профессионалами в вычислительной технике, студентами и рядовыми пользователями по всему миру для работы, образования и отдыха. Вы можете увидеть некоторых из них в нашей галерее.

Для более детального ознакомления с FreeBSD, пожалуйста, обратитесь к Руководству по FreeBSD.



Где инструкции по установке FreeBSD?


Инструкции по установке могут быть найдены в Руководства, посвящённой установке FreeBSD.



Где можно купить CDE для FreeBSD?


Фирма предлагала CDE для FreeBSD, но сейчас этот продукт в продаже отсутствует.

- это свободно распространяемый вариант десктопа для X11, который во многом похож на CDE. Вам может также приглянуться xfce. Как KDE, так и xfce могут быть найдены в .



Где можно купить Motif для FreeBSD?


Open Group опубликовали исходные тексты Motif 2.1.30. Вы можете проинсталировать их с помощью пакета open-motif или скомпилировать их из портов. Воспользуйтесь для получения детальной информации о том, как это сделать.

Замечание: Лицензия Open Motif позволяет распространение только если библиотека используется на .

В дополнении нужно сказать, что существуют также дистрибьюторы предлагающие коммерческий вариант Motif. Эта библиотека не бесплатна, но ее лицензия позволяет вести разработку приложений с закрытыми исходными текстами. Обратитесь в фирму Apps2go, предлагающую самый дешёвый дистрибутив Motif 2.1.20 для FreeBSD (как для i386, так и для Alpha) в формате ELF.

Существуют два дистрибутива, ``для разработчиков'' (``development edition'') и ещё более дешёвая ``времени выполнения'' (``runtime edition''). В эти дистрибутивы включены:

OSF/Motif manager, xmbind, panner, wsm.

Пакет разработчика с uil, mrm, xm, xmcxx, файлами include и Imake.

Статические и динамические ELF-библиотеки (для использования с FreeBSD 3.0 и выше).

Демонстрационные приложения.

При оформлении заказа не забудьте указать, что вам нужна версия Motif именно для FreeBSD (не забудьте также указать архитектуру процессора)! Apps2go также продаёт версии для NetBSD и OpenBSD. В настоящий момент их можно получить только по FTP.

Дополнительная информация

или

электронные адреса отделов и .

или

телефоны (817) 431 8775 и +1 817 431-8775

Обратитесь в фирму для получения дистрибутива Motif 2.1 для FreeBSD в форматах ELF или a.out.

В этот дистрибутив включены:

OSF/Motif manager, xmbind, panner, wsm.

Пакет разработчика с uil, mrm, xm, xmcxx, файлами include и Imake.

Статические и динамические библиотеки (укажите ELF для использования с FreeBSD 3.0 и выше; или a.out при использовании FreeBSD 2.2.8 и ранее).

Демонстрационные приложения.

Преформатированные страницы справочника.

При заказе обязательно отметьте, что вам требуется версия Motif именно для FreeBSD! Metro Link также предлагает версии для Linux. Они доступны на CDROM или для скачивания по FTP.

Обратитесь в фирму за дистрибутивом Motif 2.0 для FreeBSD в формате a.out.

В этот дистрибутив включены:

OSF/Motif manager, xmbind, panner, wsm.

Пакет разработчика с uil, mrm, xm, xmcxx, файлами include и Imake.

Статические и динамические библиотеки (для использования с FreeBSD 2.2.8 и ранее).

Демонстрационные приложения.

Отформатированные страницы Справочника.

При заказе обязательно укажите, что вам требуется версия Motif именно для FreeBSD! Xi Graphics также предлагает версии для BSDI и Linux. В настоящее время это набор из 4 дискет... в будущем это будет стандартный дистрибутив на компакт-диске, как их CDE.



Где можно найти FreeBSD?


Все основные релизы FreeBSD доступны по FTP с FTP-сервера FreeBSD:

Текущий релиз 3.X-STABLE, 3.5.1-RELEASE, находится в каталоге с 3.5.1-RELEASE.

Самый последний релиз 5.X, 5.2.1-RELEASE, может быть найден в каталоге с 5.2.1-RELEASE.

Самый последний релиз 4-STABLE, 4.10-RELEASE, можно найти в каталоге 4.10-RELEASE.

обычно делаются ежедневно.

Выпуски , которые делаются ежедневно из ветви -CURRENT, предназначены для тестеров и разработчиков.

Информация о получении/приобретении FreeBSD на CD, DVD и других носителях доступна в



Где можно найти информацию о ``бездисковой загрузке''?


``Бездисковая загрузка'' означает, что машина с FreeBSD загружается по сети и читает необходимые файлы с сервера, а не со своего диска. Подробное описание есть в соответствующей главе Руководства.



Где можно найти информацию о проблеме года во FreeBSD?


Полная информация находится на странице Готовности к 2000 году.



Где можно найти набор офисных программ для FreeBSD?


предлагает версию ApplixWare 5 для FreeBSD от .

ApplixWare это большой многофункциональный коммерческий офисный пакет для FreeBSD, в который входит текстовый процессор, электронные таблицы, программа для работы с презентациями, пакет векторной графики и другие приложения.

ApplixWare предлагается как часть дистрибутива FreeBSD Mall's BSD Desktop Edition.

Версия для Linux пакета прекрасно работает во FreeBSD. Проще всего установить Linux-версию этого пакета при помощи . Также должны работать и будущие версии пакета с открытым кодом .



Где можно найти средства управления сетевым трафиком?


Для FreeBSD имеются три средства управления трафиком. dummynet(4), интегрированный в систему FreeBSD (более точно, в ipfw(4)); свободно распространяемый и коммерческий продукт Bandwidth Manager от Emerging Technologies.



Где можно получить бесплатный доступ к FreeBSD?


Хотя FreeBSD не предоставляет бесплатный доступ ни к одному из своих серверов, другие компании предоставляют Unix-системы с открытым доступом. Стоимость этой услуги различна, также как и ограниченный набор услуг.

, также известный как M-Net, предоставляет свободный доступ к Unix-системам с 1983 года. Начиная на платформе Altos с работающей System III, сайт перешёл на BSD/OS в 1991. В июне 2000 сайт сменил систему снова, теперь на FreeBSD. M-Net может быть доступна через протоколы telnet и SSH и предоставляет доступ к полному набору программного обеспечения FreeBSD. Однако доступ к сети ограничен для членов и спонсоров, которые поддерживают систему, которая работает как неприбыльная организация. M-Net предоставляет также услуги электронной доски объявлений (BBS) и интерактивного чата.

представляет собой сайт, очень похожий на M-Net, включая то же самое программное обеспечение для электронной доски объявлений (BBS) и интерактивного чата. Однако платформой является Sun 4M под управлением SunOS



Где можно пройти платные курсы по FreeBSD и получить поддержку?


DaemonNews проводит платные курсы и осуществляет коммерческую поддержку FreeBSD. Дополнительную информацию можно найти на их сайте BSD Mall.

FreeBSD Services Ltd осуществляет коммерческую поддержку FreeBSD в Великобритании (а также продаёт FreeBSD на DVD). Более полную информацию можно получить на их веб-сайте.

FreeBSD Mall предоставляет поддержку FreeBSD на коммерческой основе. Вы можете получить более полную информацию с их .

Чтобы попасть в этот список, другие организации, осуществляющие обучение и поддержку, должны обратиться к нам в проект.

Вступление   Установка



Где найти информацию по спискам рассылки FreeBSD?


Исчерпывающая информация содержится в разделе Руководства, который посвящён спискам рассылки.



Где найти ldso?


a.out-приложения, такие, как Netscape Navigator, требуют наличия a.out-библиотек. По умолчанию версии FreeBSD, построенные на ELF-библиотеках, их не устанавливают. Вы получите сообщения об отсутствии /usr/libexec/ld.so, если это так для вашей системы. Эти библиотеки имеются в виде добавления в пакете compat22. Воспользуйтесь sysinstall(8) для его установки. Вы можете также установить их из исходного кода FreeBSD:

# cd /usr/src/lib/compat/compat22

# make install clean

Если вы хотите установить последние библиотеки compat22 при выполнении make world, то отредактируйте /etc/make.conf, включив туда строку COMPAT22=YES. Старые библиотеки совместимости меняются редко, если вообще меняются, так что это, в общем-то, и не нужно.

Также посмотрите файлы ERRATA для 3.1-RELEASE и 3.2-RELEASE.



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


Основным настроечным файлом является /etc/defaults/rc.conf (обратитесь к rc.conf(5)) Скрипты начального запуска системы, такие, как /etc/rc и /etc/rc.d (обратитесь к rc(8)) просто включают этот файл. Не редактируйте этот файл! Вместо этого, если в файле /etc/defaults/rc.conf имеется параметр, который вы хотите изменить, то вы должны скопировать строчку с ним в файл /etc/rc.conf и поменять его значение именно здесь.

Например, если вы хотите запустить named, поставляемый сервер DNS, то всё, что вам нужно сделать, это:

# echo named_enable="YES" >> /etc/rc.conf

Чтобы запустить местные сервисы, поместите скрипты в каталог /usr/local/etc/rc.d. У этих скриптов должен быть выставлен бит выполнимости, и их имена должны оканчиваться на .sh.