Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Download
Standard view
Full view
of .
Look up keyword
Like this
3Activity
0 of .
Results for:
No results containing your search query
P. 1
Historia y Trucos de La Consola GNU%2fLinux

Historia y Trucos de La Consola GNU%2fLinux

Ratings:

4.0

(1)
|Views: 69|Likes:
Published by api-26907686

More info:

Published by: api-26907686 on Oct 18, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/09/2014

pdf

text

original

Historia y trucos de la Consola GNU+Linux
Autor: Arturo 'Buanzo' Busleiman <buanzo@buanzo.com.ar>

Ante todo quiero mencionar el orgullo que representa para mi el escribir un art\u00edculo para una revista Espa\u00f1ola, especialmente SoloLinux, la cual es reconocida en mi pa\u00eds de origen, Argentina. Adicionalmente, deseo dedicar este art\u00edculo a mi hermano del alma, Matias, quien lleg\u00f3 a vuestro pa\u00eds en Octubre. Y ahora, los invito a continuar leyendo esta rese\u00f1a de la hist\u00f3ria de GNU+Linux, sus conceptos clave y, por supuesto, comandos. Esta gu\u00eda no intenta ser la t\u00edpica gu\u00eda sobre comandos en GNU+Linux, resumiendo nombre y descripci\u00f3n del comando, sino que tratar\u00e9 de transmitirles conceptos importantes de todo Unix junto con algunos comandos de ejemplo. Por supuesto, agregar\u00e9 una tabla de comandos y su descripci\u00f3n... pero luego de aclarar todos los conceptos. Que la disfruten!

Un poco de historia...

Corr\u00eda el a\u00f1o 1965, y en los Laboratorios Bell se utilizaba el sistema operativo Multics, siglas de Multiplexed Information and Computing Service (Servicio Multiplexado de Informaci\u00f3n y Computaci\u00f3n). Decidieron descartarlo en 1969, para reemplazarlo por GECOS. Alli aparecen nuestros h\u00e9roes Ken Thompson y Dennis Ritchie, que deseaban fervientemente poder jugar al Space Travel en una PDP-7 por DEC. Tuvieron que reescribir un sistema operativo completo para este ordenador tan peque\u00f1o. Lo denominaron UNICS, siglas de Uniplexed Information and Computing Service. Claro est\u00e1, el nombre es un chiste, como lo fue el desarrollo del sistema operativo, tan solo para jugar un juego en una DEC PDP-7. Unix, finalmente, fue desarrollado durante el verano norte-americano de 1969.

Finalmente, en 1971 se libera la primera versi\u00f3n de Unix! Entre sus comandos b\u00e1sicos se encuentran: b, utilizado para compilar programas escritos en dicho Lenguaje B. Entre los cl\u00e1sicos, se pod\u00edan encontrar a cat, chdir, chmod, chown, cp, ls, mv, wc, who. Es muy interesante destacar un detalle curioso: La mayor\u00eda de los comandos son abreviaciones de palabras en idioma Ingl\u00e9s: cp, por CoPy (copiar), mv por MoVe (mover), ls por LiSt (listar), wc por Word Count (contar palabras). \u00bfY saben por qu\u00e9 esto es as\u00ed? Ubiquense en la \u00e9poca! Los sistemas de transmisi\u00f3n de datos eran terriblemente lentos, la respuesta de los sistemas al 'input' de un usuario era a\u00fan mas lenta. Imag\u00ednense tener que tipear comandos con nombres, por ejemplo, como "changemode", "changeowner", o "connectedusers". Si m\u00e1s de una vez nos equivocamos al tipear comandos cortos, imag\u00ednense tipear confiados, y presionar ENTER al finalizar una secuencia que a\u00fan no aparec\u00eda en nuestra terminal... para d\u00e1rnos cuenta de que hemos cometido un error de sint\u00e1xis! De esta forma, hasta el d\u00eda de hoy se mantiene el concepto de utilizar acr\u00f3nimos o abreviaciones para comandos t\u00edpicamente tipeados en una consola o xterm, como por ejemplo 'joe' por "Joe's Own Editor", un excelente editor de texto para la consola. Una excepci\u00f3n claramente vinculada con el entorno gr\u00e1fico puede ser KDE: Comandos como 'konqueror', 'korganizer', 'kontact' y 'konsole' nos dan una idea.

