Категорії
OpenBSD

Динамические библиотеки

Если у ваш бинарник пишет, что не может найти библиотеку, а она физически есть – выход один, путь к библиотеке не прописан. И так: как быть и что делать?

1) Проверка

#ldd /usr/local/bin/exim:
        Start    End      Type Open Ref GrpRef Name
        1c000000 3c039000 exe  1    0   0      /usr/local/bin/exim
        0301f000 23028000 rlib 0    2   0      /usr/lib/libm.so.7.0
        0cbba000 2cbbf000 rlib 0    1   0      /usr/lib/libwrap.so.4.0
        02974000 22a53000 rlib 0    1   0      libiconv.so.6.0 => not found

как видим, для бинарника exim требуется библиотека libiconv.so.6.0, которую он не может найти.

Категорії
OpenBSD

abort trap

Если это сообщение появляется при запуске приложений, таких как ls, top, ps и других, то это значит, что кто-то заменил бинарники их исходниками. Проще говоря, при распаковке папки src.tar.bz2 она была распакована не в /usr/src, а в /usr.

Решение: с рабочей системы скопировать (можно по scp, она кстати будет работать) все бинарники в папку /bin, /usr/bin, /usr/sbin.

Категорії
Solaris

unable to qualify my own domain name — using short name или change hostname

Это значит, что у вас не прописано полностью hostname. Для исправления этой ситуации делаем так:

Solaris 11.1:

# hostname new-hostname

Solaris 11:

#svccfg -s svc:/system/identity:node setprop config/nodename = new-hostname
#svccfg -s svc:/system/identity:node setprop config/loopback = new-hostname
#svcadm restart svc:/system/identity:node

Solaris 10:

изменяем записи в /etc/hosts

Категорії
Solaris

mountpoint cannot be inherited

Эта ошибка возникает при добавлении dataset’a в зону (а может и ещё где-то). Она означает, что точка монтирования должна быть указана принудительно. По умолчанию при создании zfs точка монтирования наследуется с родительского пула. То есть для решения проблемы делаем так:

#zfs set mointpoint=/rpool/test rpool/test

Категорії
Solaris

Правильно выводим сервис из состояния Maintenance

Тестовый стенд: Solaris 11

1) Определяем состояние сервиса

# svcs -x FMRI

На этом этапе нужно посмотреть лог самой службы для выявления причин падения. Возможно потребуется посмотреть лог зависимых процессов

2) Найти связанные процессы с данным сервисом

# svcs -p FMRI

и (опционально) убить:

# pkill -9 process-name

3) Сделать “очистку” сервису:

# svcadm clear FMRI

Категорії
Solaris

Мониторим службы стандартными средствами

Solaris предоставляет богатый набор возможностей для управления службами. Одно из замечательных средств – внутренний механизм отслеживания состояния служб. В других ОС приходится ставить ПО наподобии monit или писать вручную скрипты, а в Solaris это уже продумано.

Тестовый стенд: Solaris11.

Категорії
Mail systems

[exim, postfix] указываем listen ports

В последнее время провайдеры часто блокируют 25 порт и приходится извращаться, добавлять ещё один порт (например, 2525) на почтовом сервере.

– exim

в конфигурационном файле configure изменяем строку (если нету – добавляем)

daemon_smtp_ports = 25 : 2525

– postfix

в конфигурационном файле master.cf добавляем после строки

smtp inet n - n - - smtpd

строку

2525 inet n - n - - smtpd

Категорії
FreeBSD Linux OpenBSD

Группируем интерфейсы в файерволах

Предположим, вам нужно будет создать одно правило для целой кучи интерфейсов вида int0, int1, …, intN, … Создавать на каждый интерфейс отдельное правило – слишком сложно, а если на каждый интерфейс не одно правило, а интерфейсов 20 или 100? на помощь приходят записи для группировки. И так, будет рассмотрены варианты для разных файерволов (для примера взяты интерфейсы tun0, tun1, …).

Категорії
OpenBSD

Добавляем новый диск в систему

Тестовый стенд: OpenBSD 5.0

Эта операция состоит из 3-ох частей:

– инициализация

#fdisk -i wd1

– создание/просмотр разделов

#disklabel -e wd1

Категорії
OpenBSD

wd4, wd5, … или заставляем видеть больше 4 дисков

Тестовый стенд: OpenBSD 5.0 i386

По умолчанию доступно максимум только 4 диска:

#fdisk wd4
fdisk: wd4: No sush file or directory

Но что делать, если нужно больше? Точнее, диски увидяться все, но доступны через файлы устройств (/dev/wdX) будут только первые 4. Выход из этой ситуации есть – нужно создать файлы устройств. Создадим wd4 и wd5:

#cd /dev && /dev/MAKEDEV wd4 && /dev/MAKEDEV wd5

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP