标签:
http://xing.rocks/2015/03/06/ubuntu%E7%B3%BB%E7%BB%9F%E5%A4%87%E4%BB%BD%E4%B8%8E%E8%BF%98%E5%8E%9F/
前段时间电脑出了问题,要换台电脑工作,要在Ubuntu系统上搭建一个完善的工作环境挺费劲的,而且上面还有正在做的一个网站。因此,需要备份整个系统。
Ubuntu系统备份现在还没有一个很好的软件,但是由于Linux中一切皆是文件,所以直接用tar打包个系统即可。在网上有一些比较好的例子,例如落花往事的博客.如果在备份中tar报错,自己根据提示信息排除特定文件夹即可。另外,备份前可以先关闭mysql之类的服务,防止程序运行导致备份时出差错。本篇记录的是自己在还原过程中出现的错误以及解决方法。
1
2
|
sudo -s
tar cpzPf ubuntu.tgz --exclude=/proc --exclude=/lost+found --exclude=ubuntu.tgz --exclude=/mnt --exclude=/sys --exclude=/home/xing/VirtualBox\ VMs/ --exclude=/home/xing/.cache /
|
参数:
安装新系统后,先先备份/boot和/etc/fstab,前者是记录了开机boot选择的信息,后者记录了
分区挂载信息,变了就无法进入系统了。
然后将ubuntu.tgz拷贝到根目录,运行命令:
1
2
|
sudo -s
tar xvpfz ubuntu.tgz -C /
|
最后将备份的/boot和/etc/fstab复原
第一次没有经验,还原时没有备份fstab文件,导致开机后无法以原来的用户的挂载点消失,无法
进入系统,因此要重新改写fstab文件。 开机后进入登陆界面,按Ctrl+Alt+F1进入后台,然后就
可以用root权限操作了。
1
2
|
sudo fdisk -l
sudo blkid
|
配置文件包含以下几项:
file system、 mount point、 type、options、dump、pass
1
|
sudo mount -a
|
如果没有问题,就大告成功了,再次登陆即可进入桌面了。
用了几天下来,apache、gbrowse、甚至QQ国际版都能很好的运行,目前只发现mysql在终端登陆时出错:
Access denied for user ‘root’@’localhost’ (using password:YES).可能是备份的时候mysql一直在运行,导致一些文件发生了丢失或错误。
使用mysqladmin也无法修改密码。最后找到了一种方法,参考mysql Access denied for user root@localhost错误解决方法总结
方法如下:
1
2
3
4
5
6
7
8
9
|
service mysql stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(‘newpassword‘) where USER=‘root‘;
mysql> FLUSH PRIVILEGES;
mysql> quit
service restart
mysql -uroot -p
Enter password: <输入新设的密码newpassword>
|
其中核心的一点就就是参数—skip-grant-tables,即不使用密码也可以登陆mysql;—user
=mysql是以mysql用户身份运行,—skip-networking是只在本地运行,不必监听网络端口。然后就可以在
mysql表中更改用户密码了,最后成功登陆。
标签:
原文地址:http://www.cnblogs.com/sinceyou/p/5617194.html