The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"dovecot2 не может зайти в базу"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (MySQL)
Изначальное сообщение [ Отслеживать ]

"dovecot2 не может зайти в базу"  +/
Сообщение от aid (ok) on 10-Мрт-11, 11:15 
Дано:

FreeBSD 8.2-RELEASE (amd64)
dovecot-2.0.9
mysql-server-5.5.9
apache-2.2.17_1
roundcube-0.5.1,1

Сервер/порты обновлены сегодня.

Когда захожу в куб, после ввода логина/пароля он несколько минут висит, потом снова "Добро пожаловать в Roundcube Webmail!"
В логах tail -n 100 /var/log/dovecot.log вижу:
Mar 10 10:58:53 auth: Error: /libexec/ld-elf.so.1: /usr/local/lib/mysql/libmysqlclient.so.16: version libmysqlclient_16 required by /usr/local/libexec/dovecot/auth not defined
Mar 10 10:58:53 master: Error: service(auth): child 48900 returned error 1
Mar 10 10:58:53 master: Error: service(auth): command startup failed, throttling
Не могу понять, что не доставилось/криво встало?
Обгуглил тему: народ жаловался на мускл 5.5.8 ...

Спасибо!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "dovecot2 не может зайти в базу"  +/
Сообщение от DeadLoco (ok) on 10-Мрт-11, 13:10 
> Сервер/порты обновлены сегодня.

Как именно обновлены порты? Чем? С какими ключами?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "dovecot2 не может зайти в базу"  +/
Сообщение от aid (ok) on 10-Мрт-11, 13:24 
>> Сервер/порты обновлены сегодня.
> Как именно обновлены порты? Чем? С какими ключами?

сегодня еще раз прогнал cvsup. потом переустановил php, mysql client&server, потом еще от безвыходности делал
portupgrade -fb php5\* pecl\* (выгуглил это).

сейчас
[root@imap /etc]# ls -al /usr/local/lib/php/20090626/
total 3788
drwxr-xr-x  2 root  wheel      512 Mar 10 12:35 .
drwxr-xr-x  4 root  wheel      512 Mar 10 12:28 ..
-r--r--r--  1 root  wheel    32970 Mar 10 12:32 bz2.so
-r--r--r--  1 root  wheel    20305 Mar 10 12:35 ctype.so
-r--r--r--  1 root  wheel   233607 Mar 10 12:33 dom.so
-r--r--r--  1 root  wheel    49344 Mar 10 12:34 filter.so
-r--r--r--  1 root  wheel   171638 Mar 10 12:29 hash.so
-r--r--r--  1 root  wheel    46690 Mar 10 12:35 iconv.so
-r--r--r--  1 root  wheel   121597 Mar 10 12:30 imap.so
-r--r--r--  1 root  wheel   215094 Mar 10 12:34 intl.so
-r--r--r--  1 root  wheel    39593 Mar 10 12:33 json.so
-r--r--r--  1 root  wheel    63346 Mar 10 12:32 ldap.so
-r--r--r--  1 root  wheel  1951508 Mar 10 12:30 mbstring.so
-r--r--r--  1 root  wheel    60902 Mar 10 12:31 mysql.so
-r--r--r--  1 root  wheel   144610 Mar 10 12:31 openssl.so
-r--r--r--  1 root  wheel   116826 Mar 10 12:29 pdo.so
-r--r--r--  1 root  wheel    40698 Mar 10 12:29 posix.so
-r--r--r--  1 root  wheel    28114 Mar 10 12:32 pspell.so
-r--r--r--  1 root  wheel    76329 Mar 10 12:31 session.so
-r--r--r--  1 root  wheel    60009 Mar 10 12:30 simplexml.so
-r--r--r--  1 root  wheel    19691 Mar 10 12:34 tokenizer.so
-r--r--r--  1 root  wheel    63094 Mar 10 12:31 xml.so
-r--r--r--  1 root  wheel    44239 Mar 10 12:33 xmlreader.so
-r--r--r--  1 root  wheel    61034 Mar 10 12:35 xmlwriter.so
-r--r--r--  1 root  wheel   106254 Mar 10 12:34 zip.so

