Apéndice C


Tutorial de FTP y Lista de Sites


C.1 Aprendiendo FTP

C.2 Registrándose

C.3 Moviéndonos dentro

C.4 Traerse ficheros

C.5 Saliendo de FTP

C.6 Usando ftpmail

C.7 Lista de FTP Sites de Linux

Tutorial de FTP y Lista de Sites
Anterior- Siguiente - Índice

FTP ("File Transfer Protocol") es el conjunto de programas que se usa en Internet para transferir ficheros entre sistemas. La mayoría de los sistemas UNIX, VMS y MS-DOS de Internet tienen un programa llamado ftp que se usa para transferir estos ficheros, y si usted tiene acceso a Internet, el mejor modo de descargarse el software de Linux es usando ftp. Este apéndice cubre el uso de ftp a nivel básico, por supuesto, hay muchas mas funciones y usos del ftp de los que se dan aquí.
Al final de este apéndice hay una lista de sites FTP donde se puede encontrar el software de Linux. Además, si no tiene acceso directo a internet, pero puede intercambiar correo electrónico con Internet, abajo se incluye información sobre como usar el ftpmail.
Si esta usando un sistema MS-DOS, UNIX, o VMS para traer ficheros desde Internet, entonces ftp será un programa a base de comandos. Sin embargo, existen otras implementaciones de ftp, como la versión Macintosh (llamada Fetch) con un bonito interface guiado por menús, que lo hacen mas amigable y cómodo de usar. Incluso si no esta usando la versión de comandos de ftp, la información que se facilita debería serle de ayuda.
ftp puede usarse tanto para "subir" (enviar) como para "bajar" (recibir) ficheros desde los sites de Internet. En la mayoría de situaciones, usted estará bajando software. En Internet hay un gran numero de FTP archive sites de acceso publico, maquinas que permiten a cualquiera hacer ftp sobre ellas y bajarse el software. Un "archive site" de este tipo es sunsite.unc.edu, que contiene un montón de software de Sun Microsystems, y que actúa como uno de los principales sites de Linux.
Además, los FTP archive sites se reflejan (mirror) el software unos a otros, es decir, el software que se sube a un site será automáticamente copiado a un gran numero de otros sites. De modo que no se sorprenda si ve exactamente los mismos ficheros en muchos sites diferentes.

C.1 Aprendiendo ftp
Anterior- Siguiente - Índice

Fíjese que en el ejemplo "screens" que figura debajo solamente estoy mostrando la información mas relevante, y lo que usted vea podría diferir. Tome nota también de que los comandos en itálicas representan comandos que usted teclea; todo lo demás es la salida de pantalla.
Para arrancar el ftp y conectar con un site, use simplemente el comando

ftp <hostname>

donde <hostname> es el nombre del site al que se quiere conectar. Por ejemplo, para conectar con el ya mítico site shoop.vpizza.com se puede usar el comando

ftp shoop.vpizza.com

C.2 Registrándose
Anterior- Siguiente - Índice

Cuando comienza el ftp debería verse algo como

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

En este punto, ftp nos esta pidiendo que le demos el nombre de usuario con el que nos queremos registrar en shoop.vpizza.com. El nombre por defecto aquí es mdw, que corresponde con mi nombre de usuario del sistema desde el que estoy usando el FTP. Como no tengo cuenta en shoop.vpizza.com no me podré registrar como yo mismo. En cambio, para acceder al software disponible públicamente en un FTP site hay que registrarse como anonymous, y dar la dirección de e-mail Internet (si se tiene) como password. De modo que teclearíamos

Name (shoop.vpizza.com:mdw): anonymous
331-Guest login ok, send e-mail address as password.
Password: mdw@sunsite.unc.edu
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>

Por supuesto, usted debería dar su dirección de e-mail en vez de la mía, y no se reflejara en pantalla mientras la este escribiendo (ya que técnicamente es un "password" o contraseña). El ftp nos debería permitir registrarnos y ya estaríamos preparados a bajarnos el software.

C.3 Moviéndonos dentro
Anterior- Siguiente - Índice

