FreeBSD: начальная настройка
Здесь вы найдёте некоторые рецепты, выработанные мною. Учтите, это просто памятка, а не руководство. Я просто цитирую куски своих настроечных файлов и даю минимальные комментарии.
Права на устройства в devfs
Права на устройства проще всего настроить в /etc/devfs.conf. Там есть примеры на все случаи жизни. Но devfs.conf не может влиять на устройства, которые появляются уже после загрузки системы. Это обычно USB-устройства.
Чтобы установить права на динамически создаваемые устройства делаем два шага:
1) пишем в /deb/devfs.rules секцию правил, например:
[my_usb_rules=163]
add path 'da*s*' mode 0600 user a group a
add path 'speaker' mode 0600 user a group a
и
2) актуализируем эти правила — пишем в /etc/rc.conf
devfs_system_ruleset="my_usb_rules"
Всё. Теперь устройство speaker и все, попадающие под маску da*s*, получат указанные права доступа (это обычно USB Flash).
Диски
Чтобы везде всё было по-русски, в fstab я пишу что-то вроде:
/dev/ad0s1 /mnt/ad0s1 ext2fs ro,noauto 0 0
/dev/ad0s4 /mnt/ad0s4 ext2fs ro,noauto 0 0
/dev/ad0s3a /mnt/ad0s3a ufs ro,noauto 0 0
/dev/ad0s3e /mnt/ad0s3e ufs ro,noauto 0 0
/dev/ad0s3f /mnt/ad0s3f ufs ro,noauto 0 0
/dev/ad0s3d /mnt/ad0s3d ufs ro,noauto 0 0
/dev/acd0 /mnt/cd cd9660 ro,noauto,-Ckoi8-r 0 0
/dev/da0s1 /mnt/cf msdos rw,noauto,sync,-Wkoi2dos,-Lru_RU.KOI8-R,longnames 0 0
/dev/fd0 /mnt/fd msdos rw,noauto,sync,-Wkoi2dos,-Lru_RU.KOI8-R,longnames 0 0
/dev/ad2s1 /mnt/ad2s1 msdos rw,noauto,sync,-Wkoi2dos,-Lru_RU.KOI8-R,longnames 0 0
Чтобы пользователь мог монтировать диски, кроме прав надо ещё установить переменную ядра vfs.usermount. Для этого добавляем в /etc/sysctl.conf строчку:
vfs.usermount=1
По моим наблюдениям, она обязательно должна заканчиваться символом новой строки (\n).
Загрузчик
Загрузчик оставляю родной, но чуть подправленный (не копируйте эти настройки бездумно!):
boot0cfg -Bv -s 2 -o noupdate,packet -m 0x3 -t 91 ad0
-s 2 — загрузка по умолчанию со второго слайса (ad0s2a); -o noupdate — всегда загружаться с указанного слайса по умолчанию; packet — поддержка больших дисков (очень важно!); -m 0x3 — предлагать загрузку только с первого и второго слайсов; -t 91 — ожидание 5 секунд.
В /boot/loader.conf можно прописать autoboot_delay="5" чтобы ускорить процесс загрузки.
Опции ядра
Естественно это не все опции, а только те, которые легко забыть:
options LIBICONV
options CD9660_ICONV
options MSDOSFS_ICONV
#options NTFS_ICONV
#options UDF_ICONV
device speaker
# AC97
device sound
device snd_ich
device snd_neomagic
# DVD+RW
device atapicam
# полный список цветов можно посмотреть здесь:
# /sys/i386/include/pc/display.h
options SC_NORM_ATTR=(FG_LIGHTGREY|BG_BLACK)
options SC_NORM_REV_ATTR=(FG_BLACK|BG_LIGHTGREY)
options SC_KERNEL_CONS_ATTR=(FG_LIGHTGREEN|BG_BLACK)
options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_GREEN)
Из этих опций только одну действительно нужно именно вкомпилировать. Это device atapicam, необходимая для записи на DVD. (И, конечно, опции цвета.) Всё остальное можно было бы загрузить модулями, без пересборки ядра.
Консольный ввод
Чтобы было приятно работать в том же MySQL-клиенте я пишу в .inputrc:
# кнопка Delete
"\e[3~" delete-char
# Shift-[=>][<=] прыгает по словам "\e[1;2C" forward-word "\e[1;2D" backward-word