[root@imap /etc]# ls -al /usr/local/lib/mysql/
total 26670
drwxr-xr-x   3 root  wheel       512 Mar 10 10:33 .
drwxr-xr-x  16 root  wheel      4096 Mar 10 12:20 ..
-rw-r--r--   1 root  wheel   4831734 Mar 10 10:28 libmysqlclient.a
lrwxr-xr-x   1 root  wheel        20 Mar 10 10:28 libmysqlclient.so -> libmysqlclient.so.16
-rwxr-xr-x   1 root  wheel   3368264 Mar 10 10:28 libmysqlclient.so.16
lrwxr-xr-x   1 root  wheel        16 Mar 10 10:28 libmysqlclient_r.a -> libmysqlclient.a
lrwxr-xr-x   1 root  wheel        17 Mar 10 10:28 libmysqlclient_r.so -> libmysqlclient.so
lrwxr-xr-x   1 root  wheel        17 Mar 10 10:28 libmysqlclient_r.so.16 -> libmysqlclient.so
-rw-r--r--   1 root  wheel  19028256 Mar  9 18:29 libmysqld.a
-rw-r--r--   1 root  wheel      4150 Mar 10 10:27 libmysqlservices.a
drwxr-xr-x   2 root  wheel       512 Mar 10 10:33 plugin wheel   106254 Mar 10 12:34 zip.so

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "dovecot2 не может зайти в базу"  +/
Сообщение от DeadLoco (ok) on 10-Мрт-11, 13:34 
> Mar 10 10:58:53 auth: Error: /libexec/ld-elf.so.1: /usr/local/lib/mysql/libmysqlclient.so.16: version libmysqlclient_16 required by /usr/local/libexec/dovecot/auth not defined

Довекот вполне отчетливо жалуется, что отсутствует libmysqlclient.so.16. Мне почему-то кажется, что тотальный снос довекота и полная его пересборка (и всех модулей, включая auth) проблему рассосет.

Рекомендую попробовать /usr/ports/ports-mgmt/portmanager
# portsnap fetch update && portmanager -u -ui

Это самый простой известный мне способ обновить порты и рекурсивно пересобрать все, что от них зависит. Правда, в текущей версии портманагер не умеет управляться с некоторыми метапортами, вроде apache-mpm, но это мелочи.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "РЕШЕНО"  +/
Сообщение от aid (ok) on 10-Мрт-11, 13:35 
только что сделал
portupgrade -rf dovecot-2.0.9

помогло ...

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "РЕШЕНО"  +/
Сообщение от DeadLoco (ok) on 10-Мрт-11, 13:48 
> только что сделал
>  portupgrade -rf dovecot-2.0.9
> помогло ...

Это плохо, что помогло. Это значит, что вы обновляете только узловые порты, но не обновляете ветки, от этого узла зависящие.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "РЕШЕНО"  +/
Сообщение от aid (ok) on 10-Мрт-11, 17:37 
>> только что сделал
>>  portupgrade -rf dovecot-2.0.9
>> помогло ...
> Это плохо, что помогло. Это значит, что вы обновляете только узловые порты,
> но не обновляете ветки, от этого узла зависящие.

можно конкретнее?
portupgrade -Rr имя_порта ?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "РЕШЕНО"  +/
Сообщение от DeadLoco (ok) on 10-Мрт-11, 17:59 
> можно конкретнее?
> portupgrade -Rr имя_порта ?

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

Легковесных решений два - portmaster и portmanager. Я использую оба вперемешку, потому что у них у каждого есть уникальный функционал. Если портманагер умеет сам вычислять дерево зависимостей и рекурсивно их пересобирать после обновления n+1 узла (portmanager -u), то портмастер обновляет только узлы (portmaster -aD), а ветви зависимостей приходится вычислять самостоятельно и обновлять вручную (portmaster -rR имя_обновленного_порта)

