Tag Archives: HOWTO

Установка Maple 12 во FreeBSD

Да! Я-таки поставил эту чудо-программу на свою систему :)

Установка оказалась не такой уж сложной, но небольшие проблемы всё же были.

Первым делом идём на официальный сайт продукта, покупаем лицензию (да-да :) ) и берём дистрибутив для ОС Linux.

Далее нам необходимо “обмануть” инсталлятор, дабы он думал, что программа будет устанавливаться на Linux-систему и создать все необходимые условия для бинарной совместимости с пингвином. Для этого:

Проверяем, установлен ли в системе linux_base:

# pkg_info | grep linux_base
linux_base-fc-4_13 Base set of packages needed in Linux mode (for i386/amd64)

Если нет, то устанавливаем и настраиваем его:

# cd /usr/ports/emulators/linux_base-fc4
# make install clean
# echo “linux_load=YES” >> /etc/rc.conf
# kldload linux.ko

Далее сэмулируем и подключим каталог /proc для пингвина:

# echo “linprocfs /compat/linux/proc linprocfs rw 0 0″ >> /etc/fstab
# kldload linprocfs
# mount /compat/linux/proc

Всё, теперь FreeBSD будет понимать линуксовые пакеты. Перейдём непосредственно к установке Maple.

Идём в каталог с дистрибутивом, запускаем скрипт установки в режиме бинарной совместимости с linux:

# /compat/linux/bin/sh Maple12Linux32Installer.bin

Здесь у меня была проблема нехватки места в каталоге /tmp, поэтому я его временно изменил:

# IATEMPDIR=/home/rainer/temp
# export IATEMPDIR

Если у вас такой проблемы нет, то выполнять эти две команды не нужно.

Далее запустится графический инсталлятор, в котором указываем установочный путь. Я выбрал /usr/local/maple.

Завершаем установку, копируем лицензию (license.bat) в /usr/local/maple/license и запускаем программу:

% /compat/linux/bin/sh /usr/local/maple/bin/xmaple

Работает? А куда она денется! ;)

P.S.: Теперь осталось портировать сюда мой курсач по ТОЭ из виндового маткада :-D

Настройка ftpd

Этот пост пишу потому, что в интернете не нашел нормальной статьи по настройке встроенного во FreeBSD ftp-сервера: кругом сплошные сслыки на “man ftpd”. Интак, мне необходимо поднять ftp с ограниченным доступом по логину/паролю к отдельным папкам для каждого пользователя. Для этих целей ftpd будет выше крыши.

1. В файл /etc/rc.conf добавляем строчки:

ftpd_enable=”YES”
ftpd_flags=”" # здесь прописываем нужные флаги. Их описание я привёл ниже.

Доступные флаги:
-D: запускать ftpd в режиме демона.
-a <адрес>: в режиме демона принимать соединения только на указанный IP-адрес.
-d: включить режим отладки (подробная информация о работе будет выдаваться серверу syslog как LOG_FTP).
-h: не выводить информацию о системе в сообщениях сервера.
-l: протоколировать все сессии (обычно используется/var/log/xferlog).
-A: разрешить только анонимный доступ.
-M: запретить анонимным пользователям создавать папки.
-m: разрешить анонимным пользователям модифицировать существующие файлы (если для этого достаточно системных прав).
-o, -O: разрешить только запись на сервер всем пользователям (-o) или только анонимному пользователю (-O). В частности, таким образом можно организовать сбор с удаленных серверов файлов резервных копий, чтение которых пользователями не предусмотрено.
-r: перевести сервер в режим «только для чтения». Любая модификация размещенных данных будет запрещена.

2. Создаем учётные записи пользователей (например, с помощью adduser), которым будут разрешен доступ к серверу, после чего убеждаемся в том, что их имена не упоминаются в файле /etc/ftpuser (пользователям, упомянутым в этом файле, доступ к ftp будет запрещён).
Для анонимного доступа к серверу необходимо создать учётную запись с именем “ftp”. Корневым каталогом и будет его домашняя папка.

3. Создаем файл /etc/ftpchroot и заполняем его по такому шаблону:

<имя пользователя> <путь к папке>
<@ имя группы> # это для того, чтобы все пользователи данной группы были ограничены одной папкой (можно не указывать).

Пример:

test /home/test
@ wheel

4. Устанавливаем нужные права на папку /home/test (то, что мы хотим разрешить/запретить пользователю test).

5. При необходимости редактируем:
/etc/ftphosts – настройка виртуальных хостов
/etc/ftpwelcome – приветственное сообщение
/etc/ftpmotd – приветственное сообщение, выводимое при входе на сервер

6. Определяемся, как мы будем запускать сервер – через inetd, или же как standalone.
В первом случае в файле /etc/inetd.conf раскоментируем строчку

ftp stream tcp nowait root usr/liexec/ftpd ftpd -l

Во втором случае для запуска используем скрипт /etc/rc.d/ftpd:

# /etc/rc.d/ftpd start

Если его в системе нет (старые версии FreeBSD), создаём вручную:

#!/bin/sh
#
# $FreeBSD: src/etc/rc.d/ftpd,v 1.1 2006/01/21 18:08:15 yar Exp $
#

# PROVIDE: ftpd
# REQUIRE: LOGIN cleanvar

. /etc/rc.subr