Perfecto, ya estamos dentro. Nuestro prompt es ftp>, y el programa ftp esta a la espera de comandos. Hay unos pocos comandos básicos que debería conocer. Primero, los comandos

ls <fichero>

y

dir <fichero>

ambos dan un listado de ficheros (donde <fichero> es un argumento opcional que especifica un fichero particular a listar). La diferencia es que ls generalmente produce un listado corto y dir produce un listado mas largo (es decir, con mas información sobre los tamaños de los ficheros, fechas de modificación, etc.).
El comando

cd <directorio>

moverá al directorio dado (exactamente como el comando cd en sistemas UNIX o MS-DOS). Puede usar también el comando

cdup

para cambiar al directorio padre1.
El comando

help <comando>

proporciona ayuda en el citado <comando> ftp (como puede ser ls o cd). Si no se especifica comando, ftp listara todos los comandos disponibles.
Si tecleamos dir en este punto, veremos un listado del directorio inicial en el que nos encontramos.

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>

_____________________________________________
1 el directorio por encima del actual.

Cada una de estas entradas es un directorio, no un fichero individual que nos podamos traer (especificado por la d de la primera columna del listado). En la mayoría de los "FTP archive sites" (Servidores de FTP), el software públicamente accesible esta bajo el directorio /pub, de modo que vamos a él.

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>

Aquí podemos ver un numero de (>interesantes?) ficheros, uno de los cuales se llama README, que deberíamos bajarnos (la mayoría de FTP sites tienen un fichero README en el directorio /pub).

C.4 Traerse ficheros
Anterior- Siguiente - Índice

