linux系统备份恢复到本机或是别的机器上
ubuntu系统备份还原到相同电脑、另一台电脑。(tar方式)
最近一直搞Xtion2,openni2,一下装完一个东西就不能用了,由于ubuntu系统不熟,找不到错误,弄得每次都要重新装系统,当我配了好几天的系统,里面带着mxnet,orbslam,opencv,Ros,这就尴尬了,每次重新安装系统都需要好几天配环境,心累!然后开始想着系统备份,系统还原。开始尝试着网上的tar备份,最开始只实现了同一台电脑不重装系统,后来系统的图形界面崩溃,想着既然要试就是要全部学会,不然不知道怎么处理,当换重装系统之后就相当于换硬盘了,就可以在不同电脑上实现,有时候确实很多时候的被逼的,那就试呗!
原理:“ 在ubuntu系统中,万物皆文件!!!”
一、系统备份
系统备份就需要考虑系统安装问题,我们备份一般是指备份系统,即根目录(/.),如果你将系统划分成不同目录就需要额外考虑其它东西,本文指考虑系统分成主分区/.与swap分区。具体的参考分区方法参考下面的链接。
https://blog.csdn.net/zhangxiangweide/article/details/74779652
步骤:1. 到根目录
-
cd / //到根目录
-
sudo su //获取权限
2. 进行打包
tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/media /
解释:压缩到当前目录下的backup.tgz中,除去/proc /lost+found 等文件夹。最后面的“/”指根目录。此时压缩的文件就保存在/根目录下,如果想保存到别的地方就在backup.tgz前面加路径,应该放在media路径下,那里就是外面挂着的U盘等,你就可以舍得复制出来了。
注意:这里打包最后结束的时候会说先前的错误,可以忽略。
二 系统恢复(本机上,避免重装系统)
当有时候电脑崩溃了,出现了错误,我们就可以用复制好文件还原到之前时刻了,还原也是相对而已,因为它只是解压而已,即你新装的文件都会在,只是你原来的文件有的文件帮你覆盖掉了,回到从前了。如果电脑进不去了,就需要使用U盘启动,试用的方式进入系统。
1.到根目录
-
cd / //到根目录
-
sudo su //获取权限
2.进行解压
sudo tar -xvpfz backup.tgz -C /
如果将backup.tgz放在别处就需要在前面加地址。如 /media/kingtons/backup.tgz
然后重启就可以了! 这里主要参考下面两个博客,那个分区分了4个的需要自己试下,我也不确定是否可以一口气将所有的打包起来。可以的话麻烦评论下,留个言,让更多人知道。麻烦了!
https://blog.csdn.net/sinat_27554409/article/details/78227496
https://blog.csdn.net/qq_35523593/article/details/78545530
三、系统恢复(不同电脑,包括重新安装系统的电脑)
此步承接着第一步,将系统备份好,然后将backup.tgz复制到U盘里。
1、重新安装好系统(或新电脑安装好的系统)
2、备份新系统文件(就是备份UUID)
-
cd /etc/
-
sudo cp -pdr fstab /home/laukal/
将文件复制到home文件夹下,保存到一个不会被覆盖的地方。
3、解压就系统
进入根目录,解压。
-
cd /
-
sudo su
-
sudo tar -xvpfz /media/kingston/backup.tgz -C /
4、将刚才保存好的fstab复制到复原系统中
sudo cp -pdr /home/laukal /etc/
5、打开fstab,将硬盘的UUID号复制好,覆盖/boot/grub/grub.cfg文件中的UUID号,有20多个,不覆盖的话,是启动不了的,找不到硬盘。
UUID=bb089529-c213-45ad-aa16-89e36f1c63ae (是第一个,不是那个swap的)
然后重启就可以。
这里主要参考的是下面两篇文章
原文地址:https://www.cnblogs.com/ruiy/p/12028128.html
- 数据清理的遗留问题处理(二)(r6笔记第91天)
- Kaggle Titanic 生存预测比赛超完整笔记(上)
- 多系统交互中DBA需要实现的技术细节(r6笔记第90天)
- Kaggle Titanic 生存预测比赛超完整笔记(中)
- SDP(11):MongoDB-Engine功能实现
- SDP(10):文本式大数据运算环境-MongoDB-Engine功能设计
- Kaggle Titanic 生存预测比赛超完整笔记(下)
- SDP(9):MongoDB-Scala - data access and modeling
- 数据清理的遗留问题处理(r6笔记第87天)
- 一次DB time抖动发现的expdp的bug(r6笔记第86天)
- Python中map函数
- 10g,11g中数据库静默安装中的细小差别(r6笔记第85天)
- SDP(8):文本式数据库-MongoDB-Scala基本操作
- SDP(7):Cassandra- Cassandra-Engine:Streaming
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法