[root@cps4 ~]# parted /dev/sda
GNU Parted 2.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: LSI 9750-8i DISK (scsi)
Disk /dev/sda: 12.0TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

(parted) mklabel gpt                                                      
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes                                                               
(parted) mkpart primary 0 -0                                              
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Cancel                                                     

(parted) mkpart primary ext3 1 -1
(parted) print                                                            
Model: LSI 9750-8i DISK (scsi)
Disk /dev/sda: 12.0TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  12.0TB  12.0TB               primary

[root@cps4 ~]# mkfs -t ext3 /dev/sda1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
732422144 inodes, 2929670656 blocks
146483532 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
89407 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000, 214990848, 512000000, 550731776, 644972544, 1934917632, 
	2560000000

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@cps4 ~]# tune2fs -c0 -i0 /dev/sda1
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds

As root, on the server running mailman, run:

/usr/lib/mailman/bin/list_members -f <listname>

If after installing a new drive in a raid, you get a message that looks like this:

//server> info c10

Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-5    REBUILD-PAUSED 0%      -       64K     1862.61   OFF    OFF    
u1    RAID-5    OK             -       -       64K     931.303   ON     OFF    

Port   Status           Unit   Size        Blocks        Serial
---------------------------------------------------------------
p0     OK               u0     465.76 GB   976773168     WD-WCAPW2109877     
p1     OK               u0     465.76 GB   976773168     WD-WCAPW2283896     
p2     OK               u0     465.76 GB   976773168     WD-WCAPW1745426     
p3     OK               u0     465.76 GB   976773168     WD-WCAPW2222501     
p4     DEGRADED         u0     465.76 GB   976773168     WD-WMAYP5244596     
p5     OK               u1     465.76 GB   976773168     WD-WMAYP2574338     
p6     OK               u1     465.76 GB   976773168     WD-WCAPW5103350     
p7     OK               u1     465.76 GB   976773168     WD-WCAPW5251276     

Quit tw_cli and run this from the command line:

[~]# ./tw_cli sched rebuild c10 enable

The raid should then start rebuilding immediately.

I think you could also run this from inside the tw_cli program, but I didn’t try it.

/c10 set rebuild=enable

Matt requested that /proc/sys/vm/overcommit_memory is set to 2 on some nodes. To do this, edit /etc/sysctl.conf. To the end of the file, add this line:

vm.overcommit_memory = 2

To make it take effect without rebooting, run:

sysctl -p

To determine which version of a python package using, import the package and then check the version. Something like this:

>>> import matplotlib
>>> matplotlib.__version__
'1.2.0'

We were missing the tkinter package on some of our systems and this was causing a problem with matplotlib. You could see the error by running these commands:

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
Traceback (most recent call last):
 File "", line 1, in 
 File "/usr/lib64/python2.6/site-packages/matplotlib/pyplot.py", line 97, in 
   _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
 File "/usr/lib64/python2.6/site-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
   globals(),locals(),[backend_name])
 File "/usr/lib64/python2.6/site-packages/matplotlib/backends/backend_tkagg.py", line 11, in 
   import matplotlib.backends.tkagg as tkagg
 File "/usr/lib64/python2.6/site-packages/matplotlib/backends/tkagg.py", line 2, in 
   from matplotlib.backends import _tkagg
ImportError: cannot import name _tkagg

The solution was to install the tkinter package (yum install tkinter) and then recompile matplotlib so that it used tkinter.

$ python setup.py build
$ python setup.py install

After that, the same commands as above worked fine.

To determine the version of matplotlib, you can either look in /usr/lib64/python26/site-packages for the matplotlib egg file (the version should be in the name of the file) or import the module in python itself.

[ ~]$ python
Python 2.6.6 (r266:84292, Aug 28 2012, 10:55:56) 
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib
>>> matplotlib.__version__
'0.99.1.1'
>>> 

This is the default version get with RHEL6. To use a newer version of matplotlib, remove the python-matplotlib and seekwatcher packages. Download the latest matplotlib and install that.

[ matplotlib-1.2.0]# python setup.py build
[ matplotlib-1.2.0]# python setup.py install

The run the check again and you should see the newer version being loaded.

