Архив заметок

FreeBSD

Подписаться на эту рубрику по RSS

Unable to load dynamic library memcache.so

Просмотров: 5616Комментарии: 0
FreeBSDNginx

После обновления php с версии 5.4.11 на 5.4.12 вывалилась следующая ошибка при попытке перезапуска php-fpm:

#/usr/local/etc/rc.d/php-fpm restart                       
Stopping php_fpm.
Starting php_fpm.
[26-Feb-2013 12:58:14] NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20100525/memcache.so' - /usr/local/lib/php/20100525/memcache.so: Undefined symbol "php_session_create_id" in Unknown on line 0

Решение:

Переустановка pecl-memcache:

# cd /usr/ports/databases/pecl-memcache && make deinstall clean && make install clean

Далее рестарт php-fpm.

The used table type doesn't support FULLTEXT indexes.

Просмотров: 3559Комментарии: 0
MybboardFreeBSDMySQL
Обязательно сделайте резервную копию БД перед дальнейшими действиями. В частности это касается администраторов форума MyBB(MyBulletinBoard).

Случился неприятный затык. При конвертировании типа таблицы из MYISAM в INNODB, мускул стал ругаться. INNODB не поддерживает такую индексацию. Поэтому, чтобы все-таки конвертировать табличку в INNODB надо индексы эти удалить.

Изначально у меня на одном из форумов стоял fulltext поиск, изменив его на стандартный, я думал, что проблема уйдет сама собой. Ожидания мои не оправдались и решено было выпилить индексы вручную.

Делал я все действия в консоли, хотя тоже самое можно провернуть через phpmyadmin.

Итак, погнали:

$ mysql -u root -p
Enter password:

Я залез сразу под root'ом. В целях повышения безопасности, логинитесь на сервер mysql под хозяином конкретной БД.

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

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| ftp                |
| mail               |
| main               |
| mybb               |
| mysql              |
| performance_schema |
| pmadb              |
| webmail            |
+--------------------+
9 rows in set (0.01 sec)

Таблица mybb. Используем ее.

mysql> use mybb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed

Теперь смотрим с какими параметрами была создана база, где используется fulltext:

mysql> show create table mybb_posts;
........................
| mybb_posts | CREATE TABLE `mybb_posts` (
........................
  PRIMARY KEY (`pid`),
  KEY `tid` (`tid`,`uid`),
  KEY `uid` (`uid`),
  KEY `visible` (`visible`),
  KEY `dateline` (`dateline`),
  KEY `longipaddress` (`longipaddress`),
  FULLTEXT KEY `message` (`message`)
) ENGINE=MyISAM AUTO_INCREMENT=5477 DEFAULT CHARSET=utf8 |
1 row in set (0.00 sec)

Мне нужен FULLTEXT KEY `message` (`message`). Избавимся от него.

mysql> alter table mybb_posts drop index message;
Query OK, 5427 rows affected (0.16 sec)
Records: 5427  Duplicates: 0  Warnings: 0

После чистки, табличка конвертировалась в INNODB без проблем.

Мониторинг сервера с помощью Cacti и Spine регистратора

Просмотров: 8444Комментарии: 2
СтатистикаFreeBSD

Приветствую всех.

В предыдущей статье я уже пытался написать об этой программе. По некоторым причинам ее закончить не удалось.

Сегодня написал заново статью, возможно пригодится кому-нибудь в будущем или настоящем.

Ремарка: У вас уже должно быть установлено и настроено следующее ПО:
  • apache/nginx
  • php
  • mysql

Установка и настройка этих пакетов выходят за рамки этой статьи.

В настоящее время я перешел на обновление портов через svn, cvs скоро отомрет как ненужный атавизм.

Напомню, что перед любой установкой софта, обязательно обновите порты.

После обновления, установим cacti, net-snmp, cacti-spine

# portmaster net-mgmt/cacti net-mgmt/cacti-spine net-mgmt/net-snmp

Что указал я:

net-snmp.jpg

После установки необходимо создать БД для cacti. Я делал это с помощью phpmyadmin, вы же можете создать как удобнее вам. Через консоль:

  1. Создаем БД:
  2. # mysqladmin --user=root create cacti
  3. Создаем в mysql пользователя и пароль для бд cacti:
  4. # echo "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser';
    FLUSH PRIVILEGES;" | mysql
  5. Импортуруем таблицы в нашу бд:
  6. # mysql -u cactiuser -p -D cacti < /usr/local/share/cacti/cacti.sql
    Синтаксис Mysql немного поменялся со временем. Я добавил недостающие ключи для корректного импорта, а именно:
    [ul]
  7. -u пользователь;
  8. -p пароль;
  9. -D база данных
  10. [/ul]

Читать далее...

Обновление Perl

Просмотров: 1816Комментарии: 0
FreeBSD

Запишу на будущее заметку. Сегодня после обновления дерева портов заглянул в файл /usr/ports/UPDATING, чтобы убедиться в необходимости пересобрать тот или иной порт.

Сегодня в этом файле была такая новость:

20130204:
AFFECTS: users of lang/perl5.8 and lang/perl5.10
AUTHOR: az@FreeBSD.org
lang/perl5.8 and lang/perl5.10 have been removed since they've been EOL by upstream. You will have to recompile all perl dependant ports after updating your ports tree. Please see entry 20110517 for help.

Запись от 20110517 нашел в нем же и приведу ее ниже с моим переводом.

Вышел lang/perl5.14. Если вы хотите перейти на него например с lang/perl5.12, следуйте нижеприведенным шагам:

Пользователи Portupgrade:

  1. Исправьте pkgdb.db (для безопасности):
  2. pkgdb -Ff

  3. Переустановите новую версию perl (5.14):
  4. env DISABLE_CONFLICTS=1 portupgrade -o lang/perl5.14 -f perl-5.12.\*

  5. Переустановите все зависимости Perl:
  6. portupgrade -fr perl

Пользователи Portmaster:

  • portmaster -o lang/perl5.14 lang/perl5.12

Консервативный метод:

  • portmaster p5-

Комплексный метод (возможно будет излишним):

  • portmaster -r perl-
Заметка: Если "perl-" соответствует более чем одному порту необходимо указать явно имя каталога Perl в /var/db/pkg.

Shared object "libGeoIP.so.5" not found

Просмотров: 1766Комментарии: 0
FreeBSDNginx

Приветствую.

На досуге как-то криво обновил порты, что после перезагрузки железки появилась такая требуха:

Performing sanity check on nginx configuration:
Shared object "libGeoIP.so.5" not found, required by "nginx"
Starting nginx.
Shared object "libGeoIP.so.5" not found, required by "nginx"
/etc/rc: WARNING: failed to start nginx

Родной нгинкс требовал библиотечку GeoIP smile решил проблему следующим образом. Сначала посмотрел какие зависимости есть у пакета nginx:

# portmaster --show-work www/nginx
===>>> Currently installed version: nginx-1.2.6,1
===>>> Port directory: /usr/ports/www/nginx
===>>> Starting check for all dependencies
===>>> Gathering dependency list for www/nginx from ports
===>>> Installed converters/libiconv
===>>> Installed devel/cmake
===>>> Installed devel/cmake-modules
===>>> Installed devel/gettext
===>>> Installed devel/gmake
===>>> Installed devel/google-perftools
===>>> Installed devel/libtool
===>>> Installed devel/pcre
===>>> Installed devel/pkgconf
===>>> Installed graphics/gd
===>>> Installed graphics/jpeg
===>>> Installed graphics/png
===>>> Installed lang/perl5.16
===>>> NOT INSTALLED net/GeoIP
===>>> Installed ports-mgmt/pkg
===>>> Installed print/freetype2
===>>> Installed textproc/expat2
===>>> Installed x11-fonts/fontconfig

Не установлено, конечно, забавно получилось. Я даже этот пакет и не удалял. Ну да бог с ним, установим.

# portmaster net/GeoIP
............
............
# /usr/local/etc/rc.d/nginx start
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Starting nginx.
# ps -aux | grep nginx
root 31716 0,0 0,1 65940 9464 ?? Ss 23:11 0:00,00 nginx: master process /usr/local/sbin/nginx
www 31717 0,0 0,1 65940 11132 ?? S 23:11 0:00,00 nginx: worker process (nginx)
www 31718 0,0 0,1 65940 11132 ?? S 23:11 0:00,00 nginx: worker process (nginx)
root 31720 0,0 0,0 16280 2120 0 S+ 23:11 0:00,00 grep nginx

