Installation of RL8 on IDA PC

Goal: Install RockyLinux 8 (new PC/new install).
      Purchased 9 computer for lab(2), ishell(3), spex(3), and mirsi(1).
      This document describes the initial installation of RL8 on the systems.
Date: 2022/07

1. Hardware  

ID1/ID2, Mirsi, and iSHELL computers:
 ASUS Prime B560-PLUS MB, i5-11400 CPU, 16GB DDR4 RAM, 500GB SSD
 650W PS, Thermalake V100 case/Antech VSK4000 case.
 Build to order system from MagicMicro.com purchased in 2022/07.

Built the Spex computers (same MB, CPU) purchased on 8/2022:
 ASUS Prime B560-Plus LGA 1200 ATX, i5-11400 CPU,
 Noctua NH-U9S Cooler, Corsair LPX 16GB (2x8GB) DDR4 3200MHz,
 Samsung 870 EVO 500GB 2.5 SSD, Antec VSK4000E-U3 Case.
 SeaSonic S12III 650W P/S.

BIOS changes:
   Boot-> Fast Boot -> disabled.
   Advance -> AMP configuration -> Restore AC power loss -> Power On

2. Linux installation

Make usb bood device with RockyLinux 8.6-x86_64-dvd.iso + rufus 3.19. 
Boot with usb
   - Date and Time: select Pacific/Honolulu timezone
   - Software Selection: Select workstation: add GNOME apps, Office Suite, Development tool, Graphical Admin Tool
        Scientific support, system tools.
   - Instatation Destination: Select disk, and do Custom Partition:
     Standard partition
        1. sda1 /boot/efi   200M efi system partition
        2. sda2 /           60G  ext4
   - set a root password.
   - create a local irtf user.
   - Network&Hostname: static IP, ida    # forgot on 1st installation. Will set to static later...

   Eject USB and reboot

1st boot:
     
   Turn off selinux:
      vi /etc/selinux/config
      SELINUX=disabled
   Stop & Turn off filewall:
      systemctl stop    firewalld
      systemctl disable firewalld

   dnf upgrade      # same as yum --obsoletes update
   reboot

   (one PC frozed after dnf upgrade/reboot. Updated BIOS from 1410 to 1601 fixed it).

Setup the static IP using nmtui  (since I forgot to set static IP at installation).
   dnf install net-tools
   nmtui
      - set IP, gateway, DNS Server, search domains. And Automatically connect.
      - also used nmtui to set hostname: ida1.ifa.hawaii.edu
   reboot to insure it come up correctly.

Insure we installed everything we want:

   dnf groupinstall "Development Tools" "Graphical Administration Tools"  \
                    "Scientific Support" "System Tools" "Office Suite and Productivity"

   dnf install nano net-tools gnuplot gsl gsl-devel tigervnc tigervnc-server \
       expect mercurial mutt gtk2-devel hplip samba ypbind rpcbind gtk3-devel \
       tcsh autofs ntpstat xterm mariadb dump gnome-tweaks lm_sensors libusb  \
       ncurses-devel

Now you have a complete working system with desktop.

3. Setup as basic IRTF clients

Accounts:
  move root to /root/root; make mroot,droot
  update root passwd to standard IRTF root.
  Only if created local user:
     move irtf (local user) to /home2, as /home will be an automount

NTP:
  date - to show timezone. if wrong: timedatectl set-timezone Pacific/Honolulu

  dnf -y install chrony ntpstat

   # specify local ntp servers
   vi /etc/chrony.conf
   #pool 2.centos.pool.ntp.org iburst
   server  duke.ifa.hawaii.edu      iburst
   server  goblin.ifa.hawaii.edu    iburst
   pool    ntproundtop.hawaii.edu   iburst maxsources 3
   server  irtfgps2.ifa.hawaii.edu  iburst

   #enable chronyd
   systemctl enable --now chronyd 

   # chronyc can be used to show status:
   chronyc sources        # displayinfo about current sources
   chronyc sourcestats    # Display estimation info about current sources
   chronyc tracking       # display system time information
   chronyc activity       # show the NTP sources

