8. Учебные материалы по FTP и список серверов

8 Учебные материалы по FTP и список серверов

FTP (``File Transfer Protocol'') - Протокол Передачи Файлов, это множество программ, используемых для передачи файлов между системами в Internet. Большинство систем UNIX, VMS и MS-DOS в Internet имеют программу, называемую ftp, которая используется для передачи этих файлов и, если у вас есть выход в Internet, лучший способ скачать программы для Linux, это с помощью ftp. Это приложение рассматривает основы использования ftp. Разумеется, ftp имеет значительно больше функциональных возможностей, чем рассмотрено здесь.

В конце этого приложения дан список FTP-серверов, где можно найти программы для Linux. Кроме того, если у вас нет прямого выхода в Internet, но вы можете обмениваться с Internet электронной почтой, то ниже приводится и информация по использованию сервиса ftpmail.

Если вы используете системы MS-DOS, UNIX или VMS для скачивания файлов из Internet, то для вас ftp - это программа, управляемая командами. В то время как в других реализациях ftp, таких как версия для Macintosh (называемая Fetch), имеются для этого чудесные меню, которые самопонятны. Даже если вы не используете командно-управляемое ftp, информация, приводимая здесь, все равно может быть полезной.

ftp можно использовать как для посылки файлов (upload), так и для их получения (download) с других узлов (sites) Internet. (прим. переводчика: нет общепринятого перевода слова "site", которое, следуя скорее традиции Relcom, мы в зависимости от контекста переводим, то как "узел", то как "(сетевой, архивный) сервер"; по этой же причине, часто для "download" используется (в том числе и нами) термин "скачать", что, видимо, следует признать (техническим) жаргоном).

В большинстве случаев вы все-таки будете скачивать программы. В Internet большое количество общедоступных архивных FTP-серверов, т.е. машин, позволяющих любому войти на них по ftp и скачать свободнораспространяемое (free) (прим. переводчика: сравните два последних слова и простите переводчику использование небольшой дозы жаргона) программное обеспечение. Один из таких архивных серверов sunsite.unc.edu, который состоит из множества Санов (Sun Microsystems), работает как (единый) один из самых мощных серверов Linux. Кроме того, архивные FTP-сервера осуществляют "зеркальное" отображение друг на друга, то есть, размещенное на одном сервере, автоматически копируется на ряд других серверов. так что не удивляйтесь, если увидите один и тот же файл на многих различных архивных серверах.

8.1 Начала ftp

Обратите внимание на то, что в "экранах", приводимых ниже, я лишь показываю наиболее существенную информацию, так что то, что вы можете увидеть на реальном экране, может отличаться.

Для запуска ftp и установления связи с сервером просто используйте команду

    ftp <hostname>

где <hostname> - имя сервера, с которым вы связываетесь. Например, для связи с мифическим сервером shoop.vpizza.com можно использовать команду

    ftp shoop.vpizza.com

8.2 Вход на сервер

Когда запускается ftp, мы можем увидеть что-то вроде

    Connected to shoop.vpizza.com.
    220 Shoop.vpizza.com FTPD ready at 15 Dec 1992 08:20:42 EDT
    Name (shoop.vpizza.com:mdw):

Здесь ftp просит нас ввести имя (Name) пользователя, под которым мы хотим войти на сервер shoop.vpizza.com. По умолчанию здесь "mdw", что служит моим именем пользователя для FTP-входа. Поскольку у меня нет account (прим. переводчика: не открыт счет, а точнее (но дальше от текста) - не зарегистрирован в качестве пользователя) на shoop.vpizza.com, я не могу войти под своим именем. Вместо этого, чтобы войти на общедоступный FTP-сервер вы входите как anonymous (аноним) и сообщаете свой адрес e-mail (если он у вас есть) в качестве пароля. То есть нам следует ввести

    Name (shoop.vpizza.com:mdw):  anonymous
    331-Guest login ok, send e-mail address as password.
    Password:  [email protected]
    230- Welcome to shoop.vpizza.com.
    230- Virtual Pizza Delivery[tm]:  Download pizza in  30 cycles
    or less
    230- or you get it FREE!
    ftp>

Разумеется, вам следует сообщать свой e-mail адрес вместо моего, он не будет отображаться на экране при вашем вводе (поскольку он вводится под "вывеской" пароля). ftp должен позволить нам войти и мы будем иметь возможность скачивать программы.

8.3 Озираясь вокруг

О'кей, мы вошли. ftp> - это наша подсказка, теперь программа ftp ждет ввода команд. Есть несколько основных команд, которые вам надо знать. Прежде всего, команды

    ls <file>

и

    dir <file>

обе дают список файлов (где <file> - необязательный аргумент, указывающий, какой список вывести). Разница в том, что ls обычно выдает короткий список, а dir - длинный (то есть с большей информацией относительно размера файлов, даты модификации и т.п.). Команда

    cd <directory>

переместит "вас" в указанный каталог (точно также, как команда cd в UNIX или MS-DOS). Вы можете использовать команду

    cdup

