Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
How to upgrade a SLES 11 SP3 system to SLES 12
Machinery can help you to do a offline migration from one operating system version to another. This example shows an update of a SUSE Linux Enterprise Server 11 Service Pack 3 system to SUSE Linux Enterprise Server 12.
Machinery is used to clone the original system and to validate the the manual migration of the cloned system. This way it is possible to do a migration while keeping the original system for later comparison and validation. It also enables you to redo the migration in case off unexpected problems.
- SLES 11 SP3 system
- Separate machine, where the new system is set up and tested
- SLES 12 medium, e.g. a DVD
- Different system running Machinery
The instructions will refer to the original system as
$host_original and the migrated system as
$host_migrated. Replace them by real hostnames used for the migration.
Clone the original SLES 11 SP3 system
- Inspect the original system to create a system description which contains all the information needed to replication.
machinery inspect -x $host_original
- Export the system description as AutoYaST profile
machinery export-autoyast $host_target --autoyast-dir=/tmp/my_migration/
This generated AutoYaST profile can be adapted to additional requirements (e.g. adding an additional hard disk, network card, or user). This is described in the AutoYaST ducumentation.
- Install a new system based on the AutoYaST profile
There are different ways to install a new system via AutoYaST. They are described in the section about Invoking the Auto-Installation Process in the AutoYaST documentation or/and in the parameter description of Linuxrc.
Follow these instructions and install a new system using the AutoYaST profile.
Upgrade the new installed SLES11SP3 system
- Boot from DVD (or other source) into the SLES 12 installer
- Select 'upgrade system'
- Follow the system upgrade dialogues
Now you have a system running SLES 12 on a new machine, which should have the same functionality as the original system.
Validate the result of the migration by comparing parts of it with the original
- Inspect the new system:
machinery inspect -x $host_target
This creates a new description, which now can be compared to the original system description.
- Compare the os version
Run the comparison and check the parts of the system which are most relevant to you to see the changes that were made to the system by the upgrade.
machinery compare --scope os $host_original $host_target
This will create the following output:
# Operating system Only in '$host_original': Name: SUSE Linux Enterprise Server 11 Version: 11 SP3 Architecture: x86_64 Only in '$host_target': Name: SUSE Linux Enterprise Server 12 Version: 12 Architecture: x86_64
You can see that the version of the operating system was correctly upgraded.
- Compare users and groups
machinery compare --scope users,groups $host_original $host_target
This will create an output like this:
# Users Only in '$host_target': * ftpsecure (Secure FTP User, uid: 493, gid: 65534, shell: /bin/false) * nscd (User for nscd, uid: 494, gid: 495, shell: /sbin/nologin) * openslp (openslp daemon, uid: 492, gid: 2, shell: /sbin/nologin) * polkitd (User for polkitd, uid: 499, gid: 498, shell: /sbin/nologin) * rpc (user for rpcbind, uid: 497, gid: 65534, shell: /sbin/nologin) * rtkit (RealtimeKit, uid: 498, gid: 497, shell: /bin/false) * scard (Smart Card Reader, uid: 495, gid: 496, shell: /usr/sbin/nologin) * statd (NFS statd daemon, uid: 496, gid: 65534, shell: /sbin/nologin) # Groups Only in '$host_original': * mail (gid: 12) * maildrop (gid: 59) Only in '$host_target': * lock (gid: 54) * mail (gid: 12, users: postfix) * maildrop (gid: 59, users: postfix) * nscd (gid: 495) * polkitd (gid: 498) * rtkit (gid: 497) * scard (gid: 496) * systemd-journal (gid: 499)
You can see that all SLES 11 SP3 user accounts are still there. You can also see that there are some new users and groups and that the
maildop groups now include the
Validate the result of the migration by comparing the full system descriptions
machinery compare --show-all $host_original $host_target
This will list all differences between the system. It creates a list, which for example contains all the packages with their new versions, changed configuration files and files not managed by RPM.
This gives you complete insight in what has changed by the migration and you can check that nothing unintentional happened.