Basic Rocky Linux 8 Installation

From WilliamsNet Wiki
Revision as of 22:30, 3 February 2024 by 10.42.0.1 (talk) (Created page with "== Rocky Linux 8 Distribution Install == 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 == 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/...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.