Участие в Cooker
Материал из Mandriva Russian Community Wiki
Текущее состояние: в процессе разработки.
Mandriva Linux 2009.0 — текущий стабильный релиз Mandriva Linux. Cooker-версия находится в активной разработке для следующего релиза Mandriva Linux.
Вступление
Один из самых слабых моментов в разработке Mandriva Linux — нехватка пользователей, вовлечённых в процесс бета-тестирования и отладки нового релиза. После продолжительных дискуссий на эту тему в списке рассылки Cooker быстро пришли к выводу: сообщество Mandriva не понимает, как работает проект Cooker. Дело в том, что время тестирования бета-релиза Mandriva составляет почти три месяца, но большинство пользователей предпочитают не вмешиваться в его разработку до его завершения, поэтому у них складывается впечатление, что время тестирования слишком мало.
Целью данного документа является предоставить заинтересованным пользователям требуемую информацию для вовлечения в процесс тестирования следующего по графику релиза. Это позволит наладить обратную связь между пользователями и разработчиками Mandriva.
Пользователи часто устанавливают второй релиз-кандидат, а затем отправляют сообщения в список рассылки Cooker или в Bugzilla с просьбами (а порой и с требованиями) добавить дополнительные возможности к текущему разрабатываемому релизу. К сожалению, к этому времени уже поздно добавлять дополнительные возможности или новое программное обеспечение. Если вас это заинтересовало, то представленная в этом документе информация будет очень полезна.
Что такое Cooker
Разрабатываемая версия следующего релиза Mandriva Linux называется Cooker. Цель Cooker — улучшить дистрибутив Mandriva Linux путём тесного взаимодействия между пользователями и разработчиками во время отладки, оттестировать и добавить новые возможности.
Будьте внимательны: термин Cooker используется равнозначно как для списка рассылки Cooker (напр.: «обсуждать в Cooker»), так и для дистрибутива Cooker (напр.: «запустить Cooker»), и для RPM-репозитория (напр.: «это пакет в Cooker»).
Чем Cooker не является
Cooker — это не хранилище последних версий программ. Не пытайтесь установить пакеты из Cooker в стабильный релиз. Они несовместимы с пакетами стабильных релизов, так как они собираются с библиотеками, которых может не быть в используемом вами стабильном релизе. Будучи несовместимыми, они могут вызывать серьёзные ошибки из-за проблем со сборкой пакетов или самих приложений.
Как принять участие
Существует множество способов участия в проекте Cooker. Наиболее распространённый способ — установка одного из ISO-релизов в период бета-тестирования. Также вы можете предоставлять собранные пакеты программ, переводы на ваш язык (смотрите страницу перевод) и различные идеи.
Вы можете подписаться на список рассылки обсуждения Cooker, список рассылки изменений или на любой другой список рассылки, связанный с определённой разработкой или темой (напр. AMD64, i18n, сервер и т. д.).
Чего ожидать от Cooker
Прежде всего, нужно помнить о том, что Cooker является разрабатываемым дистрибутивом, который не очень хорошо протестирован и, как следствие, часто будет работать некорректно. При его использовании можно потерять данные, настройки и т. д. Он не предназначен для повседневного использования. Кто предупреждён, тот вооружён.
!! Типичный пример, при котором обновление до Cooker приводит к потере настроек — обновление ядра. При подобных обновлениях требуется пересобрать драйвера сторонних производителей. Большинство сообщений об ошибках INVALID(НЕИСПРАВНО) поступают о видеокартах (чаще всего о NVIDIA). Поскольку версия ядра растёт, быстро меняется интерфейс, это в большинстве случаев вызывает проблемы при пересборке старых драйверов. Так как мы находимся в постоянной разработке, то вам необходимо попросить разработчиков сторонних производителей предоставить необходимые исправления для драйверов.
Запуск Cooker интересен хотя бы потому, что вы получаете возможность первыми увидеть новые возможности, включённые в дистрибутив. Предоставляя информацию о запуске Cooker в список рассылки или в сообщениях об ошибках, вы оказываете влияние на разработку следующего релиза Mandriva Linux.
Установка Cooker
Первый шаг к участию в проекте Cooker — его установка. Как и в случае с любым другим дистрибутивом GNU/Linux, существует множество способов установки. Можно даже выполнить установку на виртуальную машину.
С общедоступных зеркал через FTP
Запишите на диск образ загрузочного диска boot.iso, который можно найти на любом из общедоступных зеркал проекта Cooker. Образ находится в каталоге cooker/i586/install/images/ devel-ветки зеркала.
Установка с использованием ISO-релиза
ISO-релиз (образ диска проекта Cooker может быть записан на диск) — это снимок проекта Cooker, который создаётся за три месяца до того, как Cooker расценивается как стабильный релиз и превращается в новый релиз. Первый релиз обычно называется Cooker-снимком. За Cooker-снимком каждые две недели или чаще создаются новые ISO-образы релиза для его тестирования вплоть до выхода финального релиза. Ближайший релиз Mandriva Linux может быть найден здесь.
Множество людей предпочитают устанавливать и тестировать ISO-релизы, как только они выходят. Если вы тестируете ISO-релиз, убедитесь ,что вы используете последнюю его версию.
Кроме того, не исключено, что при необходимости будут выпущены дополнительные релиз-кандидаты, прежде чем релиз будет считаться стабильным. У версий 9.1 и 9.2 выходило 2 по релиз-кандидата, тогда как у версии 9.0 — 3.
На большинстве зеркал Mandriva Linux ISO-образ расположен в каталоге iso. Также можно воспользоваться программой BitTorrent либо иными одноранговыми сетями. Периодически проверяйте на заглавной странице наличие ссылок на официальный BitTorrent-файл, а также инструкций к нему. При возникновении каких-либо трудностей с BitTorrent, обратитесь к странице Bittorrent. Вопросы и ответы веб-сайта Клуба Mandriva.
Актуализация состояния ISO-образа без необходимости его повторной загрузки
Во время тестирования ISO-релиза, к сожалению, возникает необходимость загрузки нового файл-образа каждые две недели. Это приводит к высокому расходу трафика и отстраняет от тестирования пользователей модемного соединения. Для снижения потребляемого трафика при загрузке образа можно сихронизировать файл-образ по протоколу rsync.
Статья по его использованию будет включена позже, но ознакомиться с ней можно уже сейчас: использование rsync для обновления ISO-образов Mandriva Linux.
Использование локальных зеркал
При наличии около 6 - 20 ГБ свободного дискового пространства наиболее быстрым и лёгким способом установки является установка с зеркала, расположенного на вашем жёстком диске или на локальном сервере. Имеется несколько сценариев, позволяющие создать ISO-образ, который в последствии можно записать на диск. Для создания локального зеркала и поддержания его в актуальном состоянии используются программы fmirror и rsync.
Добавьте сюда информацию по использованию fmirror и rsync.
Установка Cooker-утилиты rpmsync :
# urpmi rpmsync
Использование bash-оберетки для rsync i586.sh:
Скачайте в свой домашний каталог скрипт i586 . Поместите скаченный файл в каталог bin своего домашнего каталога и установите бит исполнения файла. После чего вы можете произвести синхронизацию Cooker репозитория на свой жёсткий диск:
i586 -r cooker
При выполнении данной команды, скрипт попытается скачать дистрибутив Cooker в каталог mirror вашего домашнего каталога. По-умолчанию скрипт скачивает пакеты включая отладочные пакеты. Для получения списка параметров скрипта используйте параметр --help.
Будьте бдительны скачивая и запуская файлы, размещенные в интернете. Прежде чем запускать какие-либо скрипты, проверяйте их содержимое, чтобы исключить повреждение или порчу ваших личных данных.
Использование gendistrib
В случае локального зеркала иногда возникает необходимость подправлять файлы hdlists. Для этого можно воспользоваться специальным сценарием gendistrib перед тем, как обновить urpmi-источники. Чтобы запустить сценарий, необходимы права записи в каталог, в которой расположен дистрибутив. Перейдите в корень дерева дистрибутива и выполните команду:
$ gendistrib --distrib
Использование NFS в локальной сети
Используйте образ network.img для создания загрузочной дискеты, при установке выберите метод установки NFS вместо FTP.
Установка с жёсткого диска (из локального зеркала)
Если локальное зеркало находится на одном из разделов жёсткого диска, воспользуйтесь образом загрузочной дискеты hd_grub.img. Создайте загрузочную дискету, образ обычно расположен в каталоге install/images зеркала. Далее, следуя инструкции создайте меню GruB.
С жёсткого диска или сети при отсутствии гибкого диска или компакт-диска
Некоторые современные компьютеры не имеют приводов магнитных и оптических дисков. Но мы нашли решение и для них.
Скопируйте необходимые файлы из каталога isolinux в /boot/:
$ cd /путь/до/зеркала/isolinux/alt0/ $ cp vmlinuz /boot/vmlinuz-all $ cp all.rdz /boot
Если вы используете LILO, сделайте изменения в файле /etc/lilo.conf; если GruB — /boot/grub/menu.lst.
Пример требуемых пунктов загрузочного меню для LILO:
image=/boot/vmlinuz-all
label=all-install
root=/dev/ram3
initrd=/boot/all.rdz
append="ramdisk_size=32000"
vga=791
read-only
Возможно, потребуется изменить параметр ramdisk_size для установки с жёсткого диска. Мне потребовалось присвоить этому параметру значение 700000, чтобы быть уверенным, что всё сработает.
Всегда, после того как вносятся изменения в файл /etc/lilo.conf, необходимо выполнять команду /sbin/lilo, чтобы изменения вступили в силу.
Пример требуемых пунктов загрузочного меню для GruB:
title all-install
kernel (hd0,0)/boot/vmlinuz-all root=/dev/ram3 ramdisk_size=32000 vga=791
initrd (hd0,0)/boot/all.rdz
Установка с жёсткого диска (используя ISO-образ)
При установки с жёсткого диска можно использовать ISO-образ на вашем локальном диске (положите все ISO-образы требуемый каталог). Существует несколько способов, как можно использовать ISO-образ:
- можно взять файл install/images/boot.iso с зеркала, записать его на диск и выполнить с него загрузку;
- можно скопировать каталог install/isolinux/ с зеркала на жёсткий диск, затем, следуя инструкции, создать загрузочный диск GrUB (смотрите установка с жёсткого диска);
- если система Linux уже установлена, можно добавить в меню загрузчика пункт загрузки установки.
Для того, чтобы присоединить ISO-образ к каталогу, от имени пользователя root выполните примерно такую команду:
$ mount -t iso9660 mandrakelinux-10.0-CD1.i586.iso /mnt/iso/ -o loop
(смотрите с жёсткого диска или сети при отсутствии гибкого диска или компакт-диска).
Когда установка будет запущена, от укажите на каком диске, разделе и в каталоге расположен ISO-образ. Если в указанном каталоге будет несколько загрузочных образов, программа установки предложит выбрать один из них.
Создание диска посредством mkcd
mkcd — программа Mandriva для создания дисков с дистрибутивом. Для создания ISO-файла, выполните команду: mkcd -a /путь_к_Cooker/. Локальное зеркало Cooker облегчит создание своих дисков дистрибутива.
Дополнительно посмотрите: [[использование mkcd]].
Если на загрузочных дискетах нет нужного драйвера
Две основные проблемы: во-первых, если у вас старый адаптер SCSI, скорее всего драйвер на загрузочном диске будет отсутствовать, поэтому, если вы не можете загрузиться с CDROM (старые SCSI не поддерживают загрузку) - вы в ловушке; во-вторых, если вам нужны драйвера от производителя для SCSI или сетевой карты (к примеру nvnet.so). Проблема решается следующим образом:
- создайте обычную загрузочную дискету (cdrom.img, если подразумевается установка с компакт-диска, network.img — установка по сети, и т. д.);
- создайте дискету с файловой системой ext2:
# mke2fs /dev/fd0
- найдите нужный драйвер и скопируйте его (несжатый) на дискету с файловой системой ext2 с помощью следующей команды (измените эту команду согласно драйверу):
$ zcat /lib/modules/<kernel-version>BOOT/kernel/3rdparty/dc395x_trm/dc395x_trm.o.gz \ > /mnt/floppy/dc395x_trm.o
- затем скопируйте (несжатые) зависимости для этого модуля (например, scsi_mod.o; могут быть и другие, проверьте их в файле modules.dep);
- загрузитесь традиционным способом с загрузочной дискетыЮ нажмите клавишу F1, а затем наберите 'linux expert', это позволит вам позднее вставить другую дискету и загрузить необходимые модули с неё в порядке зависимости(первым scsi_mod.o, и т.д.)
Через ключ USB
Начиная с 27/01/2005 (отсутствует в 10.2 beta2), имеется новый образ для загрузки с ключа usb.
Запишите Файл-образ all.img файловой системы FAT16 программой dd на раздел usb ключа (на большинстве USB ключей - раздел sda1), но с некоторыми оговорками:
- кажется некторые БИОСы не используют главный загрузочный сектор (MBR) расположенный в sda или пропускают его, когда он пустой
$ dd if=/dev/zero of=/dev/sda bs=1 count=446
- некоторый БИОСы нуждаются в следующих манипуляциях - установить пакет extipl и выполнить следующее:
$ dd if=/usr/lib/extipl/aldebaran.bin of=/dev/sda
Через PXE загрузку
Это наверное, самый простой способ для администратора. Для использования данного метода, вам необходимо иметь сетевую карту с поддержкой PXE загрузки (PXE1.5 или выше). Установите сервер PXE (в mandriva есть нужные пакеты), перед установкой сделайте резервную копию файла dhcp.conf. В файл pxelinux.cfg/default добавте следующие строки:
label 10-1-OE
KERNEL vmlinuz
APPEND initrd=all.rdz ramdisk_size=128000 acpi=ht vga=788
Затем добавте файлы vmlinuz and all.rdz на ваш tftp сервер
Посредством urpmi
Наверно это единственный метод, который позволяет избежать перезагрузки, прекращение просмотра телевизора, прослушивание музыки и других полезных занятий.
Сперва вам необходимо добавить дополнительные источники пакетов относящиеся к Cooker дистрибутиву при помощи urpmi :
# urpmi.removemedia -a
Зайдите на http://easyurpmi.zarb.org, выберите дистрибутив Cooker, и проследуйте дальнейшим шагам, после чего скопируйте и вставьте предложенные строки в вашу консоль, открытую от имени пользователя root.
Далее вы можете установить дистрибутив Cooker :
# mount --bind /proc /mnt/ваш_новый_root_раздел/proc # urpmi --root=/mnt/ваш_новый_root_раздел basesystem locales-XX urpmi kernel # urpmi --root=/mnt/ваш_новый_root_раздел all_package_you_want # chroot /mnt/ваш_новый_root_раздел [скопируйте и вставьте здесь строки добавления источников Cooker urpmi.addmedia] # exit
Настройка нового дистрибутива (не забудьте отредактировать файл Cooker дистрибутива /etc/fstab указав правильные раздел подкачки swap и точку монтирования раздела / соответствующий /mnt/ваш_новый_root_раздел):
# cp /etc/fstab /mnt/ваш_новый_root_раздел/etc/
Добавьте ядро в загрузчик lilo вашего используемого дистрибутива :
# cp /mnt/ваш_новый_root_раздел/boot/vmlinuz /boot/vmlinuz-cooker # cp /mnt/ваш_новый_root_раздел/boot/initrd.img /boot/initrd-cooker.img
Если файла /mnt/ваш_новый_root_раздел/boot/initrd.img не существует просто следуйте следующим шагам. Если вам необходимы дополнительные модули для доступа к жесткому диску добавьте параметр --preload имя_модуля к команде mkinitrd.
# chroot /mnt/ваш_новый_root_раздел # KVERSION=$(ls /boot/vmlinuz-* | cut -c 15- | head -n 1); mkinitrd /boot/initrd-$KVERSION.img $KVERSION # exit # cp /mnt/ваш_новый_root_раздел/boot/initrd.img /boot/initrd-cooker.img
Затем добавьте следующие строки в ваш конфигурационный файл lilo.conf :
image=/boot/vmlinuz-cooker label="linux-cooker" root=/dev/ваш_новый_root_раздел initrd=/boot/initrd-cooker.img append="PROFILE=default"
Выполните lilo, чтобы сохранить настройки :
# lilo
Теперь вы можете загрузиться в ваш Cooker дистрибутив.
Перед перезагрузкой в Cooker дистрибутив не забудьте установить дополнительные пакеты, которые могут потребуются для выхода в интернет(например: ppp-pppoe и rp-pppoe), xorg и другие.
Поддержание установленного Cooker в актуальном состоянии
URPMI — ваш помощник
Определение источника Cooker
Одним из наиболее полезных инструментов разработанных Mandriva Linux - скрипт easy urpmi, написанный Oliver Thauvin. Скрипт можно получить здесь.
Также можно использовать графический интерфейс (GUI), называющийся urpmi.setup. Установите пакет urpmi.setup и запустите его. urpmi.setup сделает запрос на получение списка зеркал, после чего вам будет позволено включить их в urpmi. В целях экономии трафика, используйте зеркала со включённым rsync (их URL начинается с rsync://).
Если вы знаете зеркало, которого нет в списке скрипта easyurpmi, или если у вас есть локальное зеркало, вы можете сами набрать команду в командной строке используя следующий синтакс:
# urpmi.addmedia <name> <source>
После того, как вы настроили urpmi на работу с источниками, вы можете получить списки пакетов для отдельных репозиториев, обновляемых с помощью команды urpmi.update. Это оказывается полезным для стабильных релизов. Попробуйте ввести:
# urpmi.update <repository name>
С Cooker-системой всё ещё проще. Репозитории обновляются ежедневно. Списоки пакетов репозиториев можно обновить, выполнив команду urpmi.update с ключом -a. Это обновит все источники пакетов.
# urpmi.update -a
Это приведёт к обновлению файлов настроек urpmi путём обновления файлов hdlist.cz, которые загружаются с зеркал. Если вы не выполните это действие, urpmi ничего не будет знать об изменившихся пакетах, находящихся на зеркалах, и возможно вы будете получать сообщение об ошибке похожее на "всё уже установлено" даже если вы знаете, что на зеркалах произошло много изменений.
После того, как вы обновили источники, выполните команду:
# urpmi --auto-select
чтобы обновить все установленные пакеты.
Для совмещения обновления списка пакетов репозитория и установкой доступных обновленных версий можно воспользоваться специальным параметром:
# urpmi --auto-update
Посути, urpmi проверяет все установленные у вас пакеты и определяет имееются ли новые версии пакетов в одном из источников репозитория. Если новая версия существует, он будет установлен со всеми существующими зависимостями.
Начиная с версии 4.4, urpmi поддерживает транзакции. Это значит что пакеты скачиваются и устанавливаются малыми связанными группами а не все сразу. Вам больше не придется прибегать к разным ухрищрениям в случае маленького объема /var раздела. Также, начиная с версии 4.4-41mdk, urpmi обновляется сперва себя и перезапускается до обновления всех остальных пакетов.
Таже мы можете использовать параметры --auto и --no-uninstall (от версии 4.3-13mdk и выше) для полного автоматичегого обновления. При этом удалятся ничего не будет и на все вопросы будут применятся отпимальные ответы по-умолчанию.
Пакет содержащий исходные коды ядра (kernel-source) будет обновлятся автоматически, но для обновления самого ядра вам необходимо выполнить:
# urpmi kernel
Это необходимо потому, что имя ядра уникально и чтобы предыдущее ядро не удалялось при обновления на новое.
Последним шагомявляется обновление конфигурации. В течении обновления могут создаться несколько * .rpmnew файлов (обычно вас об этом предупреждают, но эти предупреждение легко пропустить). Эти файлы помогут вам обновить ваши конфигурационные файлы.
Образцовое сообщение об ошибке
Если вы думаете, что нашли ошибку (bug), необходимо выполнить ряд действий перед тем, как занести отчёт в базу данных Bugzilla.
Во-первых, удостоверьтесь в том, что версия пакета соответствует версии этого пакета в Cooker. Это позволит определить была ли исправлена ошибка. Изменения в Cooker происходят ежедневно, таким образом, если вы думаете что обнаружили ошибку в версии beta2 и с момента релиза прошла уже неделя, то велики шансы, что пакет обновлялся уже несколько раз за это время, начиная с момента выпуска ISO-релиза. The easiest way to update to the latest packages is to make sure you have your urpmi sources set up properly and and either urpmi packagename, or make sure the entire system is current with urpmi --auto-select. Подробные инструкции о том, как это сделать, содержатся в вышестоящих разделах.
Во-вторых, убедитесь, что ошибка является воспроизводимой. Разработчики часто отклоняют невоспроизводимые ошибки, считая их ошибками, возникающими по причине некорректных действий самих пользователей, или списывают ошибки на проблемы в настройках системы. Поэтому, если у вас есть возможность проверить возникновение ошибки на другом компьютере, информация об этом оказалась бы чрезвычайно полезной, будучи включённой в отчёт об ошибке.
В-третьих, выполните поиск в архиве списка рассылки Cooker и в системе Bugzilla, чтобы убедиться в том, что об ошибке ещё никто не сообщал. Если же сообщение уже существует, его можно дополнить более подробной информацией. Помните, что в дублировании сообщений об ошибках и занесении их в базу нет никакого смысла.
Что касается назначения списка рассылки Cooker и Bugzilla: список рассылки используется для выяснения, является ли нечто ошибкой или нет; Bugzilla используется для сообщений об ошибках.
Этикет хорошего отчёта об ошибке требует точности в сообщении об ошибке. Сообщение «Пакет X — повреждён!» без ясного описания — пример неудачного отчёта. Предоставьте название повреждённого пакета, краткое описание проблемы, небольшое описание аппаратного обеспечения и всё, что необходимо знать разработчику, чтобы он смог воспроизвести у себя вашу ошибку. Также предоставляйте любую информацию, которая, как вам кажется, является полезной, включая конфигурационные файлы пакета.
Как пользоваться Bugzilla
Обратитесь к странице Bugzilla Howto.
Список рассылки Cooker
Этот список является местом обсуждения результатов тестирования и выяснения того, является ли что-то ошибкой или нет. Сообщения об ошибках попадают в Bugzilla.
Так как список рассылки очень активен (особенно в последние дни цикла разработки, когда количество сообщений превышает 1.000 в день), очень важно как и когда вы отправите сообщение в список. Для того, чтобы не захламлять список, воспользуйтесь поиском перед отправкой. Возможно, кто-то уже сообщал в список о том, о чём хотите сообщить вы. Чтобы вероятность прочтения вашего сообщения была максимальной, возьмите за правило минимального обращения в список. Обращайтесь в только случае действительной на то необходимости, воздерживайтесь от пустой болтовни и публикации сообщений, не относящихся к теме дискуссий.
Для получения более подробной информации обратитесь к Development Mailinglists.
Предложение патчей
Если вы написали патч, исправляющий ошибку в программе, разрабатываемой Mandriva, отправьте патч в список рассылки Cooker и разработчику, сопровождающему этот пакет.
Если же вы написали патч для сторонней программы, включённой в Mandriva Linux, отправьте патч сопровождающему пакета и предложите патч в upstream проекта. Сборщики пакетов Mandriva часто накладывают патчи на код, чтобы исправить критические ошибки, но не для всех программных проектов у разработчиков Mandriva есть возможность работать напрямую с системой контроля версий (CVS) этих проектов, поэтому предоставление патча разработчикам Mandriva не может гарантировать его попадание в исходный код проекта.
Glossary of Terms
- Alpha Release — Also referred to as a cooker snapshot. It is probably broken and most likely quite badly but would really like you to test it as an assembly (distinct from testing the parts). The developers are still willing to make significant changes (bumping versions etc) to make everything work well, so now is the time to squawk loudly if your pet package or feature looks like being left out.
- Beta Release — a beta is an ISO release of Cooker that is meant to test the functionality that has been or is being added to various components of the distribution. It’s probably got some serious bugs, so you don’t want to use it in production but please feel free to use it for light duties. At this point, the package maintainers are generally unwilling to nudge package versions but will do so to fix problems. Minor problems that a lot of effort to be fixed and/or may upset other things in the fixing are now at risk of being left as they are.
- Release Candidate — a release candidate, or RC, is an ISO release of the distribution that is released for the purpose of finding show-stopper bugs in the features and packages that have been included. During the release candidate phase, no new packages or features may be added, but bug fixes may be committed if they are major. Please subject it to very heavy testing. If it works well, it will be blessed and submitted to the publisher for manufacturing the boxed sets and the iso images and distribution tree will posted to the mirrors for immediate download. The package maintainers won’t nudge versions at all except as necessary to fix a showstopper. We won’t fix anything if it’s much less than a showstopper or security update unless it’s dead easy and carries no risk of breaking anything else. It is useless to make a feature request at this time as *no new features can be added.*
- Contrib — packages that are not part of the main distro, but that are important because someone has packaged them and contributed them.
- Freeze — no feature adds can be made to any mandriva software and no updates can be made to packages except for major bugfixes.
- Deep Freeze — Only showstopper bugfixes and security flaws can be upgraded.

