Difference between revisions of "Guide to install Linux on lab computer"

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(RPMForge)
 
(218 intermediate revisions by 4 users not shown)
Line 1: Line 1:
# Preparation
+
==CentOS 6.2==
## request static IP address in 137.110.118 or 137.110.119 subnet, suggest DNS name (find inspiration at [http://simple.wikipedia.org/wiki/List_of_rocks])
+
 
## send DNS name to Jurgen to update data bank at [http://research.calit2.net/event-coordination/index.php/List_of_IP_addresses]
+
===Preparation===
# Hardware
+
# Request static IP address in 137.110.118 or 137.110.119 subnet, suggest DNS name (find inspiration at [http://simple.wikipedia.org/wiki/List_of_rocks])
## set up computer, monitor, keyboard, mouse on lab desk
+
# Send DNS name to Jurgen to update data bank at [http://research.calit2.net/event-coordination/index.php/List_of_IP_addresses]
## make sure mouse is wired and optical
+
 
## connect monitor with DVI cable, not VGA
+
===Hardware===
## connect network cable to activated Ethernet jack
+
# Set up computer, monitor, keyboard, mouse on lab desk
# Install Operating System
+
# Make sure mouse is wired and optical; talk to Jurgen if not
## insert CentOS 5.2 DVD-ROM
+
# Connect monitor via DVI or HDMI, not VGA
## reboot computer
+
# Connect network cable to activated Ethernet jack
## hit F12 during POST and select external USB or DVD drive to boot from DVD
+
 
## use default regional settings (US/English)
+
===Install Operating System===
## set root password to IVL password
+
# insert CentOS on USB thumb drive
## in time zone settings: enable NTP
+
# reboot computer
## Configure network
+
# in boot manager: select DVD drive to boot from USB
## start network configuration tool in System->Administration->Network
+
# use default regional settings (US/English)
## double click on connected Ethernet port
+
# set root password
## enter this computer's static IP address
+
# in time zone settings: enable NTP
## net mask: 255.255.255.0
+
# instead of doing a minimum install, select "Software Development Workstation"
## DNS servers: 132.239.1.52, 128.54.16.2, 132.239.0.252
+
# Configure network
## reboot
+
# start network configuration tool in System->Administration->Network
# Configure server access
+
# double click on connected Ethernet port
## add machine's IP address to server's "exports" file
+
# enter this computer's static IP address
## "exportfs -r" on server
+
# net mask: 255.255.255.0
## add mount line to /etc/fstab (copy from sessions.ucsd.edu)
+
# DNS server: 132.239.0.252
## mount -a
+
# reboot
# Give OS time to get network ready before mounting the NFS
+
 
## "vi /etc/init.d/netfs"
+
===Configure File Server Access===
## insert the following line: <pre>action $"Sleeping for 30 secs: " sleep 30</pre> between line: <pre>[ ! -f /var/lock/subsys/portmap ] && service portmap start</pre> and <pre>action $"Mounting NFS filesystems: " mount -a -t nfs,nfs4</pre>This makes sure the server directory gets mounted.
+
* Add machine's IP address to server's "exports" file
# Copy accounts
+
* "exportfs -r" on server
## ssh root@sessions
+
* Add two lines to /etc/fstab:
## cd .ssh
+
<pre>
## scp * root@<new_machine>:.ssh
+
  137.110.118.210:/raid/ivlhome  /home        nfs    defaults        0 0
## cd
+
  137.110.118.211:/data   /data        nfs    defaults        0 0
## vi labnodes.txt
+
</pre>
## add "<new_machine>"
+
* Remove from /etc/fstab to avoid conflict with new /home:
## ./passsync
+
<pre>
# Install additional libraries
+
  /dev/mapper/centos-home /home                  xfs    defaults        0 0
## yum -y groupinstall "Development Tools" <-- run twice
+
</pre>
## yum -y groupinstall "Development Libraries"
+
* mkdir /data
## yum -y groupinstall "Chinese Support"
+
* Enable NFS services:
## yum -y install kernel-devel
+
<pre>
## yum -y install arts-devel
+
  systemctl enable nfs.service
