如何将旧用户帐户复制到新用户帐户?

我认为我的旧用户帐户无法处理所有损坏的文件…

其他2个帐户正常工作。

所以我创建了一个新的管理员帐户,我想知道如何将我的所有设置,密码,文件从旧的管理员帐户复制到新帐户。

我不能使用旧的管理员帐户被冻结非常严重,如果我可以从新的管理员帐户迁移,将有助于很多。

感谢名单!

您基本上问:“如何将设置和文件从我的用户帐户复制到新用户帐户,跳过一些设置?”

迁移到新用户帐户

要将文件从old用户移动到new用户,您需要复制文件并相应地更改所有权:

 sudo cp -r -d --preserve=mode,timestamps -T ~old ~new sudo chown -R new: ~new 

这应该复制文件而不修改路径。

现在以new身份登录shell。 使用Ctrl + Alt + F1切换到VTY并以new登录或使用su new从终端登录。 如果您选择第一种方法,则可以使用Ctrl + Alt + F7切换回来。 从这一点开始,假设您以new身份登录。

如果存在指向其旧目录的符号链接,请找到以下链接:

 find ~ -lname '*/old/*' -ls 

将打印符号链接的文件名,但不执行任何操作。 要创建一个新的符号链接~new/path/to/symlink指向~old/point/to/target ,覆盖旧的~new/path/to/symlink ,运行:

 ln -sf ~old/point/to/target ~new/path/to/symlink 

可能有配置文件引用旧的,您可以使用grep找到这些文件:

 grep -HrnI 'old' ~ 

如果您得到很多结果,请考虑更具体,即用/home/old替换old的。 将使用与搜索条件匹配的行列出文件,但不执行任何操作。

调试旧帐户

如果您复制所有设置和文件,最好删除有问题的文件。 为了获得最佳结果,最好从GUI会话中注销主题用户并登录虚拟控制台(使用Ctrl + Alt + F1切换到它)。

如果您突然退出,请检查~/.xsession-errors 。 您可以通过运行:

 less ~/.xsession-errors 

使用箭头键,Page Up / Down,Home或End进行导航,按Q退出。

有时.gconfd/saved_state文件会损坏。 您可以删除此文件:

 rm .gconfd/saved_state 

执行此操作后,按Ctrl + Alt + F7切换回GUI登录。 登录,如果问题消失,你就完成了。 否则,请使用Ctrl + Alt + F1注销并切换回虚拟控制台。

另一个可以清空的目录是~/.cache

 rm -r ~/.cache/* 

而不是丢失所有文件和设置,临时移动一些文件夹。 这可以通过以下方式完成:

 mv folder{,-orig} 

如果文件夹没有导致问题,请删除新创建的文件夹并恢复旧文件夹:

 rm -r folder mv folder{-orig,} 

一些可能导致问题的文件夹(有些可能不存在,在这种情况下会跳到下一个文件夹):

 .gnome .gnome2 .kde .config .local 

与每次修改一样,切换回GUI登录并进行测试。

假设您已经创建了newuser并且newuser的主文件夹存在:

(1/2)将所有文件复制到新用户:

 sudo rsync -ah --progress /home/olduser/. /home/newuser 

笔记:

  • rsync是一个类似但通常比cp更好的函数。 它有更多的选择等
  • -a命令保留原始文件的权限(我们将在步骤2中对所有权进行排序)
  • -h命令将输出信息转换为人类可读的格式(即文件大小等)
  • --progress为每个文件添加进度条
  • /.olduser位置的末尾使它包含隐藏文件(这将确保您的bash_aliasesbashrc文件等被复制,而不仅仅是普通文件。此选项可以迁移您的设置。)

(2/2)更改复制文件的所有者

现在我们更改文件的所有权:

 sudo chown -R --from=olduser:oldusergroup newuser:newusergroup /home/newuser 

笔记:

  • chown是CHange-OWNership文件的函数
  • -R使其递归。 (如果您只是更改一个文件,则不需要此文件,但我们正在更改所有文件和目录以及新用户文件夹中的所有内容,因此需要递归)
  • --from=olduser:oldusergroup这确保我们不会更改root所拥有的任何文件(特别是与隐藏文件相关)。 改变这些可能会搞得很多。 这个--from选项告诉chown我们只想更改olduser当前拥有的文件和文件夹。

这对我有用,虽然我在这里解释了很多,但实际上它只有2个主要命令,因此一旦你弄清楚如何保留权限等,这个过程就非常简单。