[черновик]
Потребовалось собрать сервер для одного проекта, 1-вершковый. Не первый - был уже intel sr1530sh, с бюджетом около 35к. Но в этот раз бюджет был раз в 5 выше. Может даже на совсем_бренд хватить.
Продукция фирмы intel была откинута сразу -- я не могу назвать их продукцию серьезным железом. Особенно учитывая их болезни вроде "эту память не возьму, с этим двд грузиться не буду и никакие прошивки не заставят меня дальше биоса пройти, для работы с таким процом надо прошивать биос, и не важно, что он уже как 2 года вышел..." Как конструкторы сверх-дешевого уровня оно неплохо, да, но поддержка таких вещей как KVM-over-IP только сторонними платами -- перебор.
Также интел славится вещами вплоть до умирания дисков от дребезга, создаваемого кулером. Есть у меня такой в закромах. Баг официально признан и есть на сайте.
[линк]
Dell
Говорят, проблемы с наличием, сроками поставки, гарантией. Но они, черт возьми, красивы! Причем передняя решетка не просто красива - она же является защитой от извлечения дисков посторонними. Так что похоже не в этот раз, но через несколько лет надо будет снова посмотреть на них...
Пример подходящего варианта:
http://www1.euro.dell.com/ru/ru/business/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%8B/server-poweredge-r610/pd.aspx?refid=server-poweredge-r610&s=bsd&cs=rubsdc
R610
в 3D и подробно
Хотя даже в таком можно увидеть обычные конденсаторы (не твердотельные).
Обнаружил еще момент. На пустом месте такие статьи не рождаются. Начали тоже барыжить дисками?..
ветка на хоботе
IBM
Как попытался что-то узнать, с первых же минут начались проблемы. Сайт кривой, непонятно где что, тормозил исправно, вдобавок его перекосило.
Попытался позвонить на 8-800 -- звонки срывались, потом переводили долго на специалиста, опять начали срываться звонки.. В общем, телефонная система у них просто отвратительна! На другой день все-таки дозвонился, узнал что нужно, но желание с ними работать отпало напрочь, а сайт добавил негатива.
А еще -- они страшные. Пример строгого стиля -- супермикра. А у ibm стиля нет.
Могут быть проблемы с поставками -- хотели заказать их сервер под один проект, срок поставки был 3-6 месяцев. А если бы он сломался, замена ехала бы тоже 3-6 месяцев?
1.5 модели - почти как dell.
x3550 M2/x3550 M3
А вот с дешевыми моделями грустно - если надо сервер под бытовой проц типа i5 или банальный Q6600, и без дублирования БП - похоже, тут пусто.
Supermicro
Пожалуй, самая сбалансированная фирма. Есть модели на любой вкус - под 2.5" диски, под 3.5; с 1 БП или несколькими; под 1 проц или больше; разные форматы плат... Есть даже модели с 2 платами в 1 юните, 4 в 2.. И даже есть модели под GPU!
Комплектующие ставятся свои, что делает это решение еще лучше в плане цены. Хотя смотреть HCL все-таки крайне желательно.
С гарантией не так хорошо, но цена позволяет держать полный рабочий сервер в запасе и все-равно выйдет дешевле какого-нибудь HP+care pack.
Из большого выбора вытекает и проблемка: в моделях можно банально запутаться. А если учесть, что корпус и плату можно взять отдельно, а не как платформу... Тут нужен хороший конфигуратор, позволяющий учесть все тонкости и выбрать оптимальную конфигурацию, но на офсайте такого нет.
HP
В целом фирма неплохая, но некоторые вещи типа доставки riser-карт могут растянуться на месяцы. Очень не любят, когда ставят не фирменные компоненты, хотя явной залочки нет - память работает, дискам только найти салазки и тоже работают (не относится к таким вещам как СХД, там левые диски даже не увидит). Поскольку фирма давно на рынке, с гарантией и поставкой обычно проблем нет. Но увы, цены там тоже на уровне.
В данном случае бюджет был слишком мал для их решений.
Хотя с ними тоже надо держать ухо востро: Да, жадность HP не знает предела: не реализовать мигание диода на слабеньком контроллере. Для него даже софт-апгрейд есть: для хот плага и поддержки диодов. Класс!
---
http://www-03.ibm.com/systems/ru/x/hardware/rack/index.html
IBM Серверы IBM на базе процессоров Intel: серверы System x и xSeries для установки в стойку - в России и странах СНГ
http://www-03.ibm.com/systems/ru/x/hardware/rack/x3550m2/index.html
IBM System x3550 M2: Обзор - Россия
http://www-03.ibm.com/systems/ru/x/hardware/rack/x3550m3/index.html
IBM System x3550 M3 - в России и странах СНГ
http://www-03.ibm.com/systems/data/flash/systemx/hardware/rack/x3550m3/tour/index.html
IBM System x3550 M3
http://www-304.ibm.com/partnerworld/wps/pub/overview/B5X00
IBM PartnerWorld - System x
http://www.ibm.com/contact/ru/ru/
IBM Контактная информация - в России и странах СНГ
http://www1.euro.dell.com/ru/ru/business/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%8B/rack_optimized/ct.aspx?refid=rack_optimized&s=bsd&cs=rubsdc
Серверы для установки в стойку PowerEdge | Dell Россия
http://www1.euro.dell.com/ru/ru/business/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%8B/server-poweredge-r610/pd.aspx?refid=server-poweredge-r610&s=bsd&cs=rubsdc
Подробные сведения о сервере PowerEdge 11G R610 для установки в стойку | Dell Россия
http://www.dellups.com/default.asp?ResetCountryID=1
Dell UPS Selector
http://www1.euro.dell.com/ru/ru/business/%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D1%8B/server-poweredge-r410/pd.aspx?refid=server-poweredge-r410&s=bsd&cs=rubsdc
Подробные сведения о сервере PowerEdge 11G R410 для установки в стойку | Dell Россия
http://www-03.ibm.com/systems/data/flash/systemx/hardware/rack/x3550m2/tour/index.html
IBM System x3550 M2
пятница, 4 февраля 2011 г.
четверг, 27 января 2011 г.
установка devprom
Сначала ставим mysql, php, apache, настраиваем.
Прописываем в апач хост
Затем
yum install php-gd php-zip php-curl php-openssl php-mysql
С репой c5-testing у меня тут возникла проблема - система захотела поставить php53-common, что конфликтовало с 5.2 версией. Так что я просто убрал c5-testing, поставил centalt и обновил систему. Оказалось, зря напрягался:
Package php-pecl-zip is obsoleted by php-common, trying to install php-common-5.2.17-1.el5.i386 instead
Теперь надо подготовить систему к работе.
Руководство администратора
FAQ
Запускаем инсталлер по адресу http://devprom.server/admin/install.php
Но там нет проверки установленных модулей, поэтому инсталлер может запуститься, но после нажатия "установить" просто показать красную полосу. У меня такое было, когда не доставил нужных модулей.
Добавляем пользователей, не забываем про админов, прописываем крон. В доке написано так:
# выполнение заданий по расписанию (в том числе отправка почтовых уведомлений)
/var/www/devprom/htdocs/core/processjobs.php *****
В таком виде оно нерабочее.
От рута crontab -l
и вписываем
* * * * * /usr/bin/php /var/www/devprom/htdocs/core/processjobs.php
Прописываем в апач хост
Затем
yum install php-gd php-zip php-curl php-openssl php-mysql
С репой c5-testing у меня тут возникла проблема - система захотела поставить php53-common, что конфликтовало с 5.2 версией. Так что я просто убрал c5-testing, поставил centalt и обновил систему. Оказалось, зря напрягался:
Package php-pecl-zip is obsoleted by php-common, trying to install php-common-5.2.17-1.el5.i386 instead
Теперь надо подготовить систему к работе.
Руководство администратора
FAQ
Запускаем инсталлер по адресу http://devprom.server/admin/install.php
Но там нет проверки установленных модулей, поэтому инсталлер может запуститься, но после нажатия "установить" просто показать красную полосу. У меня такое было, когда не доставил нужных модулей.
Добавляем пользователей, не забываем про админов, прописываем крон. В доке написано так:
# выполнение заданий по расписанию (в том числе отправка почтовых уведомлений)
/var/www/devprom/htdocs/core/processjobs.php *****
В таком виде оно нерабочее.
От рута crontab -l
и вписываем
* * * * * /usr/bin/php /var/www/devprom/htdocs/core/processjobs.php
О языках для web
http://nuclight.livejournal.com/107170.html
К вопросу об ублюдочности PHP
http://stanislaw.ru/rus/research/perl.htm
Критический анализ языка Perl
http://jacobian.org/writing/hate-python/
Five things I hate about Python
В вики
http://ru.wikipedia.org/wiki/Python#.D0.9D.D0.B5.D0.B4.D0.BE.D1.81.D1.82.D0.B0.D1.82.D0.BA.D0.B8
http://juixe.com/techknow/index.php/2007/09/21/java-ruby-and-even-python-sucks/
Java, Ruby, and even Python Sucks
Реально о руби и яве. О питоне - "кто все эти люди?"
>> бы не сказал, что динамическая типизая - недостаток. иногда это даже преимущество. =)
>Я сказал "_тотальная_ динамическая типизация". Плохо именно то, что от нее невозможно отказаться, нет никакой статической проверки, и тривиальные ошибки живут до момента, когда на них натыкается исполнение.
По словам очевидцев хорошее покрытие юнит-тестами спасает.
http://www.linux.org.ru/forum/talks/2446678
Еще про питон. Поскольку он интерпретируемый, это означает низкую скорость работы. Как и пхп. Но если для пхп есть всякие АРС да eaccelerator, то с питоном сильно хуже -- нет НИЧЕГО.
Есть встроенный компилер в байт-код, но это совсем не панацея.
"Глобальная блокировка интерпретатора (GIL)
GIL (Global Interpreter Lock) — проблема, присущая CPython, Stackless и PyPy, но отсутствующая в Jython и IronPython."
IronPython это с# с синтаксисом питона, там нет ни одного модуля питона, тока нетовские
jpython это компилятор питона-в-яву
не проще сразу на c# или яве писать?
А про GIL - для веба это не особо мешает - "клиенту по скрипту".
К вопросу об ублюдочности PHP
http://stanislaw.ru/rus/research/perl.htm
Критический анализ языка Perl
http://jacobian.org/writing/hate-python/
Five things I hate about Python
В вики
http://ru.wikipedia.org/wiki/Python#.D0.9D.D0.B5.D0.B4.D0.BE.D1.81.D1.82.D0.B0.D1.82.D0.BA.D0.B8
http://juixe.com/techknow/index.php/2007/09/21/java-ruby-and-even-python-sucks/
Java, Ruby, and even Python Sucks
Реально о руби и яве. О питоне - "кто все эти люди?"
>> бы не сказал, что динамическая типизая - недостаток. иногда это даже преимущество. =)
>Я сказал "_тотальная_ динамическая типизация". Плохо именно то, что от нее невозможно отказаться, нет никакой статической проверки, и тривиальные ошибки живут до момента, когда на них натыкается исполнение.
По словам очевидцев хорошее покрытие юнит-тестами спасает.
http://www.linux.org.ru/forum/talks/2446678
Еще про питон. Поскольку он интерпретируемый, это означает низкую скорость работы. Как и пхп. Но если для пхп есть всякие АРС да eaccelerator, то с питоном сильно хуже -- нет НИЧЕГО.
Есть встроенный компилер в байт-код, но это совсем не панацея.
"Глобальная блокировка интерпретатора (GIL)
GIL (Global Interpreter Lock) — проблема, присущая CPython, Stackless и PyPy, но отсутствующая в Jython и IronPython."
IronPython это с# с синтаксисом питона, там нет ни одного модуля питона, тока нетовские
jpython это компилятор питона-в-яву
не проще сразу на c# или яве писать?
А про GIL - для веба это не особо мешает - "клиенту по скрипту".
Расширенный анализ эффективности индексов в MySQL
Для детального анализа особенностей использования индексов в MySQL удобно использовать утилиту mk-index-usage, входящую в пакет Maatkit (написан на языке Perl). По умолчанию утилита выявляет неиспользуемые индексы и предлагает готовые конструкции ALTER для их удаления.
http://www.opennet.ru/tips/2491_mysql_log_analyze_monitoring_index.shtml
Установка:
freebsd: portinstall databases/maatkit
centos: yum install maatkit
(если что, есть в epel)
http://www.opennet.ru/tips/2491_mysql_log_analyze_monitoring_index.shtml
Установка:
freebsd: portinstall databases/maatkit
centos: yum install maatkit
(если что, есть в epel)
понедельник, 24 января 2011 г.
Class 'XMLWriter' not found in ...
#cat /etc/redhat-release
CentOS release 5.5 (Final)
По всей видимости, не стоит xmlwriter
Во фре это пакет php5-xmlwriter, в центоси php-xml
Решение взято отсюда
CentOS release 5.5 (Final)
По всей видимости, не стоит xmlwriter
Во фре это пакет php5-xmlwriter, в центоси php-xml
Решение взято отсюда
среда, 19 января 2011 г.
ISPManager - вынос apache доменов по отдельным файлам
1. в папке, где у вас лежит конфиг апачи делаем вложенную папку sites (папку, где лежит конфиг апача можно посмотреть в ispmgr.conf в строке "path httpd.conf". например, это /etc/apache2/)
2. прописываем в конфиг апачи строку
Код:
Include /etc/apache2/sites/*.inc
3. прописываем в ispmgr.conf строку
Код:
path httpd-include /etc/apache2/sites/
4. перегружаем апач и ispmanager
5. наслаждаемся
*.inc-файлы генерятся для каждого пользователя, в них прописываются виртуальные хосты, которые были добавлены после включения опции.
http://forum.ispsystem.com/ru/showpost.php?p=54140&postcount=8
Возможные баги:
добавляем эту опцию, когда в httpd.conf уже есть виртуалхост юзера
блокируем юзера
разблокируем юзера
сайты у него работать не будет пока руками из *.inc файла не удалишь секцию типа....
http://forum.ispsystem.com/ru/showthread.php?t=8758
Ошибка возникает, если у вас есть Directory для домашнего каталога пользователя как в основном конфиге, так и в конфиге пользователя.
Зафиксировано, обещают исправить
- при создании домена создается файл конфигурации в указанном каталоге и все работает;
- при удалении www домена файл удаляетcя, вебсервер перегружается и процесс ispmgr умирает, а пользователь во фрейме со списком доменов получает следующее:...
http://forum.ispsystem.com/ru/showthread.php?t=7277
Зафиксировано, обещают исправить
2. прописываем в конфиг апачи строку
Код:
Include /etc/apache2/sites/*.inc
3. прописываем в ispmgr.conf строку
Код:
path httpd-include /etc/apache2/sites/
4. перегружаем апач и ispmanager
5. наслаждаемся
*.inc-файлы генерятся для каждого пользователя, в них прописываются виртуальные хосты, которые были добавлены после включения опции.
http://forum.ispsystem.com/ru/showpost.php?p=54140&postcount=8
Возможные баги:
добавляем эту опцию, когда в httpd.conf уже есть виртуалхост юзера
блокируем юзера
разблокируем юзера
сайты у него работать не будет пока руками из *.inc файла не удалишь секцию типа....
http://forum.ispsystem.com/ru/showthread.php?t=8758
Ошибка возникает, если у вас есть Directory для домашнего каталога пользователя как в основном конфиге, так и в конфиге пользователя.
Зафиксировано, обещают исправить
- при создании домена создается файл конфигурации в указанном каталоге и все работает;
- при удалении www домена файл удаляетcя, вебсервер перегружается и процесс ispmgr умирает, а пользователь во фрейме со списком доменов получает следующее:...
http://forum.ispsystem.com/ru/showthread.php?t=7277
Зафиксировано, обещают исправить
понедельник, 17 января 2011 г.
Аппаратные рейды с поддержкой SSD
Пока нашел только контроллеры Adaptec, серия MaxIQ
Офсайт
http://www.adaptec.com/ru-ru/_common/maxcache/?hpBan=secban-maxcache-RU
Тестирование
http://www.tomshardware.com/reviews/maxiq-ssd-cache,2511.html
Adaptec launches new RAID cards with SSD cache support
http://forums.storagereview.com/index.php/topic/28593-adaptec-launches-new-raid-cards-with-ssd-cache-support/
Adaptec has announced three new MaxIQ storage controllers which are highlighted by SSD cache support. Adaptec has also increased the number of SSDs their RAID cards support.
там есть подробнее.
Пока эти контроллеры завязаны на Intel X25-E со спец прошивкой "задорого", но обещали со временем поддержку не только собственных дисков.
Софт-аналог - ZFS, там есть штатная поддержка SSD cache
Комплекс - http://russia.emc.com/about/news/press/2009/20091208-01.htm
Технология EMC FAST открывает новую эру в хранении данных и управлении информацией
Офсайт
http://www.adaptec.com/ru-ru/_common/maxcache/?hpBan=secban-maxcache-RU
Тестирование
http://www.tomshardware.com/reviews/maxiq-ssd-cache,2511.html
Adaptec launches new RAID cards with SSD cache support
http://forums.storagereview.com/index.php/topic/28593-adaptec-launches-new-raid-cards-with-ssd-cache-support/
Adaptec has announced three new MaxIQ storage controllers which are highlighted by SSD cache support. Adaptec has also increased the number of SSDs their RAID cards support.
там есть подробнее.
Пока эти контроллеры завязаны на Intel X25-E со спец прошивкой "задорого", но обещали со временем поддержку не только собственных дисков.
Софт-аналог - ZFS, там есть штатная поддержка SSD cache
Комплекс - http://russia.emc.com/about/news/press/2009/20091208-01.htm
Технология EMC FAST открывает новую эру в хранении данных и управлении информацией
Punycode
http://www.rlnic.ru/technology/punycode.pl
Перекодировка в Punycode
Для перекодирования русского имени в Punycode можно воспользоваться, например, утилитой CCODE, выбрав в этой программе перекодирование имени из CP1251 в PUNYCODE.
Также можно воспользоваться нашим online-перекодировщиком.
Для программной перекодировки в Punycode / RACE можно воспользоваться следующими библиотеками: для Perl — IDNA::Punycode, Convert::RACE; для C/C++ — idnkit.
Библиотека функций для Perl для перекодировки в Punycode / RACE, разработанная и используемая в АНО "РЦИ" для собственных нужд: punylib.pm.
Перекодировка в Punicode в языке программирования Python осуществляется встроенными средствами языка (библиотеки unicode) начиная с Python версии 2.3. Имя кодека idna. Пример использования (в интерактивном интерпретаторе):
Python 2.3.2 (#1, Oct 4 2003, 00:31:16)
[GCC 3.2.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> ru = "ДОМЕНЫ.РУ"
>>> u = unicode(ru, "koi8-r") # Из koi8 в unicode...
>>> u.encode("idna") #... и перекодируем
'xn--d1acufc5f.xn--p1ag'
Библиотеки для перекодировки в Punycode из PHP:
http://pear.speedpartner.de/, http://fastserv.name.net/open_source/php/punycode/
Если в библиотеку socket передать unicode вместо ascii-строки, перекодировка в punicode/idna будет осуществляться автоматически.
Перекодировка в Punycode
Для перекодирования русского имени в Punycode можно воспользоваться, например, утилитой CCODE, выбрав в этой программе перекодирование имени из CP1251 в PUNYCODE.
Также можно воспользоваться нашим online-перекодировщиком.
Для программной перекодировки в Punycode / RACE можно воспользоваться следующими библиотеками: для Perl — IDNA::Punycode, Convert::RACE; для C/C++ — idnkit.
Библиотека функций для Perl для перекодировки в Punycode / RACE, разработанная и используемая в АНО "РЦИ" для собственных нужд: punylib.pm.
Перекодировка в Punicode в языке программирования Python осуществляется встроенными средствами языка (библиотеки unicode) начиная с Python версии 2.3. Имя кодека idna. Пример использования (в интерактивном интерпретаторе):
Python 2.3.2 (#1, Oct 4 2003, 00:31:16)
[GCC 3.2.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> ru = "ДОМЕНЫ.РУ"
>>> u = unicode(ru, "koi8-r") # Из koi8 в unicode...
>>> u.encode("idna") #... и перекодируем
'xn--d1acufc5f.xn--p1ag'
Библиотеки для перекодировки в Punycode из PHP:
http://pear.speedpartner.de/, http://fastserv.name.net/open_source/php/punycode/
Если в библиотеку socket передать unicode вместо ascii-строки, перекодировка в punicode/idna будет осуществляться автоматически.
воскресенье, 16 января 2011 г.
s3cmd во FreeBSD
root@www1:/usr/ports# make search name=s3cmd
Port: py26-s3cmd-1.0.0.r1
Path: /usr/ports/net/py-s3cmd
Info: Unix-like tools to manipulate stored files from the command line
Maint: clsung@FreeBSD.org
B-deps: py26-elementtree-1.2.6_1 python26-2.6.6
R-deps: py26-elementtree-1.2.6_1 python26-2.6.6
WWW: http://s3tools.logix.cz/s3cmd
Требует установленного питона 2.6
Port: py26-s3cmd-1.0.0.r1
Path: /usr/ports/net/py-s3cmd
Info: Unix-like tools to manipulate stored files from the command line
Maint: clsung@FreeBSD.org
B-deps: py26-elementtree-1.2.6_1 python26-2.6.6
R-deps: py26-elementtree-1.2.6_1 python26-2.6.6
WWW: http://s3tools.logix.cz/s3cmd
Требует установленного питона 2.6
четверг, 13 января 2011 г.
pkg_info
некоторые полезные ключи
Получение сведений о пакете
# pkg_info |grep python25
python25-2.5.4_1 An interpreted object-oriented programming language
Для большинства ключей дальше надо указывать полную версию пакета, а не просто название.
От чего зависит (без чего не может работать)
# pkg_info -r python25-2.5.4_1
Information for python25-2.5.4_1:
Depends on:
Требуется для работы других пакетов (без этого пакета сломаются):
# pkg_info -R python25-2.5.4_1
Information for python25-2.5.4_1:
Required by:
cairo-1.8.8,1
....
После установки программа иногда выводит текст "что делать дальше". Если что, можно снова получить этот текст так:
# pkg_info -D python25-2.5.5_1
Information for python25-2.5.5_1:
Install notice:
====
...
А можно так:
# cat /var/db/pkg/python25-2.5.5_1/+DISPLAY
====
...
На самом деле, почти всю инфу можно получить прямо из /var/db/pkg/
Там же есть описания, списки файлов, требуется,...
Пример ключа, который может понадобиться в жизни:
# pkg_info -g python25-2.5.5_1
Information for python25-2.5.5_1:
Mismatched Checksums:
Выводит файлы, для которых контрольная сумма не совпадает.
Какому пакету принадлежит файл:
# pkg_info -W /usr/local/bin/python
pkg_info: both python25-2.5.5_1 and python26-2.6.6 claim to have installed /usr/local/bin/python
/usr/local/bin/python was installed by package python25-2.5.5_1
В данном случае аж 2 пакетам - явный конфликт.
Откуда пакет был поставлен
# pkg_info -o python25-2.5.5_1
Information for python25-2.5.5_1:
Origin:
lang/python25
На самом деле, порой оригинальный путь нетривиален. Пример:
# pkg_info |grep apr
apr-devrandom-gdbm-db42-mysql50-1.4.2.1.3.10 Apache Portability Library
# pkg_info -o apr-devrandom-gdbm-db42-mysql50-1.4.2.1.3.10
Information for apr-devrandom-gdbm-db42-mysql50-1.4.2.1.3.10:
Origin:
devel/apr1
Такие извращения тоже встречаются.
Есть и обратный ключ, но работает он криво:
# pkg_info -O python
The following installed package(s) has python origin:
# pkg_info -O python25
The following installed package(s) has python25 origin:
# pkg_info -O lang/python25
The following installed package(s) has lang/python25 origin:
python25-2.5.5_1
# pkg_info -O lang/python
The following installed package(s) has lang/python origin:
Напоследок - есть и фильтры - можно выбрать часть пакетов регэкспами. Это ключи -x и -X
Пример:
# pkg_info -c -x python
Information for python25-2.5.5_1:
Comment:
An interpreted object-oriented programming language
Information for python26-2.6.6:
Comment:
An interpreted object-oriented programming language
Information for python31-3.1.1_1:
Comment:
An interpreted object-oriented programming language
Получение сведений о пакете
# pkg_info |grep python25
python25-2.5.4_1 An interpreted object-oriented programming language
Для большинства ключей дальше надо указывать полную версию пакета, а не просто название.
От чего зависит (без чего не может работать)
# pkg_info -r python25-2.5.4_1
Information for python25-2.5.4_1:
Depends on:
Требуется для работы других пакетов (без этого пакета сломаются):
# pkg_info -R python25-2.5.4_1
Information for python25-2.5.4_1:
Required by:
cairo-1.8.8,1
....
После установки программа иногда выводит текст "что делать дальше". Если что, можно снова получить этот текст так:
# pkg_info -D python25-2.5.5_1
Information for python25-2.5.5_1:
Install notice:
====
...
А можно так:
# cat /var/db/pkg/python25-2.5.5_1/+DISPLAY
====
...
На самом деле, почти всю инфу можно получить прямо из /var/db/pkg/
Там же есть описания, списки файлов, требуется,...
Пример ключа, который может понадобиться в жизни:
# pkg_info -g python25-2.5.5_1
Information for python25-2.5.5_1:
Mismatched Checksums:
Выводит файлы, для которых контрольная сумма не совпадает.
Какому пакету принадлежит файл:
# pkg_info -W /usr/local/bin/python
pkg_info: both python25-2.5.5_1 and python26-2.6.6 claim to have installed /usr/local/bin/python
/usr/local/bin/python was installed by package python25-2.5.5_1
В данном случае аж 2 пакетам - явный конфликт.
Откуда пакет был поставлен
# pkg_info -o python25-2.5.5_1
Information for python25-2.5.5_1:
Origin:
lang/python25
На самом деле, порой оригинальный путь нетривиален. Пример:
# pkg_info |grep apr
apr-devrandom-gdbm-db42-mysql50-1.4.2.1.3.10 Apache Portability Library
# pkg_info -o apr-devrandom-gdbm-db42-mysql50-1.4.2.1.3.10
Information for apr-devrandom-gdbm-db42-mysql50-1.4.2.1.3.10:
Origin:
devel/apr1
Такие извращения тоже встречаются.
Есть и обратный ключ, но работает он криво:
# pkg_info -O python
The following installed package(s) has python origin:
# pkg_info -O python25
The following installed package(s) has python25 origin:
# pkg_info -O lang/python25
The following installed package(s) has lang/python25 origin:
python25-2.5.5_1
# pkg_info -O lang/python
The following installed package(s) has lang/python origin:
Напоследок - есть и фильтры - можно выбрать часть пакетов регэкспами. Это ключи -x и -X
Пример:
# pkg_info -c -x python
Information for python25-2.5.5_1:
Comment:
An interpreted object-oriented programming language
Information for python26-2.6.6:
Comment:
An interpreted object-oriented programming language
Information for python31-3.1.1_1:
Comment:
An interpreted object-oriented programming language
суббота, 8 января 2011 г.
О бэкапах в SVN
Когда это имеет смысл? Для файлов, которые нельзя разделить на несколько (таких как access_log) - например дампы sql. Хранить такое просто, и в случае с svn легко синхронизировать с другими системами, а также заливать на amazon S3 - не надо перезаливать все файлы плюс оно уже сжато.
Хотя имеет смысл посмотреть и на распределенные системы контроля. Если набор данных единый, синхронизация делается просто и быстро.
Не имеет смысла использвать, когда много мелких часто изменяемых и удаляемых файлов. В итоге хранилище может раздуться до огромных размеров.
Также несжимаемые данные проще хранить отдельно.
Отдельно надо думать о бэкапах web-проектов, особенно малоизменяемых. Даже при 100к файлов добавление еще пары - процесс быстрый и если делаются простые архивы, а не инкрементные, выигрыш в месте может быть огромен. А вот распаковывание из такого хранилища с нуля может занимать часы, что приемлемо не всегда. Но получаем возможность откатиться до любой предыдущей версии и узнать, когда именно изменялись файлы.
Как вариант, хранить только ядро, а пользовательские файлы (особенно большие и бинарные) хранить отдельно в инкрементных архивах. А если движок сторонний, то можно еще уменьшить объем данных - хранить только наши модули-шаблоны, а оригинальные файлы при необходимости можно скачать с оф сайта. Хороший пример - битрикс. Неприменимо, если оригинальный движок был сильно переписан или есть привязка на данную версию.
Хотя имеет смысл посмотреть и на распределенные системы контроля. Если набор данных единый, синхронизация делается просто и быстро.
Не имеет смысла использвать, когда много мелких часто изменяемых и удаляемых файлов. В итоге хранилище может раздуться до огромных размеров.
Также несжимаемые данные проще хранить отдельно.
Отдельно надо думать о бэкапах web-проектов, особенно малоизменяемых. Даже при 100к файлов добавление еще пары - процесс быстрый и если делаются простые архивы, а не инкрементные, выигрыш в месте может быть огромен. А вот распаковывание из такого хранилища с нуля может занимать часы, что приемлемо не всегда. Но получаем возможность откатиться до любой предыдущей версии и узнать, когда именно изменялись файлы.
Как вариант, хранить только ядро, а пользовательские файлы (особенно большие и бинарные) хранить отдельно в инкрементных архивах. А если движок сторонний, то можно еще уменьшить объем данных - хранить только наши модули-шаблоны, а оригинальные файлы при необходимости можно скачать с оф сайта. Хороший пример - битрикс. Неприменимо, если оригинальный движок был сильно переписан или есть привязка на данную версию.
четверг, 6 января 2011 г.
про репликацию файлов
[в процессе написания]
Задача: есть несколько серверов, данные на которых надо синхронизировать.
Тут несколько видов решений:
1) раз в N минут делается скан системы на изменения и синхронизируется.
Плюсы - работает со всеми фс, позволяет делать выборочную синхронизацию, эффективное использование сети, возможность ограничить скорость
Минусы - больше нагрузка на процессор, диски, измененный файл может оказаться на зеркале через весьма долгое время, возможны конфликты с одновременным изменением файла. Эффективно может быть только в системе master-slave. Неприменимо для объектов с небольшим временем жизни.
Примеры - rsync, unison
1b) Почти (1), но на базе систем контроля версий.
1c) csync
На базе rsync, но используется в битриксе, значит, как минимум можно рассмотреть. Насколько я понял из документации, возможна работа мастер-мастер.
2) NAS - монтирование по сети через CIFS, NFS.
Плюсы - просто, быстро
Минусы - требует для хорошей работы сети с маленькими задержками и большими скоростями, так что применимо только при размещении в 1 датацентре, а лучше в 1 стойке, а также нормальные сетевые карты и свичи. Относительно большой оверхед. Большие требования к хранилищу, и чем больше клиентов, тем серьёзнее требования.
3) SAN - монтирование блочного устройства с отдельного хранилища. Требования еще больше, чем для (2). Для совместной работы требуется или кластерная ФС, или на машине надо поднимать такие службы как NFS.
2) блочные устройства
3) DRBD, geom gate
4) распределенные ФС
5) кластерные ФС
6) Синхронизация на базе журналов журналируемых ФС. Примеры мне неизвестны. Реализовано может быть на таких опциях как inotify, dnotify, Fanotify (2.6.37+)
Задача: есть несколько серверов, данные на которых надо синхронизировать.
Тут несколько видов решений:
1) раз в N минут делается скан системы на изменения и синхронизируется.
Плюсы - работает со всеми фс, позволяет делать выборочную синхронизацию, эффективное использование сети, возможность ограничить скорость
Минусы - больше нагрузка на процессор, диски, измененный файл может оказаться на зеркале через весьма долгое время, возможны конфликты с одновременным изменением файла. Эффективно может быть только в системе master-slave. Неприменимо для объектов с небольшим временем жизни.
Примеры - rsync, unison
1b) Почти (1), но на базе систем контроля версий.
1c) csync
На базе rsync, но используется в битриксе, значит, как минимум можно рассмотреть. Насколько я понял из документации, возможна работа мастер-мастер.
2) NAS - монтирование по сети через CIFS, NFS.
Плюсы - просто, быстро
Минусы - требует для хорошей работы сети с маленькими задержками и большими скоростями, так что применимо только при размещении в 1 датацентре, а лучше в 1 стойке, а также нормальные сетевые карты и свичи. Относительно большой оверхед. Большие требования к хранилищу, и чем больше клиентов, тем серьёзнее требования.
3) SAN - монтирование блочного устройства с отдельного хранилища. Требования еще больше, чем для (2). Для совместной работы требуется или кластерная ФС, или на машине надо поднимать такие службы как NFS.
2) блочные устройства
3) DRBD, geom gate
4) распределенные ФС
5) кластерные ФС
6) Синхронизация на базе журналов журналируемых ФС. Примеры мне неизвестны. Реализовано может быть на таких опциях как inotify, dnotify, Fanotify (2.6.37+)
Почему во FreeBSD ядро лучше компилировать с ACCEPT-опцией в IPFW
Много лет назад пришлось мне скататься в офис, потому что неправильно применил набор правил. flush сделался, а дальше выполнение остановилось: скрипт не смог выводить мне информацию. Бывает ошибка в конфиге, когда выполнение тоже останавливается...
А что мешает вписать в скрипт строку 40000 deny all fron any to any ? Ничего.
Хотя все-равно первой строкой у меня обычно вписано allow all from any to me 22, чтобы можно было залогиниться всегда. Но с accept при любой ошибке фаервол больше не закроет доступ извне.
А что мешает вписать в скрипт строку 40000 deny all fron any to any ? Ничего.
Хотя все-равно первой строкой у меня обычно вписано allow all from any to me 22, чтобы можно было залогиниться всегда. Но с accept при любой ошибке фаервол больше не закроет доступ извне.
среда, 5 января 2011 г.
asterisk-based телефония
Варианты:
1) Чистый астериск. Требует изучения талмудов и минимум 2 недель на настройку (в варианте сложнее чем "подключить 3 сип телефона без внешних линий", причем не просто "хз как оно работает, но лучше больше не трогать", а нормальная настройка, с полным пониманием, что и зачем пишем и как чинить, если что-то сломалось). Проверено как лично мной, так и многими другими. Не имея знаний на темы sip, voip, pri-bri, fxs-fxo, протоколов итд - 2 недели это будет ещё очень шустро.
2) web-интерфейсы. Сильно облегчают жизнь, но реализовать могут не всё. Пока нашел только штатный GUI и FreePBX.
3) Готовые дистрибутивы на базе *. Обычно умеют больше, плюс в комплекте идут фишки вроде жаббер-сервера итд. Рулить также можно через веб или сторонние программы.
Тут можно порекомендовать trixbox, elastix
N) аналоги не-*. Имеет смысл, но не в этой статье.
Много инфы есть в вики http://ru.wikipedia.org/wiki/Asterisk
англ http://en.wikipedia.org/wiki/Asterisk_(PBX)
Протоколы лучше всего брать SIP и IAX2. Для локалки разницы нет, а вот наружу проще с IAX2 - вместо набора портов (5000-5100 TCP + 6000-6100 UTP для сигнализации) используется только порт 4569 UTP, протокол изначально проектировался с учетом ната. Но многие аппаратные телефоны его не умеют.
Про H.323 лучше сразу забыть. Этот протокол был придуман телефонистами и тащит за собой кучу костылей еще аналоговой телефонии, и вообще сделан неудачно. Это как новый вид кареты вместо автомобиля.
Сравнение телефонов, серверов:
http://en.wikipedia.org/wiki/Comparison_of_VoIP_software
http://en.wikipedia.org/wiki/List_of_SIP_software
О настройке штатного GUI
http://www.asteriskguru.com/tutorials/asterisk_gui.html
Вообще, сайт считается одним из основных по настройке.
1) Чистый астериск. Требует изучения талмудов и минимум 2 недель на настройку (в варианте сложнее чем "подключить 3 сип телефона без внешних линий", причем не просто "хз как оно работает, но лучше больше не трогать", а нормальная настройка, с полным пониманием, что и зачем пишем и как чинить, если что-то сломалось). Проверено как лично мной, так и многими другими. Не имея знаний на темы sip, voip, pri-bri, fxs-fxo, протоколов итд - 2 недели это будет ещё очень шустро.
2) web-интерфейсы. Сильно облегчают жизнь, но реализовать могут не всё. Пока нашел только штатный GUI и FreePBX.
3) Готовые дистрибутивы на базе *. Обычно умеют больше, плюс в комплекте идут фишки вроде жаббер-сервера итд. Рулить также можно через веб или сторонние программы.
Тут можно порекомендовать trixbox, elastix
N) аналоги не-*. Имеет смысл, но не в этой статье.
Много инфы есть в вики http://ru.wikipedia.org/wiki/Asterisk
англ http://en.wikipedia.org/wiki/Asterisk_(PBX)
Протоколы лучше всего брать SIP и IAX2. Для локалки разницы нет, а вот наружу проще с IAX2 - вместо набора портов (5000-5100 TCP + 6000-6100 UTP для сигнализации) используется только порт 4569 UTP, протокол изначально проектировался с учетом ната. Но многие аппаратные телефоны его не умеют.
Про H.323 лучше сразу забыть. Этот протокол был придуман телефонистами и тащит за собой кучу костылей еще аналоговой телефонии, и вообще сделан неудачно. Это как новый вид кареты вместо автомобиля.
Сравнение телефонов, серверов:
http://en.wikipedia.org/wiki/Comparison_of_VoIP_software
http://en.wikipedia.org/wiki/List_of_SIP_software
О настройке штатного GUI
http://www.asteriskguru.com/tutorials/asterisk_gui.html
Вообще, сайт считается одним из основных по настройке.
The port 'net/samba3' was removed on 2010-10-18 because:
Сделал на днях pkgdb -F
The port 'net/samba3' was removed on 2010-10-18 because:
"Has expired: Unsupported by the upstream. Please, consider to upgrade."
-> Hint: samba-3.0.37,1 is not required by any other package
То есть, версия 3.0 окончила свой жизненный путь. Сейчас есть 3 версии: 34, 35, 4-devel
Замечание:
The default passdb backend has been changed to `tdbsam'! That breaks
existing setups using the `smbpasswd' backend without explicit
declaration! Please use `passdb backend = smbpasswd' if you would like
to stick to the `smbpasswd' backend or convert your smbpasswd entries
using e.g. `pdbedit -i smbpasswd -e tdbsam'.
http://www.mail-archive.com/freebsd-questions@freebsd.org/msg239295.html
О версиях
Представлен первый стабильный релиз Samba ветки 3.4. Основными новшествами в данном релизе стали:...
http://www.opennet.ru/opennews/art.shtml?num=22460
http://www.opennet.ru/opennews/art.shtml?num=24873
http://www.opennet.ru/opennews/art.shtml?num=24437
Дополнительно сообщается о выходе первого кандидата в релизы для ветки Samba 3.5, отличающейся экспериментальной поддержкой протокола SMB2 и более тесной интеграцией с кодовой базой Samba 4. Более подробно о Samba 3.5 можно прочитать в анонсе первой тестовой версии.
http://opennet.ru/opennews/art.shtml?num=24929
Сообщается, что после 5 лет работы над Samba 4 код с реализацией Active Directory достиг состояния пригодного для тестового внедрения на нескольких ресурсах. Код файлового сервера уже пригоден для развертывания кластерных конфигураций, позволяющих организовать работу нагруженных файловых серверов распределенных на несколько машин.
Вкратце:
3.4 поддерживает Win2008, но протокол только SMB1
3.5 - поддержка SMB2 (экспериментальная)
3.6 - полная поддержка SMB2
4.0 - AD, совместимый с 2008, в дальнейшем будет слит с 3 веткой
Инфа набрана с линков выше.
The port 'net/samba3' was removed on 2010-10-18 because:
"Has expired: Unsupported by the upstream. Please, consider to upgrade."
-> Hint: samba-3.0.37,1 is not required by any other package
То есть, версия 3.0 окончила свой жизненный путь. Сейчас есть 3 версии: 34, 35, 4-devel
Замечание:
The default passdb backend has been changed to `tdbsam'! That breaks
existing setups using the `smbpasswd' backend without explicit
declaration! Please use `passdb backend = smbpasswd' if you would like
to stick to the `smbpasswd' backend or convert your smbpasswd entries
using e.g. `pdbedit -i smbpasswd -e tdbsam'.
http://www.mail-archive.com/freebsd-questions@freebsd.org/msg239295.html
О версиях
Представлен первый стабильный релиз Samba ветки 3.4. Основными новшествами в данном релизе стали:...
http://www.opennet.ru/opennews/art.shtml?num=22460
http://www.opennet.ru/opennews/art.shtml?num=24873
http://www.opennet.ru/opennews/art.shtml?num=24437
Дополнительно сообщается о выходе первого кандидата в релизы для ветки Samba 3.5, отличающейся экспериментальной поддержкой протокола SMB2 и более тесной интеграцией с кодовой базой Samba 4. Более подробно о Samba 3.5 можно прочитать в анонсе первой тестовой версии.
http://opennet.ru/opennews/art.shtml?num=24929
Сообщается, что после 5 лет работы над Samba 4 код с реализацией Active Directory достиг состояния пригодного для тестового внедрения на нескольких ресурсах. Код файлового сервера уже пригоден для развертывания кластерных конфигураций, позволяющих организовать работу нагруженных файловых серверов распределенных на несколько машин.
Вкратце:
3.4 поддерживает Win2008, но протокол только SMB1
3.5 - поддержка SMB2 (экспериментальная)
3.6 - полная поддержка SMB2
4.0 - AD, совместимый с 2008, в дальнейшем будет слит с 3 веткой
Инфа набрана с линков выше.
Подписаться на:
Сообщения (Atom)