我如何进行系统还原?

我面临的问题

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

我的问题

但是,在Ubuntu / LinuxMint中有没有类似系统还原或系统回滚的东西?

  • 有什么可以undo apt-get install package命令吗?

apt-get install package的补充是apt-get remove package 。 要删除所有相关设置,您还需要运行apt-get purge package

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

至于你的驱动程序问题,有一些可能性为什么安装包破坏了你的无线驱动程序:

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

至于“系统回滚”/“系统还原”function,您将获得的最接近的function是使用Clonezilla等软件的系统映像。 不幸的是,这不能在正在运行的系统中完成,必须从Live CD执行。

有一个名为Timeshift的 Linux软件正是出于此目的。 使用Timeshift,您可以定期拍摄Linux系统的快照,并在需要时恢复它们。

该软件为您的Linux发行版带来了Windows的系统还原function。

官方网站的简短描述:

TimeShift for Linux是一个应用程序,它提供类似于Windows中的系统还原function和Mac OS中的Time Machine工具的function。 TimeShift通过定期获取文件系统的增量快照来保护您的系统。 稍后可以恢复这些快照,以使系统处于拍摄快照时的确切状态。

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

实际上,Ubuntu等人的内容很少。 这将允许您回滚更改。 简要说明:

  1. /var/backups/dpkg.status.* :此目录在安装之前保留一组最后一个系统状态的日志,如下所示; /var/backups/dpkg.status.0是状态更改之前的最新日志(例如包安装/删除/更新等); /var/backups/dpkg.status.?.gz是在不同时间点压缩,存档的日志版本,每月轮换一次。
  2. /var/lib/dpkg/status :这是已安装软件包的当前状态。 手动备份或在/etc/logrotate.d提供logrotate脚本将确保根据自己的喜好计划系统状态的快照。
  3. 回滚:角石是你之前的状态/var/backups/dpkg.status.0 。 以下是恢复先前包状态的简要步骤(注意简要 而非详尽 )。

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

    dpkg -l | grep ii 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 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 (将负责apt-get --reinstall install ucf / etc config files et.al)

    即 重复步骤c。 如果/必要的话


运气不错,你应该没问题。

在Ubuntu中没有像Windows中“恢复到以前的状态”那样的function。 您应该进行备份,将计算机还原到较早阶段。 说真的,我也错过了这个function。 有许多工具,但它们都不像Windows还原点或Macs Time Machine。 让我们看看Linux中的备份是否会变得更好。

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

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