Последнее обновление 26.12.2009
========================================
Содержание
========================================
0. Об этом HOW-TO
I. Системные настройки
1.1. Базовая установка системы
1.2. Установка и удаление программ
1.3. Пересборка ядра и загрузка системы
1.4. Настройка файловых систем
1.5. Работа с NTFS
1.6. Работа с компакт-дисками
1.7. Архивирование и резервное копирование
1.8. Обновление портов
1.9. Пересборка и обновление системы
II. Настройка Интернет-подключения
2.1. Dialup-модем
2.2. ADSL-модем и VPN
2.3. VPN и pptpclient
2.4. Подсчет трафика
III. Настройки консоли
3.1. Настройка мышки в консоли
3.2. Русификация консоли (общесистемная)
3.3. Русификация консоли (для каждого юзера)
3.4. Установка консольных приложений (общесистемная)
3.5. Настройка консольных приложений (для каждого юзера)
----------------------------------------------------------------------
0. Об этом HOW-TO
----------------------------------------------------------------------
Этот документ составлялся как заметки для себя на память.
Он описывает отдельные аспекты настройки FreeBSD для использования
в качестве мультимедийной рабочей станции. Настройка FreeBSD
в качестве сервера общего или специального назначения здесь не
рассматривается. Источником послужили документация по FreeBSD,
отдельным программам и приложениям, материалы сайта opennet.ru и
собственный опыт.
----------------------------------------------------------------------
1.1. Базовая установка системы
----------------------------------------------------------------------
1. Читайте доки! Там всё написано.
Начните с чтения файлов README и INSTALL на первом диске дистрибутива
FreeBSD. Если возникают проблемы с железом - прочтите HARDWARE, может быть,
ваше оборудование не поддерживается. Обратите также внимание на
документацию на отдельном диске дистрибутива, в каталоге /usr/share/doc.
В частности, руководство пользователя находится в каталоге
/usr/share/doc/en/books/handbook (полная версия)
/usr/share/doc/ru/books/handbook (перевод на русский)
2. Установка FreeBSD производится на неразмеченную область жесткого
диска. В этой области не должно содержаться ни логических дисков,
ни расширенного раздела MS-DOS/Windows, ни основных разделов других
ОС. Если неразмеченной области нет, ее сначала следует освободить
при помощи программ типа Partition Magic или fdisk.
3. Загружаемся с первого компакт-диска FreeBSD, дожидаемся запуска
программы установки sysinstall. Выбираем страну (Russian Federation)
и кодировку (KOI8-R). Выбираем установку Express или Standard.
Ниже описывается вариант Standard.
4. Используя FDISK Partition Editor, в неразмеченной области жесткого
диска создаем основной раздел для FreeBSD (тип 165), в котором будут
размещаться ее логические разделы (собственно файловые системы).
Здесь же можно удалить ненужные основные разделы, но только целиком.
5. Выберите загрузчик: BootMgr - для нескольких ОС на одном
жестком диске, Standard - если FreeBSD будет единственной ОС на этом
жестком диске, None - если планируется использовать другой загрузчик,
например, NTLdr.
6. Используя FreeBSD Disklabel Editor, в созданном основном разделе
создаем логические. Можно выбрать Auto Defaults или создавать вручную.
Во втором случае рекомендуется создать разделы:
/ от 128 до 512 Мбайт
swap от одно- до двукратного размера ОЗУ
/tmp от 128 до 1 Гбайт
/var от 128 Мбайт до 2 Гбайт
/usr все остальное, от 4 Гбайт и больше
Если планируется хранить много баз данных, почты или логов, то размер
раздела /var следует увеличить. Иногда /home выделяют в отдельный раздел.
Возможна установка системы и на более скромный объем. В этом случае можно
создать только один корневой раздел /.
7. Выбираем вариант установки. Рекомендуется X-Developer - установка,
близкая к полной. Выбирая из Custom, отмечаем по крайней мере
base базовый набор программ
kernels ядро общего назначения
man страницы руководства
src/sys исходники ядра
Если позволяет место, ставим в придачу
dict словарь английских слов
doc документация с сайта
info документация GNU
src/* все исходники ОС
ports коллекция портов
local до кучи :)
perl Перл и его модули
X.org графическая оболочка
8. Соглашаемся установить коллекцию портов (FreeBSD ports collection).
Порты - это скрипты для автоматической компиляции и установки приложений
и библиотек, с учетом зависимостей между ними. В дальнейшем коллекцию
портов можно будет обновить.
9. Выбираем носитель, откуда брать файлы дистрибутива. Обычно это
компакт-диск (CD/DVD). После окончания копирования файлов базовая
установка системы будет завершена. Теперь систему можно будет загрузить
с жесткого диска. Но настройка свежей системы еще не закончена.
10. Настраиваем сетевые интерфейсы. Если у вас несколько интерфейсов,
выберите нужный из списка. Для Ethernet-адаптеров прописываем
IP-адрес, маску подсети, шлюз по умолчанию и DNS-сервер. Также можно
настроить IPv6 и попробовать получить настройки по DHCP. Переход между
полями ввода - Tab, завершение настройки - Enter.
11. Настраиваем сетевые службы:
Gateway No
inetd No
SSH No (Yes)
Anonymous FTP No
NFS server No
NFS client No
12. Настраиваем системную (текстовую) консоль:
Font IBM 866
Keymap Russia KOI8-R
Repeat Fast
Screenmap KOI8-R to IBM 866
Ttys KOI8-R cons25r
13. Выбираем часовой пояс: Europe - Russian Federation - Moscow+00.
Здесь MSK - московское зимнее время, MSD - московское летнее.
14. Устанавливаем поддержку бинарной совместимости с Linux (Linux binary
compatibility). Некоторые приложения распространяются только как закрытые
бинарники для Linux, так что нам это пригодится.
15. Настраиваем мышку в системной консоли: Type - Auto, Port - PS/2.
Для USB-мышки прописываем Flags "-p /dev/ums0". Затем выбираем Enable.
16. Программа предложит установить приложения из пэкеджей (пакетов),
идущих на компакт-дисках. Обязательно выбираем gnome/gnome2 и kde/kde
со всеми зависимостями - как минимум, нам понадобятся их библиотеки.
Также отмечаем archivers/unzip, devel/glib-1.2, devel/libslang,
graphics/dri, graphics/libdrm, graphics/png, misc/compat4x,5x,6x,
shells/bash-3, www/links, www/lynx, www/opera, x11/rxvt (см. п.5.3, п.5.4).
Нажимаем Install и ждем завершения установки.
17. Создаем новых пользователей (переход между полями ввода - Tab,
завершение ввода - Enter), затем задаем пароль root'а. Если забыли
что-то настроить - заходим в Configuration Menu и настраиваем.
На этом настройка системы закончена. Выходим из программы установки
и перезагружаем машину.
18. Для новичков: после установки первым делом читаем Message of the Day
(то, что написано на консоли сразу после логина), а также
man hier
man man
19. Если вы установили документацию, то руководство находится в
/usr/share/doc/en/ (полная версия)
/usr/share/doc/ru/ (частичный перевод)
Если нет, то оно на отдельном диске дистрибутива.
20. Справку по командам, библиотекам, подсистемам и драйверам системы
можно получить при помощи команды man
man <тема>
man <раздел> <тема>
----------------------------------------------------------------------
1.2. Установка и удаление программ
----------------------------------------------------------------------
1. Вызов программы установки и конфигурации
sysinstall
2. Установка программ из прилагаемых на диске пакетов (packages)
sysinstall configPackages
или вручную
pkg_add PACKAGENAME-VERSION.tgz
3. Удалить установленные таким образом программы можно через
sysinstall или вручную
cd /var/db/pkg
pkg_delete PACKAGENAME-VERSION
4. Если была установлена коллекция портов (/usr/ports), то программы
можно ставить из нее:
cd /usr/ports/CATHEGORY/PORTNAME
make
make install
make clean
Если файлы дистрибутива отсутствуют в /usr/ports/distfiles, они будут
скачены из Интернета автоматически. Если доступа к Интернету нет, надо
эти файлы или ссылки на них поместить в /usr/ports/distfiles самому.
Если устанавливаемый порт зависит от наличия других портов, они также
будут установлены.
5. Некоторые порты имеют настройки. Повторно задать их можно так
cd /usr/ports/CATHEGORY/PORTNAME
make config
6. Удалить установленные таким образом порты
cd /usr/ports/CATHEGORY/PORTNAME
make deinstall
или аналогично пункту 3.
7. Установка программ из исходных текстов (исходников)
tar -xzf APPNAME-VERSION.tar.gz
или для BZip2-архивов
tar -xyf APPNAME-VERSION.tar.bz2
cd APPNAME-VERSION
./configure --prefix=/usr/local/APPNAME
make
make install
или если make не работает
gmake
gmake install
8. Удалить установленные таким образом программы
rm -R /usr/local/APPNAME
----------------------------------------------------------------------
1.3. Пересборка ядра и загрузка системы
----------------------------------------------------------------------
1. Далее предполагается, что исходные тексты ядра были установлены,
и существует символическая ссылка /sys -> /usr/src/sys.
2. Создаем файл конфигурации ядра:
cd /sys/`uname -p`/conf
cp GENERIC CUSTOM
3. Выкидываем из CUSTOM все лишнее, добавляем из файлов NOTES и
/sys/conf/NOTES все нужное.
4. Собираем новое ядро.
cd /usr/src
make buildkernel KERNCONF=CUSTOM
5. Устанавливаем новое ядро и перезагружаем систему.
make installkernel KERNCONF=CUSTOM
reboot
6. Если потерян boot manager в MBR, то его можно переустановить
/usr/sbin/boot0cfg -B -o packet /dev/ad0
7. Если новое ядро не грузится, в начальном загрузчике нажимаем
any key, затем вводим команды:
unload
load /boot/kernel.old/kernel
boot
8. Если грузится ядро, но виснут скрипты начальной загрузки, то
загружаемся в однопользовательском (Single User) режиме.
9. Загрузчик NTLdr может также загрузить FreeBSD. Для этого
cp /boot/boot1 /mnt/c/FreeBSD.bin
и дописываем в C:\boot.ini
C:\FreeBSD.bin="FreeBSD 7.0"
10. Поменять активный раздел жесткого диска из FreeBSD можно командой
fdisk -a
----------------------------------------------------------------------
1.4. Настройка файловых систем
----------------------------------------------------------------------
1. Системы FAT, содержащие русские символы в именах файлах, следует
пометить в /etc/fstab в графе Options как -Lru_RU.KOI8-R
# Device Mountpoint FStype Options
/dev/ad0s1 /mnt/c msdosfs rw,-Lru_RU.KOI8-R
2. Системы NTFS и CD9660, содержащие русские символы в именах файлах,
следует пометить в /etc/fstab в графе Options как -CKOI8-R
# Device Mountpoint FStype Options
/dev/ad0s1 /mnt/c ntfs ro,-CKOI8-R
/dev/acd0 /cdrom cd9660 ro,noauto,-CKOI8-R
3. Все съемные системы (FDD, CD, Flash) пометить в /etc/fstab как noauto
(во избежание попыток доступа к ним во время загрузки ядра)
# Device Mountpoint FStype Options
/dev/fd0 /floppy msdosfs rw,noauto,-Lru_RU.KOI8-R
/dev/acd0 /cdrom cd9660 ro,noauto,-CKOI8-R
Теперь их можно будет (раз)монтировать командами
mount /cdrom
umount /cdrom
4. Для монтирования DVD-диска как ISO- или UDF-систему можно написать
скрипт mount_dvd.sh
# $1 is a mount point, like /cdrom
DEV=`cat /etc/fstab | grep $1 | cut -f 1`
mount $1 || mount_udf -C KOI8-R $DEV $1
5. Файл с ISO-образом компакт-диска монтируется
mdconfig -a -t vnode -u 1 -f image.iso
mount_cd9660 /dev/md1 /cdrom
Размонтируется это все командами
umount /cdrom
mdconfig -d -u 1
6. Для создания ISO-образа компакт-диска достаточно команды
cp /dev/acd0 image.iso
7. Для поддержки USB Flash-носителей ядро должно быть собрано с
device scbus
device da
device pass
device uhci
device ohci
device ehci
device usb
device umass
Flash-носители описываются в /etc/fstab как SCSI-устройства
# Device Mountpoint FStype Options
/dev/da0s1 /flash msdosfs rw,noauto,-Lru_RU.KOI8-R
Для автомонтирования Flash-носителя дописываем в /etc/devd.conf
attach 20 {
device-name "umass0";
action "/bin/sleep 2 && /sbin/mount /flash";
};
8. Для монтирования расшаренных ресурсов с Windows-машин (или
Samba-серверов) описываем их в /etc/fstab как файловые системы SMB
# Device Mountpoint FStype Options
//samba/share /mnt/samba smbfs rw,noauto,-Isamba,-Ekoi8-r:cp866,-N
Ключ -N указываем, чтобы пароль не запрашивался. Иначе пароль надо
указать в файле ~/.nsmbrc
----------------------------------------------------------------------
1.5. Работа с NTFS
----------------------------------------------------------------------
1. Устанавливаем из портов драйвер NTFS-3G для подсистемы FUSE;
cd /usr/ports/sysutils/fusefs-ntfs
make install clean
Вместе с ним должны поставиться fusefs-kmod и fusefs-libs.
2. Дописываем в /etc/rc.conf
fusefs_enable="YES"
3. Запускаем подсистему FUSE:
/usr/local/etc/rc.d/fuse start
4. Теперь файловые системы NTFS можно монтировать на запись командой
ntfs-3g /dev/ad0s1 /mnt/c -o fmask=133,dmask=022,locale=ru_RU.KOI8-R
а размонтировать - командой
umount /mnt/c
5. С локалью ru_RU.KOI8-R файлы с русскими буквами будут не видны.
Кодировки кроме UTF-8 все еще не поддерживаются.
----------------------------------------------------------------------
1.6. Работа с компакт-дисками
----------------------------------------------------------------------
1. Для поддержки UltraDMA для CD/DVD-приводов вносим в /boot/loader.conf
hw.ata.atapi_dma=1
2. Для создания ISO-образов компакт-дисков из дерева каталогов
ставим из пакетов mkisofs
pkg_add mkisofs-2.0.tgz
или cdrtools из портов
cd /usr/ports/sysutils/cdrtools
make install clean
3. Создать образ текущего каталога, с поддержкой Joilet,
с разыменованованием символических ссылок можно так:
mkisofs -o image.iso -J -f -input-charset koi8-r .
4. Родные для FreeBSD файловые системы можно записать с поддержкой
Joilet и RockRidge, без разыменования ссылок:
mkisofs -o image.iso -J -R -input-charset koi8-r .
5. Оценить размер создаваемого образа в мегабайтах можно так:
echo $((`mkisofs -f -print-size -quiet .` * 2 / 1024)) 'MBytes'
6. Записать ISO-образ на компакт-диск можно при помощи burncd
(как мультисессионный - с ключом -m)
burncd -s 24 data image.iso fixate
7. Можно создавать и записывать образ "на лету":
mkisofs -J -f -input-charset koi8-r . | burncd -s 24 data - fixate
8. Очистить CD-RW можно командой
burncd -s 12 blank
----------------------------------------------------------------------
1.7. Архивирование и резервное копирование
----------------------------------------------------------------------
1. Перенос (копирование) данных из некорневых файловых систем
cp -R -p /usr /mnt/backup/
pax -r -w -p e /usr /mnt/backup/
2. Создание tar- (tar.gz, tar.bz2) архивов
tar -cf /mnt/c/backup.tar /usr/home
tar -czf /mnt/c/backup.tar.gz /usr/home
tar -cyf /mnt/c/backup.tar.bz2 /usr/home
3. Распаковка tar- (tar.gz, tar.bz2) архивов
cd /
tar -xpf /mnt/c/backup.tar
tar -xpzf /mnt/c/backup.tar.gz
tar -xpyf /mnt/c/backup.tar.bz2
4. Создание полного дампа (образа) файловой системы
dump -0 -a -f /mnt/c/backup.dump /
или с применением сжатия
dump -0 -a -f - / | gzip > /mnt/c/backup.dump.gz
5. Восстановление файловой системы из полного дампа
cd /
restore -r -f /mnt/c/backup.dump
или с применением сжатия
cd /
gunzip -c /mnt/c/backup.dump.gz | restore -r -f -
----------------------------------------------------------------------
1.8. Обновление портов
----------------------------------------------------------------------
1. Для обновления дерева портов через CVS требуется программа сsup
(или cvsup). Если ее нет в базовой системе, устанавливаем из портов:
cd /usr/ports/net/csup
make install
2. Затем копируем файл /usr/share/examples/cvsup/ports-supfile хотя бы
в /usr/local/etc и правим его:
*default host=cvsup.ru.FreeBSD.org
3. Создаем скрипт /usr/local/sbin/update-ports.sh:
csup -L 1 /usr/local/etc/ports-supfile
cd /usr/ports
nice make index
Затем запускаем его. Наберитесь терпения, это довольно длительный процесс.
4. Сделать архив, содержащий только дерево портов (без архивов с
дистрибутивами и распакованных рабочих каталогов), можно так:
cd /usr
find ./ports -name "work" -exec rm -R \{\} \;
tar -cyf ports-`date +%Y%m%d`.tar.bz2 --exclude ports/distfiles/\* ./ports
----------------------------------------------------------------------
1.9. Пересборка и обновление системы
----------------------------------------------------------------------
1. Можно сравнительно несложно обновить всю базовую часть системы,
не трогая установленные приложения и службы. Например, провести
обновление системы с FreeBSD-6.2 до FreeBSD-7.0.
2. Обновляем документацию по системе. Удаляем весь каталог /usr/share/doc,
переходим в каталог с доками на диске и распаковываем доки:
cd X.X-RELEASE/doc
./install.sh
3. Сохраняем свои конфиги ядра - они нам еще понадобятся.
Удаляем весь каталог /usr/src и распаковываем в него новые исходники
с диска:
cd X.X-RELEASE/src
./install.sh all
(или обновляем через cvsup). Восстанавливаем конфиги ядра, правим их
по необходимости. Перед обновлением рекомендуется прочитать секцию
"COMMON ITEMS" файла /usr/src/UPDATING.
4. Пересобираем систему и ядро. Это займет довольно много времени и
примерно 400 мегабайт на жестком диске.
cd /usr/src
make buildworld
make buildkernel KERNCONF=CUSTOM
5. Устанавливаем новое ядро и перезагружаем систему.
make installkernel KERNCONF=CUSTOM
reboot
6. Следует загрузиться в однопользовательском режиме (single user mode)
и вручную смонтировать все файловые системы:
mount -a
7. Обновляем файлы пользователей и групп:
mergemaster -p
Подсказки см. в п.9.
8. Устанавливаем новую систему и удаляем ненужные файлы.
cd /usr/src
make installworld
make delete-old
9. Обновляем все остальные конфигурационные файлы:
mergemaster
Это займет довольно много времени.
При принятии решения о судьбе файла пользуемся подсказками:
d - новый файл удалить, а старый оставить
i - установить новый файл
m - провести интерактивное слияние файлов
r - переделать слияние файлов
v - посмотреть результат слияния файлов
Enter - оставить до следующего раза
При интерактивном слиянии файлов пользуемся подсказками:
l - взять ариант слева (старый)
r - взять вариант справа (новый)
e l - править вариант слева (старый), взять результат
e r - править вариант справа (новый), взять результат
e b - слить оба варианта, поправить и взять результат
10. Перезагружаем систему в обычном режиме и удаляем временные файлы:
reboot
rm -rf /usr/obj/*
11. Если вы планируете обновлять приложения, то можете потом удалить
старые библиотеки:
cd /usr/src
make delete-old-libs
----------------------------------------------------------------------
2.1. Dialup-модем
----------------------------------------------------------------------
1. Далее предполагается, что модем подключен к порту COM1 (/dev/cuad0
в FreeBSD 6), а наш провайдер поддерживает PPP-протокол и PAP- или
CHAP-авторизацию. Будем использовать демон pppd. В нижеследующих
примерах заменяем строки <username>, <password>, <phone> на полученные
от провайдера имя, пароль и номер модемного пула соответственно.
2. Создаем файл /etc/ppp/options, куда пишем
/dev/cuad0 115200
modem
crtscts
lock
connect 'chat -V -f /etc/ppp/script'
user <username>
defaultroute
noipdefault
persist
debug
3. Создаем файл /etc/ppp/script следующего содержания:
ABORT "ERROR"
ABORT "NO DIALTONE"
TIMEOUT 5
"" "AT"
"OK" "ATZ"
ABORT "BUSY"
ABORT "NO ANSWER"
ABORT "NO CARRIER"
"OK" "ATDT<phone>"
TIMEOUT 70
"CONNECT" "\c"
TIMEOUT 30
"ogin:" "\c"
Этот скрипт подходит для владимирского Центртелекома (elcom). Для
радужного ГУС (GIN) заменяем последнюю строчку на
"sername:" "\c"
Для импульсного набора номера заменяем ATDT на ATDP.
4. Создаем файл /etc/ppp/pap-secrets, где указываем имя и пароль,
выданные провайдером:
<username> * <password>
Затем ограничиваем права доступа и создаем символическую ссылку:
chmod 600 /etc/ppp/pap-secrets
ln -s /etc/ppp/pap-secrets /etc/ppp/chap-secrets
5. Прописываем в файле /etc/resolv.conf адреса DNS-серверов провайдера.
Для владимирского Центртелекома (elcom) пишем
nameserver 84.53.200.24
nameserver 84.53.199.254
Для радужного ГУС (GIN) пишем
nameserver 92.50.248.18
6. Теперь для установления соединения с провайдером достаточно запустить
pppd &
а для завершения работы - выполнить
killall pppd
----------------------------------------------------------------------
2.2. ADSL-модем и VPN
----------------------------------------------------------------------
1. Далее предполагается, что модем имеет Ethernet-интерфейс, компьютер
имеет Ethernet-адаптер, модем работает в режиме моста, а выход в Интернет
будет осуществляться через VPN-подключение по протоколам PPTP+GRE.
В нижеследующих примерах подставляем вместо строк в <> полученные от
провайдера атрибуты:
<inet.addr> IP-адрес машины клиента
<inet.netmask> маска подсети клиента
<inet.gateway> IP-адрес шлюза для клиента
<pptp.server.addr> IP-адрес PPTP-сервера провайдера
<username> логин клиента
<password> пароль клиента
2. Настраиваем ADSL-модем в соответствии с требованиями провайдера.
Для радужного ГУС (GIN) это режим моста (Bridge), инкапсуляция по RFC 1483,
мультиплексирование LLC, VPI=0, VCI=33.
3. Настраиваем адреса сетевых интерфейсов компьютера (модема) в
соответствии с требованиями провайдера. Правим /etc/rc.conf:
ifconfig_if0="inet <inet.addr> netmask <inet.netmask>"
# defaultrouter="<inet.gateway>"
static_routes="vpn"
route_vpn="<pptp.server.addr> <inet.gateway>"
mpd_enable="YES"
4. Если используется файервол ipfw, то добавляем в начало таблицы правила
ipfw add pass all from me to <pptp.server.addr>
ipfw add pass all from <pptp.server.addr> to me
5. Прописываем в файле /etc/resolv.conf адреса DNS-серверов провайдера,
затем выполняем команду
/etc/netstart
6. Устанавливаем mpd из пэкеджей:
pkg_add libpdel-0.5.3_4.tbz mpd-5.3.tbz
7. Копируем файлы с примерами настройки:
cd /usr/local/etc/mpd5
cp mpd.conf.sample mpd.conf
8. Правим файл /usr/local/etc/mpd5/mpd.conf:
startup:
set user <username> <password> admin
default:
load pptp_client
pptp_client:
create bundle static B1
set iface route default
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
create link static L1 pptp
set link action bundle B1
set auth authname <username>
set auth password <password>
set link max-redial 0
set link mtu 1460
set link keep-alive 20 75
set pptp peer <pptp.server.addr>
open
9. Запускаем mpd и проверяем VPN-подключение:
/usr/local/etc/rc.d/mpd5 start
Теперь, если все прошло удачно, VPN-подключение будет автоматически
открываться при загрузке системы и закрываться при завершении работы.
10. Чтобы посмотреть статистику по VPN-подключению, запускаем веб-браузер
и заходим на http://localhost:5006/
----------------------------------------------------------------------
2.3. VPN и pptpclient
----------------------------------------------------------------------
1. Старайтесь для VPN-подключений в FreeBSD использовать mpd!
Если не получается, попробуйте pptpclient. См. шаги 1-5 для mpd.
2. Устанавливаем программу pptp - из исходников, пэкеджей или портов
cd /usr/ports/net/pptpclient
make install clean
3. Дописываем в конец файла /etc/ppp/ppp.conf
vpn:
set authname <username>
set authkey <password>
set timeout 0
set ifaddr 0 0
add default HISADDR
alias enable yes
4. Создаем исполняемый скрипт /usr/local/etc/rc.d/pptp.sh
#!/bin/sh
case "$1" in
start) {
until ping -q -t 1 -c 1 <inet.gateway>
do sleep 5
done
/usr/local/sbin/pptp <pptp.server.addr> vpn &
} &
;;
stop) if [ -f /var/run/tun0.pid ]
then kill `cat /var/run/tun0.pid`
fi
;;
restart)$0 stop; $0 start
;;
*) echo "Usage: `basename $0` {start|stop}" >&2
exit 1
esac
5. Проверяем VPN-подключение:
/usr/local/etc/rc.d/pptp.sh start
----------------------------------------------------------------------
2.4. Подсчет трафика
----------------------------------------------------------------------
1. Быстро посчитать трафик, проходящий через интерфейс, можно при помощи
фаервола ipfw. Далее предполагается, что мы считаем трафик на интерфейсе
ng0 (mpd-соединение). Вместо него могут быть ppp0 или tun0.
2. Создаем правила для подсчета входящего и исходящего трафика и помещаем
их в начало таблицы правил, например:
ipfw add 650 count all from any to me via ng0
ipfw add 660 count all from me to any via ng0
3. Посмотреть статистику по правилам фаервола можно командой
ipfw show
4. Для вывода данных о трафике в читабельном виде пишем скрипт trafstat.sh
#!/bin/sh
rulecnt() {
num=`ipfw show $1 | sed -E -e 's/[^ ]+ +[^ ]+ +([^ ]+) .+/\1/'`
num2=`echo $num | sed -E -e 's/^([0-9]+)([0-9]{3})$/\1,\2/'`
while [ $num2 != $num ]
do num=$num2
num2=`echo $num | sed -E -e 's/^([0-9]+)([0-9]{3}),/\1,\2,/'`
done
echo $num2
}
echo Incoming `rulecnt 650` / Outgoing `rulecnt 660`
----------------------------------------------------------------------
3.1. Настройка мышки в консоли
----------------------------------------------------------------------
1. Если moused не был настроен во время установки, дописываем
в /etc/rc.conf
moused_enable="YES"
moused_type="auto"
mousechar_start="3"
2. Для USB-мышки дописываем в /etc/rc.conf
moused_port="/dev/ums0"
3. Если мышка двухкнопочная, то можно добавить в /etc/rc.conf
moused_flags="-m 2=3"
4. Выделять первой (левой) кнопкой мышки, расширять выделение - второй
(правой), вставлять - третьей (средней)
----------------------------------------------------------------------
3.2. Русификация консоли (общесистемная)
----------------------------------------------------------------------
1. Чтобы не засорять ttyv0 логами, правим /etc/syslog.conf
*.err;kern.debug;auth.notice;mail.crit /dev/ttyv7
2. Прописываем шрифт и раскладку в /etc/rc.conf
font8x16="cp866-8x16"
scrnmap="koi8-r2cp866"
keymap="ru.koi8-r.win"
Переключение раскладок будет осуществляться по Ctrl-Shift
3. Ставим для всех терминалов N=0..7 тип cons25r в /etc/ttys
ttyvN "/usr/libexec/getty Pc" cons25r on secure
----------------------------------------------------------------------
3.3. Русификация консоли (для каждого юзера)
----------------------------------------------------------------------
1. Дописываем в файл ~/.login
setenv CHARSET KOI8-R
setenv MM_CHARSET KOI8-R
setenv LANG ru_RU.KOI8-R
2. Дописываем в файл ~/.profile
EDITOR=ee; export EDITOR
PAGER=less; export PAGER
LANG=ru_RU.KOI8-R; export LANG
3. Дописываем в файл ~/.inputrc - для русских букв в sh, csh
set convert-meta off
set input-meta on
set output-meta on
----------------------------------------------------------------------
3.4. Установка консольных приложений (общесистемная)
----------------------------------------------------------------------
1. Первым делом обновляется коллекция портов
cd /usr
rm -R ./ports
tar -xyf ports.tar.bz2
2. Ставим файловый менеджер Midnight Commander из портов
cp mc-4.6.1.tar.gz /usr/ports/distfiles
cd /usr/ports/misc/mc
make install clean
3. Устанавливаются архиваторы - из пакетов или портов
pkg_add zip-2.3_1.tgz
pkg_add unzip-5.50.tgz
cd .usr/ports/archivers/rar
make install clean
4. Из hex-редакторов ставим biew из портов
cd /usr/ports/editors/biew
make install clean
5. Из WWW-браузеров ставятся lynx и links. lynx - из пэкеджей
или портов. К links'у добавляем мой патч (опционально), затем
установка из портов
cp links-VERSION.patch /usr/ports/www/links/files/
cd /usr/ports/www/links
make install clean
7. Из мэйлеров ставится pine или cone из портов или пэкеджей
cd /usr/ports/mail/cone
make install clean
Для поддержки русских букв в cone перед сборкой дописываем в Makefile
WITH_NCURSESW=yes
8. Из веб-качалок ставится wget - из исходников или портов
cd /usr/ports/ftp/wget
make install clean
9. Из ICQ-клиентов ставится CenterIM из портов
cd /usr/ports/net-im/centerim
make install clean
10. Из IRC-клиентов ставится BitchX, затем опционально
ln -s BitchX /usr/local/bin/bxirc
----------------------------------------------------------------------
3.5. Настройка консольных приложений (для каждого юзера)
----------------------------------------------------------------------
1. Для ввода в mc русских букв временно включить
Настройки / Биты символов / Полный 8-битный ввод
2. Для создания архивов рекомендуется создать ~/.mc/menu
r Добавить выбранные файлы в архив rar
rar a -s -ow -ol %{Имя архива (*.rar)}.rar %s
z Добавить выбранные файлы в архив zip
zip -ry %{Имя архива (*.zip)}.zip %s
t Добавить выбранные файлы в архив tar.gz
tar -czf %{Имя архива (*.tar.gz)}.tar.gz %s
2 Добавить выбранные файлы в архив tar.bz2
tar -cyf %{Имя архива (*.tar.bz2)}.tar.bz2 %s
3. Для links рекомендуются следующие настройки
Setup / Language / Russian
Настройка / Кодировка / KOI8-R
Настройка / Настройки терминала / Рамки KOI8-R; Курсор прямоугольником; Цвет
Настройка / Настройки JavaScript / Включить JavaScript
Вид / Настройки HTML / Таблицы; Фреймы; Кодировка по умолчанию - Windows-1251
4. Для работы в BitchX c русскими буквами создать файл ~/.ircrc
set COLOR on
set TRANSLATION RUSSIAN_WIN