Например, портмастер умеет поправлять поля REQUIRED_BY после обновлений, и удалять из /usr/ports/distfiles старые дистрибы. Опять же, портмастер удобнее использовать в скриптах, чтобы слать на почту список доступных обновлений, например. Портманагер более интерактивен, и в нем удобнее обновлять установленные порты выборочно. Удалять порты мне удобнее связкой portmanager -slid && portmaster -s. Первая команда позволяет интерактивно грохнуть листовые порты, вторая автоматом чистит зависимости.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "РЕШЕНО"  +/
Сообщение от aid (ok) on 10-Мрт-11, 22:15 
>[оверквотинг удален]
> сам вычислять дерево зависимостей и рекурсивно их пересобирать после обновления n+1
> узла (portmanager -u), то портмастер обновляет только узлы (portmaster -aD), а
> ветви зависимостей приходится вычислять самостоятельно и обновлять вручную (portmaster
> -rR имя_обновленного_порта)
> Например, портмастер умеет поправлять поля REQUIRED_BY после обновлений, и удалять из /usr/ports/distfiles
> старые дистрибы. Опять же, портмастер удобнее использовать в скриптах, чтобы слать
> на почту список доступных обновлений, например. Портманагер более интерактивен, и в
> нем удобнее обновлять установленные порты выборочно. Удалять порты мне удобнее связкой
> portmanager -slid && portmaster -s. Первая команда позволяет интерактивно грохнуть листовые
> порты, вторая автоматом чистит зависимости.

спасибо за развернутый ответ! но ИМХО я привел нечто очень похожее ...
man portupgrade
...
     -r
     --recursive            Act on all those packages depending on the given
                            packages as well.

     -R
     --upward-recursive     Act on all those packages required by the given
                            packages as well. (When specified with -F, fetch
                            recursively, including the brand new, uninstalled
                            ports that an upgraded port requires)

кроме того, жизнь показывает, что даже при правильном использовании стандартных тулзов для портов бывают огрехи, косяки ...
вот например, мускл 5.5.8 косячный при стандартном обновлении ...
Главное - результат.
Еще раз спасибо!

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "РЕШЕНО"  +/
Сообщение от DeadLoco (ok) on 10-Мрт-11, 22:21 
> ИМХО я привел нечто очень похожее ...

В вашем случае достаточно ключа -r - от узла и вверх. -R - это вниз  от узла, к корню, это немножко оверкилл. Разве что обновится одновременно и нижележащий порт, и все равно его надо будет пересобирать. Но тогда проще с ключом -r пересобрать этот нижележащий порт.

Чем хорош портманагер - он сам выбирает рекурсивно, в какой последовательности пересобирать зависимые порты, чтобы обеспечить линковку.

В принципе, можно глянуть и вручную, вот так:

   /usr/local/etc > pkg_info -r dovecot-1.2.16
   Information for dovecot-1.2.16:

   Depends on:
   Dependency: mysql-client-5.1.55
   Dependency: libiconv-1.13.1_1

То-есть, если обновится мускль, то достаточно запустить

   # portupgrade -rf mysql-client-5.1.55

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

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "РЕШЕНО"  +/
Сообщение от aid (ok) on 10-Мрт-11, 22:42 

>    # portupgrade -rf mysql-client-5.1.55
> и тогда обновится мускль, и рекурсивно все пакеты, которые от него зависят,
> будут пересобраны. И довекот в том числе.

-f  - это ведь просто принудиловка? просто кому-то это не нужно, так?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "РЕШЕНО"  +/
Сообщение от DeadLoco (ok) on 11-Мрт-11, 12:04 
> -f  - это ведь просто принудиловка? просто кому-то это не нужно, так?

Возможно. У каждого - свой экспириенс.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру