Linux FAQ

This page contains answers to many common questions our users have about using Linux at Jefferson Lab (JLab), organized loosely by topic.  It's not a general Linux FAQ.  It concentrates on JLab-specific issues that our Linux users and administrators might run into.

If you would like to suggest an entry for this FAQ, please contact the IT Division Help Desk.

 

Table of Contents

 

  1. Installation Questions 
    1. What versions of Linux does JLab support?
    2. I don't want the officially support version.  Can I use something else?
    3. Where do I get Linux, and how do I install it?
    4. I already have Linux installed, and I just want to upgrade to the latest version.  Can I do that?
    5. My computer already has a hostname and network address assigned to it.  How can I find out what they are?
    6. How do I set my computer to boot from the CDROM drive?
    7. I already have Windows installed and need to make space on my hard drive for Linux.  How can I resize my existing partitions without losing all my data?
    8. I have more than 3GB of RAM, do I need 64-bit linux?
    9. I have an Athlon 64 system (or one with some other AMD64, IA-32e or x86_64 compatible CPU).  Does the Computer Center offer 64-bit Linux systems?
    10. I see the Computer Center updated to RHEL Update 2 (or 3, or 4, or ...).  What's the difference?
  2. Using Linux at JLab
    1. I can't find Ghostview under Enterprise Linux.  Where is it?
  3. Administering Linux at JLab
    1. Grep runs very slowly, encryption-related Perl modules won't compile or run, or acroread refuses to render some PDF files.  What's up with this, and how are these related?
    2. I'm missing some include files or libraries I need to compile with.  Aren't they part of Enterprise Linux?
    3. I just installed Enterprise Linux.  How will this machine be kept up-to-date with the latest security patches and bugfixes?
    4. But I want to manage my own patches!  What can I do?
    5. How do I patch my system manually?
  4. Other Questions

1.0:   Installation Questions

1.1:    What versions of Linux does JLab support?

The Lab supports Red Hat Enterprise Linux (RHEL). We will install RHEL6 and RHEL7.  Please see the IT Division Helpdesk for an installation disk.

1.2:    I don't want the officially supported version.  Can I use something else?

You are free to use any version of Linux that you like, but you must realize that when you run into problems with it, you're going to be working through them on your own.  The Computing and Networking Infrastructure (CNI) group isn't staffed to offer support for other arbitrary versions of Linux. 

Additionally, any other version of linux besides our own build will be put on the JLAB GUest network and be unable to directly mount any CUE directories, such as /apps, /site, /group, /home, /work, etc.

1.3:    Where do I get Linux, and how do I install it?

The CNI group distributes the supported versions of Linux.  You can get installation CDROMs for building Level 1 or Level 2 systems from the IT Division Help Desk.

As for installing Linux, the CNI group maintains detailed Linux installation instructions here.

1.4:    I already have Linux installed, and I just want to upgrade to the latest version.  Can I do that?

Red Hat Linux will automatically update from one minor version to another. For instance RHEL6u7 to RHEL7u2 and so on.

Unfortunately, Red Hat does not provide an upgrade path between major version, such as RHEL6 to RHEL7. You'll need to do a full installation to get the latest version.

1.5:    My computer already has a hostname and network address assigned to it.  How can I find out what they are?

If the computer already runs Linux:
You can use either the /bin/hostname or the /bin/uname -n commands to determine your hostname, like so:

% /bin/hostname
	myhost.jlab.org

Finding the network address (also called the IP address) is a little more tricky, but not much.  The tricky part is that your computer can have more than one IP address sometimes, usually if you have more than one network card connected (a wired and a wireless card, for example). 

Each network card has a specific name, usually something like eth0 or eth1.  You can use the /sbin/ifconfig command to print a list of all your network cards and their settings, like so (the address is highlighted):

 

% /sbin/ifconfig

	eth0      Link encap:Ethernet  HWaddr 00:41:05:CF:D7:EE
	          inet addr:192.168.3.4  Bcast:129.57.43.255  Mask:255.255.252.0
	          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
	          RX packets:1126715 errors:0 dropped:0 overruns:1 frame:0
	          TX packets:741245 errors:0 dropped:0 overruns:0 carrier:0
	          collisions:0 txqueuelen:1000
	          RX bytes:653118031 (622.8 Mb)  TX bytes:291621007 (278.1 Mb)
	          Interrupt:5 Base address:0x9000
