• Быстрый переход
  • Рубрики
  • Свежие записи
  • Метки
  • Архивы
  • Реклама 1
  • Реклама 2
  • Рейтинг@Mail.ru

    Некоторые полезности в управлении FreeBSD


    Очередность запуска сервисов FreeBSD.

    Посмотреть очередность запуска сервисов в freebsd.

    #rcorder /etc/rc.d/* /usr/local/etc/rc.d/*

    Запустить или остановить службу можно скриптом, который лежит в папке /etc/rc.d/ .
    сетевые службы. Система FreeBSD 5.x/6.x скрипт для работы с сетевыми интерфейсами -> netif . Доступен только для рута (root):

    Стартуем FreeBSD сетевую службу:

    # /etc/rc.d/netif start

    Остановить FreeBSD сетевую службу:

    # /etc/rc.d/netif stop

    restart FreeBSD сетевую службу:

    # /etc/rc.d/netif restart

    То-же самое при помощи ifconfig (если много сетевух и нет необходимости "ложить" все сетевые интерфейсы)
    положить сетевуху (NIC) внаглую:

    # ifconfig network-interface down

    Запустить сетевой интерфейс (NIC):

    # ifconfig network-interface up

    Просмотреть список отключенных интерфейсов:

    # ifconfig -d

    Список включенных сетевух:

    # ifconfig -u

    FreeBSD обновить / перезагрузить таблицу маршрутизации (routing)
    Обязательно надо обновить "routing table" после перезагрузки сетевой службы:

    # /etc/rc.d/routing restart

    Сделать все через ssh подключение:
    Надо ввести команды как одну. Тогда все выполнится в фоновом режиме и никаких проблем с боевым серваком не возникнет:

    # /etc/rc.d/networking restart && /etc/rc.d/routing restart

    Использование программного RAID-1 (gmirror) в FreeBSD.

    Программные реализации RAID, появившиеся в FreeBSD с версии 5.3:

    * gstripe(8) обеспечивает чередование или RAID 0
    * gmirror(8) обеспечиват зеркалирование/дуплекс или RAID 1
    * graid3(8) обеспечивает чередование с контролем четности или RAID 3
    Начальная g указывает на то, что эти утилиты пользуются возможностями, которые предоставляет GEOM (модульная дисковая структура).
    Конфигурирование зеркалирования/дуплекса:
    Для того чтобы сделать RAID1, необходимо иметь два идентичных (одного производителя и емкости) жестких диска.

    # sysctl kern.geom.debugflags=16
    kern.geom.debugflags: 0 -> 16 (необходимое изменение системы для возможности выполнения следующей команды)
    # gmirror label -v -b round-robin gm0 /dev/ad0
    Metadata value stored on /dev/ad0 (gmirror label создает зеркало, функция -v включает режим отладки, -b round-robin выбирает алгоритм балансировки (в настоящее время это наиболее быстродействующий алгоритм), gm0 - имя первого зеркала GEOM и /dev/ad0 указывает на диск, содержащий данные для зеркалирования.)
    # echo geom_mirror_load="YES" > /boot/loader.conf (автоматическая загрузка модуля geom)
    В /etc/fstab изменяем каждый ad на gm и вставляем mirror после /dev. (прим. /dev/ad0s1a редактируем на /dev/mirror/gm0s1a)
    # reboot
    # gmirror insert gm0 /dev/ad2
    GEOM_MIRROR: Device gm0: provider ad2 detected.
    GEOM_MIRROR: Device gm0: rebuilding provider ad2. (вставляем второй диск в зеркало).
    # gmirror list
    # gmirror status
    # gstat

    Восстановление предыдущего ядра, после неудачной загрузки нового.

    При загрузки выбрать 6 пункт меню (loader prompt)
    OK unload
    OK load kernel.old (/boot/kernel.old/kernel или /boot/kernel.GENERIC/kernel)
    boot

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

    OK set currdev=disk1s1a
    OK set rootdev=disk1s1a
    или командой lsdev просмотреть список известных дисков и разделов, чтобы поставить свой вместо disk1s1a.

    Создание полной копии раздела.

    # cd / (заходим в тот каталог, который хотим скопировать)
    # pax -p eme -X -rw . /mnt (в /mnt предварительно подмонтировать тот накопитель, на который будем копировать файлы)

    Команды для исправления ошибок на диске (система перестала грузиться).

    Загрузится в single user mode.

    mount -a (смонтировать все для записи, при необходимости использовать ключи -u -f -w)
    fsck -y
    fsck_ffs /dev/ad1s1a

    Выход в сеть через прокси сервер для fetch во FreeBSD.

    Для того, чтобы fetch шел через прокси-сервер, а не на прямую, в /etc/make.conf необходимо добавить:

    HTTP_PROXY="http://192.168.0.1:3128"
    FTP_PROXY="http://192.168.0.1:3128"

    Также при закачке портов fetch можно заменить на wget для этог в /etc/make.conf нужно добавить FETCH_CMD=wget

    Утилита make и ее дополнительные команды.

    < >
    make fetch - скачивает приложение(порт).
    make extract - распаковывает его.
    make depends - перестроить зависимости.
    make patch - применить патчи к приложению.
    make build - собрать приложение из исходных тестов.
    make clean - "почистить" исходники после сборки.
    make deinstall - деинсталлировать приложение.
    make reinstall - переустановить приложение после удаления.
    make package - построить из порта package.

    make WITH_ИМЯОПЦИИ=yes WITHOUT_ИМЯОПЦИИ=yes BATCH=yes install && make clean
    При необходимости можно использовать принудительную установку приложения(порта) командой:

    make FORCE_PKG_REGISTER=YES install

    Отключение ACPI.

    1. acpi_load="NO" - добавить в loader.conf
    2. unset acpi_load - если ядро не грузится
    3. hint.acpi.0.disabled="1" - добавить в /boot/device.hints
    4. loader.acpi_disabled_by_user="1"

    Пользователи:

    Если Вам нужен список пользователей системы выполняем скрипт:
    cat /etc/passwd | cut -d: -f1 | grep -v \#

    The cut command selects portions of a file.  We use ":" as the delimiting character.  And we want only the first field.  The grep eliminates lines with # in them, which normally appear at the start of the password file.

    Exercises for the interested and motivated:
    * try the above command without the grep
    * remove the \ before the #
    * try -f5 instead of -f1.

    Удаление пользователя

    # rmuser имя-пользователя

    Matching password entry:
    имя-пользователя:*:1002:0::0:0:имя-пользователя:/home/имя-пользователя:/bin/sh
    Is this the entry you wish to remove? y
    Remove user's home directory (/home/имя-пользователя)? y
    Removing user (имя-пользователя): files(1) mailspool home passwd.

    Чистим конфиг от комментариев (на примере exim.conf)

    cat /etc/exim/exim.conf|grep -vi "^[ \t#]*$"|grep -vi "^[ \t#]*#.*$"

    Автор: admin, 5 июля 2013
    Рубрики: OS FreeBSD, Новости
    Метки: , , , , , , , , ,

    Написать комментарий

    Последние статьи