понедельник, 23 сентября 2013 г.

solaris: включаем систему статистики sar

Есть такая простенькая система для сбора данных по нагрузке, до систем типа того же zabbix
конечно далеко, но иногда помогает понять, когда и с чем на сервере перегруз.

среда, 18 сентября 2013 г.

Debian 7: downgrade php to 5.3

В дебиане штатный пых версии 5.4, но иногда требуется 5.3, как в 6 версии. Нужная нам плюшка называется oldstable, ставится так: в /etc/apt/sources.list дописываем
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free

apt-get update

Теперь 2 варианта: выставляем приоритеты пакетам
в /etc/apt/preferences.d/preferences (надо файл создать)
Package: php5*
Pin: release a=oldstable
Pin-Priority: 700

Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700

Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700

Package: php-apc
Pin: release a=oldstable
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

ну и обновляем то, что уже стоит
PHP=$(dpkg -l|grep php|grep 5.4.4|awk '{print $2}')
apt-get install --reinstall $PHP

или просто ставим нужные версии руками через
apt-get install php5=5.3.3-7+squeeze14
версию вынесем в переменную
VERSION="5.3.3-7+squeeze14"
и чтобы не было конфликтов, ставим базу отдельно
1) apt-get install php5=$VERSION
2) apt-get install php5-common=$VERSION
3) apt-get install php5-cli=$VERSION
после этого доставляем нужные модули, зависимости уже подтянет само. Но это уже изврат, имхо. Да, и не забываем зафиксировать версии, чтобы не обновило на 5.4 (для 1 варианта неактуально!)
aptitude hold php5 php5-cli php5-common

линки
http://blog.wpkg.org/2013/06/20/downgrading-to-php-5-3-on-debian-wheezy-7-0/
http://rusadmin.biz/ustanovka-php-5-3-na-debian-7.html
http://forums.debian.net/viewtopic.php?f=17&t=104075

.htaccess и php_value mbstring.func_overload