lo        Link encap:Local Loopback
	          inet addr:127.0.0.1  Mask:255.0.0.0
	          UP LOOPBACK RUNNING  MTU:16436  Metric:1
	          RX packets:54488 errors:0 dropped:0 overruns:0 frame:0
	          TX packets:54488 errors:0 dropped:0 overruns:0 carrier:0
	          collisions:0 txqueuelen:0
	          RX bytes:3482796 (3.3 Mb)  TX bytes:3482796 (3.3 Mb)

 In this case, the system has one main interface (eth0), with an IP address of 192.168.3.4.  You can usually ignore any interface whose name doesn't begin with "eth".  If you see more than one "eth" entry listed, you should usually use the card called "eth0" to install your Linux computer.

 

1.6:    How do I set my computer to boot from the CDROM drive?

 

This varies widely depending on who made your PC and what model it is.  Many computers are configured this way already, so you stand a good chance of "just having it work" if you simply try to boot from the CDROM drive. 

If your PC isn't already set up to boot from a CD, you will probably have to modify the BIOS settings to change the boot device priority.  Most PCs show some kind of message when they start up telling you how to get into the "SETUP" screen.  Usually you have to press F1, F2 or DEL before the OS starts booting.

Some computers allow you to temporarily set the boot device for this session without entering the BIOS setup screen.  This capability doesn't exist on all computers, but it can be handy.  On most Dells, you can press F12 while the Dell logo is still showing, and this will bring you to a boot device menu you can use to start the computer.

 

1.7:    I already have Windows installed and need to make space on my hard drive for Linux.  How can I resize my existing partitions without losing all my data?

 

The CNI group doesn't support this, and certainly doesn't recommend it.  You'll need to use a specialized program to resize and repartition your hard drive.  This is an advanced procedure, and if you make even a single mistake, you are likely to lose all the data on your entire hard drive, even on partitions you didn't think you were modifying. We do not support dual-booting in the CUE environment for the sake of not being able to patch both OS's because only one will be running at any given time.

1.8:  I have an Athlon 64 system (or one with some other AMD64, IA-32e or x86_64 compatible CPU).  Does the CNI group offer 64-bit Linux systems?

Red Hat x86_64 linux is available on RHEL6 and RHEL7 for those individuals that require a 64-bit computing environment. You should be aware that RHEL7 is only 64bit, do your computer must support 64bit operations in order to install RHEL7.

1.9:  I have more than 3GB of RAM, do I need 64-bit linux?

The short answer is "no", you do not need 64-bit linux. There is a special kernel available that uses Physical Address Extensions, or PAE, that can utilize more than 3GB of RAM. The only draw-back is that you can only use ~3GB of RAM per process, however this is more than enough for all but the most demanding applications.

1.10: I see the CNI group updated to RHEL Update 2 (or 3, or 4, or ...).  What's the difference?

Every 3 months, RedHat puts out an Enterprise Linux update that includes all the latest patches into the default installation.  It usually also includes updated drivers to support installing Linux on new hardware that wasn't available when the original version was released.

Although the CNI group Level 1 and Level 2 builds automatically incorporate the latest patches while the system is being configured, it takes time to first install the OS, then go back through and load all the latest patches.  The updates actually fold the patches into the OS installation, so there are far fewer patches to install during configuration.  This can save as much as 30 minutes or more when you create a new Level 1 or Level 2 system, but in the end, you still get exactly the same system and patches.

 

 

2.0:   Using Linux at JLab

2.1:  I can't find Ghostview under Enterprise Linux.  Where is it?

Ghostview is an application for viewing Postscript files under Unix.  Red Hat removed the standard Ghostview application from their Enterprise Linux product, but has replaced it with a GNOME desktop version (which should also run under KDE, and perhaps under other window managers as well).  If you have the evince package installed, the command will be available as /usr/bin/evince.  If you don't have the package and you are using a Level 2 Linux system, you can install it from our Red Hat Network Satellite server by executing this command as root: yum install evince. 
 

 

3.0:   Administering Linux at JLab

 

3.1:   Grep runs very slowly, encryption-related Perl modules won't compile or run, or acroread refuses to render some PDF files.  What's up with this, and how are these related?

This is a weird problem, but fortunately there is often a simple solution.  Linux uses a "locale" setting to determine international localization settings (currency symbols, number formatting, preferred language, etc).  RHEL is set to the default of "en_US.UTF-8".  UTF-8 is a multibyte character encoding scheme related to Unicode.  In theory, UTF-8 would be an excellent choice for a locale, but in practice the Red Hat implementation has proved to be somewhat poor.