Antes de traer ficheros, hay algunas cosas que debería tener en cuenta.
o Conectar las marcas de progreso. Las Marcas de Progreso se imprimen en pantalla mientras se están transfiriendo ficheros; le permitirán saber como de avanzada va su transferencia, y que su conexión no se ha cortado (de modo que no este sentado 20 minutos pensando que aun esta trayéndose un fichero). En general, una marca de progreso aparece como una almohadilla (#), y se imprime una por cada 1024 o 8192 bytes transferidos, dependiendo del sistema.
Para activar la impresión de marcas de progreso, utilice el comando hash.

ftp> hash
Hash mark printing on (8192 bytes/hash mark).
ftp>

o Determinar el tipo de fichero que va a transferir. En lo que concierne al FTP, los ficheros van en dos formatos: binario y texto. La mayoría de los ficheros que usted transferirá serán binarios: es decir, programas, ficheros comprimidos, ficheros de datos, etc. Sin embargo, muchos ficheros (tales como READMEs y demás) son ficheros de texto.
¿Por que es importante el tipo de fichero? Simplemente porque en algunos sistemas (como el MS-DOS), ciertos caracteres de un fichero de texto, tales como retornos de carro, necesitan convertirse de modo que los ficheros puedan ser legibles. Mientras las transferencias en modo binario, no realizan ninguna conversión, el fichero se transfiere byte a byte.
Los comandos bin y ascii ponen el modo de transferencia en binario y texto respectivamente. Si esta en duda, use siempre el modo binario para transferir ficheros. Si intenta transferir un fichero binario en modo texto, obtendrá un fichero corrupto que no podrá utilizar. (Este es uno de los fallos mas corrientes cuando se usa el FTP.) Sin embargo, puede usar tranquilamente el modo texto para ficheros de texto (aquellos cuyos nombres terminan habitualmente en .txt).
En nuestro ejemplo traeremos el fichero README, que por lo general es un fichero de texto, para lo cual usaremos el comando

ftp> ascii
200 Type set to A.
ftp>

o Establecer el directorio local. El directorio local es el directorio de su sistema en el que quiere que vayan a parar los ficheros traídos. Mientras el comando cd cambia el directorio remoto (de la maquina remota a la que esta haciendo FTP), el comando lcd cambia el directorio local.
Por ejemplo, para cambiar el directorio local a /home/db/mdw/tmp, utilice el siguiente comando

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

Ahora ya esta listo para traerse el fichero. El comando

get <nombre-remoto> <nombre-local>

se usa para esto, donde <nombre-remoto> es el nombre del fichero de la maquina remota, y <nombre-local> es el nombre que le quiere dar al fichero en su maquina local. El argumento <nombre-local> es opcional; por defecto el nombre fichero local es el mismo que el remoto. Sin embargo, si está trayéndose el fichero README, y ya tiene un README en su directorio local, necesitara darle un <nombre-local> distinto para que no se sobrescriba el primero.
En nuestro ejemplo, para traer el fichero README, usamos simplemente

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>

C.5 Saliendo de FTP
Anterior- Siguiente - Índice

Para terminar una sesión FTP, solo tiene que usar el comando

quit

El comando

close

se puede usar para cerrar la conexión con el FTP site actual; el comando open se puede usar para comenzar una sesión con otro site distinto (sin salir completamente del programa FTP).

ftp> close
221 Goodbye.
ftp> quit

C.6 Usando ftpmail
Anterior- Siguiente - Índice

ftpmail es un servicio que le permite obtener ficheros de FTP sites a través del correo electrónico de Internet. Si no tiene acceso directo a Internet, pero al menos puede enviar correo a Internet (desde un servicio como CompuServe, por ejemplo), entonces ftpmail es un buen método para conseguir los ficheros de los FTP archive sites. Desafortunadamente, ftpmail puede ser lento, sobre todo cuando envía grandes trabajos. Antes de intentar traerse gran cantidad de software usando ftpmail, asegúrese de que su cola de correo pueda manejar el trafico entrante. Muchos sistemas ponen cuotas de correo entrante, y pueden borrar su cuenta si su correo se excede de esta cuota. Solamente tiene que usar el sentido común.
sunsite.unc.edu, uno de los mas grandes FTP sites de Linux, posee un servidor de ftpmail.
Para usar este servicio, envíe un e-mail a ftpmail@sunsite.unc.edu en cuyo cuerpo del mensaje contenga solamente la palabra: help
Esto le enviara de vuelta una lista de comandos ftpmail y un breve tutorial de uso del sistema. Por ejemplo, para conseguir una lista de los ficheros de Linux encontrados en sunsite.unc.edu, envíe un correo a la dirección mencionada y que contenga el siguiente texto  

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

Podrá usar el servicio ftpmail para conectar con cualquier FTP site; no esta limitado a sunsite.unc.edu. La siguiente sección lista un numero de FTP sites de Linux.

C.7 Lista de FTP Sites de Linux
Anterior- Siguiente - Índice

La tabla C.1 es una lista de los mas conocidos FTP sites que mantienen software de Linux. Tenga en cuenta también que un gran numero de otros sites son copia de estos, y muy probablemente podrá encontrar Linux en un montón de sites que no están en esta lista.

Nombre del site

Dirección IP

Directorio

tsx-11.mit.edu

sunsite.unc.edu

nic.funet.fi

ftp.mcc.ac.uk

fgb1.fgb.mw.tu-muenchen.de

ftp.informatik.tu-muenchen.de

ftp.dfv.rwth-aachen.de

ftp.informatik.rwth-aachen.de

ftp.ibp.fr

kirk.bu.oz.au

ftp.uu.net

wuarchive.wustl.edu

ftp.win.tue.nl

ftp.ibr.cs.tu-bs.de

ftp.denet.dk

18.172.1.2

152.2.22.81

128.214.6.100

130.88.200.7

129.187.200.1

131.159.0.110

137.226.4.105

137.226.112.172

132.227.60.2

131.244.1.1

137.39.1.9

128.252.135.4

131.155.70.100

134.169.34.15

129.142.6.74

/pub/linux

/pub/Linux

/pub/OS/Linux

/pub/linux

/pub/linux

/pub/Linux

/pub/linux

/pub/Linux

/pub/linux

/pub/OS/Linux

/systems/unix/linux

/systems/linux

/pub/linux

/pub/os/linux

/pub/OS/linux

Tabla C.1: Linux FTP Sites

tsx-11.mit.edu, sunsite.unc.edu, y nic.funet.fi son los "home sites" del software de Linux, donde se deja la mayoría del nuevo software. La mayoría de los otros sites de la lista se hacen copia de alguna combinación de estos tres. Para reducir el trafico en la red, elija un site que este geográficamente lo mas cerca de usted.