su13@pochta.ru

| Первый | Второй | Третий | Четвёртый | Пятый | Шестой | Седьмой |


FreeBSD

Преимущества

Цели FreeBSD

Почему именно "FreeBSD"?

Free BSD-stable

FreeBSD доступна только для персональных компьютеров?

Кто разрабатывает FreeBSD?

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

Телеконференции по FreeBSD

IRC (Internet Relay Chat) no FreeBSD

Установка

Соединение двух машин с FreeBSD через параллельные порты (PLIP)

Установка системы на лаптоп через FLIP (Parallel Line IP)

Какие параметры диска необходимо использовать

Ограничения на разбиение диска

Использование менеджеров диска

Сообщение "Missing Operating System" при загрузке

Установка исходных текстов системы

Перекомпилирование ядра

Сообщение "panic: cant mount root" после перезагрузки только что установленной системы

Ограничения на оперативную память

Ограничения для файловой системы ffs

Размещение файлов размером 1ТБ на дискету

Сообщение об ошибке "archsw.readin.failed" при компиляции нового ядра

"Железо", поддерживаемое FreeBSD

Проблемы с "железом"

Софт для FreeBSD

Конфигурирование ядра

Системное администрирование

X Window System и виртуальные консоли

Работа в сети

Коммуникационные порты

Free BSD - это расширенная версия операционной системы BSD UNIX для "PC-совместимых" компьютеров, разрабатываемая и поддерживаемая большой группой людей.

Преимущества

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

Полномасштабное Internet-решение

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

Огромное количество приложений

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

Простота инсталляции

FreeBSD может быть установлена с любого из перечисленных носителей: CD-ROM, флоппи-диск, магнитная лента, раздел MS-DOS, или, если у вас есть доступ к сети, вы сможете установить FreeBSD используя анонимный доступ к FTP-серверу или NFS. Все что вам нужно - это пара дискет 1.44 MB.

FreeBSD распространяется бесплатно

Несмотря на то, что обычно операционная система с такими преимуществами продается за большие деньги,

FreeBSD распространяется бесплатно и поставляется вместе с исходными текстами.

Цели FreeBSD

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

Исходный код, подпадающий под действие GNU General Public License (GPL) или GNU Library General Public License (LGPL), имеет несколько больше ограничений, хотя и представляет собой навязывание доступа к исходным текстам, а не наоборот, как обычно.

Почему именно "FreeBSD"?

Она может использоваться безо всяческих выплат, даже для извлечения выгоды.

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

Любой, у кого есть усовершенствования и/или исправления, может предоставить свой код и он будет (правда, с парой оговорок) добавлен в исходные тексты системы.

Слово "free" используется здесь в двух смыслах, один означает "бесплатно", а другой "вы можете делать все, что хотите".

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

FreeBSD-current

Free BSD-current - это версия операционной системы, находящаяся в стадии разработки до момента выпуска 4.0-RELEASE. Таким образом, она представляет реальный интерес только для разработчиков системы и её фанатов.

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

Из ветви -current регулярно делаются снэпшоты, некоторые из которых доступны на CD-ROM. Их предназначение:

Не утверждается, что всякий снапшот имеет качество "готового продукта". Для стабильной и надежной работы вам нужно подождать полного релиза.

Снапшоты доступны непосредственно с ftp://current.freebsd.org/pub/FreeBSD/ и, как правило, генерируются ежедневно для веток 4.0-current и 3.0-stable.

FreeBSD-stable

После того, как была выпущена FreeBSD 2.0.5, было решено разделить разработку FreeBSD на две части. Одна ветка была названа -stable, с тем предназначением, что в ней будут делаться только хорошо оттестированные исправления и маленькие последовательные усовершенствования (для провайдеров услуг Интернет и других коммерческих пользователей, для которых неожиданные изменения или экспериментальные возможности весьма нежелательны). Другой ветвью является -current, которая по существу является прямой линией, ведущей к 4.0-RELEASE (и последующим) с тех пор, как была выпущена 2.0. Если вам поможет картинка, то вот как это выглядит:

2.0

I

I

| [2.1-stable]

*ВЕТВЬ* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [конец 2.1-stable]

I (Мар 1997)

I

I

I [2.2-stable]

*ВЕТВЬ* 2.2.1 -o> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [конец]

I (Map 1997) (Опт 97) (Апр 98) (Иол 98) (Дек 98)

I

З.О-SNAPs; (начало в I квартале 1997)

I

I

3.0.0-RELEASE (Оч 1998) I

I [3.0-stable]

*ВЕТВЬ* 3.1 (Фев 1999) -> 3.2 -> ... будущие релизы 3.x ...

I (Май 1999)

\|/

[продолжение 4.0-current]

+

Ветвь -current постепенно переходит в 4.0 и выше, тогда как предыдущая ветвь, 2.2-stable, была вытеснена релизом 2.2.8. Теперь его заменила ветвь 3.3-stable. "Текущей веткой" сейчас является 4.0-current, первый релиз которой появится в первом квартале 2000 года.

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

В среднем новые версии выпускаются примерно каждые четыре месяца.

Для тех, кому не терпится, предназначены SNAP-релизы, выпускаемые более часто, в частности, в течении месяца перед релизом.

FreeBSD доступна только для персональных компьютеров?

В настоящее время FreeBSD 3.x работает как на архитектуре х86, так и на платформе DEC Alpha. Некоторый интерес был проявлен к переносу на SPARC, однако подробности этого проекта ещё не ясны.

Если ваш компьютер имеет другую архитектуру и вам нужно что-то прямо сейчас, советуем попробовать NetBSD или OpenBSD.

Кто разрабатывает FreeBSD?

Решения, которые касаются ключевых моментов в проекте FreeBSD, такие, как общее направление развития проекта или кто может добавлять код к дереву исходных текстов, принимаются основной командой разработчиков (core team), состоящей из 15 человек. Также существует гораздо большая группа из более 150 коммиттеров (committers), которые могут делать изменения прямо в дереве исходных текстов FreeBSD.

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

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

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

Телеконференции по FreeBSD

BSD

Другие

X Window

IRC (Internet Relay Chat) no FreeBSD

БОЛЬШИНСТВО сетей IRC имеют канал FreeBSD.

Канал #FreeBSD в сети EFNet посвящён FreeBSD, но не обращайтесь туда за технической поддержкой и даже не пытайтесь найти человека, который поможет вам обойтись без чтения страниц Справочника или собственных изысканий. Этот канал предназначен в первую и основную очередь для общения, и в круг обсуждаемых тем входит секс, спорт, ядерное оружие, как будто это и есть FreeBSD. В общем, вас предупредили! Канал доступен на сервере irc.chat.org.

Канал #FreeBSD в сети DALNET доступен на сервере irc.dal.net в США и на irc.eu.dal.net в Европе.

Канал # FreeBSD в сети UNDERNET доступен на серверах us.undernet.org в США и eu.undernet.org в Европе. Похож на канал в сети EFNET - не задавайте вопросов или научитесь задавать их чрезвычайно вежливо, если хотите получить помощь. Это канал для общения, а не для получения помощи.

Установка

Какой файл нужно скачать для установки FreeBSD?

В общем случае вам нужен только один файл floppies/boot.flp, содержащий образ, который вам нужно будет перенести на дискету 1.44Мб и затем загрузиться с неё для того, чтобы скачать все остальное (в процессе установки вам нужно будет задавать параметры соединения TCP/IP, конфигурацию лент, приводов CD-ROM, дискет, разделов DOS и всего, что будет необходимо для успешной инсталляции).

Если вы хотите скачать дистрибутив самостоятельно (например, для установки с раздела DOS), вот список рекомендованных частей дистрибутива:

bin/

manpages/

compat*/

doc/

src/ssys.*

Подготовка загрузочной дискеты

На дискету размером 3.5 дюйма (1.44Мб) может поместиться 1474560 байт данных. Образ дискеты имеет размер ровно 1474560 байт.

Типичные ошибки при подготовке загрузочной дискеты:

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

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

FreeBSD 2.1.7 была последней версией, которую можно было проинсталлировать на системе с 4Мб ОЗУ. Более новые версии FreeBSD, типа 2.2, требуют по крайней мере 5Мб ОЗУ для установки.

Все версии FreeBSD, включая 3.0, будут работать на 4Мб ОЗУ, просто на 4Мб нельзя запустить инсталляционную программу. Вы можете добавить дополнительную память для инсталляции, если вам это нужно, а после того, как система будет установлена и запущена, вернуться к конфигурации с 4Мб. Или вы можете подключить ваш диск к компьютеру с ОЗУ, большим чем 4Мб, проинсталлировать систему и переставить диск обратно.

Есть ещё несколько причин, по которым FreeBSD 2.1.1 не будет устанавливаться с 4Мб. А именно: она не будет устанавливаться на системе с 640Кб основной и 3Мб дополнительной памяти. Если ваша материнская плата может перемещать некоторую "потерянную" память из области 640Кб в область 1 Мб, тогда может быть, вы сможет* запустить FreeBSD 2.I.7.

Попробуйте войти в настройку вашего BIOS и посмотреть параметры "перемещения" (remap). Включите его. Может быть, еще понадобится выключить теневое ПЗУ (ROM shadowing).

Может быть, самое простое решение - найти еще 4Мб на время инсталляции. Откомпилируйте ядро только с теми параметрами, которые нужны и затем уберит* 4Мб.

Вы можете также проинсталлировать версию 2.0.5, а здтем обновить вашу систему до 2.1.7с помощью пункта o upgrade программы инсталляции 2.1.7.

После установки вы можете построить ядро, которое будет работать на 4Мб. Кто-то даже умудрялся загружаться 2Мб (хотя система в основном была неработоспособна).

Windows 98 и FreeBSD

Сначала проинсталлируйте Windows 98, затем FreeBSI Менеджер загрузки FreeBSD будет управлять процессом загрузки Win95 или FreeBSD, Если вы после этого ещё раз проинсталлируете Windows 98, то в процессе установки менеджер загрузки будет грубо удалён. Если такое случится обратитесь к следующему разделу.

Если Windows 95 уничтожила менеджер загрузки, то в можете переустановить менеджер загрузки FreeBSD двумя способами:

Запустите DOS, перейдите в каталог tools/ вашего дистрибутива FreeBSD и найдите программу bootinst.exe. Запустите её следующим образом: bootinst.exe boot.bin и менеджер загрузки будет переустановлен.

Загрузитесь с установочной дискеты FreeBSD и перейдите в меню установки Custom install. Выберите пункт Partition. Выберите устройство, на котором будет располагаться для ваш менеджера загрузки (это будет самый первый диск) и когда вы перейдете к редактированию разделов, первым делом (то есть ещё не делая никаких изменений) выберите (\V)rite. Последует запрос на подтверждение, ответьте yes, и когда вы попадёте

в меню выбора менеджера загрузки, выберите пункт Boot Manager. Менеджер загрузки будет переписан на диск. Теперь нужно выйти из меню установки и загрузиться с винчестера как обычно.

Использование диска с повреждёнными блоками

Программа обнаружения повреждённых блоков (bad 144) помогает не во всех 100% случаев; можно, к сожалению, сказать, что если у вас диск IDE или ESDI с большим количеством повреждённых блоков, то FreeBSD, похоже, не для вас. Однако она работает на тысячах систем с повреждёнными дисками, так что лучше всего сначала всё же попробовать самим.

Проблемы при загрузке с инсталляционного диска

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

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

Вы скачали образ дискеты в двоичном режиме (не смущайтесь, даже лучшие из нас время от времени скачивают двоичный файл в режиме ASCII)?

Если вы используете все эти свежеиспеченные операционные системы типа Windows95 или WindowsNT, удостоверьтесь, что вы их закрыли и перестартовали машину в добром старом DOS? Похоже, что эти операционные системы могут влиять на программы, работающие непосредственно с оборудованием, что и делает программа создания установочного диска; даже запуск из DOS в графической оболочке может вызвать проблемы.

Есть сведения, что Netscape вызывает проблемы при скачивании загрузочного диска, так что лучше всего использовать специальную программу FTP, если она у вас есть.

