Что делать, если на до на одной машине иметь несколько разных версий одного и того же приложения (например, python) и иметь возможность очень просто переключаться между разными версиями. Сразу скажу, что этот функционал должен поддерживаться самим приложением и не все приложения его поддерживают. И так, посмотрим список наших приложений и дефолтных версий:
Категорія: Solaris
Речь идёт о пулах в десятки терабайт, которые заполнены данными. Команды zpool/zfs destroy даже не мощном сервере будет выполняться часами, если не днями.
Оказывается, выход есть.
# zpool export -f data_pool
# zpool create -f data_new raidz2 c5t0d0 ...
То есть экспортируем пул (на всякий случай принудительно), а потом принудительно создаём на тех же дисках новый пул.
Ниже будет описан тюнинг самой mysql + OS-специфический. Тюнинг будет рассмотрен только для движка InnoDB.
mysql
Обязательно разнести базу и логи (innodb_log_group_home_dir) по разным датасетам (дискам). В идеале вынести на отдельный датасет и tmp_dir для mysql.
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
Что такое 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 &
Но это не всегда возможно и не всегда работает. Для постоянного изменения существует специальные утилиты, которые правят сам бинарник.
Вот такое сообщения я получаю, когда пробую установить Solaris. И так ругается на все 6 дисков, которые есть в сервере. Как итог: система не ставится, так как все диски в offline.
Мудрые коллеги подсказали, что это проблема контроллера Dell Perc H200, а точнее проблема энергосбережения, а так же подсказали решение , но оно уже годится для установленной системы.
Под FreeBSD под этот контроллер нету энергосбережения, поэтому там таких проблем нет и система на него ставится без проблем.
Сборка tmux’a под Solaris
Тестовый стенд: tmux-1.8, libevent-2.0.21
Сборка tmux’a под Solaris ещё тот квест с правкой исходников. И так, качаем свежую версию tmux’a, а так же libevent (как зависимость). libevent ставится без проблем:
root@skeletor:/export/home/skeletor/libevent-2.0.21-stable# CFLAGS="-m64 -O2" CPPFLAGS="-m64 -O2" CCASFLAGS="-m64 -O2" CXXFLAGS="-m64 -O2" LDFLAGS="-m64 -O2" ./configure --prefix=/usr --libdir=/lib/64 && gmake && gmake install && gmake clean
А теперь соберём tmux:
Всё бы хорошо, но tomcat не понимает сигналs HUP, SIGUSR1 (при их получении он просто завершается). Как быть, если надо ротировать логи. Есть 2 варианта: через системный log-ротатор и через встроенные механизмы самого tomcat’a. Я рассмотрю первый вариант, так как в нём больше возможностей в плане ротации файлов. Но тут есть нюанс: ротировать будем с помощью метода copytruncate, то есть нужный нам лог сначала копируется, а потом урезается до нулевой длинны, тем самым не нарушая последующей записи в исходный лог.
Добавление net в зону Solaris
Что делать, если зона запущена, а в ней нужно добавить ещё одну сеть? Можно добавить через zonecfg и ребутнуть зону. Но что делать, если ребут невозможен по каким-то причинам? Оказывается, выход есть.
Примечание.
Начиная с 11.2 появилась возможность сделать apply конфига при запущенной зоне. Делаем необходимые изменения через zonecfg и потом просто выполняем:
# zoneadm -z zonename apply
Появилась задача: создать юзера, который бы ничего не мог сделать, кроме как читать файл (в идеале только 1 )), но это оказалось невозможным, возможно пока).
В Solaris за права юзеру отвечает RBAC. Он позволяет как расширить права, так и сузить. По дефолту новому юзеру присваивается 2 профиля: All и Basic Solaris User:
$ profiles skeletor
skeletor:
Basic Solaris User
All