Setup as NIS Client:
   vi /etc/yp.conf      # add the following lines
      domain irtf.ifa.hawaii.edu server goblin 
   vi /etc/hosts        # define the NIS servers

   authselect select nis
   systemctl enable --now rpcbind ypbind

Install NFS

  vi /etc/idmapd.conf
     Domain=ifa.hawaii.edu

   Enable service:
      systemctl enable rpcbind
      systemctl enable nfs-server
      systemctl enable autofs

   Start service:
      systemctl start rpcbind
      systemctl start nfs-server
      systemctl start autofs

make links for automounts instrurments:
   ln -s /netdisks/htdocs         /htdocs
   ln -s /netdisks/starcatalogs4  /starcatalogs4
   ln -s /netdisks/irtf.backup    /irtf.backup
   ln -s /netdisks/scrs1          /scrs1
   ln -s /netdisks/benchmark      /benchmark

Now you have IRTF client with YP,NFS,Automount.  IRTF accounts are working.

4. More setup

finish setting up /r3, /aux - only part of the disk was partitioned, formatted so ..
   fdisk /dev/sda
   used 'n'  to create 60G for /r3
   used 'n'  to create remainder (345.6G) for /aux
   'w' to write and exit

   mkfs.ext4 -v -m 2 /dev/sda3
   mkfs.ext4 -v -m 2 /dev/sda4

   blkid /dev/sda3          # used to print UUID
   blkid /dev/sda4

   mkdir /r3; mkdir /aux    # to ceate mounts
   vi /etc/fstab            # add mounts to fstab: used /dev/sdaX, ont UUID
      /dev/sda3               /r3                     ext4    defaults        1 2
      /dev/sda4               /aux                    ext4    defaults        1 2

smartd:
   Add devices to scan in conf:
      vi /etc/smartmontools/smartd.conf
         #DEVICESCAN  ...
         /dev/sda -a -d sat -o on -S on -s (S/../.././07|L/../../6/09) -R 194 -m root

   To enable service:
      systemctl enable smartd.service
   To start service:
      systemctl start smartd.service

    # you can review a list of recent test with
    smartctl -a /dev/sda

5. IRTF Instrument setup

/etc/rc.local Enable & add commands
   To enable
      chmod u+x /etc/rc.d/rc.local
      systemctl start rc-local

   Add the following lines to /etc/rc.local
      #
      # change the limits for the mqueues using the /proc file system for IRTF instrument software
      #    msg_max default is 10, need 40.
      #    msgsize_max default is 8192, 1024 is required.
      #
      echo "40"   > /proc/sys/fs/mqueue/msg_max
      echo "1024" > /proc/sys/fs/mqueue/msgsize_max

Set up 192.168.x.x IP address:
   This method for using ifcfg-eno1:0 did not work:
         cd /etc/sysconfig/network-scripts
         vi ifcfg-eno1:0                     # copy format for another RL8 computers
   so I used network manager to setup the 192.168 address, it add these line to ifcfg-eno1:
      IPADDR1=192.168.110.142
      PREFIX1=16
   also the link appears to be 100mb. (changing the cable make it 1000mb)

/usr/local/bin installs:
   Installed DV from /home/s2/src/dv.
   Needs:  bigdogio  dv  dvio  guidedogio  ielog  morisio  t3io

Make sure python works for /usr/local/bin/ielog:

   alternatives --set python /usr/bin/python3 
   pip3 install pymysql

Setup sudo for bigdog/guidedog XUI can chmod and chown for /scrs1 using
its xui/set_ownership_and_readonly script. Only needed for bigdog, guidedog, not littledog.

    # visudo
       added:
         #- allow bigdog/guidedog to run set_ownership_and_readonly as root
         bigdog   ALL=NOPASSWD : /bin/chmod, /bin/chown
         guidedog ALL=NOPASSWD : /bin/chmod, /bin/chown
         s2       ALL=NOPASSWD : /bin/chmod, /bin/chown
     # visudo -c