Ошибка создания репозитория пакетов: баг или не баг?

Аватар пользователя DRVTiny

Всё очень просто: мне нужно было создать общий репозиторий пакетов дистрибутива ASPLinux 11 в локальной сети, при этом единственным адекватным решением в данном случае было бы создание репозитория на первичном контроллере Windows-домена aka файловом сервере. Я переписал все пакеты ASP11 в один из каталогов этого сервера (Windows 2000) , подмонтировал его по Samb'е и попытался натравить на каталог утилиту createrepo, но не тут-то было: createrepo в силу каких-то совершенно загадочных обстоятельстов "увидела" в каталоге репозитория только 614 rpm-пакетов из 2294-х! Я уже как только не пытался решить эту проблему: обновлял yum, пытался запускать createrepo с 3-х разных компьютеров - ничего не помогает, при чём результат получается всегда одинаковый: createrepo читает заголовки ровно 614 пакетов и ни одним пакетом больше (кстати, перед каждым запуском createrepo я удалял оставшиеся от предыдущих попыток каталоги .repodata и repodata).
Я экспортировал с одной из Linux-машин по NFS каталог, в который также переписал все rpm-ки из дистрибутива ASP11 и - опять же, по сети, - запустил в этом каталоге createrepo. На этот раз утилита отработала без проблем и считала заголовки всех имеющихся в каталоге пакетов. Это, конечно, замечательно, но, откровенно говоря, перспектива создания ещё одного импровизированного сервера ради одного единственного репозитория меня как-то не прельщает...
В связи с этим мне интересно было бы узнать мнение компетентных коллег по след. вопросу: ошибка при работе createrepo с подмонтированным ресурсом Samba - это всё-таки баг (т.е. ошибка, требующая исправления) или вполне нормальное и закономерное поведение данной утилиты?

Аватар пользователя woodoo

Re: Ошибка создания репозитория пакетов: баг или не баг?

Изначально (со времен бет и релиза) так и сделано.
Только что проверил с обновленным yum - все нормально.

Аватар пользователя DRVTiny

Re: Ошибка создания репозитория пакетов: баг или не баг?

Цитата:
Изначально (со времен бет и релиза) так и сделано.

"Так" - это как? На расшаренных папках репозитории не создавались?
Хм... похоже, я что-то не то обновлял: createrepo, оказывается, не является частью YUM'а, а идёт в отдельном пакете
Но вообще я в любом случае изрядо ступил: можно было создать репозиторий локально и просто скопировать его на файл-сервер вместе с каталогом repodata. Извилина извилине фигу показала Улыбка

Аватар пользователя rjaan

Re: Ошибка создания репозитория пакетов: баг или не баг?

DRVTiny писал(а):
"Так" - это как? На расшаренных папках репозитории не создавались?

Может быть у Вас проблема с правами доступа к rpm-пакетам при запуске createrepo. Я понимаю, что он просто у Вас их не увидел, потому что не смог сделать операцию open или read.

Аватар пользователя DRVTiny

Re: Ошибка создания репозитория пакетов: баг или не баг?

Цитата:
Может быть у Вас проблема с правами доступа к rpm-пакетам при запуске createrepo. Я понимаю, что он просто у Вас их не увидел, потому что не смог сделать операцию open или read.

Нет, там нев этом проблема. createrepo считывает только первые 614 заголовков пакетов, а остальные rpm-ки просто игнорирует так, как будто их нет вовсе. Права доступа для всех пакетов абсолютно одинаковые (да и какими они могут быть в рамках одного единственного каталога).
Как я понял, баг такой у createrepo действительно был, но его устранили в обновлениях, что радует... Впрочем, на http://bugzilla.asplinux.ru я инкаких упоминаний об этом не нашёл... Возможно, асплинэтчики быстрее остаьлных выявили и устранили проблему.

Аватар пользователя woodoo

Re: Ошибка создания репозитория пакетов: баг или не баг?

У меня локально смонтированные iso-образы, т.е. вообще read-only.

Аватар пользователя DRVTiny

Re: Ошибка создания репозитория пакетов: баг или не баг?

Цитата:
У меня локально смонтированные iso-образы, т.е. вообще read-only

ISO-образы дистрибутивных дисков? Так ведь к ним же repodata не прилагается...
Но вообще идея правильная: с точки зрения безопасности репозиторий лучше и в самом деле монтировать read-only.

Аватар пользователя rjaan

Re: Ошибка создания репозитория пакетов: баг или не баг?

DRVTiny писал(а):
Так ведь к ним же repodata не прилагается...

Так repodata делает createrepo...

[root@home ~]#createrepo  rpmsheap 

Т.е. берется куча rpm-пакетов, объеденненые одной директорией rpmsheap, и натравливается на нее createrepo. После выполнения которой, внутри ейной директории, должена появится repodata. Так что без нее никуда...

Лучше брать DVD-носитель и писать на него, а еще желательно, чтоб он был перезаписываемым. Потому что репозитарии постоянно требуется обновлять.

Не знаю, какую версию YUM(Поражён Вы используете, но у меня нет ограничения по количеству rpm-пакетов в репозитарии.

RSS-материал