- Semesters - Project Work by Semester
- [System Description]
- Experiments - List of speech experiments
System Software Information
- RedHat supports 32-bit and 64-bit systems and is packed with new features and updates.
- RedHat 6 offers more reliability, and availability than ever before. With the new update, RedHat Enterprise Linux now also supports more sockets, cores, threads, and memory than previous RedHat versions and other Linux distributions.
- RedHat Linux is very flexible as it provides support for the latest applications, middleware products, cloud software, and runtime frameworks.
- Linux is known for being more secure than Windows operating systems, and RedHat has extended Linux's security by developing a layered defense for keeping desktops and servers secure.
- Inactive Link: http://www.sistina.com/rhel/server/features/
- Product Documentation for Red Hat Enterprise Linux 6: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/
- Red Hat Enterprise Linux Release Dates: https://access.redhat.com/articles/3078
- Red Hat Enterprise Linux Life Cycle: https://access.redhat.com/support/policy/updates/errata
|System OS||Requirements||Current Systems Cunfiguration||Meet Sphinx3 Requirements||Update available||Upgrade info|
|Currently Installed RedHat Enterprise 6.8||
RedHat Enterprise 7
Notes about software on drone machines
During the Spring of 2015 there was a lot of work done to move the old OpenSuse operating system over to Redhat. There were some problems when attempting to install new software on the drone machines as a result of the shift in operating systems. Emacs was requested by Prof. Jonas to be added to the new systems and Obelix was designated as the testing drone. An attempt to locally compile and install Emacs resulted in an error being thrown because there was no c compiler on the system. This was one of many issues that happened during the install process of Emacs. It was solved by giving Obelix temporary outside internet access, activating it's version of Redhat, installing the c compiler, and then finally running the yum install command for Emacs. Any software in the future that will be installed on these machines might run into similar problems.
Software Installation Procedure
- Before you begin
- Do not install software willy-nilly. The purpose of the Systems Group is to support the endeavors of the Speech Project as a whole, as such, any software/tool that is installed must have the least amount of impact to system performance with the most return value (bang for buck). You should do a decent amount of research on the software/tool and then gain approval from Professor Jonas to utilize said software. Once you have this approval, below is how you install it.
- Step 1
- You need to ensure that the Server you are installing on does not 'infect' the other servers with the software you are adding. This is so that if the installation breaks something, you haven't destroyed the entire system. We will be using Rome as the server in the following example.
- Disconnect Rome from Caesar and the Drones.
- Rome is connected to Caesar by a Mount and a Symbolic Link. You can confirm the Mount configuration by doing user@rome ~]$ more /etc/fstab within you should see caesar:/mnt/main /mnt/main nfs defaults 0 0 . To disconnect this, you can simply do umount -a and then confirm it has been removed by first doing cd / to get to the top directory, then cd /mnt within, you should no longer see that /mnt/main is mounted.
- Next, you need to ensure that the Symbolic Link is removed. The symbolic Link (aka Softlink) will be located on Rome at /usr/local this points back to /mnt/main/local to 'reproduce' the files at the /mnt/main/local location. You should google this to understand it better if you don't currently. -- When on Rome, do cd /usr then do ls -l (that's LS - L). If there is a symbolic link already active, it will read as root root 15 Mar 3 2016 local -> /mnt/main/local if there is no link it will simply read as root root 4096 Apr 15 2017 local. In order to unlink this, simply type rm nameoffolder while in the appropriate directory, or use the full path.
- Step 2
- You need to disconnect Rome from the local network and ensure it is only connected to the outside world. This is best done by physically disconnecting the Ethernet cables on the back. There is one Ethernet Cable that plugs into the switch rack on the right via a currently Orange Ethernet Cable. This is the outside world connection. Ask Jonas about this as we're not really suppose to use that except for temporary circumstances such as installations.
- Disconnect the local internet connection so as to isolate Rome from the System.
- Step 3
- You need to capture a snapshot of the current state of the installation locations for Linux. There are roughly 15 of them. If i don't write one later (and I'll add it below if I do) you will probably want to script this to keep your sanity.
- Capture a snapshot of Rome, Pre-installation.
- First you will need a destination to add/save your snapshots, you will see mine at /root/Documents/snapshot_ddmmyyyy and /root/Documents/snapshot_ddmmyyyy_softwarethatwasinstalled . Next, you will need to run the following command from within your snapshot directory to save the output. ls -al /file/path > file-path.txt where /file/path would be something like /usr/local/bin and saved as a text file with the same name, replacing the / with a -. The list of directories is below (in their txt format)
Note: There does not appear to be a /usr/local/lib64 folder as I believe these are 32 bit systems. Not sure at this point.
bin.txt lib.txt sbin.txt sys.txt usr-bin.txt usr-libexec.txt usr-lib.txt usr-local-bin.txt usr-local-lib.txt usr-sbin.txt usr-share-libgnomekbd.txt usr-share-libgweather.txt usr-share-libhangul.txt usr-share-librarian.txt usr-share-libthai.txt usr-share-libtool.txt usr-share-libwacom.txt usr.txt var-lib.txt var-local.txt
- Step 4
- Here is where you begin your actual install. If you cannot complete it by the standard yum install nameofsoftware you may need to create a repo. This would be done at /etc/yum.repos.d. This will change with whatever software you are installing, however; below is what was used for Nginx:
- Install your Software:
- At the directory /etc/yum.repos.d add the repo for the software you need to install, I.E.: nginx.repo then use vi or my preferred nano editor to modify the Nginx.repo.
[cat nginx.repo] [nginx] name=nginx repo baseurl='http://nginx.org/packages/rhel/6/$basearch/' gpgcheck=0 enabled=1
- Here, within the baseurl, the rhel/6, refers to the operating system and version number. That is Red Hat Enterprise Linux - Version 6. Once the repo has been created, re-run yum install nginx and you should be good.
- Step 5
- Capture post-install snapshot:
- Repeat Step 3 in a different directory so that you have snapshot_preinstall and snapshot_postinstall. This allows you to understand what files have been added/modified in the installation directories. -- If you do not intend on moving the installation up to Caesar so that all Drones can access the tool, then you do not need to complete a diff and run it by Jonas. --- If you do intend to move the installation to Caesar, you must run diff /root/Documents/snapshot_pre /root/Documents/snapshot_post and review with Jonas. Then likely perform a hotfix. I did not need to do this, so I do not have these instructions for you.
- Step 6
- Assuming you did not go with the hotfix method and only need the software installed on Rome, you are good to bring Rome in from the cold.
- Reconnect Rome to the System:
- First, re-connect the Ethernet cables you had removed previously. Disconnect the orange outside-line that you are only supposed to use temporarily. Then, on Rome, run the command mount -a to re-mount Caesar. You are done.
- Note: You will not want to reconnect the symbolic link at /usr/local as this will override the installation you just did. If for whatever reason you needed to do this, you will first want to move the local folder mv local local.old then make the new symbolic link ln -sf /mnt/main/local /usr (NOTE, This is LN not LS. Similar but different). The vice versa is unlink local then put the old directory back mv local.old local.
Hope that's helpful.