Continuando con nuestra hist\u00f3ria, a\u00f1o y medio despu\u00e9s de la publicaci\u00f3n del GNU Manifesto en 1985 comienza el Proyecto GNU, liderado por Richard Mathew Stallman, a quien probablemente ya conozcan. El objetivo del GNU Project era el de desarrollar un sistema operativo Libre, que respetara las 4 libertades b\u00e1sicas: La libertad 0, de ejecutar un programa, por el prop\u00f3sito que sea. La libertad 1, de estudiar y/o analizar c\u00f3mo funciona un programa, d\u00f3nde el acceso al c\u00f3digo fuente es una condici\u00f3n previa. La libertad 2, de redistribuir copias para ayudar a quienes no puedan obtenerlas y por \u00faltimo la libertad 3, de poder mejorar el programa y

redistribuirlo para el beneficio de la comunidad. Otra vez, el acceso al c\u00f3digo fuente
es una condici\u00f3n previa.

Este sistema operativo libre estar\u00eda basado en Unix. El \u00fanico problema es que el Proyecto GNU no empez\u00f3 por un Kernel, n\u00facleo de un sistema operativo, y en 1991 Linus Torvalds present\u00f3 un kernel propio, denominado Linux. Los hackers comenzaron a vincular las aplicaciones del proyecto GNU (compiladores, editores de texto, herramientas de administracion de archivos, etc) junto con este Kernel Linux, y as\u00ed comenz\u00f3 la vida de la pareja m\u00e1s famosa de la historia... al menos de la hist\u00f3ria que nos interesa en esta revista!

De esta forma llegamos al sistema operativo GNU+Linux de nuestros amores:
Comencemos ahora a conocer mejor su consola, comandos y al shell Bourne Again!
Caracter\u00edsticas de Linux

Linux, como todo Unix que se precie, es Multitarea, Multiusuario y es implementado bajo el concepto primordial de que "Todo es un Archivo". De esta forma, los dispositivos de entrada/salida, almacenamiento y las conecciones de red son tratados como archivos. Linux, a su vez, extiende el concepto presentando a ciertas estructuras y variables internas del Kernel como archivos y directorios. De esta forma se pueden modificar o accesar par\u00e1metros de funcionamiento del sistema, tanto en forma manual como program\u00e1tica. Estoy hablando del directorio "/proc", que utiliza el pseudo-sistema de archivos "procfs". Una vez que les presente los comandos b\u00e1sicos para navegar la estructura de directorios y leer archivos del sistema podr\u00e1n descubrir una gran cantidad de informaci\u00f3n muy \u00fatil, tal vez no tanto en sus primeros pasos con el sistema a bajo nivel, pero que si deciden orientarse a la seguridad inform\u00e1tica o la programaci\u00f3n en Linux les ser\u00e1n de gran utilidad.

Todo sistema operativo multitarea debe incluir herramientas que faciliten la administracion y ejecuci\u00f3n de los programas a ser ejecutados. De la misma forma, el hecho de que sea multiusuario no solamente indica de que varios usuarios pueden utilizar simultaneamente (o en forma controlada, como el caso de un dispositivo como una impresora) los recursos del sistema, sino de que los programas tambi\u00e9n funcionar\u00e1n bajo una identidad concreta: la del usuario que los ejecut\u00f3, o la que el administrador (aqu\u00ed denominadoroot o superusuario) designe.

Llendo un poco m\u00e1s en detalle, en Linux los usuarios obtienen un c\u00f3digo de identificaci\u00f3n \u00fanico cuando son creados, es el llamado UID (User ID). Este UID se utiliza todo el tiempo: para establecer privilegios, para controlar el acceso a recursos, para definir la membres\u00eda de archivos y directorios, etc. A su vez, un UID est\u00e1 v\u00ednculado con uno o m\u00e1s GIDs, que son Group IDs, Identificadores de Grupo. Cuando un usuario es creado, se le otorga un UID y se lo hace pertenecer al menos a \u00fan grupo. Los grupos tambi\u00e9n tienen nombres simb\u00f3licos, y son definidos en el archivo/et c/gr oup. Los usuarios se encuentran definidos, a su vez, en el archivo/

etc/passwd, d\u00f3nde se lista su nombre simb\u00f3lico, UID, GID primario, shell o
int\u00e9rprete de comandos por defecto, entre otros datos.

