FAQ GNU/Linux
Porto al blog el FAQ que escribí hace poco más de un año para el foro linuxespanol. Cualquier duda o sugerencia, comenten!

---------------------------------------
FAQ Linux (creado 15/04/2008)

INICIANDOSE
Quiero usar linux, que debo hacer?
Pregunta que suele irritar bastante a la gente de los foros, porque demuestra que no se ha leido nada antes de preguntar =/
Linux es solo el kernel del sistema operativo, para poder instalar el sistema completo se debe instalar una distribución (hay otra forma, pero si estas leyendo este faq no creo q te interese conocerla =P). Lo cual nos lleva a la siguiente pregunta =P


Qué es una distribución?
Una distribución es un conjunto de programas recopilados por un grupo de personas. La idea de las distribuciones es hacer fácil la instalación de un sistema GNU/Linux, instalando un kernel ya compilado, junto con drivers y los programas más necesarios, configurando todo de forma que el sistema se pueda utilizar.
En la actualidad hay cientos de distribuciones, y muchos preguntan el por qué, a lo que yo responderia con otra pregunta, por qué no deberia haber muchas?, debido a que cualquiera puede manipular el software libre y hacer casi cualquier cosa con el, cualquiera puede crear su propia distribución, y de hecho se hace.
Casi todas las distribuciones fueron creadas a partir de las 3 distribuciones mas antiguas, que son debian, slackware y Red Hat.
El tema de las distribuciones en un principio confunde a los usuarios que solian utilizar windows, asi que la siguiente pregunta, es una de las mas comunes:


Qué distribución recomiendan que instale?
Recomendar una distribución es como recomendar intel o amd, o una marca de ropa, va en gustos, y las respuestas suelen ser dispares.
En la actualidad generalmente se llega a un consenso sobre cuales distribuciones son las mejores para un usuario novato, y estas son (según el orden de popularidad en www.distrowatch.com):
- Ubuntu derivada de debian
- PCLinuxOS derivada de mandriva (antes mandrake) - la cual a su vez deriva de Red Hat
- openSuse derivada de slackware
- Fedora derivada de Red Hat
- Mandriva derivada de Red Hat
Junto a cada distribución les agregue el link a su sitio oficial para que puedan descargar la que más les guste. Cada una tiene sus puntos a favor y sus puntos en contra, pero en general todas andan bien. Todas son fáciles de instalar, y detectan y configuran muchísimo hardware.
Para conocer más distribuciones y elegir dirijanse a http://distrowatch.com/


Tengo una maquina vieja con poca RAM, que distribución me recomiendan?
Las distribuciones que mejor se desempeñan en estas maquinas son:
- Damn Small Linux
- Puppy Linux
Ambas tienen entorno gráfico y son fáciles de usar. Realmente una joyita =)


Fui a la pagina de "tal" distribución, y descargue un archivo .iso, que es esto? que hago con el???
Esta no es una duda de linux, pero es una pregunta muy frecuente.
Un archivo .iso es una imagen de un cd o dvd, esto es, una copia exacta de un cd o un dvd. El sistema de archivos utilizado es iso9660, común en casi todos los cds.
Lo que deben hacer es grabar esta imagen en un cd o dvd. Para ello deben tener algún programa para quemar cds. Si utilizan windows probablemente tengan instalado nero. En el programa para quemar cds deben elegir la opción "grabar imagen de cd", seleccionar la imagen .iso y darle grabar.
ATENCION: no creen un nuevo cd de datos y le pongan adentro la imagen .iso!!!, esto no funciona!, deben grabar el cd eligiendo la opción grabar imagen de cd o dvd.


Cómo debo particionar el disco?
Cuando comiencen a instalar alguna distribución, estas les preguntaran cómo desean particionar el disco para instalar GNU/Linux.
Esencialmente Linux necesita dos particiones, la partición donde se instalara todo el sistema y una partición para memoria swap. La memoria swap se utiliza como memoria complementaria a la RAM (la definición es mas complicada, pero en principio la pueden ver así), por esto es que en textos viejos suele recomendarse que el tamaño de la partición swap debe ser del doble del tamaño de la memoria RAM instalada. Actualmente veo esto innecesario dado que las maquinas nuevas ya traen 2 o 4GB y asignar 8GB para swap me parece un desperdicio. Así que mi recomendación es:
- si tenes menos de 512MB de RAM asigna el doble del tamaño de tu RAM
- si tenes entre 512MB y 2GB asigna como máximo 512MB
- si tenes 2GB o más, no veo necesario dejar más que 256MB de swap, a menos que uses programas demasiado pesados que utilicen muchísima RAM.
En mi pc actualmente tengo 2GB de RAM y no utilizo nunca la memoria swap, o a lo sumo utilizo 10MB, como para que se den una idea.

