2021-06-11 17:12:40 +00:00
|
|
|
migrate2rocky -- Conversion Script
|
|
|
|
===========
|
|
|
|
|
|
|
|
Running this script will convert an existing CentOS 8 system to Rocky Linux 8.
|
|
|
|
|
|
|
|
### Usage
|
|
|
|
|
|
|
|
```bash
|
|
|
|
./migrate2rocky.sh -h
|
|
|
|
├── -h # --> Display this help
|
|
|
|
├── -r # --> Convert to Rocky
|
2021-08-09 12:38:44 +00:00
|
|
|
├── -V # --> Verify switch
|
|
|
|
├── -m # --> Set base URL for internal repo mirror
|
|
|
|
├── -f # --> Only if mirror URL is set,
|
|
|
|
# set prefix for mirror repo file and repo ID (default=user-)
|
|
|
|
└── -n # --> Only if mirror URL is set,
|
|
|
|
# set sufix for mirror repo name (default= - UserDefined)
|
2021-06-11 17:12:40 +00:00
|
|
|
|
|
|
|
[!! USE WITH CAUTION !!]
|
|
|
|
```
|
|
|
|
|
2021-08-09 12:38:44 +00:00
|
|
|
### Examples
|
|
|
|
|
|
|
|
```bash
|
|
|
|
./migrate2rocky.sh -r
|
|
|
|
|
|
|
|
# Migrate with internal mirror repository
|
|
|
|
./migrate2rocky.sh -r -m "http://repo.example.org/rocky" -f "example-" -n " - Example"
|
|
|
|
```
|
|
|
|
|
2021-06-11 17:12:40 +00:00
|
|
|
### Known Issues
|
|
|
|
|
2021-06-20 21:08:30 +00:00
|
|
|
#### Custom replacements of default repositories
|
|
|
|
|
|
|
|
This script expects the **original repository configuration being present, as well
|
|
|
|
as enabled** (i.e. for CentOS the `baseos` repo configuration in the
|
|
|
|
`/etc/yum.repos.d/CentOS-Linux-BaseOS.repo` file has to be present and enabled).
|
|
|
|
Also make sure that there are **no other repositories** which could interfere with the
|
|
|
|
original configuration.
|
|
|
|
|
2021-06-21 20:50:40 +00:00
|
|
|
Any distribution that has had its core repositories altered, removed, duplicated
|
|
|
|
or overridden may cause migrate2rocky to break or corrupt the system when run.
|
|
|
|
Any attempt to migrate such systems, even after reversing the changes made by such
|
|
|
|
software, is not supported in any way. In all cases you should backup your system
|
|
|
|
before using migrate2rocky and USE AT YOUR OWN RISK.
|
2021-06-20 21:08:30 +00:00
|
|
|
|
|
|
|
This especially happens on systems configured with a centralized package management
|
|
|
|
like Katello (RedHat Satellite 6) or Uyuni (RedHat Satellite 5, SUSE Manager).
|
2021-06-11 17:12:40 +00:00
|
|
|
|
|
|
|
#### RHEL migrations show error messages during conversion
|
|
|
|
|
|
|
|
```
|
|
|
|
Installing : rocky-release-8.3-13.el8.noarch 2/5Error unpacking rpm package rocky-release-8.3-13.el8.noarch
|
|
|
|
...
|
|
|
|
error: unpacking of archive failed on file /usr/share/redhat-release: cpio: File from package already exists as a directory in system
|
|
|
|
error: rocky-release-8.3-13.el8.noarch: install failed
|
|
|
|
...
|
|
|
|
Error: Transaction failed
|
|
|
|
```
|
|
|
|
|
|
|
|
This results from conflicts in the directory structure of RHEL with that of
|
|
|
|
RockyLinux. migrate2rocky will detect the issue and go on to remove the
|
|
|
|
conflicting directory and install rocky-release with the rpm command.
|
|
|
|
|
2021-07-09 10:19:11 +00:00
|
|
|
#### No matches found for the following enable plugin patterns: config-manager
|
|
|
|
|
|
|
|
The above error message is a display bug in dnf. It does not affect the actual
|
|
|
|
dnf command or the migration. You may safely ignore this message.
|
2021-07-09 11:09:03 +00:00
|
|
|
(RHBZ#1980712)
|
2021-07-09 10:19:11 +00:00
|
|
|
|
2021-06-11 17:12:40 +00:00
|
|
|
#### Grub still shows kernel entries from previous installation
|
|
|
|
|
|
|
|
This is normal. The running kernel cannot be safely removed when migrate2rocky
|
|
|
|
is run. The RockyLinux kernel should come up as the default highlighed kernel
|
|
|
|
on reboot but the other ones will remain until they are removed or replaced by
|
|
|
|
newer kernels. If you want you can manually remove the old kernels after reboot
|
|
|
|
with dnf or rpm.
|
|
|
|
|
2021-06-25 07:43:19 +00:00
|
|
|
#### Symbolic links to Java programs in `/etc/alternatives` are gone
|
|
|
|
|
|
|
|
After migrating a system with an OpenJDK package installed you might encounter
|
|
|
|
that java does not work any more. There is a bug in the OpenJDK packages that
|
|
|
|
leads to losing the symbolic links in `/etc/alternatives` during the migration.
|
|
|
|
A bug report against the upstream packages has been filed
|
|
|
|
[here](https://bugzilla.redhat.com/show_bug.cgi?id=1976053). As a workaround
|
|
|
|
you can use the following script to recreate the package default alternatives:
|
|
|
|
```
|
|
|
|
rpm -qa --scripts java-{1.8.0,11}-openjdk-{headless,devel} | sed -n '/postinstall/, /exit/{ /postinstall/! { /exit/ ! p} }' | sh
|
|
|
|
```
|
|
|
|
|
2021-08-10 04:10:16 +00:00
|
|
|
#### IPA fails to start after migration
|
|
|
|
|
|
|
|
This issue is caused by a version mismatch due to the way that modules work that
|
|
|
|
trick ipa into thinking that the package was downgraded even if it was not. To
|
|
|
|
fix this issue run the following command after migration:
|
|
|
|
```
|
|
|
|
ipa-server-upgrade --skip-version-check
|
|
|
|
```
|
|
|
|
|
2021-06-11 17:12:40 +00:00
|
|
|
### Latest Version
|
|
|
|
|
|
|
|
The latest version of this script can be found [here](https://github.com/rocky-linux/rocky-tools/).
|
|
|
|
|
|
|
|
### Debugging
|
|
|
|
|
|
|
|
The `migrate2rocky` script pipes everything shown on `stdout` and `stderr` to
|
|
|
|
`/var/log/migrate2rocky.log`.
|
|
|
|
|
|
|
|
If you run in to issues executing this script, please submit an issue
|
|
|
|
[here](https://github.com/rocky-linux/rocky-tools/issues).
|
|
|
|
|
|
|
|
Make sure to include the output log, and remove any sensitive information. (if
|
|
|
|
any)
|
|
|
|
|
|
|
|
Feel free to create a pull request if you think you've got the fix.
|