当前:20.04,/home 在其自己的分区上。
目标:在‘/’上安装 22.04,然后切换(当时新的)‘home’子目录,以使用单独分区的 /home。
我关心的是用户名和 ID 号、组名和 ID 号……这意味着,安装用户名的新“home”子目录很可能是 ID 号 1000。但在分区 /home 上,已经有一个重要的用户名,ID 号为 1000。
保持分区 /home 完整至关重要。我怎样才能将其合并到 22.04 的全新安装中?谢谢。
答案1
对于安装:
保留cron
和batch
作业at
。查看/var/spool/
。
在目录树中保留本地修改的文件的副本/etc
。
保留本地安装的应用程序。保存配置文件,准备重新安装当前版本的应用程序。
apt changelog packagename
是你的朋友。
/home
安装后外面的一切都将被摧毁。
为了 /home
:
您可以告诉安装程序(“其他”选项?)将/home
其放在您拥有的位置,然后取消选中“格式”列中的复选框。验证。请勿格式化 /home。
对于 UID - 保留 的副本/etc/{passwd,shadow,group,gshadow}
。了解这些文件!阅读man -a passwd;man shadow group getent
让安装程序创建一个temporary
用户 ID、UID 1000、homedir /home/temporary
。
安装后,以 身份登录temporary
。
首先,在一个窗口中sudo bash
。这是您的紧急调查和恢复窗口。
在另一个窗口中,sudo bash
。
制作另一个单独的备份副本/etc/{passwd,shadow,group,gshadow}
用你的原来的复制以恢复您的组和用户 ID。不要盲目复制旧文件,请仔细考虑每个条目。
请注意,(passwd
和shadow
)和(group
和gshadow
)条目应该成对更新,或者同时更新,或者都不更新。
用来getent
检查你的工作。例如getent passwd special
仅经过测试:
- 特殊用户登录?
- 特殊用户还能特殊吗?
- 以您的管理员用户身份登录?
- 管理员还可以吗
sudo
? - ...
您可以注销吗?然后以管理员帐户登录,并删除该temporary
用户。阅读man deluser
。