Ahora, para la partición raiz (donde se instala todo el sistema) si no crean una partición para /home aparte, recomendaría que dejen unos 10 o 15GB si es que van a guardar todos sus documentos en el /home. En la carpeta home se encuentran las carpetas personales de cada uno de los usuarios del sistema, allí se guardan todas las configuraciones del usuario y (en principio) es el único lugar donde el usuario puede guardar documentos.
Mi recomendación es tener la partición /home aparte de la partición para el sistema principal (la partición /). Esto se debe a que si la partición / se corrompe, podemos formatearla sin perder ningún dato del usuario.
De esta forma, si creamos una partición aparte para /home, recomiendo dejar como máximo 10GB para la partición /. El tamaño de la partición /home es difícil de especificar, porque depende de que valla a guardar el usuario allí. Si tienen una partición aparte para guardar datos (películas, musica, juegos, etc), creo que con 2GB para el /home está bien.
Resumiendo, deberían crear 3 particiones, una para el sistema principal /, otra para la memoria swap y la ultima (opcional) para el /home.

Todos estos números los recomiendo por mi experiencia personal. Una vez que se van familiarizando con el sistema y como este opera, ustedes decidiran cuales son los tamaños apropiados para sus particiones, y cuantas particiones crear.


Cómo se instalan los programas en Linux?
Olvidense del setup.exe, instal.exe, instalar.exe, etc. En linux la instalación de programas se hace de una manera totalmente distinta. Al principio resulta chocante y hasta molesto, pero una vez que uno se acostumbra lo hace con naturalidad y hasta le gusta =)
Principalmente, hay 3 formas de instalar programas en linux:

- descargando un archivo comprimido que contiene todo lo necesario para hacer funcionar el programa. Muchos programas como firefox, ofrecen en sus páginas un archivo comprimido que tiene todo lo necesario para que el programa funcione. Lo único que deben hacer es descomprimir ese archivo y ejecutar el ejecutable principal.

- descargando y compilando el código fuente.
Debido a que en GNU/Linux la mayoría de los programas son libres, se puede tener sus códigos fuente, y por lo tanto, compilarlos e instalarlos uno mismo.
Lo que se hace es descargar un archivo comprimido que contiene todos los archivos fuente, descomprimirlo, y ejecutar lo siguiente:
./config
make
make install
Si bien en principio esto no parece difícil, si lo es. Lo difícil es que para poder instalar un programa de esta manera se deben tener instaladas todas las librerías necesarias, de las cuales el programa depende. Y creanme, estas suelen ser muchas, e instalar una por una a medida que el programa las va pidiendo es muuuuuuy molesto.
Así que recomiendo esta forma de instalación sólo a los usuarios que ya tienen contacto con linux hace un tiempo y quieren aprender un poco más.

- instalando programas desde paquetes con un manejador de paquetes.
Esta es la forma que utilizan casi todos los usuarios de GNU/Linux. Hay distintos formatos de paquetes y distintos manejadores de paquetes, habiendo gráficos y de consola. Los formatos de paquete más utilizados son los .rpm (Red Hat, mandriva, openSuse, PCLinuxOS, Fedora y un laaaargo etc), y los .deb (debian, ubuntu, knoppix, Mint, y otro laaaargo etc).
Un paquete contiene un programa junto con información sobre su versión, una lista de paquetes de los que depende, un checksum (para comprobar errores), una descripción de lo que hace el programa, una firma digital (para corroborar la autenticidad) y algunos datos mas.
Un paquete NO es un instalador, para instalar un paquete se debe utilizar algún manejador de paquetes. Los manejadores de paquetes de bajo nivel son dpkg para los .deb y rpm para los .rpm, pero se suelen utilizar herramientas de mas alto nivel (que utilizan a estas herramientas como base) para realizar más fácilmente la instalación de programas.
Entre las herramientas que se utilizan comúnmente están: apt-get, dselect y aptitude (consola), synaptic, kpackage, kynaptic, etc (modo grafico) para los .deb; y apt4rpm, up2date (Red Hat), urpmi (mandriva), YaST (suse), YUM (Fedora), etc para los .rpm
Para saber un poco más sobre los sistemas de gestión de paquetes, lean http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_paquetes


