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

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

1. Настраиваем временную зону. Проще всего это сделать следующей командой:

# tzsetup

В связи с принятием закона об отмене перехода на зимнее/летнее время, на версиях FreeBSD старее 8.3 и 9.0 хранится устаревшая инфомарция о временных зонах. Для обновления базы данных временных зон следует установить порт /usr/ports/misc/zoneinfo. А после установки выполнить вышеуказанную команду.

2. Создаем БД алиасов для sendmail. Почтовый демон (sendmail) использует ее в процессе доставки писем локальным пользователям, поэтому если ее не будет, то он будет вывалить сообщения об ошибках в лог.

# cd /etc/mail
# make aliases

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

# cat /etc/rc.conf

font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
keymap="ru.koi8-r"
keyrate="fast"
saver="green"
scrnmap="koi8-r2cp866"

hostname="your.hostname"
# cat /etc/ttys

....
ttyv0   "/usr/libexec/getty Pc"         cons25r  on  secure
# Virtual terminals
ttyv1   "/usr/libexec/getty Pc"         cons25r  on  secure
ttyv2   "/usr/libexec/getty Pc"         cons25r  on  secure
ttyv3   "/usr/libexec/getty Pc"         cons25r  on  secure
ttyv4   "/usr/libexec/getty Pc"         cons25r  on  secure
ttyv5   "/usr/libexec/getty Pc"         cons25r  on  secure
ttyv6   "/usr/libexec/getty Pc"         cons25r  on  secure
ttyv7   "/usr/libexec/getty Pc"         cons25r  on  secure
....

P.S. На FreeBSD 9 файл /etc/ttys трогать ни к чему, поскольку тип терминала там - xterm, который обеспечивает поддержку различных кодировок.

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

# kill -1 1

Это заставит первый процесс в системе заного выполнить инициализацию терминалов. Теперь про шрифты и кодировку в консоли. Вообще для управления настройками консоли есть системная утилита — vidcontrol. С помощью нее с консолью можно сделать практически все, что угодно (более подробно об этом смотрите в мане). Здесь же, я расскажу только о том, как к консоли применить новые шрифты и кодировку. Все шрифты лежат здесь — /usr/share/syscons/fonts. Вот как можно загрузить шрифты:

# vidcontrol -f 8x8 /usr/share/syscons/fonts/cp866-8x8
# vidcontrol -f 8x14 /usr/share/syscons/fonts/cp866-8x14
# vidcontrol -f 8x16 /usr/share/syscons/fonts/cp866b-8x16

Новую кодировку можно загрузить такой командой (возможные кодировки лежат здесь — /usr/share/syscons/scrnmaps):

# vidcontrol -l /usr/share/scrnmaps/koi8-r2cp866

Ну и еще расскажу про раскладку клавиатуры — для управления клавой в системе есть утилита kbdcontrol. Возможные варианты раскладок лежат здесь — /usr/share/syscons/keymaps. Загрузить новую раскладку можно так:

# kbdcontrol -l /usr/share/syscons/keymaps/ru.koi8-r

Кстати, в командах vidcontrol и kbdcontrol не обязательно указывать полный путь, они автоматом ищут нужные файлы в предназначенных на то каталогах.
Для отображения/изменения имени машины есть системная утилита hostname. Пользоваться ей очень просто — без аргументов выводит текущее имя машины, а если указан аргумент (какая-нибудь последовательность символов), то установит новое имя хоста.

4. Ставим пользователю root локаль по умолчанию:

# pw usermod root -L russian

Чтобы применить новый класс, просто снова зайдите под рутом. Классы пользователей описываются в файле /etc/login.conf.

5. Настраиваем оболочку csh. Настройка осуществляется через конфигурационный файл .cshrc, который находится в домашней директории пользователя. Настройку также можно сделать через основной конфигурационный файл, который находится по такому пути — /etc/csh.cshrc, но тогда эти изменения будут распространяться на всех пользователей. Соответственно, для пользователя root надо отредактировать файл по такому пути: /root/.cshrc. Обычно этот файл у меня выглядит так:

