Ayuda básica para novatos

TÍTULO:				Ayuda básica para novatos
VERSIÓN LFS:		2.4.3
AUTOR:				Simon Perreault <nomis80@videotron.ca>
TRADUCTOR:		Proyecto LFS-ES

SINOPSIS:
	El libro LFS ha resultado tan bueno que muchos novatos en Linux han conseguido 
construir con éxito un sistema LFS sin saber lo que estaban haciendo, y cuando 
han terminado el libro se han quedado delante de la consola preguntándose qué es 
lo que tienen que hacer ahora. Si estás en esta situación, esta receta puede
ayudarte.

RECETA:

ESTA RECETA ESTÁ EN PROCESO DE ESCRITURA. NO ESTÁ COMPLETA

TABLA DE CONTENIDOS
====================

1. Introducción a Linux
2. Comandos básicos de vi
3. Recursos


1. INTRODUCCIÓN
===============

Esta receta podría haberse llamado "Miscalenea de consejos", puesto que no
sigue un orden concreto. Es una colección de las indicaciones solicitadas por
muchos novatos y las soluciones a muchos problemas sufridos por los novatos.
Para que una mini-receta se añada a esta, debe poder calificarse de receta para
novatos, es decir, debe parece algo demasiado fácil para los usuarios
experimentados.

Un novato, aún habiendo terminado de construir su sistema LFS, realmente no
sabe las cosas que no conoce. El conocimiento involucrado en la creación de
un sistema Linux desde cero es avanzado, pero cuando lo reduces al procedimiento 
de ejecutar comandos a ciegas ese conocimiento se pierde. No estoy diciendo que
tener un libro LFS perfecto que pueda seguirse ciegamente es malo, porque 
seguro que no lo es para los no novatos. Cuando entiendes los comandos seguir
el libro es, de hecho, un proceso de aprendizaje.

1.a. REAPRENDER TODO
-------------------------------------

Normalmente, los novatos están buscando una forma de escapar de la prisión
Microsoft. Pueden estar muy puestos en el uso de Windows, pero están 
completamente perdidos en el mundo de la línea de comandos.El primer paso 
consiste en aprender todo de nuevo.

Algo comúnmente asumido es que en todas partes hay programas de configuración 
que debes lanzar para personalizar tu sistema. Bien, deja de buscar los *cfg*, 
son muy escasos y con frecuencia no hacen bien su trabajo. La mayor parte de 
estos programas de configuración se limitan a editar o crear un fichero de 
configuración por ti. No hace la configuración por sí mismos. Por ejemplo, para 
ajustar el sistema X Window, dispones del programa "xf86cfg" para ayudarte. Este 
programa te pregunta una serie de cuestiones y entonces escribe un fichero de 
configuración basado en tus elecciones. Que una opción no aparezca en "xf86cfg" 
no implica que no esté disponible. Limitarse a los programas de configuración es 
un mal habito, pues trabajan de forma rara y a menudo no dan configuraciones
óptimas.

Hay una cuantas excepciones a esto. Por ejemplo, el programa "iptables" 
("ipchains" para los núcleos 2.2.x) se usa para configurar las características 
del cortafuegos del núcleo. Para configurar el cortafuegos, debes lanzar en cada 
arranque el programa "iptables" con las opciones deseadas. El programa 
"ifconfig" es otro buen ejemplo. Es el "winipcgf" de Linux. Se usa para ajustar
los adaptadores Ethernet, modems y todos los demás tipos de interfaces de red. 
En general, Los programas sólo son usados para configurar opciones del núcleo, y 
deben lanzarse en cada arranque. El núcleo no recuerda nada.

Otra cosa que los novatos deben reaprender es el uso de la línea de comandos. 
Esto nunca debe esperar. Incluso si instalas un entorno de escritorio como KDE o 
Gnome, usarás la línea de comandos con frecuencia. Eventualmente encontrarás que
es más rápido invocar los programas usando la línea de comando que pulsando un
icono. También, no asumas que porque algo no funcione en la GUI no funciona del 
todo. Con frecuencia, es el enlace entre la línea de comando y la GUI lo que 
está roto. Prueba el comando en un terminal y observa si funciona.

La GUI, en Linux, está pensada para acelerar la ejecución de ciertas tareas, no 
para ser fácil de usar. Si tu intención es abandonar la línea de comando tan 
pronto como puedas e instalar un entorno de escritorio con el que puedas ser 
capaz, finalmente, de hacerlo todo, estás equivocado. La GUI no es fácil. Porque 
una herramienta tenga una interfaz visual no quiere decir que será fácil de 
comprender. Domina la línea de comandos y dominarás la GUI.