Vnstat. Error: Database load failed even when using backup. Aborting

Просмотров: 3508Комментарии: 0
СтатистикаFreeBSD

Ууухх. Утром на почту получаю письмо следующего содержания:

26-10-2012-11-59-20.jpg

Одно письмо меня бы не смутило, но в ящике их было сотни, учитывая, что в кроне скриптик снимает показания с сетевого интерфейса раз в 5 минут. Как с этим бороться?

Конечно, базу не вернуть, она канула в лету (ну или я просто до конца не разбиралсяoh oh) В итоге было найдено решение, к тому же очень простое:

# rm -rf /var/db/vnstat
# vnstat -u -i re0

ZFS. Отваливается диск после загрузки.

Просмотров: 5113Комментарии: 9
FreeBSDZFS

Намедни обзавелся тремя дисками WD Caviar Green по 3 ТБ. Счастья полные штаны smile Но за счастьем следовало разочарование. Итак, немного предыстории.

Диски были куплены для организации файлового хранилища, как бы пафосно это не звучало smile

Тазик используется как медиа сервер. Весь медиа контент воспроизводится через dune hd tv101 приставочку по протоколу SMB.

Естественно, я решил использовать ZFS для организации массива RAID5, RAID0 для таких дел как бе нелепо, а RAID1 из трех дисков не сложится, да и четвертый покупать пока не имеет смысла.

Я без задней мысли штампую:

# zpool create storage raidz ada1 ada2 ada3

Потом я создал каталоги и радостный стал переносить всякое добро с системного диска на новый массив.

После нескольких минут копирования, я увидел это в /var/log/messages:

(aprobe0:ahcich1:0:0:0): NOP. ACB: 00 00 00 00 00 00 00 00 00 00 00 00
(aprobe0:ahcich1:0:0:0): CAM status: ATA Status Error
(aprobe0:ahcich1:0:0:0): ATA status: d1 (BSY DRDY SERV ERR), error: 04 (ABRT )
(aprobe0:ahcich1:0:0:0): RES: d1 04 ff ff ff ff ff ff ff ff ff
(aprobe0:ahcich1:0:0:0): Error 5, Retries exhausted
(aprobe1:ahcich1:0:15:0): NOP. ACB: 00 00 00 00 00 00 00 00 00 00 00 00
(aprobe1:ahcich1:0:15:0): CAM status: ATA Status Error
(aprobe1:ahcich1:0:15:0): ATA status: d1 (BSY DRDY SERV ERR), error: 04 (ABRT )
(aprobe1:ahcich1:0:15:0): RES: d1 04 ff ff ff ff ff ff ff ff ff
(aprobe1:ahcich1:0:15:0): Error 5, Retries exhausted
(aprobe0:ahcich1:0:0:0): NOP. ACB: 00 00 00 00 00 00 00 00 00 00 00 00
(aprobe0:ahcich1:0:0:0): CAM status: ATA Status Error
(aprobe0:ahcich1:0:0:0): ATA status: d1 (BSY DRDY SERV ERR), error: 04 (ABRT )
(aprobe0:ahcich1:0:0:0): RES: d1 04 ff ff ff ff ff ff ff ff ff
(aprobe0:ahcich1:0:0:0): Error 5, Retries exhausted

Что показывал camcontrol devlist:

beast# camcontrol devlist
<SAMSUNG HD160JJ ZM100-47>         at scbus0 target 0 lun 0 (pass0,ada0)
<WDC WD30EZRX-00MMMB0 80.00A80>    at scbus2 target 0 lun 0 (pass2,ada2)
<WDC WD30EZRX-00MMMB0 80.00A80>    at scbus3 target 0 lun 0 (pass3,ada3)
<Generic- SD/MMC 1.00>             at scbus6 target 0 lun 0 (da0,pass4)
<Generic- Compact Flash 1.01>      at scbus6 target 0 lun 1 (da1,pass5)
<Generic- SM/xD-Picture 1.02>      at scbus6 target 0 lun 2 (da2,pass6)
<Generic- MS/MS-Pro 1.03>          at scbus6 target 0 lun 3 (da3,pass7)

Хм, первый диск отвалился. Читать далее...