If you have access to the Internet, either directly or through an online service provider such as CompuServe, Delphi, or America Online, you can access additional sources of Linux software and information. There are two popular sources of Linux software
and help available, one through FTP and the other through Linux-specific Usenet newsgroups.
If you don't have access to the Internet, you may still be able to get some of the information available through other sources, such as Bulletin Board Systems (BBSes) and CD-ROMs published by companies specializing in redistributing public domain
FTP is a method of accessing remote systems and downloading files. It is quite easy to use and provides users with Internet access and a fast method for updating their list of binaries.
For those without FTP access, but who can use electronic mail through the Internet, the utility ftpmail can provide access to these FTP sites.
What Is FTP?
File Transfer Protocol (FTP) is one protocol in the TCP/IP family of protocols. TCP/IP is used extensively as the communications protocol of the Internet, as well as in many Local Area Networks (LANs). UNIX systems almost always use TCP/IP as their
FTP is used to transfer files between machines running TCP/IP. FTP-like programs are also available for some other protocols.
To use FTP, both ends of a connection must be running a program that provides FTP services. To download a file from a remote system, you must start your FTP software and instruct it to connect to the FTP software running on the remote machine.
The Internet has many FTP archive sites. These are machines that are set up to allow anyone to connect to them and download software. In some cases, there are FTP archive sites that mirror each other. A mirror site is one that maintains exactly the same
software as another site, so you simply connect to the one that is easiest for you to access, and you have the same software available for downloading as if you had connected to the other site.
Usually, when you connect to a remote system, you must log in. This means you must be a valid user, with a username and password for that remote machine. Because it is impossible to provide logins for everyone who wants to access a public archive, many
systems use anonymous FTP. Anonymous FTP enables anyone to log into the system with the login name of guest or anonymous and either no password or the login name for the user's local system (used for auditing purposes only).
Connecting and Downloading Files with FTP
Using FTP to connect to a remote site is quite easy. Assuming you have access to the Internet either directly or through a service provider, you must start FTP and provide the name of the remote system to which you want to connect. If you are directly
connected to the Internet, the process is simple: you enter the ftp command with the name of the remote site:
If you are using an online service, such as Delphi, you must access its Internet services menus and invoke FTP from that. Some online services allow you to enter the name of any FTP site at a prompt, whereas others have some menus that list all
available sites. You may have to hunt through the online documentation for your service provider to find the correct procedure.
After you issue the FTP command, your system will attempt to connect to the remote machine. When it does (and assuming the remote system allows FTP logins), the remote will prompt you for a user ID. If anonymous FTP is supported on the system, a message
will usually tell you that. The login below is shown for the Linux FTP archive site sunsite.unc.edu:
$ ftp sunsite.unc.edu
Connected to fddisunsite.oit.unc.edu.
220 helios FTP server (Version wu-2.4(39) Tue May 16 01:34:21 EDT 1995) ready.
Name (sunsite.unc.edu:username): anonymous
331 Guest login ok, send your complete e-mail address as password.
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
After the login process is completed, you will see the prompt ftp>, indicating the system is ready to accept commands. When you log into some systems, you will see a short message that might contain instructions for downloading files, any
restrictions that are placed on you as an anonymous FTP user, or information about the location of useful files. For example, you might see messages like this:
To get a binary file, type: BINARY and then: GET "File.Name" newfilename
To get a text file, type: ASCII and then: GET "File.Name" newfilename
Names MUST match upper, lower case exactly. Use the "quotes" as shown.
To get a directory, type: DIR. To change directory, type: CD "Dir.Name"
To read a short text file, type: GET "File.Name" TT
For more, type HELP or see FAQ in gopher.
To quit, type EXIT or Control-Z.
230- If you email to firstname.lastname@example.org you will be sent help information
230- about how to use the different services sunsite provides.
230- We use the Wuarchive experimental ftpd. if you "get" <directory>.tar.Z
230- or <file>.Z it will compress and/or tar it on the fly. Using ".gz" instead
230- of ".Z" will use the GNU zip (/pub/gnu/gzip*) instead, a superior
230- compression method.
After you are connected to the remote system, you can use familiar Linux commands to display file contents and move around the directories. To display the contents of a directory, for example, use the command ls or the DOS equivalent dir. To change to a
subdirectory, use the cd command. To return to the parent directory (the one above the current directory), use the command cdup or cd ... There are no keyboard shortcuts available with FTP, so you have to type in the name of files or directories in their
When you have moved through the directories and have found a file you want to move back to your home system, use the get command:
The commands get (download) and put (upload) are relative to your home machine. You are telling your system to get a file from the remote location and put it on your local machine, or to put a file from your local machine onto the remote machine. This
is the exact opposite of another commonly used TCP/IP protocol, telnet, which has everything relative to the remote machine. It is important to remember which command moves in which direction, or you could overwrite files accidentally.
The quotation marks around the filename are optional for most versions of FTP, but they do provide specific characters to the remote version (preventing shell expansion), so the quotation marks should be used to avoid mistakes. FTP provides two modes of
file transfer: ASCII and binary. Some systems will automatically switch between the two, but it is a good idea to manually set the mode to ensure you don't waste time. To set FTP in binary transfer mode (for any executable file), type the command
You can toggle back to ASCII mode with the command ASCII. As you will most likely be checking remote sites for new binaries or libraries of source code, it is a good idea to use binary mode for most transfers. If you transfer a binary file in ASCII
mode, it will not be executable (or understandable) on your system. ASCII mode includes only the valid ASCII characters and not the Ctrl-key sequences used within binaries. Transferring an ASCII file in binary mode does not affect the contents, although
spurious noise may cause a problem in rare instances.
When you issue a get command, the remote system will transfer data to your local machine and display a status message when it is finished. There is no indication of progress when a large file is being transferred, so be patient.
ftp> get file1.txt
200 PORT command successful.
150 BINARY data connection for FILE1.TXT (27534 bytes)
226 BINARY Transfer complete.
27534 bytes received in 2.35 seconds (12 Kbytes/s).
To quit FTP, type the command quit, which will close your session on the remote machine and then terminate FTP on your local machine.
If you don't have access to a remote site through FTP, all is not lost. If you have electronic mail, you can still get files transferred to you. Some online systems allow Internet mail to be sent and received, but do not allow direct access to FTP.
Similarly, some Internet service providers offer UUCP accounts that do not allow direct connection but do provide e-mail. To get to FTP sites and transfer files, you use the ftpmail utility.
The site mentioned previously, sunsite.unc.edu, is a major Linux archive site that supports ftpmail. All of the sites listed in this appendix as Linux FTP sites also support ftpmail. To find out how to use ftpmail, send an e-mail message to the login
ftpmail at one of the sites, such as email@example.com, and have the body of the message contain only one word: help.
By return mail, the ftpmail utility will send instructions for using the service. Essentially, you send the body of the FTP commands you want executed in a mail message, so you could get back a directory listing of the Linux directory in a mail message
with this text:
You could transfer a file back through e-mail with a similar mail message:
The ftpmail system is relatively slow, as you must wait for the e-mail to make its way to the target machine and be processed by the remote, then for the return message to make its way back to you. It does provide a useful access method for those
without FTP connections, though, and a relatively easy way to check the contents of the Linux directories on several machines.
Linux FTP Archive Sites
The list of Linux FTP archive sites changes slowly, but the sites listed in Table A.1 were all valid and reachable when this guide was written. Many of these sites are mirror sites, providing exactly the same contents.
To find the site nearest you, use the country identifier at the end of the site name (fi=Finland, fr=France, and so on). Most versions of FTP allow either the machine name or the IP address to be used, but if the name cannot be resolved by the local
Internet gateway, the IP address is the best addressing method.
The primary home sites for the Linux archives are tsx-11.mit.edu, sunsite.unc.edu, and nic.funet.fi. Home sites are where most of the new software loads begin. The majority of sites in Table A.1 mirror one of these three sites.
There are literally hundreds of Bulletin Board Systems (BBSes) across the world that offer Linux software. Some download new releases on a regular basis from the FTP home sites, whereas others rely on the users of the BBS to update the software.
A complete list of BBSes with Linux software available would be too lengthy (as well as out-of-date almost immediately) to include here. Zane Healy maintains a complete list of BBSes offering Linux material. To obtain the list, send e-mail requesting
the Linux list to firstname.lastname@example.org.
If you don't have access to e-mail, try posting messages on a few local bulletin board systems asking for local sites that offer Linux software, or ask someone with Internet access to post e-mail for you.
Zane Healy (email@example.com) maintains this list. If you know of or run a BBS that provides Linux software but isn't on this list, you should get in touch with him.
You can also get an up-to-date list on BBSes from tsx-11.mit.edu in the /pub/linux/docs/bbs.list file. The lists shown below were up-to-date at the time we went to print.
United States BBSes
Here is a list of some of the BBSes in the United States that carry Linux or information about Linux:
r-node, 416-249-5366. 2400 Toronto, ON, Canada. Usenet
Usenet is a collection of discussion groups (called newsgroups) that is available to Internet users. There are more than 14,000 newsgroups with over 2GB of traffic posted every single day. Of all of these newsgroups (which cover every conceivable
topic), several are dedicated to Linux.
You can access Usenet newsgroups through special software called a newsreader if you have access to a site that downloads the newsgroups on a regular basis. Alternatively, most online services such as CompuServe, America Online, and Delphi also offer
access to Usenet. Some BBSes also are providing limited access to newsgroups.
Usenet newsgroups fall into three categories: primary newsgroups, which are readily available to all Usenet users; local newsgroups with a limited distribution; and alternate newsgroups that may not be handled by all news servers. The primary newsgroups
of interest to Linux users are
These newsgroups should be available at all Usenet sites unless the system administrator filters them out for some reason.
There are also regional newsgroups that usually are not widely distributed, or that have specific issues which may be in a language other than English. Some sample regional newsgroups carried by Usenet are
If you do have access to Usenet newsgroups, it is advisable to regularly scan the newsgroup additions and deletions to check for new Linux newsgroups or existing groups that have folded. Most online services that provide access to Usenet maintain lists
of all active newsgroups, which can be searched quickly.
The traffic on most of these Linux newsgroups deals with problems and issues people have when installing, configuring, or using the operating system. Usually, there is a lot of valuable information passing through the newsgroups, so check them
regularly. The most interesting messages that deal with a specific subject (called threads) are collected and stored for access through an FTP site.