Una regla general: nunca asumas que porque sepas cómo hacer algo en windows debe 
hacerse de forma similar en Linux. Son dos sistemas operativos completamente
diferentes y vienen con cosas completamente diferentes. Por ejemplo, muchos 
novatos ven un comando en cualquier sitio e intentan ejecutar tecleando su 
nombre como harían en DOS. Estar en el directorio que contiene el comando no es
garantía de que funcionará. La variable PATH contiene todos los directorios en 
los que se buscan los ejecutables, como en DOS. Pero la diferencia es que el 
directorio actual (*.*) no se incluye por defecto (y no debería hacerse). 
Imagina si un usuario crease un fichero "ls" en su directorio "home" que 
contenga un guión que borra por completo el disco duro. El usuario informa al 
administrador del sistema de un problema en su directorio raíz. El administrador 
del sistema entra en el directorio "home", ejecuta "ls" y ahora debe reinstalar 
el sistema. Mira la página de manual de bash para más información relacionada 
con la variable PATH.

Otra cosa: no sufras del síndrome "Lo reinstalaré, posiblemente funcione esta 
vez". Conozco solamente un programa que se arregla con esta táctica, es koffice 
y justamente estoy aprendiendo sobre él ahora. Normalmente, no se cambia nada al 
reinstalar. Todos funciona la primera vez, o todo no funciona la primera vez. No 
pierdas el tiempo construyendo 20 sistemas LFS, a no ser que esté seguro que 
construir un nuevo sistema es la única solución. También, el similar síndrome 
"Reiniciaré, probablemente funcionará" es un error. Tu NO necesitas reiniciar en 
Linux, excepto para cargar un nuevo núcleo. E incluso esto puede hacerse sin 
reiniciar, si deseas "hackear" un poco. Reiniciar es un hábito creado por 
Windows. Nunca debes necesitar reiniciar después de instalar algo.

1.b. DONDE Y CÓMO CONSEGUIR INFORMACIÓN
----------------------------------------------------------------------

Los programas que funcionan directamente tras la instalación son cada vez más
comunes, pero la mayoría necesitan una fase de configuración por el usuario. No 
debes tener miedo a leer la documentación. Con frecuencia los novatos se 
desalientan debido al tamaño de la documentación y su contenido técnico. 
Normalmente no necesitas leerla entera. Encuentra la sección correspondiente a 
tu problema y centrate en ella. Nunca haga una pregunta sin haber leído antes la 
documentación. Aprenderás mucho y no gastarás el tiempo de los demás con 
preguntas estúpidas.

Usualmente, la documentación relacionada con un comando se encuentra en una 
página de manual. Puedes acceder a la página de manual de cualquier comando 
tecleando "man <nombre del comando>". Leer la página de manual debería ser el 
primer paso cuando tengas un problema. Están formateadas de una forma especial y 
leerlas puede ser duro al principio. No desesperes.

Otro buen sitio para encontrar ayuda es en los CÓMOs. Puedes encontrar estos 
famosos CÓMOs en http://www.insflug.org/. Los HOWTOs originales están en 
www.linuxdoc.org. Pueden serte muy útiles y están enfocados hacia los novatos, 
al contrario que las páginas de manual.


1.c. COMANDOS ÚTILES
-----------------------------------

Usualmente, las líneas de comando son de la forma:
	comando -<argumento de una letra> --<argumento de varias letras> <objetivo>
Lo que puedes ver aquí es que el comando es la primera palabra de la línea. 
Opcionalmente le siguen los argumentos. Por lo normal, los argumentos de una 
sola letra se preceden con un "-" simple, mientras que los argumentos de varias 
letras se preceden con un "-" doble. Hay unos cuantos programas que usan también
un "-" simple con los argumentos de varias letras. Con frecuencia puedes usar 
"<comando> --help" para ver un resumen de los parámetros disponibles. Por 
supuesto, todos están explicados con mayor detalle en la página de manual. No 
olvides que todo en Linux es caso sensitivo.

pwd:
	Este comando muestra el directorio actual. No suele usarse pues el directorio 
	actual normalmente se incluye en el símbolo del sistema. Más abajo hay una 
	explicación sobre cómo personalizar el símbolo del sistema.

cd <directorio>:
	Cambia el directorio de trabajo actual a otro directorio. Para retroceder un 
	nivel teclea "cd ..". No teclees "cd.." como harías en DOS, no funciona. *..* 
	significa "El directorio superior al que me encuentro" y *.* indica "el 
	directorio actual".

ls:
	Esto te permite saber qué ficheros hay en un directorio. Algunas opciones son:
	--color=auto
		Los ficheros son codificados con colores. Puede que quieras activar esto cada 
		vez que ejecutes ls. Para hacerlo, puedes crear un alias para el comando ls 
		como este:
			alias ls="ls --color=auto"
		También es posible que quieras que esto se active cada vez que entras al
		sistema. Hay dos ficheros que se ejecutan cada vez que entras al sistema (como 
		el AUTOEXEC.BAT). Son diferentes, pero por ahora olvidarte de esa diferencia. 
		En  tu directorio personal crea los ficheros ".bashrc" y ".bash_profile". 
		Puedes tener uno como enlace simbólico del otro. También, puesto que me agrada 
		tener la misma configuración para todos los usuarios, uso un fichero general 
		"/etc/profile" y añado una línea como esta en todos los .bashrc:
			source /etc/profile
		Esto hace que se cargue el fichero "/etc/profile"
	-h
		Muestra el tamaño de los ficheros de forma legible por humanos.
	-a
		Muestra los ficheros que comienzan con un punto *.*. Normalmente estos son 
		ocultos. Los ficheros que comienzan con un punto se suelen usar para los 
		ficheros de configuración en el directorio personal.
	-l
		No solo en nombre del fichero, si no también los permisos, propietario, grupo, 
		tamaño y fecha son mostrados.

