Feature request: бекап обновляемых пакетов перед установкой новых

Хотелось бы обсудить с форумчанами такую вот идею. Корни проблемы: не раз сталкивался с тем, что после обновления каких-то компонентов системы (обычно либ) система перестает выполнять возложенные на неё функции. Обычно это происходит после очередного запуска нужных приложений. Ну и нередко оказывается что в дереве портежей уже нет ебилдов для старой версии либы, поэтому начинается обновление других компонентов системы, которое в генту как правило занимает много времени.

Разумный человек, конечно же, сделал бы qpkg some-category/package перед обновлением, чтобы иметь возможность быстренько вернуть сделанные изменения. Но ведь не надо забывать про зависимости!
Так вот что я предлагаю. В emerge должен быть добавлен функционал создания архива измененных пакетов при обновлении оных. например,
emerge --update --do-backup[="some comment"] some-category/package
должен создать в /var/tmp/portage-backup/[yyyy-mm-dd-hh-mm | "some comment"] дерево бекапов всех обновляемых пакетов и записать куда-то какие пакеты были установлены. чтобы потом по этой информации можно было быстро откатить эти изменения

Например
emerge --restore
должен вывести список папок в /var/tmp/portage-backup/ и предложить указать один из них для восстановления предыдущего состояния системы (с указанием, что это может привести к неработоспособности, если были установлены еще какието пакеты. Ну а
emerge --restore=("yyyy-mm-dd-hh-mm | "some comment")
удалит все установленные пакеты с применением ключа --do-backup и восстановит из архивов то что было.

consider this

возможно идея неплоха, но уже

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

P.S. если честно, то у меня такие ситуации происходят ну оооочень редко...

да, ситуация не частая, но

да, ситуация не частая, но она бывает.
слепок портежей.. не шибко идеальный вариант получается. все равно затратится много времени чтобы компильнуть старые пакеты. смысл в том что в полностью рабочей системе нужно иметь возможность сделать обновление и иметь возможность простого отката этих изменений. Напирмер, обновил я самбу с 3.0.24 (или шото в этом роде) до 3.4.3, все стала нормально. Но клиенты после перезапуска самбы не могут подключаться к серверу. написано, что, клиенты должны "забыть" все об этом сервере чтоб смогли подключиться (например, ребут). дело было в час ночи, и у меня была возможность удаленно ребутнуть виндовс-сервер, который и должен иметь доступ к самбе, и остаться с новой версией самбы. А если бы я обновление делал в обеденный перерыв, сотрудникам пришлось бы ждать, пока я не соберу старую версию самбы (благо, из портежей еще не исчезла на тот момент). если бы была возможность емерджа с бекапом, на сервере только ею и пользовался бы, ибо труЪ.

а вообще, чтобы было истинно

а вообще, чтобы было истинно ТРУ, надо обновления проверять на отдельной тестовой машине ;) и только после разбора полетов переносить на рабочую ;)

Что-то наподобие этого? %eix

Что-то наподобие этого?

%eix demerge
* app-portage/demerge
     Available versions:  0.043 0.044 0.045 0.046 0.047
     Homepage:            http://download.mpsna.de/opensource/demerge/
     Description:         demerge - revert to previous installation states

Я Gentoo & Funtoo

мб. гляну, что это такое

мб. гляну, что это такое

нет, это не то. оно делает

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

quickpkg --include-config=y

  • quickpkg --include-config=y OLD_VERSION
    
  • emerge NEW_VERSION
    
  • Проверка работоспособности — не работает
  • emerge -C NEW_VERSION
    
  • emerge -k OLD_VERSION
    

Я Gentoo & Funtoo

во-во... и в скриптик

во-во... и в скриптик оформить ;)

вот именно. только про

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

пока в портежах такой

пока в портежах такой стандартной возможности нет, придется делать руками ;) либо, коли лень самому, взять специально обученого человека )))

Одного не понимаю...

make.conf:
FEATURES="... buildpkg ..." (для аскетов FEATURES="... buildsyspkg ...")

С добавлением в завершающий этап обновления eclean-pkg

Чем не устраивает?

:wq
--
Live free or die

а распостранённую ситуацию с

а распостранённую ситуацию с библиотеками решает portage который hard masked — он удаляет библы только если они никому не нужны.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".