CONFIGURANDO
Donde esta mi disco C? y el D, E, F, G???
Esto es gracioso de leer, pero es una pregunta que todos se hacen cuando utilizan linux por primera vez (si eran usuarios de windows claro...).
En GNU/Linux y en los sistemas Unix en general hay un solo árbol de directorios y todos los medios de almacenamiento se montan en este árbol.
Como para hacer una comparación con windows, es como si todas sus particiones y dispositivos extraíbles se encontraran dentro del disco C.
La raíz del árbol en linux es el /. Todo pende de la raíz (si quieren imaginenla como si fuera el C, aunque no es el equivalente, sino otra forma de organizar los directorios). Dentro de la partición / se crean una serie de directorios comunes a todos las distribuciones (y a los Unix en general), como el directorio /bin, el /usr, /sbin, /home, /root, /etc. Cada uno tiene un uso específico.
Para que otros dispositivos de almacenamiento (otras particiones o discos extraíbles, etc) se monten al inicio del sistema, deben crear un directorio donde montar el dispositivo y modificar el archivo fstab que se encuentra dentro del directorio /etc.
Los dispositivos de almacenamiento suelen montarse dentro de directorios que se encuentran en /media o /mnt. Así por ejemplo podrían tener una partición que tiene instalado windows montada en el directorio /media/windows, o /mnt/windows. Pero primero deben crear la carpeta /media/windows.
Modificar el archivo /etc/fstab es bastante sencillo, pero requiere de algunos conocimientos, los cuales introduzco en la pregunta que sigue.


Cómo montar mi partición windows en linux?
Para saber esto, dirigite a la siguiente pregunta: Cómo agregar entradas al archivo /etc/fstab?


Cómo agregar entradas al archivo /etc/fstab? (alias, como montar particiones al inicio del sistema?)
Montar un medio de almacenamiento no es ninguna ciencia, pero requiere de ciertos conocimientos. Como por ejemplo, qué sistema de archivos tiene el medio de almacenamiento que quieren montar, que dispositivo en /dev tiene asignado en linux y con que opciones desean montar el dispositivo (como por ejemplo con que permisos).
Los dispositivos asignados para los medios de almacenamiento son hda1, hda2, ... hdb1, hdb2, .... sucesivamente para los dispositivos ata o ide. Y sda1, sda2, ....., sdb1, sdb2, ... para los dispositivos scsi, sata y otros. Casi todo lo que enchufen en los usb se mapean a un dispositivo sdX.
Para saber que dispositivo se utiliza para cada medio de alamcenamiento, ejecuten en una consola el comando: fdisk -l. En el resultado de este comando veran el dispositivo asignado a cada disco, cd-rom, etc.

El formato del archivo /etc/fstab es:
dispositivo punto-de-montaje tipo(sistema de archivos) opciones dump pass
En dispositivo, deben colocar el dispositivo asignado al medio de almacenamiento (el que obtuvieron con fdisk -l). En punto-de-montaje deben colocar el directorio donde desean que se monte el disco, cd-rom, etc (como por ejemplo /media/windows), en tipo deben colocar el sistema de archivos, como ntfs, ext3, reiserFS, etc.
ACLARACION: para cualquier sistema de archivo fat (fat16, fat32, etc), en fstab se debe colocar como tipo vfat.
En opciones deben colocar las opciones de montaje, como por ejemplo si se puede escribir, leer, y/o ejecutar en ella, si se debe montar automáticamente, etc. Hay muchas opciones por lo que recomendaría que lean el manual de mount.
dump es para saber si se necesita volcado y pass lo usa el programa fsck para determinar el orden en el cual se van a chequear los sistemas de archivos cuando el sistema arranca. Generalmente se pone 0 en ambos casos.

Dado que seguro esto les resulta un lío tremendo, dejo el ejemplo de como agregar una partición ntfs y una fat al archivo /etc/fstab. La partición ntfs asumiré que esta mapeada en /dev/sda1 y la fat en /dev/sda2. La ntfs la montare en /media/windows y la fat en /media/datos. Por ultimo, en las opciones colocare permiso de lectura y ejecución para la partición ntfs y permisos de lectura, escritura y ejecución para la fat, esto se logra con la opción umask (si quieren saber mas, ejecuten: man umask).
Las lineas para estas dos particiones quedarían del siguiente modo:
dispositivo punto-de-montaje tipo(sistema de archivos) opciones dump pass
entradas creadas automaticamente............
...
...
/dev/sda1 /media/windows ntfs umask=0222 0 0
/dev/sda2 /media/datos vfat umask=0000 0 0


Por qué no puedo reproducir mp3s o películas?
Esta es una pregunta que se hace mucho y es debido a que por problemas legales muchas distribuciones retiraron del cd de instalación los codecs de mp3 y otros formatos privados (entre estas se encuentran ubuntu y sus hermanos -kubuntu, edubuntu, etc-, Red Hat, fedora, CentOS).
Por suerte la solución es facil y es instalar estos codecs, desde alguno de nuestros repositorios.
Busquen cuales son los paquetes correspondientes en su distribución para cada codec que necesiten e instalenlo.