En/etc/g roup tambi\u00e9n se especifican los grupos adicionales a los cuales un usuario pertenece, m\u00e1s all\u00e1 del primario. De esta forma, el primer comando que yo considero que un usuario debe conocer, es el comandoid, proveniente de la palabra inglesa para "identificaci\u00f3n". Ejec\u00fatenlo, sin par\u00e1metros, en su consola y ver\u00e1n que les entrega la informaci\u00f3n de qu\u00e9 usuario son y a que grupo[s] pertenecen. En el caso del usuarioroot el UID y el GID equivalen acero. Si desean obtener los

detalles de identificaci\u00f3n de otro usuario, tan solo agr\u00e9guenlo como primer
par\u00e1metro, por ejemplo id root o id noelia.
La salida de este comando, es similar a la siguiente (tomado de un usuario agregado
seg\u00fan la documentaci\u00f3n de instalaci\u00f3n de Gentoo Linux):
buanzo@murray ~ $ id buanzo
uid=1000(buanzo)
gid=100(users)
groups=100(users),10(wheel),18(audio),35
(games)

Aqu\u00ed podemos ver que el usuario "buanzo" pertenece en forma primaria al grupo cuyo gid es 100, nombre simb\u00f3lico "users". Su UID es 1000, y adicionalmente pertenece a los grupos wheel,audio y games. El pertenecer al grupo wheel tiene sus privilegios: los que pertenezcan al mismo podr\u00e1n utilizar el comandosu, correspondiente a "sustituir usuario", el cual permite al usuario que lo invoca, iniciar sesi\u00f3n como otro usuario, sin abandonar la actual. Generalmente, se lo utiliza para pasar al usuario root, sin tener que cambiar de terminal.

DATO UTIL: Si quieren conocer el formato y/o estructura de un archivo de /etc,

directorio donde reside la mayor\u00eda de los archivos de configuraci\u00f3n, pueden hacer uso del comandom an. Este comando presenta las p\u00e1ginas del manual del sistema, el cual est\u00e1 dividido en secciones. En el recuadro n\u00famero uno pueden ver un listado de las secciones comunes. Para ahorrar tiempo, la secci\u00f3n 5 contiene la descripci\u00f3n de las estructuras de los archivos de configuraci\u00f3n ubicados en /etc. Por ejemplo,man

5 passwd les presentar\u00e1 un informe con la estructura del archivo /etc/passwd. Vean
que la sintaxis de man es "man secci\u00f3n p\u00e1gina".
Terminales Virtuales y F\u00edsicas

Antes de conocer m\u00e1s comandos y conceptos, aprendamos acerca de las terminales. En el principio se utilizaban, y se siguen utilizando, aunque en menor medida, servidores de gran capacidad (mainframes), a los cuales, para utilizarlos, se les conectabanterminales que constaban, en su m\u00ednima configuraci\u00f3n, de un monitor y teclado. No pose\u00edan inteligencia propia, ya que eran como teclado y monitor conectado directamente almainframe. Ya que el sistema era multiusuario y multitarea, cada usuario se sentaba en una terminal y realizaba sus tareas. El d\u00eda de hoy, las PC de escritorio son terriblemente poderosas. Y ocupan much\u00edsimo menos lugar, lo cual era otro motivo para utilizar terminales compactas conectadas a un mainframe.

Como ya deben imaginarse, el proceso de "login" al sistema se realiza siempre ingresando usuario, y luego la clave. El d\u00eda de hoy varias distribuciones de GNU+Linux permiten definir un "login autom\u00e1tico" para cierto usuario. Esto es especialmente \u00fatil en entornos gr\u00e1ficos, y cuando el sistema lo utiliza f\u00edsicamente una sola persona, o se comparte la sesi\u00f3n.

Si vuestro sistema inicia en modo gr\u00e1fico (X11 u Xorg-X11, con KDE, GNOME u otro
entorno), para lograr acceder a la consola deben ingresar la combinaci\u00f3nCTRL,
ALT izquierdo y una de las teclas de funci\u00f3n, generalmente limitadas de F1 a

F6. El hecho de que podamos elejir cualquier tecla de funci\u00f3n en dicho rango esta dado porque por defecto, en el archivo/et c/i ni ttab, generalmente se configuran 6 terminales, denominadas VCs (por Terminales Virtuales), ottys (por teletipo). De esta forma, tenemos la tty1, tt2, hasta tty6.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->