如何还原系统?


16

我面临的问题

  • 我安装的某些软件崩溃了我先前编译的Wifi驱动程序。
  • 卸载相同的软件包没有帮助。
  • 最后,我重新编译了wifi驱动程序,一切都很好。

我的问题

但是,在Ubuntu / LinuxMint中是否有类似“系统还原”或“系统回滚”的功能?

  • 有没有什么可以undoapt-get install package命令?

系统损坏是Linux中的一个严重问题,一定有类似的东西System Wide UNDO吗?
Yugal Jindle 2011年

在窗口框外思考(然后用Google搜索您的问题)。您可以压缩整个系统的大部分内容,但是说系统故障是一个严重的问题,这是不正确的。我在所有计算机上都运行Linux(出血的Arch Linux,因此稳定性会受到影响),但我还没有看到计算机崩溃或故障。我是否提到每台计算机运行Arch 2-4年了?
Blender

可能值得对破坏系统的软件包进行apt-get清除,因为这应该删除与之相关的任何设置。
上校

@Blender我从2年开始就是100%的Linux用户。尽管我讨厌Windows系统还原,但是在Linux中,有时X更新会破坏您的图形,因此应该使用诸如沙盒或某物之类的东西来撤销该操作。
Yugal Jindle

Answers:


7

的补码apt-get install packageapt-get remove package。要同时删除所有关联的设置,您需要运行apt-get purge package

请注意,这些命令依赖于软件包随附的卸载脚本。我知道的主存储库中的所有软件包都很好地完成了卸载工作。第三方软件包可能不是这种情况。

至于您的驱动程序问题,安装软件包会损坏您的无线驱动程序有几种可能性:

  • 驱动程序具有安装后挂钩,该挂钩在满足条件(例如内核更新)时执行
  • 程序包覆盖了无线驱动程序依赖的文件
  • 有问题的软件包是内核更新,但驱动程序没有用于重新编译驱动程序的安装后挂钩(很可能是)

至于“系统回滚” /“系统还原”功能,最接近的功能是使用诸如Clonezilla之类的软件的系统映像。不幸的是,这不能在运行的系统中完成,而必须从Live CD中执行。


14

Linux有一个名为 专门为此目的, Timeshift的。使用Timeshift,您可以定期为Linux系统拍摄快照,并在需要时将其还原。

该软件将Windows的系统还原功能带到您的Linux发行版中。

来自其官方网站的简短描述:

适用于Linux的TimeShift是一款应用程序,提供的功能类似于Windows中的“系统还原”功能和Mac OS中的“时间机器”工具。TimeShift通过定期拍摄文件系统的增量快照来保护您的系统。这些快照可以在以后还原,以使您的系统进入创建快照时的确切状态。

使用rsync和硬链接拍摄快照。快照之间共享公用文件,从而节省了磁盘空间。每个快照都是完整的系统备份,可以使用文件管理器进行浏览。


听起来不错,但是如果我还没有拍摄快照,则无法利用它。:/ 对?
gsamaras 2015年

9

实际上,Ubuntu等中几乎没有什么东西。这将允许您回滚更改。简述如下:

  1. /var/backups/dpkg.status.*:此目录保留了安装之前的最后一个系统状态的日志集,如下所示;/var/backups/dpkg.status.0是状态更改之前的最新日志(例如,软件包install / remove / update ... etc);/var/backups/dpkg.status.?.gz是在各个时间点压缩,归档的日志版本,每月轮换一次。
  2. /var/lib/dpkg/status:这是已安装软件包的当前状态。手动备份此文件或提供logrotate脚本/etc/logrotate.d将确保根据您的喜好安排系统状态的快照。
  3. 回滚:基石是您以前的状态/var/backups/dpkg.status.0。这是恢复以前的程序包状态的简要分步过程(请注意brief不是穷举)。

    一种。 cp /var/backups/dpkg.status /var/lib/dpkg/status(将软件包状态恢复为一个版本)。

    b。dpkg -l | grep ii(将根据上述步骤a。中获得的回滚文件为您提供假定安装的软件包的列表/var/lib/dpkg/status)。

    C。 dpkg -l | grep ii | awk '{print "apt-get --reinstall -y install", $2}' > /tmp/reinstall && sh /tmp/reinstall(将创建一个简单的单行shell脚本并运行该脚本以重新安装在apt-get操作之前确定已存在于系统上的软件包)

    d。 apt-get --reinstall install ucf(将负责清理/ etc config文件等)

    e。重复步骤c。如果/必要


幸运的是,您应该会很好。


4

Ubuntu中没有Windows中的“还原到以前的状态”之类的功能。您应该已经进行了备份,以将计算机还原到更早的阶段。严重的是,我也缺少此功能。有很多工具,但没有一个可以像Windows Restore Point或Macs Time Machine一样工作。让我们看看在Linux中备份是否会变得更好。


1

btrfs具有/将具有一些漂亮的快照功能,应该能够处理这种事情。只需将数据保存在一个文件系统中,将系统保存在另一个文件系统中,并使用定期(每天?每周?)快照,然后在出现问题时回滚。


2
每当apt对软件包执行操作时,apt-btrfs-snapshot软件包都会自动快照根子卷,从而易于回滚。
psusi 2012年

1
辛苦..请。
Yugal Jindle 2012年


1

除了提到的Timeshift和/ var日志之外,您还可以使用etckeeper来防止破坏/ etc目录中的配置文件,并且没有要还原的备份。它使用VCS。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.