## yum -y install freeglut.x86_64
+
  systemctl start nfs.service
## yum -y install freeglut-devel.x86_64
+
</pre>
## yum -y install libpng-devel.x86_64
+
* Open up firewall for NFS:
## rpm -Uhv /home/jschulze/drivers/Cg-2.0.0015-0.x86_64.rpm
+
<pre>
# Update all installed CentOS software:
+
  firewall-cmd --permanent --add-port=111/tcp
## yum -y update
+
  firewall-cmd --permanent --add-port=54302/tcp
## reboot
+
  firewall-cmd --permanent --add-port=20048/tcp
# Install graphics driver
+
  firewall-cmd --permanent --add-port=2049/tcp
## on login screen: hit ctrl-alt-F1
+
  firewall-cmd --permanent --add-port=46666/tcp
## log in as root
+
  firewall-cmd --permanent --add-port=42955/tcp
## type "init 3"
+
  firewall-cmd --permanent --add-port=875/tcp
## "sh /home/jschulze/drivers/NVIDIA-Linux-x86_64-173.14.12-pkg2.run"
+
</pre>
## skip FTP server lookup
+
* mount -a
## do not install 32 bit compatibility libraries
+
 
## do auto-configure graphics driver
+
===Install Additional Library Repositories===
## reboot
+
 
 +
===RPM Fusion===
 +
 
 +
RHEL 6 or compatible like CentOS:
 +
 
 +
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm
 +
 
 +
RHEL 7 or compatible like CentOS:
 +
 
 +
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
 +
 
 +
====Linuxtech====
 +
 
 +
* su
 +
* vi /etc/yum.repos.d/linuxtech.repo
 +
* Add this to file and save:
 +
<pre>
 +
[linuxtech]
 +
name=LinuxTECH
 +
baseurl=http://pkgrepo.linuxtech.net/el6/release/
 +
enabled=1
 +
gpgcheck=1
 +
gpgkey=http://pkgrepo.linuxtech.net/el6/release/RPM-GPG-KEY-LinuxTECH.NET
 +
</pre>
 +
 
 +
===Install additional libraries===
 +
Install libraries which are part of CentOS:
 +
<pre>
 +
yum -y install eclipse
 +
yum -y install kernel-devel
 +
yum -y install arts-devel
 +
yum -y install freetype-devel
 +
yum -y install freeglut-devel
 +
yum -y install ImageMagick-devel
 +
yum -y install ImageMagick-c++-devel.x86_64
 +
yum -y install emacs
 +
yum -y install screen
 +
yum -y install gnuplot
 +
yum -y install latex2html
 +
yum -y install gsl-devel
 +
yum -y install lapack-devel
 +
yum -y install opencv-devel
 +
yum -y install giflib-devel
 +
yum -y install ffmpeg-devel
 +
yum -y install gstreamer-ffmpeg
 +
yum -y install selinux-policy.noarch
 +
yum -y install xorg-x11-apps
 +
yum -y install glibc-devel.i686
 +
yum -y install libstdc++.i686
 +
yum -y install libstdc++.so.5
 +
yum -y install libstdc++.so.6
 +
yum -y install freeglut-devel.x86_64
 +
yum -y install python-devel.x86_64
 +
yum -y install libidn-devel.x86_64
 +
yum -y install e2fsprogs-devel.x86_64
 +
yum -y install ncurses-devel.i686
 +
yum -y install ncurses-devel.x86_64
 +
yum -y install zlib.i686
 +
yum -y install tcl-devel
 +
yum -y install tk-devel
 +
yum -y install xterm
 +
yum -y install vim-X11
 +
yum -y install telnet
 +
yum -y install xclip
 +
yum -y install uuid-devel
 +
yum -y install meld
 +
yum -y install openal-soft-devel
 +
yum -y install freealut-devel
 +
yum -y install libspnav-devel
 +
yum -y install octave-devel
 +
yum -y install pcre-devel
 +
yum -y install recordmydesktop
 +
yum -y install epel-release
 +
ln -s /usr/lib64/libhdf5.so.7 /usr/lib64/libhdf5.so.6
 +
</pre>
 +
 
 +
The following libraries are not part of CentOS and will require the above listed external repos to be installed, or rely on local files:
 +
<pre>
 +
yum -y install gkrellm
 +
yum -y install tcptrack
 +
yum -y install google-chrome-stable
 +
yum -y install fltk
 +
yum -y install fltk-fluid
 +
yum -y install cmake28
 +
yum -y install glew
 +
yum -y install mysql++-devel
 +
yum -y install mplayer
 +
yum -y install directfb
 +
yum -y install ntfs-3g
 +
rpm -Uhv /home/jschulze/rpm/Cg-2.1_November2008_x86_64.rpm
 +
rpm -Uhv /home/jschulze/rpm/mxml-2.2.2-8.el5.ccrma.x86_64.rpm
 +
ln -s /usr/lib64/libmxml.so.1 /usr/lib64/libmxml.so
 +
</pre>
 +
 
 +
====Google====
 +
 
 +
Add to /etc/yum.repos.d/google-chrome.repo:
 +
 
 +
<pre>
 +
[google-chrome]
 +
name=google-chrome - 64-bit
 +
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
 +
enabled=1
 +
gpgcheck=1
 +
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
 +
</pre>
 +
 
 +
===Bring All Yum Packages Up To Date===
 +
# yum clean all
 +
# yum -y update
 +
# reboot
 +
# If an Nvidia driver was installed before the update, it may have to be reinstalled now.
 +
 
 +
===Install graphics driver===
 +
* Disable default Nvidia driver (Nouveau)
 +
** create config file: vi /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
 +
** contents for this file:
 +
<pre>
 +
blacklist nouveau
 +
options nouveau modeset=0
 +
</pre>
 +
** vi /etc/grub.conf
 +
** add rdblacklist=nouveau to all kernel entries:
 +
<pre>
 +
kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/vg_pumice-lv_root rd_NO_LUKS
 +
KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=vg_pumice/lv_root
 +
SYSFONT=latarcyrheb-sun16 rhgb rd_LVM_LV=vg_pumice/lv_swap rd_NO_DM rdblacklist=nouveau
 +
</pre>
 +
** Sometimes this is also necessary (not sure when it is):
 +
<pre>
 +
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
 +
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
 +
</pre>
 +
** reboot
 +
* on login screen: hit ctrl-alt-F2
 +
* log in as root
 +
* "init 3"
 +
* log in as root again
 +
* Install Nvidia driver:
 +
** "sh /home/jschulze/rpm/NVIDIA-Linux-x86_64-367.44.run"
 +
*** If installation fails with message "You appear to be running an X server": rm /tmp/.X0-lock and rm /tmp/.X1-lock
 +
** 32 bit compatibility libraries not needed but ok to install
 +
** yes to run nvidia-xconfig utility
 +
* reboot
 +
 
 +
===Copy root's ssh keys===
 +
# ssh root@sessions.ucsd.edu
 +
# cd .ssh
 +
# scp * root@<new_machine>:.ssh
 +
# exit
 +
 
 +
===Add user accounts===
 +
* Copy passwd, shadow and group files from sessions.
 +
* On new computer:
 +
** cd /etc
 +
** scp root@sessions.ucsd.edu:/etc/passwd .
 +
** scp root@sessions.ucsd.edu:/etc/shadow .
 +
** scp root@sessions.ucsd.edu:/etc/group .
 +
 
 +
===Disable user list at login===
 +
* As root type on command line:
 +
<pre>
 +
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type Boolean --set /apps/gdm/simple-greeter/disable_user_list True
 +
</pre>
 +
 
 +
===Install Trackd (only for VR systems)===
 +
* copy trackd subdirectory from Nexcave /usr/local/trackd/
 +
* copy trackd script from Nexcave's /etc/init.d/trackd
 +
* install older version of libstdc++ with .so.5 libraries, for instance libstdc++-3.3.2-2.i386.rpm
 +
 
 +
===Install Printer (optional)===
 +
* To install in Linux, go to System->Administration->Printing and click "New".
 +
* IP address:
 +
* Printer type: Brother

Latest revision as of 15:45, 1 June 2018

Contents

CentOS 6.2

Preparation

  1. Request static IP address in 137.110.118 or 137.110.119 subnet, suggest DNS name (find inspiration at [1])
  2. Send DNS name to Jurgen to update data bank at [2]

Hardware

  1. Set up computer, monitor, keyboard, mouse on lab desk
  2. Make sure mouse is wired and optical; talk to Jurgen if not
  3. Connect monitor via DVI or HDMI, not VGA
  4. Connect network cable to activated Ethernet jack

Install Operating System

  1. insert CentOS on USB thumb drive
  2. reboot computer
  3. in boot manager: select DVD drive to boot from USB
  4. use default regional settings (US/English)
  5. set root password
  6. in time zone settings: enable NTP
  7. instead of doing a minimum install, select "Software Development Workstation"
  8. Configure network
  9. start network configuration tool in System->Administration->Network
  10. double click on connected Ethernet port
  11. enter this computer's static IP address
  12. net mask: 255.255.255.0
  13. DNS server: 132.239.0.252
  14. reboot

Configure File Server Access

  • Add machine's IP address to server's "exports" file
  • "exportfs -r" on server
  • Add two lines to /etc/fstab:
  137.110.118.210:/raid/ivlhome   /home         nfs     defaults        0 0
  137.110.118.211:/data	  /data         nfs     defaults        0 0
  • Remove from /etc/fstab to avoid conflict with new /home:
  /dev/mapper/centos-home /home                   xfs     defaults        0 0
  • mkdir /data
  • Enable NFS services:
  systemctl enable nfs.service
  systemctl start nfs.service
  • Open up firewall for NFS:
  firewall-cmd --permanent --add-port=111/tcp
  firewall-cmd --permanent --add-port=54302/tcp
  firewall-cmd --permanent --add-port=20048/tcp
  firewall-cmd --permanent --add-port=2049/tcp
  firewall-cmd --permanent --add-port=46666/tcp
  firewall-cmd --permanent --add-port=42955/tcp
  firewall-cmd --permanent --add-port=875/tcp
  • mount -a

Install Additional Library Repositories

RPM Fusion

RHEL 6 or compatible like CentOS:

sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm

RHEL 7 or compatible like CentOS:

sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm

Linuxtech

  • su
  • vi /etc/yum.repos.d/linuxtech.repo
  • Add this to file and save:
[linuxtech]
name=LinuxTECH
baseurl=http://pkgrepo.linuxtech.net/el6/release/
enabled=1
gpgcheck=1
gpgkey=http://pkgrepo.linuxtech.net/el6/release/RPM-GPG-KEY-LinuxTECH.NET

Install additional libraries

Install libraries which are part of CentOS:

