[Comm] rpm, apt, kernel-image
Алексей Синицын
asinitsinster на gmail.com
Вс Авг 15 10:50:15 UTC 2010
14 августа 2010 г. 22:55 пользователь Sergey Vlasov <vsu на altlinux.ru> написал:
>
> На самом деле это один и тот же пакет, просто в командной строке rpm в
> данном случае не обязательно указывать точную версию пакета (а в
> случае, если в rpm -q не указан номер версии, будут обработаны все
> установленные версии пакета).
>
>> Видимо всё же здесь присутствует какое то особенно сильное колдунство.
>
> Можно сказать и так; на самом деле на поведение apt в данном случае
> действуют опции, указанные в стандартном /etc/apt/apt.conf:
>
> RPM
> {
> Allow-Duplicated {
> // Old-style kernels.
> "^(NVIDIA_)?(kernel|alsa)[0-9]*(-adv|-linus)?($|-up|-smp|-secure|-custom|-enterprise|-BOOT|-tape|-aureal)";
> // New-style kernels.
> "^kernel-(image|modules)-.*";
> };
>
> Для пакетов, имя которых соответствует одному из регулярных выражений,
> перечисленных в опции RPM::Allow-Duplicated, apt разрешает
> одновременную установку нескольких версий одного и того же пакета.
> Однако все внутренности apt написаны в предположении, что каждый пакет
> установлен в системе не более чем в одном экземпляре, поэтому для
> пакетов из Allow-Duplicated на самом деле каждая версия пакета
> представляется для apt в виде отдельного пакета, имя которого
> образуется присоединением к собственно имени пакета его номера версии
> через '#'; при этом номер версии в некоторых случаях включает epoch
> ("1:" в приведённом случае). Этот синтаксис отличается от
> используемого в rpm (где номера версии и сборки могут присоединяться к
> имени пакета через '-'). А настоящее имя пакета в таком случае
> становится для apt именем виртуального пакета, предоставляемого всеми
> доступными версиями (именно поэтому команда apt-get remove
> kernel-image-std-def не вызвала бы удаление ядра - при попытке
> удаления виртуального пакета apt-get выдал бы список реальных пакетов,
> предоставляющих это имя).
>
Спасибо, теперь неясностей в этом месте кажется не осталось.
Может быть это стоит внести в какое нибудь место на вики?
Подробная информация о списке рассылки community