Проблема установки системы с ленты

Если вы инсталлируете 2.1.7R с ленты, вы должны создать ленту с размером блока tar, равным 10 (5120 байт). Размер блока tar по умолчанию равен 20 (10240 байт), поэтому ленты, созданные со стандартным размером блока, не могут быть использованы для установки 2.1.7R; вы получите сообщение об ошибке, говорящее, что размер записи слишком большой.

Соединение двух машин с FreeBSD через параллельные порты (PLIP)

Для этого нужен соединительный шнур типа laplink и на обеих машинах должна быть включена поддержка драйвера Ipt.

$ dmesg. | grep lp

Ipt0 at 0x378-0x37f irq 7 on isa

Ipt0: Interrupt-driven port

Ip0: TCP/IP capable interface

Подключите кабель laplink к параллельным портам компьютеров.

Настройте параметры сетевого интерфейса 1рО на обей: машинах, войдя администратором. Например, если вы хотите соединить хосты с именами max и moritz:

max <-------> moritz

IP Address 10.0.0.1 10.0.0.2

на машине max дайте команду:

# ifconfig ZpO 10.0.0.1 10.0.0.2

на машине moritz запустите:

# ifconfig IpO 10.0.0.2 10.0.0.1

Вы также должны добавить эти хосты в файл /etc/hosts:

127.0.0.1 localhost.my.domain localhost

10.0.0.1 max. my. domain max

10.0.0.2 moritz.my.domain moritz

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

Установка системы на лаптоп через РLIP (Parallel Line IP)

Для этого нужно соединить два компьютера параллельным кабелем Laplink следующим образом:

A- name A- End B-End Descr . Port/Bit
DATА0

-ERROR

2

15

15

2

Data 0/0x01

1/0x08

DATA1

+SLCT

3

13

13

3

Data 0/0x02

1/0x10

DATA2

+PE

4

12

12

4

Data 0/0x01

1/0x20

DATA3

-ACK

5

10

10

5

Strobe 0/0x08

1/0x40

DATA4

BUSY

6

11

11

6

Data 0/0x10

1/0x80

GND 18-25 18-25 GND -

Какие параметры диска необходимо использовать

Под "параметрами" диска мы понимаем число. дорожек, головок и секторов на дорожку на диске, что для простоты обозначается как C/H/S. Именно так работает BIOS персональных компьютеров при чтении или записи диска).

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

Для дисков IDE, FreeBSD работает в терминах C/H/S, но во всех современных дисках они преобразовываются во внутреннее представление.

Имеет значение только-логические параметры - это то, что получает BIOS, когда спрашивает "какие у тебя параметры?", а затем использует для обращения к диску. Так как FreeBSD использует BIOS при загрузке, очень важно получить верные параметры. В частности, если у вас на диске находятся несколько операционных систем, они обе должны иметь одинаковое представление о параметрах диска, иначе серьёзные проблемы при загрузке неизбежны!

В случае дисков SCSI, параметры используются в зависимости от того, включена ли поддержка расширенной трансляции на вашем контроллере (что часто обозначается как support for DOS disks >1GB или что-то похожее). Если эта возможность выключена, то используйте N дорожек, 64 головки и 32 сектора на дорожку, где N - это ёмкость диска в мегабайтах. Например, 2-х гигабайтный диск должен иметь 2048 дорожек, 64 головки и 32 сектора на дорожку.

Если трансляция включена (что обычно используется для преодоления некоторых ограничений MSDOS) и ёмкость диска превышает 1ГБ, используется М дорожек, 63 сектора на дорожку (не 64!) и 255 головок, где М - это объём диска в мегабайтах, поделённый на 7.844238 (!). Таким образом, наш диск объёмом 2ГБ будет иметь 261 дорожку, 63 сектора на дорожку и 255 головок.

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

Кроме того, существует свободно доступная утилита, распространяемая вместе с FreeBSD, которая называется pfdisk.exe (можно найти в каталоге tools компакт-диска с FreeBSD или на различных ftp-серверах), которую можно использовать для определения параметров, которые используются другими операционными системами, расположенными на вашем диске. Затем вы можете использовать эти параметры в редакторе разделов.

Ограничения на разбиение диска

Вы должны убедиться, что корневой раздел находится , до 1024 дорожки, так Чтобы BIOS могла загрузить с него

ядро. (Заметьте, что это ограничение BIOS компьютера, а не FreeBSD).

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

Использование менеджеров диска

FreeBSD распознаёт Ontrack Disk Manager и допускает его использование. Другие менеджеры дисков не поддержи ваются.

Если вы хотите использовать диск с FreeBSD, вам не нужен менеджер диска. Отконфигурируйте диск на столько пространства, сколько сможет обработать BIOS (обычно 504 мегабайта) и FreeBSD распознает, сколько места у вас есть на самом деле. Если вы используете старый диск с контроллером MFM, вам может потребоваться точно указат! FreeBSD количество используемых дорожек.

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

Сообщение "Missing Operating System" при загрузке

Это классический случай, когда FreeBSD и DOS или другая операционная система конфликтуют по поводу параметров диска. Вам нужно будет переустановить FreeBSD.

Установка исходных текстов системы

В общем случае, эта установка необязательна. Однако мы настоятельно рекомендуем проинсталлировать, как минимум, исходные тексты набора base, включающий некоторые файлы, здесь упоминаемые, и sys, в который включены исходные тексты ядра. Для работы системы присутствия исходных текстов не требуется, разве что для программы конфигурирования ядра config. За исключением исходных текстов ядра, структура исходных текстов системы позволяет монтировать её в режиме "только для чтения" через NFS и компилировать программы.

Из-за ограничения на исходные тексты ядра рекомендуется монтировать их не прямо в /usr/src, а в какой-нибудь другой каталог с символическими ссылками для дублирования структуры каталогов.

Наличие исходных текстов системы значительно облегчает процесс обновления до новых версий FreeBSD.

Для выбора подмножества исходных текстов, которое вы хотите установить, используйте пункт меню Custom, когда находитесь в меню Distributions программы установки. Скрипт src/install.sh также инсталлирует часть исходных текстов, в зависимости от указанного при запуске параметра.

Перекомпилирование ядра

Построение нового ядра всегда было необходимым шагом при установке FreeBSD, однако последние релизы предоставляют более дружественный инструмент конфигурации ядра. В командной строке на приглашение загрузчика FreeBSD (boot:) введите -с и вы попадёте в экран' визуальной настройки, которая позволяет конфигурировать настройки ядра для большинства адаптеров ISA.

Однако рекомендуется, что потом вы всё же построите новое ядро, содержащее только те драйвера, которые вам нужны, для того, чтобы сэкономить немного ОЗУ, хотя для большинства систем это больше не является крайней необходимостью.

Сообщение "panic: cant mount root" после перезагрузки только что установленной системы

Эта ошибка проявляется, когда есть несогласование между представлениями загрузочного блока и ядра о дисковых устройствах. Эта ошибка обычно проявляется на системах с двумя дисками IDE, с винчестерами, установленными как ведущий или единственный на отдельных контроллерах IDE, с FreeBSD, инсталлированной на втором контроллере IDE. Загрузочные блоки думают, что система установлена на wdl (второй диск BIOS), тогда как ядро даёт первому диску на втором контроллере название wd2. После обнаружения устройства ядро пытается смонтировать то, что загрузочные блоки выдают за загрузочный диск, wdl, тогда как он на самом деле wdl, и ошибается.

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

чтобы сделать это строкой загрузки по умолчанию.

controller wdcO at isa? port "IO_WD1" bio irq 14 vector wdintr

disk wdO at wdcO drive 0

# disk wdl at wdcO drive 1 " comment out this line

controller wdd at isa? port "IO_WD2" bio irq 15 vector wdintr

disk wdl at wdd drive 0 # change from wd2 to wdl

disk wd2 at wdd drive 1 # change from wd3 to wd2

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

Ограничения на оперативную память

Теоретическое ограничение на память равно 4 гигабайтам. Тестировался случай с одним гигабайтом; как правило, вы не сможете приобрести персональный компьютер, поддерживающий больший объём ОЗУ.

Ограничения для файловой системы ffs

Для файловой системы ffs максимальный теоретический размер равен 8 терабайтам (2Г блоков) или 16ТБ при стандартном размере блока 8К. На практике есть программное ограничение в 1 терабайт, но с некоторыми модификациями достижимы 4 гигабайта (и такие системы существуют).

Максимальный размер одного файла ffs равен примерно 1Г блоков (4ТБ) при размере блока 4К.

максимальный размер файла
размер блока fs -stable -current 2.2.7

работает

3.0

должно работать

4Т-1 4Т-1 4Т-1 4+Т
32+G 8Т-1 32+G 16Т-1
16К 128+G 16Т-1 128+G 32Т-1
32К 512+G 32Т-1 512+G 64Т-1
64К 2048+G 64Т-1 2048+G 128Т-1

При размере блока файловой системы 4К, тройная адресация блоков работает и всё должно быть ограничено максимальным количеством блоков, которое задаётся в виде тройной переадресации блока (примерно I К3 + I К2 + l К), однако всё ограничивается (ошибочным) лимитом 1Г-1 на количество блоков файловой системы. Это ограничение должно быть равным 2Г-1. При количестве блоков, приближающемся к 2Г-1, появляются некоторые ошибки, но этот предел недостижим при размере блока 4К.

При размере блока 8К и больше, всё должно быть ограничено лимитом 2Г-1 на количество блоков файловой системы, но реально ограничено пределом в 1 Г-1 на число блоков файловой системы, кроме случая -stable, недостижимый при тройной переадресации, так что предел равен максимальному числу блоков файловой системы, который может бить представлен через двойную переадресацию (примерно (размер блока/4)2 + (размер блока/4)), и под -current превышение этого ограничения может вызвать проблемы. Использование верного ограничения в 2Г-1 блоков вызывает проблемы.

Размещение файлов размером 1ТБ на дискету

Максимальный размер файла не связан непосредственно с максимальным размером диска. Максимальный размер диска равен 1ТБ. Особенностью является то, что размер файла может превышать размер диска.

В следующем примере создаётся файл размером 8Т-1 с помощью всего 32К дискового пространства (3 блока адреса и 1 блок данных) на маленьком корневом разделе. Команда dd должна уметь работать с большими файлами.

ttyv0:bde@alphplex:/tmp/q> cat foo

df .

dd if=/dev/zero of=z bs=1 seek='echo 2"43 -2 | be' count=1

Is -l z

du z

df .

ttyv0:bde@alphplex:/tmp/q> sh foo

Filesystem 1024-blocks Used Avail Capacity Mounted on

/dev/sd0a 64479 27702 31619 47% /

1+0 records in

1+0 records out

1 bytes transferred in 0.000187 sees (5346 bytes/sec)

-rw-r-r-- 1 bde bin 8796093022207 Sep 7 16:04 z

32 z

Filesystem 1024-blocks Used Avail Capacity Mounted on

/dev/sd0a 64479 27734 31587 47% /

ttyv0:bde@alphplex:/tmp/q> exit

Сообщение об ошибке "archsw.readin.failed" при компиляции нового ядра

Вы можете осуществить загрузку системы, явно указав ядро во время второго этапа загрузочного процесса, нажав любую клавишу после появления символа | до запуска загрузчика. Более точно, вы обновили исходные тексты ядра, откомпилировали и установили новое ядро без выполнения make world. Такое не поддерживается. Выполните make world.

"Железо", поддерживаемое FreeBSD

Типы винчестеров

FreeBSD работает с дисками стандартов EIDE и SCSI (с соответствующими контроллерами), и всеми дисками, использующими оригинальный интерфейс "Western Digital" (MFM, RLL, ESDI и, конечно же, IDE). Некоторые контроллеры ESDI, использующие собственные интерфейсы, могут и не работать: к таким относятся WD1002/3/6/7 и их клоны.

Приводы CD-ROM

Поддерживаются любые SCSI-устройства чтения компакт дисков, подключенные к поддерживаемому контроллеру. Кроме того, поддерживаются следующие оригинальные интерфейсы:

