我面临的问题
- 我安装的某些软件崩溃了我先前编译的Wifi驱动程序。
- 卸载相同的软件包没有帮助。
- 最后,我重新编译了wifi驱动程序,一切都很好。
我的问题
但是,在Ubuntu / LinuxMint中是否有类似“系统还原”或“系统回滚”的功能?
- 有没有什么可以
undo
的apt-get install package
命令?
但是,在Ubuntu / LinuxMint中是否有类似“系统还原”或“系统回滚”的功能?
undo
的apt-get install package
命令?Answers:
的补码apt-get install package
是apt-get remove package
。要同时删除所有关联的设置,您需要运行apt-get purge package
。
请注意,这些命令依赖于软件包随附的卸载脚本。我知道的主存储库中的所有软件包都很好地完成了卸载工作。第三方软件包可能不是这种情况。
至于您的驱动程序问题,安装软件包会损坏您的无线驱动程序有几种可能性:
至于“系统回滚” /“系统还原”功能,最接近的功能是使用诸如Clonezilla之类的软件的系统映像。不幸的是,这不能在运行的系统中完成,而必须从Live CD中执行。
Linux有一个名为 专门为此目的, Timeshift的。使用Timeshift,您可以定期为Linux系统拍摄快照,并在需要时将其还原。
该软件将Windows的系统还原功能带到您的Linux发行版中。
来自其官方网站的简短描述:
适用于Linux的TimeShift是一款应用程序,提供的功能类似于Windows中的“系统还原”功能和Mac OS中的“时间机器”工具。TimeShift通过定期拍摄文件系统的增量快照来保护您的系统。这些快照可以在以后还原,以使您的系统进入创建快照时的确切状态。
使用rsync和硬链接拍摄快照。快照之间共享公用文件,从而节省了磁盘空间。每个快照都是完整的系统备份,可以使用文件管理器进行浏览。
实际上,Ubuntu等中几乎没有什么东西。这将允许您回滚更改。简述如下:
/var/backups/dpkg.status.*
:此目录保留了安装之前的最后一个系统状态的日志集,如下所示;/var/backups/dpkg.status.0
是状态更改之前的最新日志(例如,软件包install / remove / update ... etc);/var/backups/dpkg.status.?.gz
是在各个时间点压缩,归档的日志版本,每月轮换一次。/var/lib/dpkg/status
:这是已安装软件包的当前状态。手动备份此文件或提供logrotate脚本/etc/logrotate.d
将确保根据您的喜好安排系统状态的快照。回滚:基石是您以前的状态/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。如果/必要
幸运的是,您应该会很好。
btrfs具有/将具有一些漂亮的快照功能,应该能够处理这种事情。只需将数据保存在一个文件系统中,将系统保存在另一个文件系统中,并使用定期(每天?每周?)快照,然后在出现问题时回滚。
System Wide UNDO
吗?