alias h         history 25
alias j         jobs -l
alias la        ls -a
alias lf        ls -FA
alias ll        ls -lA

# Команда копирования/перемещения будет выводить имя файла,
# который сейчас обрабатывается.
alias cp        cp -v
alias mv        mv -v
# Делаем, чтобы команда grep подсвечивала искомые фразы
alias grep grep --color

# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin $HOME/bin)

# У меня стоит vim, поэтому я его установил редактором по умолчанию
setenv  EDITOR  vim
# less будет использоваться для отображения man страниц
setenv  PAGER     less
setenv  BLOCKSIZE       K

# По умолчанию less выводит весь текст белым цветом. С помощью
# этих переменных окружения можно задать цвета, которые будут
# использоваться при форматировании man страницы.
# Про управляющие спецсимволы читайте ман про terminfo. С такими
# параметрами:
# текст, выделенный жирным будет синего цвета;
# подсвечиваемый текст (при поиске, найденные совпадения)
#   будет фиолетового цвета;
# простой текст будет белого цвета;
# а подчеркнутый текст будет зеленого цвета

# Начало подсвечиваемого текста (при поиске, совпадения)
setenv LESS_TERMCAP_mb `echotc md; echotc AF 5`
# Начало текста, выделенного жирным
setenv LESS_TERMCAP_md `echotc md; echotc AF 4`
# Конец для предыдущих двух
setenv LESS_TERMCAP_me `echotc me; echotc AF 7`

# Начало простого текста
setenv LESS_TERMCAP_so `echotc so; echotc AF 5`
# Конец простого текста
setenv LESS_TERMCAP_se `echotc se; echotc AF 7`

# Начало подчеркнутого текста
setenv LESS_TERMCAP_us `echotc us; echotc AF 2`
# Конец подчеркнутого текста
setenv LESS_TERMCAP_ue `echotc ue; echotc AF 7`

# Включить подсветку в выводе команды ls.
setenv CLICOLOR                yes
setenv LSCOLORS                "ExfxcxdxBxegedabagacad"

if ($?prompt) then
       # Что выводить в приглашении? (описание доступных опций ниже)
       set prompt = "[ %T %~ ]# "
       set filec
       # Размер истории в строках
       set history = 500
       # Сохранять не более 500 строк из истории в файл
       set savehist = 500
       set mail = (/var/mail/$USER)
       # По нажатию клавиши tab выводить список команд, которые
       # начинаются с введенной вами последовательности символов.
       set autolist
       set color
       set colorcat
       if ( $?tcsh ) then
               bindkey "^W" backward-delete-word
               bindkey -k up history-search-backward
               bindkey -k down history-search-forward

               # Назначаем стандартные действия для клавиш:
               #     home, end, delete, insert
               # P.S. в putty без этого они не работают
               bindkey "^[[1~" beginning-of-line
               bindkey "^[[2~" overwrite-mode
               bindkey "^[[3~" delete-char
               bindkey "^[[4~" end-of-line
       endif
endif

Описание некоторых опций для "приглашения" (prompt):

  • %/ — текущая директория.
  • %~ — текущая директория, но в домашней директории путь будет заменен на символ '~'.
  • %h, %!, ! — количество событий в истории.
  • %M — полное имя хоста.
  • %m — имя хоста (до первой точки).
  • %B (%b) — начало (конец) текста, выделенного жирным.
  • %U (%U) — начало (конец) подчеркнутого текста.
  • %t, %@ — текущее время в 12 часовом AM/PM формате.
  • %T — текущее время в 24 часовом формате.
  • %p — текущее время (включая секунды) в 12 часовом AM/PM формате.
  • %P — текущее время (включая секунды) в 24 часовом формате.
  • %% — символ '%'.
  • %n — имя пользователя.
  • %j — количество задач.
  • %d — день недели (прописью).
  • %D — день недели (числом).
  • %w — месяц (прописью).
  • %W — месяц (числом).
  • %y — год в формате 'гг'.
  • %Y — год в формате 'гггг'.

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

Добавить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Яндекс.Метрика