Bce не-SCSI адаптеры ставятся своей медлительностью по сравнению со SCSI, а некоторые CD-ROM стандарта ATAPI могут и не работать.

С версии 2.2 компакт-диск с FreeBSD от Walnut Creek является загрузочным.

Устройства ZIP

FreeBSD поддерживает ZIP-устройства SCSI. Устройству ZIP могут быть назначены SCSI ID только 5 или 6, и если BIOS вашего SCSI-адаптера поддерживает такую возможность, вы можете с него даже загрузиться. Пока не известны адаптеры, позволяющие загрузиться с устройств, номера которых отличны от 0 или 1...

Устройства ZIP стандарта ATAPI (IDE) поддерживаются FreeBSD начиная с версии 2.2.6.

FreeBSD поддерживает устройства Zip, работающие через параллельный порт, начиная с версии 3.0. Если вы Используете более новую версию, проверьте, содержит ли ваше ядро драйверы для scbusO, daO, ppbusO и vpO (ядро GENERIC содержит всё это, кроме vpO). Если эти драйверы имеются, то устройство должно быть доступно как /dev/daOs4. Диски могут быть смонтированы командами mount /dev/daOs4 /mnt или (для дисков dos) mount_msdos /dev/daOs4 /mnt.

Съёмные диски типа JAZ или EZ

Кроме IDE-варианта устройства EZ, это всё устройств* SCSI, так что для FreeBSD все они должны выглядеть как диски SCSI, a IDE EZ должен выглядеть как диск IDE.

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

Манипуляторы типа "мышь"

FreeBSD поддерживает мыши типов bus mouse и InPor bus mouse от таких производителей, как Microsoft, Logitech i ATI. Драйвер устройства bus mouse включен по умолчанию ядро GENERIC. Если вы строите собственное ядро с этим драйвером, добавьте следующую строку в конфигурационный файл ядра:

device mse0 at isa? port 0x23c tty irq5 vector mseintr

Мышь типа bus mouse обычно поставляется с отдельным интерфейсным адаптером. Он позволяет установить адрес порта ввода/вывода и номер IRQ, отличающиеся от приведённых выше.

При использовании мыши PS/2 (типа "mouse port" ил "keyboard"), если вы используете FreeBSD версии выше, чем 2.2.5, то необходимый драйвер, psm, включён в ядро и активизирован. Ядро должно обнаружить мышь PS/2 во время загрузки.

Если вы работаете с предыдущей, но сравнительно свежей версией FreeBSD (2.1.x и выше), то вы можете просто включить её поддержку в меню конфигурации ядра во время инсталляции, либо позже, указав -с в приглашении boot:. По умолчанию она отключена, так что вы должны включить её явно.

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

device psm0 at isa? port "I0_KBD" conflicts tty irq 12 vector psmintr

После того, как ядро правильно обнаружило psmO во время загрузки, проверьте существование файла устройства для psmO в каталоге /dev. Это можно сделать, набрав:

cd /dev; sh MAKEDEV psm0

войдя в систему администратором.

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

Запустите демон мыши, moused, и включите отображение указателя мыши на консоли:

moused -p /dev/xxxx -t yyyy vidcontrol -m on

Здесь хххх - это имя устройства мыши, а уууу - тип протокола, используемого мышью. Страница Справочника о moused содержит информацию о поддерживаемых типах протоколов.

Вы можете запускать демон мыши автоматически во время старта системы. В версии 2.2.1, установите значение следующей переменной в /etc/sysconfig.

mousedtype="yyyy" mousedport="xxxx" mousedflags=""

В версиях 2.2.2 и выше, установите значения следующих переменных в /etc/re.conf.

moused_type*"yyyy>>, o

moused_port="xxxx"

moused_flags=""

Начиная с FreeBSD 2.2.6, демон мыши в состоянии определять тип протокола автоматически, если, конечно, мышь не достаточно древней модели. Укажите auto для автоматического определения типа протокола.

После запуска демона мыши, доступ к мыши должен согласовываться между демоном мыши и другими программами типа X Window.

Вырезать и копировать текст с помощью мыши в текстовой консоли можно следующим образом: после того, как вы запустили демон мыши, нажмите кнопку 1 (левую) и двигайте мышь для выбора области выделения. Затем нажмите кнопку 2 (среднюю) или кнопку 3 (правую) для вставки текста из буфера, начиная с текущей позиции курсора.

В версиях 2.2.6 и выше, нажатие на кнопку 2 вызовет вставку текста. Нажатие на кнопку 3 "расширит" выбранную область текста. Если у вашей мыши отсутствует средняя кнопка, вы можете её сэмулировать или переназначить кнопки опциями программы moused.

Типы стримеров

FreeBSD поддерживает стримеры с интерфейсами SCSI, QIC-36 (с интерфейсом QIC-02) и QIC-40/80 (на основе НГМД), включая 8-мм (Exabyte) и DAT. Стримеры QIC-40/80 сравнительно медленные.

Некоторые ранние модели 8-мм стримеров не совсем соответствуют стандарту SCSI-2 и могут работать не совсем хорошо.

Роботы для смены лент

FreeBSD 2.2 поддерживает SCSI-чейнджеры через устройство ch и команду chio.

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

Звуковые платы

FreeBSD поддерживает звуковые платы SoundBlaster, SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound. Имеется ограниченная поддержка MPU-401 и совместимых с ним адаптеров. Адаптеры, удовлетворяющие спецификации Microsoft Sound System, также поддерживаются драйвером pern.

Важно: Это касается только звука! Этот драйвер не поддерживает CDROM, SCSI или джойстики на всех подобных адаптерах, кроме SoundBlaster. Поддерживаются устройства на SCSI-интерфейсе SoundBlaster и не-SCSI CDROM, но загрузиться с них нельзя.

Отсутствие математического сопроцессора

Важно: Это касается только владельцев компьютеров 386/486SX/486SLC - во всех остальных машинах модуль вычислений с плавающей точкой объединён с центральным процессором.

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

Важно: Некоторые математические сопроцессоры работают лучше, чем другие. Например, Intel пока никого не подводил. Если вы не уверены, что сопроцессор будет работать с FreeBSD, избегайте клонов.

Управление энергосбережением на лаптопах

FreeBSD поддерживает АРМ на некоторых машинах. Поищите в файле конфигурации ядра LINT слово АРМ.

Проблемы с "железом"

Запорченные блоки на винчестере

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

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

scsi -f /dev/rsdOc -nt 1 -e -P 3

и изменить значения параметров AWRE и ARRE с 0 на I:

AWRE (Auto Write Reallocation Enbld): 1

ARRE (Auto Read Reallocation Enbld): 1

Для дисков IDE появление запорченных блоков является признаком возможных неприятностей. Все современные IDE-диски поставляются с включенной возможностью переадресации испорченных блоков. Все производители винчестеров в 'настоящее время предоставляют расширенные гарантии и заменяют диски с запорченными блоками.

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

Иногда эти программы могут заставить электронику винчестера пересканировать диск в поисках испорченных блоков и заблокировать их.

В случае дисков стандартов ESDI, RLL и MFM, наличие испорченных блоков является обычным явлением не является большой проблемой. В ПК контроллер винчестера и BIOS берут на себя работу по блокировке испорченных блоков. Это прекрасно работает в случае операционных систем типа DOS, которые используют вызовы BIOS для доступа к диску. Однако драйвер диска в( FreeBSD не обращается к BIOS, поэтому для обеспечения подобной функциональности существует bad 144. bad!44 работает только с драйвером wd, её невозможно использовать со SCSI. bad!44 помещает вселийденные испорченные сектора в специальный файл.

У bad 144 имеется особенность - специальный файл с испорченными блоками помещается на последнюю дорожку диска. Так как этот файл может содержать список испорченных секторов, находящихся в начале диска, где может располагаться файл ядра /kernel, он должен быть доступен загрузчику, использующему вызовы BIOS для чтения файла ядра. Это значит, что диск, который использует bad 144, не должен иметь размеры, превышающие 1024 дорожки, 16 головок и 63 сектора. Это ограничивает размер диска, обрабатываемого bad144, 500 мегабайтами.

Для использования bad 144, просто установите Bad Block в положение ON на экране программы fdisk во время начальной установки. Это работает, начиная с FreeBSD 2.2.7. Диск должен иметь размер, не превышающий 1024 дорожки. Рекомендуется, чтобы до этого диск проработал не Менее 4 часов для перехода в рабочий тепловой режим и стабильный режим работы головок.

Если диск имеет размер, превышающий 1024 головки (как, например, большой диск ESDI), контроллер ESDI использует особый режим трансляции, чтобы это работало в DOS. Драйвер wd будет знать об этих режимах трансляции, если вы укажете на использование "преобразованных" параметров в команде set geometry программы fdisk. Вы также не должны использовать режим dangerously dedicated при выделении раздела для FreeBSD, так как при этом параметры диска не принимаются во внимание. Также, хотя fdisk будет использовать изменённые параметры, он всё же помнит настоящий размер диска, и попытается создать слишком большой раздел FreeBSD. Если параметры диска изменились на транслированные, раздел должен быть создан вручную с указанием количества блоков.

Самым быстрым способом является установка большого диска ESDI с контроллером ESDI, загрузка DOS и выделение на нём раздела DOS. Затем запустите инсталляционную программу FreeBSD и в экране программы fdisk найдите и запишите размер блока и их количество раздела DOS. Затем установите параметры в те же значения, которые использует DOS, удалите раздел DOS и создайте "совмешённый" раздел FreeBSD с ранее записанном размером блока. Затем установите загрузку с этого раздела и включите сканирование испорченных блоков.

Во время установки сначала, ещё до создания файловых систем, запустится bad 144 (вы можете это увидет по AU-F2).

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

Если переадресация включена и всё равно на диске присутствуют запорченные блоки, то, по-видимому, остаётся только заменить винчестер. Количество испорченных блоков с течением времени имеет тенденцию только увеличиваться.

FreeBSD не распознаёт EISA SCSI контроллер Bustek 742a

Нижеследующая информация специфична для 742а, может касаться и других адаптеров от Buslogic (Bustek = Buslogic).

Существуют две основных "версии" адаптеров 742а. Это аппаратные модификации A-G и модификации Н и выше. Буква, обозначающая модификацию, расположена после номера сборки на кромке адаптера. На адаптере 742а| установлены две микросхемы ПЗУ, одна содержит BIOS, a другая - микрокод (так называемое firmware). Для FreeBSI] не имеет значения используемая версия BIOS, но имеет значение версия микрокода. Buslogic высылает обновления для ПЗУ, если вы позвоните в их отдел технической поддержки. Михросхемы с BIOS и микрокодом поставляются соответствующими парами. В ПЗУ адаптера вы должны иметь самую последнюю версии микрокода вашей аппаратной модификации.

Адаптерам модификаций A-G может только подойти BIOS/Firmware версий вплоть до 2.41/2.21. Адаптерам модификаций Н и старше подходят самые последние BIOS/Firmware 4.70/3.37. Отличие между версиями микрокода заключается в том, что версия микрокода 3.37 поддерживает механизм "round robin".

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

FreeBSD 2.1 поддерживает микрокод модификаций только 2.21 и выше. Если у вас версия микрокода старее, чем эта, то адаптер не будет распознаваться как адаптер Buslogic. Однако он может быть опознан как Adaptec 1540. Ранние версии микрокода от Buslogic содержат режим "эмуляции" АНА1540. Однако для EISA-адаптера всё это выглядит как-то некрасиво.

Если у вас адаптер старой модификации и вы получили микрокод 2.21 для него, установите перемычку W1 в положение В-С, по умолчанию она находится в положении А-В.

SCSI-контроллер не распознается на HP Netserver

EISA-контроллеры SCSI, расположенные на материнской плате машин HP Netserver, занимают EISA-слот номер 11, так что все "настоящие" слоты EISA будут ему предшествовать. Так как адресное пространство для слотов EISA выше 10 пересекается с адресным пространством, предназначенным для PCI, то автоконфигуратор FreeBSD в настоящее время не может эту проблему нормально обойти.

Так что пока лучшее, что вы можете предпринять, это попытаться указать, что пересечения диапазонов адресов нет, установив опцию ядра EISA_SLOTS в значение 12.

