=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-
.{{-~& ________________________________
{{}{{{{ / \
{{{} ÖÖ o0 Ssii... la E-zine Argentina... |
{`}{\__= ° \________________________________/
{{{_/ l_,...___
{/ ~ ._.... )=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
/ ^ o ) o) / / · s$s - Numero 2 / 8 de Marzo del 2000 / - s$s · ·
/ / \`-'`-' |||=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
{ ( } {
`.`. j { ███████▓░ ███▓░ █████▓░
`,`-, . l ███▓░ ███▓███▓░
f^' \ /} ███▓░ ███▓░ ███▓███▓░
t Y } ███▓░ ███▓░ █████████▓░
Y \l ███████▓░ ██▓░ ███▓░ ██▓░ ███▓░ ███▓░
\ \
`. \ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
!`, \ · · · · · · · · · Magazine - Underground · · · · · · · ·
l / } =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
l/ /
/ ,'
/ /!
/ ,' l
(. \l. `_.
\ \_`~~'
`''
[]OoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO[]
// \\
\\ DISPONIBLE EN: //
//
http://314u.none.com.ar (HEADQUARTER OFICIAL) \\
\\ //
||.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.||
\\ //
// E-MAIL OFICIAL: \\
\\
[email protected] //
// \\
||.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.||
\\ //
// EDITOR: \\
\\ //
// Mr. Nuk3m <
[email protected]> \\
\\ //
// Miembros del CIA TEAM: \\
\\ //
// Colaboradores: \\
\\ //
[]OoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoO[]
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! !!
!! Todos los contenidos de esta revista son SOLAMENTE EDUCATIVOS, !!
!! NINGUNO PRETENDE INCITAR AL CRIMEN O A LA ILEGALIDAD. Cualquier !!
!! uso erroneo de esta informacion no es responsabilidad mia. !!
!! Asimismo, no me hago responsable de las informaciones u opiniones !!
!! de nuestros colaboradores, lectores e informadores. La e-zine es !!
!! 100% libre de cualquier tipo de censura pudiendo asi publicar todo !!
!! aquellos temas que se consideren de interes y de utilidad. !!
!! !!
!! Nota Nuk3m: Los acentos han sido suprimidos a proposito debido a !!
!! que los caracteres pueden verse mal dependiendo del editor que !!
!! utilices. Se recomienda usar el Edit de MS-DOS ya que el texto ha !!
!! sido optimizado con ese editor. Muchas Gracias, Mr. Nuk3m. !!
!! !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=
Saludos desde este e-zine a:
-= La lista Under 2000 (de Neomenia)
-= La lista Aprendiendo
-= A la e-zine DZone (
http://dzone.com.ar) de Donatien.
-= A la Lista DZone :)
-= y a todos nuestros/as lectores/ras.
Distribuidores oficiales del e-zine:
-=
http://314u.none.com.ar
Nota Nuk3m: Se buscan distribuidores.. escribir a
[email protected].
En esta e-zine se trataran temas relacionados con:
-= Seguridad informatica
-= Hacking
-= Phreacking
-= Cracking
-= Virii
-= Carding
-= IRC
-= Programacion
-= Etc, etc., etc... (todo lo que este relacionado con temas "under")
Esta e-zine esta abierta a aceptar las colaboraciones externas de los
lectores, asi que si tenes algun texto por ahi y no sabes donde enviarlo,
aca sera bienvenido. A partir de ahora las colaboraciones se haran
imprescindibles, no lo penses dos veces y manda tu articulo.
Si queres colaborar con el e-zine, mandame tu articulo en formato TXT
comprimido, a
[email protected] y que en lo posible cumpla con las
siguientes caracteristicas:
-= Estar escrito como maximo a 78 columnas.
-= Que sea en un archivo .TXT en un .Zip.
-= Que no contega acentos, ni caracteres 8-bit, salvo nuestra querida eñe.
Y ya esta. Yo creo que son faciles de cumplir no? :)
Algunos de los textos que aqui se ponen, han sido copiados de webs u otros
sitios pero siempre se respeta el contenido original de los autores y se
pone la fuente de donde han salido. Si algun texto es tuyo y no queres que
figure en este e-zine, decimelo y lo sacare de la edicion.
No todos los articulos son de otras revistas, tambien hay producciones
propias y si a veces hay articulos de otras e-zines es porque no he
recibido ninguna colaboracion hasta el momento.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
| 0
0 -= CIA =- 1999-2000, Derechos Reservados |
| 0
0 -=#( COMENZAMOS CON EL NUMERO 2 DE CIA, QUE LO DISFRUTES. )#=- |
| 0
0-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Titulo Autor Tema
~~~~~~ ~~~~~ ~~~~
00. Indice .................................... Mr. Nuk3m ..... Que sera ?
01. Editorial ................................. CIA-Team ...... Editorial
02. Noticias .................................. Mr. Nuk3m ..... Actualidad
03. Descubriendo Linux Red Hat 5.0 (parte 2) .. Mr. Nuk3m ..... Linux
04. Texto 109 del LoCo ........................ ELoCo ......... Personaje
05. Mail del lector ........................... CIA-Team ...... Lectores
06. Consejos para una pagina o un sitio web ... Mr. Nuk3m ..... HTML
07. Numeros de serie .......................... Mr. Nuk3m ..... Cracking
08. Codigos de paises ......................... Mr. Nuk3m ..... WWW
09. Me conecte a Internet ..................... Mr. Nuk3m ..... Hacking
10. Publicidad, Links recomendados, etc ....... Mr. Nuk3m ..... Publicidad
11. BBS, sinonimo de la comunicacion .......... Mr. Nuk3m ..... Bbsing
12. KEVIN MITNICK: El "Hacker" mas famoso de
la red ..................... Mr. Nuk3m ..... Entrevista
13. Glosario de Terminos Tecnicos ............. Mr. Nuk3m ..... Info
14. ¿ Miedo a los articulos o fiaca ? ......... Mr. Nuk3m ..... Articulos
15. Manifiesto de un hacker novato ............ Silicon Dragon Recopilacion
16. Llave PGP ................................. CIA-Team ...... PGP
17. Despedida ................................. CIA-Team ...... Despedida
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
01 ) Editorial
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Hola a todos (y a todas ;-)) !, despues de casi un mes de haber
publicado el primer numero de la e-zine, tratando el tema de Linux en
su mayoria, y otros temas por supuesto, aca estamos de vuelta con el
numero 2 de C.I.A Magazine. En este numero 2 de la revista inauguramos
una nueva seccion: Publicidad, Links recomendados, etc. Como bien dice
el titulo de la seccion, en ella se van a poner avisos de publicidad,
ya sean de web sites, FTP's, BBS's, Links interesantes y recomendados,
y todo aquellos que los lectores quieran publicar en la e-zine que
bien podria ser las direcciones de sus sitios o paginas personales, o
sus sitios preferidos, o algo que crean que valga la pena publicar
para que los demas lectores se enteren.
Hago esta E-zine para Argentina ya que no encuentro muchas y que a su
vez esten actualizadas. Y una vez más, les digo que necesito su ayuda,
que necesito su colaboración, sus artículos, su apoyo... y ganas para
que este e-zine salga adelante :)
Si tenes cualquier pregunta o problema, aca estoy para ayudarte en
todo lo que pueda. Pero no me preguntes sobre cosas muy avanzadas o
algo extrañas, porque no domino mucho el tema en absoluto. Podes
utilizar la dirección de la revista para cualquiera de estas cosas:
[email protected]
Por cierto, necesito distribuidores para alojar el e-zine en todo tipo
de medio de comunicación. Por favor, si tenes una página Web
distribuila, si conoces un BBS o un FTP subila para que esté al
alcance de todos...
Se Necesitan Colaboradores, y gente que este dispuesta a formar parte
del CIA Team. Les cuento que el CIA Team va a estrar formado por menos
de 10 personas, asi que aquellos que se sientan capaces de llevar una
seccion de la revista como una seccion de Hack, Crack, Phreack o lo
que sepa hacer que me escriba asi queda confirmado como editor de la
revista.
Bueno, termino esta editorial diciendoles que disfruten, aprovechen
este numero y que les sirva de algo. Espero que mas adelante podamos
"usar" el e-zine como un punto de encuentro que nos permita conocer
gente interesante y juntos ir descubriendo este Mundo Subterraneo.
|\/|r. |\|uk3m
[email protected]
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
02 ) Noticias
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Nota Nuk3m: No se si la info que sigue a continuacion les sirva de
algo, pero es lo unico con que se me ocurrio rellenar esta
seccion.
-= 1 =- El buscador HispaVista vende su mayoria al ISP frances
Libertysurf.
HispaVista, uno de los buscadores españoles mas utilizados, ha vendido
su mayoria accionarial al ISP frances LibertySurf, dominado por la
empresa de Internet Europa@web, propiedad de Bernard Arnault,
presidente, a su vez, del grupo LVMH (Louis Vuitton). Asi lo revelaron
el viernes 3, a ultima hora, mediante nota de prensa, los propietarios
de HispaVista, encabezados los hermanos donostiarras Elosegui. La
cifra de la operacion no fue hecha publica, si bien el boletin Arroba
Euskadi, que dirige el periodista Jose A. del Moral, la situo en 35
millones de dolares (6.000 millones de pesetas).
"Se trata del primer ciberpelotazo de la historia de Euskadi",
escribio el reportero. "Jon, Unai y Paul Elosegui recibiran una
participacion del 0,23 % de la compañia gala y 1.300 millones de
pesetas en efectivo, y seguiran gestionando la empresa, ademas de
mantener el 49 % de su capital". HispaVista, que figura en la ultima
encuesta de la AIMC como uno de los diez primeros sitios web visitados
en España, inicio en noviembre una ronda de financiacion.
LibertySurf inscribe la operacion en la proxima salida a Bolsa
Segun revelo este sitio web, "hemos tenido ofertas de entidades de
capital riesgo, banca, corporaciones, culminando este proceso con
LibertySurf, que fue el mejor postor". "La entrada de LibertySurf en
HispaVista representa la incorporacion de un socio estable que aporta
un know-how en el sector de las telecomunicaciones y el reconocimiento
a nivel internacional", comento Paul Elosegui. Por su parte,
LibertySurf, uno de los proveedores lideres de acceso gratuito en
Francia, hizo coincidir el anuncio de la adquisicion junto a la
noticia de su proxima salida a Bolsa.
Pierre Besnainou, chief executive de LibertySurf manifesto en Paris
que "los ingresos de la compañia vendran de cuatro fuentes
principales: comercio electronico, publicidad, telecomunicaciones y
conexiones a Internet. Nuestro siguiente paso tiene tres objetivos:
atraer nuevos usuarios, fidelizarlos e incrementar beneficios".
HispaVista asegura que su audiencia asciende a 13,4 millones de
paginas visitadas al mes, con un crecimiento medio mensual del 30 %.
Entre sus servicios gratuitos, destacan el alojamiento de paginas web
en Galeon, el correo, la bolsa de empleo, con 3500 ofertas de empleo
activas y la informacion bursatil.
-= 2 =- El candidato Bush se manifiesta contrario a la division de
Microsoft.
El candidato republicano George W. Bush manifesto el viernes 3, en
Nueva York que se opone a que Microsoft sea dividido en diferentes
empresas, tal y como se especula que sucedera si el Gobierno
norteamericano gana el caso anti-monopolio. En la actualidad, el juez
Thomas Penfield Jackson sopecha si Microsoft, con sus agresivas
practicas comerciales, violo la Ley Sherman Anti trust.
"Estoy en contra de que se rompa Microsoft. Seguro que existe una
solucion mejor que partir una compañia exitosa que emplea a mucha
gente", dijo el politico conservador. En todo caso, la decision del
juez se espera para las proximas semanas, muchos meses antes de que el
candidato Bush pudiera alcanzar la Casa Blanca.
-= 3 =- Un estudio de Stanford habla sobre los adictoas al sexo por
Internet.
Un estudio realizado por psicologos de las universidades de Starford y
Duquesne revela que unos 200.000 internautas norteamericanos son
adictos a las paginas web y chat pornograficos, empleando en ello una
media de once horas a la semana. "Debemos preocuparnos por estas
personas porque estan comenzando a desarrollar problemas mentales que
pueden ser muy graves", dice el estudio, una de cuyas reseñas se
publica en El Mundo.
Al Cooper, uno de los autores del analisis, indica que "las personas
que reconocian visitar con frecuencia los portales pornograficos
tenian mas problemas para relacionarse con individuos de otro sexo que
los internautas que usaban ocasionalmente estas direcciones o que
aquellos que no las visitaban jamas".
El mencionado diario recuerda que otro estudio realizado en España
revelo que "la propia Red es una de las nuevas adicciones creadas por
el estilo de vida de las grandes ciudades" (...) "Internet propicia la
aparicion de personas adictas al juego, al sexo, a la comida o a las
compras".
-= 4 =- La industria discografica, preocupada por las perdidas por
pirateo.
La industria musical empieza a reconocer publicamente las cuantiosas
perdidas que causan las copias ilegales de canciones por Internet. Jay
Berman, presidente de la poderosa organizacion internacional IFPI,
dijo el viernes 3 en Londres que "el pirateo esta costando anualmente
al sector 4.500 millones de dolares, en una industria que mueve 38.000
millones".
"Para los artistas, Internet representa una gran oportunidad para
llegar a las audiencias que buscan, pero al mismo tiempo, ellos
quieren cobrar por su trabajo". La solucion que propone este directivo
es que los gobiernos endurezcan las leyes del copyright. La industria
musical estima que en la actualidad existen mas de un millon de
canciones no autorizadas en Internet, y la cifra aumenta dia a dia.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
03 ) Descubriendo Linux Red Hat 5.0 (PARTE 2)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Descubriendo Linux Red Hat 5.0 (PARTE 2)
------------ ----- --- --- --- ---------
By Mr. Nuk3m
-- --- -----
Hola a todos los que estan leyendo esto, yo soy Mr. Nuk3m y esta es la
segunda entrega de este manual del sistema operativo Linux Red Hat 5.0.
Disculpen las faltas de ortografia pero no voy a poner acentos, salvo
las eñes para que todos puedan leer este texto; ya sean usuarios de
Windows o Linux :) Me reservo los derechos de autor de este manual por
lo que si quieren hacer modificaciones, avisen primero. Este texto es
de libre distribucion, siempre y cuando aparezcan estas lineas y mi
nombre, Mr. Nuk3m.
A continuacion, como siempre, un indice para que puedas buscar lo que
te interesa saber de Linux Red Hat 5.0:
Contenido
Introduccion (lo esta leyendo)
8. Utilidades Adicionales
8.1 Utilidades de monitoreo
8.1.1 date: Muestra la fecha y hora actuales
8.1.2 who: Lista los usuarios logueados actualmente
8.1.3 ps: Listado de los procesos
8.1.4 free: Sumario de la utilizacion de la memoria
8.1.5 top: Actividad del procesador
8.1.6 df: Muestra el espacio libre en los sistemas de archivos
8.1.7 du: Uso del disco
8.2 Utilidades para trabajar con texto
8.2.1 cat: Mostrar archivos
8.2.2 head: Muestra el comienzo de un archivo
8.2.3 tail: Muestra el final de un archivo
8.2.4 ascii-xfr: Convierte archivos de texto
8.2.5 more: Filtro para visualizacion de texto por pantalla
8.3 Utilidades para agrupar y comprimir archivos
8.3.1 gzip y bzip2: Compresion de archivos
8.3.2 tar: Agrupa archivos
8.4 Utilidades de ayuda
8.4.1 man: Informacion de los comandos y utilidades
8.5 Otras utilidades
8.5.1 passwd: Cambiando el password
9. Instalacion de software adicional
9.1 Software distribuido con codigo fuente
9.1.1 La distribucion
9.1.2 La configuracion
9.1.3 La compilacion
9.1.4 El directorio /usr/local
9.1.5 La instalacion
9.2 El sistema de paquetes RPM
9.2.1 Convenciones en los nombres de los paquetes
9.2.2 La base de datos RPM
9.2.3 Modos de operacion de rpm
9.3 Utilizacion de librerias
9.3.1 Directorios de las librerias
9.3.2 Instalacion de librerias.
10. Montando sistemas de archivos
10.1 Sistemas de archivos y particiones
10.2 Sintaxis del comando mount
10.3 Montando sistemas de archivos
10.3.1 Tipos de sistemas de archivos
10.4 Desmontando sistemas de archivos
10.5 El archivo /etc/fstab
10.5.1 Campos de cada entrada
10.5.2 Uso del archivo fstab
10.5.3 Permitiendo montar sistemas de archivos a usuarios normales
11. El kernel y los modulos
11.1 ¿Que es el kernel?
11.2 La interaccion
11.2.1 Las librerias del sistema
11.2.2 Las utilidades del sistema
11.3 ¿Que son los modulos?
11.4 Personalizando el kernel
11.4.1 Eligiendo la configuracion adecuada
11.4.2 Compilando el kernel
11.4.3 Compilando los modulos
11.4.4 Instalando los modulos
11.4.5 Instalando el nuevo kernel
11.4.6 Cargando y decargando los modulos
11.4.7 Las dependencias entre los modulos
11.4.8 Una carga de modulos mas inteligente
11.5 Actualizando nuestro kernel
11.5.1 Obteniendo el kernel
11.5.2 Instalando las fuentes del kernel
12. Aspectos avanzados de la shell
12.1 Programas de la shell (scripts)
12.2 Variables de la shell
12.2.1 Exportando variables de la shell
12.2.2 Variables automaticas de la shell
12.2.3 Variables estandar de la shell
12.3 El camino de busqueda (path)
12.4 Caracteres especiales - "Quoting"
12.5 Estado de salida de los comandos
12.6 Los argumentos
12.7 Estructuras de control
12.7.1 Condicionales simples
12.7.2 El condicional if
12.7.3 Los loops condicionales while y until
12.7.4 La sentencia for
12.7.5 La sentencia case
12.8 Evaluacion de condiciones - Test
12.9 Evaluacion de expresiones - Expr
CAPITULO 8
UTILIDADES ADICIONALES
8.1 UTILIDADES DE MONITOREO
El S.O. Linux nos provee de un conjunto de utilidades que nos permiten
monitorear nuestro sistema, desde enterarnos de la fecha actual hasta un
sumario del uso de la memoria.
8.1.1 date: MUESTRA LA FECHA Y LA HORA ACTUAL
# date
Sat May 29 23:54:23 ART 1999
El comando date tambien se utiliza para setear la fecha y la hora del
sistema, pero esto solo puede hacerlo el superusuario.
8.1.2 who: LISTA LOS USUARIOS LOGUEADOS ACTUALMENTE
El comando who muestra una lista de las personas que estan usando
actualmente el sistema.
# who
tony tty1 May 29 23:23
root tty2 May 29 20:15
8.1.3 ps: LISTADO DE PROCESOS
El comando ps muestra una lista de los procesos que se encuentran
corriendo en el sistema. Usualmente este comando es utilizado por los
programadores y los administradores del sistema para ver que es lo que
esta sucediendo en el sistema. Los usuarios utilizan ps para averiguar
el PID (process identification number) de los procesos errantes para
poder matarlos.
Si ejecutamos ps, veremos una lista formada por los procesos que
nosotros estamos ejecutando, pero no veremos los procesos de otros
usuarios. Vemos un ejemplo en la figura 8.1.
En el listado que aparece como salida del comando ps vemos el PID, la
terminal que lo controla, el estado del proceso, el tiempo de ejecucion
y el comando que invoco al proceso. Los PIDs se asignan secuencialmente
a medida que cada proceso comienza y ciclan otra vez hacia 1 cuando
alcanzan 32767. Si un proceso se esta ejecutando en "background",
podemos monitorearlo con el comando ps.
# ps
PID TTY STAT TIME COMMAND
491 1 S 0:00 /bin/login -- tony
492 1 S 0:00 -bash
503 1 S 0:00 sh /usr/X11R6/bin/startx
504 1 S 0:00 xinit /home/tony/.xinitrx --
508 1 S 0:02 wmaker
509 1 S 0:06 kfm
512 1 S 0:00 mount.app
513 1 S 0:00 asclock -shape
514 1 S 0:00 wmmixer -w
515 1 S 0:00 wmmom
516 1 S 0:00 wmmom -s
521 1 S 0:23 emacs -fn 9x15
525 p5 S 0:00 /bin/bash
572 p6 R 0:00 ps
Figura 8.1: Listando los procesos.
Si ejecutamos ps aux veremos todos los procesos que se estan ejecutando
en el sistema. Cada proceso tendra especificado el usuario dueño del
mismo.
8.1.4 free: SUMARIO DE LA UTILIZACION DE LA MEMORIA
El comando free muestra la cantidad de memoria fisica utilizada y
libre, la utilizacion del espacio "swap", la cantidad de memoria
compartida y la utilizacion de los "buffers". La opcion -b muestra la
cantidades en bytes, la opcion -k en kilobytes (es la predeterminada) y
la opcion -m en megabytes. Vemos la salida de este comando en la figura
8.2.
# free
total used free shared buffers cached
Mem: 95696 70068 25628 39672 6840 28760
-/+ buffers/cache: 34468 61228
Swap: 40156 0 40156
Figura 8.2: Visualizando la informacion de la memoria
utilizada en el sistema.
8.1.5 top: ACTIVIDAD DEL PROCESADOR
El comando top provee una vision en tiempo real de la actividad del
procesador. Nos muestra una lista de los procesos que utilizan el CPU
de manera intensiva y provee una interfase interactiva para la
manipulacion de los procesos. El comando top puede mostrar el listado
de los procesos ordenados por el uso de CPU, utilizacion de memoria o
tiempo de ejecucion.
8.1.6 df: MUESTRA EL ESPACIO LIBRE EN LOS SISTEMAS DE ARCHIVOS
El comando df (disk free) muestra el espacio disponible en cada sistema
de archivos actualmente montado. La unidad utilizada es un bloque de
1K, pero podemos modificar esto invocando a df con la opcion -h (human)
para que muestre la informacion del espacio disponible en un formato
mas accesible. Vemos un ejemplo en la figura 8.3.
# df
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/hda3 1701926 1306039 307932 81% /
/dev/hda2 305064 200456 104608 66% /mnt/win95
/dev/hda1 2096450 1510124 586326 72% /mnt/nt
/dev/hdc1 2108544 1620352 488192 77% /mnt/akenaton
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/hda3 1.6G 1.2G 301M 81% /
/dev/hda2 298M 196M 102M 66% /mnt/win95
/dev/hda1 2.0G 1.4G 573M 72% /mnt/nt
/dev/hdc1 2.0G 1.5G 477M 77% /mnt/akenaton
Figura 8.3: Visualizando el espacio disponible en los
sistemas de archivos.
8.1.7 du: USO DEL DISCO
El comando du (disk usage) nos sirve para averiguar cuanto espacio
estan ocupando nuestros archivos. Cuando es invocado sin argumentos, du
nos devuelve una lista con los subdirectorios del directorio actual y
el espacio ocupado por cada uno de ellos. Vemos un ejemplo en la figura
8.4a.
# pwd
/home/tony/docs/linux
# du
1446 ./images
137 ./xtras
2114 .
a. Visualizando el espacio ocupado por cada subdirectorio.
Es usual querer saber cuanto espacio esta ocupando un directorio junto
con todos sus subdirectorios. Para ello podemos utilizar el comando du
con la opcion -s y como argumento el directorio en cuestion. Esta
opcion realiza un sumario de espacio ocupado por cada argumento pasado
al comando. Si no pusieramos la opcion -s el comando nos daria como
salida un listado de los subdirectorios que se encuentran en ese
directorio y el espacio que ocupan los mismos. Vemos un ejemplo de esto
en las figuras 8.4b y c.
# du -s Desktop
14 Desktop
b. Visualizando el espacio ocupado por un subdirectorio
# du Desktop
2 Desktop/Trash
8 Desktop/Templates
2 Desktop/Autostart
14 Desktop
c. Visualizando el espacio ocupado por los subdirectorios de un
directorio.
Figura 8.4: Visualizando el espacio ocupado por los archivos.
8.2 UTILIDADES PARA TRABAJAR CON TEXTO
8.2.1 cat: MOSTRAR ARCHIVOS
El uso estandar de este comando es el de mostrar archivos en nuestra
terminal. Ademas el comando cat se puede utilizar para concatenar
archivos. Ejemplos en las figuras 8.5a y b.
# cat /etc/printcap
##PRINTTOOL3## LOCAL cdj550 300x300 a4 {} DeskJet550 Default 1 1
hp|lp:\
:sd=/var/spool/lpd/hp:\
:mx#0:\
:sh:\
:lp=/dev/lp0:\
:if=8/var/spool/lpd/filter:
a. Utilizando cat para ver el contenido de un archivo.
# cat mess[123] > message
# cat message
Contenido del mensaje 1
.....
Contenido del mensaje 2
.....
Contenido del mensaje 3
.....
b. Utilizando cat para concatenar archivos.
Otro uso muy comun de cat es en la creacion de archivos de texto con
muy pocas lineas. A veces necesitamos crear archivos con muy pocas
lineas de textos y no se justifica cargar un editor de texto para
hacerlo. Si ejecutamos cat sin argumentos, el comando leera caracteres
de la entrada estandar hasta encontrar un caracter de fin de archivo
(Ctrl+D). Ejemplo en la figura 8.5c.
# cat > /etc/motd
Se recuerda a todos los usuarios que el espacio de disco que tiene
asignado es como maximo 4MB.
^D
c. Utilizando cat para crear archivos.
8.2.2 head: MUESTRA EL COMIENZO DE UN ARCHIVO
Hay ocasiones en las que queremos saber cual es el contenido de un
archivo, pero no queremos visualizarlo todo, ya sea por que es muy
grande y porque tardariamos mucho tiempo o porque se visualiza tan
rapido que lo unico que vemos es una serie de flashs de caracteres en
la pantalla. El comando head nos permite visualizar las primeras lienas
de un archivo (10 por defecto). Usando la opcion -n <N> podemos
visualizar las primeras N lineas del archivo. Vemos un ejemplo en la
figura 8.6.
# head -n 5 .x11amp/config
[x11amp]
allow_multiple_instances=FALSE
always_show_cb=TRUE
convert_underscore=TRUE
conert_%20=TRUE
Figura 8.6: Mostrando el comienzo de un archivo.
8.2.3 tail: MUESTRA EL FINAL DE UN ARCHIVO
El comando tail funciona de la misma forma que head, con la diferencia
de que muestra las ultimas lienas de un archivo en vez de las primeras.
Tambien visualiza 10 lineas por defecto, y soporta la opcion -n <N>
para visualizar las N ultimas lineas del archivo. Veamos un ejemplo en
la figura 8.7.
# tail -n 5 /var/log/dmesg
hdc: [PTBL] [523/128/63] hdc1
NTFS version 990102
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 48k freed
Adding Swap: 40156k swap-space (priority -1)
Figura 8.7: Mostrando en final de un archivo.
8.2.4 ascii-xfr: CONVIERTE ARCHIVOS DE TEXTO.
Linux se diferencia de otros S.O. en el tratamiento de los archivos de
texto, mas especificamente en el formato del fin de linea. MS-DOS,
Windows 95/98 y NT identifican el fin de linea con 2 caracteres: LF
(Line Feed) y CR (Carriage Return), avance de linea y retorno de carro
respectivamente. Linux, en cambio identifica el fin de linea con un
solo caracter LF (Line Feed).
Por esto, un problema tipico es el de la transferencia de archivos de
un sistema Linux hacia otro que entiende el fin de linea con 2
caracteres. Por ejemplo, si llevamos un archivo de texto de un sistema
Linux a un sistema Windows y visualizamos su contenido, veremos que se
encuentra todo el texto sobre una unica linea. Esto es porque no habia
carateres de retorno de carro en el archivo y por lo tanto Windows no
encontro ningun final de linea. Si en cambio, traemos un archivo de
texto de Windows hacia Linux, tendremos un caracter de retorno de carro
de mas por cada linea.
La solucion a esto claramente no puede ser la edicion manual del
archivo en cuestion, cosa que se puede volver inmediatamente tediosa y
tiene asociada una alta probabilidad de error. La utilidad ascii-xfr es
un filtro de archivos de texto que se ocupa de realizar estas
traducciones de formatos de archivos de texto ASCII. Esta utilidad
tiene dos modos de operacion:
* Envio: En este modo se transmite el caracter de fin de linea como
CR-LF. Se invoca con la opcion -s (Send).
* Recepcion: Se elimina de cada fin de linea el caracter de CR. Se
invoca con la opcion -r (Receive).
Esta utilidad es invocada comunmente como un filtro, ya que lee de la
entrada estandar (al recibir) y escribe en la salida estandar (al
enviar), pero puede ser utilizada conjuntamente con redireccion de la
entrada o la salida para lograr otros resultados.
El siguiente comando crea una copia de un archivo del archivo de texto
ascii-linux.txt en formato de Linux a ascii-win.txt en formato de texto
de Windows; una vez ejecutado este comando, se creara el archivo
ascii-win.txt y podra ser utilizado como un archivo de texto normal
sobre Windows.
==> ascii-xfr -s ascii-linux.txt > ascii-win.txt
El siguiente comando nos sirve para crear una copia en formato de texto
Linux de un archivo de texto creado en Windows.
==> cat ascii-win.txt | ascii-xfr -r ascii-linux.txt
8.2.5 more: FILTRO PARA VISUALIZACION DE TEXTO POR PANTALLA
El comando more es un filtro para ver un texto pagina por pagina. Es
utilizado normalmente para visualizar los contenidos de un archivo muy
grande. Tambien se utiliza en conjuncion con otros comandos para poder
ver la salida de los mismos pagina por pagina. Ejemplos:
==> more /var/log/dmseg
Este comando nos muestra el contenido del archivo de "log" que se escribe
al iniciarce el sistema y contiene los mensajes que el kernel emite al
iniciarse.
==> ls -l | more
Este es un comando tipico de los usuarios de Linux. Sirve para listar
los contenidos de un directorio en formato largo, y poder ver el
listado pagina por pagina. En este caso more se detendra cuando una
pantalla se llene y esperara que apretemos "SPACE" para pasar a la
siguiente pagina. Si apretamos "b" (back), volvemos a la pagina
anterior y si orpimimos "q" (quit) interrupiremos inmediatamente la
visualizacion.
8.3 UTILIDADES PARA AGRUPAR Y COMPRIMIR ARCHIVOS
8.3.1 gzip y bzip2: COMPRESION DE ARCHIVOS
Hay dos utilidades de compresion sin perdida que comunmente son
provistas con las distribuciones de Linux: gzip y bzip2. El primero
utiliza el algoritmo de compresion "Lempel-Ziv" mientras que el segundo
utiliza una tecnica llamada "ordenamiento de bloques". Existen otras
utilidades de compresion como lo son pack y compress, pero hoy en dia
son consideradas obsoletas y las dos primeras son las que mas se
utilizan.
El modo de uso es en ambas utilidades igual, por lo que ilustraremos
con ejemplos indistintamente. Tambien haremos unas pruebas para mostra
cual de las dos utilidades es mas eficiente.
Estas utilidades reciben una lista de argumentos (que deben ser
archivos) y comprimen cada uno de ellos sobreescribiendo los archivos
originales y agregando como sufijo al nombre del archivo la extension
gz. Veamos un ejemplo en la figura 8.8a.
# ls -l
-rw-r--r-- 1 tony users 7559 May 12 04:31 commands.htm
-rw-r--r-- 1 tony users 3817 May 12 04:31 krabber-2.html
-rw-r--r-- 1 tony users 2880 May 12 04:31 vi.htm
# gzip commands.htm krabber-2.html vi htm
# ls -l
-rw-r--r-- 1 tony users 2050 May 12 04:31 commands.htm.gz
-rw-r--r-- 1 tony users 1746 May 12 04:31 krabber-2.html.gz
-rw-r--r-- 1 tony users 1102 May 12 04:31 vi.htm.gz
# gzip -d *.gz
# ls -l
-rw-r--r-- 1 tony users 7559 May 12 04:31 commands.htm
-rw-r--r-- 1 tony users 3817 May 12 04:31 krabber-2.html
-rw-r--r-- 1 tony users 2880 May 12 04:31 vi.htm
a. Utilizando gzip para comprimir varios archivos
# ls -l netscape
-r-xr-xr-x 1 root root 12078064 Oct 13 1998 netscape
# gzip netscape
# ls -l netscape.gz
-r-xr-xr-x 1 root root 5138529 Oct 13 1998 netscape.gz
# gzip -d netscape.gz
# bzip2 netscape
# ls -l netscape.bz2
-r-xr-xr-x 1 root root 4739906 Oct 13 1998 netscape.bz2
# bzip2 -d netscape.bz2
# ls -l netscape
-r-xr-xr-x 1 root root 12078064 Oct 13 1998 netscape
b. Testeando al eficiencia de ambas utilidades.
Figura 8.8: Utilizando gzip y bzip2 para comprimir archivos.
Como vemos en el ejemplo, tanto gzip como bzip2 son invocados con la
opcion -d (decompress) para descomprimir un archivo comprimido. Asi el
archivo recupera su tamaño y nombre original.
En la figura 8.8b vemos una comparacion entre ambas utilidades de
compresion. Se tomo el archivo ejecutable del Netscape Communicator 4.5
como objeto de prueba. El archivo, sin comprimir, ocupa exactamente
12078064 bytes. Al comprimir con gzip obtuvimos un archivo con un
tamaño de 5138529 bytes, lo que implica un grado de compresion del 57.4
%. Al comprimirlo con bzip2 obtuvimos un archivo de 4739906 bytes lo
que implica un grado de compresion del 60.76%. En este caso comprimio
mejor bzip2. En general bzip2 realiza mejores compresiones que gzip
pero con el costo de tardar un poco mas. Hoy, esta ganando terreno la
utilizacion del bzip2.
En el ejemplo anterior, vimos los grados de compresion que alcanzaron
ambas utilizadades. Estos grados son muy buenos teniendo en cuenta que
el archivo objeto de la prueba era un archivo binario. En general, se
logran mejores compresiones sobre los archivos de texto, por ejemplo:
fuentes de algun programa. Luego en la seccion que trata sobre la
utilidad tar veremos un ejemplo de esto, comprimiendo las fuentes del
kernel de Linux.
8.3.2 tar: AGRUPAR ARCHIVOS
Las utildades gzip y bzip2 son muy buenas comprimiendo grandes
archivos, pero no pueden hacer mucho sobre archivos pequeños. Primero,
los archivos pequeños son pequeños, valga la redundancia, y
comprimirlos no nos trae mucho beneficio. Pero el problema, es que
existe una dificultad tecnica que tenemos que entender. En Linux, el
espacio en disco es reservado de a bloques de 1 Kilobyte, en los
sistemas de archivos de otros Unix se reserva espacio en "clusteres" de
2, 4 o hasta 8 bloques de 512 bytes. Esto significa que si creamos un
archivo que solo contiene un caracter, en Linux ocupara 1 Kilobyte y en
otros Unix puede ocupar de 1 a 4 Kilobytes.
La implicancia directa de esto es que no nos trae ningun beneficio
comprimir un archivo de, por ejemplo 512 bytes ya que por mas que
comprimido ocupe menos espacio, seguira almacenado en un bloque de 1
kilobyte.
Otra dificultad con los archivos pequeños, es que, em general, se tiene
muchisimos de ellos. Si tenemos unos pocos archivos de 1K no tendremos
problemas, pero tener 5.000 o 10.000 archivos de ese tamaño pueden
hacernos perder espacio rapidamente.
La utilidad tar soluciona esto y otros problemas. Esta utilidad fue
originalmente desarrollada como un programa para escribir archivos de
cintas magneticas, su nombre es "Tape archiver". Las cintas se tratan
como un gran archivo secuencial y tar fue diseñado para empaquetar
conjuntos de archivos en un gran archivo para ser almacenado en cinta.
Todavia se continua utilizando tar para realizar backups en cinta
magnetica, pero tambien es muy util para archivar grandes conjuntos de
archivos en un unico archivo llamado "tar-archive".
Tar puede ahorrar espacio ya que almacena archivos en un gran archivo
sin la limitacion de un tamaño de cluster fijo. Los archivos se colocan
uno despues del otro separados por un encabezado. Un grupo de archivos
pequeños dentro de un tar-archive puede ser facilmente comprimido
utilizando las utilidades gzip o bzip2.
Los compresores se utilizan como complemento de la utilidad tar para
comprimir un arbol de directorios recursivamente. Primero se agrupan
todos los archivos y directorios a comprimir en un tar-archive y luego
este es comprimido con la ayuda de un compresor, ya sea gzip o bzip2.
En la figura 8.9a vemos como se utiliza tar en conjunto con un
compresor para crear un archivo comprimido que contenga toda la
informacion del subdirectorio en cuestion, en este caso las fuentes del
kernel de Linux, version 2.2.5. Elegimos las fuentes del kernel como
archivo objeto porque son muchismos archivos de texto y con una
estructura de directorios y subdirectorios muy compleja. Asi vemos que
con un par de comandos almacenamos toda la estructura de subdirectorios
en un unico archivo y luego lo comprimimos para que ocupe poco espacio.
# du -hs linux-2.2.5
51M linux-2.2.5
# tar -c linux-2.2.5 | gzip > linux-2.2.5.tar.gz
# du -hs linux-2.2.5.tar.gz
13M linux-2.2.5.tar.gz
a. Comprimiendo un arbol de directorios.
# gzip -dc linux-2.2.5.tar.gz | tar -xf -
# du -hs linux-2.2.5
51M linux-2.2.5
b. Descomprimiendo un arbol de directorios.
Figura 8.9: Comrpimiendo y descomprimiendo un arbol de directorios.
El comando utilizado es tar -c ya que la opcion -c (create) hace que el
comando tar cree un nuevo tar-archive y como no se especifica un
archivo de salida (opcion -f nombre) tar envia la salida a la salida
estandar. La cañeria creada permite que el comando gzip obtenga la
salida de tar y comprima enviando el resultado a la salida estandar la
cual es redireccionada al archivo linux-2.2.5.tar.gz. Tambien vemos que
el directorio, junto con todos sus subdirectorios y archivos ocupa 51
Megabytes. Una vez agrupado y comprimido el tamaño del archivo es de
solo 13 Megabytes, lo que implica un grado de compresion del 74.5%.
En la figura 8.9b mostramos como se puede descomprimir el archivo
linux-2.2.5.tar.gz.
El comando es otra vez una cañeria, pero esta vez en sentido inverso.
Se utiliza el comando gzip con la opcion -d para que descomprima y la
opcion -c para que envie el resultado a la salida estandar. Luego
utilizamos el comando tar para desagrupar los archivos y necesitamos
agregrales las opciones -x (extract) para que extraiga los archivos y
-f para indicarle que es un tar-archive. Ademas debemos agregarle el
simbolo "-" para indicarle que lea de la entrada estandar y asi pueda
recibir la salida del compresor. Luego realizamos un chequeo y vemos
que se encuentra el directorio linux-2.2.5 y que su tamaño es
nuevamente 51 Megabytes.
8.4 UTILIDADES DE AYUDA
8.4.1 man: INFORMACION DE LOS COMANDOS Y UTILIDADES
Los sistemas de la familia Unix, tiene un sistema de ayuda "on-line"
para los comandos y utilidades del sistema muy completo y practico que
es llamado "Man-Pages" (manuales).
La utilidad man es un programa que formatea (de darle forma) y visuliza
los manuales de los comandos y utilidades del sistema.
Esta utilidad se invoca con un argumento que debe ser un comando o
utilidad valida del sistema o cualquier programa que hayamos instalado
que posea manuales instalados. El siguiente comando nos mostrara el
manual del comando ls.
==> man ls
Dentro del entorno de la utilidad man hay varios comandos que es util
conocer:
1- Avanzar: Avanzamos por las paginas del manual utilizando la barra
espaciadora o "space".
2- Retrocerder: Retrocedemos una pagina del manual utilizando la tecla
"b" (back).
3- Salir: Salimos del manual con la tecla "q" (quit).
8.5 OTRAS UTILIDADES
8.5.1 passwd: CAMBIANDO EL PASSWORD
El comando passwd se utiliza para cambiar el "password" del usuario.
Algunas personas cambian su password periodicamente para mantener la
seguridad. El comando passwd primero nos obliga a ingresar el password
actual y si es valido nos pregunta dos veces el nuevo password, para
verificar que no nos hayamos equivocado. Ninguno de los passwords es
mostrado en la pantalla por cuestiones de privacidad y seguridad.
El superusuario (root) puede setear el password de cualquier usuario,
pero los usuarios ordinarios solo pueden cambiar sus propios passwords.
En algunos sistemas los passwords se "vencen", es decir que duran un
cierto tiempo. El sistema nos obligara a cambiar nuestro password la
proxima vez que iniciemos una sesion pasado el periodo de vencimiento.
CAPITULO 9
INSTALACION DE SOFTWARE ADICIONAL
Una vez instalado el sistema Linux, estamos en condiciones de utilizar
una gran cantidad de utilidades y programas que vienen como parte del
mismo. La gran mayoria del software que viene con las distribuciones de
Linux, es actualizado permanentemente, ya sea porque se perfecciona o
porque se le agregan nuevas caracteristicas. Ademas, hoy en Internet,
podemos conseguir una infinidad de programas adicionales de distintas
areas. Para poder instalar con exito cada uno de los programas que
conseguimos es necesario que conozcamos algunos detalles importantes.
Existen una gran cantidad de sitios en Internet, donde es posible
conseguir las ultimas versiones de los programas y utilidades mas
conocidas en el sistema Linux. En el apendice A se listan las
direcciones de los sitios mas importantes, los que no tenemos que dejar
de visitar.
9.1 SOFTWARE DISTRIBUIDO CON CODIGO FUENTE
El software para Linux o Unix, en general es distribuido con el codigo
fuente, ya que existen una gran cantidad de plataformas Unix con
distintas caracteristicas. Seria inviable que el autor del software
compile y genere una version ejecutable binaria del programa para cada
plataforma y la publique para que podamos disponer de ella. Para evitar
esto, cada version de la familia Unix posee un sistema de compilacion y
generacion de ejecutables como parte del sistema. Asi teniendo el
codigo fuente del programa, podemos compilar y generar una version
ejecutable del mismo, sobre nuestra plataforma y con todas las
caracteristicas de nuestro sistema, de forma casi transparente. La
obvia desventaja de esta aproximacion es el tiempo extra que tenemos
que invertir compilando los programas, sobre todo si los mismos son muy
grandes.
El echo de contar con el codigo fuente de los programas (usualmente C,
C++), nos da la posibilidad de poder modificar los mismos y adaptarlos
a nuestras necesidades particulares. Asi podemos modificar el codigo
fuente y volver a compilar el ejecutable, tantas veces como queramos.
Una complicacion adicional surge al encontrarse con el codigo fuente de
los programas: los mismos pueden necesitar utilizar librerias para
poder compilarlos. La seccion 9.3 se ocupa de explicar como podemos
instalar nuevas librerias en nuestro sistema.
9.1.1 LA DISTRIBUCION
La mayoria del software que podemos conseguir en Internet se encuentra
agrupado y comprimido con los formatos tar y gzip o bzip2
respectivamente.
Antes de realizar la instalacion es necesario descomprimir y desagrupar
los contenidos. Vamos a ver un ejemplo con el programa cdda2wav que es
una utilidad para copiar cd's de audio a formato de archivo de sonido
de onda (wav). El archivo de la distribucion es cdda2wav-1.0c.tar.gz.
El comando para descomprimir y desagrupar el contenido del archivo
puede ser:
==> tar -zxvf cdda2wav-1.0c.tar.gz
o el equivalente
==> gzip -dc cdda2wav-1.0c.tar.gz | tar -xvf -
NOTA: Si el formato es .tar.bz2 no es posible utilizar la primera
forma del comando. Es necesario invocar un comando de la forma
del segundo, reemplazando el descompresor gzip por el bzip2.
Luego de haber descomprimido y desagrupado las fuentes, en general,
obtendremos un directorio con los contenidos del archivo. En la figura
9.1 vemos el contenido del directorio obtenido.
# cd cdda2wav-1.0c
# ls
Fronted byteorder.h md5c.h scsilib
GLP cdda2mp3 md5c.c semshm.c
HOWTOUSE cdda2mp3.new missing semshm.h
HPUX-Notes cdd2wav.1 mkinstalldrs setuid.c
Makefile.am cdd2wav.c mycdrom.h setuid.h
Makefile.in cdd2wav.h mytype.h sndconfig.c
NEWS cdda_links pitchplay sndconfig.h
OtherProgs config.guess raw.c sun.c
README config.h raw.h sun.h
README.2_0_33 config.sub readmult toc.c
README.GoldstarR580B configure resample.c toc.h
README.INSTALL configure.in resample.h tracknames.pl
README.paranoia global.h ringbuff.c tracknames.txt
THANKS install-sh ringbuff.h wav.c
TODO interface.c scan_scsi.linux wav.h
aclocal.m4 interface.h scsi_cmds.c
add_wav lowlevel.h scsi_cmds.h
Figura 9.1: El contenido tipico de una distribucion de codigo fuente.
Es usual que los desarrolladores del software agregen en la
distribucion archivos INSTALL o README que son muy utiles al momento de
compilar e instalar, ya que especifican las instrucciones de
compilacion e instalacion que debemos seguir para poder instalar el
programa con exito.
A continuacion, vamos a explicar el proceso de compilacion e
instalacion mas comunmente utilizados. ES NECESARIO ACLARAR QUE NO TODO
EL SOFTWARE QUE PODEMOS CONSEGUIR SIGUE ESTAS CARCTERISTICAS. SIEMPRE
DEBEMOS REMITIRNOS, COMO PRIMER MEDIDA, A LAS INSTRUCCIONES RESPECTIVAS
DE CADA PROGRAMA.
9.1.2 LA CONFIGURACION
Como paso previo a la compilacion, debemos iniciar un proceso de
configuracion del software. El mismo escaneara nuestro sistema en busca
de los requerimientos del programa para ver si los mismos se encuentran
instalados o no, y para determinar otros parametros necesarios a la
hora de compilar.
Para iniciar este proceso de configuracion, debemos ejecutar el
comando:
==> ./configure
Dentro del directorio del programa. Seguiran una serie de mensajes de
estado y configuracion, los cuales terminaran en la generacion de los
archivos Makefile que son requisitos imprescindibles a la hora de
compilar. La salida de esta etapa son estos archivos que contienen las
instrucciones para que el compilador pueda trabajar.
NOTA: Si en esta etapa el proceso de configuracion se detiene con un
mensaje de error, es posible que nos este faltando una libreria
o algo necesario para la configuracion del programa. Anotar
precisamente el error y luego referirse a los archivos INSTALL
o README respectivos a cada programa con el fin de determinar
la causa del error.
9.1.3 LA COMPILACION
La compilacion es el proceso por el cual el texto fuente de un programa
es traducido al formato binario (leguaje entendido por la maquina) para
que la misma este en condiciones de ejecutarlo. Es una tarea automatica
(por lo menos desde el punto de vista del usuario). En general,
ejecutando el comando
==> make
(construir) daremos comienzo a la tarea de compilar el programa. Este
comando indica al compilador que comience su tarea, y el mismo, en base
a las instrucciones de los archivos Makefile generados en la etapa
anterior, ira construyendo los distintos componentes del programa, para
finalizar su tarea, vinculando los componentes generados en uno o mas
ejecutables que forman parte del programa. Estos ejecutables seran
guardados en el directorio donde tenemos el codigo fuente del programa.
Como paso restante, queda instalar los ejecutables y documentacion
(usualmente provista con el codigo fuente - no es necesario compilar)
en el directorio correspondiente, para asi poder comenzar a utilizar el
programa en nuestro sistema.
9.1.4 EL DIRECTORIO /usr/local
El directorio /usr/local usualmente es el lugar en la jerarquia de
archivos donde se instala el software adicional, es decir aquel
software que no haya sido provisto inicialmente con la distribucion del
S.O. Linux instalada.
La mayoria del software posee como destino de instalacion
predeterminado este directorio, por lo que el programa se instalara en
ese lugar. Este directorio posee una serie de subdirectorios que lo
forman, los mismos son (lista no exhaustiva):
* /usr/local/bin: Es el directorio donde se guardan los ejecutables.
* /usr/local/lib: Es el directorio donde se instalan las librerias.
* /usr/local/man: Es el directorio donde los programas instalan sus
man-pages.
* /usr/local/doc: Es el directorio donde se almacena la documentacion
adicional. Usualmente paginas Html.
* /usr/local/include: Es el directorio donde se guardan los encabezados
de las librerias. Este directorio es escaneado por
los programas de configuracion, para ver si se
ecuentran disponibles ciertas librerias.
* /usr/local/games: En este directorio se instalan los programas de
entretenimiento.
* /usr/local/share: Este directorio es tomado como directorio destino de
ciertos programas que tienen informacion extra y la
necesitan para poder trabajar.
Adicionalmente, hay programas que son muy grandes que reservan un
directorio para ellos con su nombre dentro del directorio /usr/local.
Por ejemplo: Netscape Communicator /usr/local/netscape, KDE (Kommon
Desktop Environment) /usr/local/kde.
9.1.5 LA INSTALACION
El ultimo paso a realizar es la instalacion. Para ello ejecutamos el
siguiente comando:
==> make install
Este comando iniciara un proceso de instalacion que se ocupa de copiar
todos los archivos necesarios a el/los directorios destino
especificados. Seguiran una serie de mensajes y luego se dara por
finalizada la instalacion.
NOTA: Es necesario estar en una sesion con permisos de superusuario
para poder ejecutar este comando, ya que si no tenemos permiso
de escritura en el directorio destino, el proceso de
instalacion abortara con un error. Para esto, podemos iniciar
una sesion con el usuario root, o ejecutar directamente el
comando su (superuser), el cual nos pedira la contraseña del
superusuario y si es correcta, iniciaremos una sesion con
permisos de superusuario. Una vez finalizada la instalacion,
podemos retornar a la sesion anterior con el comando exit.
Es posible que cada programa necesite que realicemos ciertas
configuraciones adicionales para hacer que el programa funcione.
Usualmente debemos seguir una serie de instrucciones que son
especificadas en la documentacion del programa. Las configuraciones
tipicas que debemos realizar son edicion del camino de busqueda,
creacion y exportacion de variables de entorno, etc. Todos estos temas
seran tratados en capitulos posteriores.
9.2 EL SISTEMA DE PAQUETES RPM
RPM (RedHat Package Manager) es un sistema de manejo de paquetes de
software muy potente, que puede ser utilizado para construir, instalar,
consultar, verificar, actualizar y desinstalar paquetes de software
individuales. Un paquete consiste de dos partes fundamentales: el
software en si y un encabezamiento que contiene la informacion del
paquete (nombre, version, dependencias, etc).
RPM le otorga al administrador al habilidad de poder actualizar
componentes individuales o sistemas enteros conservando la
configuracion del sistema o paquete, consultar la base de datos de
paquetes para averiguar la locacion de los archivos, paquetes o
informacion relacionada.
RPM es el sistema de manejo de paquetes de Red Hat, pero esto no
significa que solo pueda ser usado en una distribucion Red Hat. Se
desarrollo pensando en ser un sistema de paquetes abiertos, es decir,
para poder ser utilizado en cualquier distribucion. Actualmente, Red
Hat recomienda a otros distribuidores de Linux a usarlo en sus
distribuciones. Hoy, podemos considerar que es el sistema de manejo de
paquetes mas utilizado en la comunidad Linux.
9.2.1 CONVENCIONES EN LOS NOMBRES DE LOS PAQUETES
Un paquete de software RPM construido correctamente tiene la
caracteristica de que su nombre (package.rpm) identifica la siguiente
informacion: el nombre del paquete, su version, la ultima revision de
compilacion y la arquitectura para la cual fue construido. En general
los paquetes son distribuidos en archivos con extension .rpm.
Veamos un ejemplo con el paquete XFree86-3.3.1-14.i386.rpm. El nombre
del paquete es XFree86 y es el sistema grafico de ventanas que se
utiliza en Linux. Su version es la 3.3.1 y es revision 14 de esa
version. La plataforma para la cual fue construido es la Intel 80386 o
superiores. Como vemos, el nombre del archivo mediante el cual se
distribuye el paquete nos puede brindar mucha informacion del mismo.
Es mas, aun, la informacion que posee un paquete internamente. Aunque
el estudio de la estructura interna de un paquete RPM esta, claramente,
fuera del ambito de este manual, podemos destacar que en un paquete
internamente tiene:
* Archivos ejecutables.
* Archivos de configuracion.
* Archivos de documentacion (HTML, man-pages, etc).
* Archivos miscelaneos relacionados directamente con el paquete.
* Un registro de los lugares donde se deben instalar los archivos.
* Un registro de todos los paquetes requeridos (dependencias).
9.2.2 LA BASE DE DATOS DE RPM.
El sistema de manejo de paquetes RPM mantiene una base de datos, local
al sistema, donde se mantienen los datos de todos los paquetes
instalados en el sistema.
Una vez instalado un paquete exitosamente, toda la informacion del
paquete se registra en la base de datos.
9.2.3 MODOS DE OPERACION DE RPM
Todas las operaciones del sistema de manejo de paquetes se realizan con
el programa rpm. El mismo tiene varios modos de operacion, donde cada
uno de ellos posee opciones especiales.
NOTA: Sobre el sistema de ventanas X-Windows existen varias
herramientas graficas de manejo de paquetes, que son muy faciles
de utilizar y muy comodas. Algunas de ellas son: kpackage (para
el Windows Manager KDE), X Package Management Tool (es provisto
con las herramientas estandar de la distribucion Red Hat).
Los 4 modos mas importantes de la operacion son:
Modo de Instalacion:
==> rpm -i [install-options] <package>
Este comando instala un nuevo paquete. El siguiente comando actualiza
un paquete de version mas nueva que la anterior.
==> rpm -U [install-options] <package>
Las opciones de instalacion mas importantes son:
* --replacefiles: reemplaza todos los archivos, por mas que sean de
otros paquetes.
* --allfiles: instala o actualiza todos los archivos, por mas que no
exista.
* --nodeps: no realiza un chequeo de dependencias sobre el paquete a
instalar.
Modo de consulta:
La forma general de un comando de consulta es:
==> rpm -q [query-options]
Las opciones de consulta mas importantes son:
* <package-name>: consulta el paquete con ese nombre. Notar que no es
el nombre del archivos, sino el nombre del paquete.
* -a: consulta todos los paquetes.
* -l: lista los archivos que contiene un paquete.
* -R: lista las dependencias del paquete.
* -p <package-file>: consulta un archivo .rpm que no esta instalado.
* -i: muestra la informacion del paquete: nombre, version, etc.
Modo de verificacion:
El modo de verificacion nos permite comparar la informacion de los
archivos instalados como parte de un paquete con la informacion de los
archivos sacada del paquete original que es guardada en la base de
datos de RPM. Incluyendo otras cosas, el modo de verificacion, compara
el tamaño de los archivos, permisos, tipos, dueños y grupos de cada
archivo. Cualquier discrepancia se muestra en pantalla.
El comando de verificacion es de la siguiente forma:
==> rpm -V [verify-options]
Las opciones de especificacion de paquetes son iguales a las de
consulta.
Modo desinstalacion
La forma del comando de desisnstalacion es la siguiente:
==> rpm -e <package-name>
Pueden ser especificadas opciones adicionales:
* --nodeps: no realizar un chequeo de las dependencias. Si algun
paquete instalado necesita del paquete que estamos
desinstalando, se borrara igual.
* --allmatches: remueve todas las versiones del paquete especificado.
9.3 UTILIACION DE LIBRERIAS
Con el objetivo de hacer que los programas sean mas pequeños, los
mismos se desarrollan utilizando el concepto de "librerias
compartidas". Las librerias son colecciones de modulos ya
desarrollados, para ser utilizados en el desarrollo de nuevos
programas. Estas colecciones, de alguna forma, son factorizadas, es
decir se proveen una sola vez y cualquier numero de programas pueden
utilizar su funcionalidad.
NOTA: O sea, que si tenemos muchos programas que utilizan un mismo
archivo en comun para funcionar, no es necesario que haya una
copia del mismo para cada programa que lo utilice. Sino que que
todos los programas que utilicen ese archivo pueden usar un solo
archivo que se comparte con el resto de los programas que lo
utilicen tambien.
En el S.O. Linux, el concepto de librerias compartidas es muy utilizado
por los programadores a la hora de desarrollar el software. A la hora
de instalar un nuevo programa, podemos encontrarnos con la necesidad de
instalar previamente algun conjunto de librerias. Primero veremos
cuales son los lugares donde se encuentran las librerias en nuestro
sistema y luego veremos como se pueden instalar librerias adicionales.
9.3.1 DIRECTORIOS DE LAS LIBRERIAS
Las librerias, en el S.O. Linux, se encuentran distribuidas en varios
lugares. A diferencia de otros S.O., que mantiene todas las librerias
en un lugar centralizado (con las desventajas que esto trae), Linux las
distribuye de acuerdo a unas convenciones muy simples. Los directorios
comunmente utilizados son los siguientes:
/lib: Son las librerias necesarias para poder ejecutar los programas
que se encuentran en los directorios /bin y /sbin.
/usr/lib: Son las librerias que necesitamos para poder ejecutar los
programas que se encuentran en /usr/bin y /usr/sbin.
/usr/X11R6/lib o /usr/X11/lib: Son librerias que utiliza el sistema de
ventanas X-Windows y los programas que
funcionan con el mismo. Usualmente son
librerias graficas.
/usr/local/lib: Este es el directorio que usamos comunmente para
instalar las librerias adicionales que nosotros
instalamos como parte de algun programa.
9.3.2 INSTALACION DE LIBRERIAS
Las librerias en Linux, en general, son provistas con su codigo fuente,
por las mismas razones que el software es distribuido asi.
El proceso necesario para instalar una determinada libreria puede
variar considerablemente. Hoy, la tendencia es a seguir el mismo
procedimiento que con el software. Es decir que tenemos que seguir los
mismos pasos de "configuracion", "compilacion" e "instalacion"
descriptos en la seccion 9.1. Si la libreria, necesita que sigamos
algun otro proceso de instalacion, deberemos referirnos a su
documentacion y seguir las instrucciones de instalacion que usualmente
son provistas como parte de la distribucion del software.
Una vez realizada la instalacion de la libreria, nos resta realizar un
paso adicional para que puedan ser utilizadas en el sistema. El S.O.
mantiene un "vinculador de tiempo de ejecucion (run time linker)" que
mantiene una base de datos de las librerias disponibles para los
programas. Cuando un programa necesita utilizar una libreria, entra en
juego este vinculador y realiza la "vinculacion" entre el mismo y la
libreria, para que el primero la pueda utilizar. Cuando agregamos una
libreria al sistema, debemos asegurarnos que el vinculador se "entere
de su existencia".
EL ARCHIVO /etc/ld.so.conf
Este archivo mantiene una lista de los directorios donde tenemos
librerias instaladas en el sistema. El contenido de un archivo de estos
es mostrado en la figura 9.2.
# cat /etc/ld.so.conf
/usr/i486-linux-libc5/lib
/usr/X11R6/lib
/usr/local/lib
/usr/local/kde/lib
Figura 9.2: Un archivo /etc/ld.so.conf.
Este archivo mantiene los directorios que son escaneados por el
vinculador de tiempo de ejecucion en busca de librerias instaladas en
el sistema. Normalmente, el vinculador esta configurado para actualizar
la informacion de las librerias cada vez que se inicia el sistema. Por
lo tanto, se puede pensar que para que el vinculador encuentre nuestra
libreria, solo es necesario agregar el directorio donde se instalo la
misma y luego reiniciar el sistema. Ese razonamiento no es erroneo,
pero no es muy practico que digamos.
Linux es un sistema que esta diseñado para evitar ser reiniciado, salvo
situaciones extremas, a diferencia de otros S.O. que necesitan ser
reiniciados por cosas minusculas. Es inaceptable tener que reiniciar el
sistema porque se agrego una libreria al sistema, sobre todo teniendo
en cuenta que Linux es "multiusuario" y si tenemos usuarios conectados
tendremos que desconectarlos del sistema para poder reiniciar, o sin ir
mas lejos pensemos en un sistema que actua como servidor de WWW y que
esta atendiendo pedidos y se lo reinicia sin previo aviso.
Para evitar reiniciar el sistema cada vez que instalamos un nuevo
programa o libreria, Linux posee un comando que le indica al vinculador
de tiempo de ejecucion que refresque la informacion de las librerias
escaneando los directorios nuevamente. Una vez que hayamos editado el
archivo /etc/ld.so.conf, debemos ejecutar el siguiente comando:
==> ldconfig
el mismo refrescara las librerias que el vinculador considerara de ahi
en adelante. A partir de eso podemos comenzar a utilizar el programa ya
que el vinculador encontrara al libreria en el momento que el programa
la solicite.
Tanto la ejecucion de este comando como la edicion del archivo
/etc/ld.so.conf se deben hacer con privilegios de superusuario ya que
un usuario ordinario NO DEBE TENER PERMISO para escribir el archivo
/etc/ld.so.conf y el comando ldconfig usualmente no se encuentra
disponible para ser ejecutado por un usuario comun.
CAPITULO 10
MONTANDO SISTEMAS DE ARCHIVOS
Como vimos en capitulos anteriores, todos los archivos en un sistema
Linux se acomodan en un gran arbol: la jerarquia de archivos tiene a
"/" como raiz. Estos archivos pueden estar distribuidos en distintos
dispositivos
Antes de poder utilizar un sistema de archivos, debemos "montarlo"
sobre la jerarquia de archivos. Para ello necesitaremos conocer el
dispositivo a montar y tener disponible un punto de montaje (un
directorio). El comando mount nos sirve para agregar un sistema de
archivos a la jerarquia de archivos. De forma opuesta, el comando
unmount, eliminara la asociacion creada con el comando mount.
10.1 SISTEMAS DE ARCHIVOS Y PARTICIONES
Un sistema de archivos es una coleccion de archivos o directorios en
algun dispositivo, con algun tipo o formato de almacenamiento. Discos
de poca capacidad (por ejemplo: discos flexibles) solo poseen un
sistema de archivos, en cambio los discos grandes pueden tener varias
regiones (particiones), cada una con su sistema de archivos propio.
Existen varias motivaciones por las cuales se trata de particionar los
discos. En el comienzo de Unix, particionar los discos era necesario
porque las estructuras del kernel para mantener los datos de los
archivos y sistemas de archivos no podian direccionar todo el espacio
de almacenamiento disponible. En los sistemas Unix modernos (incluyendo
a Linux) un archivo, potencialmente, puede tener como maximo 2
Gigabytes y un sistema de archivos puede ser tan largo como un Terabyte
(1.000.000 Megabytes). Ningun disco, hoy, puede alcanzar esas
capacidades, por lo que la decision de particionar el disco es
opcional.
Una de las razones por las cuales es adecuado particionar es la
modularidad. Las particiones nos permiten controlar la cantidad de
espacio que asignamos a una dada actividad o tipo de uso de un sistema
de archivos: es usual crear una particion aparte para el directorio
/tmp otra para el directorio /home donde se encuentran los datos de los
usuarios, etc. Las particiones nos otorgan la posibilidad de realizar
un control mas fino sobre las tareas de backup. Los archivos de
solo-lectura y los temporales en general no se tienen en cuenta al
realizar un backup. Manteniendolos en particiones separadas
solucionamos este problema, ya que la tarea de backup toma todo o nada
de la informacion de una particion.
Un caso particular de particionamiento del disco disco lo encontramos
en la particion utilizada para realizar el intercambio de datos cuando
no queda memoria disponible (swap). Linux trata el espacio swap como
una particion separada del sistema de archivos principal. La particion
de swap esta organizada de forma contigua para poder ser accedida
eficientemente, por lo que requiere una estructura distinta a la
utilizada en el sistema de archivos principal. Esta es la causa por la
cual el espacio de intercambio se mantiene en una particion especial.
10.2 SINTAXIS DEL COMANDO MOUNT
La forma estandar del comando mount es la siguiente:
==> mount -t type device dir
Un comando de este tipo le comunica al kernel que monte el sistema de
archivos de tipo "type" que se encuentra en el dispositivo "device"
sobre el directorio "dir". Los contenidos del directorio "dir" (si
existen) se vuelven invisibles, mientras el sistema de archivos se
mantenga montado.
La mayoria de los dispositivos se indican por un nombre de archivo, por
ejemplo: /dev/hdb (la unidad IDE esclava-primaria), /dev/hda1 (la
primera particion de la unidad de disco IDE master-primaria),
/dev/cdrom (la unidad CD-ROM) o /dev/fd0 (la primera unidad de disco
flexibles del sistema).
Los programas mount y unmount mantienen una lista de los sistemas de
archivos actualmente montados en el archivo /etc/mtab. Si se ejecuta el
comando mount sin argumentos, la informacion contenida en ese archivo
es mostrada como salida.
10.3 MONTANDO SISTEMAS DE ARCHIVOS
Para poder montar distintos sistemas de archivos debemos conocer: el
dispositivo donde se encuentra el sistema de archivos, el tipo del
sistema de archivos y el punto de montaje. Ademas de esto debemos tener
los permisos de superusuario o tener permiso de montaje de usuario
ordinario (esto se explica en la seccion 10.5.3).
Una vez que conocemos toda esa informacion podemos utilizar el comando
mount para montar el sistema de archivos en la jerarquia. Un tema muy
delicado es el de los tipos de sistemas de archivos, ya que existen una
gran variedad de sistemas de archivos, cada uno con su formato propio.
Linux es capaz de manipular una gran cantidad de sistemas de archivos
eficientemente, pero un item que usualmente confunde a los usuarios es
el hecho de que para poder montar sistemas de archivos de un
determinado tipo es necesario tener compilado el kernel con el soporte
para ese tipo de sistema de archivos. En un capitulo posterior veremos
como hacer para agregar al kernel el soporte para distintos sistemas de
archivos. Por ahora supondremos que el kernel es capaz de entender
cualquier sistema de archivos disponible.
10.3.1 TIPOS DE SISTEMAS DE ARCHIVOS
SISTEMAS DE ARCHIVOS FAT
Si queremos accedera a archivos de particiones que contienen sistemas
de archivos basados en FAT, debemos utilizar el tipo "msdos". En este
caso los nombres de los archivos repetaran el formato de MS-DOS
(windows 3.x), o sea nombres de 8 caracteres con extension de 3.
Podemos utilizar el tipo "vfat" para montar sistemas de archivos de
Windows 95/98. Los kernels de versiones 2.0.x no soportan las
extensiones de Microsoft para nombres largos, por lo que veremos los
archivos con el formato de nombres de MS-DOS. A estos kernels es
posible aplicarles un patch, disponible gratuitamente en Internet, para
poder ver los nombres largos. Por suerte los kernels 2.2.x ya tiene ese
soporte integrado por lo que no debemos realizar ninguna tarea
adicional.
El siguiente comando montara el sistema de archivos de Windows 95 que
se encuentra en la particion 2 del primer disco de la maquina, en el
directorio /mnt/win95.
==> mount -t vfat /dev/hda2 /mnt/win95
Es posible montar discos flexibles de cualquiera de estos dos tipos. En
general el dispositivo de la disquetera es /dev/fd0 o /dev/floppy. El
siguiente comando nos muestra como podemos montar un diskette MS-DOS.
==> mount -t msdos /dev/fd0 /mnt/floppy
SISTEMAS DE ARCHIVOS NTFS
Anteriormente, dijimos que un sistema Linux puede coexistir con Windows
NT en una maquina. Aicionalmente, podemos montar un sistema de archivos
NTFS (el sistema de archivos de Windows NT) como parte de nuestra
jerarquia. Para ello podemos utilizar el siguiente comando:
==> mount -t ntfs /dev/hda1 /nt
NOTA: El soporte de NTFS del kernel (2.2.5) permite leer corectamente
informacion, pero el soporte para escritura se encuentra en una
etapa experimental y es muy peligroso activarlo, ya que podemos
romper la estructura del sistema de archivos NTFS y volverlo
inutilizable. Se recomienda montar estos sistemas de archivos
como solo lectura.
MONTANDO CD-ROM'S (SISTEMA DE ARCHIVOS ISO9600)
El sistema de archivos estandar utilizado en los cd-rom que contiene
datos es el ISO9600, conocido previamente como "High Sierra Filesystem"
(hsfs), por lo que en otros Unix es conocido de tal forma.
Como el medio de almacenamiento de cd-rom es inherentemente de solo
lectura, los cd-rom seran siempre montados como solo lectura. El
comando para montar un cd-rom puede ser:
==> mount -t iso9600 /dev/cdrom /mnt/cdrom
10.4 DESMONTANDO SISTEMAS DE ARCHIVOS
Una vez que trabajamos con el sistema de archivos y ya no lo
necesitamos podemos desmontarlo. Hay sistemas de archivos que se montan
automaticamente al iniciarse y permanecen montados hasta que el sistema
se baja. Mas adelante veremos como se pueden configurar los sistemas de
archivos para que se comporten de esta manera.
Los medios removibles (discos flexibles, cd-rom's, etc) y en ocasiones
discos y particiones son montados temporariamente para leer o escribir
informacion y luego son desmontados.
El comando umount (unmount) nos permite desmontar un sistema de
archivos. La informacion necesaria para desmontar un sistema de
archivos puede ser el dispositivo o alternativamente el directorio
donde esta montado. Por lo tanto podemos desmontar el cd-rom que
montamos en la seccion anterior con cualquiera de los siguientes
comandos:
==> umount /dev/cdrom
==> umount /mnt/cdrom
Observaciones:
* Un sistema de archivos no puede ser desmontado si se encuentra
"ocupado", esto es, por ejemplo, cuando existen archivos del mismo
que se encuentran abiertos o cuando algun proceso tiene como
directorio de trabajo algun directorio del sistema de archivos. El
comando fuser nos sirve para averiguar que usuarios, y que procesos,
estan utilizando un determinado archivo o sistema de archivos.
Adicionalmente nos permite matar estos procesos, para poder
desmontar el sistema de archivos.
* Cuando un sistema de archivos se encuentra montado, cierta
informacion vital de la locacion de los archivos en ese sistema de
archivos, se mantiene en memoria con el kernel. Si removemos el
medio fisico sin realizar el umount puede suceder que la informacion
que se encuentra en memoria se pierda, y el estado del sistema de
archivos quede inconsistente. El proposito de la operacion umount es
volcar toda la informacion del sistema de archivos, que se encuentra
en memoria, al medio fisico, para que todo quede en un estado
consistente.
10.5 EL ARCHIVO /etc/fstab
El archivo /etc/fstab (file system table) es uno de los archivos mas
importantes en lo que concierne a la administracion del sistema. El
mismo contiene lineas describiendo que dispositivos son usualmente
montados, con que opciones y donde se montan los mismos. Contiene,
ademas, la informacion de los sistemas de archivos que deben ser
montados automaticamente al iniciarse el sistema.
Es tarea del adminsitrador del sistema editar y mantener este archivo.
Cada sistema de archivos se escribe en una linea separada. Cada linea
contiene varios campos y estos son separados por tabs o espacios. Como
ejemplo, vemos un archivo fstab en la figura 10.1.
# Device or NFS Mount Point Type Options
/dev/hda3 / ext2 defaults 1 1
/dev/hda2 /mnt/win95 vfat defaults 0 0
/dev/hda4 swap swap defaults 0 0
/dev/fd0 /mnt/floppy vfat user,noauto 0 0
/dev/hdb /mnt/cdrom iso9600 ro,user,noauto,noide 0 0
none /proc proc defaults 0 0
/dev/hda1 /mnt/nt ntfs unmask=022,ro 0 0
Figura 10.1: Un archivo /etc/fstab con informacion de los
sistemas de archivos.
10.5.1 CAMPOS DE CADA ENTRADA
Device or NFS: Especifica el dispositivo donde se encuentra el sistema
de archivos. En caso de ser un sistema de archivos en
red (NFS), no se especifica un dispositivo, sino que
debemos poner el nombre del host, del directorio que se
encuentra compartido.
Mount Point: Punto de montaje. Es el directorio que forma parte de la
jerarquia, donde queremos montar el sistema de archivos.
Notemos que estos directorios solo pueden ser
especificados con rutas absolutas. En caso de ser una
particion swap, el punto de montaje es nulo y se
especifica con swap o none.
Type: Es el tipo de sistema de archivos que se encuentra en el
dispositivo. Puede ser: msdos, vfat, ext2, minix, iso9600, swap,
etc. El kernel debe tener compilado el soporte para cada sistema
de archivos que especificamos.
Options: Este campo es una serie de opciones separadas por comas. Cada
opcion tiene un comportamiento determinado y las opciones
varian de acuerdo al tipo de sistema de archivos. Explicaremos
las mas comunmente utilizadas:
rw,ro: La primera (read/write) monta el sistema de archivos en
modo lectura/escritura. La segunda ro (read-only)
especifica que se montara como solo lectura.
auto,noauto: Especifican si el sistema de archivos se montara
al iniciar el sistema o no.
user,nouser: Especifican si el sistema de archivos puede ser
montado por el usuario ordinario o no.
defaults: Especificamos que tome las opciones predeterminadas,
entre otras: rw,auto,nouser.
10.5.2 USO DEL ARCHIVO FSTAB
Este archivo, usualmente es utilizado en tres formas:
1- El comando mount -a (all), usualmente ejecutado en los scripts de
inicio del sistema, monta todos los sistemas de archivos
especificados en el archivo /etc/fstab, salvo las que tengan la
opcion noauto. En general los medios removibles (discos flexibles,
cd-rom's, discos ZIP, etc.) son especificados con la opcion noauto.
2- Cuando montamos un sistema de archivos que se encuantra
especificado en el archivo /etc/fstab, basta con especificar el
dispositivo a montar o el punto de montaje. El comando mount
buscara el resto de la informacion en el archivo. Por ejemplo,
suponiendo que nuestro archivo fstab es el de la figura 10.1 y
queremos montar el cd-rom, podemos ingresar cualquiera de los
siguientes comandos:
==> mount /dev/cdrom
==> mount /mnt/cdrom
3- Para definir que sistema de archivos pueden ser montados por
usuarios ordinarios. Ver seccion siguiente.
10.5.3 PERMITIENDO MONTAR SISTEMAS DE ARCHIVOS A UN USUARIO ORDINARIO
El comando mount debe ser utilizado solo por el administrador del
sistema (root). Asi podemos tener seguridad en el sistema. No queremos
que los usuarios ordinarios puedan montar y desmontar a gusto nuestros
sistemas de archivos, pero seria una restriccion muy grande que los
usuarios comunes no puedan montar, por ejemplo, un diskette. Para
solucionar esto, sin comprometer la seguridad del sistema, el
adminstrador especifica en el archivo /etc/fstab cuales son los
sistemas de archivos que un usuario puede montar, utilizando la opcion
user. El usuario puede, luego, montar el sistema de archivos, pero
limitado al tipo, punto de montaje y opciones especificadas por el
adminstrador en el archivo /etc/fstab.
CAPITULO 11
EL KERNEL Y LOS MODULOS
11.1 ¿QUE ES EL KERNEL?
El kernel es el organizador principal del S.O. Linux. El kernel
planifica la ejecucion de los procesos y se asegura de que cada uno de
ellos obtenga una tajada "justa" de tiempo de procesador; realiza todo
el manejo de memoria necesario para que los procesos puedan trabajar;
provee una interfaz agradable y portable para que los procesos y
programas de usuario puedan interactuar con el hardware; maneja todo lo
respectivo a almacenamiento de datos en discos; realiza la supervision
de las transmisiones de datos entre la memoria y los dispositivos
perifericos y debe servir todos los pedidos de acceso a hardware de los
procesos.
El kernel es la porcion del S.O. Linux que se encuentra residente en
memoria. Comparado a muchos S.O. de "mainframes", el kernel de Linux
provee una funcionalidad relativamente pequeña (aunque aumentando dia a
dia). De todas formas, comparado a otros S.O. de microcomputadoras,
como lo puede ser MS-DOS, Windows 95, etc., el kernel de Linux tiene un
gran repertorio de servicios.
El kernel nunca realiza alguna tarea directamente para el usuario; los
servicios basicos del kernel son provistos mediante utilidades que
establecen la interfase entre el usuario y el kernel.
El kernel de Linux se ocupa, principalmente, de las siguientes tareas:
Manejo de memoria: El subsistema de manejo de memoria es una de las
partes mas importantes del S.O. Desde los primeros
dias de la computacion, ha habido una necesidad de
tener mas memoria de la disponible fisicamente en
un sistema. Se han desarrollado varias estrategias
para sobrepasar esta limitacion, y la mas exitosa
de todas, sin dudas, ha sido la memoria virtual. La
memoria virtual hace parecer que el sistema tiene
mas memoria que la fisica usando almacenamiento en
disco para ampliar la misma. La ventaja de esto es
que podemos ejecutar mas procesos que los que
quepan en memoria en un instante dado de manera muy
eficeinte.
Procesos: Un proceso es un programa de computadora en accion, una
entidad dinamica, su estado cambia constantemente a medida
que es ejecutado. El kernel tiene la responsabilidad de
comenzar los procesos, planificar su ejecucion de manera
justa, enviarlos a espacio de intercambio (swap) cuando no
hay mas memoria disponible y traerlos nuevamente a memoria
cuando se libere espacio para que puedan seguir
ejecutandose, otorgarles recursos y servir sus pedidos de
interaccion con los dispositivos.
Mecanismo de intercomunicacion entre procesos: Los procesos se
comunican entre si y con el kernel para coordinar y sincronizar
sus actividades. Linux soporta un numero de Mecanismos de
Comunicacion entre Procesos (Inter-Process Communications - IPC),
las señales y las cañerias son dos de ellos. A su vez. Linux posee
otro mecanismo muy potente de comunicacion entre procesos que son
los sockets, este mecanismo es muy importante para la
implementacion de los protocolos de red utilizados en varios
sistemas. Adicionalmente, se tiene colas de mensajes, semaforos y
memoria compartida.
Manejadores de dispositivos (device drivers): Uno de los objetos
principales de un S.O. es ocultar a los usuarios las
peculiaridades especificas del hardware sobre el cual se ejecuta.
El CPU (Central Processing Unit) no es el unico dispositivo de
hardware "inteligente" en una computadora. Cada dispositivo posee
su controladora en hardware que conoce perfectamente las
caracteristicas del mismo y puede manejar su operacion
satisfactoriamente. El software que maneja y controla una
controladora de hardware se conoce como manejador de dispositivo
(device driver). El kernel de Linux posee una gran cantidad de
manejadores de dsipositivos y les encarga a ellos el tratamiento
de bajo nivel de los dispositivos, pero siempre supervisando su
tarea.
Sistemas de archivos: La habilidad de manejar los sistemas de archivos
en necesaria para poder almacenar y recuperar informacion de los
medios de almacenamiento. En el pasado, cada sistema manejaba su
propio sistema de archivos. Una de las potencialidades de Linux es
el soporte que tiene para una gran variedad de sistemas de
archivos distintos. Esta caracteristica hace de Linux un sistema
altamente flexible y hace posible que coexista con otros S.O.
Redes: El trabajo en red y Linux son casi sinonimos. En sentido real,
Linux es un producto de Internet o la World Wide Web (WWW).
Linux posee soporte nativo para varios protocolos de red, como
lo son TCP/IP, AppleTalk, etc.
El kernel, internemente, esta dividido en modulos que se ocupan cada
uno de una tarea en especial. Una sobre-simplificacion de la estructura
del kernel, se muestra en la figura 11.1.
/--------------------\
| Programas de usuario |\
\--------------------/ |
\---|---|---|-------/
| | | PROGRAMAS
# # # # # # # # # # # # # # # #|# #|# #|# # # # # # # # # # # # # # # # # # # # #
| | | KERNEL
_________________________\|/_\|/_\|/___________________________________
| . Interfaz de llamdas al sistema |
°°°°°°|°°°°°°°°°°°°°°°°°°°°|°°°°°°°°°°°°°°°°°°°|°°°°°°°°°°°°°°°°°|°°°°°
_____\|/_____ _____\|/______ ____\|/_______ ___\|/__________
| Manejo de | | Manejador de | | Manejador de | | Servicios de |
| sistemas de | | memoria | | Procesos | | red abstractos |
| archivos | °°°°°°°°°°°°°° °°°°°°°°°°°°°° | (sockets) |
| virtuales | °°°°°°°|°°°°°°°°
°°°°°°|°°°°°° \|/
\|/ |°°°°°°°°°°°°°°°°°|
|°°°°°°°°°°°°°| | Manejadores del |
| Varios | |protocolo TCP/IP |
| manejadores | |_________________|
| de sistemas |______________ |
| de archivos | °\ \|/
°°°°|°°°°°°°° | |°°°°°°°°°°°°°°°°|
\|/ \|/ | Manejador de |
|°°°°°°°°°°°°°| |°°°°°°°°°°°°°°°°°°°°°| | tarjeta de red |
| Manejador | | Manejador de | | Ethernet |
| de discos | | Unidad de diskettes | °°°°°°°|°°°°°°°°
| rigidos IDE | | | |
°°°°|°°°°°°°° °°°°°°°°°°|°°°°°°°°°° |
| | | KERNEL
# # # # #|# # # # # # # # # # # # #|# # # # # # # # # # # # # # # # # # #|# # # # # # # # # # # #
| | | HARDWARE
\|/ \|/ |
|°°°°°°°°°°°°°°°°°°| |°°°°°°°°°°°°°°°°°°°°°| \|/
| Disco Rigido IDE | | Unidad de diskettes | |°°°°°°°°°°°°°°°°°°|
|__________________| |_____________________| | Tarjeta Ethernet |
°°°°°°°°°°°°°°°°°°
Figura 11.1: Partes importantes del kernel.
11.2 LA INTERACCION
Como dijimos anteriormente, en Linux, a diferencia de otros Unix, ni el
programador ni el usuario interactuan directamente con el kernel.
Existen dos mecanismos que son utilizados para interactuar con el S.O.
Ambos terminan ejecutando "llamadas al sistema" (system calls) que son
funciones que el kernel provee como servicios, y cada una de ellas
tiene un rol predeterminado, por ejemplo: abrir un archivo, iniciar un
proceso, mandar un mensaje a otro proceso, etc. Si la comunicacion
usuario-sistema operativo se realizara mediante llamadas al sistema,
seria todo muy engorroso y tedioso, ya que las mismas implementan
funciones de muy bajo nivel. Para, por ejemplo, listar los contenidos
de un directorio tendriamos que ejecutar una gran cantidad de llamadas
al sistema explicitamente, lo que es inviable para un usuario.
Las librerias del sistema y los programas de usuario nos brindan una
interfase mas amigable para poder comunicarnos con el sistema.
11.2.1 LAS LIBRERIAS DEL SISTEMA
Las librerias del sistema definen un conjunto de funciones mediante las
cuales las aplicaciones pueden interactuar con el kernel y que
implementan la mayoria de la funcionalidad del S.O. que no necesita los
privilegios que posee el codigo del kernel.
La interfaz del S.O., visibles a las aplicaciones, no es mantenida
directamente por el kernel, sino que las aplicaciones hacen llamadas a
las librerias del sistema que luego llaman a los servicios del S.O. si
es necesario.
Las librerias del sistema proveen muchos tipos de funcionalidad. En el
nivel mas simple, permiten a las aplicaciones realizar pedidos de
servicios al kernel. Las librerias pueden, tambien, proveer versiones
mas complejas de las llamadas al sistema. Por ejemplo: las funciones de
libreria del lenguaje C de manejo de archivos, estan todas
implementadas en las librerias del sistema, permitiendo asi un control
mas avanzado de entrada-salida de archivos que aquel que el kernel
provee. Las librerias del sistema tambien contiene rutinas que no
corresponden a las llamadas al sistema como lo pueden ser algoritmos de
ordenamiento, funciones matematicas, etc.
11.2.2 LAS UTILIDADES DEL SISTEMA
Las utilidades del sistema o programas del usuario, son programas que
realizan tareas individuales y especializadas. Algunas utilidades del
sistema se invocan una unica vez para inicializar y configurar algun
aspecto del sistema, otras; conocidas como "demonios", se ejecutan
permanentemente en "background" y manejan tareas de conexiones de red,
actualizacion de "archivos de log", aceptacion de pedidos de inicio de
sesion, etc.
No todas las utilidades del sistema sirven para adminsitrar puntos
claves del sistema. El entorno del S.O. Linux contiene un gran numero
de utilidades estandar para realizar tareas simples, de todos los dias,
como son listar directorios, mostrar el contenido de un archivo, etc.
Por mas que estas utilidades no realicen tareas del S.O. en si son una
parte muy importante del S.O. Linux.
11.3 ¿QUE SON LOS MODULOS?
El kernel de Linux es un "kernel monolitico". Esto quiere decir que es
un unico y largo programa donde todos los componentes funcionales del
mismo tiene acceso a todas las estructuras de datos internas y sus
rutinas. Esta caracteristica evidencia una falta de modularidad en el
diseño del kernel. Por ejemplo, si queremos agregar un dispositivo al
sistema, digamos una tarjeta de red, y el manejador de dispositivo no
se encuentra compilado en el kernel, tendremos que volver a compilar
"TODO" el kernel, que, como veremos mas adelante, es un proceso que
consume mucho tiempo.
Para evitar estas situaciones se aplica una estrategia parecida al uso
de librerias compartidas por los programas de usuario en tiempo de
ejecucion. Una gran cantidad de funcionalidad del kernel puede ser
compilada como "modulos" y el kernel puede cargar y descargar los
mismos a medida que los necesita. El kernel no necesita saber que
modulos van a ser cargados, los mismos son verdaderamente componentes
independientes.
Los modulos se cargan bajo demanda, es decir cuando son necesitados
para satisfacer el pedido del algun proceso, y se ejecutan en modo
privilegiado como todo el codigo del kernel de Linux, y, como
consecuencia tienen acceso completo a las capacidades del hardware de
la maquina donde se ejecutan.
Teoricamente, no existe ninguna restriccion en las tareas que un modulo
debe realizar; tipicamente, un modulo puede implementar un manejador de
dispositivo, un sistema de archivos o un protocolo de red.
Existen muchas razones por las cuales es conveniente la utilizacion de
modulos del kernel.
El codigo de Linux es gratis, por lo tanto cualquier persona que quiera
desarrollar un nuevo manejador de dispositivos puede insertarlo en el
kernel, compilarlo y reconstruir el kernel, instalarlo y reiniciar el
sistema con la nueva funcionalidad, pero esta tarea se puede volver
altamente tediosa ya que cada vez que la persona modifique el manejador
de dispositivo debera reconstruir e instalar el kernel para poder
testearlo. Si se utilizan modulos, se puede compilar solamente el
modulo y ser insertado y eliminado del kernel sin necesidad, siquiera,
de reiniciar el sistema !! :)
Finalmente, los modulos del kernel permiten al sistema Linux ser
configurado con un kernel minimo estandar sin ningun manejador extra
formando parte del mismo. Cualquier modulo que el usuario necesite
puede ser cargado explicitamente al iniciarse el sistema o cargado
automaticamente por el sistema al realizarse una demanda y descargado
cuando el sistema detecte que ya no se necesita.
11.4 PERSONALIZANDO EL KERNEL
Una de las caracteristicas mas importantes del S.O. Linux es su
flexibilidad, ya que es posible que podamos "poner a punto" el kernel y
hacerlo a la medida de nuestro sistema, algo es totalmente imposible en
otros S.O. comerciales.
El hecho de que el S.O. Linux se distribuye con su codigo fuente
completo, hace que podamos elegir que queremos que forme parte del
kernel y que queremos dejar afuera. Por ejemplo: Linux posee una gran
cantidad de manejadores de dispositivos SCSI, pero si nosotros no
poseemos ningun dispositivo de este tipo, entonces podemos hacer que el
codigo de estos manejadores no se compile ni se incluya en la
construccion del kernel, obteniendo asi un kernel mas pequeño que
ocupara menos memoria. Ya que, como dijimos antes, el kernel es la
parte del S.O. que se encuentra residente en memoria, es importante
reducir el tamaño del mismo para liberar mas memoria para los procesos.
Gracias a esta caracteristica, Linux exige mucha menor cantidad de
memoria para trabajar que otros S.O. Por esto es totalmente viable
configurar un kernel minimo, para trabajar, por ejemplo, en una maquina
Intel 80386 con 2 Mb de memoria Ram.
La personalizacion del kernel es una tarea que exige que tengamos un
alto grado de conocimiento de las caracteristicas del hardware y de los
servicios que necesitamos que funcionen en nuestro sistema. Un punto
clave en la personalizacion del kernel es la configuracion del mismo.
11.4.1 ELIGIENDO LA CONFIGURACION ADECUADA
NOTA: Suponiendo que tenemos las fuentes del kernel instaladas
correctamente, las mismas se encontraran en el directorio
/usr/src/linux y todos los comandos que se muestran en la
discusion que sigue deben ser ejecutados en ese directorio,
salvo que se indique lo contrario. En la seccion 11.5.2 se dan
las instrucciones para realizar la instalacion de las fuentes
del kernel, ya sea porque no se encuentran instaladas o porque
queremos instalar una nueva version.
Cuando configuramos el kernel, estamos eligiendo los servicios que
queremos que formen parte del mismo. Existen varias formas de realizar
esta configuracion. Las mismas son:
make config Solo necesita que tengamos corriendo la shell bash. Ejecuta
un script que nos va realizando una serie de preguntas. Se
vuelve un proceso tedioso y no tenemos forma de volver
atras en caso de un error.
make menuconfig Es una interfaz basada en menues de configuracion.
Tenemos un menu principal que se divide en sub-menus
de acuerdo a una serie de items. Es mucho mas comodo
de utilizar y no requiere interfaz grafica.
make xconfig Solo para aquellos que puedan ejecutar el sistema X
Windows. Es una interfaz basada en ventanas y botones. Es
mucho mas comoda para trabajar.
En base a las caracteriticas de nuestro sistema, debemos elegir una
herramienta de configuracion de las tres enumeradas anteriormente y asi
comenzar la configuracion.
ELECCIONES DE LAS OPCIONES
Sin importar de que herramienta usemos para configurar el kernel,
tendremos que seleccionar una opcion para cada item del kernel. Cada
item posee una opcion "y" (yes) y otra "n" (no). Algunas poseen una
opcion "m" (module) que significa que se compilara ese item pero no
directamente dentro del kernel, sino como un modulo independiente.
A continuacion describiremos las opciones basicas a tener en cuenta al
momento de compilar el kernel. Esta lista, obviamente, es no exhaustiva
y no prentende ser una guia precisa de la configuracion de un kernel,
sino que trata de ser una ayuda para un novato a la hora de configurar
un kernel.
CODE MATURITY LEVEL OPTIONS: El S.O. Linux se encuentra en constante
evolucion. Por lo tanto siempre existen caracteristicas que se
encuentran en un estado experimental. Lo que quiere decir que algunas
cosas no se encuentran totalmente testeadas y pueden ser peligrosas
para el sistema. Podemos elegir que el configurador nos deje o no
agregar caracteristicas experimentales al kernel. En general, las
caracteristicas experimentales son utilizadas por desarrolladores y se
recomienda que los usuarios novatos las dejen de lado.
PROCCESOR TYPE AND FEATURES: Aqui configuramos el tipo de procesador de
nuestro sistema. Otro item importante es si deseamos emulacion de
instrucciones matematicas; maquinas superiores a 486 SX poseen
coprocesador matematico en hardware, por lo que si tenemos una maquinas
de estas debemos contestar que no.
LOADABLE MODULE SUPPORT: Aqui especificamos si queremos soporte para
modulos en nuestro kernel. Si vamos a compilar algun servicio como
modulo es indispensable responder "y" a la pregunta Enable lodable
module support ?.
GENERAL SETUP: En esta opcion elegimos parametros generales de nuestro
sistema. Elegimos si queremos soporte para trabajar en red, soporte
para dispositivos PCI, soporte para puertos paralelos (indispensable
para instalar una impresora, o cualquier dispositivo que utilice el
puerto paralelo) y otro items avanzados como lo son Advanced Power
Management (para computadoras portatiles), mecanismos de comunicacion
entre procesos y soporte para distintos formatos de archivos
ejecutables.
PLUG AND PLAY SUPPORT: Si tenemos algun dispositivo periferico que sea
compatible con la norma Plug and Play, debemos contestar "y" al item
Plug and Play support.
BLOCK DEVICES: En esta seccion elegimos el tipo de los dispositivos de
almacenamiento de archivos que vamos a utilizar, como por ejemplo, si
queremos soporte para unidad de diskettes, para discos rigidos IDE,
CD-ROM's IDE/ATAPI, dispositivos de cinta magnetica, soporte para
discos ULTRA-DMA, y otros dispositivos de bloque avanzados. Si estamos
desorientados de que elegir se recomienda soporte para discos IDE,
diskettera normal, CD-ROM's ATAPI y dejar el resto de las opciones
predeterminadas.
NETWORKING OPTIONS: Editar solo si necesitamos soporte para trabajar en
red. Esta seccion esta llena de opciones avanzadas que en general, solo
son seteadas por un adminsitrador de red. Sin embargo, podemos optar en
algunos items. Si queremos soporte para trabajo en red, debemos
asegurarnos de que el item TCP/IP Networking este seleccionado. El
resto de las opciones podemos dejarlas en su estado predeterminado, a
no ser que sepamos lo que estamos haciendo !!! Si nececitamos
conectividad con maquinas corriendo Novell/Netware debemos seleccionar
el soporte para protocolo IPX.
SCSI SUPPORT: Solo si tenemos algun dispositivo SCSI para configurar.
En esta seccion hay una gran variedad de dispositivos para elegir.
Debemos averiguar que marca y modelo es el nuestro y que
caracteristicas posee para seleccionar el adecuado. Podemos elegir que
el manejador de dispositivos se compile como modulo si no sera
frecuentemente utilizado.
NETWORK DEVICE SUPPORT: En esta seccion seleccionamos que tipo de
interfases de red instalaremos en nuestro sistema. Hay soporte para una
gran cantidad de tarjetas Ethernet, tanto ISA, VLB o PCI. Tenemos
soporte para los dispositivos Frame Relay, FDDI, etc. Si vamos a
conectar dos maquinas mediante un cable debemos elegir PLIP (cable
paralelo) o SLIP (cable serie). Para este ultimo tambien podemos elegir
soporte para PPP (Point to Point Protocol), el cual es indispensable si
queremos realizar conexiones a Internet mediante un ISP (Internet
Service Provider) Proveedor de Servicios Internet.
CHARACTER DEVICES: Aqui seleccionamos que dispositivos de caracter
queremos utilizar. Se recomienda elegir consolas virtuales, soporte
para puertos serie estandar, soporte para impresora en puerto paralelo,
soporte para mouse (no serial) en caso de tener un mouse PS/2,
Logitech, etc.
FILESYSTEMS: Esta es una de las secciones mas importantes de la
configuracion del kernel. Aqui elegimos que tipos de sistemas de
archivos podran ser accedidos mediante nuestro kernel. Es indispensable
el soporte para ext2fs que es el sistema de archivos de Linux. Se deben
elegir FAT y VFAT para poder leer y escribir sistemas de archivos de
MS-DOS y Windows 95 respectivamente, el sistema de archivos ISO9660
para leer CD-ROM's de datos, las extensiones Joliet para CD-ROM's de
Microsoft nos permiten entender el formato de nombres largos de los
CD-ROM's que tienen este formato; el soport para NTFS nos permite leer
informacion de los sistemas de archivos de Windows NT; los demas son
sistemas de archivos raramente utilizados y, es preferible
desactivarlos, si no tenemos la necesidad de utilizarlos. El codigo
para poder entender los sistemas de archivos adicionales se suele
compilar como modulos ya que no son utilizados constantemente y podemos
aprovechar para poder reducir el tamaño del kernel.
NATIVE LANGUAGE SUPPORT: En esta seccion podemos elegir que tipo de
lenguaje nativo queremos utilizar. En general se seleccionan las
opciones Codepage 437, Codepage 850 y NLS ISO-8859-1 (Latin 1) para
nuestro pais y paises con lenguajes similares. Los demas codigos de
paginas y de caracteres se utilizan para otros lenguajes: hebreo,
turco, griego, arabe, etc.
SOUND: En esta seccion seleccionamos si queremos o no soporte para
tarjeta de sonido y en caso de ser afirmativa la respuesta elegimos
para que tipo de tarjeta queremos tener soporte. Las tarjetas mas
conocidas y utilizadas son las tarjetas Sound Blaster, Pro Audio
Spectrum, Microsoft Sound System, Ensoniq Soundscape, etc. Es necesario
aclarar que el driver de Sound Blaster es solo para tarjetas que son
100% compatibles con Sound Blaster, que no es el caso de la mayoria de
las tarjetas de sonido genericas que se venden para computadoras
personales. Existen muchisimos modelos que claman ser compatibles Sound
Blaster, pero nos engañan, ya que la compatibilidad la emulan por
software cargando un manejador de dispositivo residente (que solo
funciona con MS-DOS o Windows) que se comunica con la tarjeta. En
Linux, obviamente no podremos cargar este manejador y tampoco podremos
hacer funcionar la tarjeta con el manejador de Sound Blaster. Sin
embargo, algunas de estas tarjetas son compatibles con MAD16 y
funcionan perfectamente con este manejador. Encontramos, tambien
soporte para muchas otras tarjetas menos conocidas que las nombradas
anteriormente, y ademas soporte para poder trabajar con MIDI. Se
recomienda compilar los manejadores que necesitemos como modulos ya que
resulta muy practica y facil la instalacion y la configuracion
posterior de la tarjeta de sonido.
NOTA: Cada item posee un cuadro de ayuda donde se explica exactamente
para que sirve. En caso de desorientacion o desconociemiento se
recomienda LEER la explicacion que alli se encuentra. En caso de
dudas, dejar la opcion predeterminada.
CODIGO INTEGRADO EN EL KERNEL VS MODULOS
Cuando debemos decidir si un item debe ser compilado como parte del
kernel o como modulo independiente debemos tener en cuenta los
siguientes puntos:
* Si el servicio va a ser utilizado infrecuentemente y su eficiencia
no es critica para el funcionamiento del sistema, entonces nos
conviene que se instale como modulo, ya que no ocupara memoria
mientras no se necesite.
* Hay servicios que es necesario que se encuentren instalados al
iniciarse el sistema. En estos casos es conveniente que se instalen
como parte del kernel, ya que los modulos se suelen cargar despues
de que el sistema se inicio y consecuentemente luego de que fuera
necesitado.
* Cuando un servicio se compila como modulo tenemos la ventaja de que
no ocupara espacio innecesario, pero tenemos la desventaja de que
cuando queremos utilizar el modulo tenemos una sobrecarga. Cuando
queremos utilizar un servicio que ha sido compilado como modulo,
debemos cargarlo explicitamente o el mismo puede ser configurado
para ser cargado automaticamente, pero de todas formas, el kernel
debe realizar una serie de operaciones para vincular los modulos
dinamicamente y cargarlos para que puedan ser utilizados. Estas
operaciones no son necesarias cuando compilamos el servicio como
parte del kernel.
* Si el tamaño del kernel nos condiciona rigidamente, entonces debemos
utilizar los modulos tanto como sea posible. Es normal configurar un
kernel que haga uso intensivo de modulos y lograr que el tamaño del
mismo ronde los 400 K.
11.4.2. COMPILANDO EL KERNEL
Luego de que hayamos configurado nuestro kernel pasamos a la etapa
donde construimos el mismo. Esta etapa es un proceso facil de realizar
(desde el punto de vista del usuario), pero, en contrapartida, nos
lleva mucho tiempo. Este proceso realiza la compilacion de todos los
elementos seleccionados en la etapa de configuracion. La compilacion es
un proceso que realiza un uso intensivo del procesador y el tiempo que
tardaremos en compilar el kernel depende exclusivamente de la velocidad
y potencia de nuestro procesador y de la cantidad de memoria del
sistema. Dependiendo de nuestra maquina podemos tardar desde 15 minutos
hasta 1 hora o mas todavia.
NOTA: Si todavia no le tomaron el gustito a los modulos, prueben de
olvidarse de compilar algo como parte del kernel y luego tener
que volver a compilarlo completamente solo para agregar ese
servicio.
CALCULANDO LAS DEPENDENCIAS
Las fuentes del kernel estan formadas por un gran numero de archivos y
componentes que se encuentran vinculados por relaciones de dependencia.
Estas relaciones de dependencia entre los objetos del kernel deben ser
calculadas de acuerdo a la configuracion del kernel que hayamos
elegido. El siguiente comando calculara las dependencias:
==> make dep
LIMPIANDO LO VIEJO
Si no es la primera vez que utilizamos las fuentes del kernel para
compilarlo, debemos tener en cuenta que existen archivos compilados del
kernel anterior y es indispensable eliminarlos antes de comenzar el
proceso de construccion. El siguiente comando se ocupara de limpiar
todos los archivos innecesarios:
==> make clean
CONSTRUYENDO EL KERNEL
Para compilar los kernels 2.2.x debemos asegurarnos de tener instalada
la version 2.7.2 del compilador de C/C++ gcc, o alguna mas nueva. Para
averiguar esto podemos ejecutar el siguiente comando:
==> gcc --version
Para construir el kernel debemos ejecutar
==> make zImage
Este es proceso que tarda mas tiempo y genera una imagen comprimida del
kernel. Una vez que este proceso termina el kernel se encuentra listo
para ser instalado. En caso de haber seleccionado demasiados servicios
para que sean compilados como parte del kernel, el proceso de
construccion se abortara quejandose de esto. Para contrarrestar esto
podemos probar con el siguiente comando:
==> make bzImage
Si el proceso se sigue quejando, entonces debemos eleminar alguno de
los servicios elegidos o seleccionarlos para que se compilen como
modulos, y luego volver a calcular las dependencias, limpiar los
archivos y comenzar de nuevo la construccion.
11.4.3 COMPILANDO LOS MODULOS
Si en la etapa de configuracion seleccionamos algun item para que sea
compilado como modulo, entonces debemos ejecutar el siguiente comando:
==> make modules
Este comando realiza la compilacion de los modulos que seleccionamos en
la etapa de configuracion.
11.4.4 INSTALANDO LOS MODULOS
En lo que respecta a los modulos, nos resta instalarlos. Los modulos
son normalmente instalados en el directorio /lib/modules. En este
directorio encontraremos un subdirectorio por cada version kernel para
la que hayamos instalado modulos anteriormente.
Ejecutando el siguiente comando, instalaremos los modulos en ese
directorio bajo el subdirectorio correspondiente a la version del
kernel que estemos ejecutando.
==> make modules_install
11.4.5 INSTALANDO EL NUEVO KERNEL
Una vez que tenemos nuestro kernel compilado debemos instalarlo para
que el sistema comience a trabajar con el mismo. La mayoria de los
usuarios de Linux utilizan el programa LILO (LInux LOader) para
instalar el kernel. LILO es un programa facil de utilizar, aunque el
archivo de configuracion /etc/lilo.conf suele confundir un poco a los
usuarios novatos. El archivo de configuracion debe parecerse al que se
muestra en la figura 11.2.
# cat /etc/lilo.conf
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
image=/boot/vmlinuz
label=linux
root=/dev/hda1
read-only
Figura 11.2: Un archivo de configuracion del programa LILO.
Tres puntos importantes a tener en cuenta:
1. La linea image=...: Aqui le indicamos a LILO la ruta donde se
encuentra la imagen comprimida del kernel.
2. La linea label=...: Esta opcion le indica al programa que estiqueta
usar para ese kernel. La etiqueta es util en
caso de tener mas de un S.O. en la misma
maquina, ya que LILO nos permite iniciar
cualquiera de ellos eligiendo la respectiva
etiqueta.
3. La linea root=...: Con esta opcion le indicamos a LILO cual es la
particion raiz de nuestro sistema.
Debemos configurar estas opciones en el archivo de configuraciones,
guardarlo y luego copiar la imagen comprimida del kernel que se
encuentra en el dirctorio /usr/src/linux/arch/i386/boot bajo el nombre
zImage o bzImage, segun hayamos elegido al construirlo, a el lugar que
le fue indicado a LILO en el archivo de configuracion.
Luego debemos ejecutar lilo (o /sbin/lilo si la shell no lo encuentra).
Esto hara que LILO lea el archivo de configuracion e instale el nuevo
kernel bajo las opciones especificadas.
Para poder trabajar con el nuevo kernel, resta reiniciar el sistema. La
instalacion de un nuevo kernel es uno de los unicos motivos por los
cuales es necesario reiniciar el sistema, ya que no nos queda otra
opcion.
En general podremos reiniciar el sistema ejecutando el comando:
==> reboot
o equivalentamente
==> init 6
11.4.6 CARGANDO Y DESCARGANDO LOS MODULOS
Una vez que iniciamos el sistema con el nuevo kernel y verificamos que
todo funciona correctamente, podemos comenzar a probar los modulos
seleccionados y compilados anteriormente.
Los comandos referidos a la manipulacion de modulos son los siguientes:
* lsmod (list modules): Muestra una lista de los modulos cargados
actualmente.
* isnmod (insert module): Carga un modulo en memoria como parte del
kernel.
* rmmod (remove module): Elimina un modulo cargado en memoria.
Inicialmente, no se encuentra cargado ningun modulo en memoria. Por lo
tanto, al ejecutar lsmod obtendremos una lista vacia:
# lsmod
Module Size Used by
En la figura 11.3 se muestra el contenido de los directorios que
contienen los modulos en un sistema.
Ilustraremos la carga y descarga de los modulos con el modulo minix que
nos permite montar sistemas de archivos del S.O. Minix. Veamos que pasa
si queremos montar un diskette con sistema de archivo minix sin tener
el modulo cargado:
# mount -t minix /dev/fd0 /mnt/floppy
mount: fs type minix not supported by kernel
El comando mount nos indica que hay un error, ya que el sistema de
archivos Minix no se encuentra soportado por el kernel. Para poder
montar el sistema de archivos de Minix debemos cargar el modulo minix.
Para cargar el mismo ejecutamos el comando insmod y luego verifiamos
que haya sido cargado:
# insmod minix
# lsmod
Module Size Used by
minix 22568 0 (unused)
Una vez que tenemos el modulo caragado como parte del kernel podemos
montar tranquilamente el diskette. Notemos que el modulo esta cargado
pero nadie lo esta utilizando. Veamos como montar el diskette:
# mount -t minix /dev/fd0 /mnt/floppy lsmod
Module Size Used by
minix 22568 1
Como vemos, ahora el modulo esta siendo usado por 1 servicio ya que al
montar el diskette el modulo se utiliza hasta que el mismo se desmonte.
Una vez que ya no necesitamos utilizar el diskette lo desmontamos y
luego verificamos que el modulo ya no esta siendo utilizado:
# rmmod minix
# lsmod
Module Size Used by
11.4.7 LAS DEPENDENCIAS ENTRE LOS MODULOS
Asi como los distintos componentes que forman parte del kernel poseen
dependencias, los modulos tambien se vinculan por relaciones de
dependencia. En el caso del ejemplo anterior del modulo minix vimos que
el mismo no depende de ningun otro modulo, por lo que podemos cargarlo
directamente y comenzar a utilizarlo. No todos los modulos poseen esta
caracteristica y, como consecuencia, puede no ser tan facil cargarlos.
# pwd
/lib/modules/2.2.5
#ls *
modules.dep
block:
loop.o
fs:
minix.o msdos.o
misc:
ad1848.o af_spx.o ipx.o mad16.o sb.o uart401.o
net:
8390.o bsd_comp.o dummy.o ne.o ppp_deflate.o
Figura 11.3: Una serie de modulos instalados
Suponiendo el mismo conjunto de modulos de la figura 11.3 queremos
instalar otro modulo.
Uno de los items que seleccionamos para que sea compilado como modulo
en la etapa de configuracion es el manejador de dispositivo de una
placa de red compatible NE2000. Una vez que examinamos el subdirectorio
net encontramos el modulo ne y lo instalamos con el comando insmod de
la siguiente forma:
# insmod ne
/lib/modules/2.2.5/net/ne.o: unresolved symbol ei_open
/lib/modules/2.2.5/net/ne.o: unresolved symbol ethdev_init
/lib/modules/2.2.5/net/ne.o: unresolved symbol ei_interrupt
/lib/modules/2.2.5/net/ne.o: unresolved symbol NS8390_init
/lib/modules/2.2.5/net/ne.o: unresolved symbol ei_close
¿ Que paso ?
La respuesta es la siguiente: el modulo no puede resolver ciertos
simbolos. Esto quiere decir que depende de algun otro modulo. Por lo
tanto antes de cargar el modulo "ne" debemos cargar los modulos de los
cuales depende. Pero... ¿ cuales son los modulos de los que depende ?.
En este caso, una detallada examinacion de los mensajes de error del
comando insmod pueden hacernos sospechar que el numero 8390 que por ahi
anda dando vueltas implica que el modulo 8390, que se encuentra en el
mismo directorio que ne, es necesario para poder cargarlo. Por lo
tanto, probamos:
# insmod 8390
# insmod ne
Efectivamente esto funciono, y lo podemos verificar con el comando
lsmod. En la tabla que nos muestra este comando vemos que el modulo
8390 es utilizado por el modulo ne.
# lsmod
Module Size Used by
ne 5980 1
8390 5940 0 [ne]
Esta aproximacion, claramente, no es practica. Un modulo puede depender
de varios y podemos tener situaciones donde las dependencias entre
modulos son transitivas, es decir, que un modulo M3 depende de otro
modulo M2 y este, a su vez, depende de otro modulo M1. Asi vemos que
las cosas se complican; si no contamos con una herramienta que realice
automaticamente estas tareas de resolusion de dependencias, la carga y
descarga de modulos se vuelve una tarea bastante complicada.
Por suerte, existen dos utilidades que nos resuelven estos problemas
ideseables.
11.4.8 UNA CARGA MAS INTELIGENTE
El programa depmod es una utilidad que sirve para calcular
automaticamente las dependencias entre los modulos. Puede ser utilizado
de varias formas, pero la mas comun de ellas es la siguiente:
==> depmod -a
Este comando ejecutara depmod con la opcion -a (all) y asi calculara
todas las dependencias entre los modulos. Este comando es ejecutado,
usualmente, como parte del inicio del sistema.
Una vez que se calculan las dependencias entre los modulos, podemos
cargar los modulos sin saber que dependencias tienen, ya que el sistema
se ocupara de cargar los modulos necesarios (de acuerdo a las
dependencias) de forma totalmente transparente al usuario. Para poder
realizar la carga de los modulos de esta forma, debemos utilizar el
comando modprobe.
Veamos un ejemplo de esta estrategia:
Queremos cargar el modulo mad16, que sabemos es el manejador de
dispositivo de un tarjeta de sonido. Supongamos que la misma esta
configurada para trabajar en el puerto 0x530, utiliza la interrupcion
(IRQ) 10 y el acceso directo a memoria (DMA) 1. Por supuesto, no
tenemos las mas minima idea de que modulos es necesario cargar para que
mad16 funcione correctamente. No hay problema, ejecutando los
siguientes comandos todo se hara de forma automatica y transparente.
# lsmod
Module Size Used by
# depmod -a
# modprobe mad16 io=0x530 irq=10 dma=1
# lsmod
Module Size Used by
mad16 6548 0 (unused)
uart401 5572 0 [mad16]
ad1848 15088 0 [mad16]
Como vemos, al comenzar no tenemos ningun modulo cargado. Antes de
cargar el modulo mad16 realizamos el calculo de las relaciones de
dependecia entre los modulos. Luego cargamos el modulo mad16. Notemos
que este modulo (como muchos de los que implementan manejadores de
dispositivos de placas de sonido) necesitan parametros adicionales para
poder ser cargados. En este caso son necesarios el puerto de
entrada/salida, la interrupcion y el acceso directo a memoria que
utiliza la misma. Luego de cargar el modulo, realizamos un listado de
los modulos que se encuentran cargados y descubrimos que el modulo
mad16 posee dos dependencias: uart401 y ad1848. Estos modulos fueron
cargados automaticamente para poder cargar el modulo mad16.
Para descargar el modulo y todas sus dependencias (que no se encuentren
en uso) podamos ejecutar modprobe -r:
# modprobe -r mad16
# lsmod
Module Size Used by
11.5 ACTUALIZANDO NUESTRO KERNEL
Una de las grandes ventajas del S.O. Linux es su desarrollo. El kernel
del sistema se encuentra en constante actualizacion y desarrollo, a tal
punto que podemos disponer de una nueva version del mismo cada, mas o
menos, una o dos semanas. Comparemos esto con la frecuencia de
actualizacion de otros S.O., si es que tiene actualizacion :)
Es importante actualizar nuestro kernel ya que a medida que los kernels
evolucionan se corrigen muchos "bugs", son capaces de trabajar con
nuevos dispositivos, se agrega soporte para otros sistemas de archivos,
pueden mejorar el manejo de puntos claves (memoria, procesos, etc.),
pueden ser mas rapidos y mas estables, etc.
11.5.1 OBTENIENDO EL KERNEL
Existen varias formas de obtener las fuentes del kernel. Una de ellas
es mediante Internet ya que existen varios sitios donde se publican las
mismas. Ver al apendice A para obtener las direcciones de los sitios.
Existen, tambien varias distribuciones en CD-ROM's que traen las
fuentes de los kernels.
Un punto importante a tener en cuenta al momento de conseguir las
fuentes del kernel es la version de las mismas.
VERSIONES DEL KERNEL
Las fuentes del kernel poseen un sistema de numeracion muy simple.
Cualquier version par de las fuentes representa un kernel estable, por
ejemplo 2.0 o 2.2. Una version impar representa un kernel en estado
experimental o en desarrollo (las famosas versiones "beta"), por
ejemplo 2.1.
A su vez sobre cada version se publican varios "releases", es decir
subversiones de los mismos. Asi podemos tener versiones como 2.0.32,
2.1.125, 2.2.5, etc. En general, existen un gran numero de releases
betas antes de publicar la siguiente version estable. Por ejemplo,
antes de que se publicara la version 2.2 del kernel se realizaron mas
de 130 releases del kernel 2.1. Podemos ver el grado de testeo y
correccion de los kernels antes de ser denominados "estables" y por lo
tanto ser considerados confiables y aceptables. La politica de los
desarrolladores de Linux es testear intensivamente los kernels antes de
publicar una nueva version estable, por lo que podemos estar seguros de
que si la version es par es "realmente estable". Comparemos esto con
las estrategias de desarrollo de otros S.O.
11.5.2 INSTALANDO LAS FUENTES DEL KERNEL
Las fuentes del kernel son provistas en un archivo agrupado y
comprimido con el formato tar y gzip o alternativamente bzip2. Si la
version es, digamos, 2.2.1, entonces el archivo se llamara
linux-2.2.1.tar.gz o linux-2.2.1.tar.bz2. Estas fuentes deben ser
instaladas dentro del directorio /usr/src.
Como es posible que tengamos en ese mismo diretorio las fuentes de
kernels de versiones anteriores, es recomendable realizar un par de
cosas antes de descomprimir las nuevas fuentes. Supongamos que dentro
del directorio /usr/src tenemos instaladas las fuentes del kernel
2.1.125 y queremos instalar las fuentes del nuevo kernel 2.2.5. El
contenido del directorio /usr/src es el siguiente:
# pwd
/usr/src
# ls -l
lrwxrwxrwx 1 root root 11 May 5 23:58 linux -> linux-2.1.125
drwxr-xr-x 15 root root 1024 May 5 23:50 linux-2.1.125
-rw-r--r-- 1 root root 13721493 May 9 22:17 linux-2.2.5.tar.gz
Las fuentes del kernel actuales deben encontrarse en el directorio
linux. Es conveniente que se realice un directorio para cada version de
las fuentes y crear un link simbolico linux que apunte al directorio
respectivo. En este caso el link apunta al directorio linux-2.1.125 ya
que es la unica version que tenemos.
Si descomprimimos las nuevas fuentes en este momento tendremos un
problema: En general, estos archivos comprimidos viene armados para que
al descomprimirlos se instalen en el directorio linux, pero como
nosotros tenemos el link simbolico apuntando al directorio
linux-2.1.125, al descomprimir las fuentes, estas se instalaran en este
ultimo directorio y sobrescribiran las fuentes del kernel 2.1.125. Para
evitar esto, debemos eliminar el link simbolico antes de descomprimir
las nuevas fuentes. En la figura 11.4 vemos como hacer para instalar
correctamente las fuentes del kernel y conservar las anteriores.
# rm linux
# ls -l
drwxr-xr-x 15 root root 1024 May 5 23:50 linux-2.1.125
-rw-r--r-- 1 root root 13721493 May 9 22:17 linux-2.2.5.tar.gz
# tar -zxvf linux-2.2.5.tar.gz
# ls -l
drwxr-xr-x 15 root root 1024 May 9 22:30 linux-2.1.125
drwxr-xr-x 15 root root 1024 May 5 23:50 linux-2.2.5
-rw-r--r-- 1 root root 13721493 May 9 22:17 linux-2.2.5.tar.gz
# mv linux linux-2.2.5
# ls -l
drwxr-xr-x 15 root root 1024 May 5 23:50 linux-2.1.125
drwxr-xr-x 15 root root 1024 May 9 22:32 linux-2.2.5
-rw-r--r-- 1 root root 13721493 May 9 22:17 linux-2.2.5.tar.gz
# ln -s linux-2.2.5 linux
# ls -l
lrwxrwxrwx 1 root root 9 May 9 23:33 linux -> linux-2.2.5
drwxr-xr-x 15 root root 1024 May 5 23:50 linux-2.1.125
drwxr-xr-x 15 root root 1024 May 9 22:32 linux-2.2.5
-rw-r--r-- 1 root root 13721493 May 9 22:17 linux-2.2.5.tar.gz
Figura 11.4: Descomprimiendo las fuentes del nuevo kernel.
Para completar la instalacion del nuevo kernel debemos realizar un paso
adicional para asegurarnos de que no tenemos ningun vinculo incorrecto.
Debemos cambiar el directorio /usr/src/linux y ejecutar el siguiente
comando:
==> make mrproper
Ahora si tenemos las fuentes del kernel correctamente instaladas.
CAPITULO 12
ASPECTOS AVANZADOS DE LA SHELL
Ya hemos discutido la utilizacion de la shell en el capitulo 6 y la
hemos utilizado interactivamente de manera intensiva. Los usuarios
utilizan la shell, en su gran mayoria, interactivamente de las
siguientes formas:
* Ingresando comandos simples (ls).
* Utilizando las facilidades de generacion de nombres de archivos (ls
*.tex).
* Especificando redireccion de la entrada y/o salida (ls > iofile).
* Construyendo cañerias (ls | wc -l).
Estas tecnicas son potentes y extremadamente utiles, pero solo son una
pequeña parte de las capacidades de la shell.
Elegir una shell interactiva es en realidad una cuestion de gusto.
Muchos usuarios prefieren la shell "C" para uso interactivo. La misma
fue la primera shell que implemento una lista historica de los comandos
para poder ser reutilizados facilmente sin tener que tipearlos
nuevamente. Tambien fue la primer shell que implemeto el control de
procesos, es decir, como poder manipular procesos que se ejecutan en
background. Elegir una shell para escribir un scripts es una tarea
mucho mas facil. Si las necesidades del usuario son modestas y se
conocen las capacidades de la shell de "C", entonces es conveniente
utilizarla, pero la mayoria de los usuarios, hoy, prefieren utilizar la
shell de "Bourne" para escribir scripts.
La shell de "Bourne" (sh) es la unica shell que se encuentra en todos
los sistemas Unix, incluido Linux, que ademas posee la shell "Bourne
Again" (bash) que es totalmente compatible con la shell de Bourne y
agrega caracteristicas importantes y utiles de la shell de "Korn" (ksh)
y la shell de "C" (csh). La shell de Bourne Again es la shell
predeterminada de Linux.
La shell de "Bourne" fue diseñada desde un comienzo como un lenguaje de
programacion, lo que explica las capacidades de la misma como lenguaje
de programacion lo que la hace la shell mas ampliamente aceptada como
lenguaje de programacion de scripts.
Este capitulo no intenta desarrollar completamente las capacidades de
la shell de Bourne como lenguaje de programacion, sino que pretende ser
una introduccion a la programacion de scripts, tarea no indispensable
para un usuario ordinario, pero que puede hacer que muchas de las
tareas a realizar en el sistema sean mas faciles y practicas.
Analizaremos tambien los aspectos de la shell que forman el entorno del
usuario, como lo son: variables de entorno, variables de shell, el
camino de busqueda (path), etc.
12.1 PROGRAMAS DE SHELL (SRIPTS)
Un script es cualquier comando o secuencia de comandos de Linux
almacenados en un archivo de texto. Usualmente el termino de script se
utiliza cuando el archivo solo contiene una simple secuencia de
comandos; el termino programa de shell identifica un archivo que
contiene una estructura de comandos mas compleja.
Un usuario puede ejecutar un programa de shell o un script directamente
ingresando el nombre del archivo en la linea de comandos. Los programas
de la shell se tratan de la misma forma que cualquier otro ejecutable.
Por supuesto, debemos tener permiso de ejecucion sobre el archivo que
contiene el script y ademas la shell debe poder encontrar el archivo
dentro del camino de busqueda (path).
12.2 VARIABLES DE LA SHELL
Como en cualquier lenguaje de programacion, las variables de la shell
se utilizan para almacenar valores para luego poder ser utilizados. El
termino variable sugiere que el valor de la misma puede cambiar durante
el flujo de ejecucion.
Las variables de la shell solo pueden guardar cadenas de texto
(strings). Los numeros, en las variables de la shell, son almacenados
como cadenas de caracteres.
Para asignar valores a las variables utilizamos el comando de
asignacion (=). El valor almacenado en una variable se denota como
$var, donde var es la variable en cuestion. Siempre que usemos el
nombre de la variable, este denotara el nombre de la variable y no su
valor, a diferencia de la mayoria de los lenguajes de programacion.
Veamos un ejemplo de esto en la figura 12.1.
# Boca = campeon
bash: Boca: command not found
# River=campeon
# echo River
River
# echo $River
campeon
# echo $Boca
# River=Capo
# echo $River
Capo
Figura 12.1: Seteando y consultando variables de la shell.
En esta figura vemos varias cosas interesantes ( Je, je ademas de que
la shell no conoce a Boca y si a River :):
* Debemos ser cuidadosos al utilizar el comando de asignacion, ya que
la shell nos obliga a ponerlo inmediatamente depues del nombre de la
variable, ya que sino la primer palabra es interpretada como un
comando y, cuando la shell intenta ejecutarlo no lo encuentra.
* El comando echo visualiza una linea de texto en la salida estandar.
Cuando ejecutamos el primer comando echo, vemos que la linea de
texto ingresada ("River") es visualizada en pantalla. Cuando
utilizamos el simbolo $ antes del nombre de la variable River, la
shell reemplaza $River por el valor de la variable, es decir la
cadena "campeon". Esta cadena es la que es pasada como argumento al
comando y el mismo la visualiza en pantalla.
* Es muy importante comprender que la manipulacion de las vatiables y
sus valores la realiza la shell y no el comando echo.
* Una variable pierde su valor anterior si es asignada de nuevo.
* Una variable que no ha sido asignada tiene la cadena nula o vacia.
Cuando queremos asignar a una variable una cadena de caracteres que
contiene espacios debemos encerrar toda la cadena entre comillas. Vemos
un ejemplo en la figura 12.2.
# Boca=No existe
bash: existe: command not found
# Boca="No existe"
# echo $Boca
No existe
#
Figura 12.2: Utilizando comillas para asignar cadenas a las
variables.
12.2.1 EXPORTANDO VARIABLES DE LA SHELL
Las variables de la shell que creamos son locales a la shell activa a
no ser que sean exportadas explicitamente. El comando export nos sirve
para exportar variables. Con el siguiente comando podemos exportar la
variable var:
==> export var
Si ejecutamos export sin argumentos obtendremos una lista de las
variables exportadas.
Este comando solo lista las variables exportadas de la shell actual.
Una variable exportada permanece en ese estado hasta que la shell en la
que fue marcada para exportacion sea terminada.
12.2.2 VARIABLES AUTOMATICAS DE LA SHELL
Las siguientes variables son seteadas automaticamente por la shell:
$? Contiene el valor de salida retornado por el ultimo comando
ejecutado.
$$ Contiene el PID de la shell actual.
$! Contiene el PID del ultimo proceso que se invoco en background.
$# Contiene el numero de parametros que fueron pasados a la shell.
$* Contiene la lista de argumentos actual.
Estas variables pueden ser utilizadas como todas las demas. Por ejemplo
podemos utilizar la variable $$ para ver el numero de proceso de la
shell actual.
# ps
PID TTY STAT TIME COMMAND
443 1 S 0:00 /bin/login -- tony
451 1 S 0:00 -bash
462 1 S 0:00 sh /usr/X11R6/bin/startx
463 1 S 0:00 xinit /home/tony/.xinitrc --
467 1 S 0:02 wmaker
490 1 S 0:57 emacs -fn 9x15
541 p7 S 0:00 /bin/bash
594 p7 R 0:00 ps
# echo $$
541
12.2.3 VARIABLES ESTANDAR DE LA SHELL
El significado de una gran cantidad de variables ha sido estandarizado
con el paso del tiempo. Esta variables son como todas las demas, pero
tiene un significado convencional que debemos entender. Estas variables
son llamdas usualmente variables de entorno.
Podemos producir un listado de las variables actualmente asignadas con
el comando set.
Veamos un listado de ejemplo en la figura 12.3.
# set
BASH=/bin/bash
BASH_VERSION=1.14.7(1)
COLUMNS=104
DISPLAY=:0
ENV=/home/tony/.bashrc
EUID=500
HISTFILE=/home/tony/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/home/tony
HOSTNAME=tonyx
HOSTTYPE=i386
IFS=
LD_LIBRARY_PATH=/usr/local/qt/lib
LINES=24
LOGNAME=tony
MAIL=/var/spool/mail/tony
MAILCHECK=60
MANPATH=/usr/local/qt/man:/usr/man:/usr/local/man
OLDPWD=/home/tony/docs/linux
OSTYPE=Linux
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:.
PPID=490
PS1=#
PS2=>
PS4=+
PWD=/home/tony/docs/linux
SHELL=/bin/bash
TERM=dumb
UID=500
USER=tony
USERNAME=tony
Figura 12.3: Listado de variables de entorno.
La mayoria de estas variables se crean durante el proceso de inicio de
sesion (login) y son una parte muy importante de la funcionalidad del
sistema. Algunas de las variables que forman parte de la lista de la
figura 12.3 son utilizadas por uno o dos programas particulares y no
son de interes general. Vamos a detallar el significdo de las variables
que tienen una importancia vital para nuestro dialogo con Linux y para
que el trabajo de los programas y utilidades se desarrolle
exitosamente.
$HOME Contiene el nombre del directorio home del usuario. Se setea al
iniciarse la sesion y es utilizada por los programas que
necesitan acceder a archivos almacenados en nuestra parte del
sistema de archivos, por ejemplo, los programas que lee o
escriben los archivos de configuracion e inicializacion
llamados dot files, ya que comienzan con un punto y son ocultos
(.Xdefaults .bash.profile .xinitrc, etc.).
$PATH Contiene la cadena de busqueda que la shell utiliza cuando busca
los comandos a ejecutar.
$IFS Contiene los separadores internos entre campos (Internal Field
Separators), que son usualmente espacios, tabulador y nueva
linea. Los separadores de campos separan las palabras de los
comandos. La linea en blanco que se encuentra despues de IFS es
parte del valor de la variable.
$LOGNAME $USER $USERNAME Es el nombre de usuario (login). Se usan
alternativamente.
$MAIL o $MAILPATH Se utilizan si queremos ser notificados de la
llegada de nuevo correo electronico.
$MAILCHECK Es el intervalo, en segundos, entre chequeos de nuevo mail.
$SHELL Es el nombre de la shell de inicio. Es utilizada por programas
que invocan a shells interactivas para utilizar sin necesidad
de salir del programa. Un ejemplo es emacs.
$PS1 Es la cadena que la shell utiliza como prompt primario.
$PS2 Es la cadena utilizada como prompt secundario. Es utilizado
cuando la shell detecta que los comandos estan obviamente
incompletos y nos piden informacion adicional. Usualmente es un
simbolo >.
$TERM Contiene el modelo de terminal utilizado. Algunos comandos
necesitan conocer el tipo de terminal para poder generar una
salida correcta.
12.3 EL CAMINO DE BUSQUEDA (PATH)
Cuando ingresamos un comando, la primera cosa que la shell hace es
buscar el programa asociado. Pero, ¿Donde es que lo busca? Muchas
instalaciones de Linux contiene cientos de directorios y consumiria
mucho tiempo buscar en todos los directorios. Para concentrar la
busqueda, la shell del sistema mantiene un camino de busqueda (PATH),
tambien conocida como cadena de busqueda.
El PATH es una lista de directorios donde la shell busca los comandos
ingresados. Los PATH's en general contiene en directorio /bin, el
directorio /usr/bin, etc., ya que en estos directorios es donde se
encuentran los comandos y utilidades estandar.
El PATH puede ser modificado para que la shell busque en directorios
adicionales, cuando ingresamos algun comando. Si la shell no encuentra
en ninguno de los directorios el comando especificado, entonces muestra
un mensaje diciendonos que no lo pudo localizar. Podemos consultar cual
es la lista de directorios que forman parte del path ejecutando:
==> echo $PATH
Historicamente, se trataba de mantener los PATH's con una longuitud
pequeña, ya que forzaban a la shell a invertir mucho tiempo en las
busquedas, lo que terminaba resistiendo el tiempo de respuesta de la
shell. Hoy, tanto la shell de Bourne como la shell de C, operan de una
forma mas eficiente, manteniendo un "cache" de los comandos, es decir
que recuerda donde se encuentran los comandos y por lo tanto solo
realizan una sola vez la busqueda, no importa la cantidad de veces que
utilicemos el comando. Similarmente es recomendable mantener un tamaño
aceptable en los directorios donde almacenamos los ejecutables. Nos
lleva mucho menos tiempo realizar una busqueda en un directorio que
contiene solo unos pocos archivos que en un directorio que contiene
cientos de archivos.
En algunos sistemas Unix, incluyendo a Linux, el PATH no contiene al
directorio actual. Los usuarios acostumbrados a trabajar con MS-DOS se
sentirar desorientados cuando la shell les muestre un mensaje de error
diciendoles que no encontro un comando que se encuentra en el
directorio actual (suponiendo que el directorio actual no forma parte
del PATH). Para este problema tenemos dos soluciones:
1. Ejecutar cada comando del directorio actual con el agregado del
"./". Vemos un ejemplo en la figura 12.4.
# ls -l
total 1
-rwxr-xr-x 1 tony users 20 Jun 5 21:19 script1
# cat script1
echo Hola $USERNAME
# script1
bash: script1: command not found
# ./script1
Hola tony
Figura 12.4: Ejecutando un comando que se encuentra en el
directorio actual.
2. Agregar el directorio "." a nuestro PATH. Asi no importa en que
directorio estemos, siempre se incluira el mismo como parte del
PATH y la shell encontrara los comandos.
12.4 CARACTERES ESPECIALES - "QUOTING"
Desafortunadamente, muchos de los caracteres especiales utilizados por
la shell (¡, ?, -, etc.) son utilizados por otros programas. El
problema es que no hay tantos simbolos disponibles y siempre pueden
aparecer conflictos. Cuando ejecutamos comandos interactivamente o
cuando ejecutamos un script, la shell es el primer programa que recibe
el texto respectivo. Si el texto de el/los comandos contiene caracteres
especiales, estos seran interpretados por la shell, realizando, la
misma, las modificaciones necesarias. Para que la shell no interprete
estos caracteres especiales, debemos utilizar secuencias de escape. Al
proceso de utilizar secuencias de escape se lo conoce como quoting.
Cuando queremos enviar simbolos especiales a los programas, debemos
utilizar secuencias de escape. Existen tres formas de especificar
secuencias de escapes:
1. Una barra invertida (\) sirve de escape para los caracteres que la
siguen inmediatamente.
2. Todos los caracteres encerrados entre comillas simples (') se
encuentran bajo una secuencia de escape.
3. Las comillas dobles (") sirven de escape para todos los caracteres
que se encuentren entre un par de ellas, salvo los siguientes
caracteres:
$ \
Veamos varios ejemplos en la figura 12.5.
# echo $USER
tony
# echo '$USER'
$USER
# echo \$USER
$USER
# echo "$HOME"
/home/tony
# echo "ls | wc -l"
ls | wc -l
Figura 12.5: Ejemplos de la utilizacion de caracteres y
secuencias de escape.
12.5 ESTADO DE SALIDA DE LOS COMANDOS
Cada comando que ejecutamos retorna un codigo que representa el estado
de salida del comando. Cuando un comando se ejecuta exitosamente,
retorna un codigo de salida que es cero (zero exit status). Por
convencion, si un programa encuentra problemas serios en su ejecucion,
retorna un codigo de estado de salida que es distinto de cero (non-zero
exit status).
Ejemplo: Si ingresamos el siguiente comando:
==> ls -l /dev/hda
El comando retornara un codigo igual a 0, ya que el archivo que
representa al primer disco rigido de la maquina existe. Sin embargo, si
ingresamos el comando:
==> ls -l /dev/hdz
El comando retornara un codigo distinto de 0, ya que el archivo de
dispositivo especificado no existe y el comando ls encontrara el error.
La variable de entorno $? contiene el codigo de estado de salida del
ultimo comando ejecutado y podemos consultarla en caso de querer
averiguar el codigo de estado de salida de los comandos. Vemos un
ejemplo de esto en la figura 12.6.
# ls -l /dev/hda
brw-rw---- 1 root disk 3, 0 Sep 7 1994 /dev/hda
# echo $?
0
# ls -l /dev/hdz
ls: /dev/hdz: No such file or directory
# echo $?
1
Figura 12.6: Consultando el estado de salida de los comandos.
12.6 LOS ARGUMENTOS
En los programas de la shell, los argumentos de linea de comandos se
encuentran disponibles en una serie de variables numeradas. $1 es la
variable que contiene el primer argumento, $2 contiene el segundo
argumento, y asi siguiendo. Estas variables representan parametros
posicionales.
Existen dos variables especiales que representan informacion adicional
acerca de los argumentos:
* $0 Representa el valor del argumento 0 que siempre es el nombre del
programa ejecutado.
* $# Contiene el numero de parametros ingresados en la linea de
comandos.
El programa que muestra la figura 12.7 toma como entrada 4 argumentos y
como salida retorna los 4 argumentos en orden invertido. El programa
fue realizado utilizando estas variables que representan los
argumentos.
# cat reverse
if [ $# -eq 4 ]
then
echo $4 $3 $2 $1
else
echo Uso: $0 arg1 arg2 arg3 arg4
fi
# reverse
Uso: $0 arg1 arg2 arg3 arg4
# revese 12 34 56 78
78 56 34 12
#
Figura 12.7: Un programa que utiliza las variables de argumentos.
12.7 ESTRUCTURAS DE CONTROL
Como cualquier otro lenguaje de programacion, el lenguaje de
programacion de la shell nos brinda la posiblidad de utilizar
estructuras de control. En el ejemplo de la figura 12.7, vimos de forma
adelantada, el condicional if.
A continuacion veremos un resumen de las estructuras de control que
provee el lenguaje de programacion de la shell.
12.7.1 CONDICIONALES SIMPLES
Los condicionales simples son operadores que nos permiten tomar
decisiones entre las ejecuciones de los distintos comandos.
El condicional mas simple es el operador &&. Cuando dos comandos son
separados por este operador, el segundo comando se ejecutaro solo si el
primero retorna un codigo de estado de salida igual a 0 (indicando una
ejecucion exitosa).
Este operador es util para indicarle a la shell que queremos ejecutar
una secuencia de comandos, pero solo si se van ejecutando exitosamente.
En caso de que alguno falle, los demas no se ejecutaran.
En el capitulo 9 vimos que para compilar e instalar un programa debemos
ejecutar una secuencia de comandos. Podemos automatizar estos procesos
ejecutando los comandos de la siguiente forma:
==> ./configure && make && make install
De esta forma, solo se construira el programa (make) si la
configuracion (./configure) fue exitosa y solo se instalara (make
install) si se construyo correctamente.
El operador opuesto a && es ||.
Cuando dos comandos son separados por || el segundo comando se
ejecutara solo si el primero finaliza retornando un codigo de salida
distinto de 0.
12.7.2 EL CONDICIONAL IF
Los operadores && y || son utiles para crear sentencias condicionales
muy simples. La shell tiene estructuras condicionales mas sofisticadas
como puede ser el condicional if.
La sintaxis de esta estructura es:
if "listas de condiciones"
then
"listas de comandos"
elif "listas de condiciones"
"listas de comandos"
else
"listas de comandos"
fi
12.7.3 LOS LOOPS CONDICIONALES WHILE Y UNTIL
Los loops condicionales nos permiten repetir un grupo de comandos.
La sintaxis del condicional while es la siguiente:
while "lista de condiciones"
do "lista de comandos"
done
La sintaxis de until es la siguiente:
until "lista de condiciones"
do "lista de comandos"
done
12.7.4 LA SENTENCIA FOR
La sentencia for nos permite ejecutar una lista de comandos
repetidamente. Esta sentencia nos exige que le ingresemos uns lista de
palabras y ejecuta la lista de comandos una vez para cada palabra. La
forma general de la sentencia es la siguiente:
for "nombre" in "palabra1" "palabra2" ...
do
"lista de comandos"
done
La sentencia for puede ser utilizada sin la palabra "in". De esta forma
la lista de palabras automaticamente sera la lista de parametros
posicionales. Vemos un ejemplo en la figura 12.8.
# ls
comandos environ* existe* reverse* rxvt-linux*
# cat existe
for archivo
do
if test -r $archivo
then
echo $archivo existe !!!
else
echo $archivo no existe !!!
fi
done
# existe reverse comandos windows
reverse existe !!!
comandos existe !!!
windows no existe !!!
Figura 12.8: Utilizando la sentencia for con parametros posicionales.
12.7.5 LA SENTENCIA CASE
La sentencia case de la shell es una forma de elegir varios caminos de
ejecucion basandose en una comparacion por pattern matching.
Su forma general es la siguiente:
case "word" in
"pattern1") "lista de comandos" ;;
"pattern2") "lista de comandos" ;;
...
esac
12.8 EVALUACION DE CONDICIONES - TEST
El comando test es utilizado en los scripts para testear ciertas
condiciones y determinar, por ejemplo, si los archivos o directorios
existen, etc. Este comando, que viene integrado con la shell, puede ser
utilizado para realizar tres tipos de tests:
1. Puede testear los archivos para averiguar ciertas caracteristicas.
2. Puede realizar comparaciones entre cadenas.
3. Puede realizar comparaciones numericas.
El comando indica el exito o el fracaso del test utilizando su codigo
de estado de salida. La utilizacion de los crchetes es un sinonimo del
comando test. Veamos un ejemplo de la utilizacion de test en la figura
12.9.
# pwd
/home/tony/linux
# echo $HOME
/home/tony
# [ $HOME = 'pwd' ] || echo No estamos en casa ;(
No estamos en casa ;(
# cd ..
# [ $HOME = 'pwd' ] || echo No estamos en casa ;(
#
Figura 12.9: Evaluando condiciones con tets.
El set completo de opciones del comando test se muestra en la tabla 12.1.
-------------------------------------------------------------------------
Test de archivos
-b archivo Verdadero si el archivo existe y es un archivo
de dispositivo de bloque.
-c archivo Verdadero si el archivo existe y es un archivo
de dispositivo de caracter.
-d archivo Verdadero si el archivo existe y si es un
directorio.
-e Verdadero si el archivo existe.
-f Verdadero si el archivo existe y es un archivo
ordinario.
-L archivo Verdadero si el archivo existe y es un link
simbolico.
-r archivo Verdadero si el archivo existe y es posible
leerlo.
-s archivo Verdadero si el archivo existe y su longuitud
es nayor a cero.
-w archivo Verdadero si el archivo existe y es posible
escribirlo.
-x archivo Verdadero si el archivo existe y es ejecutable.
archivo1 -nt archivo2 Verdadero si el archivo 1 es mas nuevo que el
archivo 2.
archivo1 -ot archivo2 Verdadero si el archivo 1 es mas viejo que el
archivo 2.
-------------------------------------------------------------------------
Comparaciones de cadenas
-z string Verdadero si la longuitud de la cadena es 0.
string Verdadero si la longuitud de la cadenas es
mayor a 0.
string1 = string2 Verdadero si las dos cadenas son iguales.
string1 != string2 Verdadero si las dos cadenas son distintas.
------------------------------------------------------------------------
Comaparaciones numericas
-eq Igualdad (equal)
-ne Distintos (not equal)
-gt Mayor que (greater than)
-lt Menor que (less than)
-ge Mayor o igual que (greater or equal)
-le Menor o igual que (less or equal)
------------------------------------------------------------------------
Operaciones logicas
! Not (no)
-a And (y)
-o Or (o)
------------------------------------------------------------------------
Tabla 12.1: Opciones del comando test.
12.9 EVALUACION DE EXPRESIONES - EXPR
El comando expr es un programa simple que realiza operaciones
aritmeticas sobre enteros. La expresion a evaluar se provee en la linea
de comandos y expr produce la salida en la salida estandar.
Cada argumento de este comando deber ser un numero entero o un
operador. Como la mayoria de los argumentos son simbolos utilizados por
la shell, es necesario utilizar secuencias de escape.
Vemos ejemplos simples de la utilizacion de expr en la figura 12.10.
# expr 2 + 4
6
# expr 2 * 6
expr: syntax error
# expr 2 \* 6
12
# expr 4 / 2
2
# expr 5 - 4
1
Figura 12.10: Utilizando expr para evaluar expresiones.
Bueno hasta aca hemos llegado por hoy, espero que les haya gustado y
les cuento lo que veremos en la tercera y ultima entrega:
Analizamos y vemos un poco el Booteo, inicializacion y la detencion
del sistema (cap.13), tambien veremos como instalamos y configuramos
los dispositivos (cap.14), hablaremos tambien de la administracion del
sistema y de su seguridad (cap.15) y por ultimo veremos el sistema de
ventanas X WIndows (cap.16).
Bueno, nos vemos en la ultima entraga de este manual de Linux 5.0.
Espero que les haya gustado esta entrega y les sirva de ayuda
tambien.
Created By Mr. Nuk3m (
[email protected] )
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
04 ) Texto 109 del LoCo
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Bueno no se si les interese, pero senti ganas de homenajear a un
"Grande" del Cyber como lo es "El LoCo" con un texo que el publico
hace tiempo. Algunos de ustedes quizas lo conozcan, lo hayan conocido
alguna vez y otros quizas nunca habran sentido oir de el.
Dejenme decirles que fue uno de los mas grandes SysOp's de BBS's que
ha tenido este pais desde el año 1994 si mal no recuerdo y que hoy por
hoy ya no esta mas en los boards (segun me informaron hace tiempo),
pero esta en Internet y estoy seguro que le esta yendo muy bien con su
site de chat y otras cosas.
A continuacion un texto que llego a mis manos y que me hizo pensar y
seguir adelante con las cosas. Espero que lo sepan apreciar y que les
guste.
El siguiente texto aparecio en la LocoList (lista de BBS's) 109 del 24
de Abril de 1996... y empezaba pidiendo disculpas por el retraso de su
lista pero a continuacion seguia el texto que esta mas abajo.
... ...
Me gustaria que muchas personas lean lo que voy a poner a
continuacion:
Nunca dejes que alguien te tire abajo, no dejes de hacer lo que estas
haciendo si estas haciendo algo que te gusta. Siempre va a haber
alguien con ganas de joderte la vida despreciando lo que vos haces,
pero nunca dejes de creer en vos mismo y segui en lo que estas
haciendo.
Me acuerdo cuando alguien me decia que yo no servia para hacer ansis,
que me dedicara a otra cosa.. que no dibujara mas, nunca deje de
hacerlo.. eso que me dijeron una vez en vez de tirarme abajo hizo que
me esforzara mas en lo que estaba haciendo, y aca estoy. :)
Esto es un claro ejemplo de que aunque haya personas que te quieran
tirar abajo nunca lo van a poder hacer mientras vos tengas tu fuerza
de voluntad. Hay otras personas, gente que te apoya, una vez pense en
no hacer mas la LoCoList.. y saque una ultima lista, sin numero.. se
llamaba "LOCOLAST".
No pude creer la cantidad de gente que la usaba y se sintio defraudada
cuando supieron que era la ultima. Muchos me dijeron que lo que hacia
era un trabajo excelente y no entendian porque habia dejado de
hacerlo. Esas son cosas que te hacen reaccionar y seguir adelante.
Agradezco a todas esas personas que saben realmente que clase de
persona soy y me apoyaron sin dejarse desviar por otras bocas.
Si todavia seguis leyendo te repito algo muy importante: Nunca dejes
de hacer algo porque los demas digan que lo haces mal. Podes cagarlos
a todos, mejorando y demostrandoles que no era asi como ellos
pensaban. Aunque digan que no servis, segui en eso que estas haciendo
porque un dia se te va a cumplir ese sueño.
Me pondria muy bien saber que esto que escribi haya ayudado o mejorado
el estado de animo de alguna persona no solo en el mundo del
Cyberespacio, tambien en la vida real.
El LoCo (23/04/96)
Alejandro Szykula
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
05 ) Mail del lector
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Bueno parece que la gente quizas tiene un poco de miedo de escribir y
de aparacer en la seccion pero espero que para el numero 3 ya haya
algunos mail que publicar en esta seccion... La verdad quiero que
sirva para hacer contactos, me envien comentarios y pregunten cosas
que quizas pueda responder ya que no me considero un .. hacker ... y
solo hago un E-Zine que espero les sirva a todos y que podamos
aprender entre todos.
Tambien quisiera decirles que las direcciones del los e-mail de los
lectores seran tachados con xxx para evitar problemas y que los
bombarden con mensajes no deseados.. Ok.. pero si alguien quiere que
aparezca su direccion de e-mail pues solamente tendra que decirlo al
enviar el e-mail.
Escriban asi veo como anda la e-zine, que impacto tuvo y a que lugares
reconditos de habla hispana del planeta llego la ezine. En fin,
ESCRIBAN :)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
06 ) Consejos para una pagina o un sitio web
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Nota Nuk3m: Esto lo saque de algun lado y no me acuerdo de donde, asi
que perdon a quien lo escribio, pero como no tenia firma
cuano lo recibi, lo firme con mi nombre.
Este documento esta dedicado a ayudar en la construccion y el diseño de
paginas o sitios web de Internet. Es una guia de estilo y no un
tutorial de HTML debido a que ya existen excelentes referencias sobre
ello en varios idiomas.
Yo no soy de ninguna manera un experto en el diseño de HTML y que,
aunque la mayoria de los consejos que se encuentran aqui estan
documentados, algunos estan basados en mi opinon personal .
Tal vez estes de acuerdo con algunos de los consejos que doy y tal vez
no, puede ser que yo mismo cambie de idea y rompa mis propias reglas
pero bueno...nadie es perfecto.
Links (enlaces en las paginas)
Los links (enlaces, vinculos o como quieras llamarlos), son una parte
fundamental de las paginas, ya que proporcionan un medio de conexion a
otros documentos.
Por ejemplo:
"Mr. Nuk3m" hizo una pagina en español sobre el "Diseño de Paginas"
Nota Nuk3m: Para representar al links, ponga la palabra entre
"comillas".
Es preferible a:
"Presione aqui para ir a la pagina de Mr. Nuk3m"
Eleji una longitud adecuada para el Link.
Una sola palabra puede ser muy corta y carente de significado. Una
frase entera puede ser dificil de leer, especialmente si el texto ocupa
mas de una linea.
No cambies el color de los Links si no es necesario. Por conveniencia,
los Links no visitados son generalmente de un color mas brillante que
los que ya visitaste. Al cambiar esto, podrias darle dolor de cabeza a
los que usan monitor monocromatico (mm?? hay gente que usa monitores
monocromaticos todavia ??).
Longitud de las paginas
Diseña tus paginas mas o menos cortas y concisas.
Por regla general ninguna Pagina debiera exceder una pantalla y media
de longitud vertical, ya que si es muy larga, podria aburrir a los
usuarios. Esto se aplica en la mayoria de los casos, sin embargo si
tenes una pagina importante que requiera la atencion del lector, no la
hagas mayor de una pantalla. En cambio, si el contenido es interesante
y estas seguro que vale la pena extenderte mas, podes hacerlo pero
recorda que una pagina chica es mas facil de administrar y mantener.
Toma en cuenta a los diferentes monitores.
En los monitores tradicionales el area de exhibicion se mide en pixeles
(pixel, abreviatura inglesa de "picture element"). La medida estandar
es de 640x480 pixeles o bien 800x600 por lo que procura que la longitud
horizontal de tus paginas sean de 640 u 800 pixeles para asegurarte que
se despliegue correctamente en la mayoria de los monitores.
Uso adecuado de Graficos
Las imagenes pueden darle vida a una pagina y servir como una excelente
guia de informacion visual, recorda que una imagen dice mas que mil
palabras :)))
Limita la cantidad de graficos en el documento
Utiliza imagenes esporadicamente y solo si ayudan a explicar mejor un
tema o a mejorar el atractivo visual de tu pagina. Toma en cuenta que
cada grafico que agregues a tu documento aumenta el tiempo de espera
para el lector o el visitante de tu pagina.
Mantene el tamaño total de las imagenes lo mas bajo posible para
optimizar el tiempo de acceso a tu pagina, el tamaño de las imagenes no
debe sobrepasar los 30K. Si te es imperativo utilizar graficos de gran
tamaño, reduci el numero total de colores en ellas y procura que esten
en formato 'interlaced'.
Ayuda a los navegadores a minimizar el tiempo de espera.
Por regla general, siempre incluye descripciones ALT en tus imagenes.
Tambien es muy importante que especifiques el largo y ancho (HEIGHT and
WIDTH) de las mismas, lo que permitira que algunos navegadores las
carguen mas rapido.
Uso de Imagenes Mapa
Las Imagenes Mapa (image maps) proporcionan un medio valioso de
navegacion y contribuyen al atractivo visual de la pagina. Sin embargo
en algunos casos pueden confundir al usuario y no son soportadas por
todos los navegadores.
Delimita claramente las regiones "activas".
Las regiones activas de un Imagen Mapa son los puntos donde el usuario
puede seleccionar o "hacer click". Es muy importante que esten
perfectamente definidas y, de preferencia en forma de botones y
separadas una de la otra.
No olvides poner los mismos enlaces en texto. Esto ayuda a los usuarios
con navegadores sin graficos (el Lynx de Linux) o que para minimizar el
tiempo de espera los mantienen desactivados, ya que en cualquiera de
los dos casos es imposible saber que esa imagen es un Mapa y por lo
tanto no puede ser utilizada.
Uso adecuado del color
Utiliza colores contrastantes y "seguros".
Si tu pagina utiliza un fondo oscuro, usa un color claro para el texto
y si utiliza un fondo claro, usa un fondo oscuro para el texto. Tene
mucho cuidado con los tonos que vas a utilizar ya que pueden dificultar
enormemente la lectura del texto, especialmente si utilizas un tamaño
chico de letra.
La mayoria de los navegadores utiliza una paleta estandar de 216
colores llamada "Netscape Palette". Al utilizar alguno de ellos, te
estas asegurando de que los colores de tu pagina se van a desplegar de
igual manera en todos los navegadores y plataformas (PC, Mac, etc.)
Especifica un color de fondo.
Es importante que aunque tu pagina utilice una imagen de fondo, tambien
especifiques un color en el atributo BGCOLOR, ya que este se mostrara
en la pantalla inmediatamente y asi el usuario podra empezar a leer el
texto sin esperar. Ademas, esto ayuda a los usuarios con navegadores
que no soportan imagenes de fondo o que por comodidad las mantienen
desactivadas.
Estandariza los colores.
Si te es posible, trata de utilizar colores iguales o similares en
todas tus paginas. De esta forma se integraran mejor unas a las otras y
adquiriran un aspecto mas profesional.
Facilitar la navegacion.
Pone un encabezado al inicio de cada pagina.
Aunque el comando <H1> funciona de maravilla, el encabezado de tu
pagina no tiene que ser grande o estar resaltado, solo separado del
resto del texto.
Elige un buen titulo HTML para tu documento.
Es importante elegir un buen titulo HTML que refleje el contenido
general de tu pagina. Esto le ahorra tiempo a la gente que encuentra tu
pagina en un servicio de busqueda (como Yahoo, Altavista, etc.) ya que
estos generalmente lo toman como referencia.
No hagas referencia a los 'botones' del navegador.
Por ejemplo, nunca dejes un camino cerrado donde los usuarios tengan
que presionar el boton "back" o "atras" de su navegador para regresar a
la pagina anterior porque no puedes asumir que todos los navegadores
tengan ese boton.
Proporciona un link a tu pagina principal.
Debido a que tus lectores pueden provenir de cualquier otra pagina y no
necesariamente de la pagina principal, proporciona un link en texto,
grafico o boton a la misma de cada documento, asi estaras seguro que el
usuario la encontrara rapidamente.
Calidad de la pagina
Proba cada link y revisa su codigo HTML.
Si la gente encuentra callejones sin salida o links rotos puede perder
el interes en tu Pagina. Tambien toma en cuenta que si tu c≤digo HTML
no esta correcto, algunos navegadores podrian interpretarlo
incorrectamente o ignorarlo por lo que te recomiendo validarlo en uno
de los servicios gratuitos que puedes encontrar en una busqueda en
Yahoo de HTML Checkers.
Revisa la ortografia y la gramatica de tu pagina.
Si tenes algun programa que revise tu ortografia, por favor usalo. Si
no, que alguien mas revise el texto.
No utilices comandos especificos de ciertos navegadores.
Los comandos especificos no pueden ser interpretados por todos los
navegadores por lo que evitalos si te es posible. Un ejemplo de estos
comandos es la Marquesina del Internet Explorer, que solo puede ser
interpretado correctamente por dicho navegador y el comando <BLINK> de
Netscape, que ademas es muy molesto.
Contenido del documento
Revisa tu texto y borra lo que no sea necesario.
Por regla general, trata de que el texto de tu pagina sea conciso y sin
rodeos. Recorda que si el contenido de tu documento es interesante y la
estas actualizando constantemente, tus lectores la visitaran mas de una
vez. Un documento que no aporta nada no causa interes alguno.
Utiliza mayusculas y minusculas adecuadamente.
El ser humano no lee las palabras mas comunes ensamblando las letras
que la componen para formar una palabra reconocible, sino por su forma
general.
Si todo el texto de tu pagina se encuentra en mayusculas, podria
dificultar la lecura de la misma ya que en la mayoria de las fuentes
tipograficas todas las palabras tienen forma similar y monotona cuando
estan compuestas unicamente por letras mayusculas
Utilizacion correcta del lenguaje
Cuida tu lenguaje. Dependiendo del contenido de tu pagina es necesario
que observes el tipo de lenguaje que vas a utilizar tomando en cuenta a
quien va dirigido.
Palabras que, en mi opinion, deberian evitarse:
Si agregas una imagen que señale esto solo estas desperdiciando tiempo
y espacio, aunque si es aceptable y recomendable poner una seccion
donde le informes a tus lectores de cambios o actualizaciones futuras
que pretendas hacer en tus paginas.
Esta pagina se ve mejor con...: Como se recomienda en otras secciones,
no diseñes tus paginas teniendo en mente algun navegador especifico. Si
creas una pagina a la que solo se le pueda sacar el maximo provecho con
un navegador en particular, los usuarios que no lo utilicen se veran
frustrados. Mejor diseña una pagina a la que se le pueda sacar el mejor
provecho con todos los navegadores comunmente utilizados.
Bueno esto eso todo lo que les puedo decir. Es eso solamente, unas
pautas a tener en mente cuando vayas a diseñar tu pagina o tu sitio
web.
Mr. Nuk3m
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
07 ) Numeros de serie
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
A continuacion una pequeña lista con numeros de serie para registrar
programas shareware. Te pueden resultar de increible utilidad.
¡Programas completos gratis! Por que vas a pagar por algo que quizas
no sea lo que esperas... ??
o---o
| Nºs |
°---°
386 Max v7.0 : 240-104343 or 40090206002
4D Runtime 2.01 : T-302092506051
4DOS v5.00 : #/111209 code/8VS2PGCK
4th dimension 2.0.11 : D-205200607255
4th Right : V-302290527273
8 Ball Deluxe : ZJLFDN5TMAJ
o-o
| A |
°-°
ABC Flowcharter v3.0 for Windows : 0601001053909501
ABC Toolkit v1.0 for Windows : 01103158901
ABC Toolkit v1.1 for Windows : 1001001103158901
Above disk+ v4.0a : 506824
Accent for Windows : 042807358902273
Accent v2.0 final beta for Windows : 123 456 789 000 12
ACCPAC Simply Acounting v2.0a Windows : 1021602-48016
ACDsee v1.25b4 : name/letis #/+tHE riDDLER [uCF] 213111
Action workflow analyst for Windows : AA200013001W1001823
Adaptec EZ-SCSI v3.03 DOS/Win : 492848-01
Addepth for Windows : AW-100-1-2716-52987
Adobe acrobat distiler v1.0 for Win : DEE100R3001172-010-496
Adobe Acrobat reader v1.0 for Windows : ARW100R3100000-500-574
Adobe Acrobat reader v1.2 for Windows : ARM100R3100034-100-397
Adobe Acrobat v1.0 for windows : ARW100R3100230-826
Adobe Acrobat v2.0 for Windows : WVW200R3100221-398
Adobe Illustrator v4.0 for Windows : ABW400R3101335-714
Adobe Illustrator v4.01 for Windows : ABE400R3001625-858
Adobe PhotoShop : PCA 100000100-953
Adobe Photoshop v2.5 for Windows : PWW250R3000000-880
Adobe Photoshop v2.5.1 for Windows : PWW250R3104501-684
Adobe Photoshop v3.0 for Windows : PWW300R3000011-926
Adobe Photoshop v4.0 for Windows :PWW250r3107069-312
Adobe Premiere v1.0 for Windows : MBW100X3100970-389
Adobe Premiere v1.1 for Windows : MBW100D3100371-512
Adobe Premiere v4.0 for Windows : MBW400R1109394-244
Adobe Streamline v3.0 for Windows : SBW3001110706-297
Adobe Streamline v3.01 for Windows : SBW300S1100640-184
Adobe wild type : FHW251R31003373
After dark v3.0 for Windows : AD3-00670-6681 or ADW-33671-7329
Agency database v1.12c for Windows : ADW00195
Agfa Fotoflow : 410210021-086
Aldus Freehand v4.0 for Windows : 05-4002-202558479
Aldus Freehand v5.0 for Windows : 10350-0276-0089-83911
Aldus Gallery effect v1.5 for Windows : 36-1500-040049293
Aldus Persuasion v2.1a for Windows : 09-2101-200613117
Aldus Persuasion v3.0b for Windows : 09-3003-202849134
Aldus Photostyler v2.0 for Windows : 15-2000-000000000
Aldus Photostyler v2.0a for Windows : 15-0208-202570921
Aldus Photostyler v2.0SE for Windows : 15-0201-201632890
Aldus/Adobe Pagemaker v4.0 : 02-3008-000036469
Aldus/Adobe Pagemaker ENG v5.0 for Win: 03-4005-200136599
Aldus/Adobe Pagemaker NL v5.0 for Win : 02-50C8-100094310
Allfix v4.16 : name/Me #/A4009F0F2AC0ZB60A9EB2E4D
Alpha five home/business ed. v1.0 Win : Z50HBEV1-1019144
Altamira composer v1.1 PRO : 644 043 060 0036
Altos system diagnostic v1.0SO : DIAG7K_9K00004
Altos system ECU setup v1.1SO : A_ECU00246
AM Workflow v3.1 : 001169
America online v1.0 for Windows : #/69-2815-4880 pw/LARKED-MASSES
America online v1.15 for Windows : #/48-5004-6750 pw/AMBLED-ANION
America online v2.0 for Windows : #/79-0519-3782 pw/SWIMS-TAGGER
America online v2.5 beta 4 : #/10-5932-0206 pw/GOBLET-MEDIAN
Ansipaint v2.1 : name/DIR&MIR #/1216
Anyview v1.00a for Windows : AVR-100-4201975
Apple media tool v1.2 for Windows : AMT00-00000-2155073
Approach v3.0 for Windows : 1F00028-01104360
Arcserve v5.01 for Windows (10 users) : 10AS 1163609
Arcsolo v3.02 for Windows : EVSO 1231464
ARJ v2.41 : name/XXX #/12345
Astound v1.5 for Windows : 3031620659
Astound v2.0 for Windows : 3044507372
Asymetrix 3D F/X for Windows : 2011-009713
Asymetrix multimedia toolbook v3.0 : 0740-002379
Authorware PRO v2.0 for Windows : 8205-2072-3071
Authorware PRO v2.01 for Windows : 8217-4072-0086
Autocad lite for Windows : 167-10001908
Autodesk Animator PRO : 4930-P4-PH-1
Autodesk Animator PRO v1.0 : 01603-010203-2520
Autodesk Animator PRO v3.05 : 655-10000088
Autodesk Autocad data extension : 130-10083217
Autodesk Autocad lite for Windows : 167-10001908
Autodesk Autocad v.R12 : 110-10061620
Autodesk Autocad v13.0 for Windows : 70FEE2FD
Autodesk Designer learning resources : 07301-010203-4520
Autodesk Designer new fund. tools : 07300-010203-3310
Autodesk Designer training guide : 07300-010203-3010
Automanager v1.1 for Windows : 001454
Automap PRO v1.06 for Windows : 2028038
Automap v1.0 for Windows : W 12391
Automenu v1.0 for kids : 501G4-UHPMH-PCG53-S
Autoscribe v2.5 : bbs/ABC #/5804
Autosketch v2.0 for Windows : 123-12345678
Autosketch v2.10 beta for Windows : 190-00028490
Autosketch v2.x for Windows : 190-00028490
Autovision v2.0 for Windows : 5B35AE2B
Autowinnet v1.3 for Windows : AWN348CASLT101
Autowinnet v1.4 for Windows : AWN348INWUA102
AVM-ISDN-IBTX v3.0 : 2001507A
o-o
| B |
°-°
Ballade v1.0 for windows : 2004100460
Banner 3 : 507230300326
BBS Bowl v1.5 : name/Me #/17677
BGfax v1.30 : name/Me #/201258 pop/DFCA99E0
Bicycle v1.3 bike 'alog on disk : WWUXPQVYP
Bitcom v5.4c : A271113
Bitfax v3.09c : A248258
Bitfax/SR v4.06g and Bitcom v5.6d : A006844633
Blackboard : name/Me bbs/ABC key/?G49(
Blastermaster v6.x : (add to .BAT) SET SBMASTER=798-3240
Bluewave v2.12 : name/Me #/77384318
Bolo CD-version : 7000465510-LNK
Bookie Bookworm: All stories : 1-900-903-2665
Boot commander v1.27 : R302582-TTHY
Boot'R v2.11 : name/"Your own" #/RH-004001-000
Borland C++ v2.0 for OS/2 : BCP1420WW10180
Borland Office v2.0 for Windows : IA332A10046950
Bridge manager v0.33 for Windows : 373-0111-03
Buromanager PRO v3.1 : 0E01188472020
o-o
| C |
°-°
C.B.S.O v2.6 : SYSTEM
CA Simply accounting v3.0a for Win : 1021602-52559
CA Simply accounting v4.0b for Win : 1020602-212703
Calendar v3.0 enterprises : #/61001234 key/191715
Calera wordscan v3.0 : BB3921343
Calera wordscan v3.1 for Windows : HP3102305
Caligari true space v1.1 for Windows : 3 10 001 026188
Cantax for '95 v1.0 for Windows : 134-950128-0374079
Canvas for Windows : 5035430458
Canvas v3.52 for Windows : 485110842
Cardshop plus for Windows : 0729
Catdisk v7.xx : (AUTOEXEC.BAT) SET CATDISK=XYZZY
Catdisk v8.x : name/Maroon code/G445000QIR
CD-Quick cache v1.10 : NAME/**** KEY/****
CD-Quick cache v1.11 : name/Me key/DF92
CD-ROM update v0.3 beta : (CDROM.REG) name/Me bbs/XXX
Chameleon NFS morpher v4.01 : 34649640121147 S3,D7D0
Chameleon NFS v3.14 for Windows : 3433223117197 P3 C4ED
Chameleon v4.x : #/34059131041712 S3 key/A224
Chameleon NFS v4.5 : 34768840199594I3 2FA2
Cheat master (all versions) : Crea un archivo vacio llamado "A FOREST.SIG"
Check It v4.0 and v5.0 : 000-237032
Checkit PRO (analyst) for Windows : A7-100163
Checkit PRO analyst v1.0 for Windows : A7-100163
Checkit PRO sysinfo v1.0 : A1-001725
Checkit PRO v1.04 for Windows : A3-062402
Checkit PRO v1.06 or 4.0+ /Windows : A4-115796
Checkit v4.0+ : A7-100163
Chicago beta build 177 : betaside id/101907 pw/999670C9E
CICS v2.01 for OS/2 multi user : UN74786
CICS v2.01 for OS/2 single user : UN74802
Cleensweep v1.0 for Windows : 115-25C-22620
Clinical pharmacy for Windows : 9412345
Close up host/remote v6.0 for Windows : 31B57D-1121111
Closeup v5.0 for Windows : IBB463-852875
CM Viewer v3.10 : 44718494P31
Coach & Coach Pro : 1552467
Color view v3.10 : name/Twinhead [TWH/BDC] #/378839
Comma net mail v2.50 for Windows : 19211134581-6
Comment : 1897867
Compel PE : ASYM10288
Complete program deleter v1.4 for win : 728679
Conference Room vx.x (IRC SERVER) : F5EA-23E8-49D2-E689
Context v2.0 online dictionary Win : 04.4101.20
Conversions plus for Windows : 904954-2539
Conversions plus v2.0 for Windows : 11111111
Conversions plus v2.53 for Windows : 983798-0308
Cool edit v1.50 for Windows : name/You! #/BMJZCPUX
Cool edit v1.51 for Windows : name/COOL MAN #/XJMINCLE
Corel flow v2.0 for Windows : SW-Q023-CF-E
Corel Gallery v2.0 for Windows : CG2-020-123456
Corel Photopaint v5.0+ for Windows : PP5-2522-97100
Corel Ventura 5 for Windows : CD5-123-456789
Coreldraw v4.0 NL for Windows : CD4-114-654-454 or CD4-234-345-567
Coreldraw v5.0 for Windows : CD5-123-456789
Coreldraw v5.0 rev. E2 for Windows : CD5-050-118034
Corelflow v2.0 for Windows : CF2-123-456789
Corstream dedicated Server v1.0 : CBA 0009432
CPU Monitor plus v2.30 for OS/2 v2.1 : CPUP-V230-512073
Crystal Caliburn Pinball : 9525CCW102365-U1
Crystal graphics flying fonts for Win : RB10-0140-1022
CStar v1.0 for Windows : 4690289681360
CU-SEEME v3.0 : SCBTK-NPJGG-PKHEG-MJDCT-TECLM
o-o
| D |
°-°
D.B. Express v1.50 for Windows : PE15003-1194
Dabbler v1.0 for Windows : 5011380-8195
Daceasy EIS v5.0 for Windows : EI50X101175
Daceasy for Windows : WA1IB111835
Dagesh v2.0 : 334 804 020 072 125
Data access tools v2.0a for Windows : 1F00028-01104360
Data junction v5.0 for Windows : W103100217
Databoss "C" : 93-1207-000398
Databoss v1.01 for Windows : 94-0202-000361
Datacad estimator v4.2 : 5401-1092
Datacad professional v5.05 (update) : DC50C-8298
Datamaker v2.0 for Windows : 104010201F6
Davinci E-mail v2.52 : 52XVD-GBEUP-6BP3A
Daytimer organizer v1.0 for Windows : 710000000
Dazzle plus v2.1 for Windows : DP940235
Dazzle plus v2.1b for Windows : 1234567
Dbase III plus : 3745331-26
Dbase IV : KD712AA0000005
Dbase IV for Windows : DA712A1047458
Dbase IV v1.5 : WA711C10152190
Dbase IV v2.0 beta 2 : KD712AA0000005
Dbase IV v2.0 NL : WA712C50000000
Dbase IV v2.02 : IA 712A10518133
Dbase IV v5.0 for Windows : DA712A1047458
DCC PRO v3.02 : 267109015
Delrina Preform v1.0 for Windows : 2201-8201-1029
Delrina Wincom PRO v1.1 for Windows : 37Z59J
Demo workshop : Okware #/0AQ6M5RBRATPN8HN64K05I
Deneba's Canvas for Win : 450059719
Design estimator : 5055-2897
Desqview /X network manager v1.1 : 003-V1-3616
Desqview /X OSF/motif : 002-R1-1583
Desqview /X v2.0 : 754-X5X-14396
Desqview 386 & QEMM 386 : 001-32H-72414
Desqview 386 v2.61 and QEMM 386 v7.02 : 001-32H-72414
Desqview 386 v2.7 & QEMM 386 v7.5 : 114-22H-28256
Desqview/X network manager v1.1 : 003-V1-3616
Desqview/X v2.0 : 000-15X-011980
Digigrabber : 6776-3647-1143-4455
Disk management system v6.10 : 64232312
Disk manager v6.03.03 Maxtor HD : 18002629867
Disk optimizer v1.01 for Windows : 11111111
Diskdupe PRO 3 v7.x : 200-468-710
Disktop 4.0 : 06412
Distinct TCP/IP v3.21 for Windows : #/AD00081094 key/78-17-DF
Diz-it v1.3 : name/TwinHead [TWH/BDC] #/.156024
Diz-it v1.3 PRO : name/TwinHead [TWH/BDC] #/489984
DoKo for Omnis 5 runtime : DOKO
Doorway v2.22 - v2.30 : name/Me #/57604
Dr. Salomon's antivirus toolkit v6.65 : TK2285817
Dr. Salomon's antivirus toolkit v6.68 : TK2495340
Dr. Salomon's antivirus toolkit v6.71 : DTK3H-063095
Draftchoice v2.15a : #/23-4234-9999 Name/SaLaManDeR
Dream solver '95 summer edition : name/Perry McGee #/3415037668882416
Dreamrom v1.3 : name/Me bbs/XXX #/532
Drive Pro v1.15c : WBJK10
Drive PRO v2.0/2.0c : LAKS11
Drive rocket utility v1.15 : 00089549
o-o
| E |
°-°
ECCO, the PIM for Windows : 1101232620
Eclipse fax v6.0 for Windows : 105-94452
Eight ball deluxe II : EZ001114301
Elastic reality for Windows : 40-9831-11111-23361
Electronic workbench v3.0e for Win : W-00190-E99C
Empower : name/ADMINISTRATOR pw/ADMIN
Enforcer 2.9 : 876855327801
Entertainment digest for Windows : 2011-0021-3271
ESL v4.0 for OS/2 and Windows : 3091300953
Estimator plus for Windows : 5500-9466
Eta beta 2.1 for Windows : WD52-EB21-0023
Evolve v6.1 for Clipper : EVC610401762
Excalibur BBS server v0.84 for Win : 10021000002
Excalibur BBS server v0.95 for Win : 100210000020095
Exceed 4 v4.1 for Windows : W -059483
EyeCandy 3.0(plugin for adobe photoshop): IIIGEBFHMJNB <>
o-o
| F |
°-°
F(g) Scholar : FG0021747120
Falcon v3.0 : 033624
Family treemaker v1.01 for Windows : FTW11R64747
Fantasy land v1.20 : bbs/XXX sysop/Me #/ABCD8178
Fantasy photo collection for DOS/Win : 37200
Far stone cache driver v2.X : 1-10501131
Fast fonts v3.3 for Windows : 05-U08355
Fast mail v1.20 beta a for Windows : 1502909616
Fauve matisse v1.24 for Windows : 1733920
Fax for Windows v3.0 : 100401007520
Fax-a-laugh v1.0 : GB001000
Faxmaster v1.01 : 4304L-D00-999999L
Faxserver v2.0 for Netware : 20FX 985466 or EV 1213767
Fido QWK v1.25 : name/Me #/68571B8A
Fighter wing from Merrit studios : 1PKY6T89X2A
File force 1.0 : X-442540368699
File magic professional v2.0 : 16-0012025
Filecompress PRO v1.0 for Windows : 081494-001L-00P4093
Filemaker PRO NL v2.x for Windows : 7000843902
Filemark v2.00 beta : name/Me #/214180166571461814535
Final v3.0 for Windows : WFNA 106311
First aid v1.0 for Windows : 1002-0E7B
First aid v1.2c for Windows : #/1000-A1B1 pcode: AF10112C
Fixed asset system v9.41 : 3060461
Flinstone cuckoo clock for Windows : 90500100-00123
Folio viewer v3.0 for Windows : 30WVU1234567
Foxbase 1.1 : #/FMD027877 pw/EMZXPYEI
Fractal design painter v2.0 for Win : 0700585AQK
Fractal design painter v3.0 for Win : PW300RAZ0002607-EANY-001
Framebuilder for Windows : 04-0-01-01-4-0056A-916E2D
Framemaker v2.1 : 2-01320-27
Framemaker v4.02 for Windows : 00-0-01-01-4-00C2F-3C9DB0
Framework 4 : 00-0-01-01-4-0059E-2E00D2
Freehand v4.0 for Windows : 03-003-00003 or 03-921-34311
Frontdoor v2.11 : FD001123456
FrontDoor v2.20a Multi Line : name/Me s-input/34566 #/FFFF:8706
FTP-Server daemon for Winsock v1.1 Win: .Va7/onRUR./Kermu
Fusion DBL CD : 557-0251-01
o-o
| G |
°-°
Game wizard PRO v2.0b : ESD-GW-002001
Gamma universe v1.03 for Windows : UV0103-000-43LPBSW-6548
Geopublish graphic windows environment: 1000-0022-0278-1056
German translation program : 45014774
GetRight All versions: 698008401650
Gif Converter 2.1.1 : 62-37-77-F4-DE-A8-8B-B2
Giflink : #/GK123456445 name/Betamax
Giflink v2.01 : name/Me #/GK546354872
Giflite : #/GL123456689 name/Betamax
Giflite v2.0 : name/Me #/GL868695771
GifLite v2.10 : name/Me! #/GL210000698
Girlfriend Teri : 240-104343
Global war (any version) : bbs/ABC #/GQ892HIRTFG
Goldmine for Windows : 10576345
Graphics workshop : name/Me #/11811
Graphics workshop v1.1j for Windows : 65535
Graphics workshop v1.1p for Windows : name/>>>MarQuis De SoiRée<<< #26132
Graphics workshop v6.1 : name/Okware #/13845
Graphics workshop v6.x and v7.x : name/Me #/5923
Graphics workshop v7.0e : name/Me #/05889
Gravity verdict law office : GV-940606-6996-000111
Great Plains Accounting : MANAGER pw/ACCESS
o-o
| H |
°-°
Harvard graphics v3.0 for Windows : 16-0300-DSET
Harvard montage v1.0 for Windows : 27101 0001211
Help development toolkit v2.5 for Win : WQT7YZW6-HDK
Help magican PRO v3.0 for Windows : 97304.300.001
Hi-Cross v2.6 for Windows : #/67657 lic/163240
Hijaack graphics suite for Windows : HGJS 3 SU CH EB0GSWUT
Hijaack PRO v2.0 and v3.0 for Windows : RYXJ595D
Home design v1.1 for Windows : 0530140311
Hslink DLP (for Procomm+ v2.x for Win): #/0001 code/BSB258H
Hslink external : 00654
Hslink v1.21 : Hslink (brand) 1134 0136ZW0
Hslink v1.21 beta 9 : #/123 code/1E7H7P9
Hugo plus v8.0 for Windows : #/096056 code/WIFR80 1094
Hurricane v1.0 : 07-A17280
Hyperware speedkit v4.91 : SNFBBSUPD
o-o
| I |
°-°
IBM Bookmanager lib reader v2.0 Win : 5799-PXY
IBM PL/I Personal entry ver for Warp : 10H7819
IBM PL/I Professional edition for Warp: 10H7848
Ice Zmodem v1.02 : name/Potman '95 #/1306561065
Ice Zmodem v6.0 beta : name/SLA #/1-49282-84275
Idea fisher v1.0 for Windows : W12203-0512
Idea fisher v5.0 : W04044-0080
Image commander v1.0 for Windows : 100SPW3H07A10380
Image IN v3.2 : 100-05DG-0ER4
Image Q v2.2 for Windows : 901172
Imagepal : RNAE9-40302-01417
Imagination v2.2.24 : 00765
Infomodeler v1.5 desktop ver for Win : 1090-003800
Inoculan v2.5 : IL20 346002
Inspiration v4.0a for Windows : 1633D1233H4551
Integraa visual db builder v2.00 Win : 1205555057
Intel LANdesk response for Windows : 400361.001
Intellicom v2.01 beta 5 : 040994
Intergraph's Microstation : 00088193000085
Intermail v2.2x : 6A-000-001234
International OCR : A46IW331561710
o-o
| J |
°-°
Jigsaw-it v1.0 for Windows : 7104401272
Jigsoft v1.2g for Windows : 503-331
o-o
| K |
°-°
Kiwi Enveloppes 3.0 : KE301120RA
Klik & play v1.0 for Windows : KPE10001143
o-o
| L |
°-°
Labtech notebook v7.3.0 : 27539
Lahey fortran 77 v3.0b : B12858
Landmark Datasafe crashproof v2.0 Win : 00213057 CU
Landmark INI expert for Windows : 00005536X1
Landmark Speedtest v3.0 for Windows : 01703286SFW
Landmark Wintest v1.0 for Windows : 01860489 TH9
Laplink v6.0 for Windows : LW6USRT-100475-600/24
LastByte Memory Manager v2.50 : name/Me! #/9F0BF89C
Layer III : 1234DA75901230
Lemmings for Windows : 168255
Liason 2.0 : 40026825185
Light chat v1.0 : name/Me key/2482430948
Lightning CD : LC110014980
Lightning graphics C-version v4.0a : 004-922-C9D00
Liquid speed v1.0.2 for 3DS : 12900388760114244102
Locksmith v1.31 : LOCK-1000
Logitech mouse v6.30 for DOS and Win : MBAI 008965T630
Logitech mouse v6.43b for DOS and Win : MBAI 013904T643
Lotus 123 for OS/2 : 1O00003-35389080
Lotus 123 v5.0 : 2350016-38419880
Lotus 123 v5.0 for Windows : 1F00028-01104360
Lotus Approach v3.0 for Windows : 1F00028-01104360
Lotus data access tools v2.0a for Win : 1F00028-01104360
Lotus organizer v1.1 for Windows : 1Q00001-83927521
Lotus organizer v2.0 for Windows : 1F00028-01104360
Lotus screencam v1.1 for Windows : 2350016-0141988
Lotus Smartsuite v3.0 for Windows : 1S10015-08473222
Lotus VIP, visual basic type program : 1F00028-01104360
LView Pro 1C/95 : name/Nobody number/1090-000-005821
LWbull : name/Me bbs/XXX #/17961493
LWmenu : name/Me bbs/XXX #/18192757
LWuser : name/Me bbs/XXX #/18578197
LW_mgr : name/Me bbs/XXX #/18809461
o-o
| M |
°-°
Mac 2 PC PRO plus for Windows : 123456-1234
Macpassword 3.8.0 : NOV30195MAY261951
Macro model for Windows : 0428-4079-2071
Macromedia director v4.0 for Windows : DRW400-1895-9074-2077
Magic v1.33 : 15002688
MagnaRam for 95 : 011-18B-99630
Mannequin v1.1 : 10012345
Map Edit 2.2 : BJJNBKBA
Mapple V v3 for DOS and Windows : DOS-5203-676023-1
Marvel screen posters for Windows : MVW-92958-1201
Master Juggler : MVW-92958-1201
Mathcad v5.0 for Windows : P501069D00368
Mathematica v2.1 for Windows : 2549-51771-93417-6270
Mathematica v2.21 for Windows : 5870-34471-82354-3005
Matlab v4.0 for Windows : 335339
Mattise v1.5.2 : 1733767
Mayor BBS v6.25 : NWGEEGD9J
Mechwars v1.9g : sysop/Me bbs/XXX #/XA0N4TA4BUQB
Media studio beta for Windows : ABETA-40490-29051
Media studio v1.0 for Windows : NNAEA-40721-02586
Mentor plus flite star 10/93 : 9243210
Micro-scope v5.06 : MS-1231393
Microfocus/370 assembler v3.1.16 : URNB0UPP/000000000
Micrographic picture pub v5.0 for Win : NTA-NTA-01A
Microscope v5.06 : MS-1231393
Microsoft CD protection : 040-0613220
Microsoft Great greetings v1.0 for Win: 32521-082-0109954
Microsoft Money v2.01 beta for Windows: 00-105-0200-99999979
Microsoft Money v3.5 (german) for Win : 20342-066-0023392
Microsoft Office PRO '95 : 26716-103-0145657
Microsoft Office PRO v4.3c for Windows: 28779-051-0101444
Microsoft Planner for Windows : 076-051-090
Microsoft works v3.0 NL : 16429-020-0000284
Microstation : 00088193000085
Microstation CAD v5.08 for DOS and Win: 6362-CURRY-FRIKA
Microstation powerdraft CAD v5.5.0.5 : 00088193000085
Microstation v5.00.95 (5.1) : SGBXI48AB-0500A
Minitab v9.2 for Windows : W92006400
Mirage raytracing engine for 3D studio: 942559
Mirc 32 v4.52+ : D3V|L H4CK3RZ/13026-1177904
Modem docter v5.2 : M4B00635
Monarch for Windows : 1003818
Moneymap financial director for Win : password/CASH
Morphing magic : 0-672-30320-5 2
Mortice kern sys. 3.1 DOS/Win (6users): 3041129678
Multiedit v7.00e : ME700E111111
Multimedia solutions : 205521
Music magic songbook v1.0 for Windows : 932667-2198
Music time for Windows : MV20-0-02045-8738
My advanced label designer : 2223-87357
My advanced maillist and addressbook : 2123-42935
My invoices : 2643-20966
My-T-mouse v1.30 for Windows : FT 1305766
Mystery at the museums : 0340151
o-o
| N |
°-°
Natural v2.1.1 for Windows : NW12118855322257
Navcis PRO v1.5 for Windows : MC-9267
Neobook PRO v2.0b : 4711081MIQOEOB or 7753889AHULQWJ
Neopaint v1.1 : 1312649GQISPSV
Neopaint v2.0 : 2233445HPKTNSR or 9876543OVOWASP
Neopaint v2.1 : 2039485HNKZNWR
Neopaint v3.0 and v3.1 : 47110815LMPJVQ
Neoshow PRO v1.0 : 0123456THTJNQN
Neoshow PRO v2.0 : 2115868RUJISNV
Neoshow PRO v2.5 : 4711081WUIJTRC
NeoSoft phantom screensaver v1.2b : 4711081WIRJUUN
NetBus Pro 2.0 : NAG Software, Inc./FDDB7485
Netcom netcruiser v1.0 internet : 91629
Netroom v3.0 : 02-R809678
Network plus : 02-AU1-0726C-0RNR-002-20052
Neverending disk v2.1 : NDO101841
Norton administrator for networks : M5NA15XG10410213
Norton textra connect v1.1 : A7881492178
Novell DOS 7.0 personal netware v1.0 : S6-004001-001
Novell perfect office v3.0 for Windows: 1P030XW00010110Z
Novell personal netware (5 users) : 23660970
Nowhere Man's Virus Creator : ARoseIsARoseIsARose
Nupaint : 10111220
o-o
| O |
°-°
Office control-easy for Windows : 33233359
OLX Off-line xpress for Windows : 44-4444
Omnipage : 2804b-d00-999999
Omnipage 2.1 : 0102E-%001705
Omnipage PRO v5.0 for Windows : #/2804B-C000003700 pn/872-0734-020
Omnipage PRO v5.02 for Windows : 2804A-C00-073789
Omnis 5 runtime version : 11087165180
Omnis 7 v3.0 for Windows : CWRS 270836 20251 / CWRS270836 20251
Open doors v4.x - v5.x : name/Me #/0x0000E005
Outside in v2.1g for Windows :OW218312364
Outside view v3.2 for Windows : 18VS48-391
o-o
| P |
°-°
Pagemaker NL v5.0 for Windows : 02-50C8-100094310
Panoramic utils v1.1 : 111-976-0001513-01
Paper direct templ. v5.0 for Corel Win: 606771
Paper direct templ. v5.0 for MSWord v6: 608813
Paradox speller for Windows : CM55022999
Paradox v4.0 for Windows : IA931A10158034
Paradox v4.5 for Windows : IA931A10000162
PC Anywhere v4.5 for DOS and Windows : PCDH4543IN
PC Auto strecken berater netz (german): 0000108995
PC Blox v2.0 : 080594
PC Board professional v15.21 : 029617
PC Buchhalter v1.01 (german) for Win : 8848 5060295
PC Doktor v1.0 : 1139610360
PC Focus v6.01 NL : 1732221
PC Miler v1.0 for Windows : W410626
PC Tools v2.00 for Windows : 11-50-01415
PC/TCP Network v3.0 for DOS/Windows : #/1990-1025-7300 key/3751-6732-9871
PC/TCP v1.1 for Windows and DOS : #/3917-3337-0007 key/3776-9499-4365
Pckwik powerpak for DOS and Windows : 5062180192V09
PCX-DumP v9.2 : name/Me! #/YTMAR0A14DCA0EC27
Peachtree accounting for Windows : 9257595
Peachtree complete accounting v8.0 : 9005635
Peachtree v7.0 : 7807139
Perfectview NL v6.10 : PV-PAC61-260159
Perfectview v6.1 : PV-PAC61-NT260119
Pharlap TNT 32 BIT DOS extender v6.0 : 27146
Pharlap TNT 32 BIT DOS extender v7.0 : 30875
Photo magic : PH1001LXX-04526
PhotoShop Pro 3.04 : PWW300R3000011-926
Photostyler v2.0 for Windows : 15-2008-201748321
Physik v2.0 : PHYSIK+V2.0WWW94
Picture publisher v4.0 : 0301001006108501
Picture publisher v5.0 for Windows : NTA-NTA-01A
Plug-in v2.0 for Windows : 136-92031109
PMComm v2.30 32 bit for OS/2 : 4618110594
Power management v2.02 for DOS and Win: KWW687480
Power PPL v2.0 : fname/Me lname/XXX #/442:264:146
Powerdrive v6.0 for Windows : U60041006398
Practica Musica : 00215052
Premiere v1.0 for Windows : MBW100X3100970-389
Preprint : 11-1009-200021734
Procomm plus : PW10091107
Procomm plus for Windows : PW10467543
Procomm plus v2.0 : PP20116382
Procomm plus v2.0 for Windows : PPWU2000081467
Procomm plus v2.11 for Windows : PPWU2100077294
Profesional draw : 3000045840
Project manager workbench v2.0 for Win: 120344
PSearch v4.4a : name/GaRY D. [UCF] #/000000138
PTT Phonebook dec. '94 CD-ROM : D2865
PTT Phonebook sept. '94 CD-ROM : H3435
o-o
| Q |
°-°
QAPlus/FE v5.30 : 12345-6789-0
QEMM 386 V7.0 : 103-27E-53601
QEMM 386 v7.03 and v7.04 : 001-32H-72414
QEMM 386 v7.5 : 010-17F-95293
QEMM 386 v7.52 : 000-000-00009
QEMM 386 v7.53 : 001-32H-72414
QFront vx.xx : name/Me! bbs/G.!.$ #/01-0001
Qmodem : name/Me #/42646
Qmodem PRO v1.10 for Windows : 92-0069
Qmodem PRO v1.53 : 66-3454
QmodemPro for '95 : 123-456-789
Quark express v3.3 with EFI : WX-12572277
Quarterdeck InternetSuite v1.0 : 003-17J-55484
Quatro PRO v3.1 : DA246D10323488
Quatro PRO v5.0 for Windows : 1F945C10098127
Quattro PRO NL v5.0 : IA945C10033381
Query for OS/2 : 5622-118
Quick books v1.0 : 382.71.904
Quick books v3.0 for Windows : 1000164598
Quick restart v1.5 for windows : 00617051QR1
Quick time v2.0 for Windows : 040904E4
Quickbooks v3.0 for Windows : 1000164598
o-o
| R |
°-°
R&R Report writer v6.0 for Windows : 65793
Ragtime 3.0 : #/6601120 Production#/8739401
Ramexam : 5432189569
Ramexam v7.01 : 90060814060
RAR v1.54 beta : name/!YOU! #/A9BC77E742FBCA1995
Ray dream designer v3.x : DW-313-1-8686-4776
Reachout remotecontrol Pro4.04 DOS/Win: 000646264
Reachout remote control v5.0 : 1031-1100-0000-0000
Recognita plus v1.0 for Windows : A46AW422604388
Recognita plus v1.25 for Windows : A46IW422685241
Recognita v1.0 for Windows : A46AW422604388
Regognita GO-CR v2.1 : UI23C2029043
Remote access pro v2.01 : PFB7B1EF04CDD90AAC0045
Remote Access Pro v2.02 (250 nodes) : PF026549CB0002319A0045
Remove it v1.0 : 10022814
Remove It v2.0 : 20148045
Rems property manager 500 v3.0 : 92336 1/2
Renderman for Windows : 1114897156
Roadtech v1.0 : A5-171754
Rock & Bach studio v1.0 : 0247942
Route 66 for Windows : 28424XVMH0333
Route 66 for Windows benelux.map : 2316FSFE74625
Rumba mainframe connect v4.0 (4 node) : 00491097
o-o
| S |
°-°
SCO Open server v4.21 : #/2BF016051 key/UQQFGHCD
SCO Unix NFS v1.1.0 : #/ING000045 act.Key/JQQBRMYC
Second-friend v5.0 : TR5012853
Select time v2.0 : W894S91K4
Semware editor prerelease : 3001005027
Ser green screen/power saver : SKY797128
Server dat v4.0 program manager : 301062
Shadow login v1.2b : name/Me #/144901579
Shez (all versions) : CDCE1357017562
SideBar v1.0 for Windows : 000-19T-83189
Sidekick v2.0 for Windows : 32-4644
Simpson screensaver for Windows : KAW-64331-1262 or ZQW-33671-7329
Sins for sirds v1.1 for Windows : 1371078
SIO v1.45 16 port version for OS/2 : name/Joseph Urban #/10010205
Skatteprogram 94/95 v9.11 : 62-046-123456
Skullcheck v3.5 : (SKULLCHK.KEY) line #9/(Your name)
Skylight v3.0 for Windows : XXX-201258-BMAX
Smooth editor v0.99 : name/Me #/04.96.87.65.90.74
Smooth editor v1.02 : name/Me #/09.46.88.56.99.27
Snapgrafx v1.0 for Windows : 0901-0010-2844-6401
Snooper v3.30 : S112-2331
Softdesk core v7.02 unlocked : 07DCR3E 20337
Softdesk productivity tools v7.02 : 07DPP3E 20333
Softline pay CD : DFGD SCFE PQE EWX
Software caroussel v6.02 and v6.03 : 30230940
Sourcer v5.10 : B309868-YTHT or S321851-GPER
Sourcer v6.09 : SR309518-RMYR
Spectre VR (CD-version) : #/7WWD7JM3 network#/BWRK29R8
Spinrite v3.1 : E0225808
SPSS v6.1 for Windows : 945639
Stacker v1.1 for DOS and OS/2 : SI1FH361225
Stacker v4.0 for DOS and Windows : U40AA079658
Stanford graphics v3.0b for Windows : 3000394
Stardate v1.0 for Windows : LSW-83838-9710
Star Trek for After Dark : KAW-64331-1262 or BSW-83011-2400
Startrek screen posters : SPW-06753-8181
Startrek:"TNG" screen saver : ZQW-33671-7329
Storage executive v2.0 for Windows NT : 0241980001010487
Streamliner v3.01 for Windows : SBW3001100640-184
Streets on a disk v6.0 : ST40088
Streetwizard v5.0 for Windows : 24451FD
Studio 1 : 4682119240
Stuffit Deluxe 1.01 : A 09000
Styleline designer for MS Publisher : 28579-087-0113621
Super queue v3.1 for Windows : 798-310-00120
Superbase '95 v3.0 for Windows : 302010051293 or 353010020336
Superbase v2.0 for Windows : 152010055593
Supercharts v2.1g for Windows : OPQH93AG1YL3U4L
Superfax v5.0 for Windows : 110957
Superfax v5.1 for Windows : 110957
Superjam v1.0 for Windows : 01-0426310A-000267 or 26310A-000267
Superprint v3.10 : 400-310-00793
Supervoice v2.0A for Windows : 001504
Supervoice v2.0b for windows : 002846
Suretrack project manager : 73013187
System commander v1.28 : Y302121-GJRM
Sytos plus v1.4x : SPED-142SYD2-A14
o-o
| T |
°-°
Take command : #/300711 code/8C7XFRNQ
Tango PCB disk 1 : PP222X1
Tango PCB disk 2 : PP222X2
Tango PCB disk 3 : S140X1
Tango PCB disk 4 : S140X2
Tango PCB disk 5 : S140X3
TBBS v1.2 : 2310267
Telemate v4.12 : name/Me #/TM00F1C0155
Telemate v4.20 : name/Me #/TM220000703
Teles online for Windows : 900W657702504540
Teles.com v2.72 : 9302 6618 2159 1171
Telix v1.0/1.1x for Windows : W1902775-00945
Telix v1.01x for Windows : W1251600-65005
Telix v3.22 : A1058771-37419
The reader v4.01 : name/Mine key/AAAB
Thedraw v4.62 : A460-004945
Timbuktu v1.01 Remote : 3120741165
Timbuktu v1.1 for DOS and Windows : 3130078-33EC
Timbuktu v3.1 : 067-591-117-475
Time Organizer 2.0 : TMO-A011043-45
Time slips v5.0 for Windows : 5.10190000638
TKterm v0.15 : name/Me #/GCII233
Topproducer v5.0 for Windows : IS3H-081794-CAE0019264
Total access analyzer 2.02c /MSAccess : ST66162722
Total access speller 1 user /MSAccess : ST42204733
Total access statistics 1.0a /MSAccess: ST77008244
Totally twisted screensaver for Win : BII-00670-6681
Tradewars 2002 v2.0 : name/Me #/M4FE\C^JDH
Trascan v5.x : 7E-08A7-81
Treboffer v1.0 : #/622 pw/Password
Trip maker road atlas for Windows : TMD 100 100 10782
Tron v1.06 : name/Me! #/ST+44147
Troubleshooter v3.51 : 570166
True Forms 2.0 : TDA2008000217
True type effects : TEW31-13A2B-01F0KV
Truespace animation v1.0 for Windows : 310001026188
Truespace v2.0 : 3 20 004 0030567
Turbocom/2 v2.0 : 102454202
Turbofast professional v4.2d : 23-HH845
Twinbridge v3.3 for Windows : TBCWSYS9409U-109307
Typestry v1.1 for Windows : 478821383
o-o
| U |
°-°
UHS Reader v3.0 : name/Me! #/177371
UHS TSR v1.0 : name/Me! #/411321722622
Ultra compressor II archiver, r2-3 PRO: #/2650819804 code/2423
Ultra Paint : 51736
Uninstaller v2.0x for Windows : I2237533
Uninstaller v3.0 for Windows : VE18530027716
Universal VESA VBE v5.x : 10000-0991DA6B-00001
Unprotect/DOS 4.2a v646 : name/GaRY D. [UCF] #/00000000138
Usurper : name/Me bbs/XXX #/541315
o-o
| V |
°-°
Value vision personal inv. mgr v2.0 : VV-W20-2551554
Ventura publisher NL v3.0 : RWNL000029
Versions/VB v1.1 for Windows : 110020000897
VFast v2.0 beta protocol driver : VFC0D6F2
Virtus VR : I20095616
Vis PRO C/C++ for OS/2 : VPP5015436 or VPP6019281
Vis PRO rexx gold edition for OS/2 : VPR1540827
Visio 3 : 117-287-033446
Visual reality for Windows : VRW02449
Visualage team v2.0 for Windows : 17H7503
Voice type control v2.0 for Windows : 16H9-740
Vueprint v4.0 for Windows : 9202446
VuePrint v4.1 : 9202444
VuePro 32 : 8342813
VX Rexx v2.0 for OS/2 : VXR2025401
o-o
| W |
°-°
Walt Disney screensaver for Windows : DSW-30857-2768
Watcom SQL netware NLM for Windows : 31600455
Webauthor v1.0 for MS Word v6.0 /Win : 000-17N-22546
Wildcat BBS v4.0x : 95-1144
Win Poly Grab : WPG-01-002336
WinARJ : D3V|L H4CK3RZ/158544
Winbatch compiler v5.01j for Windows : #/QG017Q3U id/263324
Winbatch v5.0j for Windows : #/LG01FNT9 id/264747
Wincheckit 2.01 : A6-050152
Wincheckit Retail v2.0 : B6-019820
Wincom PRO v1.1 for Windows : 37Z59J
Windows 95 (build 490) : 100-1208613
Windows 95 v4.00.950 : 24264-425-4287696-06468
Windows 95 v4.00.950 R2 : 875-7215850
Windows 95 v4.00.950 R3/R6 : 975-4769754
Windows 95 Setup : 35202-OEM-0187462-158883
Windows draw by Micrografx : DV1001LXX10827
Windows for workgroups v3.11 : 18016-010-0187302
Winfax PRO for Windows : 1321-2123-7176
Winfax PRO v3.0 for networks Windows : server: 1100-0955-4806
Winfax PRO v3.0 for networks Windows : user: 1152-7632-1646
Winfax PRO v4.0 for networks for Win : server/1101-3405-1357
Winfax PRO v4.0 for networks for Win : user/1154-2501-7095
WinGroove : name/BJG70109 #/ZAAAAAAA
WinImage 2.10a : name/Registered Version #/8BDCDD26
Winmaster v1.5 for Windows : 4010625852V01
Win Play 3: name/ISO FreeWare #/100011-301000-5000
Winprobe v3.0 for Windows : 00065088DH9
Winprobe v3.1 for Windows : 01497186EH9
WinRAR 2.00b for Windows : D3V|L H4CK3RZ/7ECA8A997D16
Winsleuth gold plus v2.0 for Windows : 240-14256
Winsock for windows (all versions) : name/Me #/39323CC3
Winzip v5.6 for Windows : #/A04C3CCD name/Registered Version
WinZip v6.0 : D3V|L H4CK3RZ/ADF515B6
Word crazy for Windows : 942-010-397
Wordperfect v5.2 for Windows : 1WP52XW0820311
Wordperfect v6.1 for Windows : 1WP61XW0166388
Wordscan v3.0 for Windows : BB3921343
Wordstar professional v7.0 : 29015146
o-o
| X |
°-°
X-Men screensaver for Windows : AD3-00670-6681
Xargon : E20-1-3H
XDiz v1.0e : name/SoNiC (R) [UCF] #/770
Xtree PRO v1.0 : 115611
Xtree v2.0 for Windows : X711080
Xtreenet v3.0 for Windows : N524420944
XWare xvision v5.6 for Windows : #/040005100D21819 key/18748F03DA00
o-o
| Y |
°-°
Yamaha Visual Arranger for Windows 95 : 11wa00939875e
YanKees and RedNecks : You!/G.!.$/21762
o-o
| Z |
°-°
Zeno graphics superprint v3.10 : 400-310-00793
Zipchunker PRO v3.01 : #/ZCP0000000079 name/Steve Voss
Zipzap v9.01 : 991
Zweckform winform PRO v1.0 for Win : WF0440
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
8 ) Codigos de paises
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Afghanistan-Afganistan: AF
Albania: AL
Algeria-Argelia: DZ
American Samoa-Samoa Americana: AS
Andorra: AD
Angola: AO
Anguilla-Anguila: AI
Antarctica-Antartida: AQ
Antigua y Barbuda: AG
Argentina: AR
Armenia: AM
Aruba: AW
Australia: AU
Austria: AT
Azerbaijan-Azerbaiyan: AZ
Bahamas: BS
Bahrain-Bahrein: BH
Bangladesh: BD
Barbados: BB
Belgium-Belgica: BE
Belize: BZ
Benin: BJ
Bermuda-Bermudas: BM
Bhutan-Butan: BT
Bolivia: BO
Bosnia-Herzegovina: BA
Botswana: BW
Bouvet Island-Isla Bouvet: BV
Brazil-Brasil: BR
British Indian Ocean Territory
Territorio Oceanico de las Indias Britanicas: IO
British Virgin Islands
Islas Virgenes Britanicas: VG
Brunei: BN
Bulgaria: BG
Burkina Faso: BF
Burma-Birmania: BU
Burundi: BI
Byelorussian Ssr (Bielorussia)-Bielorrusia: BY
Canada CA
Canton and Enderbury Islands
Islas Canton y Enderbury: CT
Cape Verde-Cabo Verde: CV
Caroline Islands-Islas Carolina: FM
Cayman Islands-Islas Caiman: KY
Central African Republic
Republica Centroafricana: CF
Chad: TD
Chile: CL
China: CN
Christmas Island-Isla Christmas: CX
Cocos Islands-Islas Cocos: CC
Columbia-Colombia: CO
Commercial-Comercial: COM
Comoros-Comores: KM
Congo: CG
Cook Islands-Islas Cook: CK
Costa Rica: CR
Croatia-Croacia: HR
Cuba: CU
Cyprus-Chipre: CY
Czech.-Republica Checa: CZ
Czechoslovakia-Checoslovaquia: CS
Democratic Kampuchea-Kampuchea: KH
Democratic People's Republic of Korea
Corea del Norte: KP
Democratic Yemen-Yemen del Sur: YD
Denmark-Dinamarca: DK
Djibouti-Djibuti: DJ
Dominica: DM
Dominican Republic-Republica Dominicana: DO
Dronning Maud Land: NQ
East Timor-Timor Oriental: TP
Ecuador: EC
Educational Institute
Universidades Norteamericanas: EDU
Egypt-Egipto: EG
El Salvador: SV
England-Inglaterra: GB
Equatorial Guinea-Guinea Ecuatorial: GQ
Eritrea: ER
Estonia: EE
Ethiopia-Etiopia: ET
Faeroe Islands-Islas Feroe: FO
Falkland Islands-Falkland / Islas Malvinas: FK
Federal Republic of Germany
Republica Federal de Alemania: DE
Fiji: FJ
Finland-Finlandia: FI
France-Francia: FR
French Guiana-Guayana Francesa: GF
French Polynesia-Polinesia Francesa: PF
French Southern Territories
Territorios Franceses del Sur: TF
Gabon: GA
Gambia: GM
Georgia: GG
Ghana: GH
Gibraltar: GI
Greece-Grecia: GR
Greenland-Groenlandia: GL
Grenada-Granada: GD
Guadeloupe-Guadalupe: GP
Guam: GU
Guatemala: GT
Guinea: GN
Guinea-Bisseu-Guinea-Bissau: GW
Guyana: GY
Haiti: HT
Heard and Mc Donald Islands
Heard y Mc Donald, Islas: HM
Honduras: HN
Hong Kong: HK
Hungary-Hungria: HU
Iceland-Islandia: IS
India: IN
Indonesia: ID
International-Internacional: INT
Iran: IR
Iraq-Irak: IQ
Ireland-Irlanda: IE
Israel: IL
Italy-Italia: IT
Ivory Coast-Costa de Marfil: CI
Jamaica: JM
Japan-Japon: JP
Johnston Island-Johnston, Isla: JT
Jordan-Jordania: JO
Kazakhstan-Kazakstan: KK
Kenya: KE
Kiribati: KI
Kuwait: KW
Kyrgyzstan (Kirgistan)-Kirgistan: KG
Lao People's Democratic Republic-Laos: LA
Latvia-Letonia: LV
Lebanon-Libano: LB
Lesotho: LS
Liberia: LR
Libyan Arab Jamahiriya-Libia: LY
Liechtenstein: LI
Lithuania-Lituania: LT
Luxembourg-Luxemburgo: LU
Macau-Macao: MO
Madagascar: MG
Malasia: MY
Malawi: MW
Maldives-Maldivas: MV
Mali: ML
Malta: MT
Marshall Islands-Islas Marshall: MH
Martinique-Martinica: MQ
Mauritania: MR
Mauritius-Mauricio: MU
Mayotte: YT
Mexico: MX
Micronesia: FM
Midway Islands-Midway, Islas: MI
Moldova-Moldavia: MD
Monaco: MC
Mongolia: MN
Montserrat: MS
Morrocco-Marruecos: MA
Mozambique: MZ
Namibia: NA
Napal-Nepal: NP
Nato Field-Otan: NATO
Nauru: NR
Netherlands-Holanda: NL
Netherlands Antilles-Antillas Holandesas: AN
Network-Red: NET
Neutral Zone-Zona Neutral: NT
New Calidonia-Nueva Caledonia: NC
New Zealand-Nueva Zelanda: NZ
Nicaragua: NI
Niger: NE
Nigeria: NG
Niue: NU
Non-Profit Organization
Organizacion sin animo de lucro: ORG
Norfolk Island-Norfolk, Isla: NF
Northern Mariana Islands
Marianas del Norte, Islas: MP
Norway-Noruega: NO
Old Style Arpanet-Arpanet: ARPA
Oman: OM
Pacific Islands-Islas del Pacifico: PC
Pakistan: PK
Palau: PW
Panama: PA
Papua New Guinea-Papua Nueva Guinea: PG
Paraguay: PY
Peru: PE
Philippines-Filipinas: PH
Pitcairn Island-Pitcairn, Isla: PN
Poland-Polonia: PL
Portugal: PT
Puerto Rico: PR
Qatar: QA
Republic of Korea-Corea del Sur: KR
Reunion: RE
Romania-Rumania: RO
Russia-Rusia: RU
Rwanda-Ruanda: RW
Saint Lucia-Santa Lucia: LC
Saint Vincent and the Grenadines
San Vicente y las Granadinas: VC
Samoa: WS
San Marino: SM
Sao Tome and Principe-Santo Tome y Principe: ST
Saudi Arabia-Arabia Saudi: SA
Senegal: SN
Seychelles: SC
Sierra Leone-Sierra Leona: SL
Singapore-Singapur: SG
Slovakia-Eslovaquia: SQ
Slovenia-Eslovenia: SI
Solomon Islands-Islas Salomon: SB
Somalia: SO
South Africa-Sudafrica: ZA
South Georgia-Georgia del Sur: GS
Spain-España: ES
Sri Lanka: LK
St. Helena-Santa Helena: SH
St. Kitts Nevis Anguilla
San Cristobal-Nevis-Anguila: KN
St. Pierre and Miquelon
Saint Pierre y Miquelon: PM
Sudan: SD
Suriname-Surinam: SR
Svalbard and Jan Mayen Islands
Svalbard y Jan Mayen, Islas: SJ
Swaziland-Suazilandia: SZ
Sweden-Suecia: SE
Switzerland-Suiza: CH
Syran Arab Republic-Siria: SY
Taiwan: TW
Tajikistan-Tayikistan: TJ
Thailand-Tailandia: TH
Togo: TG
Tokelau: TK
Tonga: TO
Trinidad and Tobago-Trinidad y Tobago: TT
Tunisia-Tunez: TN
Turkey-Turquia: TR
Turkmenistan-Turkmenistan: TM
Turks and Caicos Islands
Turks y Caicos, Islas: TC
Tuvalu: TV
Uganda: UG
Ukrainian SSR-Ucrania: UA
United Arab Emirates-Emiratos Arabes Unidos: AE
United Kingdom-Reino Unido: UK
United Republic of Cameroon-Camerun: CM
United Republic of Tanzania-Tanzania: TZ
United States-Estados Unidos: US
United States Minor Outlying Islands
Islas exteriores menores (Estados Unidos): UM
United States Miscelaneous Pacific Islands
Islas del Pacifico de los Estados Unidos: PU
Unites States Virgin Islands-Islas Virgenes: VI
Upper Volta-Alto Volta: HV
Uruguay: UY
US Government-Gobierno Norteamericano: GOV
US Military-Organismo Militar Norteamericano: MIL
USSR-URSS: SU
Uzbekistan-Uzbequistan: UZ
Vanuatu: VU
Vatican City State-Ciudad del Vaticano: VA
Venezuela: VE
Vietnam: VN
Wake Island-Wake, Isla: WK
Wallis and Futuma Islands
Wallis y Futuna, Islas: WF
Western Sahara-Sahara Occidental: EH
Yemen-Yemen del Norte: YE
Yugoslavia: YU
Zaire: ZR
Zambia: ZM
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
9 ) Me conecte a Internet
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
..--:: Me conecte a Internet ::--..
(Solo para novatos)
By Mr. Nuk3m
Hace un tiempo, estaba navegando por internet y probando algunas cosas
con el telnet en el cybercafe, y de pronto se me ocurrio: ¿ a ver que pasa
con la direccion del server del cyber ? y probe haciendole un telnet a la
direccion del server....
Bueno me aparecio el mensaje de bienvenida y a continuacion el famoso
login y password... probe algunos logins y passwords defaults que habia
visto por algunas e-zines y despues de un rato... Ssii... aunque no lo
crean, el administrador HABIA DEJADO LA CUENTA DEL ROOT "SIN PASSWORD"..
Entre sin pensarlo y al toque, me hice una cuenta con privilegios de
root para no usar tanto la cuenta del root... La cuestion de esto es
que no hice mucho en ese momento porque no sabia mucho del tema y no
se me ocurria otra cosa que hacerme una cuenta para mi para futuras
entradas... Anduvo todo muy bien hasta que a la tercera semana de haber
creado mi cuenta cuando voy a ingresar me pone login incorrect, pruebo
unas veces y nada...¿ que paso ? el administrador se dio cuenta o lo
informaron de la intrusion y borro mi cuenta y le puso un password a la
cuenta del root y asi finalizo esta primera experiencia con el server...
Ansioso por volver a experimentar esta sensacion de no saber lo que vas
a encontrar y si realmente vas a poder "hackear" es todo un desafio y
que te motiva a seguir adelante.. lei unos articulos que hablaban de
ingenieria social y los estudie por unos dias hasta que me decidi a
empezar a recopilar informacion de cualquier manera y a cualquier costo.
Entonces cuando ya tenia mas o menos todo organizado como para hacer mi
primera ingenieria social, puse manos a la obra y llame a un chico que
yo sabia que tenia acceso a Internet mediante ese proveedor y que por
supuesto, sabia muy poco de computacion e internet...
Esta es la conversacion mas o menos como recuerdo que fue...
. Llamo a la casa del chico... ring... ring... ring....
. Atiende una mujer (supongo que era la madre) y dice..
(Victim) - " Hola "
(Nuk3m) - " Hola, que tal. Esta fulanito ? "
(Victim) - " Si ya te paso "
(Fulanito) - " Hola "
(Nuk3m) - " Ah si.. hola fulanito que tal. Soy xxx y queria saber
si sabes el numero del telefono al cual te conectas a
Internet, o sea, el numero del servidor. Porque a mi
de dieron un numero pero no me anda. No se que pasa.
Me podes decir a cual llamas vos ?? te lo agradeceria
mucho... "
(Fulanito) - " Eh... espera un poco... "
(Nuk3m) - " Bueno... :) "
. Despues de unos segundos vuelve al telefono y dice..
(Fulanito) - " Mira xxx yo me conecto usando el XXX-XXXXX fijate si te
sirve y despues me contas.."
(Nuk3m) - " Bueno.. muchas gracias... Chau..."
. Cuelgo... click...
Con la pequeña conversacion que tuve con "Fulanito" me entere de que el
numero para concetarse al server y a internet era el XXXX-XXX.... pero
ahora me faltaba una cuenta para poder entrar....
Buscando por Internet, encontre unos programitas que revelavan los
passwords que estaban ocultos con los asteriscos (***) y me los bajes
y despues le pase uno de estos programas a un amigo...
Ese dia, el administrador estaba donde estan las maquinas en el Cybercafe
y en ese entonces alguien lo llamo por telefono y yo que estaba a unos
metros de el lo escuche decir los numeros de telefonos de todos los
servers.... :))) y los anote en un .txt y me los lleve para mi casa
para guardarlos en la base de datos...
Despues de un tiempo, un poco largo de por cierto, este amigo me trajo
del server una cuenta ordinaria y el archivo shadow y el passwd para
ver si yo podia encontrar mas cuentas.... y que de por cierto encontre
unas 5 mas... junto con la que me habia traido el, teniamos en total 6
cuentas del server para explorar tranquilos.....
Decidimos un dia al tarde, tipo 8 o 9, probar algunas cuentas desde
un lugar que no tenia ninguna relacion con nosotros (por las dudas,
aunque el administrador es un TARADO). Iba todo tranquilo hasta que
de repente se corto la comunicacion y el telefono despues no anduvo por
algunos minutos... Despues probamos otra vez con la misma cuenta y
estuvimos on-line otros 30 minutos y de nuevo se corto la comunicacion..
Intentamos por tercera vez y ... BOOOMBB... Le habian cambiado el
password... Pero a mi no me importo una mierda porque tenia otras 5
cuentas para cagarlos.... Asi que intente con otra cuenta y Si...
me conecte otra vez por algunos minutos... y otra vez me desconectaron
por que se dieron cuenta en el server de que habia dos usuarios iguales.
Uno el era el verdadero usuario y el otro era yo jeje.... y asi termino
ese dia de hacking mas o menos feliz ;)
Al dia siguiente me entero de que habian detectado la intrusion al
server pero no sabian muy bien de quien o quienes se trataba. Pero el
que se entero de la intrusion al server no fue el "adminsitrador" (si
se le puede decir asi), sino un ex-colega que le informo a este del
echo y ahi trato de cerrarme todas las conexiones que yo hacia....
¿¿ Como termina esta historia ???
Muy simple, hasta el dia de hoy tengo unas de esas cuentas que pude
desifrar y que de por ciero me han servido mucho.... ;)))
Asi que ya saben... es cuestion de leer un poco, investigar, organizarse
y de a poco tendremos lo que tanto buscamos.. una conexion mas.
Nota Nuk3m: No doy a conocer las cuentas ni el server a las cuales
pertencen por dos motivos: 1. La informacion que uno tiene
es de uno y de nadie mas porque le costo mucho trabajo
conseguirla, etc... y 2. Si todos usaramos esas cuentas, las
cancelarian al poco tiempo.
Todo esta en la lectura de esta y otras e-zines, asi que LEE antes de
hacer algo. Nadie nacio sabiendo y todos tuvimos que aprender en algun
momento. Ya sea a escribir, leer, caminar y porque no, Hackear....
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
10 ) Publicidad, Links recomendados, etc
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
.............................. Nuk3m's Links ..............................
Nota Nuk3m: Las siguientes direcciones me las recomendaron, pero hasta
ahora no las he visitado por una cuestion de tiempo. Asi que
si quieren dense un vuelta por ellas y comenten que les
parecio.
Varios:
-------
http://antisocial.tsx.org/
http://www.angelfire.com/sk/lellosansone/
http://www.dplanet.ch/users/crashbandy/
http://www2.sienanet.it/users/mrzero/ftp.html
http://come.to/spaghettiphreakers
Hack:
-----
http://www.anonymizer.com
http://people.frankfurt.netsurf.de/HellRider/index.htm
http://www.ricariche.cjb.net/
http://32bit.bhs.com/default.asp
http://www.piratez.com/index2.html
http://www.admiral.ru/~geo/hacks/hack.html
http://hackerworld.isthebe.st/
http://www.hackersclub.com/km/frontpage/index.html
http://hackerzlair.org/Members/pROcon/main.html
http://members.tripod.com/~DigiTaLGhosT/hacklinks.html
http://www.hackingexposed.com/
http://www.2600.com/mindex.html
Cardz:
------
http://www.artcom.de/~karo/hpa/cards/
Crack:
------
http://www.crackstore.com/index2.htm
http://homepages.go.com/~germancorruptedkillas/down1.htm
http://www.ewsnl.com/warez/
http://www.1234.co.kr/frontpage98/crack.htm
http://flowers.pp.ru/rcz/n.shtml
http://members.tripod.it/StoLenbYTe/
http://mirror.thecrack.net/index.htm
http://servenet.net/users/welder/b.html
Phreack:
--------
http://web.tiscalinet.it/ricariche/
http://come.to/spaghettiphreakers
............................................................................
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
11 ) BBS, sinonimo de la comunicacion
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BBS, sinonimo de la comunicacion
---- -------- -- -- -------------
By Mr. Nuk3m
-- --- -----
Hoy en dia todos estan re-metidos con Windows, Internet, juegos, etc.
Pero alguien se acuerda de los famosos BBS's ? Que a mas de a uno
seguro que le ha brindado horas y horas de diversion, informacion,
etc....
Este es un articulo dedicado a aquellos que hicieron posible que
muchos de nosotros tengamos un lugar para reunirnos e intercambiar
informacion y tambien pasar el tiempo.. los BBS's junto con sus
SysOp's.
Desde hace muchos años antes de que existiera la Web, Internet y
Windows, muchisimas personas se comunicaban entre si a traves de los
BBS's (Bulletin Board Systems, algo asi como "Carteleras
Electronicas") instalados en domicilios particulares. Desde alli se
podian bajar archivos, participar de foros de discusion, chatear con
otros usuarios y tambien con el SysOp (Operador del BBS). En nuestro
pais los primeros BBS's aparecieron en los '80 y funcionaban sobre
computadoras tipo Commodore 64 con modems de 300 o 1200 Bps. Sin
embargo, la "Epoca de oro de los BBS's" tuvo lugar durante el periodo
1992-1996, epoca en la que llegaron a funcionar mas de 400 BBS en
linea distintos. Hoy casi no hay, aunque quedan muy pocos funcionando,
pero quienes los utilizan los consideran "imprescindibles".
Que es un BBS...
El funcionamiento de un bbs es muy simple: una computadora conectada a
la linea del telefono mediante un modem que atiende automaticamente
los llamados de los usuarios del sistema, quienes ingresan usando un
programa llamado terminal de comunicacion como el que tiene windows
(Hyperterminal).
Cuando un usuario se comunica a un BBS por primera vez, debe ingresar
sus datos personales y una palabra clave que usara para conectarse.
Durante el primer ingreso, el usuario no se encuentra validado por el
sistema y, por lo tanto, tendra algunas restricciones como no poder
bajar archivos, etc.
El nuevo usuario, una vez validado, podra usar por completo el BBS.
Generalmente la validacion se realiza a travez de un llamado
telefonico para confirmar los datos o bien cuando el usuario se
conecte nuevamente ya estara validado.
Con el auge de Internet, los BBS's han dejado de tener sentido para
algunos usuarios. Es una lastima que ya no se vean los BBS como hace
algunos años atras. Piensen en lo siguiente: ¿ Que pasa con la gente
que tiene un modem y que por algun motivo no tiene acceso a Internet ?
Se siente desconectados y desinformados y se pierden de vivir una
linda experiencia como lo son los boards (bbs). Que de por cierto en
su gran mayoria eran gratuitos. Salvo aquellos que eran mantenidos por
empresas.
Por ultimo quiero decirles que, como ya habran visto mas arriba, El
LoCo fue uno de los SysOp's mas importantes de la Argentina junto con
sus BBS's que puso cuando el estuvo on-line... algunos fueron:
- Zone BBS
- NeverLand
- 777
Y para aquellos que todavia se preguntan ¿ quien es El LoCo ? El LoCo
es Alejandro Szykula.. (Un Capo) que fue el SysOp mas famoso de la
Argentina desde sus comienzos con los BBS's en el año 1994.
Bueno hasta aca llegue y espero que les haya gustado y tengan en
cuenta a los bbs. Se que en España los BBS's todavia hay unos cuantos
que funcionan.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
12 ) KEVIN MITNICK: El "Hacker" mas famoso de la red
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
.-< KEVIN MITNICK: El "Hacker" mas famoso de la red >-.
"Robe centrales telefenicas enteras
solo para divertirme"
Kevin Mitnick.
El "hacker" mas famoso de la Red habla de la ultima oleada de ataques
informaticos: "No es un trabajo de autenticos hackers. Falta
sofisticacion y elegancia. Cualquier estudiante podria haberlo hecho".
NUEVA YORK.- El hombre calificado por la prensa de EEUU como el hacker
mas buscado del planeta, Kevin Mitnick, esta en la calle. Segun las
autoridades estadounidenses, es culpable de haber violado los sistemas
informaticos de mas de 35 multinacionales durante 13 años,
ocasionandoles perdidas de casi 291 millones de dolares. En su primera
entrevista tras salir de la carcel, donde ha permanecido cinco años,
ya tiene palabras para la ultima oleada de ataques a la Red: "Pudieron
ser chicos buscando emociones fuertes los que provocaron el caos en
Internet. O yuppies sin escrupulos para ganar en Bolsa, anticipandose
a la caida de valores. Lo cierto es que no es un trabajo de autenticos
hackers. Falta sofisticacion y elegancia. Cualquier estudiante podria
haberlo hecho".
Pregunta. ¿Que diferencia existe entre usted y esos hackers
aficionados?
Respuesta. Mi especialidad era copiar los masters originales de los
telefonos moviles. Estaba fascinado por las
telecomunicaciones y queria saber como funcionan por
dentro. Incluso cuando robe centrales telefonicas enteras
lo hice por divertirme y como un desafio intelectual, pero
nunca para obtener un beneficio. He llegado a conseguir los
numeros privados de las grandes estrellas de Hollywood,
desde Bruce Springsteen a Madonna. Pude haber llamado
incluso a Bill Clinton, pero no lo hice para no alertar a
los servicios secretos.
Pregunta. Segun las autoridades americanas, es usted el hacker mas
peligroso de la historia.
Respuesta. Eso es un mito, que comenzo con una serie de articulos
firmados por John Markoff en la portada de The New York
Times, llenos de acusaciones falsas y difamatorias, que mas
tarde fueron desmentidas por las propias autoridades.
Markoff me la tenia jurada porque me negue a colaborar en
su libro y creo el mito de Kevin Mitnick, para transformar
Takedown [su libro] en un bestseller.
Pregunta. ¿Por que lo persiguen entonces las autoridades?
Respuesta. Las autoridades aprovecharon la ocasion para transformarme
en el chivo expiatorio de todos los hackers de la tierra. Y
para autojustificarse, exageraron hasta lo inverosimil el
daño que pude causar, que esta muy por debajo de los
cientos de millones de dolares que el Gobierno me imputa.
Pregunta. ¿Como han llegado a imputarle esa cifra?
Respuesta. Le pidieron a las 35 compañias que les proporcionasen no
tanto las cifras de daños reales que pude haber ocasionado,
sino tambien los fondos utilizados por sus investigadores
para elaborar el software que copie, un software que nunca
vendi a nadie y del que no saque beneficio alguno. Mi
supuesto robo no ha impedido a compañias como Motorola y
Nec seguir cosechando enormes beneficios con su software.
"Nunca fui capaz de robar dinero. Y eso que hoy podria ser
multimillonario y vivir el resto de mis dias al sol del
Caribe. Pero mi conciencia me lo impidio. Y estoy orgulloso
de mi conciencia"
Pregunta. ¿Por que nunca le saco provecho a su enorme talento
informatico?
Respuesta. Porque mis valores eticos me lo impiden. Unos valores que
herede de mis padres, judios de origen ruso, que me
educaron en el rigor moral. Nunca fui capaz de robar
dinero. Y eso que hoy podria ser multimillonario y vivir el
resto de mis dias al sol del Caribe. Pero mi conciencia me
lo impidio. Y estoy orgulloso de mi conciencia.
Pregunta. Segun algunas, sus motivaciones son tambien ideologicas.
Respuesta. Confieso que no sentia remordimiento alguno cuando atacaba
a las compañias monoliticas y riquisimas, dedicadas a
extraer el maximo beneficio de sus clientes. Pero siempre
actue en solitario y nunca forme parte de un grupo
politico. Lo que me impulsaba era mas bien la euforia del
descubrimiento cientifico, el placer mental que se
experimenta cuando se resuelve un dificilisimo problema
matemetico.
Pregunta. ¿Es verdad que detras de los ultimos ciberataques hay un
movimiento juvenil de contestacion y protesta parecido al
de mayo del 68?
Respuesta. Estoy totalmente convencido de ello. Internet es un nuevo
medio de asociacion y de libertad de expresion y
pensamiento, que sera utilizado cada vez mas como una aldea
global, sobre todo en Europa, donde el activismo
informßtico es mas vivo.
Pregunta. ¿Que va a hacer ahora?
Respuesta. Me gustaria encauzar mi talento para ayudar a la comunidad
a defenderse de los hackers, pero el Gobierno me lo impide.
Las restricciones impuestas por mi libertad vigilada,
durante los proximos años, son increibles. No puedo
encontrar trabajo ni siquiera en un MacDonalds. Ni
matricularme en la Universidad o en sitio alguno donde haya
computadoras. Tambien me estan prohibidos los telefonos
moviles y las agendas electronicas. Ya comienzo a tener
crisis de abstinencia informatica.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
13 ) Glosario de Terminos Tecnicos
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
.s$ Glosario de Terminos Tecnicos $s.
By Mr. Nuk3m
Como bien dice el titulo de este articulo, a continuacion un glosario
de aquellos terminos mas usados en el ambito de la informatica e
Internet.
ADMINISTRADOR DE UNA WEB:
Operador del sistema de un sitio Web.
ANCHO DE BANDA:
Medida de capacidad de comunicacion o velocidad de transmision
de datos de un circuito o canal.
ARRASTRAR Y COLOCAR:
Concepto de GUI (Interfaz grafica de usuario) que permite
seleccionar un objeto de la pantalla y pasarlo como entrada a
otro objeto (icono).
BACKBONE:
Red de banda ancha para conexiones entre conmutadores.
BANDA AMPLIA:
Ruta/circuito de comunicaciones de capacidad media. Suele
indicar una velocidad de 64000 bps a 1544 Mbps.
BANDA ANCHA:
Ruta/circuito de comunicaciones de gran capacidad. Normalmente
implica una velocidad superior a 1544 Mbps.
BASE DE DATOS:
Conjunto de informacion para varios usuarios. Suele admitir la
seleccion de acceso aleatorio y multiples "vistas" o niveles
de abstraccion de los datos subyacentes.
BAUDIO (termino antiguo que se esta reemplazando por bps - bits
por segundo):
Numero de elementos de señalizacion que pueden transmitirse
por segundo en un circuito.
BIT:
Cantidad de informacion mas pequeña que puede transmitirse.
Una combinacion de bits puede indicar un caracter alfabetico,
un digito, una señal, un modificador u otras funciones.
BOT:
"bot" es el termino coloquial para programas que escuchan una
conversacion y responden en un canal IRC.
BPS:
Bits por segundo. Medida de velocidad de un modem.
BBS (Sistema de boletin electronico):
Boletin electronico en el que los usuarios pueden dejar
mensajes. En muchos BBS es necesario ser miembro de ellos.
CANAL:
Via (canalizacion) de telecomunicaciones con una determinada
capacidad (velocidad) entre dos ubicaciones de una red.
CAPACIDAD:
La mayor velocidad de transmision posible (fiable) que puede
darse en un canal, un circuito o una pieza de equipo. La
capacidad puede expresarse como la velocidad bruta o como el
rendimiento neto.
CATV:
Television por cable - Television por antena comunitaria. Un
sistema de television comunitaria, servida por cable y
conectada a una antena (o grupo de antenas) comun. La
legislacion federal de EE.UU. de 1994 permite a los
proveedores de CATV competir por servicios telefonicos (en la
superautopista de la informacion).
CERN:
European Laboratory for Particle Physics, el sitio donde se
celebro la primera conferencia sobre World Wide Web y
considerado el lugar de nacimiento de la tecnologia de WWW. El
trabajo sobre la tecnologia de WWW y la elaboracion de
estandares se ha trasladado a la World Wide Web Organization
(W3O, en w3.org).
http://www.cern.ch/
CGI (Interfaz de gateway comun):
Interfaz para programadores que crean archivos de comandos o
aplicaciones que se ejecutan internamente en un servidor de
Web. Estos archivos de comandos pueden generar texto y otros
tipos de datos de forma inmediata, en respuesta a una entrada
del usuario, o bien tomando la informacion de una base de
datos.
CIBERESPACIO:
Termino utilizado originalmente en la novela "Neuromante", de
Willian Gibson, sobre redes de equipos informaticos en el
cerebro. Se refiere al campo colectivo de la comunicacion
asistida mediante equipos informaticos.
COMPRESION/DESCOMPRESION:
Metodo para cifrar/descifrar señales que permite transmitir (o
almacenar) mas informacion de la que, de otro modo, podria
aceptar el soporte.
CONEXION:
Ruta de comunicaciones dedicada punto a punto o conmutada.
CONVERSACION:
Termino que se utiliza para describir una conferencia en
tiempo real. Las salas de conversaciones IRC, "WebChat",
prodigy y aol son ejemplos de "conversacion".
CUELLO DE BOTELLA:
Limite en la capacidad del sistema que puede reducir el
trafico en condiciones de sobrecarga.
DIGITAL:
Dispositivo o metodo que utiliza variaciones discretas en
voltaje, frecuencia, amplitud, ubicacion, etc. para cifrar,
procesar o transportar señales binarias (0 o 1) para datos
informaticos, sonido, video u otra informacion.
DIRECCION:
Codigo exclusivo asignado a la ubicacion de un archivo
almacenado, un dispositivo en un sistema o red, o cualquier
origen de datos de una red.
DIRECCION IP:
Direccion de 32 bits del protocolo Internet asignada a un
host. La direccion IP tiene un componente del host y un
componente de la red.
DIRECCION URL (Uniform Resource Locator):
Formato de las direcciones de sitios que muestra el nombre del
servidor en el que se almacenan los archivos del sitio, la
ruta de acceso al directorio del archivo y su nombre.
EXPLORADOR:
Programa de aplicacion que proporciona una interfaz grafica
interactiva para buscar localizar, ver y administrar la
informacion a traves de una red.
FAQ (Frecuently Ask Questions):
Preguntas mas frecuentes.
FINGER:
Protocolo que permite localizar informacion sobre los usuarios
en la red del host. Algunas redes no permiten su uso desde un
sistema externo, y otras no lo permiten en absoluto.
"FLAME WAR":
Apasionado debate en linea en el que no se incluye la
politica.
FTP (Protocolo de transferencia de archivos):
Protocolo utilizado para transferir archivos a traves de una
amplia variedad de sistemas.
GATEWAY :
Conversor de protocolos. Nodo especifico de la aplicacion que
conecta redes que de otra forma serian incompatibles.
Convierte codigos de datos y protocolos de transmision que
permiten la interoperatividad.
GIF:
Formato de intercambio de graficos. GIF es un formato estandar
para archivos de imagenes en WWW. El formato de archivos GIF
es muy comun, ya que utiliza un metodo de compresion para
reducir los archivos.
GOPHER:
Programa de busqueda y exploracion de bases de datos publicas
en Internet.
GUI (Graphic User Interfase):
Interfaz grafica de usuario.
HIPERMEDIO:
Metodo para presentar informacion en unidades discretas, o
nodos, que estan conectados mediante vinculos. La informacion
puede presentarse utilizando distintos medios, como
documentacion ejecutable, de texto, graficos, audio, video,
animacion o imagen.
HIPERTEXTO:
Describe un tipo de funcionalidad de exploracion en linea
interactiva. Los vinculos (direcciones URL) incrustados en
palabras o frases permiten al usuario seleccionar texto (p.
ej. haciendo clic con el mouse) y mostrar inmediatamente
informacion relacionada y material multimedia.
HIPERVINCULO:
Conexiones entre una informacion y otra.
HTML (Hypertext Markup Language):
Lenguaje de "etiquetas" en el que se asigna formato a las
paginas de Web y se distribuye la informacion.
HTTP (Protocolo de transferencia de hipertexto):
Metodo mediante el que se transfieren documentos desde el
sistema host o servidor a los exploradores y usuarios
individuales.
IP (Protocolo Internet):
Define la unidad de informacion enviada entre sistemas, que
proporciona un servicio de entrega de paquetes basico.
ISDN (Red digital de servicios integrados)
(Tambien llamada RDSI) Juego de normas de la transmision a
gran velocidad de informacion simultanea de voz, datos e
informacion a traves de menos canales de los que serian
necesarios de otro modo, mediante el uso de la señalizacion
fuera de banda.
JPEG:
Joint Photographic Experts Group. Se trata de un conocido
metodo para comprimir imagenes fotograficas. Muchos
exploradores del Web aceptan imagenes JPEG como el formato de
archivo estandar para la visualizacion.
LINEA DEDICADA:
Linea privada alquilada a una empresa de telecomunicaciones.
LISTSERV:
"ListServ" es un programa gratuito para automatizar el
mantenimiento y la entrega de listas de correo electronico.
Hay listas de muchos temas; algunas son "abiertas" (cualquier
persona de la lista puede enviar un mensaje a toda la lista,
como en una conversacion) y otras "cerradas" (solo
determinadas personas pueden enviar informacion a ellas).
SITIO:
Ubicacion de la direccion de un servidor en Internet.
MODEM (Modulador-Desmodulador):
Conexion del equipo del usuario final que permite transmitir
datos digitales a traves de dispositivos de transmision
analogicos, como las lineas telefonicas.
MPEG:
Moving Pictures Expert Group. Se trata de un modo estandar de
comprimir video de imagenes en movimiento.
MULTIMEDIA:
Sistemas informaticos que integran audio, video y datos.
NCSA:
El National Center for Supercomputing Applications es una
institucion de formacion. El explorador de Web Mosaic se creo
aqui.
http://www.ncsa.uiuc.edu/
PAGINA:
Documento de hipermedia en el Web.
PKZIP/PKUNZIP:
PKZIP es una utilidad compartida de compresion para PCs. Para
descomprimir estos archivos se utiliza un programa llamado
PKUNZIP.
"POP" (punto de presencia):
Conexion de acceso telefonico de los proveedores de servicios
de Internet para usuarios de modem, que se utiliza
principalmente para describir conexiones locales, de forma que
los usuarios no tengan que hacer llamadas de larga distancia.
Por ejemplo, un determinado ISP puede tener su base en San
Jose, pero tener "POP" en Los Angeles y Nueva York.
PORTADORA:
Proveedor de telecomunicaciones que posee su propio equipo de
conmutacion de redes.
PORTADORA COMUN:
(Empresa de telecomunicaciones) Portadora que sirve al publico
(o a un segmento de el) de forma indiscriminada (es decir, sin
tener en cuenta la identidad del cliente y sin discriminacion
indebida).
PPP (Protocolo punto a punto):
Conexion a Internet de acceso telefonico que utiliza el
protocolo TCP/IP; algo mas rapido que SLIP.
PRINCIPAL:
Primera pagina de un sitio, que contiene informacion de
identificacion y un indice.
PRIVILEGIOS DE ACCESO:
Privilegio para tener acceso a carpetas y hacer cambios en
ellas.
PUNTERO:
Direccion URL incrustada en los datos que especifica su
ubicacion en otro registro o archivo. El hipervinculo es un
ejemplo de puntero.
RED:
Sistema de elementos interrelacionados que se conectan
mediante un vinculo dedicado o conmutado para proporcionar una
comunicacion local o remota (de voz, video, datos, etc.) y
facilitar el intercambio de informacion entre usuarios con
intereses comunes.
ROBOT:
Los "Robots" suelen mencionarse en el contexto de WWW como
programas que se mueven por el Web buscando informacion; por
ejemplo, para crear indices en dispositivos de busqueda o
localizar errores en sitios Web o funciones similares.
SEGURIDAD:
Mecanismos de control que evitan el uso no autorizado de
recursos.
SEÑAL:
Cambio de estado orientado a eventos (p. ej. un tono, cambio
de frecuencia, valor binario, alarma, mensaje, etc.).
SERVIDOR:
En una red, estacion host de datos que proporciona servicios a
otras estaciones.
SERVIDOR DE ARCHIVOS:
Sistema informatico que permite a usuarios remotos (clientes)
tener acceso a archivos.
SGML:
Standard Generalized Markup Language. Lenguaje para la
descripcion de otros lenguajes de documentos estructurales
basados en etiquetas. Por ejemplo, el HTML esta definido
mediante el SGML.
SLIP (Protocolo Internet de linea en serie):
Conexion de acceso telefonico a Internet que utiliza el
protocolo TCP/IP.
SOPORTE:
Formato de distribucion y almacenamiento de informacion (p.
ej. cinta de video, disquete, disco optico, impresora, etc.).
Una ampliacion de la capacidad de comunicacion de la
humanidad. Es el mensaje.
SSL:
Nivel de socket de seguridad. Protocolo que utiliza Netscape
para proporcionar transacciones seguras a traves de la red.
SUPERAUTOPISTA DE LA INFORMACION
Una palabra de moda (vease tambien media, hiper...). Hace
referencia al plan de la administracion de Clinton/Gore para
liberalizar los servicios de comunicacion, permitiendo la
integracion de todos los aspectos de Internet, CATV, telefono,
empresas, ocio, proveedores de informacion, educacion, etc.
TCP/IP:
Protocolo de control de transmisiones/Protocolo Internet. Es
el protocolo estandar de comunicaciones en red utilizado para
conectar sistemas informaticos a traves de Internet.
TELNET:
Programa de red que ofrece una forma de conectarse y trabajar
desde otro equipo. Al conectarse a otro sistema, los usuarios
pueden tener acceso a servicios de Internet que quizas no
tengan en sus propios equipos.
TIEMPO REAL:
Rapida transmision y proceso de datos orientados a eventos y
transacciones a medida que se producen, en contraposicion a
almacenarse y retransmitirse o procesarse por lotes.
TRANSFERIR:
Trasladar programas o datos de equipos informaticos a
dispositivos conectados, normalmente de servidores a PCs.
USENET (USEer NETwork):
Grupos de debate de Internet. Uno de los primeros formatos de
"correo electronico colectivo". Actualmente hay unos 10000
grupos de debate diferentes.
VINCULO DE COMUNICACIONES:
Sistema de equipo y programas que conecta a dos usuarios
finales.
VRML - Virtual Reality Modeling Language:
Lenguaje de "etiquetas" en el que las paginas de Web estan
formateadas para permitir graficos en 3D y la exploracion
espacial interactiva.
WAIS (Wide Area Information Server):
Potente sistema para buscar grandes cantidades de informacion
muy rapidamente en Internet.
WAV:
"wav" es la extension que utilizan algunos archivos de audio.
WINZIP:
Winzip es un utilidad de compresion que permite a los usuarios
de Windows 95, 3.1 y NT reducir el tamaño de sus archivos para
transferirlos mas rapidamente a traves de Internet. Esta
utilidad tambien descomprime archivos comprimidos con formatos
PKZIP o TAR.
http://www.winzip.com/winzip/
WWW (World Wide Web):
Sistema de Internet para vincular mediante hipertexto en todo
el mundo documentos multimedia, permitiendo un facil acceso,
totalmente independiente de la ubicacion fisica, a la
informacion comun entre documentos.
ZIP:
Al "comprimir" (es decir, hacer una copia de menor tamaño,
pero igual) un archivo mediante "pkzip", el archivo resultante
se denomina un archivo "zip". Suele terminar con la extension
".zip".
Todo esto ya es mas que conocido, pero aun hay personas que no saben mucho
de los terminos mas usados... aunque creo que le faltarian algunos mas..
pero bueno, estos son los mas importantes.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
14 ) ¿ Miedo a los articulos o fiaca ?
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
¿ Miedo a los articulos o fiaca ?
By Mr. Nuk3m
Este articulo no tiene que ver con el hack directamente, es una pequeña
reflexion de porque hay que escribir un articulo en cualquier e-zine.
Esto viene a raiz de cuando estas hablando con alquien (principalmente en
el irc, chat o como quieras llamarlo), primero te cuenta que hice esto y
aquello y que acaba de hackear un server, asi y que..., y vos despues
pensas "Wow, como lo habra echo..." y le decis, "porque no escribis un
articulo y lo envias a una e-zine", pero te dice todo asustado: Si, pero
no me veo capaz, bla, bla, bla... y asi de esa forma otras personas se
pierden la oportunidad de aprender un poco mas.
Por eso a continuacion una serie de puntos por los cuales hay que escribir
un articulo aunque sea una vez. Hay van:
1 - Para escribir sobre alguna cosa tenes que buscar info y leer mucho,
con esto aprenderas y avanzaras en tus conocimientos.
2 - Si traducis textos en ingles, mejoraras tu ingles, algo necesario en
estos dias.
3 - Escribiendo articulos ayudaras a las e-zines para que sigan mejorando.
4 - Poco a poco, cuando la gente vaya leyendo tus articulos, sabran de tu
existencia y te iras abriendo paso en el underground y haciendo nuevos
amigos y colegas.
5 - Podes pensar que tu articulo sera muy basico pero siempre hay alguien
que sabe menos que vos.
6 - No hay articulos malos, sino poco trabajados :)
7 - Cuando la gente vea tus trabajos, te pediran consejo e incluso ofertas
de entrar en algun grupo de hack.
8 - La proliferacion de articulos en nuestra lengua, refleja el estado del
underground de habla hispana.
9 - Siempre hay sobre algo que escribir, ya sea algo nuevo o mejorar uno ya
escrito.
10 - Tendras algo que contar a tus amigos, novia!! y sobre todo, a tus
nietos ;-)
11 - Escribir no mata, quizas canse un poco. Pero quien te dice que algun
dia seras recompensado con un poco de fama y gloria ;)
Bueno, pues estos son los 11 puntos por lo que hay que contribuir en
la mejora del underground de habla hispana. Pues ya sabes a ESCRIBIR
ARTICULOS :)) o ayuda a quellas personas que hacen una e-zine con tus
articulos. Estoy seguro que lo van a apreciar.
Les cuento algo, yo antes no escribia nada de nada. Ni un solo caracter
para un articulo. Mirenme ahora, estoy escribiendo todo lo que puedo...
Bueno ya saben, ESCRIBAN y no tengan miedo al que diran de sus articulos.
Siempre lo pueden mejorar...
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
15 ) Manifiesto de un hacker novato
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Manifiesto de un hacker novato
by Silicon Dragon
Internet libre
En la vida de todo hacker siempre existe un periodo, a veces largo,
en el cual uno es un autentico novato para las cosas de internet. Que
nadie diga que no ha pasado un tiempo mas o menos largo en el cual el/ella a
sido asi.
Entrar en el mundo del Underground suele resultar dificil, no conoces
a nadie y no sabes donde buscar informacion que te permita ampliar tus
conocimientos sobre tecnicas y en fin todas esas cosas que hacen de
internet un mundo interesante y divertido. Los pasos que la mayoria de los
actuales hackers (al menos los que yo conozco) suelen ser similares, a pesar
de que entre ellos no se parezcan excepto por el hecho de gustarles nuestro
mundo, y digo nuestro mundo porque internet es el mundo del hacker, donde
nos relacionamos, pasamos buenos ratos, adquirimos conocimientos y hacemos
nuevas amistades que nos permiten seguir adelante en el mundo. Por otro
lado vosotros/nosotros/ellos, los hackers, con mas o menos conocimientos,
somos un grupo que vivimos aqui, en internet, y estamos acostumbrados a
movernos por este mundo, aqui somos los reyes en la sombra, los maestros
del bit, los luchadores por la libertad que luchan por sobrevivir ante un
concepto mal creado de que somos "criminales sin escrupulos"; FALSO!!!,
tenemos nuestra etica. Grandes compañias y grupos de intereses nos atacan e
intentan aniquilarnos utilizando para ello arcaicas leyes y concepciones
sobre el bien y el mal, pero ellos no se dan cuenta que nosotros, la tribu
del ciberespacio, tenemos el poder en nuestras manos; o mas correctamente
en nuestras mentes, libres y claras, nuestros dedos tecleando secuencias
nunca soñadas por ellos, los guardianes de la moral publica y el estado de
derecho; y nuestras computadoras, maquinas con las que entramos en este
fascinate mundo de internet, mundo de electrones corriendo por chips de
silicio y aluminio, mundo de libertad y conocimiento. INTERNET.
Todo aquel que llega o intenta llegar a ser un hacker, !A vivir en
el maravilloso mundo de internet! Sabe que no tiene que seguir unas normas,
pero comparte con el resto de la tribu un codigo por el que se rige y que
lo diferencia de los lamers, que sin tener ni idea de nada se las dan de
sabios perjudicandonos al resto y dando razones a ciertos sectores para
criticarnos, ponernos como ejemplos de mal, lanzando sobre los menos
protegidos sus perros de presa en forma de actuaciones judiciales, redadas
y como no llevandonos a juicio por socavar la economia de tal o cual
compañia a la que "nosotros" hemos perjudicado. !!!!Nosotros!!!! que
nuestro afan no es enrriquezernos como ellos hacen. !Tienen miedo! de que
les quitemos su maravilloso dinero, sus estructuras organizadas, su mundo
gris y falto de libertad. !!!!Nosotros!!!! que nos guian un afan de
superacion, de busqueda de conocimientos, !No para enrriquezernos! como
hace nuestra sociedad decrepita sino para aumnetar nuestros conocimientos
nuestra mente sin fronteras nuestra libertad. ¡¡¡¡Nosotros!!!! que buscamos
la libertad, que defendemos causas justas, que no molestamos, dañamos,
matamos..... ¡¡¡¡Nosotros!!!! esa tribu de malditos que nos temen por
nuestro poder, por las ideas que afirmamos, por nuestra libertad. Nosotros
los hackers.
Pero volvamos al tema que nos ocupa en este articulo. Me acuerdo de
cierto amigo de electrones, ¿No adivinan quien es?, al cual lo podemos
llamar el dragoncito, je je je ya se imaginan quien ;) . Bueno pues ese
amigo ,el dragoncito, era un chico, lo siento pero eso es innegable :)))) ,
que a muy tierna edad y por los azares de la vida termino un verano delante
de una computadora, una 8086 o 80186, corria el año 85 (¿¿¿hace tiempo eh???)
y sin nada por hacer, con mucho tiempo libre y algo de curiosidad, bueno
lo admito mucha :))). Bueno, ese chico aprendio lo que podria llamarse los
fundamentos de la informatica y la programacion (el BASIC ¿Vamos o crees
que empezo con ensamblador y binario?) el tiempo paso, mas o menos rapido, y
hacia el año 1995-96 empezo lo que la mayoria de la gente llamaria inicio
de una "carrera delictiva" o "fue por el mal camino" o "las malas compañias"
o "le comieron la cabeza"...... vamos tonterias. Yo diria que inicio su
vida en el fascinante mundo de internet donde todo es posible y se haya al
alcance de nuestros programitas y nuestras mentes inquietas je je o
ustedes que leen esto no creen en esta verdad.
El hecho de tener una conexion a INTERNET es una ventaja que obviamente
todos los que esten leyendo esto tienen, a los demas les cobro
derechos de autor :)))). Fue en ese momento, cuando el pequeño dragon
optuvo la conexión, cuando pudo continuar sus andanzas por el mundo de los
ordenadores, los cuales havia abandonado, porque mira que los libros de
informatica suelen ser aburridos uffffff, y ya que habia oido algo hacerca
de esos "peligrosos criminales" llamados hackers :))))))), ¿A que no sabes
que descubrio? "hey.. si no son ni criminales, ni terroristas, ni locos, ni
ladrones, son gente normal como yo!!!!" en fin la mascara con la que la
sociedad nos cubre afecta a todos... Pues bien, el amigo dragoncito, como
asi se llamaba ;) creo XDD, empezo a descubrir paginas en internet que le
daban cierta informacion, truquitos, solo a nivel educativo :)) en fin lo
que le encaminaria hacia las tinieblas( o en mi opinion hacia la luz, en
INTERNET, es decir al dominio de la web, traspaso de ficheros, telnet, port
spoofing, bugs de seguridad, passwords, root...) que le permitirian de una
manera no dañina y recalco esto no dañina aprovechar todos los recursos que
encontro en este mundo de electrones que corre a traves de lineas
telefonicas, hondas herzianas y cables de fibra de vidrio a velocidades
increibles, aumentando sus conocimientos hasta poder al fin, empezar a
conocer este nuestro mundo donde todos somos maestros y alumnos, nadie sabe
todo y de todos y en el que cualquiera (incluso los lamers) puede enseñar
algo (en el caso de los lamers lo que no debes hacer XDDDD).
Una de las primeras cosas que el y todo aspirante a hacker suelen
hacer es leer todo lo posible sobre este tema a lo largo de la red, como el
hizo, es en el unico sitio donde se encontraria la verdad sobre tecnicas,
estilos y codigos sobre nuestro/vuestro entretenimiento/trabajo/vida como
hackers, como ser que se desplaza a traves de corrientes de datos sin que
nadie pueda ni detectarlo ni pararlo, ni atacarle ni dominarlo. Lo mas
dificil (pero al alcance de todos) fue encontrar la primera pagina web
sobre este tema, ya que no suelen estar en la guia telefonica para que
cualquiera llame y pregunte como ser un hacker (los lamers intentan algo
asi XDDD) de ahi en adelante, pudo llegar a encontrar links (enlaces
burros!!!) a otras paginas y asi entrar en el entramado de los
conocimientos que se guardan en INTERNET, el mundo de electrones
representados por conjuntos de bits el cual con nuestra "magia" dominamos
y con esta energia creamos un armagedon de poder y un nuevo mundo a nuestro
antojo (que filosofico me pongo a veces :)))).
Otra de las cosas que le facilitaron el integrarse en la "tribu"
fueron unos conocimientos minimos sobre programacion, :(( si se que los
libros de programacion suelen ser aburridos, lentos y estupidos, pero hay
que joderse y aprender algo ya que es fundamental para ser un hacker, si no
conformate con ser un cracker (lo cual no es necesariamente malo), bajate
alguno de sus ficheros y rompe todo por donde pases como hizo Atila con los
Romanos (el rey de los Hunos, tribu aliada de Cartago pedazo de bestia no
es un hacker famoso :))) pero piensa que: 1- Va en contra de nuestra etica,
2- Realmente cualquiera puede hacer eso, es realmente facil bajarse archivos
de internet; 3- Eso no es propio de un hacker sino de un cracker (no son
peores pero tienen una concepcion diferente ).
Y finalmente otra de las cosas que le ayudaron fueron conocer a unos
amigos (hackers no iban a ser cocineros, con todo mis respetos a estos
ultimos :))))) que le explicaron algunas cosas y le enseñaron donde
localizar otras, la verdad es que el dragoncito es el amigo que todos
quieren, le gustaba y le gusta aprender y suele ser simpatico (Lo siento
pero su abuela no esta aqui para echarle flores :))). Por otro lado, el
IRC fue y es un buen sitio donde pedir ayuda, no siempre (o casi nunca lo
reconozco) le contestaron (en cuanto le conocieron si, es que hay mucho
IRC-COP ) pero de vez en cuando si. De paso saludos para los del canal
#hackers del IRC-hispano (donde normalmente se habla de todo menos de la
tematica del hacker, aunque te lo pasas bien je je je y a veces te ayudan,
lo digo por esperiencia son buena gente, lo malo es cuando se aburren y les
da por nukear a alguien ;) ). Pero bueno sigamos con la fucking historia...
El hecho de aprender y buscar ayuda, es si no el unico, si el mejor
camino para adentrarse en este mundo. La ayuda siempre viene bien porque me
acuerdo de lo que le paso en su primer telnet, llamando a un numero
aleatorio que se le ocurrio termino dando con una PC que cada vez que
le preguntaba algo le daba su direccion de ip (la del dragocillo) o otra
vez que mando un e-mail falso a un amigo y resulta que el servidor al que
se habia conectado escribio el nombre "supuesto" el remitente a
continuacion del real (a tomar por culo el anonimato) todo eso le paso por
no consultar a los que si que sabian eso lo nuestro es una busqueda de
informacion y que mejor forma de distribuirla que compartirla entre
nosotros que somos los mas interesados en que la informacion y la libertad
se mantenga en INTERNET.
La libertad de los hackers es fundamental para el mantenimiento de la
libertad en INTERNET. No solo entre la cultura underground sino de todos
los usuarios que utilizan este medio. Esta es la razon por lo que el
pequeño dragoncito se metio en este mundo, por la que los hackers siguen
luchando a pesar de que constantemente se les castiga desde todos los
angulos de la sociedad. El nuestro es un trabajo vital y a mi/nosotros
me/nos gusta nuestra libertad que no cambiaria por nada. En el camino para
convertirse en hackers muchos pierden el rumbo, quizas es un camino dificil,
pero merece la pena. No ir por falsos atajos se llega antes al final. Como
dijo un famoso poeta Español "Caminante no hay camino, el camino se hace al
andar". (Soy un chico culto ;) ). No somos hackers por tener los
conocimientos lo somos al investigar; al buscar nuevos conocimientos,
cuando ayudamos al nuevo a conocer el mundo, a buscar conocimientos, a
escapar del mal, a respetar el codigo; al ampliar la libertad en INTERNET
al luchar por ella contra los que intentan socavarla; al caminar; AL
HACKEAR. Hemos nacido para ello somos los paladines de una causa justa,
nadie debe cuartar nuestras libertades somos los dragones del amanecer de
una nueva epoca, nos pueden llamar malvados pero el tiempo demostrara que
hemos sido los cruzados de la causa de la libertad en INTERNET, vigilaremos
a los poderes y no les dejaremos actuar contra nuestra libertad contra
nosotros, al fin y al cabo, sabemos quienes somos y que queremos,la busqueda
del conocimiento no sera parada asi que amigos, veteranos y novatos no se
rindan a pesar de los surcos de los espacios virtuales, navegemos por
los mares del conocimiento utilizemos nuestras garras de electrones
nuestros cerebros de aluminio y silicio, y hagamos aquello que nos da la
libertad y para lo que hemos nacido: SOMOS HACKERS Y AQUI ESTAMOS.... y que
lo sepan nuestros enemigos saldremos victoriosos de las batallas, el futuro
los odiara y nos aclamara por nuestra libertad entre bites y silicio.
Debo dar las gracias a mucha gente que me ha ayudado a entrar en este
fascinante mundo, ups, digo ayudaron al dragoncito a entrar ;), algunos de
una forma activa como Bisho al cual le, otro ups el dragoncito, le debe
mucho. Otros escribiendo articulos o manteniendo paginas donde localizar
los conocimientos oscuros (je je je me he rayado) como: J.J.F./ Hackers Team,
Wakanda, Van Hackez, Saqueadores...... y muchos otros que si los pusiera
en este articulo ocuparian Mb enteros y para los que brindo mi mayor apollo
ya que sin ellos nuestro mundo no seria el mismo INTERNET no seria el mundo
de libertad que es y nosotros, la trivu, no tendriamos donde habitar
oscurecidos por los poderes malignos (ahora si que me he rayado) que
intentan doblegarnos AUNQUE NUNKA LO LOGRARAN porque soy un hacker
(novato eso si) y mi trivu me protegera y me ayudara a defenderme,
tenemos el poder y sabemos como usarlo para conservar nuestra/vuestra
libertad, SOMOS HACKERS, SOMOS LIBRES.
La distribucion de este texto es completamente libre salvo que sea
usado por fuerzas de seguridad (en cuyo caso deberan de pagar por su uso
una cantidad no inferior a $1,000,000.00) o para su uso en cualquier tipo
de juicios y ese tipo de cosas (si no lo tienes claro preguntame XDDD) en
cuyo caso los derechos del autor (yo) son los mismos que en el caso de la
policia. Para los demas con meros fines educativos y tal es gratis :))).
by Silicon Dragon
[email protected]
Nota Nuk3m: Que les parecio ??? Bueno por empezar les digo, que edite el
articulo solamente para que se vea un poco mejor y un poco mas ordenado,
y sobre todo para argentinizarlo un poco mas Ok...
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
16 ) Llave PGP
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Esta es mi nueva llave PGP. Actualiza tu llavero ok. Copia lo que esta entre
las lineas nuk3m.asc y pegalo en un .txt y guardalo como nuk3m.asc y
depues usa ese archivo con el PGP.
<----------------------------- nuk3m.asc ---------------------------------->.
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: PGPfreeware 6.5.1 Int. for non-commercial use <
http://www.pgpinternational.com>
Comment: # Mr. Nuk3m #
[email protected] # 314u.none.com.ar #
mQGiBDip5K8RBADaudodSH9gjPSPyegvNs9DyHyZwCB1YZq/FTrL/bN8IQn4cVrF
i9OI6X2YFfpYhxGr6mMi2VrWAoOrUkbubDUWfH3xYOUDMhpphXypYSvKsVpbgA4C
bWYx9GBJc/Cf2CO+X12OrtJcWaZxJuQVcD0KDw5UZ4zMbl1xNtQ9qX/XuwCg/11y
3oS11WYeqEQ6xadEwKEjYpMD/33mHAb6/Lk72AAYnXEcl6Ra9hrEcDPOdjQsvKyK
bka2pRFEFfVxV9OelGaaxy/8q4z2TXQ+ZqF6/DfUddrrw/vBGcSZfBl237YJqGtf
IFL4ffIfITlRFcUezHC/0RJEd/XfxsKmSTndziFLXflaUz/4BOOAqgh7HpMwQGN9
UPgBA/9Nls9WZNfNw3GRay3UPO/QgwszuPbRIVnzeKuzPK/UlwGV/AcFoqpMcdlw
Cf5cHLBdTZ9rLhoPHLlZgKjMu4uW22Udd92rSxcT2fEthTFUwJjwGCTopT4hH9E9
EPYkLYkz5RTgNP/MSOhdKDQvM07fDWg0sKbl4ZaO4mmGCh1UurQcTXIuIE51azNt
IDxtcl9udWszbUB1c2EubmV0PokATgQQEQIADgUCOKnkrwQLAwIBAhkBAAoJENjz
NdjgKzhgVZcAn1KnSPVRJ1a0uPej22svtdkYorkTAKDjbwf/yy5EkCUjvbbJvPfF
ejcqD7kCDQQ4qeSxEAgA9kJXtwh/CBdyorrWqULzBej5UxE5T7bxbrlLOCDaAadW
oxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1WV/cdlJPPT2N286Z4VeS
Wc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01uejaClcjrUGvC/RgBYK+X0
iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJI8BD8KVbGI2Ou1WMuF04
0zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaGxAMZyAcpesqVDNmWn6vQ
ClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6TILOwACAggAv6DuH6YJrqmw8md2
KcgSYwdZuWryAPigOtnYgwud7niTXkWMxbN7v1yxe2QMS0QKRb4dANJoy7rtcB2k
37ufWJcRoL0bQCKa2rFK7+vJkQT+r+GtS/0FqtWtU0eQCYUfV+r6zIQ1LDhOKboH
t+npgo9K6etUIPhMaz0LHoxYy2Z31DN9RteSkeUPRuOakPLqm6jO4nCyrTNGXhEO
ohxzlPKgv3fywd6wJrtd8vU2N2bixsL392a2DT0WD3dyhb1of6AYj2RQH6YPDXUv
wG1eNGibTFSUAa9tfWLCdKGZWjA273uCHPIcB47kvUc6cH+KAgzINM6E5/tHzN1R
yf5n/IkARgQYEQIABgUCOKnksQAKCRDY8zXY4Cs4YKiJAJ4hTKwrpMyjSCbCmaQo
52G+xcOOWgCdFvH0bwDd2WWMmEG9deqh6JbK9Dk=
=1Ocg
-----END PGP PUBLIC KEY BLOCK-----
°<----------------------------- nuk3m.asc ---------------------------------->°
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
17 ) Despedida
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Bueno asi llegamos al fin del numero 2 de CIA Magazine. Me apena un poco
no haber podido poder haber publicado algun mail de los lectores, pero esta
bien ya que la revista es muy nueva y no tiene mucha difusion todavia.
Pero espero que para el tercer numero ya haya recibido algunos mails.
Espero recibir colaboraciones para poder sacar CIA numero 3 lo mas pronto
posible en Abril, ya que este numero esta casi totalmente lleno de articulos
mios a falta de articulos de colaboradores o de alguien que quiera que
publique un articulo suyo en el e-zine.
Como ven no me he quedado en el primer numero de la e-zine. He empezado
bien, me gusta lo que hago y lo seguire haciendo; a pesar de que mucha
gente quizas no tome en serio o talvez no quiera tomar en cuenta la e-zine
por ser muy nueva y realmente no me importa, por que seguire trabajando
para todo aquel que quiera aprender, empezara a acrecer con la ayuda de
nuestros lectores, quizas ya hay gente que ya nos conoce por medio
del primer numero y tambien en nuestro pais ...
En el numero 3 entregare la ultima parte del manual de Linux 5.0, cosa que
que creo es de bastante interesante ... talvez algunos truquitos para el
Windows 95/98, articulos de nuestros lectores, bueno quien sabe, se me
olvidan varias cosas. Bueno y un monton mas de cosas que pretendo cumplir
para el proximo numero de la e-zine. Les digo que no escriban nada delicado
en los mails que envien... porque recuerden que podemos estar siendo
observados !!!! y por ese motivo les recomiendo que usen el PGP... de
este programa hablaremos tambien en CIA Magazine N°3.
Y como siempre, estoy dispuesto a recibir sus opiniones, datos, noticias o
lo que sea, al final para eso estan las e-zines o no !!!!...
Bueno ya se me vienen las clases de la UNI otra vez y espero poder sacar
el e-zine a tiempo.... y si alguno de nuestro lectores quiere formar
parte del CIA Team de la e-zine que me avise asi queda confirmado como un
editor oficial de la revista que bien podra responder los mail que los
lectores nos acerquen y que tambien podria llevar adelante una seccion de
la revista sobre algun tema del cual sepa mucho o le interese....
La proxima e-zine, como ya dije arriba, saldria los primeros dias de Abril.
Un saludo a todos los lectores y espero volver a verlo en el numero 3...
Bytes....
Mr. Nuk3m
[email protected]
CIA Magazine
[email protected]
8 de Marzo del 2000
=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-=[%]=-