Боян конечно, но мы только недавно столкнулись: в htaccess больше нельзя прописать php_value типа mbstring.func_overload (http://bugs.php.net/bug.php?id=47187&edit=1)

Достаточно простое решение без всяких fastcgi:

<IfModule mod_php5.c>
    php_value default_charset UTF-8
    php_admin_value mbstring.func_overload 2
    php_value mbstring.internal_encoding UTF-8
    php_admin_value realpath_cache_size "4096k"
</IfModule>

четверг, 12 сентября 2013 г.

Сварка оптических волокон

Очень интересное описание процесса работы с оптикой

http://habrahabr.ru/post/193146/
Сварка оптических волокон. Часть 1: кабели и их разделка, оптический инструмент, муфты и кроссы, коннекторы и адаптеры

Отличия свичей L2 и L2+

L2+ "обычно" называют коммутатор уровня 2, но с расширенной функциональностью, чаще всего имея ввиду именно поддержку VLAN-ов 802.1q

Часть операций он может выполнять и на уровне Layer3-4 (например на портах выставлять QoS с приоритезацией по UDP/TCP портам, но при этом маршрутизировать не может).


http://forum.ixbt.com/topic.cgi?id=14:44486

А маршрутизация VLAN это уже L3

понедельник, 9 сентября 2013 г.

Ускоряем работу umi.cms

Есть такая CMS от UMI, отличается даже большей тормознутостью чем битрикс и в целом несколько сложной разработкой.

Есть сервер, на базе core i7, не загруженный, но со временем открытия страниц порядка 7с. Попробуем несколько ускорить.

среда, 4 сентября 2013 г.

solaris: аналоги netstat -npl, -tulpn

Варианты не 1-в-1, но можно сформировать список и форматировать уже как надо, главное понять принцип.

Через lsof (ставится отдельно)
lsof -i TCP|fgrep LISTEN

получение списка без lsof
pfexec pfiles `ls /proc` 2>/dev/null | egrep '^[0-9]|port:' | grep -v "AF_INET6" | sed -e 's/sockname: AF_INET//' -e 's/ *port: /:/'

вариант 2, фильтрованный
pfiles /proc/* 2>&- |
  nawk 'END {
  if (f) print p
    }
/^[0-9]/ {
    if (f) print p, RS
    p = $0
    f = 0
  }
/INET / {
  sub(/.*INET/,"")
  p = p ? p RS $0 : $0
  f = 1
  }'

Вариант  для 1 порта через lsof
lsof -i:port

без lsof надо открывать proc(ls /proc) и парсить, пример есть тут

линки
https://blogs.oracle.com/taz/entry/get_application_pid_listening_on
http://onlineappsdba.com/index.php/2008/06/10/how-to-find-pid-listening-particular-port-on-linuxsolaris-10/
http://stackoverflow.com/questions/91169/what-process-is-listening-on-a-certain-port-on-solaris
http://www.unix.com/solaris/87330-list-tcp-ports-process.html
http://chihungchan.blogspot.ru/2007/03/which-process-listens-to-this-port-in.html

четверг, 29 августа 2013 г.

debian 7: куда сохранять правила для iptables?

Ищем загрузку правил:
grep -rl iptables /etc/
/etc/network/if-up.d/iptables

cat /etc/network/if-up.d/iptables
#!/bin/sh
/sbin/iptables-restore < /var/lib/iptables/rules

Значит, искомый путь в /var/lib/iptables/rules

ЗЫ 
Если стоит ispmanager, он этот файл заполняет, но иногда почему-то при запуске оно игнорируется. Проверить наличие правил: 
iptables -L -v
Если пусто - можно загрузить руками, /sbin/iptables-restore < /var/lib/iptables/rules

среда, 28 августа 2013 г.

opsview: еще система мониторинга

http://www.opsview.com/
Это несколько улучшенный и переточенный nagios, с добавленными графиками и прочим.

http://www.linuxhome.ru/tag/opsview/

Есть в бесплатном и платных вариантах.

Opsview is a software company specializing in enterprise systems monitoring software for physical, virtual, and cloud-based IT infrastructures.[1] Its headquarters is in Reading, England, with a US office in Woburn, Massachusetts. The product aims to provide a single, unified view of IT operations. The company claims that more than 30,000[2] businesses and service providers use Opsview to manage their network devices, physical and virtual servers, storage and cloud systems.
Opsview sponsors a free, open-source software version - Opsview Core. It sells Opsview Pro to SMBs and Opsview Enterprise to larger organisations under a proprietary license.[1]

redmine: Internal error на /settings и /users/1/edit

Ошибка обычно возникает после обновления редмайна, при обращении в /settings и добавлении/правке юзеров, при том что остальное работает нормально.

пятница, 23 августа 2013 г.

solaris 5.10 и нормальный список софта

Поскольку без подписки ничего толком не поставить, надо подключить доп репу, да и не факт что для 5.10 что-то есть уже (январь 2005 года дистр), раньше это была ...wave, вместо которой теперь OpenCSW

Подготовка к работе:
http://www.opencsw.org/manual/for-administrators/getting-started.html

Какой выбрать вариант пакетов:
http://mirror.opencsw.org/opencsw/
DIRECTORIES:
  "unstable" gets a high volume of freshly built updates
  "testing" is a symlink to the current testing release
  "stable" has been deprecated

  "dublin" (a named release) does not get updates
  "kiel" (a named release) is periodically synchronized from "unstable"
  "current" has been removed
  "legacy" is a dead branch with a 2008 snapshot

  "allpkgs" contains all packages that can be found in the archive
            It is available on http://mirror.opencsw.org/opencsw/allpkgs
            and sites mirroring rsync://mirror.opencsw.org/opencsw-full
  "releases" contains symlinks to previously released catalogs

Вообще странно видеть строку ""stable" has been deprecated". Мы для себя выбрали kiel

Пример просмотра пакетов для 5.10 в kiel
http://mirror.opencsw.org/opencsw/kiel/sparc/5.10/

Ставим пакет, например vim
pkgutil -i vim

Если что, конфиг в /opt/csw/etc/pkgutil.conf