Christopher Juckins

SysAdmin Tips, Tricks and other Software Tools

User Tools

Site Tools


This is an old revision of the document!

CentOS 8 Migration Notes

Below is copied from CentOS 7 Migration Notes so modify as needed.

Other fixes:

  • Disable WiFi LAN connection with # nmcli radio wifi off

For migrating a system from a different OS, take note of this info first:

  • Make a test user on CentOS7 and one on CentOS8
    • Compare hidden files to see if anything changed between OSs
    • This allows for easy migrating of data for users' $HOME directories
  • ensure all scripts make their own log file directory
    • $log_dir = "/var/tmp/check_disk_space";
    • mkdir ("$log_dir", 0755);
    • should crons write to /tmp and then have a daily script that checks cron logs for errors?

Must-Have functionality:

Customize MATE Desktop displays

  • Adjust System > Preferences > Look and Feel > Appearance
  • Under Fonts tab, set all to size 8
  • Click Details, set resolution to 96 dpi, Smoothing Grayscale, Hinting Slight, Subpixel order RGB
  • Firefox has large bullets for password masking. Theme setting?
  • Set up gnome-terminal preferences
    • General: Font Monospace 9, No terminal bell
    • Colors: Use colors from system theme
    • Scrolling: unlimited
    • Edit > Keyboard Shortcuts > Reset and Clear > F2
  • Disable Vim auto-indent following Vi and Vim Tips
  • Adjust System > Preferences > Personal > Startup Applications
    • Disable the SELinux Troubleshooter
    • Add PackageKit Update Applet
      • description: PackageKit Update Applet
      • command: gpk-update-viewer

Change setting on screensaver

  • System > Preferences > Look and Feel > Screensaver

System Monitor (needs mate-system-monitor and mate-applets RPMs):

  • Right-click top panel > Add to Panel
  • In the "Find an item to add to the panel:" search box, enter "System Monitor" and click Add
  • Moving display of current CPU usage should appear

Fresh VirtualBox Installation Notes 8 Nov 2015 (previous install 30 Sept 2014)

  • Preferable to use local .iso file to conserve bandwidth for multiple installs
  • On initial config screen, ensure the network connection is activated
  • You can also disable SELinux
  • Manually set mount points for /boot, /, swap
  • * Make sure /boot is 1024MB large
  • Let system create mount points automatically
    • After they are suggested, change from LVM to Standard Mount
    • May want to increase the boot and "efi" boot partitions from 500MB to 750MB and 200MB to 500MB
  • Used default "xfs" filesystem
  • For software packages, if you only choose something like Web Server you will not get graphical login
  • Choose a general desktop option, too
  • Boot into machine
  • Note the IP address

Use nmtui-hostname to change the system hostname

# nmcli general hostname
# nmcli general hostname new_server_name
# systemctl restart systemd-hostnamed

dnf -y update, reboot, verify latest kernel is loaded by GRUB

Only keep 1 old kernel

Ensure gcc, make, kernel-devel are installed.

Install Virtual Box Guest Additions

  • Took 10 minutes to install


Add 2nd hard drive to /etc/fstab following these notes

Prepare to run the local dnf installer script

CPAN packages to install:

  • NOTE: Do not update .bashrc for library locations or else they will go into the wrong path
  • Array::Utils
    • Note, this module is not needed. Was used in ASMAD and
    • Start up cpan as root (initial time)
    • Run through the manual configuration process, accept the defaults
    • Start up cpan as root
    • > install CPAN (this updates the CPAN packages)
    • cpan Array::Utils
  • Time::Elapsed (cpan)
    • Note, this module is not needed. Was used in syncing to CDN.
    • As root, had to:
    • cd /root/.cpan/build/Time-Elapsed-0.31-N9mZvj/lib/Time
    • cp -rp * /usr/share/perl5/Time
    • Another option is to install modules locally
    • Yet another option is to use modules that are in a repository

Ensure Adobe Flash plugin is installed

Ensure Apache is installed and running

Upgrade PHP to version 7.2

Migrate /etc/php.ini from old server and relax settings due to test env:

;max_execution_time = 30     
max_execution_time = 3600    
;max_input_time = 60
max_input_time = 3600
;memory_limit = 128M
memory_limit = 1024M
;display_errors = Off
display_errors = On
;post_max_size = 8M
post_max_size = 250M
;upload_max_filesize = 2M
upload_max_filesize = 250M
;date.timezone = 
date.timezone = "America/New_York"
;session.gc_maxlifetime = 1440
session.gc_maxlifetime = 7200
# systemctl restart httpd.service

Install and Secure MySQL (mariadb)

