Installation of CentOS 7 1810 on cybele PC

Goal: Install centos 7 on cybele (new PC/new install).
      quicklook needs (centos 7 + idl ).
Date: 2019/03

1. HARDWARE  

   ASUS TUF-Z390-Pro LGA 1151 ATX,
	i7-9700K 3.6GHz (300 series) 95W
   Corsair H60 2018 Radiator cooler.
   32GB (2x16)DDR4 3200.
   Samsung 860 EVO 500GB SSD, DVD.

2. DVD Install and update 

   Made usb boot device with centos7 1810 + rufus 3.4 in ISO image mode
   Boot with USB in UEFI mode.
   Install Development and Creative Workstation
   partitions were:
      sda1 /boot/efi 200mb
      sda2 /          50GB    (centos 7 root)
   created local 'irtf' user.

   - 1st boot

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

     yum update
     reboot

#to list groups: yum group list ids

yum groupinstall developer-workstation-environment development scientific php office-suite kde-desktop 

yum install nano net-tools gnuplot gsl gsl-devel vnc vnc-server ImageMagick \
   tk qt-devel rdist dump telnet expect expect-devel expectk hg mutt \
    gtk2-devel MySQL-python python-matplotlib python-devel.x86_64 \
    hplip samba ypbind rpcbind nfs-utils nfs-utils-lib smartmontools \
    gtk3-devel

make droot, mroot
update root password
Only if created local user:
   move irtf (local user) to /home2, as /home will be a automount

To get verbose booting: 
	plymouth-set-default-theme details; dracut -f


3. General IRTF setup 

Setup Manual IP and disable network manager

   yum -y install net-tools
   vi  /etc/sysconfig/network-scripts/ifcfg-eno1
   change:
      BOOTPROTO="dhcp"
   to:
      BOOTPROTO="none"
   check for static setup: 
      ONBOOT=yes
      IPADDR=128.171.110.147
      PREFIX=25
      GATEWAY=128.171.110.129
      add NM_CONTROLLED=no

   systemctl stop NetworkManager
   systemctl disable NetworkManager
   systemctl restart network
   chkconfig network on

Setup NTP client (chrony)

   yum install chrony
   vi /etc/chrony.conf
     comment out centos.pool servers, and add:
     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

   to insure chronyc was enabled:
      systemctl status chronyd
   to start and enable :
      systemctl start chronyd
      systemctl enable 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
   vi /etc/nsswitch.conf
   systemctl enable rpcbind ypbind
   systemctl start rpcbind ypbind


Check:
   /etc/hosts
   /etc/yp.conf      
   /etc/resolv.conf  - add all DNS servers.
   /etc/auto.master  - use yp table

  date or ls -l /etc/localtime to show timezone. Was wrong so I did:
  # timedatectl set-timezone Pacific/Honolulu

Install NFS

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

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

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

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

Now you should have the IRTF users account and access general IRTF shared disks.

4. more centos installation and setup 

smartd
   Add devices to scan in conf:
      vi /etc/smartmontools/smartd.conf

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

/etc/rc.local Enable & add commands
   To enable
      chmod u+x /etc/rc.d/rc.local
      systemctl start rc-local
   line to add:
      #
      # if you screen blanck after 10 min or so, this stops it
      #
      /usr/bin/setterm -blank 0

      #
      # modify message queue defaults for spex, moris, ...
      #
      echo "40"   > /proc/sys/fs/mqueue/msg_max

copy duke authorized keys:  (DID NOT DO, Duke was down).
   scp -p duke:/root/root/.ssh/authorized_keys ~root/.ssh/authorized_keys
   vi /etc/ssh/ssh_config
     add: ForwardX11 yes

create /dev/sda3, sda4:
   gdisk /dev/sda
   n to create
      sda3, 50G,     8300
      sda4,  365.6G, 8300
   reboot so linux sees the partition

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

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

   Add mount to /etc/fstab   # note: used /dev/sdaX, not UUID
    
set cybele requirements (IDL, /usr/local)

EPL

   yum -y install epel-release

PIP, Python Modules:

   install from base:
   yum install python-devel.x86_64 MySQL-python python-matplotlib numpy scipy sympy   # from base

   PIP from EPL:

   Install some python libs using pip:
   pip install numpy scipy sympy matplotlib
   pip install future
   pip install astropy
      conflicted with base numpy, did 'yum remove numpy' then redid 'pip install astropy'.

   A better way is anaconda for centos7?

copied /usr/local/ from venom (venom has IDL 7.1.1):

   ssh venom -l root
   rsync -azv /usr/local/bin/             cybele:/usr/local/bin
   rsync -azv /usr/local/dv/              cybele:/usr/local/dv 

   # IDL
   rsync -azv /usr/local/astron           cybele:/usr/local/astron
   rsync -azv /usr/local/astron.20150325/ cybele:/usr/local/astron.20150325
   rsync -azv /usr/local/rsi/             cybele:/usr/local/rsi
   rsync -azv /etc/idl/                   cybele:/etc/idl