[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: apt и сетевой smb-cdrom (эпизод 2: опрос)



From: "Alexei Khlebnikov" <khlebnikov@scnsoft.com>
> Возникла следующая проблема.
>
> Есть машина без CDROM-a, зато подключенная по сети к другой машине,
> на которой есть CDROM. Хочется юзать CDROM второй машины как
> apt source для первой. Вторая машина под виндой, так что монтируем
> ее CDROM по SMB. На первой машине стоит Woody 3.0r0 без апдейтов.

Я исследовал эту проблему, забравшись в исходники apt. Проблема
проявляется, если на машине с CDROM-ом стоит Win98. Если WinNT,
Win2000 или Linux - не проявляется. При идентификации диска apt
учитывает имена и время mtime файлов и каталогов корневого каталога
на CD. Если в роли CD-сервера выступает Win98, stat(2) не может правильно
прочитать время модификации каталога (с файлами все ок!), а вместо этого
в st_mtime (и в st_atime тоже) записывается текущее время. Как я и говорил,
в potato с родной самбой и ядром 2.0.38 такой проблемы не было.

Если у кого также есть эта же проблема с apt, я написал workaround patch
для apt 0.5.4, который [apt, не патч] сейчас используется в woody, sarge и sid.
Его можно взять в аттаче. Патч накладывается на исходники, потом apt
пересобирается комадой

debuild binary

Кстати, не рутом его собрать мне почему-то не удалось (что с патчем, что без).
После долгой работы я получил ошибку

perl: error while loading shared libraries: libfakeroot.so.0: cannot open shared
 object file: No such file or directory

fakeroot стоит, файл /usr/lib/libfakeroot/libfakeroot.so.0 присутствует. Все
Build-depends стоят. Некоторые другие пакеты (gzip к примеру) у меня
собрались нормально. Я что-то все-таки не так сделал или это в пакете
apt баг?

Патч патчем, однако, такое временное и довольно кривое решение меня
не устраивает, и я намерен найти реальный источник бага (показа неправильного
времени). Я думаю, это или samba, или ядро. Для этого мне нужны добрые
советы и кое-какая статистика. Я знаю, этот мэйл-лист читают много админов,
у которых много машин. Поэтому я прошу всех, кому не трудно, помочь мне
набрать эту статистику и помочь локализовать баг.

Спасибо всем кто дочитал до этого места. Если кто-то хочет мне помочь,
пусть он сделает следующее:

1) Смонтирует какую-нибудь smb-расшарку с win98-машины. Например
в /smb/mountpoint.
2) Выполнит команду

ls -l --full-time /smb/mountpoint

3) Пришлет мне информацию: проявился ли баг, что за самба, что за ядро.
Можно присылать инфу лично, чтобы не засорять мэйл-лист. Результаты
я опубликую здесь.

Примеры: "время на каталогах текущее, самба 2.2.3 из woody, ядро 2.2.20 vanilla
из woody", "время на каталогах не текущее, самба 3.0alpha1 самосборная от
samba.org, ядро самосборное 2.4.19 от kernel.org с XFS-патчем".

Заранее большое спасибо всем за сотрудничество.

Attachment: apt-0.5.4-smb-cdrom-on-w98-mtime-bug-workaround-patch.diff
Description: Binary data


Reply to: