Ubuntu Tutorials - Herong's Tutorial Examples - v1.25, by Herong Yang
Move All Users to a New System
This section provides a tutorial example on how to move all users to a new Ubuntu system.
How To Move All Users to a New System? If you are replacing an old Ubuntu system with a new system, you can follow this tutorial to move all users and their files to the new system.
1. Do not add any regular users to the new system. This avoids user ID collision when moving old users to the new system. The following command should returns no output:
root# awk -F: '($3>=1000) && ($3!=65534)' /etc/passwd
Note that the third field in the "etc/password" file is user ID, which starts from 1000 for non-system users, User id 65534 is for "nobody", which is a dummy user.
2. Extract user information, including user names, user passwords, group names and group passwords on the old system:
herong$ sudo awk -F: '($3>=1000) && ($3!=65534)' /etc/passwd > passwd.old
herong$ awk -F: '{print $1}' passwd.old |tee - |sudo egrep -f - /etc/shadow > shadow.old
herong$ sudo awk -F: '($3>=1000) && ($3!=65534)' /etc/group > group.old
herong$ awk -F: '{print $1}' group.old | tee - |sudo egrep -f - /etc/gshadow > gshadow.old
3. Transfer and restore user information on the new system:
root# cat passwd.old >> /etc/passwd root# cat shadow.old >> /etc/shadow root# cat group.old >> /etc/group root# cat gshadow.old >> /etc/gshadow
4. Verify one old user on the new system:
root# su herong (Enter the old password) bash-4.4$ exit exit
5. Move user home directories:
# on old system: herong$ sudo tar -zcvpf /tmp/home.tar.gz /home \ transfer home.tar.gz to the new system \ which may require a large amount of disk space \ on new system: root# cd / root# tar -zxvf /tmp/home.tar.gz
6. Login the new system with one old user:
root# ssh herong@newhost (Enter the old password) herong$ pwd /home/herong
6. Move user email files:
# on old system: herong$ sudo tar -zcvpf /tmp/mail.tar.gz /var/spool/mail \ transfer mail.tar.gz to the new system, \ which may require a large amount of disk space \ on new system: root# cd / root# tar -zxvf /tmp/mail.tar.gz
Now all users should be able to login to the new system and continue their work on the new system!
Table of Contents
Introduction to Ubuntu Systems
GNOME - Desktop Interface and Environment
Shell - The Command-Line Interpreter
SSH Protocol and ssh/scp Commands
"systemctl status/start/stop/enable/disable" Commands
"shutdown" and "halt/poweroff/reboot" Commands
Move /home Directory to New Partition
►Move All Users to a New System