Главная > Операционные системы > Семейство UNIX > |
FAQ по FreeBSD 2.X и 3.X |
Секция 4 из 10 - Предыдущая - Следующая
Все секции
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
предназначена версия -current). В частности, достоверно *не* ошибка FreeBSD, если вы сталкиваетесь с проблемой при компиляции программы, но при работе компилятора место сбоя каждый раз изменяется. Например, положим, что вы запускаете команду "make buildworld" и компиляция зав ершилась аварийно при попытке компиляции ls.c в to ls.o. Если при следующей попытке повторно выполнить "make buildworld" компиляция прервется на том же самом месте, то это ошибки процесса построения -- попробуйте обновить исходные тексты и попробуйте снова. Если компиляция прерывается в каком-то другом месте, то в этом практически достоверно виновато обрудование. Что вы должны сделать: В первом случае вы должны воспользоваться отладчиком, к примеру, gdb, для нахождения точки программы, в которой делается попытка доступа к неверному адресу и затем исправить эту ошибку. Во втором случае вам нужно проверить, что ваше оборудование исправно. Среди часто приводящих к этому причин: 1. Ваши винчестеры могут перегреваться: Проверьте работу вентиляторов в вашем системном блоке, так как ваш диск (и может, также другие компоненты, могут перегреваться). 2. Работающий процессор перегревается: Это может произойти из-за увеличения частоты процессора за рабочие границы или поломки вентилятора на процессоре. В любом случае вам нужно убедиться, что ваше оборудование работает так, как ему положено, по крайней мере, на момент поиска причин неисправности, другими словами, Установите частоту работы на настройки по умолчанию. Если вы превысили рабочие частоты работы процессора, заметьте, что дешевле обходится медленная система, чем сгоревшая система, требующая замены! Также общество нечасто симпатизирует проблемам на таких системах, вне зависимости от того, считаете ли вы увеличение рабочей частоты не влияющим на работу или нет. 3. Хитрая память: Если у вас установлено множество микросхем SIMM/DIMM, то в ытащите их все и попытайтесь поработать индивидуально с каждой микросхемой SIMM или DIMM и локализовать проблему либо до проблематичной микросхемы DIMM/SIMM, либо даже их комбинации. 4. Чересчур оптимистические настройки материнской платы: При настройке вашей BIOS и выборе положения перемычек на материнской плате вы имеете в озможность задать различные частоты и задержки, в большинстве случаев настройки по умолчанию достаточны, но иногда установка слишком малых периодов ожидания для ОЗУ, установка параметра "RAM Speed: Turbo" или подобных параметров в BIOS вызовет странное поведение. Возможным решением может стать установка параметров BIOS по умолчанию, но сначала стоит записать ваши настройки! 5. Неустойчивое или недостаточное электропитание материнской платы. Если в в ашей системе есть неиспользуемые адаптеры ввода/вывода, винчестеры или прив оды компакт-дисков, попробуйте временно их убрать или отключить от кабеля электропитания, чтобы посмотреть, сможет ли ваш блок питания работать с меньшей нагрузкой. Или попробуйте воспользоваться другим блоком питания, желательно большей мощности (например, если имеющийся блок питания рассчитан на 250 Ватт, попробуйте другой мощностью 300 Ватт). Вы также должны прочитать FAQ по SIG11 (ссылка дана ниже), в котором даны прекрасные описания всех этих проблем, хотя и с точки зрения Linux. Также обсуждается, как аппаратура или программное обеспечение для тестирования памяти могут пропускать сбойную память. Наконец, если ничего из этого не помогает, то возможно, что просто вы нашли ошибку во FreeBSD и должны следовать инструкциям по посылке сообщений о проблемах. Подробная информация по этому вопросу содержится в FAQ по проблеме SIG11. 3.10. При загрузке монитор темнеет и теряет синхронизацию! Это известная проблема с видеоадаптерами ATI Mach 64. Она вызвана тем, что этот адаптер использует адрес 2e8, как и четвёртый последовательный порт. Из-за ошибки (или особенности работы?) в драйвере sio(4) он обращается к порту, даже если если он не существует, и даже если вы отключите sio3 (четвёртый порт), который, как правило, использует этот адрес ввода/вывода. Пока это не исправлено, используйте следующий метод: 1. В приглашении загрузчика наберите -c. (Это переведёт ядро в режим конфигурации). 2. Отключите устройства sio0, sio1, sio2 и sio3 (все их). После этого драйвер sio не будет активизироваться и проблем не будет. 3. Для продолжения загрузки наберите exit. Если вам нужно использовать последовательные порты, вы должны построить новое ядро со следующей модификацией: в файле /usr/src/sys/i386/isa/sio.c найдите строчку, содержащую число 0x2e8 и удалите её вместе с предшествующий запятой (оставив следующую). После этого следуйте обычным указаниям по построению ядра. Даже после этих изменений вы можете обнаружить, что X Window работает ненормально. Если это произошло, удостоверьтесь, что вы используете XFree86 в ерсии не ниже 3.3.3. Этот и последующие релизы имеют встроенную поддержку адаптеров Mach64 и даже отдельный X-сервер для таких адаптеров. 3.11. У меня 128 МБ ОЗУ, но система используется только 64. Так как для определения объёма памяти FreeBSD использует информацию BIOS, она ограничена 16 битами, используемыми для выражения размера ОЗУ в килобайтах (65535 КБ = 64МБ) (или меньше... некоторые BIOS ограничивают размеры памяти до 16МБ). Если у вас больше чем 64МБ ОЗУ, FreeBSD будет пытаться обнаружить эту память; однако эта попытка может и не удасться). Для решения этой проблемы вам нужно использовать опцию ядра, указанную ниже. Способ выяснения полной информации о памяти из BIOS существует, но у нас нет места в загрузочном блоке, чтобы это делать. Когда проблема нехватки места в загрузочных блоках будет решена, мы будем использовать расширенные функции BIOS для получения полной информации о памяти... но пока мы остановились на опции ядра. options "MAXMEM=n" Здесь n - это объём памяти в килобайтах. Для машины со 128 МБ ОЗУ вам нужно использовать значение 131072. 3.12. FreeBSD 2.0 аварийно завершает работу с сообщением kmem_map too small! Note: Сообщение может также выглядеть как mb_map too small! Такое завершение работы показывает, что системе не хватает виртуальной памяти для сетевых буферов (точнее, структур mbuf). Вы можете увеличить количество в иртуальной памяти для структур mbuf, добавив: options "NMBCLUSTERS=n" в файл конфигурации ядра, где n - это число в пределах 512-4096, в зависимости от числа TCP-соединений, которое вам нужно одновременно обслуживать. Я рекомендую попробовать значение 2048 - это должно избавить вас от аварийных остановов. Вы можете отслеживать количество структур mbuf, выделенных/ используемых системой командой netstat -m. Значение по умолчанию для NMBCLUSTERS равно 512 + MAXUSERS * 16. 3.13. При перезагрузке с новым ядром выдаётся сообщение CMAP busy panic. Процедура определения устаревших файлов /var/db/kvm_*.db иногда даёт сбой и использует не те файлы, что может вызвать аварийный останов системы. Если это случилось, перезагрузитесь в однопользовательском режиме и выполните команду: # rm /var/db/kvm_*.db 3.14. ahc0: brkadrint, Illegal Host Access at seqaddr 0x0 Это - результат конфликта со SCSI-адаптером Ultrastor. Во время загрузки войдите в меню конфигурации ядра и выключите устройство uha0, являющееся источником этой проблемы. 3.15. Sendmail говорит, что mail loops back to myself В FAQ по sendmail на это дан такой ответ:- * Выдаются сообщения "Local configuration error", примерно такие: 553 relay.domain.net config error: mail loops back to myself 554 <user@domain.net>... Local configuration error Как можно решить эту проблему? Согласно записям MX, почта для домена (скажем, domain.net) была перенаправлена на указанный хост (в нашем случае relay.domain.net), но он не распознаётся как domain.net. Добавьте строку domain.net в файл /etc/sendmail.cw (если вы используете FEATURE(use_cw_file)) или добавьте "Cw domain.net" в /etc/sendmail.cf. Текущая версия FAQ по sendmail больше не поставляется вместе с sendmail. Однако этот документ регулярно помещается в конференции comp.mail.sendmail, comp.mail.misc, comp.mail.smail, comp.answers и news.answers. Вы можете получить копию по электронной почте, послав сообщение, содержащее команду send usenet/news.answers/mail/sendmail-faq в теле письма, в адрес < mail-server@rtfm.mit.edu>. 3.16. Полноэкранные приложения на удалённой машине ведут себя неправильно! На удалённой машине тип терминала может быть установлен в значение, отличное от типа терминала cons25, требуемом при использовании консоли FreeBSD. Есть несколько возможных способов решения этой проблемы: * После входа на другую машину установите значение переменной окружения TERM равным ansi или sco, если эта машина знает об этих типах терминалов. * Используйте эмулятор VT100 типа screen на консоли FreeBSD. Screen даёт вам возможность открывать несколько рабочих сеансов на одном терминале, и она имеет ещё ряд полезных особенностей. Каждое окно программы screen ведёт себя как терминал VT100, так что переменная TERM на удалённой машине должна быть установлена в значение vt100. * Опишите терминал cons25 в базе данных характеристик терминалов на удалённой машине. Способ описания зависит от используемой на этой машине операционной системе. Вам может помочь чтение руководств по администрированию удалённой системы. * Запустите X-сервер на стороне FreeBSD и войдите на удалённую систему с помощью какого-либо эмулятора терминала, работающего в X Window, такого, как xterm или rxvt. Переменная окружения TERM на удалённой машине должна быть установлена в значение xterm или vt100. 3.17. Выводятся сообщения calcru: negative time... Это может быть вызвано различными аппаратными или программными проблемами, св язанными с прерываниями. Это может быть связано как с ошибками при программиров ании, так и с природой самих устройств. Например, работа с TCP/IP по параллельному порту с использованием большого MTU приводит к этой проблеме, также как использование графических акселераторов; в последнем случае вы должны проверить настройку прерываний на графическом адаптере. Одним из проявлений этой проблемы является прерывание работы процессов с диагностическим сообщением "SIGXCPU exceeded cpu time limit". Если эта проблема не может быть решена, для FreeBSD 3.0 от 29 ноября 1998 и в ыше измените значение системной переменной: # sysctl -w kern.timecounter.method=1 Это коснётся производительности системы, но, принимая во внимание источник этой проблемы, это будет незаметно. Если проблема всё ещё даёт о себе знать, остав ьте значение этой переменной равным единичке и увеличьте значение параметра NTIMECOUNTER в файле конфигурации вашего ядра. Если в конце концов вы достигнете значения NTIMECOUNTER=20, то вам эту проблему решить не удастся, прерывания дают слишком большую нагрузку на процессор, чтобы обеспечить отслежи вание времени. 3.18. Выдаётся сообщение pcm0 not found или мой звуковой адаптер определяется как pcm1, хотя в конфигурационном файле ядра указана строчка device pcm0 Такое бывает во FreeBSD 3.x со звуковыми адаптерами PCI. Устройство pcm0 предназначено исключительно для адаптеров ISA, поэтому, если у вас имеется адаптер PCI, то вы увидите эту ошибку и ваш адаптер будет распознан как pcm1. Note: Вы не сможете избавиться от предупреждающего сообщения, просто измени в строку в конфигурационном файле ядра на device pcm1, так как это приведёт к закреплению устройства pcm1 за адаптерами ISA, а ваш адаптер PCI будет найден как устройство pcm2 (и появится предупреждение pcm1 not found). Если у вас имеется звуковой адаптер PCI, то вам нужно также создать устройство snd1, а не snd0: # cd /dev # ./MAKEDEV snd1 Такой ситуации не возникает во FreeBSD 4.x, так как в ней было положено много усилий, чтобы сделать её более PnP-центричной и устройство pcm0 больше не предназначено исключительно для адаптеров ISA 3.19. После обновления FreeBSD до версии 4.x мой PnP-адаптер больше не обнаружи вается (или определяется как unknown) FreeBSD 4.x теперь гораздо более PnP-центрична, что отражается на некоторых устройствах PnP (к примеру, звуковых адаптерах и внутренних модемах), перестающих работать, хотя они функционировали в системе FreeBSD 3.x. Причины такого поведения объясняются в следующем сообщении электронной почты, опубликованном в списке рассылки freebsd-questions Питером Уэммом (Peter Wemm) в ответ на вопрос о внутреннем модеме, который перестал распознаваться после обновления до FreeBSD 4.x (комментарии внутри [] были добавлены для пояснения контекста послания. BIOS, поддерживающая PNP, предварительно отводит и оставляет ему [модему] место в адресном пространстве портов, так что [в 3.x] процедура обнаружения в старом стиле ISA "находит" его здесь. В 4.0 код для работы с ISA гораздо более PnP-центричен. [В 3.x] было в озможно при распознавании ISA найти "беспризорное" устройство и затем по идентификатору PNP-устройства произвести поиск и получить ошибку из-за конфликта ресурсов. Поэтому для предотвращения повторной процедуры распозна вания в нем сначала выключаются все управляемые адаптеры. Это также означает, что для поддерживаемого оборудования PnP нужно знать их PnP-идентификаторы. Имеются планы на обеспечение возможности найстройки этого со стороны пользователя. Чтобы заставить устройство работать снова, требуется определить его PnP-идентификатор и добавить его в список, который используется процедурой распознавания ISA для идентификации устройств PnP. Этот идентификатор можно получить при помощи программы pnpinfo(8), найдя устройство в ее выдаче, вот, например, вывод команды pnpinfo(8) в случае внутреннего модема: # pnpinfo Checking for Plug-n-Play devices... Card assigned CSN #1 Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff PnP Version 1.0, Vendor Version 0 Device Description: Pace 56 Voice Internal Plug & Play Modem Logical Device ID: PMC2430 0x3024a341 #0 Device supports I/O Range Check TAG Start DF I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8 [16-bit addr] IRQ: 4 - only one type (true/edge) [лишние строки TAG исключены] TAG End DF End Tag Successfully got 31 resources, 1 logical fdevs -- card select # 0x0001 CSN PMC2430 (0x3024a341), Serial Number 0xffffffff Logical device #0 IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 IRQ 5 0 DMA 4 0 IO range check 0x00 activate 0x01 Информация, которая вам нужна, находится в строке "Vendor ID" в самом начале вы вода команды. Шестнадцатиричное число в скобках (в этом примере 0x3024a341) яв ляется PnP-идентификатором, а строчка, идущая прямо перед ним (PMC2430) яв ляется уникальным ASCII-идентификатором. Эту информацию нужно добавить в файл / usr/src/sys/isa/sio.c. Сначала вы должны сделать резервную копию файла sio.c просто на тот случай, если что-то пойдет не так. Эта копия также может потребоваться для создания патча для посылки его вместе с вашим PR (вы же собираетесь послать PR, не прав да ли?) отредактировав файл sio.c и поискав строчку static struct isa_pnp_id sio_ids[] = { после чего переместитесь ниже и найдите подходящее место, чтобы добавить строчку для вашего устройства. Записи имеют примерно такой вид, и они отсортиро ваны по ASCII-строкам Vendor ID, которые должны быть помещены в поле комментария справа от строки кода вместе с полным описанием устройства (если оно поместится) или частью из Device Description вывода программы pnpinfo(8): {0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */ {0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */ {0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */ {0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */ {0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */ Добавьте шестнадцатиричный идентификатор Vendor ID вашего устройства в соотв етствующее место, сохраните файл, перестройте ядро и выполните перезагрузку. В аше устройство должно теперь быть найдено в виде устройства sio, как это и было во FreeBSD 3.x ------------------------------------------------------------------------------- Chapter 4. Коммерческие приложения Note: Этот раздел выглядит довольно заброшенным, однако мы, конечно же, надеемся, что производители сделают добавления! :) Проект FreeBSD финансово не заинтересован в успехах никакой из компаний, которые здесь упоминаются, хотя приводит их список в интересах общества (в предположении, что коммерческий интерес к FreeBSD может положительно повлиять на дальнейшее развитие FreeBSD). Мы просим поставщиков коммерческого программного обеспечения присылать нам информацию о ваших продуктах для включения в этот список. Более полный список производителей находится на странице произв одителей. 4.1. Где можно купить Motif для FreeBSD? 4.2. Где можно купить CDE для FreeBSD? 4.3. Существуют ли коммерческие высокопроизводительные X-серверы? 4.4. Существуют ли СУБД для FreeBSD? 4.5. Можно ли запустить Oracle на FreeBSD? 4.1. Где можно купить Motif для FreeBSD? Обратитесь в фирму 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. Дополнительная информация WWW-сервер Apps2go или электронные адреса отделов продаж и поддержки. или телефоны (817) 431 8775 и +1 817 431-8775 Обратитесь в фирму Metro Link для получения дистрибутива 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. Обратитесь в фирму Xi Graphics за дистрибутивом 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. 4.2. Где можно купить CDE для FreeBSD? Фирма Xi Graphics предлагала CDE для FreeBSD, но сейчас этот продукт в продаже отсутствует. KDE - это свободно распространяемый вариант десктопа для X11, который во многом похож на CDE. Вам может также приглянуться xfce. Как KDE, так и xfce могут быть найдены в коллекции портов. 4.3. Существуют ли коммерческие высокопроизводительные X-серверы? Да, фирмы Xi Graphics и Metro Link предлагают свой продукт Accelerated-X для FreeBSD и других систем на базе Intel. Metro Link предлагает высокопроизводительный X-сервер, в котором предусмотрена упрощённая процедура конфигурирования с помощью набора утилит FreeBSD для работы с пэкэджами, поддержка нескольких видеоадаптеров одновременно и он поста вляется только в бинарном виде, доступном по FTP. Нельзя не отметить, что Metro Link продаёт всё это по очень доступной цене в 39 долларов. Metro Link продаёт также Motif для FreeBSD в форматах ELF и a.out (смотрите в ыше). Дополнительная информация WWW-сервер Metro Link или адреса электронной почты отделов продаж и поддержки. или телефоны (954) 938-0283 и +1 954 938-0283 Xi Graphics предлагает высокопроизводительный X-сервер, который обеспечивает простую конфигурацию, поддержку нескольких видеоадаптеров и поставляется только в бинарной форме, в форме стандартного дистрибутива на дискетах для FreeBSD и Linux. Xi Graphics также предлагает высокопроизводительный X-сервер с поддержкой компьютеров класса laptop. Имеется бесплатная "демонстрационная" версия 5.0. Xi Graphics также предлагает Motif и CDE для FreeBSD (смотрите выше). Дополнительная информация Xi Graphics WWW page или Sales или Support по email. или телефон (800) 946 7433 или +1 303 298-7478. 4.4. Существуют ли СУБД для FreeBSD? Да! Обратитесь к разделу Поставщики программного обеспечения на веб-сервере FreeBSD. Также посмотрите раздел Базы данных Коллекции портов. 4.5. Можно ли запустить Oracle на FreeBSD? Да. Руководство по настройке Linux-Oracle на FreeBSD находится по следующим адресам: * http://www.scc.nl/~marcel/howto-oracle.html * http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd ------------------------------------------------------------------------------- Chapter 5. Прикладные программы 5.1. Итак, где находятся все прикладные программы? 5.2. Почему возможности /bin/sh так малы? Почему бы во FreeBSD не использовать bash или какой-либо другой командный процессор? 5.3. Где найти библиотеку libc.so.3.0? 5.4. Выдаются сообщения Error: can't find libc.so.4.0 5.5. ghostscript выдаёт массу сообщений на моём 386/486SX. 5.6. При запуске приложения SCO/iBCS2, оно прерывается на socksys (только во FreeBSD 3.0 и более ранних версий). 5.7. Как настроить INN (Internet News) на моей машине? 5.8. Какую версию Microsoft FrontPage я должен иметь? 5.9. Поддерживает ли FreeBSD среду Java? 5.10. Почему некоторый порт не компилируется на моей машине с 3.X-STABLE? 5.11. Где найти ld.so? 5.1. Итак, где находятся все прикладные программы? Пожалуйста, загляните на страницу портов, содержащую информацию о программных продуктах, перенесённых во FreeBSD. На данный момент в этом списке находится более 3400 приложений и он ежедневно увеличивается, так что почаще туда загляды вайте или подпишитесь на список рассылки freebsd-announce, в котором публикуется информация о появлении новых приложений. Большинство портов предназначено для веток 2.2, 3.x и 4.x, и многие из них должны нормально работать на системах версий 2.1.x. При выходе нового релиза FreeBSD в него в каталог ports/ включается актуальная на момент выхода коллекция портов. Мы также поддерживаем концепцию "пакаджа", являющегося не более чем упакованным дистрибутивом в бинарной форме с некоторыми встроенными возможностями по его настройке во время установки. Пакадж может быть легко проинсталлирован и деинсталлирован снова без углубления в детали того, какие файлы должны быть инсталлированы. Используйте меню установки пакаджей в /stand/sysinstall (в пункте меню post-configuration) или запускайте pkg_add(1) с указанием конкретных файлов с пакаджами, которые вы хотите проинсталлировать. Файлы с пакаджами, как правило, идентифицируются по их суффиксу .tgz, а для тех, кто имеет дистрибутив системы на компакт-диске, предназначен каталог packages/All, содержащий все эти файлы. Они также могут быть получены по сети для разных версий FreeBSD со следующих серверов: для 2.2.8-RELEASE/2.2.8-STABLE ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/ для 3.X-RELEASE/3.X-STABLE ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/ для 4.1-RELEASE/4-STABLE ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/ для 5.X-CURRENT ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/ или с ближайшего к вам зеркального сервера. Имейте в виду, что не все порты могут быть доступны в виде пакаджей, так как постоянно идёт добавление новых. Неплохо время от времени проверять, какие пакаджи доступны на основном сервере ftp.FreeBSD.org. 5.2. Почему возможности /bin/sh так малы? Почему бы во FreeBSD не использовать bash или какой-либо другой командный процессор? Потому что в стандарте POSIX сказано, что все командные процессоры должны вести себя так же, как shell. Более подробный ответ заключается в следующем: многим требуется, чтобы разрабатываемые скрипты для командного процессора были переносимы между многими системами. Именно поэтому в POSIX очень подробно описан командный процессор и набор утилит. Большинство скриптов пишутся на языке процессора Bourne shell, к тому же некоторые важные программные вызовы (make(1), system(3), popen(3) и их аналоги на языках скриптов высокого уровня, таких как Perl или Tcl) предполагают для интерпретации команд использование именно Bourne shell. Так как Bourne shell используется столь широко и часто, то очень важно, чтобы он стартовал очень быстро, его поведение было строго регламентировано и при этом потребности в оперативной памяти были малы. В имеющейся реализации мы приложили максимум усилий для воплощения в жизнь всех этих требований одновременно. Для того, чтобы сохранить /bin/sh небольшим по размеру, мы не включили многие из обычных возможностей, которые имеются в других командных процессорах. Однако в Коллекцию Портов включены командные процессоры, обладающие гораздо большими возможностями, такие, как bash, scsh, tcsh и zsh. (Вы можете сами сравнить использование памяти всеми этими оболочками, посмотрев в колонки "VSZ" и "RSS" вывода команды ps -u). 5.3. Где найти библиотеку libc.so.3.0? Похоже, что вы пытаетесь запустить пакадж, построенный в системе версии 2.2 и в ыше, на системе версии 2.1.x. Пожалуйста, прочтите предыдущий раздел и найдите подходящий для вашей системы порт или пакадж. 5.4. Выдаются сообщения Error: can't find libc.so.4.0 Вы случайно скачали пакаджи, предназначенные для систем версий 4.X и 5.X и пытались установить их на вашей системе FreeBSD версий 2.X или 3.X. Пожалуйста, скачайте подходящие версии пакаджей. 5.5. ghostscript выдаёт массу сообщений на моём 386/486SX. У вас нет сопроцессора, верно? Вам нужно добавить в ядро другой эмулятор сопроцессора; это делается добавлением следующей строки в файл конфигурации ядра и последующей его перекомпиляцией. options GPL_MATH_EMULATE Note: Если вы поступаете таким образом, вам нужно будет убрать опцию MATH_EMULATE. 5.6. При запуске приложения SCO/iBCS2, оно прерывается на socksys (только во FreeBSD 3.0 и более ранних версий). Прежде всего вам нужно отредактировать файл /etc/sysconfig (или /etc/rc.conf), изменив в последнем разделе значение следующей переменной на YES: # Set to YES if you want ibcs2 (SCO) emulation loaded at startup ibcs2=NO Это включит загрузку модуля поддержки ibcs2 на этапе загрузки системы. Затем вам нужно изменить каталог /compat/ibcs2/dev так, чтобы он выглядел следующим образом: lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys -rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx Работа с socksys была значительно упрощена по сравнению с более ранними в ерсиями. Socksys должен указывать на /dev/null, чтобы обмануть open & close. Код, имеющийся в -CURRENT, возьмёт на себя всё остальное. Если вам нужен драйв ер spx для подключения X по локальному сокету, определите переменную SPX_HACK при компиляции системы. 5.7. Как настроить INN (Internet News) на моей машине? После установки пакаджа или порта для inn, для начала загляните на страничку Дэйва Бэрра (Dave Barr), посвящённую INN, где вы найдёте соответствующий FAQ. 5.8. Какую версию Microsoft FrontPage я должен иметь? Используй порт, дурачок! Среди портов имеется Apache с поддержкой FrontPage. 5.9. Поддерживает ли FreeBSD среду Java? Да. Посетите страницу http://www.FreeBSD.org/java/. 5.10. Почему некоторый порт не компилируется на моей машине с 3.X-STABLE? Если вы используете FreeBSD версии, значительно отстающей от -CURRENT или -STABLE, вам нужен пакет обновления, который можно найти по адресу http:// www.FreeBSD.org/ports/. Если вы отслеживаете все изменения, то, скорее всего, кто-то внёс изменения в порт, так что он работает в -CURRENT, но не работает в -STABLE. Так как предполагается, что коллекция портов должна работать как в в етке -CURRENT, так и в ветви -STABLE, то, пожалуйста, пошлите сообщение об этой ошибке с помощью команды send-pr(1). 5.11. Где найти ld.so? Если вам необходимо запустить некоторые приложения в формате aout типа Netscape Navigator на Elf-машине, такой как 3.1-R и выше, то для этого требуется /usr/ libexec/ld.so и некоторые библиотеки в формате aout. Они включены в дистрибутив как compat22. Запустите /stand/sysinstall или install.sh в каталоге compat22, чтобы установить этот компонент. Прочтите также документы ERRATA от 3.1-R и 3.2-R. ------------------------------------------------------------------------------- Chapter 6. Конфигурирование ядра 6.1. Я хочу изменить настройки ядра. Это сложно? 6.2. Я не могу скомпилировать ядро. Отсутствует _hw_float. 6.3. Почему моё ядро такое большое (больше 10МБ)? 6.4. Конфликты прерываний при включении поддержки многопортовыx коммуникационных адаптеров. 6.5. Как включить поддержку накопителей QIC-40/80? 6.1. Я хочу изменить настройки ядра. Это сложно? Вовсе нет! Обратитесь к соответствующему разделу Руководства, который посвящён этому вопросу. Note: Рекомендуем сохранить копию вашего ядра в файл kernel.YYMMDD после того, как вы получите рабочую версию, для того, чтобы в следующий раз, если вы испортите что-либо в вашем конфигурационном файле, вы смогли загрузить это ядро, вместо того, чтобы начинать снова с kernel.GENERIC. Это, в частности, имеет смысл, если вы производите загрузку системы с контроллера, который не поддерживается в стандартном ядре GENERIC (из моего личного опыта). 6.2. Я не могу скомпилировать ядро. Отсутствует _hw_float. Позвольте мне угадать. Вы, наверное, удалили npx0 из вашего файла конфигурации ядра, потому что у вас нет сопроцессора, да? А вот и неправильно! :-) Строка npx0 ОБЯЗАТЕЛЬНА. Даже если у вас нет математического сопроцессора, вы должны в ключить поддержку устройства npx0. 6.3. Почему моё ядро такое большое (больше 10МБ)? Скорее всего, вы компилировали ядро в отладочном режиме. Ядра, построенные в этом режиме, содержат много символьной информации, которая используется для отладки и сильно увеличивает размер ядра. Заметьте, что, если вы работаете с FreeBSD версии 3.0 и старше, то уменьшения производительности при использовании отладочного ядра нет или оно незначительно, однако отладочное ядро полезно иметь под рукой на случай аварийного завершения работы системы. Однако, если вы испытываете нехватку дискового пространства или просто не хотите использовать отладочное ядро, проверьте, что имеют место следующие две в ещи: * В конфигурационном файле вашего ядра нет строчки, имеющей такой вид: makeoptions DEBUG=-g
Секция 4 из 10 - Предыдущая - Следующая
Вернуться в раздел "Семейство UNIX" - Обсудить эту статью на Форуме |
Главная - Поиск по сайту - О проекте - Форум - Обратная связь |