для перехода в родительский (находящийся выше) каталог

Команда

    help <command>

даст вам подсказку по указанной команде ftp (такой как ls или cd). Если команда не указана, ftp выдаст список всех доступных команд. Если мы введем теперь dir, мы увидим начальный каталог нашего местонахождения.

    ftp> dir
    200 PORT command successful.
    150 Opening ASCII mode data connection for /bin/ls.
    total 1337
    dr-xr-xr-x  2 root     wheel         512 Aug 13 13:55 bin
    drwxr-xr-x  2 root     wheel         512 Aug 13 13:58 dev
    drwxr-xr-x  2 root     wheel         512 Jan 25 17:35 etc
    drwxr-xr-x 19 root     wheel        1024 Jan 27 21:39 pub
    drwxrwx-wx  4 root     ftp-admi     1024 Feb  6 22:10 uploads
    drwxr-xr-x  3 root     wheel         512 Mar 11  1992 usr
    226 Transfer complete.
    921 bytes received in 0.24 seconds (3.7 Kbytes/s)
    ftp>

Каждая из этих строк представляет каталог, а не отдельный файл, который мы можем скачать (на это указывает символ "d" в первой позиции списка). На большинстве архивных FTP-серверов общедоступные программы находятся под каталогом /pub, так что давайте туда и пойдем.

    ftp> cd pub
    ftp> dir
    200 PORT command successful.
    150 ASCII data connection  for /bin/ls (128.84.181.1,4525)  (0
    bytes).
    total 846
    -rw-r--r--  1 root   staff     1433 Jul 12  1988 README
    -r--r--r--  1 3807   staff    15586 May 13  1991  US-DOMAIN.TXT.2
    -rw-r--r--  1 539    staff    52664 Feb 20  1991 altenergy.avail
    -r--r--r--  1 65534  65534    56456 Dec 17  1990 ataxx.tar.Z
    -rw-r--r--  1 root   other  2013041 Jul  3  1991 gesyps.tar.Z
    -rw-r--r--  1 432    staff    41831 Jan 30  1989 gnexe.arc
    -rw-rw-rw-  1 615    staff    50315 Apr 16  1992 linpack.tar.Z
    -r--r--r--  1 root   wheel    12168 Dec 25  1990 localtime.o
    -rw-r--r--  1 root   staff     7035 Aug 27  1986 manualslist.tblms
    drwxr-xr-x  2 2195   staff      512 Mar 10 00:48 mdw
    -rw-r--r--  1 root   staff     5593 Jul 19  1988 t.out.h
    226 ASCII Transfer complete.
    2443 bytes received in 0.35 seconds (6.8 Kbytes/s)
    ftp>

Здесь мы можем видеть ряд (интересных?) файлов, один из которых называется README, который нам следует скачать (большинство FTP-серверов имеет файл README в каталоге /pub).

8.4 Скачивание файлов