yum -y install eclipse
yum -y install kernel-devel
yum -y install arts-devel
yum -y install freetype-devel
yum -y install freeglut-devel
yum -y install ImageMagick-devel
yum -y install ImageMagick-c++-devel.x86_64
yum -y install emacs
yum -y install screen
yum -y install gnuplot
yum -y install latex2html
yum -y install gsl-devel
yum -y install lapack-devel
yum -y install opencv-devel
yum -y install giflib-devel
yum -y install ffmpeg-devel
yum -y install gstreamer-ffmpeg
yum -y install selinux-policy.noarch
yum -y install xorg-x11-apps
yum -y install glibc-devel.i686
yum -y install libstdc++.i686
yum -y install libstdc++.so.5
yum -y install libstdc++.so.6
yum -y install freeglut-devel.x86_64
yum -y install python-devel.x86_64
yum -y install libidn-devel.x86_64
yum -y install e2fsprogs-devel.x86_64
yum -y install ncurses-devel.i686
yum -y install ncurses-devel.x86_64
yum -y install zlib.i686
yum -y install tcl-devel
yum -y install tk-devel
yum -y install xterm
yum -y install vim-X11
yum -y install telnet
yum -y install xclip
yum -y install uuid-devel
yum -y install meld
yum -y install openal-soft-devel
yum -y install freealut-devel
yum -y install libspnav-devel
yum -y install octave-devel
yum -y install pcre-devel
yum -y install recordmydesktop
yum -y install epel-release
ln -s /usr/lib64/libhdf5.so.7 /usr/lib64/libhdf5.so.6

The following libraries are not part of CentOS and will require the above listed external repos to be installed, or rely on local files:

yum -y install gkrellm
yum -y install tcptrack
yum -y install google-chrome-stable
yum -y install fltk
yum -y install fltk-fluid
yum -y install cmake28
yum -y install glew
yum -y install mysql++-devel
yum -y install mplayer
yum -y install directfb
yum -y install ntfs-3g
rpm -Uhv /home/jschulze/rpm/Cg-2.1_November2008_x86_64.rpm
rpm -Uhv /home/jschulze/rpm/mxml-2.2.2-8.el5.ccrma.x86_64.rpm
ln -s /usr/lib64/libmxml.so.1 /usr/lib64/libmxml.so

Google

Add to /etc/yum.repos.d/google-chrome.repo:

[google-chrome]
name=google-chrome - 64-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Bring All Yum Packages Up To Date

  1. yum clean all
  2. yum -y update
  3. reboot
  4. If an Nvidia driver was installed before the update, it may have to be reinstalled now.

Install graphics driver

  • Disable default Nvidia driver (Nouveau)
    • create config file: vi /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
    • contents for this file:
blacklist nouveau
options nouveau modeset=0
    • vi /etc/grub.conf
    • add rdblacklist=nouveau to all kernel entries:
kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/vg_pumice-lv_root rd_NO_LUKS 
KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=vg_pumice/lv_root 
SYSFONT=latarcyrheb-sun16 rhgb rd_LVM_LV=vg_pumice/lv_swap rd_NO_DM rdblacklist=nouveau
    • Sometimes this is also necessary (not sure when it is):
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
    • reboot
  • on login screen: hit ctrl-alt-F2
  • log in as root
  • "init 3"
  • log in as root again
  • Install Nvidia driver:
    • "sh /home/jschulze/rpm/NVIDIA-Linux-x86_64-367.44.run"
      • If installation fails with message "You appear to be running an X server": rm /tmp/.X0-lock and rm /tmp/.X1-lock
    • 32 bit compatibility libraries not needed but ok to install
    • yes to run nvidia-xconfig utility
  • reboot

Copy root's ssh keys

  1. ssh root@sessions.ucsd.edu
  2. cd .ssh
  3. scp * root@<new_machine>:.ssh
  4. exit

Add user accounts

  • Copy passwd, shadow and group files from sessions.
  • On new computer:
    • cd /etc
    • scp root@sessions.ucsd.edu:/etc/passwd .
    • scp root@sessions.ucsd.edu:/etc/shadow .
    • scp root@sessions.ucsd.edu:/etc/group .

Disable user list at login

  • As root type on command line:
gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type Boolean --set /apps/gdm/simple-greeter/disable_user_list True

Install Trackd (only for VR systems)

  • copy trackd subdirectory from Nexcave /usr/local/trackd/
  • copy trackd script from Nexcave's /etc/init.d/trackd
  • install older version of libstdc++ with .so.5 libraries, for instance libstdc++-3.3.2-2.i386.rpm

Install Printer (optional)

  • To install in Linux, go to System->Administration->Printing and click "New".
  • IP address:
  • Printer type: Brother