如何将Linux移动到另一个分区?
我需要制作一个正在运行的
linux系统的副本(包含在/中,并且新位置在/ mnt / sdb5中准备)似乎包含了大量的/ dev中的硬链接和特殊文件; cpio会在不增加额外魔力的情况下处理这项工作吗?
目前已知的保障措施: >在副本被认为是可引导的并且使用root = / dev / sdb5之前,不会删除/修改正在运行的系统;在删除之前,请进行完整的分区备份. 但是,仍然不会因为cpio错过了一些标志并且削弱了权限/节点类型/软或硬链接而浪费时间. 使用哪种工具/哪些水下岩石要避免? 解决方法
回答有关cpio的实际问题:这些是我将用于cpio的标志:
find / -xdev -depth !! -path ./lost+found -print0 | cpio --pass-through --null --dot --make-directories --unconditional --preserve-modification-time --sparse /mnt/sdb5 当然,既然你没有通过网络进行复制,我只会使用cp: cp --archive --sparse=always --verbose --one-file-system --target-directory=/mnt/sdb5 / 如果您希望能够多次复制,rsync是其恢复功能的更好选择. (它也像cp一样处理ACL和扩展属性,并且可以选择像cpio一样在网络上工作.所以它是最有用的选项,除了在本地进行第一次复制,我更喜欢用cp做.) rsync --archive --inplace --hard-links --acls --xattrs --devices --specials --one-file-system --8-bit-output --human-readable --progress / /mnt/sdb5 不要忘记复制/启动和/ dev! / boot很简单,只需复制即可.但是/ dev现在更加棘手,因为它被udev隐藏了.我推荐以下程序: > mkdir / tmp / dev> mount –move / dev / tmp / dev>使用上述命令之一将/ dev复制到/ mnt / sdb5> mount –move / tmp / dev / dev> rmdir / tmp / dev (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |