我在笔记本电脑上运行 Ubuntu 14.04lts。我使用它上大学、工作,以及基本上所有的外出活动。它的一切都很完美,完全符合我的要求,经过大约一年的缓慢定制和更改。我的台式机上也有一个 Ubuntu 14.04lts 启动,但我很少使用它,因为它没有像我的笔记本电脑那样定制和更新我需要的所有软件。它本质上是默认发行版,我在定制方面没有做太多工作。
我是否可以以某种方式让相同的操作系统同时运行在我的笔记本电脑和台式机上,而无需远程控制两台计算机中的一台?例如,我在笔记本电脑上进行一些编程,下次启动时,我的所有代码都会出现在台式机上。或者,如果我对某个系统文件进行更改,也会影响台式机,因为它们是同步的相同操作系统,只是在不同的系统上启动。
有这样的可能吗?我很想从我的笔记本电脑中取出我的操作系统并以某种方式将其与我的台式机同步。谢谢!
答案1
Rsync
需要排除一些关键文件,例如
/etc/hostname(每台机器唯一)
/etc/udev/rules.d/70-persistent-net.rules(因为 mac 地址会有所不同)
和活动目录 /proc /dev /sys
您希望磁盘布局相同,例如 /dev/sda1 中的所有内容
你需要启用 root 登录,这样你才能破坏目标中的所有内容
在开始之前,您需要对目标(桌面)进行完整的备份,因为这可能会很容易导致其无法使用。
启动 rsync 时目标需要正在运行
手上还有一个实时 USB,因此您可以重新启动目标并重试。
你需要有 ssh 密钥才能进行 rsync
ssh-copy-id root@target:
其他选项,例如 clonezilla、fsarchiver、partimage、g4l、remastersys 都无法为您提供所需的持续更新,除非您进行大量混乱的重新启动以进入实时 CD。
rsync --one-file-system \
--recursive \
--links \
--perms \
--times \
--group \
--owner \
--devices \
--specials \
--verbose \
--delete-during \
--exclude-from rsyncfilterfile.conf \
/ root@targetmachinename: \
>> logfilename.log \
2>> logfilename.err
rsync过滤文件.conf
- /etc/hostname
- /etc/udev/rules.d/70-persistent-net.rules
- /dev/
- /lib/modules/*/volatile/
- /proc/
- /sys/
- /var/lock/
- /var/run/
- /var/spool/
- /var/tmp/
- /tmp/