Database work:

  • Backup /etc/my.cnf
    • Add this line under [mysqld]
      • default-storage-engine=MyISAM
  • Add other database users with phpMyAdmin GUI
    • set username
    • set password
    • select "Grant all privileges on wildcard name (username\_%)."
  • Dump all databases from source server to sql file then import on target server
    • mysqldump -u USER -p'PASS' DATABASE > /tmp/DATABASE.sql
    • Ensure database on target server exists; create if necessary
    • mysql DATABASE -h localhost -u USER -p'PASS' < /tmp/DATABASE.sql

Setup ddclient:

Setup duckdns:

  • crontab is
    ~/duckdns/ >/dev/null 2>&1

Setup ydns:

  • crontab is
    ~/ydns/ -V -u <snip> -p <snip> -H >>~/ydns/updater.log 2>&1

Firewall notes:

  • Using firewall-config to close rules from previous machine

rsync /var/www/html/

  • test pages for proper display
  • check soft link to phpmy is correct and current

Restore and test crons

  • check that each cron job runs and the specified log directory exists

Backup /etc/selinux/config and change from enforcing to permissive

Restore /etc/hosts from previous machine as needed

Disable virbro0 network connection if needed:

# virsh net-destroy default
# virsh net-undefine default
# service libvirtd restart
# ifconfig 

Then, edit the network connections and make sure the "Ethernet" tab for the active connection, such as enp0s3, has the "Device" set to that interface. Reboot to test.

Download sample .png, .gif, .jpg images and test /usr/bin/display for any errors

Install Oracle Java (note, this is not the default CentOS, it will not auto-update)

Install X2Go

Restore Thunderbird profile

Restore Firefox profile

Restore VirtualBox and all machines

Test ASMAD for processing end-to-end

SSH issues

  • Cannot ssh to yourself passwordlessly with default /etc/ssh/sshd_config
  • Comment out the following line, like this:
  • #AuthorizedKeysFile .ssh/authorized_keys
  • This allows you to NX into the CentOS7 machine
  • Update to openssh seems to require RSA keys now and authorized_keys file instead of DSA keys and authorized_keys2 file
  • Set "PermitRootLogin no"
  • But MATE does not work, tried KDE with dnf group install "KDE Plasma Workspaces" and seems to work better but still no icons on the screen
  • But need to configure custom desktop to use /etc/X11/xinit/Xsession mate-session
  • Also tried /usr/bin/startxfce4 but still general odd behavior
  • systemctl restart sshd.service
  • User accounts at remove machines connecting to the new machine will need their $HOME/.ssh/known_hosts either rebuilt or offending entries removed

Update GRUB and splash screen


Set default GRUB entry

If GRUB2 no longer finds other OS to boot (such as Windows 10) use SourceForge Boot Repair Disk

Install ClamAV

Set up local printer(s)

Firewall Notes

firewall-cmd --get-active-zones
  • It will say either public, dmz, or something else. You should only apply to the zones required.
  • If you want to add a port such as 8080 to your public zone:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • Then remember to reload the firewall for changes to take effect.
firewall-cmd --reload

Managing runlevel settings

  • Switch to runlevel 5:
# systemctl isolate
  • Initiate runlevel 5 by default:
# systemctl set-default
  • Switch to runlevel 3:
# systemctl isolate
  • Initiate runlevel 3 by default:
# systemctl set-default


Plugin to right-side lower USB jack on HP Pavilion P7-1235, type dmesg at root prompt to see if it was found by system

[37013.137134] usb 8-1: New USB device found, idVendor=046d, idProduct=0a44
[37013.137145] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[37013.137151] usb 8-1: Product: Logitech USB Headset
[37013.137160] usb 8-1: Manufacturer: Logitech
[37013.399267] input: Logitech Logitech USB Headset as /devices/pci0000:00/0000:00:10.1/usb8/8-1/8- 
[37013.449648] hid-generic 0003:046D:0A44.004B: input,hidraw3: USB HID v1.00 Device [Logitech Logitech USB 
Headset] on usb-0000:00:10.1-1/input3

Right-click the speaker icon in the top panel and choose Sound Preferences. Or, navigate to System > Preferences > Hardware > Sound
Sound effects tab: Sound theme: No Sounds
Hardware tab: Highlight Headset H390, Profile: Analog Stereo Output + Analog Mono Input
Input tab: choose Headset H390 Analog Mono
Output tab: choose Headset H390 Analog Stereo, Connector is Headphones

Settings are saved to $HOME/.config/pulse

See Linux Mint Sound settings keep switching output against my will and possibly HDMI + Sound + Mint 18

centos_8_migration_notes.1602801016.txt.gz · Last modified: 2020/10/15 18:30 by juckins