我远程管理 12.04 LTS 桌面,并会定期执行 sudo apt-get update sudo apt-get upgrade
但是,如果升级安装了导致系统问题的东西,我想将其回滚到以前的版本。
例如,我在本地机器上看到有更新版本的 Flash 播放器。从历史上看,我遇到过很多关于闪存破坏的问题,所以我真的很担心在这个远程系统上盲目更新而无法将其恢复。
想法/建议?
您可以使用以下命令显示将要升级和版本更改的软件包:
sudo apt-get update
sudo apt-get -V upgrade
Run Code Online (Sandbox Code Playgroud)
'-V' 标志显示附加信息。至于快照 - 你真的必须在这里推出自己的快照。
我最喜欢的具有回滚功能的方法是在 Linux 上使用带有快照的 LVM - 但我上次检查时,自动回滚到所选快照没有任何进展。从那时起这可能发生了变化(我很乐意有人纠正我),但您始终可以使用root=/dev/vg0/root-snap内核参数启动(例如),然后使用 rsync 将快照同步/dev/vg0/root-snap到原始卷/dev/vg0/root,然后丢弃快照。不理想,但可以自动化。
当然,ZFS 快照很稳定,但是 Linux 没有正式的、生产就绪的 ZFS 支持(是的,我知道zfsonlinux.org和 ZFS-FUSE),所以除非你只是在玩,否则这不是一个真正可行的选择你。
更新:看起来我们现在可以回滚(用 LVM2 的说法合并)快照。因此,LVM2 的更新将采用以下形式:
创建根 LV 的 5GB 快照:
lvcreate -s /dev/vg0/root -L5G -n root-snap
更新包(如上)。
如有必要,通过运行回滚:
lvconvert --merge /dev/vg0/root-snap
并且因为 /dev/vg0/root(原始 LV)已打开,lvconvert 会通知您 /dev/vg0/root 将在下次激活此卷时回滚到 /dev/vg0/root-snap。运行时会发生这种情况
lvchange -ay /dev/vg0/root
Run Code Online (Sandbox Code Playgroud)
当此 LV 关闭时,即在下次启动时或运行后:
lvchange -an /dev/vg0/root
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21652 次 |
| 最近记录: |