[ matplotlib-1.2.0]# python
Python 2.6.6 (r266:84292, Aug 28 2012, 10:55:56) 
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib
>>> matplotlib.__version__
'1.2.0'

I was getting this error in my log files:

dovecot: IMAP(user): Time just moved backwards by 1 seconds. I'll sleep now until we're back in present.
http://wiki.dovecot.org/TimeMovedBackwards: 1 Time(s)

Looking at the website that was linked in the error message (very helpful), the solution was to edit /etc/ntp.conf and add the following:

# Added following to get rid of dovecot "Time moved backwards" error
tinker step 0

Restart ntpd and after two days the error stopped showing up in my logs. Yay!

The NVIDIA linux driver cannot be installed when the system is using the nouveau driver. The nouveau driver has been installed on all of the systems I’ve set up so far. To use the nvidia driver, do the following:

1. Edit /etc/grub.conf and add rdblacklist=nouveau vga=791 to the end of the kernel line.

2. yum remove xorg-x11-drv-nouveau

3. Edit /etc/inittab to change the runlevel to boot to from 5 to 3.

4. Create the file /etc/modprobe.d/blacklist-nouveau.conf and in it, put the following line:
blacklist nouveau

5. Reboot

6. Install the Nvidia driver and make sure to run the nvidia config in the last step.

7. Test it out by either rebooting or running init 5.

RHEL6 seems to prefer to use UUIDs in /etc/fstab instead of device names. So, will want to do something like this to get the uuid.

[root@server]# blkid|grep sda1 >> /etc/fstab

This then gets added to /etc/fstab.
/dev/sda1: UUID=”a7a23967-f2c5-43a7-9245-270a818b6106″ SEC_TYPE=”ext2″ TYPE=”ext3″

Edit the line so it looks like this:
UUID=a7a23967-f2c5-43a7-9245-270a818b6106 /local/s13 ext3 defaults 1 2

Install epel repo to download some needed packages:

http://mirror.chpc.utah.edu/pub/epel/6/i386/repoview/epel-release.html

Packages want to get from epel:

patchy
cernlib-2006
(will also get xbae)

From this website, download:

Manual
Makefile
isajet.car
isared.tar.gz

Unzip, but don’t untar the isared.tar.gz file.

The cernlib from the epel repo puts the files we are concerned about in /usr/lib64/cernlib/2006-g77/lib. However, it puts a version number on the libraries we want to use and this will cause an error in our Makefile. So, in /usr/lib64/cernlib/2006-g77/lib, make the following links:

ln -s libpacklib.so.1 libpacklib.so
ln -s libpdflib804.so.2 libpdflib804.so
ln -s libmathlib.so.2 libmathlib.so
ln -s libkernlib.so.1 libkernlib.so

Next, edit the Makefile with our info. Here is what the one I used looked like:

#       Do not change this -- you will break everything.
SHELL = /bin/csh

########## Installation parameters #####################################

#       Some versions of make (e.g. Linux) treat inconsequential warnings
# as errors and stop. Ignore all errors; comment out if possible:
##.IGNORE:

#       Name for temporary subdirectory. This will be deleted and 
# recreated:
MAKETMP = ./MakeTmpDir

#       Link with CERN libraries. This is recommended for HP, IBMRT, or 
# LINUX to get date and time information but is not required:
##CERN = NOCERN
CERN = CERN

#       Directories for Cernlib, terminated with a /. These must be set
# if you select CERN or PDFLIB:
CERNDIR = /usr/lib64/cernlib/
CERNBIN = $(CERNDIR)/bin/
CERNLIB = $(CERNDIR)lib/
CERNLIB2 = $(CERNDIR)2006-g77/lib/

#       PDFLIB support. PDFLIB (part of the CERN library) contains many
# partion distributions but produces a larger executable image:
PDFLIB =
#PDFLIB = PDFLIB

#       RANLUX support. RANLUX provides better random numbers than the
# standard RANF, and each seed gives an independent sequence. It is
# more difficult to restart and slightly slower.
RANLUX = RANLUX
#RANLUX = NORANLUX

