Новелла восемьдесят восьмая, интригующая дам и кавалеров пакетами nosrc

Да, в openSUSE, наряду со своеобычными для rpm based дистрибутивов архитектурно-зависимыми бинарными пакетами, пакетами noarch и src.rpm, существует ещё одна разновидность пакетов — nosrc, или исходники без исходников.

Правда, сфера применения пакетов этого типа ограничена: насколько я знаю, они имеются только для разновидностей ядра. Каковых в openSUSE в виде бинарных пакетов имеется несколько:

  • kernel-default — ядро, собранное с некими опциями по умолчанию;
  • kernel-desktop — ядро с планировщиком задач, ориентированным на максимальную отзывчивость пользовательских приложений;
  • kernel-pae — ядро, в 32-битной системе обеспечивающее доступ к памяти объёмом более 3,2 ГБ;
  • kernel-vanilla — «первозданное» ядро, лишённое дистрибутив-специфических особенностей;
  • kernel-debug — ядро, содержащее отладочную информацию, и ещё несколько вариантов.

Разумеется, в основе всех этих бинарных пакетов лежат одни и те же исходники с kernel.org. Они собраны в виде пакета src.rpm (например, для текущего релиза, 12.2 — kernel-source-3.4.6-2.10.1.src.rpm), содержащего компоненты, общие для всех вариантов. Различия между которыми заключаются в наборах специфических патчей и включении или выключении определённых опций ядра для сборки под ту или иную задачу, отражённые в конфигурационных файлах. Вот эти-то патчи и конфиги и составляют содержимое пакетов nosrc, имеющих вид, например,

  • kernel-default-3.4.6-2.10.1.nosrc.rpm — для умолчального ядра,
  • kernel-desktop-3.4.6-2.10.1.nosrc.rpm — для ядра «настольного»,
  • kernel-pae-3.4.6-2.10.1.nosrc.rpm — для ядра с поддержкой PAE,

и так далее.

Понятно, что ни один из этих пакетов собственно исходников не содержит (при сборке бинарного пакета для соответствующего варианта ядра они берутся из пакета kernel-source), чем и обусловлен суффикс noscr.

В заключение замечу между делом, что при всех настольных инсталляциях openSUSE по умолчанию образ ядра по умолчанию устанавливается не из пакета kernel-default, как можно было бы ожидать, а из пакета kernel-desktop. Знание этого факта нам понадобится в новелле о зависимостях.

Но сначала надо прояснить вопрос с библиотеками, упомянутыми между делом в Новелле восемьдесят третьей.


Назад | К содержанию | Вперёд