INSTALANDO HARDWARE
No me anda "tal" hardware!, cómo lo instalo?
Primero me gusta aclarar que el hecho de que muchos dispositivos no funcionen en GNU/Linux es culpa de los fabricantes de hardware que no crean drivers para GNU/Linux, no es culpa de GNU/Linux, en la comunidad se invierte muchísimo tiempo y esfuerzo creando los drivers que los fabricantes deberian proveer, así que si algun dispositivo no les funciona no maldigan a GNU/Linux, quejense con el fabricante.
Ahora, la mejor forma de saber que hacer para instalar cierto hardware es buscando en google la marca y modelo del hardware para saber si existe algun driver disponible para linux.
En las siguientes preguntas incluyo explicaciones que se dieron en el foro para instalar distintos dispositivos.


Cómo instalar los drivers de una placa ATI Radeon?
Antes de hacer algo, hagan backup del archivo /etc/X11/xorg.conf (si tienen xorg) o /etc/X11/XF86Config-4 (si tiene XFree).
- Instalamos los kernel-headers correspondientes a nuestro kernel (tambien pueden llamarse linux-headers en algunas distribuciones)
- Descargamos los drivers desde la pagina de ati (amd ahora posee ati): http://ati.amd.com/support/driver.html
- Le damos permisos de ejecucion (si es q no los tiene):
#chmod +x ati-driver-installer-*.**.**.run
- ejecutamos el binario
#./ati-driver-installer-*.**.**.run
y seguir los pasos que indica.
- Ahora debemos hacer uso del comando aticonfig (para los usuarios que tengan conocimiento ejecuten #aticonfig --help, para conocer la sintaxis de configuracion).
Los pasos básicos para que nuestra placa salga andando sin problemas son, ejecutar:
#aticonfig --initial --input=/etc/X11/xorg.conf (si tienen xorg)
#aticonfig --initial --input=/etc/X11/XF86Config-4 (si tienen XFree)
#aticonfig --resolution=0,1600x1200,1280x1024,1024x768 (aca deberán poner las resoluciones q quieran usar)
Con esto se modifica el archivo xorg.conf (o XF86Config-4) para usar el driver.
- Reiniciamos y ya disfrutamos de nuestra placa.

Para corroborar que los drivers están funcionando, hacemos:
$glxinfo | grep rendering
y debería devolver: direct rendering: Yes
y el comando:
$glxgears
deberia devolver valores aproximados a
33020 frames in 5.0 seconds = 6604.000 FPS
33174 frames in 5.0 seconds = 6634.800 FPS
33293 frames in 5.0 seconds = 6658.600 FPS
los valores dependen de la placa, pero deberian andar arriba de los 1000 FPS



VARIOS
Instale windows y ahora no puedo iniciar Linux! cómo recupero el grub???
La indignación que esto produce es muy grande, pero por suerte tiene una solución muy sencilla.
Lo que hace windows al instalarse es sobre-escribir el MBR (Master Boot Record) con su propio gestor de arranque sin siquiera preguntar al usuario para saber si lo debe hacer o no >=(
Hay varias formas de recuperar grub, siendo quizas la más sencilla usando SuperGrub
Otra forma bastante simple (suponiendo que la partición donde esta instalado grub esta mapeado a /dev/sda1) es la siguiente:
1 iniciar el sistema con algun live-cd (knoppix, ubuntu, etc)
2 crear un directorio para montar la partición donde se encuentra instalado grub
mkdir /media/linux
3 montar la partición donde se encuentra instalado grub
mount /dev/sda1 /media/linux
4 hacer un bind del /dev del live cd, al /dev de la particion recien montada
mount --bind /dev /media/linux/dev
5 cambiar el origne del directorio raíz
chroot /media/linux
6 instalar grub en el MBR del disco de arranque
grub-install /dev/sda

3 comentarios:

nacho dijo...

Esta bueno el manual para pasarlo a alguien antes que te empiecen a llenar de preguntas :)
Lo unico que vi, es que ahora en el fstab en lugar del dispositivo que montás , va el UUID:

Por ej (de mi fstab):
# /dev/sda4 (Home)
UUID=2e969efa-e5c4-4736-95d8-dc1ac8cd0546 /home ext3 relatime 0 2

Y para obtener el UUID, basta usar un simple blkid en la consola y tenemos el resultado en pantalla :D

Saludos!

Nahuel dijo...

jaja, victor??


abrazo!

d3m4s1@d0v1v0 dijo...

Gracias Nacho por el comentario.
En algunos casos podes poner el UUID, es lo mismo, pero más rebuscado, osea el número ese es mucho más complicado que poner sda, sdb, etc. Igual es cierto que leí que a veces es la única forma de hacer que el fstab reconozca un disco. A veces el kernel no los mapea a dispositivo y no te queda otra que poner el UUID, a mi nunca me pasó, pero lo he leído.

Si Nahuel, en la vida real me suelen llamar Victor =D

Publicar un comentario