Категорії
FreeBSD

Если FreeBSD не загружается

Тестовый стенд: FreeBSD 8.X, 9.X, 10.X

1) Не загружается ядро.

Если вдруг что-то случилось с текущим ядром, то можно попробовать загрузить старое (если конечно оно есть). Делается это так: после старта зарузчика и появления меню нажимаем 3 (FreeBSD 9.X, 10.X) или 6 (FreeBSD 8.x). Теперь нам доступна консоль с командами. Список ядер можно посмотреть, выполнив команду

ls /boot

Категорії
FreeBSD Misc, staff, other

“/usr/ports/Mk/bsd.port.mk” Malformed conditional

Если вдруг при установке порта начали валится ошибки

Unknown modifier 't'
Unknown modifier 't'
"/usr/ports/Mk/bsd.port.mk", line 1775: Malformed conditional (defined(USE_LDCONFIG) && ${USE_LDCONFIG:tl} == "yes")
Unknown modifier 't'
Unknown modifier 't'
Unknown modifier 't'
"/usr/ports/Mk/bsd.sites.mk", line 957: Malformed conditional (!empty(_PERL_CPAN_ID) && ${_PERL_CPAN_FLAG:tl} == "cpan")
Unknown modifier 't'
Unknown modifier 't'
"/usr/ports/Mk/bsd.port.mk", line 2929: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 2929: Unexpected end of file in for loop.
"/usr/ports/Mk/bsd.port.mk", line 6708: Unclosed conditional/for loop
"/usr/ports/Mk/bsd.port.mk", line 6708: Unexpected end of file in for loop.
make: fatal errors encountered -- cannot continue

Категорії
FreeBSD Solaris

Быстрое удаление очень большого заполненного пула

Речь идёт о пулах в десятки терабайт, которые заполнены данными. Команды zpool/zfs destroy даже не мощном сервере будет выполняться часами, если не днями.

Оказывается, выход есть.

# zpool export -f data_pool
# zpool create -f data_new raidz2 c5t0d0 ...

То есть экспортируем пул (на всякий случай принудительно), а потом принудительно создаём на тех же дисках новый пул.

Категорії
FreeBSD Linux

Мониторинг изменений конфигурационных файлов системы

Для отслеживания изменения конфигурационных файлов, можно использовать разного рода инструменты. Можно использовать inotify, но оно не всегда удобно.

Linux

Это называется  Linux audit trails. Как это настроить и использовать – описано здесь

FreeBSD

К сожалению, нормального аналога нет, но зато энтузиасты написали что-то похоже. Так же рекомендую прочесть другую заметку

Категорії
DataBases FreeBSD Linux Solaris

Тюнинг mysql/postgresql on zfs/ext4

Ниже будет описан тюнинг самой mysql + OS-специфический. Тюнинг будет рассмотрен только для движка InnoDB.

mysql

Обязательно разнести базу и логи (innodb_log_group_home_dir) по разным датасетам (дискам). В идеале вынести на отдельный датасет и tmp_dir для mysql.

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

Фильтрация по MAC-адресу в различных файерволах

ipfw

add allow all from any to 192.168.2.0/24 via ${natd_interface} mac aa:bb:cc:dd:ee:ff any

pf

(только OpenBSD)

в консоли:

# ifconfig bridge0 rule pass in on fxp0 src 0:de:ad:be:ef:0 tag USER1

в pf.conf:

pass in on fxp0 tagged USER1

ipf

Нельзя сделать

iptables

/sbin/iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP

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

Меняем RPATH

Что такое RPATH? Wikipedia:

rpath is a term in programming which refers to a run-time search path hard-coded in an executable file or library, used during dynamic linking to find the libraries the executable or library requires.

Иными словами это жёстко зашито в заголовке бинарника. Можно попробовать поменять в момент запуска:

LD_LIBRARY_PATH=/var/other myprog &

Но это не всегда возможно и не всегда работает. Для постоянного изменения существует специальные утилиты, которые правят сам бинарник.

Категорії
FreeBSD

FreeBSD in a chroot

Finch is FreeBSD running inside a chroot. Finch is best used as a way to extend the functionality of restricted USB-based FreeBSD distributions, usually FreeNAS and NAS4Free. For added convenience, Finch also includes the qjail jails management tool. Since FreeBSD jails are such a popular request.

Recommended system configuration:

# Restricted FreeBSD host <--> FreeBSD-in-a-chroot (a.k.a "Finch") <--> Qjail <--> jails

Официальный сайт http://dreamcat4.github.io/finch/

Категорії
FreeBSD

Создание “зеркала” на системном диске с GPT на FreeBSD 9 после установки

Дело в том, что на GPT не просто сделать RAID1, в отличии от MBR, где просто создаёшь рейд и добавляешь туда весь диск. Обычно, рекомендуется создавать “зеркало” на этапе установки, так как после того, как ОС насетаплена это сделать не так просто. Но мы это сделали ))

Тестовый стенд: FreeBSD 9.2 amb64 Release, 2xHDD 500Gb (ada0, ada1)

Суть нашего метода:

1) Создаём точную разбивку второго диска
2) Делаем gmirror отдельно для каждого из разделов ВТОРОГО диска
3) dump/restore разделов с первого диска на gmirror’ы второго
4) Правка fstab’a на первом диске на разделы с mirror и загрузка уже с mirror’a
5) Добавление оставшихся разделов с первого диска в gmirror’ы.

Категорії
FreeBSD Linux Solaris WWW

Правильная ротация логов java/tomcat’a

Всё бы хорошо, но tomcat не понимает сигналs HUPSIGUSR1 (при их получении он просто завершается). Как быть, если надо ротировать логи. Есть 2 варианта: через системный log-ротатор и через встроенные механизмы самого tomcat’a. Я рассмотрю первый вариант, так как в нём больше возможностей в плане ротации файлов. Но тут есть нюанс: ротировать будем с помощью метода copytruncate, то есть нужный нам лог сначала копируется, а потом урезается до нулевой длинны, тем самым не нарушая последующей записи в исходный лог.

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