Cover V03, I01
Article
Figure 1
Figure 2
Figure 3
Sidebar 1
Sidebar 2

jan94.tar


Internet Online Services: archie

Chris Bush

Introduction

The Internet, begun two decades ago as an experimental network of research and government agencies but later expanded to include a significant number of commercial corporations, provides access to an almost staggering amount of data and a wide range of information services. In this article, I describe in detail one of these services, archie. I outline the functionality of archie, explain how to use it, and explore issues involved with getting and installing two popular archie client programs on your system.

If you're not already connected, read the sidebar "Getting Connected" to find out how to get your system or systems connected to the Internet at a level of service that's right for you. In a subsequent article, I will discuss another Internet service that is rapidly growing in popularity, gopher. For your reference, the sidebar "What's Out There?" summarizes some of the most popular services available to Internet users.

What Is archie?

Information, including free software, on the Internet exists primarily in the form of publicly accessible files made available through the use of anonymous ftp. Anonymous ftp allows access to files on particular systems without requiring logins or passwords. Finding out which sites offer anonymous ftp and what files and software might be downloaded from them is where archie comes in.

Archie is a means of maintaining and searching indexes of the files available from anonymous ftp sites on the Internet. These indexes of files are maintained on designated sites on the Internet, called archie servers. Numerous sites on the Internet operate as official archie servers, each containing the same information. Figure 1 lists these sites.

The information provided by an archie server comes in two forms. First, there is a database of filenames collected from all registered anonymous ftp sites. This database is updated regularly, typically once a month. The second type of information, called the "whatis" database, contains additional data describing the subject or function of the files. This is useful when the filename you are searching for may bear no resemblance to its purpose, particularly if it's software.

Without archie, finding what you are looking for would be worse than thumbing through every page of a book, frantically searching for references to a particular topic. With it, a whole world of knowledge and software is merely an ftp session away.

Using Archie

You can retrieve information from an archie server through one of several interfaces. The simplest interface requires only that you have the capability of sending and receiving electronic mail to one of the archie servers. You send an email message to username archie at the server, issuing an archie command in the text of your message. The results of your command will be mailed back to you.

Once you have found what you are looking for, you must find a way to access it. Many anonymous ftp sites offer access via email for users who cannot use ftp to connect directly to that site. This is usually accomplished by sending mail to username ftpmail at the desired anonymous ftp site. Commands to ftpmail closely resemble those of "normal" ftp, and are entered in the text of your mail message.

If you have the ability to use telnet to connect to other sites on the Internet, you may choose the telnet interface to establish a connection to an archie server, as in the following example:

[2111:~ ]xanadu% telnet archie.rutgers.edu

When prompted for a login name, enter archie. You will not be asked for a password, and will soon see the archie server prompt:

archie>

At this point the archie server is ready to take your commands. Figure 2 shows a summary of the commands available using the telnet interface. Most of these are also available using the email interface. A sample archie telnet session appears in Figure 3. In this example, a telnet connection is established with the archie server at Rutgers University. The maxhits variable is set to a value of 4, to limit the search result to a maximum of four entries. The search command, prog, is then used to search for file names containing the substring "xarchie". What is returned are entries for ftp servers matching this search, along with the pathnames of all files matching the search. From the abbreviated output given in the figure, you can see that two sites contain what appear to be compressed tar files of the xarchie software. One site has version 2.02 of xarchie, the other has version 1.3. Once you have a list of potential locations for the files you want, you can just fire up ftp and go get them.

archie Client Programs

Archie client programs connect to archie servers using a special protocol known as Prospero. These clients allow you to query an archie server without having to connect to it with telnet and log in. This is typically the preferred method of accessing archie databases, as it places less of a burden on the computers which act as archie servers.

There are two primary archie client programs, archie and xarchie. The former is a command-line archie client, with archie commands passed as arguments to the command. The latter, xarchie, is an X Window application, providing a graphical user interface to archie. Both are available via anonymous ftp from several locations on the Internet.

Using the telnet interface, I found several sources for archie and xarchie. I used the anonymous ftp server ftp.cs.widener.edu to get archie version 1.4.1 and xarchie version 1.3 (there's a more recent version of xarchie, version 2.0, which uses the X11 R5 libraries; but, since this version of the X Window system is perhaps not as widespread as X11 R4, I elected to use the earlier version of xarchie). Both clients were in the form of a compressed tar file.

Having acquired the two files with ftp, I set about installing them on my Sun workstation. Each package consists of the source code, makefiles, and various other support files to assist in compiling and installing the software. On my Sun workstation, running SunOS 4.1.3, I was able to build the command-line archie client with no modifications to the makefile. You should check the value of the ARCHIE variable in the makefile, and make sure it is set to an appropriate archie server (the available servers are listed in the makefile). Give some thought to this, as this will be the default server that the archie client will connect to (it's a good idea to pick one that is geographically close to you). After editing the makefile, simply run the make command. If all goes well, you will have an executable file called archie which you should then copy to a common directory found in your users' PATH variable -- perhaps /usr/local/bin or something similar. You can then copy a "man page," archie.man, to a common location on your system for online reference pages. That's it, you have an archie client.

Those of you with X Window-based workstations or terminals will probably prefer the xarchie client. Compiling this gets a little more complicated than the command-line client, but is still straightforward. The software includes a file, called README, with detailed instructions for getting xarchie up and running on your system. If you are familiar with Imake and Imakefiles, you'll have no problem.

The xarchie client has an intuitive graphical interface, making archie queries much easier. Buttons and pull-down menus across the top of the window give access to the settings and commands. Three scrolling lists give the server names, directory names, and file names returned by the archie server as a result of your query. Simply enter your search term in the text field in the lower portion of the window, click on the Query button at the top, and after (usually) a short wait, the results of your query will display. Using your mouse and the scroll bars, search through the list of results. If you find what you are looking for, you may be able to get the file automatically by clicking on the Ftp button at the top of the window.

Both archie clients are easy to use, and definitely to be preferred over interactive telnet sessions by archie servers. Neither client offers a way to query the "whatis" database, however. I prefer the graphical user interface of xarchie; if you're a little more adventurous, go out and find xarchie version 2.0.2, the interface is much nicer than version 1.3.

Conclusion

Archie has become an invaluable addition to my systems administration "toolbox." Using the xarchie client, I am able to find and retrieve software and documents that I would otherwise not even know about. As an example, I recently stumbled across a number of documents relating to Solaris 2.2, the latest offering from Sun Microsystems in the UNIX SVR4 arena. These documents proved to be worth their transfer time in gold, as I had just struggled for several days with many of the features of Solaris which they dealt with. I have used xarchie to locate a number of software packages that have become permanent additions to the computer systems I manage, including the Perl programming language, the GNU project's compilers and other development tools, the COPS security software, and more. All of these are freely available, if only you know where to look.

Archie can do a lot for you, even in the narrow scope of information it covers. To really exploit the power of the Internet, you'll want to explore some of the other services. In a subsequent article, I'll discuss gopher in detail, including how you can use gopher to provide information to the users of your systems.

Recommended Reading

Krol, Ed. The Whole INTERNET User's Guide & Catalog. Sebastopol, CA: O'Reilly & Associates, Inc., 1992. ISBN 1-56592-025-2

About the Author

Chris Bush began his UNIX life in 1984 as a college work-study student, typing in troff commands for research documentation. Chris has a B.S. in Computer Science from the University of Buffalo, and is currently working on his Masters. He can be reached electronically at cbush@lerc.nasa.gov.