LINUX.ORG.RU

Как происходит обновление пакета, если нужно обновить на несколько версий вперед?

 


0

2

Например, есть у меня Firefox 10 версии. И вот спустя некоторое время я решил обновиться, а актуальная версия — 47. Каким образом будет происходить процесс обновления?

Я вижу несколько вариантов, и каждый из них имеет свои проблемы:

  • Произойдет загрузка всех обновлений до 47 версии. Т.е. сперва до 11 версии, потом до 12 и т.д.
    • Слишком много придется загружать и устанавливать.
  • Существуют какие-то комбинированные пакеты обновлений типа «обновить с N1 версии до N2»: «с 11 до 47»; «с 10 до 47»
    • Очень много места займет на серверах, особенно если тяжеловесный пакет.
  • Удаление моего Firefox 10, пользовательские данные и конфиги оставить, и установить актуальную 47 версию.
    • Тогда придется определить зону конфигов и пользовательских данных. А если с обновлением версии пользовательские данные и конфиги будут вообще в другой директории?

      Чтобы решить эту проблему, нужна отдельная БД для конфигов, пользовательских данных, где будет указано в какой версии какой конфиг где находится, или более подробно(на уровне строк). А потом производить последовательную(как в 1 варианте) обработку или же комбинированную(как во 2).

Наиболее адекватным мне кажется 3 вариант, но как на самом деле все обстоит?


Третий вариант, а миграция конфигов в хомяке на совести разработчиков конкретной программы, в фф/хромом есть, в остальном софте тупо нет.

anonymous ()
Ответ на: комментарий от anonymous

а миграция конфигов в хомяке на совести разработчиков конкретной программы

То есть миграция конфигов — забота самой программы, конфиги от которой планируется передвигать, и пакетный менеджер к этому не имеет отношения? Ясно, спасибо.

А вот еще что хочу узнать: в пакете где-то же прописано для пакетного менеджера, в каком месте находятся конфиги? Чтобы он во время обновления не сбрасывал все это.

letni ()
Ответ на: комментарий от letni

Системные коняиги в /etc, пользовательские в /home. За системными пакетный менеджер может следить, например отредактированные не перезаписывать, а рядом класть переименованную обновлённую версию.

anonymous ()

Ты не указал ОС. Но вообще, конечно, 3 вариант.

Тогда придется определить зону конфигов и пользовательских данных.

Для этого и нужны всякие deb и rpm

Чтобы решить эту проблему, нужна отдельная БД для конфигов, пользовательских данных, где будет указано в какой версии какой конфиг где находится

Вот ты затейник

# ls ~/.ufoai/
2.5  2.6-dev
legolegs ★★★★★ ()

С точки зрения пакетного менеджера, конкретно у файрфокса настроек-то и нет. Только бинарник в /usr/bin, иконки и прочие ресурсы в /usr/share и, наверное, всё. Поэтому ПМ просто удаляет старые файлы и кладёт новые. Можешь попробовать открыть какой-нибудь deb архиватором, многое станет понятно с первого взгляда.

greatperson ()
Ответ на: комментарий от greatperson

Так ведь у deb есть функция очистки конфигов в home. Ей редко пользуются, но тем не менее.

legolegs ★★★★★ ()
Ответ на: комментарий от letni

А вот еще что хочу узнать: в пакете где-то же прописано для пакетного менеджера, в каком месте находятся конфиги? Чтобы он во время обновления не сбрасывал все это.

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

а можно вообще поставить игнор на обновление определенного конфига, тогда менеджер ПО его не будет трогать и оставит как есть, даже если там обновление приедет.

man dpkg-divert

n_play ()
Ответ на: комментарий от legolegs

Да ну? Это ты, наверное, про конфиги в /etc, общесистемные. Скажем, при удалении пакета nginx можно очистить /etc/nginx. Или при обновлении grub смёржить новую версию конфигов с твоей, изменённой. Но я не слышал чтобы он лазил в домашнюю папку к каждому пользователю.

Это не означает, что это невозможно замутить. Очень даже возможно, ведь при установке deb можно запустить произвольный скрипт от имени рута (при установке того же grub такой скрипт делает update-grub), но я опять же не видел, чтобы кто-то таким промышлял. Мне кажется, править конфиги в /home всё же принято уже потом, в рантайме от имени данного пользователя.

greatperson ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.