Basic Rocky Linux 8 Installation
Rocky Linux 8 Distribution Install[edit]
Rocky Linux 8 minimal install from DVD install disk During install process:
- click on 'automatically create partitions
- set hostname (if known)
- enable all basic network interfaces (do not rename -- it will crash the installer)
Basic system prep[edit]
Most of the initial configuration is now contained in a script that can be executed directly from the config server as root on the target system:
curl -s http://config/config/rocky8-basic-config.sh | bash
The contents of this script are included here for reference, though updates to the script may occur without updates to this page:
#!/bin/sh # # script to do the basic install of a centos7 headless server # # Assumptions: # - this is run as root immediately after the install has completed # - the hostname has been set as desired before this script is run # - an administrator account 'ewilliam' was created during installation CONFIG=http://config/config # first -- install all the basic necessities (some may already be there) yum -y install net-tools rsync zsh epel-release mlocate util-linux-user yum -y install nfs-utils psmisc smartmontools bind-utils yum -y update # now disable SELinux (no comment) sed -i 's/=enforcing/=disabled/g' /etc/selinux/config setenforce 0 # make sudo passwordless for group wheel echo "%wheel ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/91-wheel-NOPASSWD # now that zsh is installed, make it the default chsh -s /bin/zsh chsh -s /bin/zsh ewilliam # copy the standard zsh config files curl -s $CONFIG/common/.zshrc -o /root/.zshrc curl -s $CONFIG/common/.zshrc -o /home/ewilliam/.zshrc chown ewilliam.ewilliam /home/ewilliam/.zshrc # load ssh known_hosts from the config server mkdir -p /root/.ssh curl -s $CONFIG/ssh/known_hosts -o /root/.ssh/known_hosts mkdir -p /home/ewilliam/.ssh curl -s $CONFIG/ssh/known_hosts -o /home/ewilliam/.ssh/known_hosts chown -R ewilliam.ewilliam /home/ewilliam/.ssh # get backup scripts curl -s $CONFIG/common/backup -o /etc/cron.daily/backup curl -s $CONFIG/common/rsync_backup.sh -o /usr/local/bin/rsync_backup.sh chmod +x /usr/local/bin/rsync_backup.sh /etc/cron.daily/backup # configure log server curl -s $CONFIG/common/99-remotelog.conf -o /etc/rsyslog.d/99-remotelog.conf systemctl restart rsyslog # enable mail to the central email server echo "root: ewilliam@williams.localnet" >> /etc/aliases echo "ewilliam: ewilliam@williams.localnet" >> /etc/aliases # get the standard /etc/hosts file curl -s $CONFIG/hosts -o /etc/hosts # install webmin curl -s $CONFIG/centos7/webmin.repo > /etc/yum.repos.d/webmin.repo curl -s https://download.webmin.com/jcameron-key.asc -o /tmp/webmin-key.asc && \ rpm --import /tmp/webmin-key.asc && \ rm /tmp/webmin-key.asc yum -y install webmin # install the host/known_hosts synchronization curl -s $CONFIG/host_check.sh > /etc/cron.hourly/host_check chmod +x /etc/cron.hourly/host_check # install other status checks curl -s $CONFIG/common/ssd-endurance > /etc/cron.weekly/ssd-endurance chmod +x /etc/cron.weekly/ssd-endurance # now reboot reboot
Next Steps[edit]
The rest of the installation process is not OS-dependent and is described here.