Обновление сайта urpmi.mandriva.ru

Мы обновили сайт urpmi.mandriva.ru, добавив источники для версии Mandriva 2011 попутно сделав давно запланированный редизайн и обновив список российских зеркал.

Облегчаем себе жизнь при работе с urpmi и urpme

Обычно при установке или удалении программ через утилиты командной строки urpmi или urpme приходится постоянно переключаться на суперпользователя, вводя su, а потом забывать выйти и выполнять действия от него в домашнем катологе обычного пользователя, что блокирует последующую работу с измененными данными.

Чтобы это не происходило, можно сделать вызов пароля root при запуске urpmi или urpme. Для этого нужно от root ввести в терминале команды:

ln -s /usr/bin/consolehelper /usr/bin/urpmi
ln -s /etc/pam.d/mandriva-simple-auth /etc/pam.d/urpmi
ln -s /usr/bin/consolehelper /usr/bin/urpme
ln -s /etc/pam.d/mandriva-simple-auth /etc/pam.d/urpme

Точки восстановления при установке программ

Вспоминая время, когда мне приходилось восстанавливать дистрибутив после неудачно установленных программ, а это могло произойти по разным причинам, я подумал, а почему бы не смастерить «откат системы». Подумав еще немного об этом, решил написать скрипт на Python, как обертку к urpmi.

Скрипт — urpmi.rollback

Опишем сперва работу самого скрипта:
1. Скрипт это обертка к urpmi.
2. Для установки пакетов или обновлений используются команды inst, autoinst, update
3. Для «отката» используется команда back

При попытке установить пакет сперва проверяется его наличие, затем получаем список файлов, которые будут установлены, далее проверяется возможность установки, создается точка восстановления, а затем устанавливается требуемый пакет. При невозможности корректно установить пакет, скрипт автоматически производит «откат» изменений.

«Откат» происходит только последовательно, от последнего к первому.

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

В скрипте существует баг — при попытке установки пакета, который уже установлен, так же создается точка восстановления. Систему он не портит, но место на диске съедает.

Отзывы, замечания, предложения, и помощь прошу писать в комментариях.

Zeroconf - Анонсирование источников пакетов для urpmi

Начиная с релиза 2010.1 (п. 3.19.3 спецификации ) в Mandriva появилась возможность искать дистрибутив Mandriva в сети посредством Zeroconf (Avahi). Я намеренно пропустил слово «локальной», т.к. хоть zeroconf в основном используется для анонсирования сетевых служб в локальной сети, но по факту он может действовать и за пределами локальной сети, главное чтобы трафик данной службы не блокировался для выхода во внешний мир.

Что нужно для того чтобы анонсировать зеркало дистрибутива в сети? Это сделать довольно просто:



( Читать дальше )

Получение обновлений для рабочих мест в локальной сети

Когда у вас в сети имеется более чем одно рабочее место c установленным Mandriva Linux, возникает вопрос об доставке на них обновлений. Это можно сделать несколькими способами:

1. Настроить источники пакетов на каждом рабочем месте и проводить обновление децентрализовано;

2. Воспользоваться возможностью urpmi, а именно функцией parallel;

3. Воспользоваться возможностями FUSE посредством модуля LftpFS подключив FTP, HTTP, FISH, SFTP, HTTPS, FTPS ресурсы, как сетевой диск с возможностью кеширования и предоставить его в общее использование;

4. Организовать централизованное получение необходимых пакетов на сервере для последующего предоставления их рабочим местам.

Рассмотрим положительные и отрицательные стороны перечисленных пунктов:

1. В случае подключения внешних источников каждое рабочее место должно иметь выход в Интернет, общий объем получаемых данных из Интернет для обновления будет суммарно равен объему полученных пакетов для каждого рабочего места. Этот способ не критичен, если Интернет предоставляется по безлимитным тарифам и если канал доступа к Интернет достаточно широкий, чтобы не нагружать каналы связи при получении обновлений.

2. В случае использования функционала parallel появляется возможность производить обновление и установку пакетов на рабочие места в сети централизованно с сервера. Но при этом обновление рабочих мест происходит из источников, подключенных на рабочем месте, с которого производится обновление.

3. В случае использования модуля LftpFS для FUSE можно подключить удаленный источник пакетов и предоставить доступ на него рабочим местам в локальной сети. При настройке кеша, скачиваемые пакеты будут кешироваться в указанной директории и повторно скачены не будут, за исключением случаев, когда срок действия кеша истекает. Стабильность данного решения не гарантируется.

4. Данный способ позволит загружать требуемые пакеты для всех рабочих мест в локальной сети, которые в последующем будут установлены на требуемые рабочие места. В этом способе предусмотрена настройка как рабочего места для загрузки на сервер базы данных установленных пакетов, так и сервера для получения требуемых пакетов и предоставления доступа к ним рабочим местам в локальной сети.

В данной статье будет рассмотрен четвертый вариант более подробно.


( Читать дальше )
Блоги, urpmi