Перед скачиванием файлов следует обратить внимание на

  • Включите вывод хэш-меток. Хэш-метки выводятся на экран как передаваемые файлы; они информируют о переданных объемах и что передача не зависла (так что вы не будете сидеть минут 20, полагая, что вы все еще скачиваете файл). В общем случае хэш-метка появляется, как символ решетки (#), который печатается через каждые 1024 или 8192 переданных байт, в зависимости от системы.

    Включение хэш-меток осуществляется командой

            ftp> hash
            Hash mark printing on (8192 bytes/hash mark).
            ftp>
    
  • Определите тип файла, который вы скачиваете. FTP различает два типа файлов: бинарные (двоичные) и текстовые. Большинство файлов, которые вы будете скачивать - бинарные. Это программы, скомпрессированные файлы, архивированные файлы и т.п. Но есть немало и текстовых файлов (вроде README).

    Почему тип файла имеет значение? Только потому, что на некоторых системах (таких, как MS-DOS), определенные символы текстового файла, вроде возврата каретки, должны быть преобразованы так, чтобы файл был читаем. А при передаче бинарных файлов никаких преобразований не осуществляется - файл просто передается байт за байтом.

    Команды bin и ascii используются для перевода соответственно в бинарный режим передачи файлов и текстовый соответственно. Если возникают сомнения - используйте бинарный режим. Если вы попытаетесь передать бинарный файл в текстовом режиме, файл будет испорчен при передаче до полной бесполезности. (Это одна из популярнейших ошибок на начальных этапах использования FTP). Но разумеется, вы можете использовать текстовый режим для передачи нормальных текстовых файлов (чьи имена часто заканчиваются на .txt).

    Например, мы скачиваем файл README который, скорее всего, текстовый так что мы используем команду

            ftp> ascii
            200 Type set to A.
            ftp>
    
  • Установите свой местный каталог. Ваш местный каталог, это каталог вашей системы, куда вы хотите в конечном счете скачать файлы. В то время как команда cd меняет каталог удаленной машины (машины, на которую вы вошли по FTP), команда lcd меняет местный (l-local) каталог.

    Например, чтобы установить местный каталог /home/db/mdw/tmp, используйте команду

            ftp> lcd /home/db/mdw/tmp
            Local directory now /home/db/mdw/tmp
            ftp>
    

Теперь вы действительно готовы скачивать файлы. Команда

    get <remote-name> <local-name>

используется именно для этого, где <remote-name> имя файла на удаленной машине, а <local-name> - имя, которое вы хотите дать файлу на вашей машине. <local-name> - необязательный аргумент; по умолчанию имя местного файла то же, что и у скачиваемого файла. Но, если например вы скачиваете файл README, и у вас уже есть файл с именем README в этом каталоге, вам следует дать другое имя для <local-filename>, чтобы не затереть существующий. Например, для скачивания файла README мы просто используем

    ftp> get README
    200 PORT command successful.
    150 ASCII data connection for README (128.84.181.1,4527) (1433
    bytes).
    #
    226 ASCII Transfer complete.
    local:  README remote:  README
    1493 bytes received in 0.03 seconds (49 Kbytes/s)
    ftp>

8.5 Прекращение FTP-связи

Для прекращения FTP-сессии просто используйте команду

    quit

Команда

    close

может использоваться для закрытия связи с данным FTP-сервером; команда open может быть после этого использована для начала сессии с другим сервером (без выхода из программы FTP).

    ftp> close
    221 Goodbye.
    ftp> quit

8.6 Использование ftpmail

ftpmail - это сервис, который позволяет получить файлы из FTP-архива через электронную почту Internet. Если у вас нет прямого выхода на Internet, но есть возможность посылать письма в Internet (например, из CompuServe), ftpmail - это хороший способ получить файлы из архивов FTP-серверов. К сожалению, ftpmail может быть медленным, особенно при пересылке больших об'емов. Перед попыткой скачать большое число программ с использованием ftpmail, убедитесь, что область спуллинга вашей mail будет способна справиться с такими объемами входного трафика. Во многих системах есть ограничения на объем приходящей электронной почты (прим. переводчика: ограничения могут быть как на объем отдельного файла, так и на общее число принимаемых (размещаемых во входном спуле) файлов). Так что руководствуйтесь здравым смыслом.

sunsite.unc.edu - один из главных архивных Linux FTP-серверов, имеет также ftpmail-сервер. Для того, чтобы воспользоваться этим сервисом, пошлите письмо по адресу:

    [email protected]

А в письме только одно слово

    help

В результате вы получите в ответ список команд ftpmail и краткую инструкцию по пользованию системой.

Например, для получения списка файлов sunsite.unc.edu, пошлите письмо по вышеуказанному адресу со следующим текстом:

    open sunsite.unc.edu
    cd /pub/Linux
    dir
    quit

Вы можете использовать ftpmail для связи с архивом FTP-сервера; и это не ограничивается лишь sunsite.unc.edu. В следующем разделе приводится список Linux FTP-архивов.

8.7 Список Linux FTP-серверов

Таблица C.1 - это список наиболее известных архивных FTP-серверов, которые хранят пакеты программ для Linux. Имейте в виду, что многие другие сервера имеют зеркальные отображения многих из этих архивов, так что скорее всего вы найдете нужное вам на серверах, отсутствующих в этом списке.

tsx-11.mit.edu, sunsite.unc.edu и nic.funet.fi - это "дом родной" для Linux, где вы можете найти большинство новых программ. Большинство других серверов из списка зеркально отображают некоторую комбинацию из этих трех. Для уменьшения сетевого трафика выбирайте сервер, который ближе к вам географически.

 Имя сервера                    IP адрес          Каталог
 tsx-11.mit.edu                 18.172.1.2       /pub/linux
 sunsite.unc.edu                152.2.22.81      /pub/Linux
 nic.funet.fi                   128.214.6.100    /pub/OS/Linux
 ftp.mcc.ac.uk                  130.88.200.7     /pub/linux
 fgb1.fgb.mw.tu-muenchen.de     129.187.200.1    /pub/linux
 ftp.informatik.tu-muenchen.de  131.159.0.110    /pub/Linux
 ftp.dfv.rwth-aachen.de         137.226.4.105    /pub/linux
 ftp.informatik.rwth-aachen.de  137.226.112.172  /pub/Linux
 ftp.ibp.fr                     132.227.60.2     /pub/linux
 kirk.bu.oz.au                  131.244.1.1      /pub/OS/Linux
 ftp.uu.net                     137.39.1.9       /systems/unix/linux
 wuarchive.wustl.edu            128.252.135.4    /systems/linux
 ftp.win.tue.nl                 131.155.70.100   /pub/linux
 ftp.ibr.cs.tu-bs.de            134.169.34.15    /pub/os/linux
 ftp.denet.dk                   129.142.6.74     /pub/OS/linux
                  Таблица C.1: FTP-серверы Linux

Предыдущая глава | Содержание | Следующая глава