如何将旧用户帐户复制到新用户帐户?
我认为我的旧用户帐户无法处理所有损坏的文件…
其他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_aliases
和bashrc
文件等被复制,而不仅仅是普通文件。此选项可以迁移您的设置。)
(2/2)更改复制文件的所有者
现在我们更改文件的所有权:
sudo chown -R --from=olduser:oldusergroup newuser:newusergroup /home/newuser
笔记:
-
chown
是CHange-OWNership文件的函数 -
-R
使其递归。 (如果您只是更改一个文件,则不需要此文件,但我们正在更改所有文件和目录以及新用户文件夹中的所有内容,因此需要递归) -
--from=olduser:oldusergroup
这确保我们不会更改root所拥有的任何文件(特别是与隐藏文件相关)。 改变这些可能会搞得很多。 这个--from
选项告诉chown
我们只想更改olduser
当前拥有的文件和文件夹。
这对我有用,虽然我在这里解释了很多,但实际上它只有2个主要命令,因此一旦你弄清楚如何保留权限等,这个过程就非常简单。