Я работаю непосредственно в виртуальной машине Ubuntu (VM). Некоторые обновления (например, ядро) были доступны в диспетчере обновлений.
Если бы я не использовал виртуальную машину, я бы не обновлял ее, поскольку есть риск что-то сломать. Поскольку это виртуальная машина, вы можете создать снимок или экспортировать устройство и восстановить его, если что-то пойдет не так.
Предположим, я не использую виртуальную машину с установкой Debian / Ubuntu. Существует ли подход установки-восстановления, который не зависит от конфигурации виртуальной машины, чтобы восстановить вашу систему точно перед обновлением (как «точка восстановления» в Windows), и его легко восстановить как устройство виртуальной машины?
(Я не ищу «изображения-призраки» или что-то в этом роде (Norton Ghost, Clonezilla и т. Д.), Я ищу что-то встроенное в систему Linux)
источник
Ответы:
В любом известном мне дистрибутиве Linux нет подобной функции. Есть несколько причин, почему это было бы намного менее полезно, чем для Windows.
Прежде всего, дистрибутивы Linux гораздо серьезнее, чем Microsoft, в том, что стабильные выпуски обновляются только для исправления важных ошибок и с минимальными изменениями. Например, в Ubuntu и Debian вы можете получать только обновления безопасности (
-security
) или только обновления безопасности и важные исправления ошибок (-updates
).Обновления ядра являются наиболее рискованными из-за вероятности того, что, казалось бы, полезные изменения вызовут проблемы в конкретной конфигурации оборудования. Вот почему большинство дистрибутивов позволяют устанавливать более одной версии ядра одновременно; например, на момент написания этой статьи в Ubuntu 10.04 было доступно три версии ядра:
2.6.32.21.22
от исходного выпуска,2.6.32.22.23
с обновлениями безопасности, а также2.6.32.23.24
с обновлениями, не связанными с безопасностью. Если выпуск ... 24 вызывает проблемы на вашем компьютере, вы можете перезагрузиться в ... 23 (и даже пометить ... 24 как запрещенную установку, по крайней мере, если вы используете aptitude).Реестра нет: все данные конфигурации находятся в файлах (в
/etc
иерархии), которые можно легко восстановить по отдельности, если что-то пойдет не так. Даже тогда обновления до стабильного выпуска редко влияют на файлы в/etc
.Если вы устанавливаете пакеты из какого-либо другого источника, кроме стабильного выпуска, вам может потребоваться сохранить копии более старых версий пакетов и сохранить резервные копии ваших файлов конфигурации. Вот несколько советов по этому поводу в Debian и Ubuntu.
/var/cache/apt/archives
. Если у вас есть место на диске, просто не удаляйте старые файлы пакета, пока не убедитесь, что новая версия работает для вас./etc
: установитьetckeeper
пакет и активировать его с помощью командыetckeeper init
. (Я делаю это, но не потому, что меня беспокоит, что обновления что-то сломают, а потому, что я волнуюсь, что мои изменения что-то сломали.)источник
В этом нет необходимости, поскольку менеджер пакетов заботится о том, какой файл и из какого пакета, а также может откатить обновление или установку пакета.
источник
Вы можете попробовать использовать такой инструмент, как etckeeper . Этот инструмент просто хранит общесистемные файлы конфигурации в репозитории управления версиями и упрощает откат и повторное применение любых изменений.
Но, честно говоря, мне никогда не нужно было откатывать какие-либо изменения, которые произошли от обновлений в моих системах Debian / стабильной. Я использую это, чтобы исправить ошибки, которые я сделал вручную.
источник
sudo hg serve -R /etc
TMK, функция восстановления Windows только отменяет изменения в реестре и некоторых критических каталогах. Linux не имеет этого.
Вы можете попробовать ручной подход с резервными копиями. Просто сделайте резервную копию вашего домашнего каталога и списка программ из Synaptic и используйте его в качестве точки восстановления.
источник
Обратите внимание, что Ubuntu, в частности (но, вероятно, и Debian), не удалит старые пакеты ядра при установке обновлений, и вы можете настроить загрузчик так, чтобы при загрузке он отображал список ядер, которые можно выбрать.
Это автоматически создает «точки восстановления» - только для ядра - потому что вы можете выбрать предыдущую версию, если более новая вызывает проблемы. Насколько я знаю, Windows не имеет ничего подобного для своих обновлений ядра. (И особенно для домашних пользователей, я бы не хотел помогать в диагностике и исправлении не загружаемой системы из-за обновления ядра.)
источник
Существует инструмент под названием Timeshift. ( http://www.teejeetech.in/p/timeshift.html ) Я не использовал его, но выглядит многообещающе, и я слышал от пользователей хорошие отзывы об этом. Снимки разработаны, чтобы избежать дублирования данных. И не пугайтесь малоизвестного сайта. :)
источник
Если вы используете Диспетчер логических томов для управления содержимым ваших жестких дисков, то вы получите это бесплатно в некоторой степени, используя моментальные снимки. Процитирую великий HOWTO : «Один из примеров - сделать снимок тома, смонтировать снимок и попробовать экспериментальную программу, которая изменяет файлы на томе. Если вам не нравится то, что он сделал, вы можете размонтировать снимок, удалить его, и смонтировать исходную файловую систему на свое место. "
источник
В зависимости от вашей технологии виртуальной машины вы можете остановить / приостановить / приостановить работу виртуальной машины, выгрузить ядро и скопировать образ виртуальной машины. Если это не удалось, просто восстановите оригинал.
Если вы работаете прямо на логическом томе, вы можете создать снимок LVM на основе исходного LV. Протестируйте обновление и, если оно работает, вы переделываете его на исходную виртуальную машину (см. Lvcreate (8) -s)
Или используя золотую старую смолу (1). Вы создаете полный tar-архив пользовательского пространства, восстанавливаете файлы и удаляете файлы, которых не было в оригинальном tar-шарике.
источник
В настоящее время Linux не предлагает такой возможности, хотя это было бы очень полезно.
Тем не менее, статья Unbreakable upgrades, ZFS и Apt описывает функцию apt-clone в дистрибутиве хранения Nexenta на базе Linux и предлагает ...
ИМХО, прежде всего, нам нужна пригодная для использования файловая система Copy-On-Write (COW) для Linux, прежде чем такая функция может быть реализована в системных установщиках / обновлениях в разумных пределах.
Примечание: хотя Nexenta основана на Linux, она не использует ядро Linux. Он использует ядро OpenSolaris и ZFS.
источник