Two Server-Oriented Linux Distributions - Mansfield University of ...

bossprettyingΔιαχείριση Δεδομένων

28 Νοε 2012 (πριν από 4 χρόνια και 8 μήνες)

214 εμφανίσεις

Two Server
-
Oriented Linux Distributions


John Phillips, Mansfield University of Pennsylvania

jphillip@mansfield.edu

Matthew Phillips, Virginia Tech

mphillip@vt.edu

Joo Tan, Mansfield University of Pennsylvania

jtan@mansfield.edu

Rhonda Phillips, Virginia T
ech

rdphllps@vt.edu


Abstract

This paper describes our experiences using two modern server
-
oriented Linux
distributions. Gentoo Linux is used in both server and workstation modes in a
research laboratory and has powerful optimization features. Arch Linux i
s used as a
student web and database server in a classroom environment and features simplicity.
Both systems offer excellent package managers allowing new software to be easily
added and existing software to be updated.
Both

servers are easily managed usin
g a
console interface.


Introduction

Some Linux distributions are general purpose and try to serve all audiences. Mandrake,
Fedora, and SUSE would tend to be in this category. Others are aimed at a particular application
and audience. For example, ClusterK
noppix is a Live
-
CD distribution that does not need to be
installed but can be booted directly from the CDROM drive [5]. It can be used to set up a cluster
of networked computers without the need to actually install any software on the client machines.
Ano
ther example is Damn Small Linux

[6]
. This distribution is under 50 MB in size and can
easily fit on and boot from a USB pen drive. Last summer we started exploring these and many
of the other lesser known distributions of Linux.

A nice resource for inves
tigating Linux distributions is DistroWatch [7]. This web site
contains a list of the top 100 distributions with brief descriptions and links to each distribution's
home page. The list ranks each distribution based on the average hits per day over a given
period
of time
, thus

giving a general indication of popularity. For example, for the 6 month period
preceding February 12, 2005, Mandrake, Fedora, and SUSE were the top three distributions;
Gentoo ranked 8
th
, and Arch ranked 20
th
. This paper will present a

brief discussion of our
experiences using these latter two, somewhat lesser known Linux distributions
,

that we believe
excel in the role of server

operating system
.

Gentoo Linux

The Virginia Tech Bioinformatics Research Group [4] is using Gentoo Linux on
three
servers and several workstations in our research laboratory. Our servers provide a number of
bioinformatics software packages like BLAST and Fasta; host a PostgreSQL bioinformatics
database (about 60GB); provide a CVS repository;
and
provide basic s
erver functions like
LDAP, NFS, HTTP, SSH, and SFTP
.
Our workstations have a more basic installation of Gentoo
but include support for X11 and Gnome. Other than the Gentoo installation, little data is stored
on each workstation. All user home directories a
re stored on the servers and are shared out to
each workstation through NFS. This provides us with a central location of user data and makes
backups simple. Also, we use LDAP to authenticate users. We have the LDAP server running on
one of our three server
s and LDAP clients running on all workstations. This means that no user
data is stored on the workstation, so a user is not tied to any individual machine.

We chose Gentoo for our research lab because of its easy and powerful optimization and
because of it
s ability to keep all installed packages up
-
to
-
date.

A Gentoo installation is efficient and powerful because most software is installed from
source using the optimal settings for the target machine. That is, most software on a Gentoo
system is downloaded
and compiled specifically for the target system. Because of this, Gentoo is
able to build the most optimal version of the software before it is installed. Gentoo knows how to
build the optimal installation through USE
-
flags. USE
-
flags are flags that are se
t in
/etc/make.conf, the USE
-
flag configuration file. The system administrator sets the flags when
Gentoo is first being installed. Common USE
-
flags are x86, ldap, and kde. These three USE
-
flags tell Gentoo to include support for KDE and LDAP on the x86 ar
chitecture when buildi
ng
and installing new software.

[9]

Gentoo has the ability to keep all software packages up
-
to
-
date through a Python
application called Portage. Portage maintains a tree of 'ebuilds' on the local machine which are
scripts that contain

package information. This information keeps track of things like installed
package version and package dependencies. Portage allows the system administrator to easily
install new packages and update currently installed packages. A command such as
emerge v
im

will install VIM and its dependencies if it is not already installed and a command like
emerge
-
u
world

will examine each package that is installed and see if a more recent version is available. If
it is installed, it will download the source for the pa
ckage, create the correct make files (if
applicable) using the USE
-
flags, compile the source, and install it. [8]

USE
-
flags and installation from source keep our Gentoo machines optimized and thus
efficient. Portage keeps our Gentoo machines up
-
to
-
date and

thus secure. These are two of the
great advantages for us with Gentoo. However, Gentoo does not come without disadvantages.
Gentoo installation times are generally in the 10
-
12 hour range for workstations in our research
lab. In addition to taking a large

amount of time to setup the items that a normal Linux
installation requires (partitions, network information, etc.), it takes additional time to configure
the USE
-
flags and then download and build basic packages. Gentoo also demands a lot from the
system
administrator. All installation configuration is done via configuration files and not
through a GUI. This can be tedious, but once the system administrator goes through the process,
he/she has a detailed understanding of how Gentoo works. Gentoo has served

our research lab
needs without fail for about a year and a half and we do not foresee switching distributions.

Arch Linux

Faculty in the Mathematics and Computer Information Science department at Mansfield
University have been using Linux as a server plat
form for classroom instruction and student
learning for nearly
five

years [12]. For most of this time we have been using widely known
distributions such as Redhat Linux and Mandrake Linux [11]. This past summer, we spent some
time looking for a distributio
n that would excel as a classroom Linux server.