#       Computer type. Most only differ in minor ways, e.g., the system
# clock interface. Uncomment the right one:
# ANSI          ANSI Fortran
# DECS          DECStation with Ultrix
# HPUX          HP/700 with HPUX
# IBMRT         IBM RS/6000 with AIX
# LINUX         PC with LINUX and f2c/gcc or g77 or Absoft f77
# OSF           Digital OSF on Alpha processor
# SGI           Silicon Graphics with IRIX
# SUN           Sparc or PC with Solaris
#MACHINE = ANSI
#MACHINE = DECS
#MACHINE = HPUX
#MACHINE = IBMRT
MACHINE = LINUX
#MACHINE = OSF
#MACHINE = SGI
#MACHINE = SUN

#       Fortran 77 compiler.
#F77 = f77
#       For HPUX; note that f77 on HPUX is brain dead. fort77 is also an
# alternate f2c/gcc interface on Linux:
#F77 = fort77
#       GNU Fortran compiler
#F77 = g77
F77 = /usr/bin/g77

#       Fortran compile flags: Want -c, highest safe optimization, all
# variables static, and postpended underscore for Cernlib compatibility.
# Uncomment the right one or make your own:
#       DECS
#FFLAGS = -c -O -static -w
#       HPUX, -O is broken
#FFLAGS = -c -O2 -K +ppu -w
#       IBMRT
#FFLAGS = -c -O -qextname -w
#       LINUX with f2c/gcc or g77. The -fno-silent displays progress...
FFLAGS = -c -O -fno-automatic -fno-silent
#       LINUX  with Absoft Fortran
#FFLAGS = -c -O -w -f -s
#       OSF
#FFLAGS= -c -O -w
#       SGI
#FFLAGS = -c -O -static -w
#       SUN - the second option traps floating errors
#FFLAGS = -c -O -w
#FFLAGS = -c -O -w -fnonstd -ftrap=common

#       Use fsplit or CERN's fcasplit to split the whole Fortran source into
# individual subroutines:
#FSPLIT = $(CERNBIN)fcasplit
#FSPLIT = fsplit
FSPLIT = /usr/bin/fcasplit

#       Link command for Fortran, c.f. $(F77):
#LINK = f77
#LINK = fort77
#LINK = g77
LINK = $(F77)

#       Extra libraries (e.g. Cernlib) and flags for link. If you want 
# PDFLIB support, you must also define $(PDFLIB) above. The Zebra
# version requires libpacklib.a.
#LFLAGS =
#LFLAGS = -L$(CERNLIB) -lmathlib -lkernlib
#LFLAGS = -L$(CERNLIB) -lpdflib804 -lmathlib -lkernlib
LFLAGS = -L$(CERNLIB) -L$(CERNLIB2) -lpdflib804 -lpacklib -lmathlib -lkernlib

#       Ranlib command if required (it is for Sun 4.x and Linux):
RANLIB = ranlib
#RANLIB = $(ECHO)

#       Name for this Makefile:
MAKEFILE = Makefile

#       Patchy commands. YPATCHY can be either ypatchy or nypatchy,
# perhaps with a full path. A temporary cradle file YCRADLE is required;
# it is deleted and recreated:
#YPATCHY = $(CERNBIN)ypatchy
#YPATCHY = $(CERNBIN)nypatchy
YCRADLE = ./tmpcradle.cra
YPATCHY = /usr/bin/nypatchy

#       Echo command. /bin/echo works on most (all?) systems; plain echo
# fails on AIX 4.1:
ECHO = /bin/echo

#       Remove command:
RM = /bin/rm

#       Parameters to use ISATOOLS and ISAFLAVR. Note ISAFLAVR does not
# create a separate library.

ISATOOLS = ISATOOLS
#ISATOOLS =

LIBTOOLS = -lisared
#LIBTOOLS =

ISAFLAVR = ISAFLAVR
#ISAFLAVR =

########## End of installation parameters ##############################

Next make isatools.

[root@higgs isajet]# make isatools

Takes a while to run. This creates the file libisared.a.

Next run make.

[root@higgs isajet]# make

This should produce the following executables: isajet.x, isasusy.x and isasugra.x. You can run make clean to get rid of the temporary files.