cp:
	Esto copia un fichero, como el comando "copy" de DOS. Para copiar ficheros y 
	directorios de forma recursiva, usa la opción -R.

mv:
	Esto mueve un fichero. Si lo que deseas hacer es renombrar un fichero has 
	encontrado tu comando. Basta que uses "mv <antiguo_fichero> <nuevo_fichero>".

makedir:
	Esto crea un nuevo directorio.

rm:
	Elimina ficheros. Muy práctico en manos del administrador. Opciones útiles:
	-r
		Borra ficheros recursivamente, los directorios también.
	-f
		No hace preguntas y usa todos los privilegios que tengas para conseguir la
		eliminación del fichero.
	-i
		Se ejecuta en modo interactivo. Esta forma de usar rm es útil cuando eres "root":
		en este modo se te pide confirmación para cada fichero que quieres borrar.
		Esta es la forma por defecto en muchas distribuciones, y no es mala idea
		ponerlo como alias.

su:
	Esto cambia tu identidad. Se usa principalmente para ser "root" de forma temporal.
	El usuario por defecto es "root", así que llamando a "su" sin parámetros nos pedirá
	la contraseña de "root". Un bonito modo de no ser preguntados por la contraseña
	de "root" cada vez, asumiendo que siempre usas el mismo nombre de usuario, es
	poniendo esta línea en el fichero "/etc/suauth"e:
		root:<tu nombre de usuario>:NOPASS
	También, si eres paranoico, puedes usar esta línea:
		root:ALL EXCEPT <tu nombre de usuario>:DENY

grep:
	Un comando algo más avanzado, grep se usa para encontrar líneas de un fichero
	que contengan cierta expresión. Por ejemplo, si quieres encontrar la palabra "pwd"
	en esta receta, teclea:
		grep pwd newbie.txt
	grep te devolverá todas las líneas que contienen la expresión pwd. ¡No lo dudes,
	pruebalo!


2. COMANDOS BÁSICOS DE vi
========================

El editor más popular es vi. LFS instala vim, una versión mejorada del original vi. vi es
muy poderoso, pero puede asustarte al principio porque no tiene un bonito interfaz
como el "edit" de Microsoft.

Arranca vi de esta forma:
	vi <fichero>

Si quieres insertar texto, una característica muy comúnmente usada, presiona la tecla "i"
y ya podrás escribir. Verás abajo del todo que vi está ahora en modo "-- INSERT --".
Puedes salir de este modo con la tecla "ESC". Cuando presionas el escape sales de
cualquier modo en que te encuentres y puedes usar otros comandos. Usualmente se
inician los comandos pulsando ":" y escribiendo el comando. Algunos comandos útiles:

:w
	Salva el fichero.

:q
	Cierra vi. Si no has salvado el fichero debes usar ":q!", que le indica a vi que
	realmente quieres cerrarlo..

:wq
	Una combinación de los comandos anteriores. .Salva el fichero y cierra vi.

dd
	Esto borra la línea completa sobre la que se encuentre el cursor..

<número>d
	Esto borra <número> de líneas, comenzando por la actual y yendo hacia abajo.

:<número>
	Cambia el cursor a la línea número <número>.

P
	Cuando haces "dd", la línea es copiada en un almacén temporal. Pulsando P la
	copias debajo de la línea actual.

u
	Deshacer.

/
	Te permite escribir un texto que será buscado en el fichero..


3. RECURSOS
============

Para conseguir información puedes mirar en http://lucas.hispalinux.es (en castellano) o
http://www.linuxdoc.org (en ingles). Hay guías de calidad que debes considerar seriamente
el leerlas. Los Cómo (HOWTOs) son de menor calidad, pero con frecuencia se 
encuentran autenticas joyas.

Los novatos frecuentemente preguntan donde encontrar el software X. Casi todo el 
software escrito para Linux puede encontrarse en freshmeat.net. Si no lo tienen,
también puedes mirar en appwatch.com.

Si todo esto falla, siempre tienes la excelente herramienta de búsqueda Google, que
tiene una sección de Linux en http://www.google.com/linux.

Igualmente, no tengas miedo de venir a vernos al IRC en el canal #LFS en el servidor
irc.linuxfromscratch.org. Pero no hagas preguntas estúpidas o cualquiera de nosotros
usará la puerta trasera del LFS y borrará todos tus MP3s.


4. CÓMO HACER QUE TU SÍMBOLO DEL SISTEMA TENGA BUEN ASPECTO
==========================================================

¿Estás harto del símbolo bash-2.04$? ¿Quieres uno con un aspecto similar al de tu
distribución original?

Cambiando el símbolo del sistema.

 Fichero útiles (.bashrc, .bash_profile, .bash_logout)

/etc/skel