Christopher Juckins

SysAdmin Tips, Tricks and other Software Tools

User Tools

Site Tools


centos_8_migration_notes

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?
  • Get inventory of users
  • / * Check that PHP is working correctly, localhost/index.php tries to open a file * check httpd.conf * /
  • MySQL / MariaDB Database and users
  • export MySQL databases with mysqldump
  • list of installed perl modules
    • grep all .pl script and look for the "use " calls
  • Copy the following to accessible location for restore after upgrade
    • users' $HOME
    • crons should be in each user's $HOME/crontab
    • various processing log files from /var/tmp/
    • /etc/ssh/*key* or possibly the entire directory contents (this may prevent man-in-the-middle attack messages but testing needed)
    • /etc/hosts
    • /etc/httpd/conf/httpd.conf
    • Samba users, passwords, shares (for security cameras)
      • /etc/samba/smb.conf
      • /var/lib/samba/private/passdb.tbd
      • /var/lib/samba/private/secrets.tbd
      • Make sure service is running and will start at boot.
      • Check output with: testparm -v
  • nxclient-3.5.0-7.x86_64.rpm
  • nxnode-3.5.0-9.x86_64.rpm
  • nxserver-3.5.0-11.x86_64.rpm
  • skype-4.3.0.37-fedora.i586.rpm
  • verify services that should be installed/running in chkconfig
  • Note firewall rules

Note these installed perl RPMs:

# rpm -qa –qf "%{NAME}\n" | grep -i perl | sort

ImageMagick-perl
perl
perl-autodie
perl-Array-Diff
perl-Array-Unique
perl-B-Lint
perl-Business-ISBN
perl-Business-ISBN-Data
perl-Carp
perl-CGI
perl-Class-ISA
perl-common-sense
perl-Compress-Raw-Bzip2
perl-Compress-Raw-Zlib
perl-constant
perl-CPAN
perl-Data-Dumper
perl-DBD-MySQL
perl-DBI
perl-devel
perl-Digest
perl-Digest-MD5
perl-Digest-SHA
perl-Encode
perl-Encode-Locale
perl-Env
perl-Exporter
perl-ExtUtils-Install
perl-ExtUtils-MakeMaker
perl-ExtUtils-Manifest
perl-ExtUtils-ParseXS
perl-FCGI
perl-File-BaseDir
perl-File-CheckTree
perl-File-DesktopEntry
perl-File-Listing
perl-File-MimeInfo
perl-File-Path
perl-File-ReadBackwards
perl-File-Slurp
perl-File-Temp
perl-Filter
perl-Font-AFM
perl-GD
perl-Getopt-Long
perl-HTML-Element-Extended
perl-HTML-Format
perl-HTML-Parser
perl-HTML-TableExtract
perl-HTML-Tagset
perl-HTML-Tree
perl-HTTP-Cookies
perl-HTTP-Daemon
perl-HTTP-Date
perl-HTTP-Message
perl-HTTP-Negotiate
perl-HTTP-Tiny
perl-IO-All
perl-IO-Compress
perl-IO-HTML
perl-IO-Socket-IP
perl-IO-Socket-SSL
perl-IPC-System-Simple
perl-JSON
perl-JSON-XS
perl-libs
perl-libwww-perl
perl-List-Compare
perl-List-MoreUtils
perl-Locale-Codes
perl-Locale-Maketext
perl-local-lib
perl-LWP-MediaTypes
perl-LWP-Protocol-https
perl-macros
perl-Module-Pluggable
perl-Mozilla-CA
perl-Net-Daemon
perl-Net-HTTP
perl-Net-LibIDN
perl-Net-SSLeay
perl-Newt
perl-parent
perl-Parse-Yapp
perl-PathTools
perl-PlRPC
perl-Pod-Checker
perl-Pod-Escapes
perl-Pod-LaTeX
perl-podlators
perl-Pod-Parser
perl-Pod-Perldoc
perl-Pod-Plainer
perl-Pod-Simple
perl-Pod-Usage
perl-Scalar-List-Utils
perl-Socket
perl-Storable
perl-String-CRC32
perl-Sys-Syslog
perl-Test-Harness
perl-Test-Simple
perl-Text-ParseWords
perl-Text-Soundex
perl-Text-Unidecode
perl-Thread-Queue
perl-threads
perl-threads-shared
perl-TimeDate
perl-Time-HiRes
perl-Time-Local
perl-Types-Serialiser
perl-URI
perl-WWW-RobotRules
perl-XML-LibXML
perl-XML-NamespaceSupport
perl-XML-SAX
perl-XML-SAX-Base

Must-Have functionality:

Contents of /etc/yum.repos.d (CentOS 7):

  • adobe-linux-x86_64.repo
  • CentOS-Base.repo
  • CentOS-CR.repo
  • CentOS-Debuginfo.repo
  • CentOS-fasttrack.repo
  • CentOS-Media.repo
  • CentOS-Sources.repo
  • CentOS-Vault.repo
  • epel.repo
  • epel-testing.repo
  • google-chrome.repo
  • nux-dextop.repo

For a continuation of GNOME2 in CentOS7, use "MATE"

Other info on MATE:

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

Reboot

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 compare_stops.pl and compare_origin.pl
    • 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/duck.sh >/dev/null 2>&1

Setup ydns:

  • crontab is
    ~/ydns/updater.sh -V -u <snip> -p <snip> -H juckins.ydns.eu >>~/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: http://www.cyberciti.biz/faq/linux-kvm-disable-virbr0-nat-interface/

# 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 Google Chrome

Install Google Chrome (Alt)

Fix Google Chrome fonts:

http://www.binarytides.com/gorgeous-looking-fonts-ubuntu-linux/

# dnf install google*fonts
  • open Chrome, go to Settings > Advanced and set fonts as follows:
    • Standard font: Noto Serif
    • Serif font: Noto Serif
    • Sans-serif font: Noto Sans
    • Fixed-width font: Roboto Mono

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

Adobe Reader - use evince instead

Install NX/NoMachine v3

NX/NoMachine Troubleshooting:

  • Had v3 RPMs installed; removed and installed v4 to test. Failed. Removed v4 RPMs.
  • Upon reinstalling the 3 v3 RPMs, could not authenticate to target server.
  • Removed nxclient, nxnode, nxserver v3 RPMs again.
  • rm -rf /usr/NX completely
  • Reinstalled the 3 v3 RPMs. Authentication fixed
  • Start/stop server with the following:
    • /usr/NX/bin/nxserver –status
    • /usr/NX/bin/nxserver –stop
    • /usr/NX/bin/nxserver –start

NX for work VPN

  • Removed nxclient-3.5.0-7.x86_64.rpm, nxnode-3.5.0-9.x86_64.rpm, nxserver-3.5.0-11.x86_64.rpm
  • Installed opennx-0.16-724.el6.centos.1.x86_64.rpm
  • Tried connecting to remote machine as shadow session and it also failed; ensured the remote machine had a normal session established first using the same user

VPN connections

Percona toolkit: percona-toolkit-2.2.11-1.noarch.rpm

Restore Thunderbird profile

Restore Firefox profile

Restore VirtualBox and all machines

Test ASMAD for processing end-to-end

Install Skype rpm (skype-4.3.0.37-fedora.i586.rpm) following these steps:

dnf install alsa-plugins-pulseaudio.i686 qt.i686 1:qt-x11.i686 libXScrnSaver.i686 libXv.i686
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
dnf localinstall http://download.skype.com/linux/skype-4.3.0.37-fedora.i586.rpm

Skype Tips

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

GRUB_CMDLINE_LINUX_DEFAULT="video=1024x768"
GRUB_GFXMODE=1024x768
GRUB_GFXPAYLOAD_LINUX=keep

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 graphical.target
  • Initiate runlevel 5 by default:
# systemctl set-default graphical.target
  • Switch to runlevel 3:
# systemctl isolate multi-user.target
  • Initiate runlevel 3 by default:
# systemctl set-default multi-user.target

USB HEADSET:

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- 
1:1.3/input/input85
[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


OLD Notes and Issues

If on VirtualBox, go to main menu and choose "Insert Guest Additions CD Image…" and run the following commands:

mount -o ro /dev/disk/by-label/VBOXADDITIONS* /mnt
cd /mnt
./VBoxLinuxAdditions.run --nox11
shutdown -r now

Missing Desktop icons: https://www.centos.org/forums/viewtopic.php?f=48&t=47271

  1. Make sure caja is the default file manager in System –> Control Center –> Preferred Applications –>System tab.
  2. Add caja to automatically start in System–> Control Center –> Startup Applications.
  3. Reboot.

Tried /usr/bin/display with a .jpg or .png file, but this error results:

[juckins@centos7-test-64: /tmp/splash]$ display default.png 
display: color is not known to server `FOREGROUND': 
No such file or directory @ error/xwindow.c/XGetPixelPacket/3064.

ImageMagick may be a different version.

UPDATE: Does work after installing Skype and its dependencies below (nux-desktop?)

Comment out the GRUB_TERMINAL_OUTPUT line in /etc/default/grub using a # at the start of the line, and grub should use a graphics mode again

First see if the default kernel is the latest one for boot. If not, add the following line to /etc/default/grub

GRUB_DEFAULT=0

Also remove the "rhgb quiet" flags. Get the splash.png from http://juckins.net/dokuwiki/lib/exe/fetch.php?media=splash.png and put into /boot/grub2/

GRUB_BACKGROUND="/boot/grub2/splash.png"

Then run:

grub2-mkconfig -o /boot/grub2/grub.cfg

Notes on grub splash screen:

centos_8_migration_notes.1602708136.txt.gz · Last modified: 2020/10/14 16:42 by juckins