We experimented with several different distributions including Gentoo Linux. We liked
Gentoo but found the installation and configuration times to be painfully long. Then we tried
Arch Linux [1]. Arch gave us

some of the technical control found in Gentoo without the long
compile times. Like Gentoo, Arch features a powerful package manager that makes it

easy to add
new software and

keep existing software current. The main difference is that Gentoo downloads
and

compiles source files whereas Arch downloads pre
-
compiled binary files by default.

Arch has a minimalist design described on the Arch web site as "fast, lightweight, flexible,
and simple" [10]. You need only install a small base system (
402

MB) and then a
dd any
additional packages your server needs. This keeps the number of configuration files low which
helps ease the system administration l
earning curve. It takes
about 1
0

minutes to
install the base

Arch system and another h
our or so

to
download,
install
,

and configure

optional packages such
as openssh, apache, mysql, and php
,

transform
ing

the system into a powerful web server,
database server, and multi
-
user program development platform.

The pacman package manager program is a key component of Arch's kee
p
-
it
-
simple
approach. Updating all of the software installed on a system is as easy

as typing
pacman
-
Syu
.
Installing new software is equally simple. For example, to install the Apache web server you
would type
pacman
-
S apache
. That will download the late
st version of Apache from one of the
Arch mirror

sites and install it automatically. The next time you run
pacman
-
Syu

it will check to
see if there is a new improved version of Apache available for download. You then have the
option of doing the automatic

upgrade or ignoring it. [10]

We started using Arch
to support two web
-
oriented courses (JSP/MySQL and
PHP/MySQL) in the spring of 2005. Our student web server was set up to support the following
software packages: Vi, SSH, Apache Web Server, PHP, Perl, R
uby, Python, C, C++, Java (JDK
1.5), JSP, Tomcat, MySQL, and PHPMyAdmin [2, 3]. Each student has a home directory and
can use free Windows client programs such as PuTTY [13]
and/
or WinSCP [14] to remotely log
into the server to do his/her work. The system
has performed remarkably well even though it is
running on an older Pentium III computer. System upgrades have gone smoothly every time. We
are very please
d with this L
inux distribution and plan to continue its use next year.

Conclusion

It was fun and educ
ational to experiment with some of the various distributions of Linux. A
fast
Internet connection

makes it easy to acquire and test the software. Among the distributions
we tried, Arch and Gentoo were standouts for use as a server in our educational and re
search
environments respectively. If you need GUI configuration tools then look elsewhere.

For the Virginia Tech Bioinformatics Department, system speed and the ability to easily
update software were important factors. The amount of time it takes the syst
em administrator to
set up the machines and compile the software was not as important to the faculty. Therefore,
Gentoo Linux wa
s a good choice
for the role of research department server
.

At Mansfield University
we did not need the extra

speed that compili
ng so
ftware from
scratch might lend.
As the faculty are

the system administrators

of this server
, w
e
desired easy
-
to
-
i
nstall, easy
-
to
-
update software

with a good set of

installation

manuals

and a supportive user
community
.
In addition, we wanted to work wi
th and understand the underlying configuration
files that controlled the system. A
rch Linux
fulfilled

these
requirements

and
has worked well as a

classroom web server
.


References

1.

Archlinux.org, http://www.archlinux.org/, 2005.

2.

Archlinux.org,
Apache, PHP,
and MySQL Installation Guide
,
http://wiki2.archlinux.org/index.php/Apache%2C%20PHP%2C%20and%20MySQL, 2005.

3.

Archlinux.org,
Tomcat and Apache Installation Guide
,
http://wiki2.archlinux.org/index.php/Tomcat%20and%20Apache, 2004.

4.

Bioinformatics Research Group,

http://bioinformatics.cs.vt.edu/, 2005.

5.

ClusterKnoppix, http://bofh.be/clusterknoppix/, 2005.

6.

Damn Small Linux, http://www.damnsmalllinux.org/, 2005.

7.

DistroWatch, http://distrowatch.com/, 2005.

8.

Gentoo,
Gentoo Handbook
-

A Portage Introduction
,
http://www.
gentoo.org/doc/en/handbook/handbook
-
x86.xml?part=2&chap=1, 2005.

9.

Gentoo,
Gentoo Handbook
-

USE flags
, http://www.gentoo.org/doc/en/handbook/handbook
-
x86.xml?part=2&chap=2, 2005.

10.

Herbrich, D., Vinet, J.,
Arch Linux 0.7 Installation Guide
,
http://www.archlin
ux.org/docs/en/guide/install/arch
-
install
-
guide.html, 2004.

11.

Phillips, J., Andre, N., Tan, J., Phillips, M.,
Administering a Linux
-
based server for student
programmers
, Spring 2003 PACISE Conference Proceedings. Available in PDF format at
http://faculty.man
sfield.edu/jphillip/documents/linuxadmin0403.pdf.

12.

Phillips, J., Tan, J., Phillips, M., Andre, N.,
Design of a two
-
course sequence in web
programming and e
-
commerce
, Proceedings of the 2003 Eastern Conference of the
Consortium for Computing Sciences in Coll
eges. Available in PDF format at
http://faculty.mansfield.edu/jphillip/documents/wppaperfinal20030622.pdf.

13.

PuTTY: A Free Telnet/SSH Client, http://www.chiark.greenend.org.uk/~sgtatham/putty/,
2005.

14.

WinSCP: Freeware SFTP and SCP client for Windows, http://w
inscp.sourceforge.net/, 2005.