name=”ftpd”
rcvar=`set_rcvar`
command=”/usr/libexec/${name}”
pidfile=”/var/run/${name}.pid”
start_precmd=ftpd_prestart

ftpd_prestart()
{
rc_flags=”-D ${rc_flags}”
return 0
}

load_rc_config $name
run_rc_command “$1″

Вот и всё :) Заходим на свой сервер и радуемся жизни ;)

Первоначальная настройка FreeBSD

В последнее время приходилось частенько ставить и настраивать эту ОС. Кое-что забывается, поэтому решил написать краткий мануал для быстрого освежения памяти :). Описаний типа “почему именно так, а не так, что это такое и зачем оно здесь нужно” не привожу. Для этого есть handbook. Да, в интернете много подобных статей, но ни одна не помогла мне на 100%. Цель данного поста – описать первоначальную рабочую конфигурацию FreeBSD 7.0, которая проверена на моём железе. Итак, начнём.

Русификация консоли:

1) В файл /etc/profile добавляем строчки:

LANG=ru_RU.KOI8-R; export LANG
MM_CHARSET=KOI8-R; export MM_CHARSET

2) /etc/rc.conf:

font8x14=”cp866-8×14″
font8x16=”cp866b-8×16″
font8x8=”cp866-8×8″
keychange=”61 ^[[K"
keymap="ru.koi8-r.win"
scrnmap="koi8-r2cp866"

3) В /etc/ttys меняем все значения cons25 на cons25r.

4) Редактируем /etc/passwd. Находим строчки нужных пользователей:

root:пыщьпыщьпыщь:0:0::0:0:Vladimir &:/root:/usr/local/bin/zsh

Добавляем к каждому нужному юзеру между двумя двоеточиями слово "russian":

root:пыщьпыщьпыщь:0:0:russian:0:0:Vladimir &:/root:/usr/local/bin/zsh

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

Настройка Xorg:

Для создания пробного конфигурационного файла выполняем:

# Xorg -configure

Копируем полученный  конфиг /root/xorg.conf.new в /etc/X11/xorg.conf и редактируем его.

Настройка мыши

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option        "Protocol" "auto"
    Option        "Device" "/dev/sysmouse"
    Option        "ZAxisMapping" "4 5 6 7"
EndSection

В моём случае мы имеем дело с ноутбуком, поэтому необходимо настроить ещё и тачпад (если у вас его нет, переходим к следующему пункту). Редактируем секцию "ServerLayout":

Section "ServerLayout"
  ...
    InputDevice    "Touchpad" "CorePointer"
    InputDevice    "Mouse0" "SendCoreEvents"
  ...
EndSection

И добавляем секцию тачпада:

Section "InputDevice"
    Identifier      "Touchpad"
    Driver          "mouse"
    Option         "Device" "/dev/psm0"
    Option         "Protocol" "PS/2"
    Option         "ZAxisMapping" "4 5 6 7"
EndSection

Также можно использовать драйвер "synaptics", но в моём случае он не поддерживается.

Настройка клавиатуры

У меня возникали проблемы с этой секцией в различных версиях XOrg. Вот мои текущие рабочие настройки:

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver "kbd"
    Option "CoreKeyboard"
    Option "XkbRules" "xorg"
    Option "XkbModel" "pc104"
    Option "XkbLayout" "us,ru"
    Option "XkbVariant" ",winkeys"
    Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll" # переключение между языками (в данном случае Alt+Shift,
            #индикатор смены языка - лампочка Scroll Lock)
EndSection

Итого, в графической оболочке мы имеем рабочую win-клавиатуру с правильной раскладкой русских символов.

Настройка видеокарты:

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

# cd /usr/ports/x11/nvidia-driver/
# make install clean

Я конфигурировал, исопльзуя лишь одну опцию "LINUX". "FREEBSD_AGP" не выбираем, т.к. с ней видео не работает должным образом (по крайней мере, у меня).

Жмём "OK", ждём, пока драйвер скомпиллируется и поставится.

Если при установке не возникло проблем - возвращаемся к редактированию /etc/X11/xorg.conf. Правим секцию "Device" для видеокарты:

Section "Device"
    Identifier  "Card0"
    Driver      "nvidia"
    VendorName  "nVidia Corporation"
    BoardName   "NV43 [GeForce Go 6200/6400]”
    BusID       “PCI:1:0:0″
    Option      “NoLogo” “true”
    Option      “RenderAccel” “true”
EndSection

При желании включаем дополнительные опции, о которых можно почитать на официальном сайте NVIDIA.

В файл /boot/loader.conf добавляем две строчки:

linux_load=”YES”
nvidia_load=”YES”

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

Настройка звука

У меня интеловская звуковая карта “High Definition Audio”. Для неё, начиная с седьмой версии фри, есть свой модуль ядра (snd_hda.ko). Убедимся в его наличии:

# ls -la /boot/kernel/snd_hda.ko
-r-xr-xr-x  1 root  wheel  83714 24 фев  2008 /boot/kernel/snd_hda.ko*

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

ls -la /boot/kernel/snd_*

Выбираем нужный нам и подключаем его:

# kldload snd_hda

Теперь должен появиться звук. Для того, чтобы при загрузке системы модуль подключался автоматически, в файл /boot/loader.conf добавляем строку

snd_hda_load=”YES”

Перезагружаемся. Теперь в системе должна быть поддержка клавиатуры, мыши, видео и звука. А что ещё для счастья надо? :)