Конечно, это даст вам типичную ситуации "курица или яйцо" при установке системы на такой машине. Для обхода этой проблемы внутри UserConfig есть специальный хак. Не используя "визуального" интерфейса, а только интерфейс командной строки, просто наберите:

eisa 12

quit

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

Надеемся, что будущие версии будут содержать полное решение этой проблемы.

Важно: Вы не сможете использовать режим dangerously dedicated на машинах HP Netserver.

Проблемы с IDE-контроллером CMD640

Этот контроллер не рабочий. Он не может отрабатывать команды на обоих каналах одновременно.

Решение этой проблемы существует и включается автоматически, если в вашей системе используется этот контроллер.

Если вы уже работаете с FreeBSQ 2.2.1 или 2.2.2 с IDE-контроллером CMD640 и хотите использовать второй канал, постройте новое ядро с включенной опцией options CMD640. В версии 2.2.6 и выше это включено по умолчанию.

Сообщения типа "ed1: timeout"

Обычно это вызвано конфликтом прерываний (например, двух адаптеров, использующих один и тот же IRQ). FreeBSD до версии 2.0.5R была нечувствительна к таким конфликтам, и драйвер сетевого адаптера оставался работоспособен даже при конфликтах IRQ. Однако с вереи 2.0.5R и выше, конфликты IRQ больше не считаются безобидными. Загрузитесь с опцией -с и смените строку, описывающую edO/deO/... на соответствующую вашей системе...

Если вы используете разъём BNC сетевого адаптера, тайм-ауты устройства могут быть вызваны плохим терминированием. Чтобы это проверить, подключите терминатор к адаптеру (без кабеля) и посмотрите, не исчезли ли сообщения об ошибках.

Некоторые ЫЕ2000-совместимые адаптеры выдают такую ошибку, если нет связи по UTP-порту или отключен кабель.

Сообщение "Incorrect super block" при монтировании компакт-диска

В параметрах команды mount вам нужно указать тип устройства, который вы собираетесь смонтировать. По умолчанию mount полагает, что монтируемая файловая система имеет тип ufs. При монтировании файловой системы CD-ROM нужно указать опцию -t cd9660 в команде mount. При этом конечно предполагается, что CD-ROM содержит файловую систему стандарта ISO 9660, как на большинстве CD-ROM. С версии 1.1R FreeBSD автоматически распознаёт также расширение Rock Ridge (для длинных имён файлов).

Например, если вы хотите смонтировать устройство CD-ROM /dev/cdOc, в каталог /mnt, вы должны выполнить следующую команду:

mount -t cd9660 /dev/cdOc /mnt

Заметьте, что имя устройства (/dev/cdOc в этом примере) может быть другим, в зависимости от интерфейса вашего CD-ROM.

Отметьте, что опция -t cd9660 всего лишь приводит к вызову команды mount_cd9660, так что пример выше может быть укорочен до такой команды:

mount_cd9660 /dev/cdOc /mnt

Сообщение "Device not configured" при монтировании компакт-диска

Обычно это означает, что в приводе CD-ROM нет компакт-диска либо устройство не было обнаружено на этапе загрузки. Вставьте в привод какой-нибудь диск, и/или проверьте его настройку как ведущего/ведомого устройства, если оно типа IDE (ATAPI). Для привода CD-ROM может потребоваться несколько секунд для обнаружения, что был вставлен диск, так что будьте терпеливыми.

Иногда SCSI CD-ROM может отсутствовать в системе из-за недостатка времени на ответ при сбросе шины.

Если ваш привод CD-ROM является

SCSI-устройством, пожалуйста, попробуйте добавить такой символ в ваш файл конфигурации ядра и перекомпилируйте его.

options "SCSI_DELAY=15"

Медленная работа принтера

Если принтер подключен к параллельному порту, и единственной проблемой является его медлительность, попробуйте установить порт в*режим polled:

Iptcontrol -р

Утверждается, что некоторые новейшие принтеры от HP не работают корректно в режиме прерываний, скорее всего из-за (это ещё не совсем точно выяснено) проблем с временными задержками.

Программы аварийно завершают работу с ошибкой "Signal 11"

Это может быть вызвано сбоями аппаратного обеспечением (память, материнская плата, и т.д.). Попробуйте запустить на вашем ПК программу тестирования памяти. Имейте в виду, что в случае незначительных отклонений в работе возможна ситуация, когда все программы тестирования, которые вы будете пробовать, будут утверждать, что с ОЗУ всё в порядке, а ошибка будет возникать при определённых условиях (таких, как использование DMA при использовании режима управления шиной контроллером SCSI типа Adaptec 1542, интенсивное обращение к ОЗУ при компиляции ядра или значительной нагрузке на систему).

Медленная память является самая распространённой причиной возникновения этой проблемы. Увеличьте число тактов ожидания в настройке BIOS или установите более быструю память.

Обычно, самой распространённой причиной была сбойная кэш-память или кэш-контроллер. Попробуйте отключить внешний кэш (второго уровня) в BIOS и посмотрите, не решит ли это вашу проблему.

Потеря синхронизации монитора при загрузке

Это известная проблема с видеоадаптерами ATI Mach 64. Она вызвана тем, что этот адаптер использует адрес 2е8, как и четвёртый последовательный порт. Из-за ошибки в драйвере sio.c он обращается к порту, даже если если он не существует, и даже если вы отключите sio3 (четвёртый порт) который, как правило, использует этот адрес ввода/вывода.

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

Если вам нужно использовать последовательные порты, вы должны построить новое ядро со следующей модификацией: в файле /usr/src/sys/i386/isa/sio.c найдите строчку, содержащую число Ох2е8 и удалите её вместе с предшествующий запятой (оставив следующую за ним). После этого следуйте обычным указаниям по построению ядра.

Даже после этих изменений вы можете обнаружить, что X Window работает ненормально. Некоторые новейшие видеоадаптеры ATI Mach 64 (например ATI Mach Xpression) не работают с текущей версией XFree86; экран темнеет при запуске X Window или работает со странностями. Вы можете получить бета-версию нового Х-сервера, который работает лучше, с сайта XFree86, перейдя по ссылке, указывающей на новый бета-релиз. Вам нужны следующие файлы: AccelCards, BetaReport, Cards, Devices, FILES, README.ati, README.FreeBSD, README.Mach64, RELNOTES, VGADriver.Doc, X312BMa64.tgz

Замените старые файлы новыми версиями и не забудьте снова запустить xf86config.

Использование системой только 64 МБ ОЗУ, при наличии 128 МБ

Так как для определения объёма памяти FreeBSD использует информацию BIOS, она ограничена 16 битами, используемыми для выражения размера ОЗУ в килобайтах (65535 КБ = 64МБ) (или меньше... некоторые BIOS ограничивают размеры памяти до 16МБ). Если у вас больше чем 64МБ ОЗУ, FreeBSD будет пытаться обнаружить эту память; однако эта попытка может и не удастся).

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

options "MAXMEM=<n>"

Здесь n - это объём памяти в килобайтах. Для машин со 128 МБ ОЗУ вам нужно использовать значение 131072.

Аварийное завершение работы с сообщением "kmem map too small!"

Важно: Сообщение может также выглядеть как mb_ma too small!

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

options "NMBCLUSTERS=<n>"

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

Сообщение "СМАР busy panic" при перезагрузке с новым ядром

Процедура определения устаревших фалов /var/db/kvm_*.db иногда даёт сбой и использует не те файл! что может вызвать аварийный останов системы.

Если это случилось, перезагрузитесь в однопользовательском режиме и выполните команду:

rm /var/db/kvm_*.db

ahcO: brkadrint, Illegal Hoet Access at seqaddr 0x0

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

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

Полноэкранные приложения на удалённой машине ведут себя неправильно!

На удалённой машине тип терминала может быть установлен в значение, отличное от типа терминала cons25, используемого на консоли FreeBSD

Есть несколько способов решения этой проблемы:

Сообщения "calcru: negative time..."

Выдача этих сообщений может быть вызвано различными аппаратными или программными проблемами, связанными с прерываниями. Это может быть связано как с ошибками при программировании, так и с природой самих устройств. Например, работа с TCP/IP по параллельному порту с использованием большого MTU приводит к этой проблеме, также как использование графических акселераторов; в последнем случае вы должны проверить настройку прерываний на графическом адаптере.

Одним из проявлений этой проблемы является прерывание работы процессов с диагностическим сообщением "SIGXCPU exceeded cpu time limit".

Если эта йрШшюма не может быть решена, для FreeBSD 3.0 от 29 ноября 1098 и выше измените значение системной переменной:

sysctl -w kern.timecounter.method=1

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

Софт для FreeBSD

Прикладные программы

Загляните на страницу портов, содержащую информацию о программных продуктах, перенесённых под FreeBSD. На данный момент в этом списке находится более 1800 приложений и он ежедневно увеличивается, так что почаще туда заглядывайте или подпишитесь на список рассылки freebsd-announce, в котором публикуется информация о появлении новых приложений.

Большинство портов предназначено для версий 2.2, 3.x и 4.0, и многие из них должны нормально работать на системах версий 2.1.x. При выходе нового релиза FreeBSD в него в каталог ports/ включается актуальная на момент выхода коллекция портов.

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

Используйте меню установки пакаджей в /stand/sysinstall (в пункте меню post-configuration) или запускайте pkg_add(l) с указанием конкретных файлов с пакаджами, которые вы хотите проинсталлировать. Файлы с пакаджами, как правило, идентифицируются по их постфиксу .tgz, а для тех, кто имеет дистрибутив системы на компакт-диске, предназначен каталог packages/All, содержащий все эти файлы. Они также могут быть получены по сети для разных версий FreeBSD со следующих серверов:

для 2.2.8-release/2.2.8-stable

ftp://ftp.FreeBSD.ORG/pub/FreeBSD/ports/i386/ packages-2.2.8/

для 4.0-current

ftp://ftp.FreeBSD.ORG/pub/FreeBSD/ports/i386/ packages-3.0/

Имейте в виду, что не все порты могут быть доступны в виде пакаджей, так как постоянно идёт добавление новых. Неплохо время от времени проверять, какие пакаджи доступны на основном сервере ftp.freebsd.org.

При запуске приложения SCO/IBCS2, он прерывается на socksys