Changing the locale from "US English with UTF-8 encoding" to simply "US English" (or whatever your preferred language is)  is probably the best thing to do for now.  To do this, edit the /etc/sysconfig/i18n file and change it from this:

 

 

LANG="en_US.UTF-8"
	SUPPORTED="en_US.UTF-8:en_US:en"
	SYSFONT="latarcyrheb-sun16"

 

 

 

to this:

 

 

LANG="en_US"
	SUPPORTED="en_US.UTF-8:en_US:en"
	SYSFONT="latarcyrheb-sun16"

You will need to reboot your machine for this change to take affect globally.

 

3.2:  I'm missing some include files or libraries I need to compile with.  Aren't they part of Enterprise Linux?

 

It's hard to say, but if it's a common package (X11, OpenSSL, LDAP, etc) the odds are good that it's available as an RPM.  If not, then you probably need to go find the software's home site then download, compile and install it yourself, either in your home directory or (if you have a Level 2 machine) in /usr or /usr/local. 

If the package is part of Enterprise Linux, you're in luck.  It probably just means you didn't install the developer's packages for the application.  Many programming libraries install only their runtime components by default, and rely on the administrator to install their developer's package if it's needed.  For example, Enterprise Linux uses the OpenSSL library to provide SSL support to web browsers, email clients and other network programs that need to encrypt data for transmission.  By default, the installer includes the openssl RPM on a new system.  However, if you want to compile new programs that use SSL, you'll also need to install the openssl-devel RPM, which contains header files for the C compiler.

Some of the more common -devel RPMs are listed below:

 

  • compat-libstdc++-devel
  • db4-devel
  • gdbm-devel
  • glib2-devel
  • glibc-devel
  • glib-devel
  • kdebase-devel
  • krb5-devel
  • libgnome-devel
  • libjpeg-devel
  • libstdc++-devel
  • ncurses-devel
  • openldap-devel
  • openmotif-devel
  • openssl-devel
  • XFree86-devel
  • zlib-devel

 

Once you know the name of the package you need, you can usually just run "up2date <packagename>" as root to install it from our Red Hat Network Satellite server (e.g., "up2date openssl-devel").

 

3.3:  I just installed Enterprise Linux.  How will this machine be kept up-to-date with the latest security patches and bugfixes?

 

If you have a Level 1 or Level 2 system, your machine will automatically be kept up to date with all the latest patches.

The CNI group manages patches for all Enterprise Linux machines according to the following guidelines:

 

  1. Important security patches are usually applied as soon as they are available and have been tested by the CNI group
  2. Non-critical security patches and general bugfixes are usually applied during the CNI group's monthly maintenance windows, as advertised at http://cc.jlab.org/, though they may also be applied before then if there are important security patches (see #1) which need to be applied.
  3. Kernel patches will usually not be applied, unless they contain security fixes or solve a specific problem the system is experiencing. 

 

3.4:  But I want to manage my own patches!  What can I do?

This is possible, but in most cases we discourage it.  A typical week usually sees several new patches become available, and who has the time to evaluate them all, test them and make sure they get applied properly?  It's usually much more productive to allow the CNI group to manage this process centrally; we can do everything once and then apply the patches en masse to all the Linux systems here at the lab.  Having many administrators evaluate, test and install each patch is much less efficient.

Having said that, there are still some systems for which central patch management is not appropriate.  Machines that run mission-critical services should probably be managed by someone who is more intimately familiar with their operation and scheduling.  Data acquisition machines are a good example, since downtime translates directly into lost data, which probably can't be recreated.  If your machine falls into this category, the CNI group can create an account for you on our Red Hat Network Satellite server, so you can directly manage the patches for your machine(s).  We'll still see the status, and you can expect to be contacted if you fall too far behind in your patching duties, but for some systems this is the best way to patch.  If you need to take advantage of this service, contact the IT Division Help Desk.

3.5:  How do I patch my system manually?

This is pretty easy.  You can apply all the most current patches with a single command.  Just run the following as root: "yum update".  This will update your computer with all the latest RHEL patches.  Although it is usually not necessary to reboot after this, you may wish to do so if there were a lot of patches applied, or if the glibc or kernel packages were updated. 

 

4.0:   Other Questions

If you have a question that is not listed here, please contact the IT Division Help Desk