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

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(Optional: Copy ssh keys)
(RPMForge)
 
(144 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==CentOS 5.5==
+
==CentOS 6.2==
  
 
===Preparation===
 
===Preparation===
## 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])
+
# 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]
+
# Send DNS name to Jurgen to update data bank at [http://research.calit2.net/event-coordination/index.php/List_of_IP_addresses]
# Hardware
+
## Set up computer, monitor, keyboard, mouse on lab desk
+
## Make sure mouse is wired and optical; talk to Jurgen if not
+
## Connect monitor with DVI cable, not VGA
+
## Connect network cable to activated Ethernet wall jack
+
# Install Operating System
+
## insert CentOS DVD-ROM
+
## reboot computer
+
## in boot manager: select DVD drive to boot from DVD
+
## use default regional settings (US/English)
+
## set root password
+
## in time zone settings: enable NTP
+
## Configure network
+
## start network configuration tool in System->Administration->Network
+
## double click on connected Ethernet port
+
## enter this computer's static IP address
+
## net mask: 255.255.255.0
+
## DNS servers: 132.239.0.252, 128.54.16.2
+
## reboot
+
  
===Configure server access===
+
===Hardware===
## add machine's IP address to server's "exports" file
+
# Set up computer, monitor, keyboard, mouse on lab desk
## "exportfs -r" on server
+
# Make sure mouse is wired and optical; talk to Jurgen if not
## add mount line to /etc/fstab (copy from sessions.ucsd.edu)
+
# Connect monitor via DVI or HDMI, not VGA
## mount -a
+
# Connect network cable to activated Ethernet jack
  
===Optional: Delay NFS Mount===
+
===Install Operating System===
# If home directories aren't mounted upon reboot: give OS time to get network ready before mounting the NFS
+
# insert CentOS on USB thumb drive
## "vi /etc/init.d/netfs"
+
# reboot computer
## 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.
+
# in boot manager: select DVD drive to boot from USB
 +
# use default regional settings (US/English)
 +
# set root password
 +
# in time zone settings: enable NTP
 +
# instead of doing a minimum install, select "Software Development Workstation"
 +
# Configure network
 +
# start network configuration tool in System->Administration->Network
 +
# double click on connected Ethernet port
 +
# enter this computer's static IP address
 +
# net mask: 255.255.255.0
 +
# DNS server: 132.239.0.252
 +
# 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:
 +
<pre>
 +
  137.110.118.210:/raid/ivlhome  /home        nfs    defaults        0 0
 +
  137.110.118.211:/data   /data        nfs    defaults        0 0
 +
</pre>
 +
* Remove from /etc/fstab to avoid conflict with new /home:
 +
<pre>
 +
  /dev/mapper/centos-home /home                  xfs    defaults        0 0
 +
</pre>
 +
* mkdir /data
 +
* Enable NFS services:
 +
<pre>
 +
  systemctl enable nfs.service
 +
  systemctl start nfs.service
 +
</pre>
 +
* Open up firewall for NFS:
 +
<pre>
 +
  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
 +
</pre>
 +
* 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:
 +
<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 additional libraries===
 +
Install libraries which are part of CentOS:
 
<pre>
 
<pre>
yum -y groupinstall "Development Tools"
+
yum -y install eclipse
yum -y groupinstall "Development Libraries"
+
yum -y groupinstall "Chinese Support"
+
yum -y install yum-utils
+
 
yum -y install kernel-devel
 
yum -y install kernel-devel
 
yum -y install arts-devel
 
yum -y install arts-devel
yum -y install curl-devel.x86_64
+
yum -y install freetype-devel
yum -y install freetype-devel.x86_64
+
yum -y install freeglut-devel
yum -y install freeglut.x86_64
+
yum -y install ImageMagick-devel
yum -y install freeglut-devel.x86_64
+
yum -y install libpng-devel.x86_64
+
yum -y install compat-libstdc++-33
+
yum -y install boost.x86_64
+
yum -y install boost-devel.x86_64
+
yum -y install ImageMagick.x86_64
+
yum -y install ImageMagick-devel.x86_64
+
yum -y install ImageMagick-c++.x86_64
+
 
yum -y install ImageMagick-c++-devel.x86_64
 
yum -y install ImageMagick-c++-devel.x86_64
yum -y install mysql.x86_64
 
yum -y install mysql-devel.x86_64
 
yum -y install libXp.x86_64
 
 
yum -y install emacs
 
yum -y install emacs
 
yum -y install screen
 
yum -y install screen
 
yum -y install gnuplot
 
yum -y install gnuplot
yum -y install java-1.6.0-openjdk*.x86_64
 
 
yum -y install latex2html
 
yum -y install latex2html
yum -y install libgfortran
+
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/Cg-2.1_November2008_x86_64.rpm
 
rpm -Uhv /home/jschulze/rpm/mxml-2.2.2-8.el5.ccrma.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
 
ln -s /usr/lib64/libmxml.so.1 /usr/lib64/libmxml.so
rpm -Uhv /home/jschulze/rpm/opencv-1.0.0-1.el5.rf.x86_64.rpm
 
 
</pre>
 
</pre>
  
===Optional: Install Java 1.6.0_14===
+
====Google====
 +
 
 +
Add to /etc/yum.repos.d/google-chrome.repo:
 +
 
 
<pre>
 
<pre>
rpm -Uhv /home/jschulze/rpm/jdk-6u14-linux-amd64.rpm
+
[google-chrome]
/usr/sbin/alternatives --install /usr/bin/java java /usr/java/latest/bin/java 2
+
name=google-chrome - 64-bit
/usr/sbin/alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 2
+
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
</pre>
+
enabled=1
Then run interactive configuration tool, enter number for correct version.
+
gpgcheck=1
<pre>
+
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
/usr/sbin/alternatives --config java
+
/usr/sbin/alternatives --config javac
+
 
</pre>
 
</pre>
  
===Update Everything To Latest Version===
+
===Bring All Yum Packages Up To Date===
## yum -y update       <b>Note: run this command several times until no further updates are done</b>
+
# yum clean all
## reboot
+
# yum -y update
 +
# reboot
 +
# If an Nvidia driver was installed before the update, it may have to be reinstalled now.
  
 
===Install graphics driver===
 
===Install graphics driver===
## on login screen: hit ctrl-alt-F1
+
* Disable default Nvidia driver (Nouveau)
## log in as root
+
** create config file: vi /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
## type "init 3"
+
** contents for this file:
## "sh /home/jschulze/rpm/NVIDIA-Linux-x86_64-190.53-pkg2.run"
+
<pre>
## skip FTP server lookup
+
blacklist nouveau
## do not install 32 bit compatibility libraries
+
options nouveau modeset=0
## do auto-configure graphics driver
+
</pre>
## reboot
+
** 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===
 
===Copy root's ssh keys===
## ssh root@obsidian.ucsd.edu
+
# ssh root@sessions.ucsd.edu
## cd .ssh
+
# cd .ssh
## scp * root@<new_machine>:.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 RPMforge repository===
+
===Install Printer (optional)===
## rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
+
* To install in Linux, go to System->Administration->Printing and click "New".
## rpm -i /home/jschulze/rpm/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
+
* 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