Прежде всего вам нужно отредактировать файл /etc/sysconfig (или /etc/re.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 XOR@ -> /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. при компиляции

Конфигурирование ядра

Изменение настроек ядра

Важно: Рекомендуем сохранить копию вашего ядра в файл kerne 1.YYMMDD после того, как вы получите рабочую версию, для того, чтобы в следующий раз, если вы испортите что-либо в вашем конфигурационном файле, вы смогли загрузить это ядро, вместо того, чтобы начинать снова с kernel.GENERIC. Это, в частности, имеет смысл, если вы производите загрузку системы с контроллера, который не поддерживается в стандартном ядре GENERIC.

Невозможность компиляции ядра из-за отсутствия _hw_float

Вы, наверное, удалили прхО из вашего файла конфигурации ядра, потому что у вас нет сопроцессора. Это неправильно! Строка прхО - обязательна. Даже если у вас нет математического сопроцессора, вы должны включить поддержку прхО.

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

Проблема состоит в том, что во FreeBSD встроен код, предохраняющий ядро от аппаратных и программных конфликтов. Вам нужно убрать указания IRQ на всех портах, кроме одного. Например:

#

# Высокоскоростной коммуникационный адаптер - 16550 UARTS

#

device sio2 at isa? port Ox2aO tty irq 5 flags 0x501 vector siointr

device sio3 at isa? port Ox2a8 tty flags 0x501 vector siointr

device sio4 at isa? port Ox2t>0 tty flags 0x501 vector siointr

device sio5 at isa? port Ox2b8 tty flags 0x501 vector siointr

Включение поддержки накопителей QIC-40/80

Раскомментируйте следующую строку в файле конфигурации стандартного ядра (или добавьте ее в конфигурационный файл вашего ядра), добавьте "flags 0x1" к строке, содержащей fdc и перекомпилируйте ядро.

controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr

disk fd0 at fdc0 drive 0 .........

disk fd1 at fdc0 drive 1

#tape ft0 at fdc0 drive 2

Затем создайте устройство с именем /dev/ftO, перейдя в каталог /dev и запустив команду

Sh ./MAKEDEV ftO

для первого устройства, ftl для второго и так далее.

У вас появится устройство с именем /dev/ftO, на которое вы можете производить запись с помощью специальной программы управления, называющейся ft - за дополнительной информацией обратитесь к странице справочника по ft.

Версии операционной системы, предшествующие -current, имеют огрехи, связанные с качеством носителя. Если у вас появились проблема, когда ft прокручивает ленту туда-сюда на одном и том же месте, попробуйте взять последнюю версию программы ft с /usr/src/sbin/ft из -current и попробовать её.

Системное администрирование

Расположение файлов конфигурации системы

Для FreeBSD версий от 2.0.5R до 2.2.1R основным конфигурационным файлом является /etc/sysconfig. Все параметры указываются в нем, а остальные конфигурационные файлы, такие, как /etc/re и /etc/netstart просто его используют.

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

В системахгвыше 2.2.1 и в з.и файл /eu;/syavvim6 сменил название на говорящее само за себя rc.conf, синтаксис описания переменных был несколько улучшен, /etc/netstart тоже был переименован в /etc/re.network, так что все конфигурационные файлы теперь можно перенести одной командой ср/usr/src/etc/rc* /etc.

Файл /etc/rc.local, как обычно, можно использовать для запуска дополнительных местных служб типа INN или для настройки дополнительных параметров.

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

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

Начиная с версии 2.1.OR, вы можете иметь "местные" файлы автозапуска в каталоге, указанном в файле /etc/sysconfig (или /etc/re.conf):

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

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

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

10news.sh

15httpd.sh

20ssh.sh

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

Добавление нового пользователя

Используйте команду adduser.

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

Чтобы удалить пользователя, используйте команду rmuser.

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

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

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

mount -t msdos /dev/fdOc /floppy

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

mount -t msdos /dev/sd2s4 /zip

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

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

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

Если это дискета или сменный диск, который будет использоваться для обмена информацией с другими людьми, хорошей идеей будет помещение туда файловой системы BSD. Вы получите поддержку длинных имён файлов, увеличение производительности по крайней мере в два раза и гораздо большую надёжность. Первым делом вам снова будет нужно выполнить разбиение диска на разделы/файловые системы. Вы можете воспользоваться утилитой fdisk либо /stand/sysinstall, а в случае небольшого диска, на котором не нужно располагать несколько операционных систем, просто сотрите таблицу разделов (слайсов) FAT и'йейользуйте разбиение на разделы BSD.

dd if=/dev/zero of=/dev/rsd2 count=2

disklabel -Brw sd2 auto

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

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

newfs /dev/rsd2c

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

mount /dev/sd2c /zip

Хорошо ещё добавить строку типа следующей в файл /etc/fstab, чтобы в будущем можно было просто давать команду mount /zip:

/dev/sd2c /zip f f s rw,noauto О О

Монтирование вторичного раздела DOS

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

# cd /dev

# ./MAKEDEV Sd1s5

# mount -t msdos /dev/sd1s5 /dos/e

Монтирование других файловых систем

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

Linux: Версии 2.2 и выше имеют поддержку разделов ext2fs. За дополнительной информацией обратитесь к страницам справочника по команде mount_ext2fs.

NT: Существует драй вер, позволяющий под FreeBSD иметь доступ к NTFS в режиме "только для чтения".

Посмотрите учебник от Марка Овенса (Mark Ovens) no адресу http ://www. use rs.globalnet. со. uk/~ markov/ ntfs_install.html.

Использование загрузчика NT для запуска FreeBSD

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

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"

C:\BOOTSECT.BSD="FreeBSO"

C:\="DOS"

Здесь предполагается, что DOS, NT, FreeBSD или другая операционная система были установлены в их соответствующие разделы fdisk на одном и том же диске. В рассмотренном случае DOS & NT находятся на первом разделе fdisk, a FreeBSD на втором. Также проинсталлирована FreeBSD для загрузки с её раздела, а не изМВК.

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

dd if=/dev/rsdOa of=/mnt/bootsect.bsd bs=512 count=1

Перезапустите DOS или NT. Пользователи NTFS должны скопировать файл bootsect.bsd и/или bootsect.lnx с дискеты на диск С:\. Измените атрибуты (права) на файл boot.ini следующим образом:

attrib -s -r c:\boot.ini

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

attrib -r -s c:\boot.ini

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

Загрузка FreeBSD и Linux с помощью LILO

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

Загрузите Linux, и добавьте следующие строки в фай /etc/lilo.conf:

other=/dev/hda2 table=/dev/hda label=FreeBSD

Здесь вы предполагаем, что слайс с FreeBSD известе Linux как /dev/hda2; измените эту строку в соответствии вашей конфигурацией. Затем достаточно будет запустить lilo, войдя в систему администратором.

Если FreeBSD располагается на другом диске, вам нужно добавить строчку "loader=/boot/chain.b" в конфигурационный файл LILO. Например:

other=/dev/sdb4 table=/dev/sdb loaders/boot/chain.b label=FreeBSD

В некоторых случаях для успешной загрузки со втор диска вам может потребоваться указать номер диска BIOS загрузчику FreeBSD. Например, если диск SCSI с FreeBSl определяется BIOS как диск 1, в приглашении загрузчика FreeBSD нужно указать:

Boot: 1:sd(0,a)/kernel

Во FreeBSD 2.2.5 и выше вы можете настроить bootO на автоматическое принятие таких параметров во время загрузки.

В документе Linux+FreeBSD mini-HOWTO содержи много информации, касающейся взаимодействия FreeBS Linux.

Загрузка FreeBSD и Linux с помощью BootEasy

Установите LILO в начало загрузочного раздела Linux, а не в Master Boot Record.

После этого можно запустить LILO из BootEasy.

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

Режим "dangerously dedicated"

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

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

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

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

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

Итак, как избежать использования режима DD во время установки? Сначала запишите параметры диска, которые сообщает BIOS. Вы можете выяснить это, заставив ядро вывести эти параметры при загрузке, указав -v в приглашении boot:, или используя boot -v в загрузчике. Перед тем, как запустится программа установки, ядро выведет параметры, используемые BIOS. He волнуйтесь - подождите запуска программы установки, а затем воспользуйтесь скроллингом, чтобы посмотреть значения .этих параметров. Как правило, BIOS нумерует диски в том же порядке, что и FreeBSD, сначала IDE, затем SCSI.

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

Как только вы добились соответствия параметров диска в BIOS и FreeBSD, скорее всего, проблем у вас больше не будет, и использовать режим DD не потребуется. Если, однако, страшной сообщение read error продолжает появляться при загрузке, самое время перекреститься и попробовать этот режим - вам больше нечего терять.

Чтобы вернуть диск из режима dangerously dedicated к нормальному режиму использования, есть два способа. Первый заключается в том, что вы записываете достаточное количество байтов NULL поверх MBR, чтобы любой инсталлятор думал, что это чистый диск. Это можно сделать, например, командой:

dd if=/dev/zero of=/dev/rsdO count=15

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

fdisk /mbr проинсталлировать новую MBR, удалив загрузчик BSD.

Добавление дополнительной виртуальной памяти

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

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

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

Диски IDE не позволяют реализовать одновременный доступ к обоим дискам по одному каналу (FreeBSD не поддерживает режим 4, так что весь ввод/вывод для дисков IDE "программируется"). Однако всё равно советуем вам перенести раздел подкачки на отдельный диск. Диски достаточно дешевы, и экономить тут не на чем.

Использование NFS для размещения раздела подкачки рекомендуется только в случае, если у вас нет локального диска. Подкачка поверх NFS медленна и неэффективна в релизах FreeBSD до 4.x, хотя достаточно быстра в релизах 4.0 и выше. Кроме того, её скорость будет ограничена реальной пропускной способностью сети и это даст дополнительную нагрузку на NFS-сервер.

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

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

pseudo-device vn 1 ffVnode driver (turns a file into a device)

в конфигурационном файле. Ядро GENERIC её содержит. Создайте vn-устройство:

cd /dev

sh ./MAKEDEV vnO

Создайте файл подкачки (/usr/swapO):

dd if=/dev/zero of=/usr/swapO bs=1024k count=64

Установите корректные права на файл (/usr/swapO):

chmod 0600 /usr/swapO

Включите использование файла подкачки в etc/re.conf:

swapfile="/usr/swapO" в Set to name of swapfile if aux swapfile

desired

и перезагрузите машину.

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

vnconfig -ce /dev/vnOc /usr/swapO swap

Раскладка клавиатуры

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

kbdcontrol -I uk.iso

Программа kbdcontrol предполагает использование каталога /usr/share/syscons/keymaps и расширения .kbd.

Это может быть настроено в файле /etc/sysconfig (или rc.conf). Обратитесь к соответствующим комментариям в этом файле.

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

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

Как заставить работать дисковые квоты

Не включайте квотирование на '/'.

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

ФС ФАЙЛ КВОТ

/usr /usr/admin/quotas

/home /home/admin/quotas

Проблема с устройством ccd

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

# ccdconfig -С

ccdconfig: ioctl (CCOIOCSET): /dev/ccdOc: Inappropriate file type or format

#

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

Невозможно отредактировать метку диска ccd

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

# disklabel ccd0

(здесь выводится информация о диске, пробуем отредактировать метку) disklabel -e ccd0

(редактирование, сохранение, выход)

disklabel: ioctl DIOCWDINFO: No disk label on disk;

use "disklabel -r" to install>rlflit4al, label

#

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

# disklabel ccd0 > /tmp/disklabel. tmp

# disklabel -Rr ccd0 /tmp/disklabel.tmp

# disklabel -e ccd0

(теперь это будет работать)

Вызовы IPC из System V

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

options SYSVSHM

options "SHMMAXPGS=64" # 256Kb of sharable memory

options SYSVSEM # enable for semaphores

options SYSVMSG # enable for messaging

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

Важно: Вам может потребоваться увеличить значение константы SHMMAXGS на что-то большее, типа 4096 (16М!), если вы собираетесь использовать GIMP. 256Кб достаточно для работы XI1R6.

Настройка sendmail для доставки почты по UUCP

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

Ковыряние в файле /etc/sendmail.cf вручную - это занятие для пуристов (и мазохистов). Восьмая версия sendmail поставляется с новой системой генерации конфигурационных файлов с использованием препроцессора т4, в которой ручная конфигурация перенесена на более высокий уровень абстракции. Используйте конфигурационные файлы в каталоге /usr/src/usr.sbin/sendmail/cf.

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

cd /usr/src

tar -xvzf /cdrom/dists/src/ssmailcf.aa

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

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

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

cd /usr/src/usr.sbin/sendmail/cf/cf

make foo.cf

cp foo.cf /etc/sendmail.cf

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

include('../m4/cf.m4')

VERSIONID('Your version number1)

OSTYPE(bsd4.4)

FEATURE(nodns) ,

FEATURE(nocanonify)

FEATURE(mailertable)

define('UUCP_RELAY', your.uucp.relay)

defineCUUCP_MAX_SIZE', 200000)

MAILER(local)

MAILER(sratp)

MAILER(uucp)

Cw your.alias.host.name

Cw youruucpnodename.UUCP

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

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

#

# makemap hash /etc/mailertable.db < /etc/mailertable

#

horus.interfасе-business, de uucp-dom:horus

.interface-business.de uucp-dom:if-bus

interfасе-business.de uucp-dom:if-bus

.heep.sax.de smtp8:X1

horus.UUCP uucp-dom:horus

if-bus.UUCP uucp-dom:if-bus

. uucp-dom:sax

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

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

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

j@uriah 191X sendmail -bt

ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)

Enter <ruleset> <address>

> 0 foo@interface-business.de

rewrite: ruleset 0 input: foo @ interface-business . de

rewrite: ruleset 0 returns: $9 uucp-dom $@ if-bus $: foo \

< @ interface-business . de >

> ^D

j@uriah 192%

Настройка почты при коммутируемом соединении с Internet

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

Если ваш IP-адрес выделяется динамически при коммутируемом соединении по ррр с Internet, может быть, вам выделен почтовый ящик на сервере провайдера. Предположим, что домен вашего провайдера называется myISP.com, а ваше имя пользователя user. Также положим, что вы назвали вашу машину bsd.home и что ваш провайдер сказал, что вы должны использовать relay.myISP.com как почтовый шлюз.

Чтобы забирать почту из вашего почтового ящика, вам нужно установить соответствующий агент. Хорошим агентом является fetchmail, так как он поддерживает много различных протоколов. Обычно провайдеры предлагают РОРЗ. Если вы используете user-ppp, вы можете автоматически забирать вашу почту при установлении соединения с Internet, добавив такую строку в /etc/ppp/ppp. 1 i nkup:

MYADOR:

!bg su user -c fetchmail

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

Ibg su user -с "sendmail -q"

после вышеуказанной строки. Это заставит sendmail обработать вашу очередь почтовых сообщений, как только будет осуществлено подключение к сети.

Предположим, что вы имеет учётную запись для user на машине bsd.home. В домашнем каталоге пользователя user на машине bsd.home создайте такой файл .fetchmailrc:

poll myISP.com protocol рорЗ fetchall pass MySecret;

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

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

Следующий файл .тс должен подойти:

VERSIONIDCbsd.home.me version 1.0')

OSTYPE(bsd4.4)dnl

FEATURE(nouucp)dnl

MAILER(local)dnl

MAILER(sratp)dnl

Cwlocalhost

Cwbsd.home

MASQUERADE.ASCmylSP.conOdnl

FEATURE(allmasquerade)dnl

FEATURE(masquerade_envelope)dnl

FEATURE(nocanonify)dnl

FEATURE(nodns)dnl

define(SMART_HOST, 'relay. mylSP.com')

Dmbsd.home

define(' <jonfW*AIH_NAME'.' bed. hone' )dnl

deflne('confPELIVERY_HODE','defer red')dnl

Если вы забыли пароль администратора

Без паники! Просто перезапустите систему, наберите -s в приглашении Boot: для входа в однопользовательский режим. На вопрос об используемой оболочке нажмите ENTER. На приглашение # введите mount -u /, чтобы перемонтировать корневую файловую систему в режиме чтения/записи, затем выполните команду mount -а для монтирования всех файловых систем. Запустите команду passwd root, чтобы сменить пароль администратора и затем exit для продолжения загрузки.

Запрещение перезагрузку по клавишам Control-Alt- Delete

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

Преобразование текстовых файлов DOS в формат UNIX

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

perl -i.bak -npe 's/V\n/\n/g' file ...

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

Это преобразование также можно выполнить с помощью команды tr(l):

tr -d '\r' < dos-text-file > unix-file

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

Прерывание процесса по имени

Используйте команду killall(l).

Выдача su сообщения о том, что нет входа в root ACL

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

Деинсталляция Kerberos

Чтобы убрать Kerberos из системы, переинсталлируйте дистрибутив bin того релиза, который у вас запущен. Если у вас есть CD-ROM, вы можете смонтировать компакт-диск (положим, в каталог /cdrom) и выполнить команду

cd /cdrom/bin

./install.sh

Как можно добавить в систему дополнительные псевдотерминалы

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

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

pseudo-device pty 256

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

# cd /dev

# ./MAKEDEV pty{1,2,3,4,5,6,7>

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

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

ttyqc none network

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

Теперь осталось только перезапустить систему с новым ядром.

Как можно перечитать содержимое /етс/rc.com и перестартовать/etc/rc без перезагрузки системы

Перейдите-В однопользовательский режим, а затем возвратитесь обратно в многопользовательский. На консоли выполните следующее:

# shutdown now (Замечание: без -г или -h)

# return " exit

X Window System и виртуальные консоли

Как запустить X Windows

Самый простой способ - это указать во время инсталляции, что вы хотите использовать X.

Затем следуйте указаниям в документации по утилите xf86config, которая предназначена для конфигурирования работы XFree86(tm) с вашим графическим адаптером/мышью/и т.д.

Почему мышь не работает с X?

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

/etc/rc.conf:

moused_type=ps/2 # or whatever your actual type is

rooused_port=/dev/psmO # or whatever your real port is

moused_flags=

/etc/XF86Config

Section Pointer

Protocol "MouseSystems"

Device "/dev/sysmouse"

Некоторые предпочитают использовать в X устройство /"lev/mouse. Чтобы оно работало, файл устройства должен являться ссылкой на /dev/sysmouse:

# cd /dev

# rm -f mouse

# In -s sysfflouse mouse

Меню и диалоговые окна в X Window работают неправильно!

Попробуйте выключить Num Lock.

Если клавиша Num Lock во время загрузки по умолчанию включена, добавьте в секцию Keyboard файла XF86Config следующую строку.

# Let the server do the NumLock processing. This should only be

# required when using pre-R6 clients

ServerNumLock

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

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

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

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

После инсталляции по умолчанию во FreeBSD задействованы три виртуальных консоли, а комбинации клавиш Alt-Fl, AK-F2, и AH-F3 служат для переключения между ними.

Чтобы увеличить количество консолей, отредактируйте файл /etc/ttys, добавив туда записи для терминалов с именами от 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 на всех двенадцати функциональных клавишах, то вам не повезло - вы можете это сделать только для одиннадцати из них, если хотите на этой же машине ещё запустить Х-сервер.

Самым простым способом убрать консоль является просто её выключение. Например, если вы запустили на всех 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

# ./MAKEDEV vty12 # For 12 devices

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

kill -HUP 1

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

Доступ к виртуальным консолям из X

Если на консоли запущена X Window, вы можете использовать комбинации клавиш, подобные Ctrl-Alt-Fl, для переключения в режим работы с виртуальной консолью. Заметьте, однако, что как только вы переключитесь из X Window в виртуальный терминал, вы можете использовать только Alt-клавиши для переключения в другой виртуальный терминал или снова в X Window. Вам не нужно ещё нажимать клавишу Ctrl. Если вы используете клавишу Ctrl при переключении в X, то в старых релизах вы можете обнаружить, что ваша текстовая консоль осталась в режиме "заблокированного control". Нажмите эту клавишу ещё раз.

Запуск XDM во время загрузки

Есть две философские школы, проповедующие различные методы запуска xdm. Последователи одного течения запускают xdm из/etc/ttys, используя приводимый пример, тогда как другие вставляют запуск xdm в скрипт re.local или X.sh, поместив последний в каталог /usr/local/etc/rc.d. Оба метода равноправны, и один из них может работать в ситуациях, с которыми не справляется другой и наоборот. В обоих случая результат один и тот же: X выводит графическое приглашение login:.

Плюсом метода с использованием ttys является документирование того, на каком .vty будет запущен X и то, что ответственность за перезапуск Х-сервера при завершении сеанса работы лежит на процессе init. Метод с использованием rc.local позволяет просто прекратить работу xdm, если при запуске X возникли какие-нибудь проблемы.

Из rc.local xdm должен быть запущен без аргументов, (то есть как демон), xdm должен быть запущен после запуска getty, иначе они будут конфликтовать, блокируя консоль. Лучше всего выдержать паузу секунд на 10 и потом запустить xdm.

В предыдущей версии FAQ говорилось о необходимости добавления vt который будет использовать X, в файл /usr/Xl lR6/lib/Xn/xdm/Xservers. На самом деле делать это необязательно: X будет использовать первый свободный vt, который сможет найти.

Сообщение "Couldn't open console" при запуске xconsole

Если вы запускаете X через скрипт startx, права на устройство /dev/console не изменяются, поэтому такие команды, как xterm -С и xconsole, не будут работать.

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

В общем, раскомментируйте строчку вида:

/dev/ttyvO 0600 /dev/console

в файле /etc/fbtab, и этого будет достаточно для того, чтобы всякий, кто вошёл в систему с /dev/ttyvO, будет иметь доступ к консоли.

Мышь PS/2 в X работает неправильно

Вполне может быть, что мышь и её драйвер рассинхронизировались.

В версиях 2.2.5 и более ранних это может произойти при переключении из X в виртуальный терминал и последующем возвращении в X. Если эта проблема возникает достаточно чаcтоу попробуйте добавить следующую строку в файл конфигурации ядра и перекомпилировать его.

options PSH_CHECKSYNC

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

Заметьте, что в некоторых системах эта опция может не работать и приводить к отключению функции tap устройства ALPS GlidePoint, подключенного к порту мыши PS/2.

В версиях 2.2.6 и выше, проверка синхронизации сделана гораздо лучше и включена в стандартный драйвер мыши PS/2. Она должна работать даже с GlidePort. (Так как код проверки стал стандартной функцией, опция PSM_CHECKSYNC в этих версиях недоступна.) Однако в редких случаях драйвер может ошибочно обнаруживать проблемы с синхронизацией, и вы будете видеть такие сообщения ядра:

psmintr: out of sync (xxxx != yyyy)

а также обнаружите, что мышь теперь работает неправильно.

Если это случится, отмените проверку согласования, установив значение флага для драйвера мыши PS/2 в 0x100. Войдите в конфигуратор UserConfig, задав опцию -с в приглашении загрузчика:

boot: -с

Затем в командной строке UserConfig наберите:

UserConfig> flags psmO 0x100 UserConfig> quit

Мышь PS/2 от MouseSystems не работает

Было несколько сообщений, что некоторые модели мышей PS/2 от MouseSystems работают только в режиме "высокого разрешения". В других режимах курсор мыши постоянно прыгает в верхний левый угол экрана.

К сожалению, для версий 2.0.Х и 2.1.Х решения этой проблемы не существует. Для версий от 2.2 до 2.2.5 приложите следующий патч к файлу /sys/i386/isa/psm.c и

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

diff -u psm.c.orig psm.c

@@ -766,6 +766,8 @@

if (verbose >= 2)

log(LOG_DEBUG, "psmXd: SET_DEFAULTS return code:X04x\n",

unit, i);

+ set_raouse_resolution(sc->kbdc, PSMD_RES_HIGH);

+

#if 0

set_mouse_scaling(sc->kbdc); /* 1:1 scaling */

set_mouse_mode(sc->kbdc); /* stream mode */

Для версий 2.2.6 и выше-укажите флаг 0x04 драйверу мыши PS/2 для перевода её в режим высокого разрешения. Войдите в UserConfig, задав опцию -с в приглашении загрузчика:

boot: -с

Затем в командной строке UserConfig наберите:

UserConfig> flags psmO 0x04 UserConfig> quit

Где находится файл Imake.tmpl

Файл Imake.tmpl является частью пакета Imake, стандартного инструмента для построения Х-приложений. Он, также как ещё несколько заголовочных файлов, требуемых для построения Х-приложений, содержится в дистрибутиве программ X. Вы можете их проинсталлировать из sysinstall или взять из дистрибутива X.

Как поменять местами кнопки мыши

Поместите команду xmodmap -e pointer = 3 2 1 в один из ваших скриптов .xinitrc или .xsession.

Работа в сети

Может ли машина с FreeBSD использоваться как маршрутизатор?

Стандарты Internet и опыт практической работы не позволяют в FreeBSD держать маршрутизацию пакетов включенной по умолчанию. Вы можете сделать это, измени! значение следующей переменной в файле rc.conf на YES:

GATEWAY_ENABLE=YES ft SET TO YES IF THIS HOST WILL BE A GATEWAY

Этот параметр изменит значение системной переменной net.inet.ip.fonvarding на 1.

Кроме того, в большинстве случаев вам будет необходимо запустить программу маршрутизации, для того, чтобы объявить о появлении нового маршрутизатора другим системам в вашей сети; Free BSD поставляется со стандартной для BSD-систем программой маршрутизации routed, в более сложных ситуациях вы можете попробовать GaTeD (доступный по FTP с ftp.gated.Merit.EDU), который поддерживает FreeBSD начиная с версии 3_5Alpha7.

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

Можно ли подключить машину с Windows 95 к Internet с помощью FreeBSD?

Как правило, те, кто задает такие вопросы, имеют дома два компьютера, один с FreeBSD, а другой с Windows 95, 98; идея состоит в использовании FreeBSD для подключения к Internet, а затем осуществлять выход в Internet из Windows 95, 98 через FreeBSD.

Существует полезный документ, описывающий, как настроить FreeBSD в качестве маршрутизатора с выходом по протоколу РРР.

Важно: При этом требуется иметь по крайней мере два фиксированных IP адреса, а может быть, три или больше, в зависимости от того, сколько машин с Windows вы хотите подключить. Как вариант, если у вас нет фиксированных IP адресов, вы можете использовать одну из частных IP подсетей и установить прокси типа SQUID или TIS на машине с FreeBSD.

Почему не проходит компиляция последней версии BIND от ISC?

Это - результат конфликта между файлом cdefs.h в дистрибутиве и тем, что поставляется с FreeBSD. Достаточно удалить файл compat/include/sys/cdefs.h.

Поддерживает ли FreeBSD протоколы SLIP и РРР?

Да. Посмотрите страницы справочника по командам slattach, sliplogin, pppd и ррр. Pppd и ррр могут обслуживать как входящие, так и исходящие соединения. Sliplogin имеет дело исключительно со входящими соединениям, a slattach - только с исходящими.

Эти программы описаны в следующих разделах руководства:

Если вы имеете доступ в Internet через командную строку оболочки, вам может подойти slirp. С его помощью можно получить (ограниченный) доступ к таким службам, как ftp и http прямо с вашей машины.

Поддерживает ли FreeBSD NAT или Masquerading?

Если у вас есть локальная сеть (одна или больше машин), но только один IP адрес, предоставленный провайдером, вас может привлечь natd. Natd позволяет подключить всю сеть к Internet, используя единственный IP адрес.

Программа ррр имеет похожую встроенную возможность через параметр -alias. В обоих случаях используется библиотека libalias.

Почему не работает ррр?

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

set log Phase Chat Connect Carrier Icp ipcp ccp command

Эта команда может быть набрана в командной строке ррр или она может находиться в конфигурационном файле /etc/ppp/ppp.conf (начало секции default - лучшее для неё место. Удостоверьтесь, что файл /etc/syslog.conf содержит строки

!РРР

*.* /var/log/ppp.log

и файл /var/log/ppp.log существует. Теперь вы сможете найти полную информацию о происходящем в файле протокола. Не беспокойтесь, если не всё вам будет там понятно. Если вы будете пользоваться чьей-то помощью, протокол вам пригодится.

Если ваша версия ррр не понимает команду set log, вы должны скачать последнюю версию. Она рассчитана на FreeBSD версий 2.1.5 и выше.

Как настроить алиас на Ethernet?

Добавьте netmask OxnTTffff в командной строке ifconfig так, как это сделано здесь:

ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff

Если есть проблемы при работе NFS во FreeBSD

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

Как смонтировать диск Linux no NFS

Некоторые версии NFS для Linux поддерживают запросы на монтирование только с привилегированного порта; попробуйте

mount -о -Р linuxbox:/blah /mnt

Как смонтировать диск Sun no NFS

Рабочие станции Sun под управлением SunOS 4.X поддерживают запросы на монтирование только с привилегированного порта;, попробуйте:

mount -о -Р sunbox:/blah /mnt

Проблемы при связи по РРР с машинами NeXTStep

Попробуйте отменить все расширения TCP в /etc/re.conf, изменив значение следующей переменной в NO:

tcp_extensions=NO

Маршрутизаторы Annex фирмы Xylogic не работают по этой же причине, поэтому при подключении к ним вам нужно проделать то же самое.

Как включить поддержку multicast IP?

Работа с многоадресной рассылкой по умолчанию полностью поддерживается версиями FreeBSD 2.0 и выше. Если вы хотите использовать ваш компьютер как маршрутизатор многоадресного трафика, вам нужно перекомпилировать ядро с включенной опцией MROUTING и запустить mrouted. Версии FreeBSD 2.2 и выше будут запускать mrouted во время загрузки, если переменная mrouted_enable в файле /etc/re.conf установлена в значение YES.

Приложения MBONE находятся в своей категории портов, mbone. Если вы ищете приложения для организации конференций vie и vat, посмотрите там!

Сетевые адаптеры, сделанные на наборе микросхем DECPCI

Вот список, составленный Гленом Фостером (Glen Foster), с некоторыми незначительными добавлениями:

Производитель Модель
ASUS PCI-L101-TB
Accton ENI1203
Cogent EH960PCI
Compex ENET32-PCI
D-Link DE-530
Dayna DP1203, DP2100
DEC DE435
Danpex EN-9400P3
JCIS Condor JC1260
Linksys EtherPCI
Mylex LNP101
SMC EtherPower 10/100 (Model 9332)
SMC EtherPower (Model 8432)
TopWare TE-3500P
Zynx 2X342

Почему нужно использовать FQDN для хостов в другой сети?

Вы, наверное, обнаружили, что хост, к которому вы обратились, оказался на самом деле в другом домене; например, если вы находитесь в домене foo.bar.edu и хотите обратиться к хосту mumble в домене bar.edu, то должны указать его полное доменное имя, mumble.bar.edu, а не просто mumble.

Традиционно, это позволял делать ресолвер BSD BIND. Однако текущая версия bind, поставляемая с FreeBSD, больше не добавляет имена доменов, отличающихся от того, в котором вы находитесь, для не полностью указанных имён хостов. Так что неполно указанный хост mumble будет найден либо как mumble.foo.bar.edu, либо будет искаться в корневом домене.

Это отличается от предыдущего поведения, при котором поиск продолжался в mumble.bar.edu и mumble.edu. Посмотрите RFC 1535 о причинах объявления такого поведения плохой практикой и даже ошибкой в безопасности.

Как хорошее решение, вы можете поместить строку

search foo.bar.edu bar.edu

вместо ранее используемой

domain foo.bar.edu

в файл /etc/resolv.conf. Однако удостоверьтесь, что порядок поиска не нарушает "границ полномочий между местным и внешним администрированием", как это названо в RFC 1535.

"Permission denied" для любых действий в сети

Если вы компилировали ядро с опцией IPFIREWALL, имейте в виду, что политика по умолчанию настроена как в 2.1.7R (она на самом деле изменилась во время разработки 2.1 -STABLE), то есть указан запрет на прохождение всех пакетов, которые явно не разрешены.

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

ipfw add 65534 allow all from any to any

Также вы можете установить firewall_type=open в файле /etc/re, conf.

Нагрузка, вызывающая использование IPFW

Ответ на этот вопрос зависит главным образом от набора правил и производительности процессора. Для большинства приложений, имеющих дело с ethernet и простым набором правил, ответ: незначительно.

Следующие измерения были сделаны с использованием 2.2.5-STABLE на машине 486-66. IPFW был модифицирован для измерения времени, затрачиваемого внутри процедуры ip_fw_chk и вывода результатов на консоль каждую тысячу пакетов.

Тестировались два набора по 1000 правил в каждом. Первый набор был предназначен для демонстрации наихудшего случая, повторяя условие:

ipfw add deny top from any to any 55555

Это наихудший случай, так как все условия IPFW будут проверены перед тем, как будет принято окончательное решение о том, что пакет не соответствует условию (мы меняли номер порта). После 999 повторений этого условия находилось правило allow ip from any to any.

Второй набор был предназначен для быстрого прерывания процесса проверки условий:

ipfw add deny ip from 1.2.3.4 to 1.2.3.4

Неподходящий IP-адрес источника для указанного условия быстро вызывает пропуск этого правила. Как и ранее, последним правилом было allow ip from any to any.

Затраты на обработку пакета в первом случае были примерно 2.703 мс/пакет, или примерно 2.7 микросекунд н правило. Таким образом, теоретический предел скорости обработки пакетов с этими правилами равен примерно 370 пакетам в секунду. Предполагая использование ethernet ЮМб/с с размером пакета примерно 1500, мы можем достигнуть только 55.5% использования пропускной способности.

В последнем случае на обработку каждого пакета был{ затрачено примерно 1.172 мс, или около 1.2 микросекунд правило. Теоретический предел обработки будет равен около 853 пакетам в секунду, что почти соответствует скорости ЮМб/с ethernet.

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

Поместите правило established в самое начало списка для обработки основного трафика TCP. He помещайте перед ним никаких правил allow tcp.

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

Вы можете выяснить частоту использования правил с помощью вывода статистики командой ipfw -a 1.

Перенаправление запросов с одной машины на другую

Вы можете перенаправить запрос на FTP (или другой сервис) с помощью пакаджа socket, доступного в дереве портов в категории sysutils. Просто замените командную строку запуска сервиса на вызов socket, типа:

ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp

где ftp.foo.com и ftp являются соответственно хостом и портом для перенаправления.

Почему появляются сообщения "/dev/bpfO: device not configured"?

Для работы программ, использующих Berkeley Packet Filter (bpf) необходимо включение в ядро соответствующего драйвера. Перекомпилируйте ядро, добавив в его конфигурационный файл следующую строку:

pseudo-device bpfilter # Berkeley Packet Filter

Затем, после перезапуска системы, вам нужно создать соответствующий файл устройства. Это можно сделать, сменив текущий каталог на /dev и выполнив команду

# sh MAKEDEV bpf0

Коммуникационные порты

Как узнать, какие последовательные порты были обнаружены FreeBSD?

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

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

dmesg | grep sio

после загрузки и запуска системы.

Вот пример вывода указанной команды:

sio0 at 0x3f8-0x3ff irq 4 on isa

sio0: type 16550A

siol at 0x2f8-0x2ff irq 3 on isa

siol: type 16550A

Здесь присутствуют два последовательных порта. Первый использует,irq 4, порт ввода/вывода 0x3f8 и построен на микросхеме UART типа 16550А. Второй использует тот же тип микросхемы, но использует irq 3 и адрес порта ввода/вывода Ox2f8. Внутренние модемы выглядят точно также, как последовательные порты, за исключением того, что к ним всегда "подключен" модем.

В ядро GENERIC встроена поддержка двух последовательных портов, с irq и адресами портов ввода/вывода. Если эти настройки не соответствуют вашим, или если вы добавили внутренние модемы, или у вас больше последовательных портов, чем описано в ядре, просто переконфигурируйте ядро.

Как осуществляется доступ к последовательным портам во FreeBSD?

Третий последовательный порт, sio2 (который в DOS называется COM3), называется /dev/cuaa2 для устройств, выполняющих исходящие звонки, и /dev/ttyd2 для устройств, принимающих входящие звонки. Какая разница между этими двумя классами устройств?

Вы должны использовать ttydX для входящих соединений. При открытии /dev/ttydX в блокирующем режиме, процесс будет ожидать неактивности соответствующего устройства cuaaX, а затем появления сигнала о наличии несущей. При открытии устройства cuaaX, он проверяет, что последовательный порт не используется уже устройством ttydX. Если порт доступен, он "похищает" его у устройства ttydX. Также устройство сиаХХ не следит за наличием несущей. С такой схемой работы и модемом, находящимся в режиме автоответа, вы можете позволить пользователям входить в систему и в то же время можете осуществлять исходящие звонки, а система позаботится о возможных конфликтах.

Как включить поддержку многопортовых последовательных адаптеров?

Для многопортовых последовательных адаптеров в файле конфигурации ядра поместите ключевое слово sio для каждого порта на адаптере. Но irq и вектор должен быть указан только у одного порта. Все порты на адаптере должны использовать одно и то же irq. Используйте последний последовательный порт для указания irq. Также включите опцию COM_MULTIPORT.

В следующем примере дано описание 4-портового адаптер AST на irq 7:

options "COM_MULTIPORT"

device sio4 at isa? port Ox2aO tty flags 0x781

device sio5 at isa? port Ox2a8 tty flags 0x781

device sio6 at isa? port Ox2bO tty flags 0x781

device sio7 at isa? port Ox2b8 tty flags 0x781 irq 7 vector siointr

Флаги указывают, что управляющий порт имеет младший номер устройства 7 (0x700), включена диагностика на время обнаружения (0x080), и все порты используют одно и то же irq (0x001).

Может ли FreeBSD использовать несколько многопортовых адаптеров с одинаковым irq?

Пока нет. Вы должны назначить уникальный irq для каждого адаптера.

Можно ли установить режим работы по умолчанию для порта?

Вашему приложению может понадобиться открыть устройства ttydX (или cuaaX). Когда процесс открывает устройство, оно имеет набор параметров ввода/вывода. Вы можете посмотреть их значения командой:

stty -a -f /dev/ttyd1

Когда вы меняете настройки этого устройства, они действуют вплоть до закрытия устройства. При повторном открытии они будут иметь режимы работы по умолчанию. Чтобы изменить значения режимов работы по умолчанию, вы можете открыть и изменить настройки в устройстве "начального состояния". Например, чтобы сделать режимом по умолчанию режим CLOCAL, 8 бит и управление потоком XON/XOFF для устройства ttydS, сделайте следующее:

stty -f /dev/ttyid5 clocal cs8 ixon ixoff

Для выполнения таких действий предназначен скрипт /etc/re.serial. Теперь при открытии устройства ttydS приложение будет иметь именно такой режим работы с портом. Оно, однако, может изменить эти режимы по своему усмотрению.

Вы можете запретить изменение приложением некоторых режимов работы, выполнив настройки устройства "постоянного состояния". Например, чтобы сделать скорость работы ttydS постоянно равной 57600 bps, выполните:

stty -f /dev/ttyld5 57600

Теперь, если приложение откроет ttydS и попытается изменить скорость работы порта, она всё равно останется равной 57600 bps'.

Естественно, вы должны сделать устройства начального и постоянного состояний доступными на запись только пользователю root. Скрипт MAKEDEV при создании файлов устройств этого не делает.

Как сделать вход через модем?

Сначала вам необходимо подключить к системе один или несколько модемов, которые могут работать в режиме автоответа. Модем должен держать сигнал наличия несущей, только когда она присутствует. Он должен вешать трубку и переинициализировать, когда сигнал готовности устройства DTE (DTR) меняет состояние из включенного на выключенный. Должно использоваться аппаратное (RTS/CTS) управление потоком или вовсе отсутствовать. Ещё он должен работать на постоянной скорости с портом компьютера, но (что удобно для звонящих) с согласованием скорости передачи с другим модемом.

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

AT &C1 &03 &K3 &Q6 S0=1 &W

Информация о том, как сделать эти настройки без обращения к терминальным программам MS-DOS, содержится в разделе о посылке АТ-команд.

Затем опишите модем в файле /etc/ttys. В нём перечислены все порты, с которых операционная система ожидает входа пользователей. Добавьте строку, которая выглядит как эта:

ttydl "/usr/libexec/getty std.57600" dialup on insecure

В этой строке указано, что ко втррому последовательному порту (/dev/ttyd 1) подключен модем на скорости 57600 bps без контроля по чётности (std.57600, что берётся из файла /etc/gettytab). Тип терминала для этого порта определён как dialup. Порт включен (on) и небезопасен (insecure), что означает, что попытки войти в систему пользователем root с этого порта будут отвергнуты. Для портов, обслуживающих входящие звонки, как этот, используйте устройства ttydX.

Использование слова dialup в качестве имени терминала является обычной практикой. Многие пользователи включают в свои файлы .profile или .login скрипты для задания реального типа терминала, если начальным является тип dialup. В примере порт огтасан небезопасным. Чтобы войти администратором на этом порту, вам нужно войти обычным пользователем, а затем командой su стать пользователем root. Если порт имеет атрибут secure, то пользователь root может входить с этого порта непосредственно.

После модифицирования /etc/ttys, вам нужно послать сигнал потери связи или HUP процессу init:

kill -HUP 1

Это заставит процесс init снова прочитать файл /etc/ttys. Процесс init запустит процессы getty для всех включенных портов. Вы можете проверить, доступны ли входы с конкретного порта, выполнив команду:

ps -ax | grep '[t]tydr

Вы должны увидеть нечто вроде следующего:

747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttydl

Как подключить терминал к FreeBSD?

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

Затем модифицируйте файл /etc/ttys. Например, если вы подключаете терминал WYSE-50 к пятому последовательному порту, используйте такую строчку:

ttyd4 "/usr/libexec/getty std.38400" wyseSO on secure

В этом примере описан порт на /dev/ttyd4, имеющий терминал wyseSO, подключенный на скорости 34800 bps без контроля по четности (std.38400 из /etc/gettytab) и разрешён непосредственный вход пользователя root (secure).

Почему не удаётся запустить tip или cu?

Скорее всего, в вашей системе запуск программ tip и си разрешён только пользователю uuср и членам группы dialer. Вы можете использовать группу dialer для управления доступом к вашему модему или удалённым системам. Достаточно добавить пользователя в группу dialer.

Вы можете разрешить всем пользователям вашей системы запускать tip и си, выполнив команды:

# chmod 4511 /usr/bin/cu

# chmod 4511 /usr/bin/tip

Что необходимо сделать, если модем Hayes не поддерживается

На самом деле страница справочника о программе tip устарела. Модемы Hayes поддерживаются системой. Просто добавьте at=hayes в ваш файл /etc/remote.

Драйвер модемов Hayes не достаточно умён, чтобы поддерживать некоторые из новых возможностей современных модемов - сообщения типа BUSY, NO D1ALTONE или CONNECT 115200 будут приводить его в замешательство. Вы должны выключить вывод таких сообщений при использовании программы tip (командой ATXO&W).

Тайм-аут по умолчанию для программы tip равен 60 секундам. Ваш модем должен использовать меньшее значение, иначе tip будет думать, что у вас проблемы со связью. Попробуйте ATS7=45&W.

На самом деле tip в том виде, каком поставляется, не поддерживает модемы Hayes полностью. Решением является редактирование файла tipconf.h в каталоге /usr/src/usr.bin/tip/tip. Чтобы это сделать, вам нужен дистрибутив исходных текстов системы.

Замените строку #define HAYES 0 на #defme HAYES 1.

Затем выполните make и make install. После этих действий всё работает замечательно.

Как вводить АТ-команды?

Создайте так называемое "прямое" описание в вашем файле /etc/remote. Например, если ваш модем подключен к первому последовательному порту, /dev/cuaaO, сделайте такую строку:

cuaa0:dv=/dev/cuaa0: br#19200:pa=none

Укажите максимальную скорость обмена с портом, поддерживаемую модемом в параметре br. Затем выполните команду tip cuaaO и вы подключитесь к модему.

Если в вашей системе нет устройства /dev/cuaaO, сделайте следующее:

# cd /dev

# ./MAKEDEV cuaaO

Или используйте cu, войдя администратором, с такими параметрами:

# cu -l"line'' -s" speed1'

где line - это имя последовательного порта (например, /dev/cuaaO), a speed - скорость работы модема с портом (например, 57600). После ввода АТ-команд, наберите ~ для завершения работы.

Знак @ для описания характеристики рn

Знак @ в характеристике, описывающей номер телефона, указывает программе tip обратиться к файлу /etc/phones для поиска телефонного номера. Однако знак @ является также и специальным символом в файлах описания характеристик типа /etc/remote. Экранируйте его символом обратного слэша: рn=\@

Как набрать телефонный номер из Командной строки?

Поместите так называемое "общее" описание в ваш файл /etc/remote. Например:

tip115200|Dial any phone number at 115200 bps:\

:dv=/dev/cuaaO:b rfl115200:at=hayes:pa=none:du:

tip57600|Dial any phone number at 57600 bps:\

: dv=/dev/cuaaO: b r(f57600: at=hayes: pa=none: du:

Тогда вы сможете выполнять команды вроде tip -115200 5551234. Если предпочитаете программу сu, а не tip, используйте общее описание для сu:

cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuaa1:br"57600:at=hayes:pa=none:du:

и выполняйте команду cu 5551234 -s 115200.

Нужно ли задавать скорость работы с портом?

Создайте описание для tip 1200 или си 1200, но не останавливайтесь на этом и используйте подходящую скорость при задании характеристики br. Tip полагает, что хорошим значением по умолчанию является 1200 bps, поэтому он использует описание для tip1200. Однако вас никто не заставляет использовать именно эту скорость.

Как иметь доступ к нескольким хостам через терминальный сервер

Вместо того, чтобы каждый раз ожидать подключени к терминальному серверу, а затем набирать команду CONNECT <host>, используйте характеристику cm программы tip. Например, вот такое описание в файле /etc/remote:

pain|pain.deep13.com|Forrester's machine:\

:cm=CONNECT pain\n:tc=deep13:

muffin|muffin.deep13.com|Frank's machine:\

:cm=CONNECT muffin\n:tc=deep13:

deep13:Gizmonics Institute terminal server:\ :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234:

позволит вам просто набрать tip pain или tip muffin для подключения к хостам pain или muffin и tip deeplS для доступа к терминальному серверу.

Может ли tip использовать несколько телефонов для одного сайта?

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

Создайте описание для вашего университета в файле /etc/remote и используйте символ \@ при задании характеристики рn:

big-university:\

:pn=\e:tc=dialout

dialout:\

:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:

После этого пропишите номера телефонов университета в файле /etc/phones:

big-university 5551111

big-university 5551112

big-university 5551113

big-university 5551114

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

Почему нужно нажимать CTRL+P дважды для посылки одного этого символа?

По умолчанию CTRL+P является специальным символом "принудительного ввода", используемым для указания программе tip, что следующий символ является байтом данных. Вы можете назначить функцию символа принудительного ввода любому другому символу с помощью команды ~s, которая предназначена для "установки значений переменных".

Наберите ~sforce=<single-char> с начала новой строки. Здесь <single-char> - любой одиночный символ. Если вы не зададите <single-char>, то сим волом-принудительного ввода будет нулевой символ, который можно получить, набрав CTRL+2 или CTRL+SPACE. Подходящим значением для <single-char> может быть SHIFT+CTRL+6, который используется только некоторыми терминальными серверами.

Вы можете задать любое значение для символа принудительного ввода, указав его в вашем файле $HOME/.tiprc:

force=<single-ohar>

Неожиданно всё стало набираться ЗАГЛАВНЫМИ БУКВАМИ?

Должно быть, произошло нажатие CTRL+A, символ перехода в верхний регистр программы tip, специально предназначенный для тех, у кого не работает клавиша caps-lock. Используйте команду ~s и установите значение переменной raisechar во что-нибудь подходящее. В действительности вы можете установить его равным CHMBOJ принудительного ввода, если не собираетесь пользоваться этими особенностями.

Следующий пример файла .tiprc должен понравиться пользователям редактора Emacs, которым часто приходите; нажимать CTRL+2 и CTRL+A:

force=" raisechar=^^

Передача файлов с помощью программы tip

Если вы соединились с другой UNIX-системой, вы можете посылать и принимать файлы командами ~р (передача) и ~t (приём). Эти команды запускают программ cat и echo на удалённой системе, чтобы принять и послать файлы. Синтаксис вызова имеет такой вид:

~р <local-file> [<remote-file>]

~t <remote-file> [<local-file>]

Контроль ошибок передачи при этом не осуществляется, так что вам может понадобиться другой протокол передачи, например, zmodem.

Использование zmodem вместе с tip

Первым делом установите одну из программ, реализующих протокол zmodem из коллекции портов (там есть парочка в категории comms, Irzsz и rzsz). Для приёма файлов запустите программу передачи на противоположно стороне. Затем нажмите enter и наберите ~С rz (или ~С Irz, если у вас установлен Irzsz) для начала приёма их на локальную машину.

Для посылки файлов, .запустите программу приёма на противоположной стороне. Затем нажмите enter и наберите ~С sz <files> (или ~С Isz <files>) для посылки их на удалённую систему.

FreeBSD не распознаёт последовательные порты

Микросхемы UART производства Acer на материнских платах и адаптерах распознаются некорректно. Для решения этой проблемы попробуйте воспользоваться патчем с сервера www.lemis.com.


Оглавление

Предыдущая страница

Следующая страница

GNU OCXE GNU LINUX
Сайт управляется системой uCoz