Bug 24458 - библиотека libdevmapper-event.so.1.00 расположена в /usr
Summary: библиотека libdevmapper-event.so.1.00 расположена в /usr
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: libdevmapper-event (show other bugs)
Version: unstable
Hardware: all Linux
: P3 major
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-30 11:45 MSD by Anton Chernyshov
Modified: 2010-10-31 12:04 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Chernyshov 2010-10-30 11:45:25 MSD
При загрузке системы на экране проскакивает вот такое сообщение:

vgchange: /sbin/vgchange: error while loading shared libraries: libdevmapper-event.so.1.00: cannot open shared object file: No such file or directory 

У меня корень системы на LVM. Но при этом группа томов и все логические тома активируются и работают корректно.
Comment 1 Anton Farygin 2010-10-30 19:32:17 MSD
Перевесил на мейнтейнера.
Comment 2 Vitaly Kuznetsov 2010-10-30 23:19:26 MSD
rpm -qa | grep libdevmapper
Comment 3 Vitaly Kuznetsov 2010-10-31 01:54:56 MSD
Понял. Если у вас корень на lvm, значит вы используете make-initrd. Для работы vgchange теперь требуется не только libdevmapper.so.1.00, но и libdevmapper-event.so.1.00 который, судя по всему, не попал на initrd.

Итог: надо адаптировать make-initrd к новому lvm2
Comment 4 Alexey Gladkov 2010-10-31 02:21:31 MSK
(В ответ на комментарий №3)

make-initrd не пакует /sbin/vgchange. Он использует "/sbin/lvm vgchange" Так что ваш вывод о наличии проблемы в make-initrd для меня не очевиден.

> Понял. Если у вас корень на lvm, значит вы используете make-initrd. Для работы
> vgchange теперь требуется не только libdevmapper.so.1.00, но и
> libdevmapper-event.so.1.00 который, судя по всему, не попал на initrd.

Если /sbin/lvm был слинкован с libdevmapper-event.so.1.00, то эта библиотека попала в initrd.

> Итог: надо адаптировать make-initrd к новому lvm2

Он уже адаптирован.
Comment 5 Dmitry V. Levin 2010-10-31 02:34:13 MSK
(In reply to comment #4)
> > > vgchange: /sbin/vgchange: error while loading shared libraries:
> > > libdevmapper-event.so.1.00: cannot open shared object file: No such file > > > or directory 
> > 
> > Понял. Если у вас корень на lvm, значит вы используете make-initrd. Для
> > работы vgchange теперь требуется не только libdevmapper.so.1.00, но и
> > libdevmapper-event.so.1.00 который, судя по всему, не попал на initrd.
> 
> Если /sbin/lvm был слинкован с libdevmapper-event.so.1.00, то эта библиотека
> попала в initrd.

Выходит так, будто пользователю померещилось, а сообщения об ошибке нет?

(In reply to comment #0)
> При загрузке системы на экране проскакивает вот такое сообщение:

Давайте мы вас попросим заглянуть в ваш initrd.img и рассказать, чем и когда он был сделан, и какие библиотеки туда попали.  Спасибо.
Comment 6 Dmitry V. Levin 2010-10-31 02:36:19 MSK
(In reply to comment #1)
> Перевесил на мейнтейнера.

Операция
$ ssh git.alt acl sisyphus lvm2 leader новый_мейнтейнер
позволит сразу закреплять новые баги на lvm2 за новым мейнтейнером.
Comment 7 Alexey Gladkov 2010-10-31 02:43:12 MSK
(В ответ на комментарий №5)
> Выходит так, будто пользователю померещилось, а сообщения об ошибке нет?

Я этого не говорил. Не нужно переиначивать мои слова. Я сказал, что /sbin/vgchange не мог попасть в initrd:

http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=blob;f=features/lvm/config.mk;h=661e04fec09008fe7b48f0f39cf3eda500139873;hb=aed3d9d9747d598331a7940e01e232dfb7c26e37

Не нужно перевешивать ошибки столь бездумно.
Comment 8 Dmitry V. Levin 2010-10-31 03:19:02 MSK
(In reply to comment #7)
> (В ответ на комментарий №5)
> > Выходит так, будто пользователю померещилось, а сообщения об ошибке нет?
> 
> Я этого не говорил. Не нужно переиначивать мои слова. Я сказал, что
> /sbin/vgchange не мог попасть в initrd:

Однако из сообщения пользователя следует, что либо vgchange попал в initrd,
либо vgchange попал в систему не из пакета lvm2, либо пакет lvm2 был установлен без своих зависимостей.

Из этих соображений и твоих слов, таким образом, следует, что, скорее всего, initrd был сформирован не make-initrd или mkinitrd, а каким-то другим средством не из Сизифа.

Кстати, обнаружился баг в упаковке lvm2:
$ ldd /sbin/lvm | fgrep /usr/
	libdevmapper-event.so.1.00 => /usr/lib64/libdevmapper-event.so.1.00 (0x00002b602975d000)
- утилита в /sbin, а библиотека в /usr.
Comment 9 Dmitry V. Levin 2010-10-31 03:24:05 MSK
(In reply to comment #8)
> Кстати, обнаружился баг в упаковке lvm2:
> $ ldd /sbin/lvm | fgrep /usr/
>     libdevmapper-event.so.1.00 => /usr/lib64/libdevmapper-event.so.1.00
> (0x00002b602975d000)
> - утилита в /sbin, а библиотека в /usr.

Этот баг делает возможным ещё один вполне реалистичный вариант: /usr расположен на отдельной от / файловой системе.  Поскольку /etc/rc.d/scripts/lvm_start вызывает vgchange именно таким образом, можно предположить, что перемещение библиотеки в /lib исправит эту ошибку.
Comment 10 Alexey Gladkov 2010-10-31 03:31:26 MSK
Да, это достаточно вероятный вариант.
Comment 11 Anton Chernyshov 2010-10-31 09:25:40 MSK
(В ответ на комментарий №5)
> (In reply to comment #4)
> Давайте мы вас попросим заглянуть в ваш initrd.img и рассказать, чем и когда он
> был сделан, и какие библиотеки туда попали.  Спасибо.

initrd делался make-initrd при очередном обновлении ядра. Вот версия make-initrd:
[root@rivendale ~]# rpm -q make-initrd
make-initrd-0.3.9-alt1

Вот мои системные файловые системы:
root@rivendale ~]# df -h
Файловая система       Разм  Исп  Дост  Исп% смонтирована на
/dev/mapper/linux-root 1008M  661M  297M  70% /
/dev/mapper/linux-usr  9,9G  7,6G  1,8G  81% /usr
/dev/mapper/linux-var  5,0G  443M  4,3G  10% /var
Отдельного /boot нет. 

Библиотеки libdevmapper и libdevmapper-event внутри initrd есть:
[root@rivendale lib64]# pwd
/tmp/initrd/lib64
[root@rivendale lib64]# ls | grep mapper
libdevmapper-event.so.1.00
libdevmapper.so.1.00

На всякий случай используемое ядро:
[root@rivendale lib64]# uname -a
Linux rivendale 2.6.35-std-def-alt7 #1 SMP Wed Oct 20 15:57:10 UTC 2010 x86_64 GNU/Linux

Могу initrd сам приложить, но он почти 3 Мб...
Comment 12 Repository Robot 2010-10-31 12:04:35 MSK
lvm2-2.02.75-alt2 -> sisyphus:

* Sun Oct 31 2010 Vitaly Kuznetsov <vitty@altlinux> 2.02.75-alt2
- move libdevmapper-event.so.1.00 to /lib[64] (ALT #24458)