Administre GNU/Linux Sin importar la distribución

Transcripción

Administre GNU/Linux Sin importar la distribución
Administre GNU/Linux
Sin importar la distribución
Jaime E. Gómez Hernández Fis. Ing. MSc. PhD.
ii
Este fue escrito y paginado bajo Linux y utilizando LATEX por
su autor y fue impreso y empastado en Colombia por
Skina Technologies Ltda.
http://www.skinatech.com
Tel: 57 (1) 226-2080
Carrera 64 No. 96-17
Bogotá D.C.
Colombia
ISSN 1657-7620
c 1998-2014 Gómez H.
Se permite la copia, distribución y/o modificación de este documento bajo los términos de la licencia de Libre Documentación de GNU Version 1.1 o alguna versión posterior publicada
por la Free Software Foundation; Se incluyen en la Sección
Invariante los textos de la Portada, contraportada, reverso.
Una copia de la licencia se incluye en apéndice A.
Jaime E. Gómez Hernández Fis. Ing. MSc. PhD.
Skina Technologies Ltda. (http://www.skinatech.com)
Grupo LinuxCOL (http://www.linuxcol.org)
Bogotá D.C.
Colombia.
Índice general
1. Comenzando con Linux
1
1.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2. Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2.1. Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2.2. GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.2.3. Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.3. Distribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2. Instalación
15
2.1. Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1. Descripción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2. Preparación del PC . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2. Proceso de instalación . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.1. Objetivo de la instalación . . . . . . . . . . . . . . . . . . . . 24
2.2.2. Iniciando la instalación . . . . . . . . . . . . . . . . . . . . . . 25
2.2.3. Pasos a seguir . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.4. Creando las particiones para Linux . . . . . . . . . . . . . . . 33
2.2.5. Selección de paquetes . . . . . . . . . . . . . . . . . . . . . . . 36
2.2.6. Servicios en el Arranque . . . . . . . . . . . . . . . . . . . . . 47
iii
ÍNDICE GENERAL
iv
3. Conceptos Básicos
55
3.1. Comandos de Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.1. Comandos básicos . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.1.2. Comandos en background . . . . . . . . . . . . . . . . . . . . . 55
3.1.3. Interprete de comandos: Shell . . . . . . . . . . . . . . . . . . 57
3.2. Sistemas de archivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.2.1. Organización de los directorios . . . . . . . . . . . . . . . . . . 67
3.2.2. Montar un sistema de archivos . . . . . . . . . . . . . . . . . . 72
3.2.3. Uso de mtools . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.3. Actualización del kernel . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.3.1. Inclusión de los modulos del kernel . . . . . . . . . . . . . . . 76
3.3.2. Inclusión de las correcciones del kernel . . . . . . . . . . . . . 78
3.3.3. Recompilar el kernel . . . . . . . . . . . . . . . . . . . . . . . 79
4. Sistema Básico
83
4.1. Configuración y Control de acceso . . . . . . . . . . . . . . . . . . . . 84
4.1.1. Usuarios y Grupos . . . . . . . . . . . . . . . . . . . . . . . . 85
4.1.2. Configuración de LILO . . . . . . . . . . . . . . . . . . . . . . 93
4.1.3. Reinicialización del sistema . . . . . . . . . . . . . . . . . . . 98
4.2. X-Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.2.1. Xfree86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.2.2. Configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.2.3. Redes e Internet . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.3. Gestión de paquetes
. . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.3.1. Herramientas de administración . . . . . . . . . . . . . . . . . 122
4.3.2. Conversión de paquetes . . . . . . . . . . . . . . . . . . . . . . 124
ÍNDICE GENERAL
v
4.4. Configuración de hardware . . . . . . . . . . . . . . . . . . . . . . . . 127
4.4.1. Harddrake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.4.2. Kudzu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.4.3. Configuración del sonido . . . . . . . . . . . . . . . . . . . . . 130
5. Configuración de Servicios
133
5.1. Configuración de servicios . . . . . . . . . . . . . . . . . . . . . . . . 133
5.1.1. Servicio de impresión . . . . . . . . . . . . . . . . . . . . . . . 133
5.1.2. Compartir Recursos . . . . . . . . . . . . . . . . . . . . . . . . 145
A. Licencias Públicas GNU
151
B. Marcas Registradas
167
Índice de figuras
1.1. Genealogı́a Incompleta de UNIX . . . . . . . . . . . . . . . . . . . . .
6
1.2. Genealogı́a Incompleta de GNU/Linux . . . . . . . . . . . . . . . . .
9
2.1. Esquema general de división del disco duro en particiones . . . . . . . 21
2.2. Selección CD-ROM como primer dispositivo de inicio . . . . . . . . . 26
2.3. Copiando disco de arranque desde Windows . . . . . . . . . . . . . . 29
2.4. Escogiendo un lenguaje para la instalación . . . . . . . . . . . . . . . 32
2.5. Seleccionando modelo y distribución del teclado . . . . . . . . . . . . 33
2.6. Editando particiones con Diskdrake . . . . . . . . . . . . . . . . . . 34
2.7. Agregar una partición . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.8. Formato de particiones . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.9. Seleccionando componentes a instalar . . . . . . . . . . . . . . . . . . 37
2.10. Seleccionando paquetes individuales a instalar . . . . . . . . . . . . . 39
2.11. Progreso del proceso de instalación . . . . . . . . . . . . . . . . . . . 39
2.12. Password de root . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.13. Centro de Configuración . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.14. Escogencia de la zona horaria . . . . . . . . . . . . . . . . . . . . . . 42
2.15. Configuración de la red local . . . . . . . . . . . . . . . . . . . . . . . 44
2.16. Configuración de la conexión por módem . . . . . . . . . . . . . . . . 46
vii
ÍNDICE DE FIGURAS
viii
2.17. Selección del nombre de la impresora . . . . . . . . . . . . . . . . . . 47
2.18. Modelo de la impresora . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.19. Instalación del LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.20. Configuración de tarjeta de vı́deo para X-window . . . . . . . . . . . 52
2.21. Configuración de monitor para X-window . . . . . . . . . . . . . . . . 53
3.1. Redirección de Entrada y Salidas . . . . . . . . . . . . . . . . . . . . 61
3.2. Estructura de directorios de Linux según FSSTND . . . . . . . . . . . 67
3.3. Kernel menuconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.4. Kernel xconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.1. Linux Mandrake DrakConf . . . . . . . . . . . . . . . . . . . . . . . . 84
4.2. Administración de usuarios con Userdrake . . . . . . . . . . . . . . . 88
4.3. Userdrake: Adición de un usuario . . . . . . . . . . . . . . . . . . . . 89
4.4. Bienvenida a Linuxconf X-Window . . . . . . . . . . . . . . . . . . . 90
4.5. Linuxconf: Tareas de administración de cuentas . . . . . . . . . . . . 90
4.6. Linuxconf: Cuentas de usuarios . . . . . . . . . . . . . . . . . . . . . 91
4.7. Linuxconf: Información de usuario . . . . . . . . . . . . . . . . . . . 91
4.8. Administración de usuarios con Kuser . . . . . . . . . . . . . . . . . 92
4.9. Kuser: Adicion de un usuario . . . . . . . . . . . . . . . . . . . . . . 92
4.10. Drakboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.11. Bienvenida a Linuxconf . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.12. Linuxconf:Configuración de OS de arranque . . . . . . . . . . . . . . 97
4.13. Sesión con gdm
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.14. Sesión con kdm
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.15. XF86Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
ÍNDICE DE FIGURAS
ix
4.16. Pantalla principal de xf86cfg . . . . . . . . . . . . . . . . . . . . . . 104
4.17. xf86cfg: ratón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.18. xf86cfg: teclado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.19. xf86cfg: Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.20. xf86cfg: tarjeta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.21. XFdrake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.22. Webmin: Interfaces de Red . . . . . . . . . . . . . . . . . . . . . . . . 111
4.23. Webmin: Configuración de eth0 . . . . . . . . . . . . . . . . . . . . . . 112
4.24. Webmin: archivo /etc/hosts . . . . . . . . . . . . . . . . . . . . . . . . 113
4.25. Webmin: Editar direcciones de servidores . . . . . . . . . . . . . . . . 114
4.26. Configuración de Módem con modemconf . . . . . . . . . . . . . . . . 115
4.27. Linuxconf: en consola para configurar red . . . . . . . . . . . . . . . 116
4.28. Linuxconf: Interfaz PPP . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.29. Conexión a Internet con Kppp . . . . . . . . . . . . . . . . . . . . . . 118
4.30. Configuración de una nueva conexión con Kppp . . . . . . . . . . . . . 118
4.31. Configuración del dispositivo serial con Kppp . . . . . . . . . . . . . . 119
4.32. Manejo de paquetes con kpackage . . . . . . . . . . . . . . . . . . . . 124
4.33. Manejo de paquetes con gnorpm . . . . . . . . . . . . . . . . . . . . . 125
4.34. Manejo de paquetes con rpmdrake . . . . . . . . . . . . . . . . . . . . 126
4.35. HardDrake: Herramienta de administración de dispositivos . . . . . . 127
4.36. HardDrake: Sound-wizard . . . . . . . . . . . . . . . . . . . . . . . . 128
4.37. Kudzu: Detección y configuración automática de Hardware . . . . . . 129
4.38. Sndconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.1. Bienvenida del servidor CUPS . . . . . . . . . . . . . . . . . . . . . . 135
5.2. CUPS: Labores de administración . . . . . . . . . . . . . . . . . . . . 136
ÍNDICE DE FIGURAS
x
5.3. CUPS: Descripción de impresora
. . . . . . . . . . . . . . . . . . . . 137
5.4. CUPS: Conexión de la impresora . . . . . . . . . . . . . . . . . . . . 137
5.5. CUPS: Modelos de impresoras . . . . . . . . . . . . . . . . . . . . . . 138
5.6. CUPS: Impresoras configurada . . . . . . . . . . . . . . . . . . . . . . 138
5.7. Printerdrake: Pantalla principal . . . . . . . . . . . . . . . . . . . . 139
5.8. Printerdrake: Tipos de conexión de impresoras . . . . . . . . . . . . 140
5.9. Printerdrake: Descripción de impresora . . . . . . . . . . . . . . . . 140
5.10. Printerdrake: Modelos de impresoras . . . . . . . . . . . . . . . . . 141
5.11. Ventana principal de Kups . . . . . . . . . . . . . . . . . . . . . . . . 142
5.12. Kups: Conexión de la impresora . . . . . . . . . . . . . . . . . . . . . 142
5.13. Kups: Impresora Local . . . . . . . . . . . . . . . . . . . . . . . . . . 143
5.14. Kups: Modelos de impresoras . . . . . . . . . . . . . . . . . . . . . . . 144
5.15. Kups: Descripción de impresora . . . . . . . . . . . . . . . . . . . . . 144
5.16. Kups: Confirmación de Impresora configurada . . . . . . . . . . . . . 145
5.17. Linuxconf: Tareas como servidor . . . . . . . . . . . . . . . . . . . . 146
5.18. Linuxconf: Configuración de NFS . . . . . . . . . . . . . . . . . . . . 147
5.19. Configuración de Samba con swat . . . . . . . . . . . . . . . . . . . . 149
5.20. Swat: Compartir directorios con Samba . . . . . . . . . . . . . . . . . 149
Índice de cuadros
2.1. Lista de algunos dispositivos bajo Linux . . . . . . . . . . . . . . . . 20
3.1. Comandos Linux/Unix de manipulación de archivos y directorios . . . 56
3.2. Comandos Linux/Unix más frecuentes . . . . . . . . . . . . . . . . . 56
3.3. Equivalencia de comandos Linux/Unix y DOS . . . . . . . . . . . . . 57
3.4. Interpretes de comandos en Linux/Unix . . . . . . . . . . . . . . . . . 58
3.5. Variables de entorno más usuales . . . . . . . . . . . . . . . . . . . . 59
3.6. Algunos filtros en lı́nea de comandos Linux/Unix . . . . . . . . . . . 62
3.7. Instrucciones bash para programación shell . . . . . . . . . . . . . . . 64
3.8. Archivos de bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.9. Directorios de Linux más frecuentes . . . . . . . . . . . . . . . . . . . 68
3.10. Subdirectorios de usr . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.11. Subdirectorios de var . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.12. Sistemas de archivos más comunes . . . . . . . . . . . . . . . . . . . . 72
3.13. Opciones del comando mount
. . . . . . . . . . . . . . . . . . . . . . 73
3.14. Herramientas mtools . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.1. Posibles interfaces de administración . . . . . . . . . . . . . . . . . . 83
4.2. Opciones básicas de rpm . . . . . . . . . . . . . . . . . . . . . . . . . 122
xi
Prefacio
Presentación
Este libro pretende recopilar la experiencia de mas de 10 años trabajando con
GNU/Linux y de observar toda su evolución Despues de varios años de estar enseñando como administrar linux se desarrolla la teoria de la unificación.
Este libro ha pasado por varios titulos y nunca supe escoger alguno, y por esto tiene
tres: La teoria de la unificacion de mi formación como fı́sico mostrando que hay una
ley por encima de todo y que las dstribuciones no son mas que instancias de casos
particulares de esa ley; la administración por capas que quiza no soy el autor original
de la teorı́a pero yo lo bautizo asi, mostrando lo que siempre ha sido un paradigma
de UNIX en el que las herramientas complejas se construyen como la integración
de herramientas simples de proposito especifico, esto lleva a que GNU/Linux tenga
cinco capas de operacion en las que se puede mover un administrador: (1) Archivos de
configuracion, (2) comandos en linea, (3) Menus en consola, (4) Aplicaciones graficas
X11 y finalmente administracion remota via www u otro mecanismo, entocnes quedo
con un tintulo mas largo que el mismo libro.
Esta guı́a no esta orientada a principiantes en el área de sistemas, ni a usuarios
finales de ordenadores instalados con GNU/Linux. Para obtener el máximo provecho es recomendado que el lector tenga algun tipo de formación y conocimiento
en administración de sistemas.
El temario está dividido en cinco capı́tulos: el primero se dedica a la presentación de
Linux, historia y caracterı́sticas técnicas; el segundo muestra la instalación de Linux;
xiii
xiv
Prefacio
el tercero enseña al usuario a utilizar las interfaces gráficas; el cuarto capı́tulo ilustra
la forma de realizar las configuraciones básicas para tener un sistema funcional y el
quinto y último lo instruye en las ordenes básicas y el funcionamiento general del
sistema.
Esta guı́a se basa originalmente en el libro Curso Linux del Club de Informática Diskóbolo (http://diskobolo.mat.ucm.es) de la Universidad Complutense de
Madrid, escrito por Francisco Javier Ahijado Martı́n-Navarro (iCesofT) y David
Flores Santacruz (Castor) en el año 1997. En el año 1998 es actualizado, y ampliado por integrantes de el grupo de Usuarios de Linux en Colombia LinuxCOL
(http://www.linuxcol.org) en la Universidad de Los Andes en Santafé de Bogotá,
Colombia, particularmente por su director: Jaime Enrique Gómez Hernández (Kasandra).
En los años siguientes se continuó trabajando, actualizándolo, ampliándolo y construyendo versiones para cada distribución importante en le momento hasta llegar
a incluir seis diferentes: RedHat, Mandrake, Conectiva, SuSE, Slackware y
Debian. Aún, seguro se comparten algunos párrafos originales de Curso Linux,
pero en la actualizada ya lo supera ampliamente, no solo en tamaño sino en su
En el año 2005, el autor ahora trabajando para SkinaTech, hace otro giro radical
(o quizá un retorno) y se opta por integrar todas las versiones en un solo libro y
seguir dos paradigmas trazados por el autor La teorı́a de la unificación y La
administración por capas que lleva a incluir un nuevo libro en la serie dedicado
exclusivamente a la administración.
La teorı́a de la unificación surge despues de mas de diez años observando evolución de GNU/Linux. La competencia entre varias casas productoras por el liderazgo del mercado ha empezado a perjudicar el movimiento de software libre y
al mismo GNU/Linux como su mayor exponente. Esta lucha ha llevado a desinformación y confusión entre los usuarios, perdiendo todas las ventajas ofrecidas por
el software libre como la independencia de proveedor y tendiendo hacia los oscuros
tiempos de UNIX en los cuales existian decenas de versiones no muy compatibles
entre ellas, cada una de ellas luchando por su porción de mercado, lo que los llevo
a su derrota comercial. Al igual que con UNIX, ha habido intentos de estandari-
Prefacio
xv
zación y unificación como LSB (Linux Standard Base), pero no es respetado del
todo por los fabricantes. Como la diferenciación es un viejo paradigma de mercadeo,
cada distribución ha tendido a separarse de las otras, pero no debemos olvidar que
Todos los linux son iguales, y que las diferencias son solo superficiales. Uno de
los enfoques de este libro es mostrar que la distribución no es sino un maquillaje
diferente de un mismo sistema y que es posible superar las particularidades de las
distribuciones y concentrarse en un único GNU/Linux.
El otro lineamiento que marca profundamente esta última versión del libro es La
administración por capas. Alguna vez en una conversación con un alumno que
me preguntaba que si era posible hacer determinada tarea en GNU/Linux y le
contestaba que en este medio no hay que preguntarse si se puede hacer sino de
cuantas formas es posible hacerlo. Dentro de esa gran gama de posibilidades se
pueden diferenciar cinco capas de interacción con el sistema:
1. Archivos texto
2. Comandos de consola
3. Menús en consola
4. Interfaz gráfica X
5. Acceso remoto
Entre más abajo nos encontremos, menos diferentes son las diferentes distribuciones
y se esta mas cerca del real GNU/Linux.
Prefacio
xvi
Convenciones
Dentro de este libro se trata de mantener una única convención de fuentes y estilos
para resaltar como se muestra a continuación:
Negrilla: Nombres propios de productos, compañı́as o empresas. Ejm: Mandrake
Itálica: Anglicismos o términos técnicos. Es prácticamente imposible prescindir
de estos términos aún cuando exista un equivalente en Español para la gran
mayorı́a Ejm: floppy.
“Comillas”: Términos a resaltar en Español. Palabras no completamente correctas, con significados adaptados o análogos de otros contextos. Ejm: memoria “virtual”
Typewriter: Programas o Comandos del sistema. Esto indica que se puede
escribir la palabra en una lı́nea de comandos y será ejecutada; De la misma
forma se utiliza para los nombres de directorios y para diferenciar el código de
scripts o el contenido de archivos texto. Ejm: startx
Sans serif: Selección en la pantalla durante un proceso. Principalmente en proceso de instalación y/o configuración. Ejm: Español. Si es una tecla a presionar
o un botón en interfaz gráfica se coloca entre paréntesis cuadrados. Ejm: [Aceptar]
Agradecimientos
A todos los integrantes del equipo de SkinaTech que colaboran todo el tiempo en el
desarrollo de este libro; y muy especialmente a mi esposa que está todo el tiempo
apoyandome y dándome ánimo.
Capı́tulo 1
Comenzando con Linux
1.1.
Descripción
Podrı́amos definir a linux1 como un sistema operativo basado en la filosofı́a de diseño
de UNIX compartiendo, por esto, una buena cantidad de caracterı́sticas de estos
últimos como: multiusuario, multitarea, memoria protegida, consumo de recursos
bajo demanda, etc. Como puede verse no es nada obsoleto, como algunas personas
han tratado de afirmar: un auto último modelo es tecnologı́a de punta aun cuando
se base en los mismos principios alguna vez descritos y puestos en práctica por
Daimler en 1898. Este se ha actualizado, mejorado, perfeccionado al nivel que todos
conocemos hoy en dı́a.
Al definirlo multitarea y multiusuario implica que puede haber varios usuarios utilizando un computador al mismo tiempo, y varios procesos ejecutándose a la vez.
Siendo rigurosos a menos que se tenga un computador con más de un procesador (o
un multicore o multithread) no es posible ejecutars varios procesos al tiempo. Sin
embargo el cambio entre un proceso y otro es tan rápido que da la impresión de
estar ejecutándose a la vez.
Como se ha mencionado antes, GNU/Linux es un sistema operativo que se desa1
Léase GNU/Linux cada vez que escriba Linux para ser justo con la participación tan importante
del proyecto GNU en la vida de Linux
1
2
Comenzando con Linux
rrolló para 386, por lo tanto los requerimientos mı́nimos, en términos actuales, son
irrisorios: un procesador 386 o superior y al menos 4 Mbytes de memoria para poder
ejecutarse, sin embargo con 4 Mbytes solo servirá para realizar tareas simples como
enrutador o servidor de impresión sin interfaz gráfica de usuario. Es necesario tener
8 Mbytes o mas para disponer de una interfaz gráfica. El espacio en disco duro requerido depende de lo que se quiera hacer y los programas que se deseen instalar.
Una instalación mı́nima del sistema pueden ser solo 40 Mbytes, pero se recomienda
al menos unos 200 Mbytes de disco para una instalación pequeña con una interfaz
gráfica muy sencilla. Considerando las distribuciones esto puede cambiar: por ejemplo con Slackware o Debian es posible tener instalaciones mı́nimas de 40 Mbytes,
mientras que SuSE pide 80 Mb y con RedHat o Mandriva actuales es necesario
alrededor de 800 Mb para el contenido mı́nimo. En el otro extremo del espectro
pueden usarse hasta 2 Gbytes de RAM en el kernel 2.2 y hasta 64 Gb en el 2.4 y
2.6 usando kernels PAE en arquitectura 32-bits, o 256 Tb en arquitectura de 64bits
AMD64; adicionalmente un CentOS estándar puede llegar a ocupar 5 Gb en disco
y los paquetes disponibles para Debian podrı́an superar fácilmente los 20 Gb.
GNU/Linux es un sistema operativo desarrollado inicialmente para la arquitectura
de procesadores 386 de Intel. Actualmente es el sistema operativo que mas plataformas soporta incluyendo procesadores de diversos proveedores y arquitecturas como
Alpha (AXP) de DEC/Compaq/HP, RS6000 de IBM, M68K y PowerPC de Motorola usados por Apple e IBM, IA64 o Itanium de Intel, Opteron y Athlon64 de
AMD, HP PA-RISC de Hewlett Packard, Sparc y Ultra Sparc de Sun, S390 de
IBM, procesadores MIPS usados por Silicon Graphics, IBM, DEC, CRAY, y
muchos otros que aparecen cada dia como las nuevas versiones para para celulares
y PDAs Cortex de ARM y Snapdragon de Qualcomm. Sin embargo, la versión
mas utilizada sigue siendo sobre la arquitectura x86 y sus equivalentes incluyendo la
familia Pentium (Clásico, MMX), Pentium Pro (Celeron, II, III, IV y Xeon), Core
2, i3, i5, i7 y Atom de Intel, la familia K5, K6 (I, II y III), K7, K8 (Duron, Athlon,
Phenom), FX, E-Series, A-Series de AMD, los 686 (MX y MII) y CyrixIII de Cyrix, C3, C3-2 (Nehemiah) y Nano de VIA, los Winchip (C6, 2, 2A y 3) de IDT, el
Crusoe y Efficeon de Transmeta y otros compatibles.
1.2 Historia
3
Este panorama ha cambiado desde la introducción al mercado de computadores de
escritorio de los procesadores de 64 bits: AMD, desde mediados de 2004 ofrece sus
propios diseños K8 (Opteron,Athlon64,Hammer,Turion,Phenom), con el atractivo
adicional de ser completamente compatibles con la arquitectura anterior de 32bits;
Intel desde el segundo cuarto de 2003 y en 2005 ofrece Pentium IV y Xeon con
tecnologı̀a EM64T (Extended Memory 64 Technology) y en el 2009 introdujo tres
nuevos diseños Core i3, i5 i7; y por último, el lanzamiento por parte de Microsoft de
sus sistemas para 64 bits progresivamente mas estables: Windows XP en el 2004,
Windows Vista 64-bits en el 2006, Windows 7 64-bits desde 2009, ahora el mas
nuevo Windows 8 ya exclusivamente de 64-bits, los que innegablemente confirma
el liderazgo de estas plataformas. Por esta razón, la presente guı́a está primordialmente orientada hacia la instalación en un PC (x86 64), aunque no deja de ser útils
como referencia para cualquier otra plataforma: una vez instalado, Linux se utiliza
y administra de la misma manera.
GNU/Linux ha roto la atadura perversa entre el hardware y el software. El
éxito de Intel y AMD estuvo siempre ligado al éxito de Microsoft y sus sistemas
operativos. En este momento cualquier fabricante puede, de forma independiente,
desarrollar el mejor hardware que el diseño y la tecnologı́a permita y tener, casi inmediatamentei, el sistema operativo y a su disposición un gran conjunto de aplicativos
incluyendo la plataforma de desarrollo.
1.2.
Historia
Linux es usualmente denominado como un UNIX mas. La respuesta a esto es un SI
y un NO. Linux es un sistema operativo “tipo” UNIX, pero no es un UNIX tal como
se verá a continuación.
4
1.2.1.
Comenzando con Linux
Unix
La historia comienza con Ken Thompson en el año 1969 en el grupo de investigación
de Bell Labs. Para usar un computador que estaba sin utilizar (un PDP-7), escribe
la primera versión de UNIX. Al instante, se une al grupo el reconocido Dennis Ritchie
que habı́a trabajado anteriormente en MULTICS. Muchas de las caracterı́sticas de
UNIX son heredadas de MULTICS como el interpretador de comandos (shell) y
la organización de directorios, aunque también se tomo ejemplo de otros sistemas
operativos como el MIT CTSS y del sistema XDS-940.
Thompson y Ritchie fueron felices en los años venideros trabajando en UNIX,
portándolo a máquinas mas grandes (PDP-11/20), desarrollando el lenguaje C, escribiendo gran parte del sistema en este lenguaje y agregándole funcionalidades como
el multiprogramming. Como era tan ampliamente usado en Bell Labs, progresivamente se fue filtrando a diversas universidades, tomando un nombre, una versión y
en ocasiones un release: Unix Versión 6 de 1976. Una anécdota divertida es que el
número de la versión lo daba el manual: UNIX Programmer’s Manual y no tenia
nada que ver con el desarrollo del código fuente del sistema.
En 1978 el control del proyecto fue asumido por el USG (UNIX Support Group)
dentro de AT&T, organización superior a Bell Labs, con la versión 7 del sistema.
Este grupo continua trabajando en el sistema agregando caracterı́sticas como el
Sun NFS y stream I/O system, hasta la versión 9 en 1989, la última liberada por
este grupo. Para el exterior: Universidades y Gobierno, se tenia otra familia de
distribuciones que inicia con el Sistema III en 1982 que era muy similar a la Versión
7 interna. Esta evoluciona a Sistema V en 1983. El USG también evoluciona y se
convierte en el USDL (Unix System Development Lab) el cual continua liberando
versiones del Sistema V: Release 2 en 1984 y Release 3 en 1987.
Las caracterı́sticas de UNIX, sobre todo su modularidad, llama la atención de muchas compañı́as y organizaciones, principalmente universidades, creando sus propios
grupos de investigación y desarrollo de UNIX. La principal es la Universidad de
California en Berkeley que da origen a la familia BSD (Berkeley Software Distributions), la cual llega a trabajar con DARPA (Defense Advanced Research Pro-
1.2 Historia
5
jects Agency) para desarrollar la versión 4BSD. En Berkeley se desarrollan tanto el
C-Shell como el editor ex/vi.
El desarrollo de BSD y Sistema V continua de forma paralela en muchas compañı́as
dando origen a la diversidad que se conoce en UNIX: DEC (Digital Equipment
Corporation) desarrolla Ultrix para su plataforma VAX para luego reemplazarla
por OSF/1 en plataformas Alpha AXP y luego por DEC/UNIX y True64; Sun
Microsystems produce Sun OS para su plataforma Sparc y luego Solaris para
Sparc/UltraSparc; Microsoft reescribe UNIX para máquinas 8088 dando origen a
al familia XENIX que influencia (no lo suficiente) a Windows NT y el resto de la familia; IBM crea AIX para toda su familia, desde PC’s hasta mainframes y la genealogı́a
continua extensamente: la familia BSD con FreeBSD, NetBSD y OpenBSD, IRIX
de Silicon Graphics, HPUX de Hewlett Packard, UNICOS de Cray, NexStep
de NeXT y MacOS X de Apple, Open Server y Unixware de SCO (anteriormente
Santa Cruz Operations), inclusive versiones académicas como XINU y Minix. Y esto
se sigue moviendo. En la figura 1.1 se puede observar una genealogı́a incompleta del sistema UNIX [silberschatz]. Una versión actualizada y completa puede ser
descargada de (http://www.levenez.com/unix/).
1.2.2.
GNU
Uno de los grandes actores en esta historia y que a veces es dejado a un lado es
Richard Stallman, quien en el año 1984 (siete años anterior a Linux) creó todo el
fundamento legal que protege y promueve todos los programas de libre distribución:
la Licencia Pública General o GPL (ver Anexo A).
La historia cuenta que el señor Stallman, el cual vivió la época cuando cada cual
escribı́a sus drivers 2 , se molestó porque un proveedor le dijo que no podı́a compartir
sus desarrollos sobre una plataforma con sus compañeros u otro usuario del mismo
hardware. De forma muy constructiva, Richard Stallman, en aquel tiempo en el
MIT, decidió fundar un grupo FSF (Free Software Fundation) con un proyecto
GNU (GNU is not Unix) con el propósito de hacer todos los programas necesarios
2
Cuando los hombres eran hombres cada uno escribı́a sus propios drivers. Conocimiento popular
6
Comenzando con Linux
Figura 1.1: Genealogı́a Incompleta de UNIX
1.2 Historia
7
disponibles libremente y contrató abogados para escribir la licencia que iba a guardar
los derechos del software que se iba a hacer en este proyecto y aquı́ fue cuando surge
la GPL.
Lo radical de la GPL es que es una licencia para garantizar el derecho de la comunidad de tener acceso a los programas y sus fuente. En resumen, en un programa
protegido por la esta licencia debe cumplir con las siguientes reglas:
El software se puede copiar, distribuir y utilizar libremente.
Siempre debe estar acompañado de su código fuente.
El código puede ser modificado libremente.
Las modificaciones mantienen mismas condiciones de la licencia.
No permite limitar a otros estos derechos al redistribuir.
Cualquier autor puede poner su software bajo la GPL.
Esto permite que los programas bajo esta licencia siempre estén disponibles, que se
dispone del código en caso que no se siga teniendo soporte de el, que puedo hacer
con el lo que mi capacidad intelectual me permita, siempre y cuando lo libere, con
la garantı́a que los demás harán lo mismo.
1.2.3.
Linux
En Septiembre de 1991, un estudiante universitario finlandés llamado Linus Torvalds,
publicó en el repositorio de la Universidad de Helsinki el código de un sistema
operativo tipo Unix para descarga protegido por la Licencia Pública General de
GNU (GNU/GPL). Las razones de esta iniciativa, desde escribirlo hasta publicarlo,
son aún hoy en dı́a, motivo de leyenda entre estas se cuentan conocer mejor su nuevo
386, imposibilidad de alterar el código de Minix, falta de novia, etc.
Lo dramático de su movida, fue que le entrego a un público ávido de un sistema
operativo libre, algo con lo cual trabajar y se dio una explosión de colaboración
8
Comenzando con Linux
alrededor del mundo hasta llevarlo, de 10 mil lineas en el 1991, a los niveles de hoy
en dı́a donde hay mas de 12 millones de lı́neas de código y miles de colaboradores.
Volviendo a nuestra disertación, Linux no comparte ni código, ni origen con ningún
UNIX, pero es considerado de la familia. Es casi como un familiar polı́tico de los
UNIX, digamos un el esposo de una tı́a: todos lo ven como de la familia, lo invitan
a la reuniones, se le tiene respeto, inclusive el sigue las costumbres de la familia, y
todo eso, sin compartir nada de su sangre o código genético.
Lo que Linux comparte con todos los UNIX es su filosofı́a de diseño, habiendo sido influenciado directamente por Minix3 , se continua basando en herramientas pequeñas
de propósito especifico modulares y eficientes, donde las herramientas complejas son
integración de muchas pequeñas.
Adicionalmente, contrario a lo que muchos pretender sugerir, el peligro de separación
en proyectos o lineas de desarrollo diferentes como ocurrió en la historia de UNIX
es mı́nimo: el código es abierto y por lo tanto no hay secretos que proteger, esta
protegido por la licencia GNU/GPL que obliga a publicar todos los cambios, mejoras
o arreglos que se le hagan y siempre se sigue la polı́tica de conciliación mas que la
de confrontación.
1.3.
Distribuciones
En sı́, Linux es sólo el núcleo del sistema operativo, pero necesita aplicaciones y
programas para “hacer algo”. Muchos han sido portados a Linux, otros han sido
creados especı́ficamente para Linux. Todos ellos se encuentran en Internet dispuestos
a que cualquiera los baje y los instale en su sistema.
Como esto es una ardua tarea no tardan en surgir compañı́as y organizaciones
dedicadas a reunir todos esos programas facilitando la tarea de crear un sistema Linux funcional. En la actualidad existe un sinnúmero de distribuciones
(http://www.distrowatch.org), en la que pueden distiguirse dos grandes familias
3
El código de Minix no fue usado por Torvalds porque este estaba protegido por licencias
bastante restrictivas
1.3 Distribuciones
9
con cuatro actores importantes (figura 1.2) 4 . Haremos mención detallada de las
mas importantes dentro del contexto mundial (En estricto orden alfabético).
Figura 1.2: Genealogı́a Incompleta de GNU/Linux
CentOS
CentOS (http://www.centos.org) es una reconstrucción 100 % compatible de RedHat Entrerprise Linux, cumpliendo estrictamente los requerimientos des redistribución de RedHat. Los principales cambios radican en remover las marcas y la
apariencia asociada con la casa matriz de el ”Prominente productor Norteamericano de Linux enterprise”. Al ser una reconstrucción a partir de los mismos fuentes,
es 100 % compatible con RedHat pero con la ventaja de ser completamente libre.
Otras ventajas son su creciente comunidad de desarrolladores y usuarios, reconstrucción inmediata, actualizaciones rápidas y múltiples medios de soporte IRC, listas de
4
Una versión actualizada y completa puede ser descargada de (http://nonplusx.wordpress.com/)
10
Comenzando con Linux
correos, foros y FAQ dinamico.
Tı́picamente, los usuarios de CentOS son organizaciones e individuos que necesitan
un sistema operativo de nivel empresarial sin el costo de la certificación y el soporte.
Particularmente es muy popular entre los proveedores de servicios de hosting, VPSs
y Nube.
Debian
Debian (http://www.debian.org) es una distribución bastante popular que no
está desarrollada por ninguna compañı́a sino que es fruto del trabajo de diversos
voluntarios en toda la comunidad de Internet. Es, por lo tanto, una distribución
completamente gratis y libre, en donde todo el software es de fuente abierta (Open
Source) con un grupo de selecto de licencias permitidas como BSD Modificada, X11,
MPL, Artistic, y por supuesto la preferida GNU/GPL5 , etc. Además es bastante
completa y estable gracias a su sistema de instalación de paquetes DEB y esta disponible en un sinnumero de plataformas. Sin embargo, tal vez sea algo difı́cil para
alguien que empieza por primera vez con Linux. Esto no quiere decir que si es la
primera vez que se va a instalar Linux y se tiene una Debian a mano vaya a ser
imposible instalarla.
Es importante mencionar que Debian es la única distribución que también ofrece
una versión de su distribución basado en otro kernel diferente a Linux: GNU Hurd.
Por su enfoque libre, esta distribución ha sido la que mas distribuciones ha generado
entre otras a Knoppix, Ubuntu y Kuine por mencionar solo unas pocas.
Oracle
La historia de Oracle con GNU/Linux data desde cuando declaran que no hay
mejor plataforma para correr su popular plataforma de base de datos. En su momento eran partners de RedHat y producian unos afinamientos especiales sobre
el sistema base llamándolo unbreakable GNU/Linux. A partir de 2006 inicia a
5
GNU Licencia publica General (Apéndice A)
1.3 Distribuciones
11
ofrecer su propia versión basada en RedHat - CentOS con sus desarrollos y mejoras particulares. Gracias a su músculo comercial y a su base instalada de clientes
ha venido socavando la ya establecida predominancia de RedHat en el mercado.
Mandriva - Mageia
Mandriva (http://www.mandrivasoft.com) surge originalmente como un clon de
RedHat incorporando las bondades del ambiente integrado KDE con la estabilidad
e instalación de RedHat. Años después, ya en su propio camino, con un excelente
instalador y buenas herramientas de administración en permanente desarrollo, es
una de las distribuciones mas vendidas en el mundo, ganando, desde sus inicios, varios premios como el Mejor producto Linux del año 1999 por la revista Linux World.
En principios del 2005 adquiere a la distribución brasileña Conectiva, lo que da origen al nombre Mandriva, en parte para satisfacer a sus nuevos socios pero también
para resolver los problemas con una demanda de los propietarios del nombre ”Mandrake el Mago”. Es una distribución que ha pasado por muchas afugias económicas
y venida a menos en los ultimos años, tanto ası́ que por temor de su desaparición
un grupo de usuarios hace una derivación del código fundando Mageia que viene
operando regularmente desde 2010.
Tiene varios hijos para aplicaciones especiales como PCLinuxOS y TinyME.
Red Hat - Fedora
Red Hat (http://www.redhat.com) es la distribución mas populares del mercado empresarial con algo de competencia de SuSE y Oracle Linux, y continua
dando origen a muchas otrass distribuciones. Muy sencilla de instalar, excelente
auto-detección y soporte de dispositivos, instalador gráfico y un conjunto muy completo de aplicaciones comerciales en su distribución oficial y cuenta con asociados
muy importantes como IBM, Oracle y SGI.
A finales del 2003 Red Hat deja de ofrecer versiones libres, solo concentrándose en
sus productos empresariales como RedHat Advanced Server y RedHat Enterprise
12
Comenzando con Linux
Edition con un licenciamiento cerrado, pero crea un proyecto nuevo conocido como
Fedora Core como su versión de desarrollo de libre distribución.
Fedora es la version de desarrollo y pruebas de RedHat, saca una version nueva
cada seis meses y por lo tanto es muy dinámica, con actualizaciones diarias e inclusive algunas veces comete errores en sus lanzamientos por ser muy de avanzada y
probar nuevas herramientas.
El cierre de las versiones RedHat da origen también a un conjunto de clones de
sus versiones comerciales. Estos recompilan los fuentes que están obligados a liberar
por GPL, retiran el nombre y los logos y obtiene versiones libres totalmente legales
y equivalentes.Entre ellos están WhiteBox, Lineox y el recomendado por el autor
CentOS.
SuSE
SuSE (http://www.suse.de) es una distribución alemana la cual combina el sistema
de paquetes de RedHat con una organización derivada de Slackware. Esta distribución es la mas popular en Europa y tiene un gran soporte para diferentes lenguas
incluido el Español. Es una de las más fáciles de instalar y configurar gracias a Yast
(Yet Another Setup Tool): una meta-herramienta de configuración, la cual provee un
sistema de instalación gráfica y de administración del sistema a prueba de fallas. La
distribución oficial viene además con una gran cantidad de paquetes, lo que implica
una instalación completa que supera los siete gigabytes en disco duro. Esta distribución se puede considerar como el extremo opuesto a Debian: muy celosa de sus
desarrollos, protegidos con licencias restrictivas y con poco cuidado de mantener y
retroalimentar la cultura del GNU/GPL.
En el año 2003, fue comprado por Novell al igual que Ximian y generan una agresiva y tı́midamente exitosa campaña de conquista de mercado de escritorios en su
empaquetamiento con el producto Novell Linux Desktop.
Despues de muchas criticas y despues de observar los resultados de RedHat con
Fedora, en 2006 lanzan OpenSuSE como versión de desarrollo y de libre distribución.
1.3 Distribuciones
13
Ubuntu
Ubuntu (http://www.ubuntulinux.org) es un sistema operativo completo para escritorio, originado en Debian, disponible libremente con soporte profesional y de la
comunidad. La comunidad Ubuntu esta constituida alrededor de los principios del
Ubutu Manifiesto: el software debe estar disponible libre de costo, que debe ser usada
por la gente en su lengua nativa y a pesar de cualquier dishabilidad, debe tener la
libertad de personalizar y alterara sus programas en la forma que ellos piense apropiada.
Ubuntu es una palabra antigua africana que significa ”Humanidad para los otros
2
Ubuntu Linux trae el espı́ritu de esta palabra al mundo del software. Se puede decir
sin temor a equivocarnos que esta distribución es la mas popular del momento en
ambiente de escritorio, siendo ofrecido por tambien en tabletas y teléfonos móviles.
Ha originado una gran familia de versiones como Kubuntu, Xubuntu, Ubuntu
Studio y derivados aún mas populares como Linux Mint , etc.
Capı́tulo 2
Instalación
2.1.
2.1.1.
Preliminares
Descripción
Para instalar GNU/Linux primero es conveniente recoger la información sobre
el hardware disponible: tarjeta de vı́deo, módem, tarjeta de red, dispositivo de
CD/DVD, etc. Ya que, aunque es difı́cil encontrar hardware no soportado por Linux
y durante la instalación se detecta automáticamente mucho del hardware presente,
es posible que durante el proceso se necesite conocer determinadas caracterı́sticas
sobre el sistema en el que se va a instalar.
2.1.2.
Preparación del PC
Componentes
Esta sección está dedicada a describir el hardware del PC según el punto de vista
de Linux. Este punto de vista es heredado de la filosofı́a Unix, en la que todo es
representado por archivos, incluidos los dispositivos de hardware. Por lo tanto, Linux
virtualiza el acceso a los dispositivos por medio de archivos que suelen estar en el
directorio /dev (por device: dispositivo). Se muestra un resumen de dispositivos en
15
16
Instalación
la tabla 2.1. Se incluyen en esta descripcion una serie de dispositivos ya considerados
obsoletos como los puertos paralelos o los ratones seriales, pero los concientemente
los hemos mantenido por completitud de la enumeracion.
Discos duros
IDE
Dentro de un PC antiguo pueden haber, usualmente, hasta cuatro discos IDE.
El sistema IDE agrupa varios estándares: el original IDE, el extendido EIDE
y las últimas versiones de alto desempeño UDMA/33, /66, /100 y /133. Las
versiones estándar solo soportan 2 discos por canal, mientras que algunas versiones especiales pueden llegar a 7 o mas dispositivos. Cada disco duro tiene
un nombre en Linux en función de como se haya conectado. Si el disco duro
está funcionando en el primer canal como maestro se llamará /dev/hda (hard
drive a), y si es esclavo /dev/hdb. En caso de que estemos en el segundo canal
IDE los nombres correspondientes serán /dev/hdc y /dev/hdd.
Es posible que sea un poco confuso todo esto y que no se tenga idea de donde
se encuentra el disco duro. En ese caso es bueno tener en cuenta que casi todos
los computadores vienen de fábrica con un solo disco duro que siempre es el
/dev/hda.
Un caso a notar son los dispositivos extraibles ATAPI (ATA Packet Interface)
que incluyen CD-ROM, DVD, ZIP y LS-120. Estos funcionan conectados como
un disco duro más y por lo tanto la nomenclatura es igual que si fuese un disco
duro. Dispositivos como /dev/cdrom o /dev/zip son simples vı́nculos simbólicos
al original: usualmente /dev/hdb o /dev/hdc.
SCSI
Las interfaces SCSI (Small Computer Systems Interface) son, en principio,
equivalentes a las IDE, solo que son mas versátiles (puede conectar discos, cintas, scanners y muchos otros dispositivos), son de mejor desempeño y también
mas costosas. Si el disco es SCSI, el esquema de nombres es similar, siguiendo
el orden de conexión fı́sica, pasando a ser en este caso /dev/sda, /dev/sdb,. . . ,
2.1 Preliminares
17
(SCSI disk a, b, . . . ). Las unidades de CD-DVD reciben nombres del tipo
/dev/sr0,. . . , /dev/srn y las cintas son del tipo /dev/st0,. . . , /dev/stn.
Es prudente mencionar que esta nomenclatura, en las ultimas versiones del
kernel ( ¡2.6.13) y gracias a Udev, se ha generalizado a todos los dispositivos
de almacenamiento: conectados a puerto paralelo1 , IDE, USB, Firewire o SATA
(Serial ATA) a los cuales se conectan discos duros, DVD, CDROM, BlueRay o
unidades de memoria de estado solido son asociados con discos SCSI recibiendo
esta misma nomenclatura. Por ejemplo es muy posible que la memoria USB
que posee, o su cámara digital, al ser conectada al equipo sea asociada al
dispositivo SCSI como /dev/sdb.
Unidades de disquete
Las unidades de disquete en Linux se llaman /dev/fd0 y /dev/fd1 (floppy
disk 0 ó 1), correspondiendo cada nombre a las unidades A: y B: en DOS.
Actualmente, los computadores nuevos ya no vienen con unidad de disquete
o poseen una única unidad por lo que sólo se podrá utilizar /dev/fd0. Como
se menciono anteriormente, las unidades ZIP y LS-120 no se conectan como
disquetes sino son dispositivos IDE o SCSI.
Existen otras unidades que, en cambio, si se conectan como disquetes, que son
las cintas tipo QIC-(40,80,3010,3020) o Travan TR-2,3 producidas por múltiples compañı́as como Iomega, HP, Colorado y Conner. Estas cintas son
conocidas dentro del sistema como floppy tape o ftape y utilizan diferentes dispositivos como /dev/qft0 y /dev/nqft0 o /dev/zqft0 en caso de usar compresión
en lı́nea.
Puertos de serie
Los dos dispositivos que comúnmente se conectan a los puertos serie son ratones y módems. En Linux los puertos seriales se denominan ttySx, por ejemplo
/dev/ttyS0 para COM1 y /dev/ttyS1 para el COM2. La anterior nomenclatura
de los puertos seriales /dev/cua0 y /dev/cua1 ya es considerada obsoleta.
1
Estos utilizan protocolos de emulación de SCSI como el PPA o IMM a través de la interfaz
paralela
18
Instalación
Existe un problema con los puertos serie en el hardware del PC y que puede
provocar problemas desconcertantes. Aun cuando existen cuatro puertos seriales por diseño, solo existen dos interrupciones asignadas para este servicio. Este
problema es independiente del sistema operativo e implica que, en general, no
se puede utilizar a la vez /dev/ttyS0 y /dev/ttyS2, ni tampoco /dev/ttyS1 y
/dev/ttyS3 (COM1 con COM3 y COM2 con COM4 en DOS, respectivamente).
Hay dos formas de superar este inconveniente: una, reasignar y otra compartir
IRQ’s entre dispositivos; ambas posibilidades son ampliamente soportadas por
el Linux.
Por lo general aquellos que tengan un ratón conectado a un puerto de serie
lo tendrán en /dev/ttyS0 y su módem deberá estar instalado en el /dev/ttyS1
o /dev/ttyS3. Si el ratón es tipo PS/2 (conector redondo) entonces estará en
un dispositivo especial llamado /dev/psaux o /dev/mouse0 y no usará ningún
puerto serial.
En caso que posea un conversor USB-Serial como los que usan los conectores de las PDAs Palm, estos serán asociados a dispositivos especiales como
/dev/ttyUSB0 o /dev/ttyUSB1.
Puertos Paralelos
Los uso más habituales para un puerto paralelo en el PC son la conexión a la
impresora y el uso de dispositivos paralelos-scsi como escaners y unidades de
CD-ROM o ZIP externas. El primer puerto paralelo, donde se suele conectar
la impresora, se llama bajo Linux /dev/lp0 (line printer 0), aunque también
podrá encontrarse con /dev/parport0.
Puertos USB
El soporte para dispositivos USB se incluye a partir de la versión 2.2 del
kernel y continua evolucionando dı́a tras dı́a. Los dispositivos USB se encuentran usualmente en /dev/usb pero aun hay diversidad en la forma de nombrarlos: /dev/ttyUSBx para Seriales, /dev/usb/dcxxxx para Cámara digital y
/dev/usbscannerxxx para Scanners.
2.1 Preliminares
19
Esta diversidad de nomenclatura esta originando toda una nueva forma de
llamar los dispositivos como se ve en el cuadro 2.1.
Tarjetas de red
Las tarjetas de red tienen una nomenclatura diferente a los otros dispositivos y
son del tipo eth0,. . . , ethN para ethernet y wlan0,. . . , wlanN si son inhalámbricas. Estas últimas han sido los dispositivos que han generado mas dolores de
cabeza en los últimos años. Aun cuando hay una buena cantidad de drivers
para la gran mayorı́a de ellas y un excelente soporte de casas productoras de
hardware, siempre estan apareciendo nuevos chips y puede encontrarse con
una que no esta incluida dentro del kernel.
Particiones
Los discos duros pueden ser divididos en compartimentos independientes entre sı́.
Estos compartimentos son llamados particiones y es el esquema que se seguirá para
repartir el disco duro entre DOS o Windows y Linux.
El número de particiones primarias de un disco duro está limitado a cuatro, aunque
una partición primaria puede ser sub-particionada en mas particiones lógicas por
el sistema operativo que la use. La información de como está particionado un disco
duro: su tamaño y tipo de partición es guardada al principio del mismo, y es un
estándar que siguen todos los sistemas operativos. Suponiendo que se tienen cuatro
particiones primarias en /dev/sda, estas serán denominadas por Linux /dev/sda1,
/dev/sda2, /dev/sda3 y /dev/sda4. Las particiones lógicas que se crean a partir
de una primaria-extendida se denominarán a partir de /dev/sda5 en adelante (ver
figura 2.1).
Existe un primer sector en el disco duro que no pertenece a ninguna partición llamado MBR (Master Boot Record) y contiene un pequeño programa de inicio que
es el primero en ejecutarse. Él es el encargado de iniciar el sistema operativo: MSWindows pone ahı́ el suyo. Este se cambiará por el que use Linux, que es por ejemplo
GRUB (GRand Unified Bootloader) y que permitirá escoger entre diferentes sistemas
20
Instalación
Dispositivo
Linux trad
Kernel 2.4
Devfs
Udev
Maestro 1er IDE
/dev/hda
/dev/discs/disc0
/dev/ide/hd/c0b0t0u0
/dev/sda
1ra part primaria
/dev/hda1
/dev/discs/disc0/part0
/dev/ide/hd/c0b0t0u0p1
/dev/sda1
2da part primaria
/dev/hda2
/dev/discs/disc0/part1
/dev/ide/hd/c0b0t0u0p2
/dev/sda2
3ra part primaria
/dev/hda3
/dev/discs/disc0/part2
/dev/ide/hd/c0b0t0u0p3
/dev/sda3
4ta part primaria
/dev/hda4
/dev/discs/disc0/part3
/dev/ide/hd/c0b0t0u0p4
/dev/sda4
1ra part lógica
/dev/hda5
/dev/discs/disc0/part4
/dev/ide/hd/c0b0t0u0p5
/dev/sda5
2da part lógica
/dev/hda6
/dev/discs/disc0/part5
/dev/ide/hd/c0b0t0u0p6
/dev/sda6
...
...
...
...
Esclavo 1er IDE
/dev/hdb
/dev/discs/disc1
/dev/ide/hd/c0b0t1u0
/dev/sdb
Maestro 2do IDE
/dev/hdc
/dev/discs/disc2
/dev/ide/hd/c0b1t0u0
/dev/sdc
Esclavo 2do IDE
/dev/hdd
/dev/discs/disc3
/dev/ide/hd/c0b1t1u0
/dev/sdd
CD ATAPI
/dev/cdrom
/dev/cdroms/cdrom0
/dev/ide/cd
/dev/sr0
ZIP ATAPI
/dev/zip
/dev/floppy/0
/dev/ide/fd
/dev/sda
1er disco SCSI
/dev/sda
/dev/discs/disc1
/dev/sd/c1b2t3u4
/dev/sda
1ra part primaria
/dev/sda1
/dev/discs/disc1/part0
/dev/sd/c1b2t3u4p1
/dev/sda1
2da part primaria
/dev/sda2
/dev/discs/disc1/part1
/dev/sd/c1b2t3u4p2
/dev/sda2
...
...
...
...
2do disco SCSI
/dev/sdb
/dev/discs/disc2
...
/dev/sdb
3er disco SCSI
/dev/sdc
/dev/discs/disc3
...
/dev/sdc
...
...
...
...
1ra cinta SCSI
/dev/st0
/dev/tapes/tape0
...
/dev/st0
1er CD SCSI
/dev/scd0
/dev/cdroms/cdrom1
...
/dev/sr0
...
...
...
...
1ra disquete (A:)
/dev/fd0
/dev/floppy/0
...
/dev/fd0
2da disquete (B:)
/dev/fd1
/dev/floppy/1
...
/dev/fd1
1er serie com1
/dev/ttyS0
/dev/tts/0
...
/dev/ttyS0
2do serie com2
/dev/ttyS1
/dev/tts/1
...
/dev/ttyS1
3er serie com3
/dev/ttyS2
/dev/tts/2
...
/dev/ttyS2
4to serie com4
/dev/ttyS3
/dev/tts/3
...
/dev/ttyS3
Módem
/dev/modem
/dev/modem
/dev/modem
/dev/modem/
Puerto PS/2
/dev/psaux
/dev/psaux
/dev/psaux
/dev/psaux
1er paralelo
/dev/lp0
/dev/lp0
/dev/printers/0
/dev/lp0
2do paralelo
/dev/lp1
/dev/lp1
/dev/printers/1
/dev/lp1
Cuadro 2.1: Lista de algunos dispositivos bajo Linux
2.1 Preliminares
21
operativos incluyendo DOS/Windows y MacOS, el que deseamos arrancar. GRUB
ha sido el programa preferido para esta tarea en los ultimos años, pero no es el único,
existen varias opciones comerciales y libres como LILO LInux LOader usado como
estándar por las primeras versiones de GNU/Linux.
Figura 2.1: Esquema general de división del disco duro en particiones
Linux necesita al menos una partición primaria o lógica para poder funcionar, pero
lo mı́nimo aconsejable es tener dos particiones: una dedicada a Linux para su sistema de archivos y otra de tamaño menor dedicada a la memoria de intercambio
denominada swap. La memoria de intercambio permite funcionar con más memoria
RAM (Random Access Memory) de la que en realidad se tiene: por ejemplo es posible tener 512 Mbytes de RAM y 1024 de swap por lo que el sistema parecerá tener
en realidad 1.5 Gbytes.
Esta memoria virtual no solo tiene como función aumentar la memoria RAM disponible sino que es uno de los punto claves en el desempeño de la máquina: Cuando un
proceso lleva un tiempo inactivo, este se graba o baja al disco, liberando memoria
RAM para otros procesos. Por supuesto el disco duro es mucho mas lento que la
RAM, por lo que sigue siendo bueno tener mucha RAM a la mano.
La recomendación general es tener de memoria de intercambio el doble de la memoria
RAM, pero existe libertad en su escogencia: si tiene una buena cantidad de RAM,
digamos 1Gb2 , tener un swap del mismo tamaño bastarı́a dado el tamaño de los
programas de hoy en dı́a; si se tiene poca RAM, digamos 32M, se puede poner 256M
2
Las particiones de swap solı́an tener el limite de 128 Mbytes, cual fue removido desde las
últimas versiones del kernel 2.2.
22
Instalación
de swap, lo que aumenta las posibilidades de la máquina, pero no aumentarı́a para
nada su desempeño.
Linux es capaz de distribuir su sistema de archivos en varias particiones, lo que
tiene una clara ventaja: si una partición falla el resto de los datos correspondientes
a otras particiones sigue intacto. Aunque una instalación casera y por primera vez
será suficiente con tener todo el sistema de archivos en una sola partición.
Re-partición del disco
GNU/Linux necesita sus propias particiones, y si ya se tiene instalado
DOS/Windows es necesario quitar un “trozo” de su partición. Existe forma de instalar Linux en un directorio de DOS(FAT) o NTFS, pero no es recomendado por
seguridad y desempeño. Reparticionar un disco duro normalmente significa destruir
la partición actual y volver a crear unas nuevas, perdiendo todos los datos que este
pudiese contener. Sin embargo, existen varios programas en la actualidad que permite reparticionar sin perder los datos: con las diferentes distribuciones de Linux viene
una utilidad que permite cambiar el tamano de particiones FAT, VFAT, FAT32 y
NTFS3 .
Todas las distribuciones permiten realizar esta labor automáticamente, sin intervención del usuario, pero como el objetivo de este libro es entender como funciona
GNU/Linux, continuamos con el procedimiento manual.
Para utilizar la herramienta de re-particionamiento se debe seguir una serie de pasos:
1. Copiar los datos importantes.
Reparticionar un disco es una operación delicada en la que un error puede
representar la pérdida de datos4 , por ello es recomendable copiar todos los
datos importantes antes de hacer nada. De todas formas, aunque no se vaya
a instalar Linux ni se vaya a reparticionar el disco duro, es conveniente tener
3
Tambien existen algunos productos comerciales disponibles en el mercado como Partition
Magic o Patition Manager, pero de igual manera, siempre se recomienda tener un buen backup
de esta partición antes de realizar cualquier tarea
4
Al autor nunca le ha ocurrido, pero aún se reconoce el peligro
2.1 Preliminares
23
siempre una copia de seguridad de los datos importantes; los problemas nunca
avisan.
2. Leer la documentación
Es importante leer la documentación de la herramienta, existen muchos aspectos y detalles correspondiente a particularidades del hardware que se deben
tener en cuenta.
3. Defragmentar el disco duro.
Para poder dividir la partición eficientemente es recomendado que todos los
datos estén al principio de la misma. No es necesario pero es una buena practica. Para defragmentar se puede usar la utilidad defrag de DOS/Windows.
4. Tener a mano un disco de rescate
Para tener una salida rapida en caso que ocurra un incidente, es importante
tener un mecanismo de arranque del sistema o un sistema de rescate. Los
nuevos sistemas permiten generar ya sea un CD/DVD de rescate o colocarlo
en una memoria USB.
Si aun tiene un antiguo DOS/Windows con unidad de disquete, se debe crear
uno de arranque del sistema operativo y copiar a él los ficheros FIPS.EXE,
RESTORRB.EXE y ERRORS.TXT. También se debe copiar FDISK.EXE. Si se encuentra en DOS seguramente esta en C:\DOS y si esta en Windows se halla en
C:\WINDOWS\COMMAND. Para crear un disquete de arranque se utiliza simplemente la orden FORMAT A: /s.
5. Arrancar el instalador / particionador.
Encienda el ordenador y arranque por el instalador (CD/DVD), el ordenador
deberá ejecutar el sistema operativo contenido en ésta. Siga las instrucciones
hasta llegar al particionamiento del disco. Este mostrará los resultados del
diagnostico del disco y si todo esta correcto, dará la opción de dividir la partición actual en dos, ajustando el tamaño disponible. Siempre mueva la parte
final de la particion de MS-Windows y nunca el inicio, esto puede dañar su
habilidad para arrancar.
24
Instalación
Es importante tener en cuenta que en algunos ordenadores, principalmente
portatiles, existen dos particiones de MS-Windows: una para el sistema operativo y otra muy pequeña para el sistema de rescate.
El espacio disponible, removido de la particion principal se dedicará a
GNU/Linux.
6. Crear nuevas particiones.
Para un sistema básico necesitará como mı́nimo dos particiones, uno para
memoria virtual swap y otro para el sistema operativo.
Un tamaño mı́nimo para Linux usable puede ser de unos 5 Gb, aunque todo
dependerá de las aplicaciones que se piense instalar y del espacio libre en el
disco duro: Las nuevas versiones de GNU/Linux que vienen en un DVD puede
superar los 10 Gbytes, claro tenga también en cuenta el espacio para sus datos
personales.
2.2.
Proceso de instalación
2.2.1.
Objetivo de la instalación
El objetivo es instalar Linux en un computador con una configuración tı́pica de
fábrica. Esta es un solo disco duro IDE/SATA, con una sola partición primaria
dedicada totalmente a Windows/DOS/MacOS. Una vez terminada la instalación se
deberá tener una primera partición dedicada a Windows/DOS/MacOS, una segunda
partición dedicada al espacio de intercambio para Linux y la última para contener
todo el sistema de archivos de Linux. Además se instalará en el MBR del disco duro
el GRUB de forma que se podrá escoger entre los dos sistemas operativos instalados
a la hora de arrancar.
2.2 Proceso de instalación
2.2.2.
25
Iniciando la instalación
Para poder instalar Linux se ha de iniciar una versión especial del sistema operativo
preparada para realizar todo el proceso. Para hacer esto existen como mı́nimo tres
opciones disponibles, de las que mencionaremos las mas populares en su orden de
importancia incluyendo algunas ya obsoletas:
1. Inicio ATAPI (CD/DVD): Su computador puede iniciar el sistema operativo directamente desde el CD/DVD con tan solo dejar el disco en la unidad
lectora y reiniciando el computador. Si esto no ocurre es posible que sea necesario presionar una tecla de función, dependiendo del BIOS puede ser F9 o
F11. Lea rápidamente el mensaje en pantalla al arranque del computador
En ocasiones es necesario cambiar en el BIOS del computador la secuencia
de arranque para iniciar iniciar desde el ATAPI CD/DVD. En el momento de
inicio del computador presione la tecla [Del] o la que indique el sistema para
iniciar el setup: puede ser [F1] o [F2] según el fabricante. Una vez dentro, escoja
BIOS FEATURES SETUP y cambie la secuencia de inicio Boot Sequence a algo
como CDROM,C,A. Esta escogencia puede cambiar, en algunos BIOS se tiene un
menú propio para la secuencia de arranque (figura 2.2). Si no se quiere estar
cambiando los parámetros no hay que preocuparse, simplemente se actúa como
si el computador no tuviese esta caracterı́stica.
2. Dispositivos USB: Las últimas versiones de BIOS permite tambien el inicio
por dispositivos USB, ya sean memorias, unidades de CD o cualquier otro
medio de almacenamiento.
Los pasos para lograr un inicio exitoso son idénticos al anterior punto, pero es
conveniente advertir que no todas las distribuciones soportan estas opciones.
Si la eleccion es una memoria USB, es necesario copiar la distribucion y/o
los archivos de arranque para que pueda ser usada. En distribuciónes live CD
como Ubuntu ofrecen programas que permiten copiar toda la distribución en
un memoria booteable. En otras distribuciones como Fedora-RedHatofrecen
imagenes para ser copiadas en memorias USB e iniciar desde ahi la instalación.
26
Instalación
Figura 2.2: Selección CD-ROM como primer dispositivo de inicio
2.2 Proceso de instalación
27
3. Disquetes de Arranque: Si aún ası́ falla y no se consigue iniciar la instalación, queda la posibilidad de arrancar desde disquete siempre y cuando posea
una unidad lectora y su distribución de elección aun lo soporta. Debido al
tamaño limitado de un disquete (1.44 Mb), el sistema de instalación no puede
ser copiado un disquete, ni siquiera un kernel completo con todo el soporte de
hardware, entonces se ofrece un conjunto de imagenes, unas con soporte particular de software, con drivers adicionales y cada una con una caracteristica
diferente, como el medio de instalación tanto local como remota (cdrom, hd,
network) y soporte de hardware en el equipo (usb, pcmcia). Primero es necesario escoger una imagen de disquete indicada para las condiciones de instalación.
En el directorio images (install) se encuentra una serie de imágenes:
boot.img: Imagen de inicio estándar.
cdrom.img: Instalación estándar desde CD-ROM.
network.img (bootnet.img): Instalación por red usando los protocolos
FTP, NFS o HTTP
pcmcia.img: Instalación en portátiles con tarjetas PCMCIA. La fuente
puede ser CD-ROM o disco duro.
network_drivers.img: Drivers para tarjegas de Red
Debian necesita al menos dos disquetes para iniciar la instalación: el rescue
y el root.
rescue.bin: Disquete de arranque.
root.bin: Sistema instalador.
sbm.bin: Smart Boot Manager, arranque genérico.
bf24.bin: Disquete de arranqe con kernel 2.4.
Slackware tambien requiere un grupo de disquetes para iniciar la instalación. Las imágenes de boot terminadas en la letra ı̈”son para soporte de
canales IDE, mientras que las terminadas en la letra ”s”son para dispositivos
SCSI. Algunos ejemplos representativos y quizá los mas importantes son:
28
Instalación
bare.i: Estándar con soporte IDE incluido ATAPI/CD-ROM.
usb.i: Adiciona al bare.i el soporta USB.
scsi.s: Instalación con soporte SCSI (casi todos).
iomega.s: Con soporte SCSI sobre paralelo de dispositivos IOMEGA.
Las imágenes de ıroot son:
install.1,2: Discos de Instalación estándar de Slackware.
pcmcia.dsk: Disco adicional para soporte de portátiles.
network.dsk: Disco adicional para soporte de dispositivos de red.
Estas dos últimas distribuciones ofrecen una imagen que puede obviar todas las
anteriores imagenes mencionadas : sbootmgr.dsk que al iniciar por la unidad
de disquete, permite seleccionar posteriormente entre varios dispositivos para
el arranque como el cdrom o el disco duro haciendo las cosas extremadamente
simples.
Para hacer el disco de arranque se introduce un disquete de 3.5 pulgadas
sin errores en la unidad. Si esta usando MS-DOS/Windows, en el directorio
dosutils del CD-ROM, se encuentra el programa rawrite.exe que se utiliza
de la siguiente forma:
C:\> d:
D:\> cd \dosutils
D:\dosutils> rawrite
Enter disk image source file name: ..\images\laimgn.img
Enter target diskette drive: a:
Please insert a formatted diskette into drive A: and
press --ENTER-- : [Enter]
D:\dosutils>
o en una sola lı́nea de comandos
D:\DOSUTILS>rawrite -f ..\images\laimgn.img -d a:
2.2 Proceso de instalación
29
Es recomendable realizar esto desde el modo DOS, ya que desde una consola
MS-DOS de Windows pueden presentarse problemas. Si no desea salirse a DOS
es recomendable usar rawritewin.exe el cual realiza la misma tarea desde una
ventana(ver figura 2.3).
Figura 2.3: Copiando disco de arranque desde Windows
Si se encuentra en linux basta con la siguiente linea de comandos para transferir
la imagen al disquete.
# dd if=laimgn.img of=/dev/fd0
Las últimas generaciones de distribuciones ya no ofrecen imágenes de disquetes
por su limitada capacidad y a cambio ofrecen una imagen de un CD de inicio
boot.iso que permite escoger otras opciones de medios de instalación como
disco duro o medios remotos usando de protocolos como ftp o http.
4. Autoboot: Si se utiliza MS-DOS/Windows-9x, y se cuenta con una distribución que ofrezca esta opcion, se debe primero salir de la interfaz gráfica. Una
vez se esta en modo DOS, en la unidad de CD-ROM se encuentra el directorio
DOSUTILS y desde allı́ se ejecuta el programa AUTOBOOT.BAT. Con esta orden
se iniciará Linux directamente desde el CD-ROM y comenzará la instalación.
Es posible que desde DOS no tenga soporte para CD-ROM, entonces antes
de ir a modo DOS copie el archivo AUTOBOOT.BAT y el directorio AUTOBOOT a
un un directorio temporal de su disco duro y desde ahı́ ya podrá arrancar la
instalación
30
Instalación
2.2.3.
Pasos a seguir
Recopilando las instalaciones de todos los sistemas operativos, se puede observar
que la información necesaria y las tareas a realizar son en gran parte las mismas. En
algunos sistemas operativos, el instalador toma desiciones por el usuario haciendo
la interacción mas sencilla, pero por supuesto, su potencial es mas limitado.
La secuencia que vamos a presentar es :
Sistema
• Teclado: Español
• Paı́s: España
• Huso horario: GMT-5
• Teclado: Español
Hardware
• Impresora: Sin Impresora
• Ratón o Glide: USB botones genérico
• Tarjeta de sonido
• Interfaz gráfica: VESA Genérica
Redes e Internet
• Red - lan - inhalámbrica
Seguridad
• Nivel de seguridad: Estándar
• Cortafuegos: Inhabilitado
Arranque
• Cargador de Arranque: GRUB en /dev/sda
2.2 Proceso de instalación
31
• Servicios: 40 activados de 56 registrados
Una vez ha comenzado la instalación es cuestión de seguir cada paso que indica el
computador. Hay dos posibilidades de interfaz: una gráfica (por defecto) y otra en
texto, pero ambas son equivalentes. En este texto solo se presentarán las pantallas
gráficas en X11. Si se tiene problemas para la instalación gráfica, ya sea porque su
tarjeta no cumple con el estándar VESA o por cualquier otra razón, el instalador
entrará por defecto al modo texto. Se puede intentar un modo gráfico de baja resolución, presionando en el inicio [F1], para mas opciones y escribiendo en la pantalla
de presentación “vgalo” o la simple consola de texto escribiendo “text” y ası́ se
comenzará la instalación en el modo escogido.
boot: text
La primera pantalla muestra DrakX: la instalación gráfica de Skina GNU/Linux
Linux. A la izquierda se muestra la secuencia de tareas a seguir, divididas en dos
grandes grupos: instalación y configuración; a la derecha se presenta el proceso actual
con botones en la parte inferior que siempre incluyen una ayuda y el avanzar a la
siguiente etapa. En algunas pantallas también se presenta el botón de [Avanzado]
para opciones de mas alto nivel.
La instalación se ha simplificado radicalmente comparada con versiones anteriores,
aunque también ha perdido algunas caracterı́sticas llamativas como la posibilidad
de seleccionar independientemente los pasos y los temas de la presentación.
A continuación se pregunta por el lenguaje que se desea usar durante la presentación.
Por defecto se sugiere el Inglés, pero se permite realizarla en Castellano (Español),
el cual es ofrecido con varios regionalismos. (figura 2.4).
Una vez se escoge el idioma se presenta la licencia de Skina GNU/Linux . Es prudente
y aconsejable leer con detenimiento esta licencia, en ella se expresan los derechos y
deberes que tiene la casa matriz productora de la distribución y el usuario.
Una vez se ha leı́do la licencia el sistema procede a detectar los dispositivos de
almacenamiento SCSI e IDE. DrakX puede instalar el soporte para la mayorı́a de
32
Instalación
Figura 2.4: Escogiendo un lenguaje para la instalación
dispositivos de forma automática, en caso que no lo logre preguntará por los parámetros del dispositivo: posiblemente la dirección de entrada/salida y la interrupción
que utiliza.
Ahora se procede con la selección de dispositivos de entrada y salida iniciando por la
escogencia de el teclado (los ratones y otros dispositivos apuntadores son detectados
automaticamente). Se busca el modelo que corresponde al que se encuentra usando.
Para este caso se escogerá el teclado Español (figura 2.5). También se da otra opción
de configuración: Estadounidense (con acentos), pero si se desea uno diferente a los
ofrecidos por defecto, se presiona [Mas] para ver las otras opciones de configuración
de teclado.
Una vez se ha escogido el teclado, se pregunta por el nivel de seguridad del sistema.
Existen tres opciones de un extremo a otro. La seguridad Baja esta orientada a
estaciones de trabajo en redes locales, mientras que la opción Alta es recomendada
para servidores, i.e. máquinas con muchos usuarios. Se escoge Media/Alta, aunque
la última, un usuario anterior de Linux/Unix puede encontrarla un poco restrictiva.
2.2 Proceso de instalación
33
Figura 2.5: Seleccionando modelo y distribución del teclado
2.2.4.
Creando las particiones para Linux
A continuación, el sistema presenta la pantalla de selección del Sistema de Archivos.
DrakX usa la herramienta gráfica diskdrake para realizar esta labor. La gráfica
muestra, en colores, la forma en que se encuentra particionado el disco duro: rojo
para ext2, verde para Swap, azul para FAT (Windows) y blanco para vacı́o. Al
seleccionar una partición en la parte inferior se muestran las posibles operaciones
con ella (izquierda) y la información de su estado actual (derecha). En la parte
inferior se encuentra el botón de [Asignación automática], el cual realiza la tarea por
el usuario y esta recomendado por el autor. Aquı́ se prefiere realizarlo de forma
manual ya que se quiere controlar el tamaño de las particiones. Todos los cambios
que se hagan no serán guardados hasta que se seleccione [Hecho ]. Si en cualquier
momento se descubre que se ha cometido un error grave se podrá recuperar el estado
inicial presionando en la derecha la opción [Mas]→[Recargar] y este reiniciará el
proceso. Una vez que se haya seleccionado [Hecho] y aceptado los cambios no existe
posibilidad de recuperar el estado inicial (figura 2.6).
Si se ha seguido las instrucciones de esta guı́a existirá una primera partición para
34
Instalación
Figura 2.6: Editando particiones con Diskdrake
DOS/Windows (Azul) y un espacio vacı́o a continuación. Si este es el caso, se selecciona el espacio vacı́o y a la izquierda la opción [Crear] para añadir una nueva
partición, diskdrake presentará una caja de dialogo con la siguiente información
(ver figura 2.7):
Sector de comienzo: el cual se deja en el valor por defecto, a menos que se
quiera la partición en un lugar fı́sico particular en el disco.
El tamaño de la partición: en donde se introduce el valor en Megabytes de la
partición. Este valor puede ser escrito o usar la barra de scroll.
Tipo de sistema de archivos: Linux native para los archivos de Linux y Linux
swap para la partición de intercambio
Punto de montaje: El directorio donde sera asignado la partición. Si es una
partición dedicada a todo el sistema de archivos de Linux habrá que introducir
el sı́mbolo “/” que significa el directorio raı́z. La partición de intercambio no
tiene punto de montaje.
2.2 Proceso de instalación
35
Preferencia: Extendida o Primaria si se desea una partición lógica o una primaria
Figura 2.7: Agregar una partición
Entonces se crea primero la partición de intercambio como estaba planeado: se pulsa
sobre la partición vacı́a, y sobre [Crear], no se introduce ningún punto de montaje;
el tamaño será lo que se desee, seguramente 128 Mbytes como mı́nimo y el tipo
será Linux swap. Como se menciona anteriormente, el tamaño de 128 Mbytes para la
partición de intercambio es solamente tentativo, dependiendo del uso del sistema y
de la memoria RAM que tenga. Se presiona [Aceptar] para continuar. Y se observa
la nueva partición verde. Se presiona nuevamente lo que resta del disco en blanco y
se procede a [Crear]. El punto de montaje es “/” en donde ira todos los archivos de
Linux; de tamaño se toma todo el espacio restante y por supuesto el tipo será Linux Native. Después de [Aceptar] se tiene completamente copado el disco con tres
particiones y se encuentra listo para continuar seleccionando [Hecho].
Una vez creadas las particiones, el proceso instalación continua y la siguiente pantalla
pregunta que particiones formateará, estas particiones serán las que contengan el
sistema de archivos de Linux. Es posible que se haya creado algunas de las particiones
como lógicas y no primarias. En este caso hay que recordar que estas se llamarán,
por ejemplo /dev/hda5 o /dev/hda6. La lista de particiones muestra el nombre, el
punto de montaje y el tipo de formato y se seleccionan ambas presionando el botón a
su izquierda. Si presiona el botón de [Avanzado] tendrá la opcione de escoger Verificar
el disco en busca de bloques malos si lo desea (figura 2.8).
36
Instalación
Figura 2.8: Formato de particiones
2.2.5.
Selección de paquetes
A continuación se muestra una lista de componentes a instalar. Para alguien novato
puede presentar un problema porque no sabrá lo que es la mayorı́a de los paquetes.
No hay de que preocuparse, los componentes básicos necesarios para el funcionamiento de Linux se instalan automáticamente, lo que se puede seleccionar ahora son
grupos de programas relacionados. La recomendación en este punto es mixta: yo
personalmente, instalo todo lo que el espacio en disco me permita y gasto mucho
tiempo de mi vida investigando que tengo y para que sirve, pero aun ası́ no uso ni
el 30 % de lo instalado: otros recomiendan que instale solamente lo necesario ya que
mas adelante habrá tiempo de instalar y desinstalar los paquetes: Ambas posiciones
tienen ventajas y desventajas Ud. decide cual es su estilo o su necesidad (figura 2.9).
A continuación se presenta una descripción de los diferentes grupos y paquetes:
? Estación de Trabajo
• Estación de trabajo de oficina: Herramientas de productividad personal
(Abiword, Koffice, PIM’s, . . . )
• Estación de Juegos: Juegos tanto en consola como para X11
• Estación de Multimedios: Soporte para gráficas, sonido y vı́deo
• Estación de Internet: Navegadores, correo, etc.
2.2 Proceso de instalación
37
Figura 2.9: Seleccionando componentes a instalar
• Computadora de red (Cliente): Clientes de protocolos de red (samba, ssh,
telnet, ftp, . . . )
• Configuración: Herramientas de configuración de sistema (DrakConf, linuxconf, webmin, . . . )
• Estación de trabajo cientı́fica: Herramientas de para trabajo cientı́fico (octave, Xoscope, . . . )
• Herramientas para consola: Shells y filtros
• Desarrollo: Herramientas y librerı́as para el desarrollo de programas (Compiladores, depuradores, . . . )
• Documentación: Howtos y documentación general
• LSB: Linux Standard Base
? Servidor
• Servidor Web/FTP: servidor de paginas WWW (Apache) y servidor de
ftp (file transfer protocol) anónimo
38
Instalación
• Servidor Correo/Groupware/Noticias: Servidores de comunicación como correo y noticias (News)
• Servidor Bases de Datos: PosgreSQL y MySQL
• Servidor DNS/NIS: Servidor de Nombres Domain Name Server Y Paginas
amarillas Network Information System
• Computadora servidor de red: Servidores de red (telnet, finger, rwho, ssh,
...)
? Entorno Gráfico
• KDE: Interfaz de escritorio KDE basado en Qt
• Gnome: Interfaz de escritorio de Gnome, basado en GTK
• Otros entornos gráficos: Escritorios Enlightenment, Xfce, blackbox y Windowmaker
En la parte inferior se ofrece la posibilidad de seleccionar paquetes individualmente.
Esta opción se recomienda solo para usuarios con cierta experiencia ya que puede
ser larga y tediosa: Skina GNU/Linux K2.6 tiene mas de 1500 paquetes en su distribución GNU/GPL (figura 2.10). Al final de este libro, en el apéndice ?? se tiene
una tabla con la descripción de cada paquete incluido en esta versión.
La opción de instalarlo todo solo se recomienda siempre y cuando se tenga suficiente
disco duro: alrededor de 3.5 Gbytes. El sistema realiza una comprobación de espacio
y pedirá confirmación del tamaño de la instalación.
Una vez escogidos los paquetes el proceso de instalación dará inicio. La pantalla
de instalación indicará el tiempo que ha transcurrido, el tiempo total estimado y
el tiempo restante estimado (figura 2.11). Es posible que si indica la existencia de
otros CD-ROM, estos serán solicitados durante el proceso.
Establecer la clave del root y otros usuarios
A continuación hay que introducir una palabra clave o password para el usuario
root. Se introduce una clave dos veces, la segunda es de confirmación. No hay que
2.2 Proceso de instalación
Figura 2.10: Seleccionando paquetes individuales a instalar
Figura 2.11: Progreso del proceso de instalación
39
40
Instalación
preocuparse si no se ve lo que se escribe, se hace de esta forma para que nadie pueda
ver en la pantalla la clave (figura 2.12).
El root es el usuario con todos los privilegios en una máquina Linux; es aquella
persona, que puede configurar el sistema y adicionar otros usuarios menos “privilegiados”.
Figura 2.12: Password de root
A propósito, es también recomendado, tal como lo sugiere la siguiente pantalla,
adicionar un usuario corriente, por decir invitado o su usuario favorito, para ser
usado cotidianamente en vez de root. El usuario root solo debe usarse para labores
de administración y nunca debe usarse como una cuenta corriente, es muy peligroso,
ya que los errores de root tienen consecuencias para todos los usuarios.
Skina GNU/Linux tiene la opción de escoger un usuario para que el sistema entre
con el, siempre que se encienda sin necesidad de ingresar la clave. En el modo
experto esta opción no se ofrece, mientras que si se hace en el recomendado, aunque
siempre se puede configurar esta caracterı́stica después de instalado. Esta elección es
recomendada para cuando se esta migrando o si la máquina que se esta instalando
puede ser usada por otras personas y no se desea tener una cuenta para cada una
de ellas.
Es muy importante que no olvidar estas claves, si lo hace en teorı́a no se podrán
recuperar (en la práctica existen varios ”trucos”:-) ). Mas adelante se discutirá mas
detalladamente, sobre root, las claves y los usuarios.
Una vez adicionado los usuarios presione [Hecho] para continuar.
2.2 Proceso de instalación
41
En este momento, el proceso de instalación muestra una pantalla con el resumen
de la configuración hecha hasta ahora y algunos valores tomados por defecto. Para
configurar cualquiera de ellos basta con presionar con el ratón el botón asociado.
Figura 2.13: Centro de Configuración
El primero a cambiar es la zona horaria. En la caja de dialogo que se muestra
esta una lista de jerárquica en forma de árbol de Continente/Ciudad que rige las
diferentes zonas horarias en el mundo. Si no se encuentra la cuidad, se escoge una
que tenga la misma hora de su ubicación, por ejemplo América/Bogotá para toda
Colombia (figura 2.14).
Esta selección es muy importante para las correcciones horarios de los paı́ses con
estaciones. A la pregunta El reloj de su computador usa GMT? se contestará negativamente.
Configuración de la Red
La configuración de redes se inicia con la autodetección de dispositivos. Se solicita
aprobación para realizar este proceso ya que puede congelar la máquina. A continuación se presenta el menú de elección del tipo de conexión que se posee. Estos
42
Instalación
Figura 2.14: Escogencia de la zona horaria
son:
Conexión por Módem: Modulador/demodulador para conectarse vı́a telefónica
con el proveedor de servicio de acceso a Internet
Conexión RDSI: Igual que el módem pero usando lı́neas digitales
Conexión DSL o ADSL: (Asymmetric Digital Subscriber Loop/Line) Nuevo
tipo de conexión telefónica hasta de 1.5 Mbps
Conexión por cable: Conexión por fibra óptica, la misma de la TV por cable
Conexión a la red local: Conexión a red local
Conexión Inalámbrica: Conexión a una red inalámbrica (Wireless)
Si se esta en una red local, y se tiene una tarjeta de red, el sistema intenta autodetectarla y confirma si es la única tarjeta. Como siempre, si no se tiene éxito en la
autodetección, mostrará una lista de los dispositivos soportados para que el usuario
escoja la correcta.
2.2 Proceso de instalación
43
Mucha de la información necesaria para la red local debe ser proveida por el administrador de sistema o el departamento de soporte. Es posible que la red local en
la que se encuentra use DHCP (Dynamic Host Configuration Protocol) de tal forma
que un servidor remoto proveerá toda la información necesaria al computador. De
lo contrario será necesario introducir los datos manualmente y pedir que active la
interfaz de red en el momento del boot (figura 2.15).
Todos los valores relevantes a la conexión son:
Nombre de su computador: nombre y dominio (ejm: irulan.skina.com.co).
El número IP: Es un número único dentro de la red, asignado a su máquina. Este consta de cuatro números entre 1 y 254 separados por punto. (ejm:
192.168.1.12). Atención, este número no puede ser escogido arbitrariamente ya
que puede entrar en conflicto con otros computadores de la red5 .
Número IP de Máscara, Red y Broadcast: Estos números son estándar de las
redes y el instalador los trata de asignar automáticamente. Máscara son todos
255 y terminado en 0, Red es el número IP de la máquina pero terminado en
cero y Broadcast es terminado en 255. A menos que tenga una buena razón
para cambiar estos valores, no lo haga
Número IP del Portal, Pasarela o Puerta de Enlace (Gateway): Usualmente
existe un portal a través del cual se sale de la red local. Se acostumbra utilizar
el mismo número del servidor terminado en 254 o en 1. (ejm: 192.168.1.1) pero
no es una ley que se cumpla siempre.
Dispositivo de pasarela de red: Usualmente el dispositivo por el cual se conecta
a la pasarela (ejm: eth0).
Número IP del DNS (Servidor de nombres): La red local debe tener un computador que traduce números IP a nombres reales y viceversa, conocido como
5
Estos valores de red aquı́ mostrados son Clase C o sea red Local, no los use en su instalación,
son solo para ilustrar
44
Instalación
servidor de nombres. Este es necesario para que las diferentes máquinas se pueden encontrar entre si. Por supuesto puede usarse mas de uno como servidores
redundantes.
Proxies HTTP/FTP: Cuando se usa una máquina para negociar las conexiones
con Internet, esta se conoce como Proxy. Esta almacena temporalmente todo
lo que transita por ella poniéndolo a disposición de sus compañeros en la red
local y por lo tanto acelerando la navegación. Se suelen dar los valores de la
dirección IP y del puerto para el acceso (ejm: http://192.168.1.1:3128)
Es importante nuevamente resaltar que tanto los valores como el nombre no pueden
ser asignados arbitrariamente, sino que son dados por el administrador de red, ya
sea local o globalmente en Internet y muchos de estos son asignados por defecto por
el sistema o tienen valores que siguen estándares universales.
Figura 2.15: Configuración de la red local
Configuración de la conexión a Internet
La otra opción es la conexión usando módem, la cual es sin temor a dudas, la mas
popular. La configuración de la conexión pregunta si intenta encontrar el módem y si
2.2 Proceso de instalación
45
no tiene éxito, preguntará el puerto serial al cual esta conectado. Tal como se explico
anteriormente, este dispositivo sera /dev/ttySx, muy posiblemente el /dev/ttyS3
correspondiente al COM4 en DOS/Windows. Las caracterı́sticas de la conexión se
piden a continuación en una caja de dialogo (figura 2.16).
Nombre de la conexión para identificar esta conexión
Número de teléfono a cual se va a llamar
ID de conexión Su identificación de usuario
Contraseña Su palabra clave
Autenticación El tipo de autenticación. Por defecto es PAP
Nombre del dominio La extensión al nombre, ej: (skina.com.co). No requerido
Primer servidor DNS Servidor de Nombres primario. No requerido pero
recomendado
Segundo servidor DNS Servidor de Nombres secundario. No requerido pero
recomendado
No pierda su tiempo si tiene un winmodem ya que esta imitación de módem reemplaza el hardware real por el software del controlador convirtiéndolos en dispositivos
muy especiales, inclusive algunas compañı́as los llaman softmodems. Los mas antiguos tienen chips de marca PCtel y Rockwell pero ahora la diversidad es grande e
incluye también productos de Intel, Motorola, Lucent, IBM y 3Com, todos incompatibles entre ellos. La nomenclatura también es bastante confusa, hay módems
HSP (Host Signal Processor), DSP (Digital Signal Processor), HCF (Host Controlled Family), HSF (Host Signal Family), todos queriendo decir que es el CPU de la
máquina quien realmente hace el trabajo. Por supuesto, estos “conversores” análogo/digital son menos costosos pero tienen un valor negativo en el desempeño del
equipo. La mayorı́a de estos controladores ya han sido portados a Linux pero aún
46
Instalación
Figura 2.16: Configuración de la conexión por módem
no tienen la estabilidad suficiente para ser incluidos en el kernel (al menos en el 2.4),
ası́ que se debe confiar en los disponibles en Internet. Remı́tase al capitulo ?? para
instalar nuevo hardware.
Configuración de la impresora
El soporte para impresión se incluye por defecto en la instalación. Skina GNU/Linux
Linux solo incluye el nuevo sistema abierto de impresión IPP (Internet Printing
Protocol) en la forma de su implementación libre: CUPS (Sistema de Impresión
común de Unix) dejando a un lado el sistema tradicional estándar Unix lpr (Line
printer) usado anteriormente por todas las distribuciones y mantenido en algunas
pocas.
En la conexión de la impresora se escoge una impresora local. Linux puede utilizar impresoras conectadas al computador que se esta utilizando (paralelo, serial o
USB) o impresoras remotas en otros computadores, utilizando diversos protocolos:
LPR (Unix), SMB (MS-Windows), NCP (Novell Netware), CUPS o IPP (Internet
Printing Protocol) (figura 2.17).
2.2 Proceso de instalación
47
La primera pregunta a continuación es el Nombre de la impresora el cual tiene por
defecto lp, legado del sistema lpr, para el cual deberı́a dejarse de esta forma. Si
desea otro nombre, adicionelo usando el carácter pipe “|”. Por ejemplo lp|laser. La
descripción y la localización de la impresora es útil para su anuncio en la red.
Figura 2.17: Selección del nombre de la impresora
Como se escogió una impresora local, a continuación se detecta el dispositivo donde
está conectada y el modelo de la misma. Si no se tiene éxito, se pregunta al usuario
por el dispositivo y el modelo. Si no se está seguro de la respuesta se sugiere revisar
la sección dedicada a la descripción del hardware del PC bajo el punto de vista de
Linux. Normalmente la respuesta es /dev/lp0 como es sugerido. También se presentará ahora una lista de impresoras, se selecciona la correcta o la que más se parezca
al modelo a usar (figura 2.18).
Una vez configurada la impresora se presentará una pantalla de confirmación de la
configuración con la impresión de una página de prueba. Si se está conforme con
esta configuración se escoge [Hecho] y se presiona [Aceptar].
2.2.6.
Servicios en el Arranque
Todo Linux al iniciar, lanza varios programas que proveen servicios al sistema y
al usuarios conocidos como daemons o servidores silenciosos y mal traducidos se
conocen como demonios. Estos programas de servicios son muy livianos, pero es
48
Instalación
Figura 2.18: Modelo de la impresora
inútil e inseguro tenerlos corriendo si no se van a usar. En la siguiente pantalla se
escogen cuales van a ser lanzados al inicio del sistema. Al colocar el ratón sobre el
nombre se abre una ventana de ayuda que describe que hace cada uno. Se van a
mencionar solo algunos de los mas importantes para tener en cuenta.
acpi: Sistema moderno de ahorro de energı́a.
alsa: Sistema avanzado de Sonido de Linux.
apm: Sistema tradicional de ahorro de energı́a.
autofs: Controla el montaje automático de dispositivos extraibles como el CDROM y el disquete.
crond: Ejecuta programas con una frecuencia o fechas programadas.
cupsd: El programa que maneja las tareas de impresión CUPS.
cups-lpr: Servicio estándar lpr proveido por CUPS.
drakfont: Mantiene actualizadas las fuentes para X-Window.
2.2 Proceso de instalación
httpd: Apache servidor de páginas WWW y programas CGI.
kudzu: Detección y configuración automática de hardware.
lpd: El programa que maneja las tareas de impresión lpr.
named: El programa de servidor de nombres (DNS).
netfs: Monta los compartidos de red .
network: Activa y desactiva las interfaces de red.
pcmcia: Mantiene los dispositivos PCMCIA en los portátiles.
portmap: Gestor de conexiones RPC usados por otros servicios.
postfix: Agente de transporte de correo o MTA (Mail Transport Agent).
postgresql: Servicio para la base de datos PostgreSQL.
proftp: El servidor de FTP preferido por Skina GNU/Linux .
smb: Servicio de conexión a MS-Windows (Samba).
snmpd: Servicio de snmp (Simple Network Management Protocol).
squid: El muy conocido proxy-cache.
sound: Activa y desactiva dispositivos de sonido.
sshd: Acepta conexiones usando Secure Shell.
syslog: Sistema para mantener bitácoras.
telnet: Sistema tradicional de conexión remota.
webmin: Servicio de administración remota via http.
xfs: Servidor de fuentes para X-Window.
xinetd: Activa otros demonios y servicios como rsh, rlogin, etc.
49
50
Instalación
Instalando LILO
Como se mencionó en la sección anterior, LILO (Linux Loader) es un pequeño programa que se instala usualmente en el MBR y que permite seleccionar que sistema
operativo a arrancar. Este es necesario aún cuando Linux sea el único sistema en el
computador.
A continuación se pregunta por opciones de su instalación (figura 2.19), en su orden:
El tipo de sistema a instalar ya sea LILO grafico o LILO en texto y Grub, un
programa alternativo de seleccion de sistema operativo.
Grub: Opción alterna a LILO ofrecida por Skina GNU/Linux
LILO con menú gráfico: La nueva versión bastante llamativa
LILO con menú texto: Es posible que el menú gráfico no funcione
Como dispositivo de arranque es recomendado instalarlo en el MBR y para esto
se selecciona /dev/hda. No seleccione /dev/hda1 porque seguramente destruirá el
sistema de archivos de Windows/DOS. Por defecto LILO configura la Demora antes
de arrancar la imagen por omisión en 10 segundos y Estos pueden ser cambiados a su
gusto.
Si se presiona [Avanzada] se obtiene una extensión de opciones, que incluye, el uso
de lba el cual es recomendado para discos duros nuevos, pero algunos BIOS no
lo soportan; el modo compacto se ignora ya que solo es necesarios en casos muy
particulares; el modo de vı́deo Normal; si se quiere borra el /tmp al inicio el cual es
recomendado y finalmente la memoria RAM del sistema. Este ultimo valor puede
ser peligroso en algunas tarjetas madres que usan parte de la memoria RAM para
el vı́deo, entonces una máquina con 64 Mbytes, realmente tiene 56 porque ha usado
8 Mbytes para el vı́deo. Si escoge un valor equivocado por exceso, su Linux no
arrancara.
Sea cuidadoso al escoger un modo de vı́deo de frame buffer, i.e. diferente a Normal,
puede ser que su tarjeta de vı́deo no lo soporte. El LILO instala por defecto una
2.2 Proceso de instalación
51
Figura 2.19: Instalación del LILO
opción de vı́deo estándar por seguridad. En caso de tener problema con su escogencia
use linux-nonfb para entrar sin problema.
Se presiona [Aceptar] y la pantalla muestra las opciones de los diferentes modos
de arranque de LILO que incluye los diferentes sistemas operativos presentes en el
disco. Si tiene mas usuarios en su máquina es posible que desee que este arranque
por Windows por defecto y solo cuando se escoja en el boot, arranque por Linux.
Para realizar esto se señala dos y se presiona [Modificar]. En la pantalla se activa
el botón de Sistema por defecto Por omisión. Se presiona [Aceptar]. Una vez se esta
satisfecho con la configuración de lilo se presión [Hecho].
Ya no se pregunta si se desea crear un disco de arranque. Es extremadamente útil
para situaciones de emergencia en las que no sea posible iniciar Linux por métodos
“normales”.
Configuración de X-window
El sistema gráfico estándar en las máquinas UNIX y particularmente en Linux, es
X-window, y ahora se procede a su instalación. El sistema intentará detectar la
52
Instalación
tarjeta de vı́deo y el monitor presente en el equipo. En general se tiene éxito en la
auto-detección, pero de no ser ası́ siempre se puede escoger de la lista de dispositivos
proveida por el sistema.
Existe una gran cantidad de tarjeta soportadas por XFree86 (ahora Xorg), y por lo
tanto la lista de estos dispositivos es extensa (alrededor de 1000). Si la tarjeta de
el ordenador no se encuentra en ella, y definitivamente no esta soportada, se puede
escoger Unsupported VGA compatible o Generic VGA Compatible, aunque estas solo
proveerán 16 colores en una resolución máxima de 800x600 usando estándar VESA-1
de VGA16 (figura 2.20). Con algunas tarjetas no soportadas tambien puede escogerse
el despliegue gráfico a través de Framebuffer (FBDEV) usando el estándar VESA-2,
pero no es recomendado por su bajo desempeño.
Figura 2.20: Configuración de tarjeta de vı́deo para X-window
La lista de monitores es también extensa, y pero posible que no exista el que se posee
(figura 2.21). Para esto existen varias opciones estándar con la capacidad máxima
del monitor, por ejemplo 1024x768 a 70 MHz. Si se desconoce esta caracterı́stica,
aun es posible escoger dos opciones genéricas:
Standard VGA : Monitores algo obsoletos que soportan VGA a frecuencias
2.2 Proceso de instalación
53
predeterminadas
Super VGA: Monitores que soportan SVGA a diferentes frecuencias (Multisync)
Se recomienda ser conservador en esta selección. Si escoge erróneamente la frecuencia
de refresco y su monitor no esta protegido es posible que puede dañarlo permanentemente. Todos los monitores modernos se apagan automáticamente apenas se trata
de levantar una frecuencia mayor a la soportada.
Figura 2.21: Configuración de monitor para X-window
Con el monitor, la tarjeta y la memoria de vı́deo es posible determinar tanto la
resolución como la cantidad de colores (profundidad). El instalador sugiere una
combinación, pero esta puede ser cambiada al gusto del usuario. Al presionar [Aceptar] se pregunta si se desea probar la configuración. El autor recomienda que se acepte
con cautela, ya que es posible que su tarjeta de vı́deo se infarte y tenga que reiniciar
todo nuevamente.
Una vez se realiza la prueba, aparece la pantalla de confirmación en donde se puede
cambiar toda la configuración, tarjeta, monitor, resolución, etc. Una vez se considere
54
Instalación
satisfactoria la configuración se presiona [Hecho] Puede también responder afirmativamente a la pregunta si se desea que el computador lance automáticamente X al
iniciar.
Una vez se termina este proceso, se presiona [Siguiente] y se pregunta si se desean
instalar actualizaciones desde la red, cuestión muy conveniente por seguridad y finalmente se presenta la pantalla de felicitaciones, se tiene un Mandrake Linux instalado,
y se prepara para reiniciar. El disco de instalación sera expulsado y la máquina reiniciada una vez se presione [Reiniciar].
Capı́tulo 3
Conceptos Básicos
3.1.
3.1.1.
Comandos de Linux
Comandos básicos
Los comandos son esencialmente los mismos que cualquier sistema UNIX. En la
tablas 3.1 y 3.2 se tiene la lista de comandos mas frecuentes. En la tabla 3.3 se
tiene una lista de equivalencias entre comandos Unix/Linux y comandos DOS.
3.1.2.
Comandos en background
Linux, como cualquier sistema Unix, puede ejecutar varias tareas al mismo tiempo.
En sistemas monoprocesador, se asigna un determinado tiempo a cada tarea de
manera que, al usuario, le parece que se ejecutan al mismo tiempo.
Para ejecutar un programa en background, basta con poner el signo ampersand (&)
al término de la lı́nea de comandos (ver sección 3.1.3). Por ejemplo, si se quisiera
copiar el directorio /usr/src/linux al directorio /tmp:
#cp -r /usr/src/linux /tmp &
55
56
Conceptos Básicos
Comando/Sintaxis
Descripción
Ejemplos
cat fich1 [. . . fichN]
Concatena y muestra un archivos
cat /etc/passwd
cd [dir]
Cambia de directorio
cd /tmp
chmod permisos fich
Cambia los permisos de un archivo
chmod +x miscript
chown usuario:grupo fich
Cambia el dueño un archivo
chown nobody miscript
cp fich1. . . fichN dir
Copia archivos
cp foo foo.backup
diff [-e]arch1 arch2
Encuentra diferencia entre archivos
diff foo.c newfoo.c
du [-sabr] fich
Reporta el tamaño del directorio
du -s /home/∗
file arch
Muestra el tipo de un archivo
file arc desconocido
find dir test acción
Encuentra archivos.
find . -name “∗.bak” -print
grep [-cilnv] expr archivos
Busca patrones en archivos
grep mike /etc/passwd
head -count fich
Muestra el inicio de un archivo
head prog1.c
mkdir dir
Crea un directorio.
mkdir temp
mv fich1 . . . fichN dir
Mueve un archivo(s) a un directorio
mv a.out prog1
mv fich1 fich2
Renombra un archivo.
mv ∗.c prog dir
less / more fich(s)
Visualiza página a página un archivo.
more muy largo.c
less acepta comandos vi.
less muy largo.c
ln [-s] fich acceso
Crea un acceso directo a un archivo
ln -s /users/mike/.profile .
ls
Lista el contenido del directorio
ls -l /usr/bin
pwd
Muestra la ruta del directorio actual
pwd
rm fich
Borra un fichero.
rm foo.c
rm -r dir
Borra todo un directorio
rm -rf prog dir
rmdir dir
Borra un directorio vacı́o
rmdir prog dir
tail -count fich
Muestra el final de un archivo
tail prog1.c
vi fich
Edita un archivo.
vi .profile
cat dict1 dict2 > dict
Cuadro 3.1: Comandos Linux/Unix de manipulación de archivos y directorios
Sintaxis
Descripción
Ejemplos
at [-lr]
Ejecuta un comando mas tarde
at 6pm Friday < script
cal [[mes] año]
Muestra un calendario del mes/año
cal 1 2025
date [mdhm]
Muestra la hora y la fecha
date
echo string
Escribe mensaje en la salida estándar
echo “Hola mundo”
finger usuario
Muestra información general sobre
finger [email protected]
hora [fecha]
. [+Form]
un usuario en la red
id
Número id de un usuario
id usuario
kill [-señal] PID
Matar un proceso
kill 1234
man comando
Ayuda del comando especificado
man gcc
passwd
Cambia la contraseña.
passwd
ps [axiu]
Muestra información sobre los procesos
ps -ux
que se están ejecutando en el sistema
ps -ef
Muestra información de los usuarios
who
man -k printer
who / rwho
conectados al sistema.
Cuadro 3.2: Comandos Linux/Unix más frecuentes
3.1 Comandos de Linux
57
Linux
DOS
Significado
cat
type
Ver contenido de un archivo.
cd, chdir
cd, chdir
Cambio el directorio en curso.
chmod
attrib
Cambia los atributos.
clear
cls
Borra la pantalla.
ls
dir
Ver contenido de directorio.
mkdir
md, mkdir
Creación de subdirectorio.
more
more
Muestra un archivo pantalla por pantalla.
mv
move
Mover un archivo o directorio.
rmdir
rd, rmdir
Eliminación de directorio.
rm -r
deltree
Eliminación de directorio y su contenido.
Cuadro 3.3: Equivalencia de comandos Linux/Unix y DOS
Cuando ha terminado la ejecución del programa, el sistema lo reporta mediante un
mensaje:
# [Done] cp -r /usr/src/linux /tmp
Si se hubiese ejecutado el programa y no se hubiese puesto el ampersand, se podrı́a
pasarlo a background de la siguiente manera:
1. Se suspende la ejecución del programa, pulsando Ctrl+Z.
2. Se ejecutamos la siguiente orden: bg
3.1.3.
Interprete de comandos: Shell
El interprete de comandos es el programa que recibe lo que se escribe en la terminal
y lo convierte en instrucciones para el sistema operativo.
En otras palabras el objetivo de cualquier intérprete de comandos es ejecutar los
programas que el usuario teclea en el prompt del mismo. El prompt es una indicación
que muestra el intérprete para anunciar que espera una orden del usuario. Cuando
el usuario escribe una orden, el intérprete ejecuta dicha orden. En dicha orden,
58
Conceptos Básicos
puede haber programas internos o externos: Los programas internos son aquellos
que vienen incorporados en el propio intérprete como echo o kill, mientras que los
externos son programas separados (ej: aplicaciones de /bin,/usr/bin,. . . ).
En el mundo Linux/Unix existen tres grandes familias de Shells como se muestra en
la tabla 3.4. Estas se diferencian entre sı́ básicamente en la sintaxis de sus comandos
y en la interacción con el usuario.
Tipo de Shell
Shell estándar
Clones libres
AT&T Bourne shell
sh
ash, bash, bash2
Berkeley ǔshell
csh
tcsh
AT&T Korn shell
ksh
pdksh, zsh
Otros interpretes
—
esh, gush, nwsh
Cuadro 3.4: Interpretes de comandos en Linux/Unix
Sintaxis de los comandos
Los comandos tienen la siguiente sintaxis:
# programa arg1 arg2 ... argn
Se observa que, en la “lı́nea de comandos”, se introduce el programa seguido de uno
o varios argumentos. Ası́, el intérprete ejecutará el programa con las opciones que se
hayan escrito.
Cuando se quiere que el comando sea de varias lı́neas, se separa cada lı́nea con el
carácter barra invertida “\”. Además, cuando se quiere ejecutar varios comandos en
la misma lı́nea, los separa con punto y coma “;”. Por ejemplo:
# make modules ; make modules_install
En los comandos, también se puede utilizar los comodines (wildcards):
El asterisco (∗) es equivalente a uno o más caracteres en el nombre de un
archivo. Ejm: ls *.c lista todos los archivos con extensión c.
3.1 Comandos de Linux
59
El signo de interrogación (?) es equivalente a un único carácter. Ejm:
ls curso.te? lista el archivo curso.tex completando el último carácter.
Un conjunto de caracteres entre corchetes es equivalente a cualquier carácter
del conjunto. Ejm: ls curso_linux.t[aeiou]x lista curso linux.tex seleccionando la e del conjunto. .
Variables de entorno
Una variable de entorno es un nombre asociado a una cadena de caracteres.
Dependiendo de la variable, su utilidad puede ser distinta. Algunas son útiles para
no tener que escribir muchas opciones al ejecutar un programa, otras las utiliza el
propio shell (PATH, PS1,. . . ). La tabla 3.5 muestra la lista de variables más usuales.
Variable
Descripción
DISPLAY
Donde aparecen la salidas de X-Windows.
HOME
Directorio personal.
HOSTNAME
Nombre de la máquina.
MAIL
Archivo de correo.
PATH
Lista de directorios donde buscar los programas.
PS1
Prompt.
SHELL
Intérprete de comandos por defecto.
TERM
Tipo de terminal.
USER
Nombre del usuario.
Cuadro 3.5: Variables de entorno más usuales
La forma de definir una variable de entorno cambia con el interprete de comandos,
se muestra tcsh y bash siendo los dos mas populares en el ámbito Linux:
bash:
export VARIABLE=Valor
tcsh:
setenv VARIABLE Valor
60
Conceptos Básicos
Por ejemplo, para definir el valor de la variable DISPLAY:
bash:
export DISPLAY=localhost:0.0
tcsh:
setenv DISPLAY localhost:0.0
Alias
Un alias es un nombre alternativo para un comando. Ası́, en lugar de escribir el
comando propiamente dicho, escribirı́amos el alias de dicho comando.
Un alias se puede definir por varios motivos, por ejemplo:
Dar nombres familiares a comandos comunes:
alias md=’mkdir’
Crearı́a un alias para el comando mkdir, similar al de DOS.
Dar nombres a comandos largos:
alias tbz2=’tar -cv --use-compress-program=bzip2 -f’
Crearı́a un alias para el comando tar para que use el compresor bzip2 en
lugar de gzip.
Para no tener que escribir todos los alias siempre que entremos al sistema, escribirı́amos dicho alias en el archivo ~/.bash\_profile (ver sección 3.1.3).
Redireccionamiento de E/S
La filosofı́a de Linux/Unix es en extremo modular. Se prefieren las herramientas
pequeñas con tareas puntuales a las meta-herramientas que realizan todo. Para hacer
el modelo completo es necesario proveer el medio para ensamblar estas herramientas
en estructuras mas complejas. Esto se realiza por medio del redireccionamiento de
las entradas y las salidas.
Todos los programas tiene por por defecto una entrada estándar (teclado) y dos
salidas: la salida estándar (pantalla) y la salida de error (pantalla). En ellos se puede
3.1 Comandos de Linux
61
Figura 3.1: Redirección de Entrada y Salidas
sustituir la entrada y salidas estándar por otro dispositivo utilizando los caracteres
“<” y “>”, es decir, hacer que se lea un archivo que contenga las opciones a ejecutar
y un archivo de salida, respectivamente. Por ejemplo:
Entrada: Se desea realizar una transferencia de archivos por ftp automática. Para
ello se va a utilizar el programa ncftp con unas determinadas instrucciones
preestablecidas.
Se crea un archivo entrada con dichas instrucciones:
open linuxcol.uniandes.edu.co
cd /pub/linux/utils
get *
quit
y se ejecuta el programa: ncftp < entrada .
Salida: Se quiere saber los archivos que empiezan por i o I y almacenarlo en un
archivo:
62
Conceptos Básicos
ls [iI]* > listado.txt
Es importante resaltar que el carácter de redirección de salida “>” destruirá el
archivo al cual apunta, si este existe, para ser reemplazado por uno nuevo con los
resultados del proceso. Si se desea anexar la información a uno ya existente debe
usarse doble carácter “” :
Tuberı́as o pipes
En la lı́nea de comandos la integración entre diferentes programas se realiza por
medio de la re-dirección de las entradas y salidas a través de pipes o tuberı́as.
Una tuberı́a o pipe es una combinación de varios comandos que se ejecutan simultáneamente, donde el resultado del primero se envı́a a la entrada del siguiente.
Esta tarea se realiza por medio del carácter barra vertical “|”. Por ejemplo si se quiere ver todos los archivos que hay en el directorio /usr/bin, se ejecuta lo siguiente:
# ls /usr/bin | more. De este modo, la salida del programa ls (listado de todos
los archivos del directorio /usr/bin) irá al programa more (modo paginado, es decir,
muestra una pantalla y espera a que se pulse una tecla para mostrar la siguiente).
Dentro de esta estructura se han construido una serie de programas conocidos como
“filtros” los cuales realizan procesos básicos sobre textos (ver tabla 3.6).
Filtros
Función
sort
Ordena las lineas de un texto
cut
Corta secciones de una linea
od
Convierte archivos a forma octal u otras
paste
Une lı́neas de diferentes archivos
tac
Concatena e imprime archivos invertidos
tr
Traduce o borra caracteres
uniq
Remueve lı́neas repetidas
wc
Cuenta bytes, palabras y lı́neas
Cuadro 3.6: Algunos filtros en lı́nea de comandos Linux/Unix
3.1 Comandos de Linux
63
Algunos filtros han llegado a ser tan complejos que son en si, un lenguaje de procesamiento de texto, de búsqueda de patrones, de construcción de scripts, y muchas
otras posibilidades. Estas herramientas pasan a ser parte de la siguiente sección. Entre ellos podemos mencionar herramientas tradicionales en Linux/Unix como awk y
sed y otras mas modernas como Perl y Python.
Programación shell
La programación del shell es una de las herramientas mas apreciadas por todos
los administradores y muchos usuarios de Linux/Unix ya que permite automatizar
tareas complejas, comandos repetitivos y ejecutarlas con un solo llamado al script
1
o hacerlo automáticamente a horas escogidas sin intervención de personas.
La programación shell en Unix/Linux es, en cierto sentido, equivalente a crear archivos .BAT en DOS, conservando las distancias, ya que Unix/Linux es inmensamente
mas potente. Estos scripts pueden usar un sinnúmero de herramientas como:
Comandos del sistema Linux/Unix (ejm: ls, cut)
Funciones intrı́nsecas del shell (ejm: kill, nice)
Lenguaje de programación del shell (ejm: if/then/else/fi)
2
(ver tabla 3.7)
Programas y/o lenguajes de procesamiento en lı́nea. (ejm: awk, sed, Perl)
Programas propios del usuario escritos en cualquier lenguaje.
El lenguaje de programación de cada shell provee de una amplia gama de estructuras
de control como se muestra en el cuadro 3.7.
Un sencillo ejemplo es realizar un backup de solo ciertos directorios (prog_dir1
y prog_dir2), luego comprimirlos usando bzip2 y enviarlos a un área de almacenamiento (digamos una unidad ZIP previamente montada en /mnt/zipdrive),
1
2
Archivos con instrucciones o programas para el shell
El nombre del “C”shell, viene de su similitud con el lenguaje “C.en su programación. El Korn
shell es mas similar al Fortran en su sintaxis
64
Conceptos Básicos
for name [ in word; ] do list ; done
select name [ in word ; ] do list ; done
case word in [ pattern [ | pattern ] ... ) list ;; ] ... esac
if list then list [ elif list then list ] ... [ else list ] fi
$while list do list done
$until list do list done
[ function ] name () { list; }
Cuadro 3.7: Instrucciones bash para programación shell
y además con que el nombre del archivo contenga la fecha del dı́a. Suena difı́cil?
Realmente no lo es.
Se crea un archivo texto con cualquier nombre, por ejemplo mibackup que contenga
las instrucciones que se desea ejecutar.
#!/bin/sh
#
echo "---------- Captura fecha -----------"
fecha=‘date +%Y%m%d‘
#
echo "---------- Haciendo Tar
-----------"
tar cvf backup$fecha.tar prog_dir1 prog_dir2
#
echo "----------- Comprimiendo -----------"
bzip2 backup$fecha.tar
#
echo "---------- Enviándolos a zip -------"
cp ./backup$fecha.tar /mnt/zipdrive
#
echo "----------- Limpiando --------------"
rm -f ./backup$fecha.tar
#
3.1 Comandos de Linux
echo "----------- Final
65
-------------"
Luego, se le asigna permisos de ejecución con el comando
chmod +x mibackup
y esta listo para ser ejecutado.
En el script aquı́ mostrado es importante resaltar varios principios importantes: la
primera lı́nea determina el shell que se esta usando (sh o bash); las variables no se
declaran solo se asignan; su valor es retornado usando el sı́mbolo $.
Si desea mas información acerca de programación en shell se puede consultar los
manuales en lı́nea del shell: bash o tcsh3 .
Re-utilización de comandos
El shell almacena una historia de los comandos que el usuario ha escrito. Por medio
de esta historia es posible volver a ejecutar una orden que ya se ha escrito anteriormente sin tener que escribirla de nuevo.
El comando history muestra la secuencia de comandos, con un número a su izquierda. Con este número es posible llamar de nuevo el comando utilizando el caracter
admiración “!”; Por ejemplo history retorna
1
history
2
ls
3
cd public_html
4
ls
5
rm *.bak
6
history
y para ejecutar nuevamente el comando rm *.bak solo es necesario escribir !5.
También se puede pedir el último rm que se ha ejecutado escribiendo !rm.
3
man bash o man tcsh
66
Conceptos Básicos
El último comando se repite con doble admiración “!!”. Es posible también editar el
último comando utilizando el caracter “^” pero este conocimiento se esta volviendo
poco útil, ya que los nuevos shells permiten viajar por la “historia” y editar los
comandos usando únicamente las flechas del teclado.
Archivos de bash
Cada shell posee ciertos archivos donde mantiene su configuración. Estos tiene una
jerarquı́a que va desde el archivo general de configuración del sistema para todos
los shells, pasando por el archivo propio del shell, hasta los archivos personales del
usuario.
A continuación, en la tabla 3.8, se muestran los archivos utilizados para especificar
opciones dentro de bash. Es importante aclarar que no es necesario que todos estos
archivos existan dentro del directorio personal, el sistema posee su configuración por
defecto.
Archivo
Descripción
/bin/bash
Ejecutable bash.
/etc/profile
~
/.bash profile
Archivo de inicialización utilizado por los shells.
~
/.profile
~
/.bash login
utilizado por los shells
~
/.bash logout
~
/.bashrc
Ejecuta cuando sale del shell
~
/.inputrc
Archivo de inicialización individual.
Archivo(s) de inicialización personal
Ejecuta cuando entra al shell
Archivo personal de inicialización del shell.
Cuadro 3.8: Archivos de bash
3.2 Sistemas de archivos
3.2.
3.2.1.
67
Sistemas de archivos
Organización de los directorios
Linux organiza la información en archivos, los cuales están contenidos en directorios.
Un directorio puede contener subdirectorios, teniendo ası́ una estructura jerárquica,
como en cualquier otro sistema operativo.
Las nuevas versiones de Linux (incluido Red Hat, Mandrake y en menor medida
SuSE) siguen el estándar FSSTND (Linux Filesystem Standard) el cual estipula los
nombres, la ubicación y la función de la mayorı́a de los directorios y los archivos del
sistema. La figura 3.2 muestra la estructura básica del sistema de archivos de Linux
como es definida por FSSTND. El estándar FSSTND llego hasta la versión 1.2 en
1997 y esta evolucionando a FHD (Filesystem Hierarchy Standard) actualmente en
versión 2.2. La página oficial del estándar se encuentra en al referencia [1].
Figura 3.2: Estructura de directorios de Linux según FSSTND
68
Conceptos Básicos
Conociendo esta estructura básica, el usuario/administrador podrá moverse más
fácilmente por los directorios, ya que la mayorı́a de éstos, tienen un determinado
uso. En la tabla 3.9 se tiene la descripción de los directorios más comunes.
Directorio
Descripción
/
Raı́z (root), forma la base del sistema de archivos.
/boot
Archivos del kernel (compilados).
/bin
Archivos ejecutables esenciales para todo usuario.
/dev
Archivos de dispositivos.
/etc
Archivos de configuración.
/etc/rc.d
Archivos de inicialización (Red Hat).
/home
Generalmente, directorios de los usuarios.
/home/ftp
Contenido del servidor FTP.
/home/httpd
Contenido del servidor WWW.
/lib
Librerı́as esenciales y módulos del kernel.
/mnt
Directorios donde “montar” diversos dispositivos .
/mnt/cdrom
Directorio donde se “monta” el CD-ROM.
/mnt/floppy
Directorio donde se “monta” el disquete.
/proc
Información sobre partes del sistema.
/root
Directorio del usuario principal del sistema.
/sbin
Archivos ejecutables para tareas de administración.
/tmp
Temporal.
/usr
Programas, docs, . . . compartidos por el sistema
/var
Archivos variables del sistema, bitácoras, temps, . . .
Cuadro 3.9: Directorios de Linux más frecuentes
La tabla 3.10 muestra los principales subdirectorios del directorio usr.
La tabla 3.11 muestra los principales subdirectorios del directorio var.
Permisos
Linux, como cualquier sistema Unix, es multiusuario, por lo que, los permisos de los
archivos están orientados a dicho sistema. Los permisos de cualquier archivo tienen
tres partes: permisos del propietario, permisos del grupo y permisos del resto. Ası́, se
ve que un archivo pertenece a un determinado propietario y a un determinado grupo
3.2 Sistemas de archivos
69
Directorio
Descripción
/usr/X11R6
Paquete XFree86 (X-Windows) Release 6.
/usr/bin
Archivos ejecutables para usuarios.
/usr/dict
Listados de palabras (diccionarios).
/usr/doc
Documentación.
/usr/doc/FAQ
F.A.Q. (o P.U.F.).
/usr/doc/HOWTO
HOWTO’s.
/usr/etc
Archivos de configuración del sistema.
/usr/games
Juegos.
/usr/include
Archivos de encabezado.
/usr/info
Sistema de información GNU info.
/usr/lib
Librerı́as
/usr/local
Jerarquı́a de archivos locales.
/usr/man
Manuales.
/usr/sbin
Archivos ejecutables de admin. no vitales.
/usr/share
Datos independientes de la arquitectura.
/usr/src
Código fuente.
/usr/src/linux
Código fuente del kernel de Linux.
Cuadro 3.10: Subdirectorios de usr
70
Conceptos Básicos
Directorio
Descripción
/var/catman
Manuales formateados localmente.
/var/lib
Información del estado de aplicaciones.
/var/local
Variables del aplicaciones en /usr/local.
/var/lock
Archivos de cerrojo.
/var/log
Bitácoras del sistema.
/var/named
Archivos del DNS.
/var/nis
Base de datos para NIS (Network Inf. Service).
/var/preserve
Archivos de respaldo para vi o ex.
/var/run
Archivos relevantes a programas corriendo.
/var/spool
Colas de trabajos para realizar mas tarde.
/var/spool/at
Archivos creados por comando at.
/var/spool/cron
Archivos creados por comando crontab.
/var/spool/lpd
Archivos de impresora.
/var/spool/mail
Archivos de correo de cada usuario.
/var/spool/mqueue
Archivos de correo de salida.
/var/spool/news
Archivos de noticias de salida.
/var/spool/smail
Archivos de correo de smail.
/var/tmp
Temporal.
Cuadro 3.11: Subdirectorios de var
3.2 Sistemas de archivos
71
y, dependiendo de los permisos que tenga asociado dicho archivo, se podrá tener
acceso a él o no.4
Los permisos son de lectura (r), escritura (w) y ejecución (x). Estos se definen
mediante letras (parecido al comando attrib de DOS). Con el signo “+” añadimos
un permiso y con el signo “−” se lo quitamos. Además, los permisos pueden ser
generales o no, es decir, si se pone +x serı́a permiso de ejecución a todos, sin embargo,
si se pone u + x sólo el propietario podrı́a ejecutarlo. De este modo, se tiene: u para
propietario, g para grupo y a para el resto.
Ejemplo: Se tiene una serie de archivos después de listar con ls -l el cual muestra el propietario (skina), el grupo (users) y los permisos de izquierda a derecha:
propietario, grupo y el resto.
[]$ ls -l
-rw-r--r--
1 skina
users
-rw-r--r--
1 skina
users
17680 Nov 29 16:52 GNU-GPL.tex
2573 Nov 30 19:52 Makefile
-rw-r--r--
1 skina
users
1562 Nov 29 13:47 autorizacion.txt
drwxr-xr-x
2 skina
users
1024 Nov 23 01:02 bin/
-rw-r--r--
1 skina
users
-rw-r--r--
1 skina
users
drwxr-xr-x
2 skina
users
drwxr-xr-x
3 skina
users
-rw-r--r--
1 skina
users
61566 Oct 26 22:29 lista_paquetes_mdk.tex
-rw-r--r--
1 skina
users
53227 Nov 23 01:08 lista_paquetes_rh.tex
-rw-r--r--
1 skina
users
949 Nov 30 19:26 creditos.tex
550 Nov 30 19:48 guia_linux.tex
3072 Nov 30 22:55 images/
1024 Nov 30 00:09 install/
3864 Nov 30 19:56 parte1.tex
[]$
Estos permisos llevan asociado un número: el cuatro para lectura, el dos para la
escritura y el uno para la ejecución. De esta manera, un archivo tiene tres números
asignados: propietario, grupo y resto. Por ejemplo, si tenemos un fichero con los
permisos 644 corresponderı́a a: el propietario puede leer/escribir, el grupo sólo puede
leer y el resto sólo puede leer. Vemos que, para asignar lectura y escritura, basta
con sumar lectura(4)+escritura(2).
El comando para modificar los permisos es chmod y tiene la siguiente sintaxis:
chmod permisos archivo(s). Por ejemplo se desea que todos las personas puedan escribir sobre el archivo créditos.tex, entonces
4
Los directorios deben tener permiso de ejecución para poder acceder a ellos.
72
Conceptos Básicos
# chmod a+w créditos.tex
o su equivalente en números
# chmod 666 créditos.tex
3.2.2.
Montar un sistema de archivos
Ya se ha visto que Linux accede a los dispositivos mediante archivos (directorios de
/dev), y, por este motivo, en Linux no hay el concepto de unidades, ya que todo
está bajo el directorio principal “/”. En Linux no se accede a la primera disquetera
mediante la orden A: como en DOS sino en un directorio donde se ha “montado”
del dispositivo previamente como /mnt/floppy.
De este modo, tenemos dos conceptos nuevos:
“montar” Decirle a Linux que se va a utilizar un determinado dispositivo con un
determinado sistema de archivos y estará en un directorio especificado. En la
tabla 3.12 se muestran los sistemas de archivos más comunes en Linux.
Tipo
Descripción
ext2
Sistema de archivos de Linux.
msdos
Sistema de archivos de DOS.
vfat
Sistema de archivos de Windows 9X (nombres largos).
iso9660
Sistema de archivos de CD-ROM.
nfs
Sistema de archivos compartido por red de UNIX.
smb
Sistema de archivos compartido por red Windows.
Cuadro 3.12: Sistemas de archivos más comunes
“desmontar” Decirle a Linux que se ha dejado de utilizar un determinado dispositivo.
Para “montar” un determinado sistema de archivos de un dispositivo, se utiliza el
comando mount. La sintaxis es la siguiente:
3.2 Sistemas de archivos
73
# mount -t sistema_archivos dispositivo directorio [-o opciones]
donde: sistema archivos puede ser cualquiera de los que aparece en la tabla 3.12;
dispositivo puede ser cualquier dispositivo del directorio /dev o, en el caso de nfs,
un directorio de otro ordenador; directorio es el directorio donde estará el contenido
del dispositivo y opciones pueden ser cualquiera de la tabla 3.13, en el caso de no
poner ninguna opción, mount utilizará las opciones por defecto5 . Una vez “montado”
el dispositivo, si no se va a volver utilizar se puede “desmontarlo” con el comando
umount con la siguiente sintaxis:
# umount directorio
Siempre, después de utilizar un dispositivo hay que “desmontarlo”, para que se
almacenen correctamente los datos en dicho dispositivo. Un ejemplo de ello, es el
hecho de que, un lector de CD-ROM, que haya sido “montado”, no se abrirá hasta
que no se “desmonte”.
Opción
Descripción
rw
Lectura/escritura.
ro
Sólo lectura.
exec
Se permite ejecución.
user
Los usuarios pueden “montar”/“desmontar”.
suid
Tiene efecto los identificadores de propietario y del grupo.
auto
Se puede montar automáticamente.
async
Modo ası́ncrono.
sync
Modo sı́ncrono.
dev
Supone que es un dispositivo de caracteres o bloques.
Cuadro 3.13: Opciones del comando mount
Se muestran unos cuantos ejemplos:
1. Disquete de DOS:
mount -t msdos /dev/fd0 /mnt/floppy -o rw,noexec
umount /mnt/floppy
5
rw, suid, dev, exec, auto, nouser, async
74
Conceptos Básicos
2. Disquete de Windows 9X:
mount -t vfat /dev/fd0 /mnt/floppy -o user,rw
umount /mnt/floppy
3. CD-ROM:
mount -t iso9660 /dev/cdrom /mnt/cdrom -o ro
umount /mnt/cdrom
4. Directorio exportado de host2:
mount -t nfs host2:/tmp /mnt/host2
umount /mnt/host2
Archivo /etc/fstab
En ocasiones, cuando se tienen varios dispositivos que se suelen “montar”, se puede
ahorrar tener que escribir continuamente la oportuna orden mount, simplemente
incluyendo una lı́nea en el archivo /etc/fstab.
El archivo /etc/fstab contiene lı́neas donde se indica qué dispositivo debe “montar”, el lugar donde “montarlo”, ası́ como el sistema de archivos y las opciones (en
este archivo, se pueden poner dos opciones más: auto y noauto, que indican si se
debe “montar” automáticamente al arrancar el sistema o no, respectivamente).
Un ejemplo de /etc/fstab puede ser:
# Dispositivo
Directorio
FS
Opciones
/dev/hda2
/
ext2
/dev/hda1
/boot
ext2
defaults 1 1
defaults 1 2
/dev/hda3
/usr
ext2
ro,suid,dev,exec,auto,nouser,async 1 2
/dev/hda5
/home
ext2
rw,suid,dev,exec,auto,nouser, \
async,usrquota,grpquota 1 2
/dev/hda6
/ftp
ext2
defaults 1 2
/dev/hda7
swap
swap
defaults 0 0
#
/dev/fd0
/mnt/floppy vfat
noauto,user,noexec,rw
#
/mnt/cdrom
/mnt/cdrom
supermount fs=iso9660,dev=/dev/cdrom 0 0
/mnt/zip
/mnt/zip
supermount fs=vfat,dev=/dev/sda4 0 0
/dev/pts
devpts
#
none
mode=0620 0 0
3.2 Sistemas de archivos
none
/proc
proc
75
defaults 0 0
#
/ftp/iso/mdk80a_skina.iso /ftp/pub/8.0ad1 iso9660 loop 0 0
#
host2:/tmp
/mnt/host2
nfs
defaults
Este archivo contiene varios casos bastante interesantes:
Las primeras cinco lineas montan las diferentes particiones del disco en los
directorios del sistema, incluyendo el swap.
La particion de /usr tiene sus opciones explicitas para no permitir escritura,
solo lectura (read-only).
La particion de /home permite el manejo de quotas para usuarios y grupos.
El dispositivo /dev/fd0 puede ser montado o desmontado por un usuario en
el directorio /mnt/floppy con el comando # mount /mnt/floppy.
El cdrom y el zipdrive están controlados por el sistema a través del supermount
y los usuarios no necesitan montar o desmontar. Con solo tener acceso al directorio /mnt/cdrom encontraran el CDROM montado y este sera desmontado
una vez se deje de usar.
En
el
directorio
/ftp/pub/8.0ad1
se
esta
montando
un
archivo
/ftp/iso/mdk80a_skina.iso que es una imagen de un CDROM.
En el directorio /mnt/host2 se esta montando el directorio de red \tmp desde
el equipo host2. Por supuesto solo el root puede disponer de estos dispositivos.
3.2.3.
Uso de mtools
El hecho de tener que “montar” y “desmontar” puede ser un poco engorroso a la
hora de utilizar determinados dispositivos (comúnmente, la disquetera). Por ello, se
dispone de las herramientas mtools (ver tabla 3.14). Dichas herramientas, utilizan
los dispositivos sin tener que “montar” y “desmontar”; y su sintaxis es parecida a
la de los programas de DOS.
76
Conceptos Básicos
Comando
Descripción
mdir
Muestra el contenido del dispositivo dir.
mcopy
Copia archivos copy.
mdel
Borra archivos del.
mformat
Formatea la unidad format.
mcd
Cambia de directorio cd.
mmd
Crea un directorio md.
mrd
Borra un directorio rd.
Cuadro 3.14: Herramientas mtools
3.3.
Actualización del kernel
Hay ocasiones en las que se quiere o se debe actualizar el kernel, bien para añadirle
alguna funcionalidad que no estaba incluida, o bien, para corregir algún error (bug)
que tuviese.
En este apartado, se va a ver cómo se realiza este proceso.
3.3.1.
Inclusión de los modulos del kernel
La forma mas sencilla de incluir soporte en el kernel es mediante la inclusión de
módulos en el kernel. Esto se puede realizar con el comando insmod o modprobe.
Por ejemplo para incluir el módulo de soporte para la tarjeta SCSI compatible con
Adaptec 1520 se da el siguiente comando:
# modprobe aha152x aha152x=0x140,11,1,1
el cual no solo incluye el módulo sino que además informa de la ubicación de la
tarjeta: dirección 0x140 e interrupción 11.
Este comando puede ser escrito en el archivo rc.local, pero es una solución que
se considera poco elegante ya que todas las distribuciones tiene un archivo donde
se describen los módulos que debe cargar el módulo en el momento de arrancar:
modules.conf (antiguamente conf.modules) para la gran mayorı́a.
3.3 Actualización del kernel
77
Winmodems
Esto módulos inclusive pueden venir de proveedores externos como ocurre con el
soporte para los winmodems. Por ejemplo: para el Motorola SM56 se baja el paquete
de la pagina www y se ejecuta:
#rpm -Uvh sm56-85.1-10.i386.rpm
#sm56setup [country-code]
(57 para Colombia)
Este proceso realiza la inclusión de el módulo en el archivo /etc/modules.conf una
linea del tipo:
alias char-major-24 sm56
options sm56 country=57"
y ha creado un dispositivo /dev/sm56 para su softmodem.
Con los módems con chipset PCTel la cuestión puede ser un poco mas primitiva:
Se obtiene un archivo comprimido pctel-2.4.tar.gz el cual se descomprime con
el comando
# tar zxvf pctel-2.4.tar.gz
y se cambia al directorio y se construyen los dos módulos para el kernel con el
comando make: pctel.o en src/module y ptserial.o en src/ptserial, el primero de
fábrica y el segundo open source, ajustando los archivos Makefile al modelo del
módem. Con los comandos
# make
# make install
se construyen los módulos y se colocan en el sitio correcto: usualmente
/lib/modules/2.4.3 y en este momento se pueden “subir” al kernel con los comandos
78
Conceptos Básicos
# insmod pctel
# insmod ptserial
y ahora solamente es necesario revisar en que número del puerto serial en el que se
ha conectado el módem revisando el archivo /var/log/messages el que usualmente
es el /dev/ttyS15.
Los otros módems reconocidos por funcionar bastante bien en GNU/Linux son los
que poseen chips Lucent. Para estos se consiguen los paquetes con los módulos
para el kernel del tipo: ltmodem-kv 2.4.8.i386.rpm los que instalan los modulos
lt modem.o y lt serial y adiciona al archivo modules.conf las siguientes lineas.
# lt_drivers: autoloading and insertion parameter usage
alias char-major-62 lt_serial
# options lt_modem vendor_id=0x115d
device_id=0x0420 Forced=3,0x130,0x2f8
# section for lt_drivers ends
3.3.2.
Inclusión de las correcciones del kernel
Una corrección patch es un archivo que añade alguna funcionalidad al kernel o corrige
algún error, sin necesidad de tener que instalar de nuevo todos los fuentes del kernel.
Aplicación de las correcciones
Pasos a seguir:
1. Copiar la corrección al directorio /usr/src: # cp parche /usr/src Si el parche está comprimido, descomprimirlo con el programa correspondiente.
2. Aplicar la corrección: patch -p0 < parche &> error_log
3. Recompilar el kernel (sección 3.3.3).
Para todas las distribuciones es recomendado usar los parches o actualizaciones
oficiales de la casa matriz en formato propio (rpm, tgz o deb) y no otros porque
pueden generar ciertas dificultades en la configuración y en la compilación.
3.3 Actualización del kernel
3.3.3.
79
Recompilar el kernel
Recompilar el kernel es algo que puede fallar. Las decisiones tomadas no siempre
son las mas correctas ası́ que es prudente guardar una imagen del kernel actual y
dejar un bloque en el lilo que le permita entrar nuevamente a este kernel viejo: en
el directorio donde tenga su kernel (/boot en la mayorı́a) realice una copia con algo
como # cp vmlinuz vmlinuz.orig y en el lilo agregue una sección mas con un label
ilustrativo como “viejo” como sigue:
#
image=/boot/vmlinuz
label=linux
root=/dev/hda3
vga=788
#
image=/boot/vmlinuz.orig
label=viejo
root=/dev/hda3
vga=788
#
Y luego corre lilo para dejar grabado la nueva configuración. Ahora si se esta listo
para compilar y cometer errores.
Pasos a seguir:
1. Ir al directorio donde están los fuentes de linux (/usr/src/linux):
# cd /usr/src/linux
2. Configurar el kernel: # make opción, donde opción puede ser:
config Modo texto.
menuconfig Modo texto, con ventanas (figura 3.3).
xconfig Modo gráfico en X-Windows (figura 3.4).
3. Determinar los archivos que han cambiado y los que necesitan ser compilados
de nuevo: make dep
80
Conceptos Básicos
Figura 3.3: Kernel menuconfig
Figura 3.4: Kernel xconfig
3.3 Actualización del kernel
81
4. Borrar los archivos antiguos no necesarios: make clean
5. Crear los módulos: make modules
6. Instalar los módulos: make modules_install. Recuerde renombrar los módulos viejos mv /lib/modules/2.2.12 /lib/modules/2.2.12.old.
7. Crear el nuevo kernel: make
8. Instalar kernel: make [opción] donde opción puede ser:
install Crea kernel por defecto y la coloca en /boot. Luego corre lilo para
poder iniciar por el nuevo kernel.
zImage Crea una imagen comprimida del kernel. Si desea generar un disquete
con el kernel para probarlo utilice make zdisk. make zlilo llama lilo
para arrancar por este kernel comprimido.
bzImage Crea una imagen comprimida aún mas pequeña que la opción anterior.
Generalmente, los pasos 3 y 4 se suelen hacer juntos: make dep ; make clean
Ası́ como los pasos 5 y 6: make modules ; make modules_install
Capı́tulo 4
Sistema Básico
A partir de este momento se propone iniciar las labores de configuración y administración necesarias para tener un sistema totalmente funcional.
Antes de continuar es bueno mencionar que en Linux hay siempre múltiples formas
de hacer una tarea: desde lı́nea de comandos en una consola hasta las múltiples
interfaces gráficas en X-window,pasando por herramientas gráficas en consola y administración remota por red. Es imposible que esta guı́a sea exhaustiva en todas las
posibilidades, pero en principio se trata de mostrar mas de una opción.
Se usaran iconos para indicar cada una de las posibles opciones: consola, ventanas
e Internet tal como muestra la tabla 4.1.
Icono
Interfaz
Consola y/o lı́nea de comandos
Interfaz gráfica - ventanas
Remota por red / WWW
Cuadro 4.1: Posibles interfaces de administración
83
84
Sistema Básico
4.1.
Configuración y Control de acceso
Skina GNU/Linux provee desde la versión 7.0 un centro de control para la configuración y administración gráfica del sistema: DrakConf y ahora cambiando su nombre
a Mandrake Control Center. Esta consiste en un conjunto botones distribuidos en
un árbol jerárquico que activan diferentes programas de propósito especifico. Estos
lanzan pequeños programas hechos en Perl o Python como la herramienta de detección de hardware (HardDrake) y módulos independientes de una versión propia de
Linuxconf
1
(1.16) (figura 4.1).
Figura 4.1: Linux Mandrake DrakConf
Lo mas interesante de DrakConf es que usa los mismos programas que la instalación
DrakX para tareas de configuración, e inclusive el 90 % de ellos funcionan también
en consola texto aparte de X-window. Estos programas son, en orden alfabético:
diskdrake: Fdisk gráfico
drakboot: Modos de inicio
1
Linuxconf es la meta-herramienta de configuración de Linux que se describirá mas adelante.
4.1 Configuración y Control de acceso
85
drakconnect: Redes
drakfloppy: Creación disquete de arranque
drakfont: Administrador de fuentes
drakgw: Compartir conexión a Internet
drakxservices: Servicios de arranque
keyboardrake: Teclado
harddrake: Hardware
menudrake: Menús del sistema
mousedrake: Ratón
packdrake: Creación de paquetes rpm
printerdrake: Impresoras
rpmdrake: Paquetes rpm
userdrake: Usuarios
shorewall: Wizard para cortafuegos
XFdrake: X-window
Skina GNU/Linux aun incluye algunas herramientas muy útiles de casa matriz Red
Hat como sndconfig, kudzu, netconfig y otros.
4.1.1.
Usuarios y Grupos
Como se mencionó anteriormente, root es usuario especial que se distingue de los
demás usuarios en los poderes que tiene sobre el sistema. Este no tiene ninguna
restricción sobre lo que puede hacer en el sistema. Cuando se instala Linux por
86
Sistema Básico
primera vez, la única cuenta que existe por defecto en el sistema es la del root.
Debido al poder de este usuario es peligroso utilizarlo habitualmente para tareas
cotidianas que no necesiten los privilegios especiales esta cuenta, se debe dejar para
las tareas de administración y mantenimiento del sistema.
Para el trabajo cotidiano hay que crear una cuenta personal sin privilegios que proteja al sistema de los posibles errores cometidos. Si no se hizo durante la instalación
es el momento de hacerlo.
Antes de continuar es importante explicar la información que va a ser solicitada para
poder crear un usuario y/o un grupo. Lo mas normal es tener un nombre mortal
(Kasandra Padisha) con el que se identifica entre humanos, un login (kpadisha)
que se usa para ingresar, un directorio personal o casa (home) (/home/kpadisha)
en donde tendra todos los permisos para crear, borrar o modificar archivos, un
interpretador de comandos (shell) (/bin/bash) que definen el estilo interacción de
sus consolas y un grupo al cual esta afiliado (users). A cada usuario y grupo se le
identifica con un número conocido como el uid (User identification) y el gid (Group
identification) respectivamente. Estos números son usados indistintamente del login,
por los programas o por el mismo sistema operativo.
Existe un grupo de comandos en consola que permiten realizar todas las labores
de usuarios y grupos y estos son:
chsh: Cambio el shell (Change Shell).
passwd: Cambio la contraseña.
groupadd: Crear un grupo.
groupdel: Borrar un grupo.
groupmod: Modificar un grupo.
useradd o adduser: Crear un usuario.
userdel o deluser: Borrar un usuario.
usermod: Modificar un usuario.
4.1 Configuración y Control de acceso
87
Por ejemplo, con el comando adduser kpadisha en una terminal como superusuario, se crea una cuenta de usuario kpadisha con los valores por defecto del sistema. El siguiente paso es establecer la clave que usará kpadisha, esto se hace con
passwd kpadisha: el sistema preguntará cual es la que se quiere poner, habrá que
introducir dos veces a ciegas la clave.
Si los valores por defecto del sistema no son suficientes, se pueden introducir cada
uno de los valores antes mencionados con un conjunto mas amplio de opciones:
# adduser -u 501 -g users -c "Kasandra Padisha" \
-d /home/kpadisha -s /bin/tcsh -p miclave
kpadisha
La sintaxis completa del comando adduser es:
# adduser -u uid -g gid -c nombre -d home \
-s shell cuenta -p contrase~
na
donde: uid es el número de usuario, gid el número de grupo, nombre el nombre del
usuario (normalmente, nombre y apellidos), home el directorio principal del usuario,
shell el intérprete de comandos y cuenta es el nombre que pondremos como login2 .
Para terminar una sesión se deberá escribir la orden exit, con lo que volveremos
al login. Hay que hacer notar que terminar una sesión no quiere decir apagar el
ordenador ni que Linux deje de funcionar. Simplemente consiste en que un usuario
ha abandonado el terminal y lo deja libre para otro usuario, que puede ser el mismo
pero con otro nombre.
Ahora que ya está creado el usuario kpadisha, es posible realizar el proceso de identificación con otro usuario distinto de root. Con lo que ya no es obligatorio trabajar
con root.
La herramienta de administración de usuarios proveida por casa matriz de Skina GNU/Linux es userdrake que suele estar embebida dentro del ambiente de
DrakConf pero puede ser ejecutada independientemente, inclusive desde linea de
comandos.
2
El usuario root tiene como uid=0 y gid=0
88
Sistema Básico
Figura 4.2: Administración de usuarios con Userdrake
La ventana de Userdrake (figura 4.2) esta compuesta por varias zonas; de arriba a
abajo tenemos primero un conjunto de menús desplegables con las opciones comunes: [Fichero], [Acciones], [Opciones] y [Ayuda]. Mas abajo están los botones
de acceso rápido a las acciones mas frecuentes que son [Añadir Usuario], [Añadir
Grupo], [Editar] o[Borrar] lo seleccionado y [Refrescar] la lista de grupos o usuarios. Adelante están dos pestañas donde se encuentra la lista detallada de usuarios
y grupos existentes en el momento.
Para adicionar un usuario, basta presionar el botón [Añadir Usuario] y una ventana se desplegará solicitando la información relevante que será: el nombre, el login, su
contraseña y su interpretador de comandos (shell). También se pregunta si se desea
crear un directorio propio para este usuario y cual recomienda, si crea un grupo
privado o si se va a a inscribir a alguno previamente existente y finalmente su icono
para identificarlo en la pantalla gráfica de ingreso (figura 4.3).
Para administrar usuarios se puede usar una de las herramientas de configuración
mas poderosas que ha tenido Linux, conocida como Linuxconf 3 , que al igual que
la mayorı́a de herramientas de configuración, es un conjunto de módulos integrados
3
Excluida de la mayorı́a de distribuciones para fomentar la diferenciación entre competidores y
en contra de la estandarización
4.1 Configuración y Control de acceso
89
Figura 4.3: Userdrake: Adición de un usuario
dentro de una misma presentación consistente. Esta herramienta permite realizar
virtualmente todas las labores de administración por consola, interfaz gráfica o por
red. Para este caso se usará la interfaz de X-window (figura 4.4).
El ingreso se puede hacer directo llamando el comando userconf o usando la interfaz
principal, despues de llamar linuxconf y de su bienvenida, se presiona el botón de
[Usuarios] (Users) para entrar a administrar los usuarios. Esto despliega una nueva
ventana con todas las tareas relacionadas con esta sección: Cuentas de Usuarios,
Definición de Grupos y Cambiar contraseña de root (figura 4.5).
En las otras carpetas se encuentran cuentas especiales como las usuarios remotos
por PPP y las polı́ticas generales de administración de cuentas. Por el momento se
presiona [User Accounts] y se despliega una nueva ventana con todos los usuarios
existentes (figura 4.6).
Para adicionar el usuario kasandra, se presiona el botón de [Adicionar] (Add) en la
parte inferior de la barra superior. Inmediatamente despliega una formulario donde
se pregunta toda la información del usuario (figura 4.7). Al presionar [Aceptar]
(Accept) una vez se han llenado la información, se requiere contraseña, la cual se
90
Sistema Básico
Figura 4.4: Bienvenida a Linuxconf X-Window
Figura 4.5: Linuxconf: Tareas de administración de cuentas
4.1 Configuración y Control de acceso
91
Figura 4.6: Linuxconf: Cuentas de usuarios
pregunta dos veces para evitar equivocaciones. Se recomienda asignar el grupo users
y evitar a toda costa el grupo de root u otro grupo de administración.
Figura 4.7: Linuxconf: Información de usuario
92
Sistema Básico
La herramienta de administración de usuarios kuser del ambiente KDE ofrece
una interfaz amable para la administración de usuarios.
Figura 4.8: Administración de usuarios con Kuser
Kuser (figura 4.8) consiste de dos ventanas, la izquierda muestra todos los usuarios
existentes y la derecha los grupos de usuarios. Para adicionar el usuario kasandra,
se hace click en el icono de [Add] en la parte izquierda de la barra superior.
Figura 4.9: Kuser: Adicion de un usuario
Inmediatamente se pregunta el nombre del usuario y se abre una caja de dialogo
4.1 Configuración y Control de acceso
93
donde se pregunta toda la información del usuario (figura 4.9). No olvide asignar
una contraseña y un shell de inicio. En la siguiente página de esta caja de dialogo se
encuentran opciones extendidas de administración como activación o fechas limites
de uso. En la última puede asignar un grupo de trabajo del usuario. Se recomienda asignar el grupo users y evitar a toda costa el grupo de root u otro grupo de
administración.
Antes de salir no olvide salvar los cambios realizados.
4.1.2.
Configuración de LILO
Muchas veces el ordenador es compartido por varias personas que no quieren saber
nada de LILO ni de Linux y lo único que quieren es que se inicie su sistema operativo
sin problemas.
Para ello se puede configurar LILO para que inicie un sistema operativo por
defecto, esto se hace entrando en el sistema como root y escribiendo la orden:
lilo -D windows -d 50
Con lo que se configura windows como sistema operativo por defecto y que cargue
este a los 5 segundos de no pulsar ninguna tecla. Suponiendo claro, que se haya
definido ası́ el nombre de la partición4 .
Este proceso puede hacerse también editando el archivo de configuración de LILO
/etc/lilo.conf que para este momento debe lucir como:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
vga=0x0f06
default=linux
keytable=/boot/es.klt
lba32
prompt
timeout=30
message=/boot/message
#
4
Algunas distribuciones le asignan el nombre DOS a esta partición
94
Sistema Básico
image=/boot/vmlinuz
label=linux
root=/dev/hda3
vga=788
#
image=/boot/vmlinuz
label=linux-nonfb
root=/dev/hda3
#
image=/boot/vmlinuz
label=failsafe
root=/dev/hda3
#
other=/dev/hda1
label=windows
table=/dev/hda
#
other=/dev/fd0
label=floppy
unsafe
#
Donde se puede observar que LILO se instala en la MBR del disco primario
boot=/dev/hda; el disco se trata como lba32 (mas de 1024 cilindros); el teclado
es Español (es.klt); va a preguntar por el sistema de arranque prompt; el tiempo de
espera timeout esta en 3 segundos (en décimas de segundo) y el sistema por omisión
(default) es el sistema linux.
Después del comentario # se identifican varios párrafos correspondientes a los sistemas instalados y modos de arranque, identificados por un label:
linux:Linux instalado en la partición /dev/hda3 usando un modo de VGA de
Frame Buffer: 788 para inicio gráfico.
windows:MS-Windows instalado en la partición /dev/hda1
linux-nonfb:Mismo linux sin inicio gráfico.
failsafe:Mismo linux pero para emergencias.
floppy:Arranque de un disquete de sistema.
4.1 Configuración y Control de acceso
95
Una vez salvado es necesario correr # /sbin/lilo para activar los cambios. Sea
muy cuidadoso con los cambios y valores asignados en este archivo ya que pueden
terminar dañando la entrada a su instalación y se haga necesario el uso de su disquete
de rescate.
El sitio natural para esta tarea es el centro de control o DrakConf, en el cual se escoge
[Arranque] → [Cargador de Arranque] lo que lanza la herramienta drakboot --boot
(figura 4.10) que es la misma que se usó en el proceso de instalación (sección 2.2.6).
Lo primero que se observa, en la parte superior de la ventana es la escogencia del
cargador que puede ser LILO (gráfico o texto) y Grub, seguido por el disco de
arranque y el tiempo de espera antes de entrar a la opcion por defecto. Cuando se
presiona el botón de [Siguiente] y se lanza una nueva ventana en done se muestran
cada una de las opciones de entrada que apareceran en el menú de inicio y se da
la posibilidad de configurar cada una de ellas, con su identificación, su particion de
arranque, su kernel y el ramdisk (initrd.img).
Figura 4.10: Drakboot
96
Sistema Básico
Para configurar LILO también se puede usar Linuxconf. Para este caso se usará la
interfaz de red (www): en un navegador se escribe la dirección del servidor al puerto
98 con http://mi servidor:98 (figura 4.11) .
Figura 4.11: Bienvenida a Linuxconf
Es conveniente resaltar que para entrar a linuxconf por red, es necesario usar el
password de root y esto es un posible hueco de seguridad. No lo haga a menos que
este seguro de no ser “escuchado” por la red.
Una vez se ha entrado, se va a Modo de Arranque y se tiene la configuración de LILO.
Se divide en tres grupos
? Configurar
4.1 Configuración y Control de acceso
97
• Valores por defecto de LILO
• Configuraciones de LILO
• Configuraciones de otros OS bajo LILO
? Cambiar
• Configuraciones de arranque por defecto
? Agregar
• Un kernel nuevo
• Un kernel que Ud. compiló
• Modo de arranque por defecto
En cada una de ellas se puede ver los valores actuales de LILO. Pero para la labor
a realizar solo interesa la configuración de arranque por defecto en la cual se puede
seleccionar el cambio a DOS/Windows (figura 4.12).
Figura 4.12: Linuxconf:Configuración de OS de arranque
Se presiona aceptar y se confirma la activación de la nueva configuración. Al reiniciar
el computador, este debe arrancar por DOS/Windows por defecto.
98
Sistema Básico
4.1.3.
Reinicialización del sistema
Una de las caracterı́stica de Linux es que utiliza una pequeña parte de la la memoria
RAM del ordenador (cache) para acumular pequeños grupos de tareas del disco
duro y las realiza cada determinado tiempo. Esta técnica permite acelerar todos los
procesos con ficheros, ya que las tareas con el disco duro, intrı́nsecamente lento, se
realizan por “tandas”, y los datos son leı́dos y escritos en el disco de vez en cuando,
mientras el resto del tiempo son manipulados directamente de la memoria RAM.
Por ello no es recomendable apagar un ordenador corriendo Linux sin antes advertir
al sistema de alguna forma que se prepare para ser parado. Si se le advierte antes,
el sistema descargará la información que tenga en memoria salvándola en el disco
duro; además mandará una señal de terminación a los procesos que se encuentren
ejecutándose en ese momento para que finalicen.
Para informar a Linux que se desea parar el sistema y apagar el ordenador se
utiliza la orden halt, el sistema entonces realizará diversas funciones preparándose
para la parada de la máquina. Sólo cuando el sistema indique en la pantalla:
The system is halted
System halted
se podrá apagar el ordenador. En algunas máquinas con control de potencia, el
comando halt apagará la máquina de forma automática.
Es posible que se desee reiniciar el ordenador en lugar de apagarlo, entonces la orden
shutdown -r now parará el sistema y después reiniciará el ordenador. Un “atajo”
a esta orden es pulsar las teclas [CRTL-ALT-SUP] a la vez, tendrá el mismo efecto5 .
En servidores, el que alguien tenga la posibilidad de reiniciar la máquina de forma
tan directa, no es muy conveniente. Esta caracterı́stica puede controlarse creando
un archivo /etc/shutdown.allow en el cual se colocan los usuarios que tienen permitido bajar el sistema. Cuando se presiona [CRTL-ALT-SUP], el sistema revisa que
5
A su vez halt es lo mismo que shutdown -h now
4.1 Configuración y Control de acceso
99
alguno de estos usuarios se encuentre conectado en una consola o en su defecto root
antes de proceder.
De forma mas radical, se puede suprimir del todo esta posibilidad y obligar a usar
el comando explicito de halt o reboot para reiniciar la máquina. En el archivo
/etc/inittab se encuentra la linea de definición de este comando
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
y se puede borrar o comentar y la próxima vez que se inicie la máquina este comando
no estará disponible.
Las interfaces gráficas, tanto KDE como GNOME se pueden configurar para que
permitan hacer halt y reboot en el momento que un usuario termina la sesión (logout).
También es posible realizarlo desde el login gráfico como muestra las figura 4.13
y figura 4.14. En el menú superior de GDM (Gnome Display Manager), presione
[Sistema] y este le permitirá seleccionar cualquiera de estas dos tareas o en KDM en la
parte inferior derecha se encuentra el botón de Apagar y este le permitirá seleccionar
cualquiera de estas dos tareas.
Figura 4.13: Sesión con gdm
100
Sistema Básico
Figura 4.14: Sesión con kdm
Este es el proceso que se debe seguir siempre para apagar el ordenador cuando
esté funcionando con Linux. Es posible, sin embargo, que sea imposible apagar Linux
adecuadamente, como por ejemplo por un corte de luz en medio de una sesión con
Linux. Linux es capaz de resistirlo y comprobará automáticamente la integridad del
sistema de archivos la próxima vez que se inicia, pero es posible que se pierdan
alguno de los datos que nunca llegaron a escribirse en disco.
Puede ocurrir en ciertas ocasiones que el proceso no sea tan transparente y en el
momento de chequear la integridad el sistema pida la contraseña de root y se niegue
a continuar. Esto ocurre cuando las reparaciones son serias y el sistema no se atreve
a realizarlas automáticamente. Ingrese la palabra clave de root y haga una revisión
del disco manualmente usando el comando fsck (file system check) y el nombre del
disco en problemas de la siguiente forma
# fsck /dev/hda3
y siga las reparaciones cuidadosamente. Puede que sea afortunado y nada del sistema
se haya dañado y simplemente cuando termine, salga de la cuenta con exit y la
máquina se reiniciará.
4.2 X-Window
4.2.
4.2.1.
101
X-Window
Xfree86
X-Window es uno de los estándares que se comparte en toda la comunidad Linux/Unix. Tiene origen en el proyecto Athena del MIT (Massachusets Institute of
Technology) y DEC en el año 1984 dirigido por Robert (Bob) Scheifler. En el año
1987 el MIT libera la última la versión bajo su control: X11 y de ahı́ en adelante es entregado al X Consortium quien se encarga de liberarla bajo una licencia
con ciertas restricciones, hasta la actualidad que se tiene la versión 11 Release 6.4
conocida como X11R6.4.
La comunidad de software libre da origen a un proyecto que tiene como objetivo el
desarrollo de una versión de X de fuente abierta bajo licencia similar a GNU/GPL
conocido como XFree86. XFree86 no puede ser GNU/GPL porque comparte código
con X Consortium y con algunos productores de hardware. Inclusive el lanzamiento de X11R6.4 provoco una confrontación entre X Consortium y XFree86; los
primeros quisieron cambiar la licencia original de X-Window por una mas restrictiva y bajo la amenaza de Xfree86 de independizar su desarrollo, X Consortium
hecho para atrás sus intenciones. Esto en el 2004 esto se volvió realidad, pero esta
vez, originada por un licenciamiento de Xfree86 que entraba en conflicto con GPL
de XFree86 que dio origen a un rechazo generalizado de todas las distribuciones,
en inclusive de muchos de sus principales desarrolladores y finalmente dió origen al
proyecto Xorg (http://www.x.org) para reemplazarlo, el cual, en este momento esta
condenando a la desaparición a Xfree86.
X-Window provee una primera capa para construir una interfaz gráfica: este sistema
media entre el hardware y el software; tiene muchas caracterı́sticas avanzadas incluidas el despliegue remoto y múltiples pantallas locales y además es independiente
del entorno de ventanas.
El entorno de ventanas esta controlado por un “manejador de ventanas” que es
el programa que permite usar y manipular las diferentes entidades gráficas. Por
esta configuración es posible tener muchas diferentes tipos de ventanas, interacción
102
Sistema Básico
y apariencia. En Linux existe una cantidad apreciable de estos manejadores entre
libres y comerciales como se menciona en la sección ?? y se muestra en las figuras
desde la ?? hasta la ??. Todos ellos tienen un estilo particular de presentación de
ventanas y de comportamiento.
4.2.2.
Configuración
Para poder utilizar estos entornos, primero es necesario configurar X-Window. Es
posible que, cuando se ha instalado Linux y se ha seleccionado X-Window, el programa de instalación haya configurado adecuadamente X-Window. Ası́ que, se puede
probar, primero siendo algo tı́mido se puede usar el comando # X -probeonly lo
que muestra toda la información del servidor X. Si no hay señal de error se puede
ejecutar X,con escribir: startx. Al ejecutar esto es posible que ya funcione.
Si no funciona, se debe configurar correctamente. Para ello, se tienen varios programas de configuración que se mencionan a continuación.
xf86config
Este programa funciona en consola, en modo texto. Ahora está un poco en desuso
en favor de interfaces gráficas, pero aun es útil para cuando es necesario bajarse de
nivel en el momento en que las otras herramientas no funcionan.
XF86Setup
Dependiendo de qué versión se tenga instalada de X-Window (3.3.6 o menor), se
puede usar XF86Setup. Este programa es en modo gráfico (VGA16 por defecto) y
permite configurar todo de un modo interactivo y por lo tanto más sencillo (figura
4.15). Este consta de cinco carpetas donde en orden se recopila información del ratón,
del teclado, de la tarjeta de vı́deo, incluyendo caracterı́sticas especiales, el monitor,
4.2 X-Window
103
y finalmente las caracterı́sticas de las despliegue como resolución y profundidad de
colores y ciertas caracterı́sticas especiales de comportamiento.
Figura 4.15: XF86Setup
xf86cfg
Si se instalo XFree86 versión 4.0 (o mayor) se puede usar también xf86cfg, que
al igual que XF86Setup, es una herramienta gráfica interactiva para la creación del
archivo de configuración XF86Config (figura 4.16).
La presentación es bastante particular porque muestra un grafo con los dispositivos
de pantalla, tarjeta, ratón, teclado y CPU; con el botón derecho se puede escoger
configurar y escoger tanto el modelo como las opciones para cada dispositivo.
En la parte superior de la pantalla principal se tienen cuatro botones, ratón, teclado,
tarjeta y monitor. Al presionar uno de estos, se adiciona al grafo: para un nuevo
ratón o dispositivo apuntador o en caso de tener varias tarjetas de vı́deo como ahora
lo permite el Xfree86 v4.0.
104
Sistema Básico
Figura 4.16: Pantalla principal de xf86cfg
4.2 X-Window
105
Una vez se tiene el objeto, y se coloca el ratón sobre el, se despliega automáticamente
las caracterı́sticas del dispositivo. Al presionarlo con el botón derecho, se despliega
un menú en el cual se puede configurar, asignar opciones, deshabilitar o remover.
En la pantalla de configuración de ratón puede verse el nombre o identificador:
Mouse1, el dispositivo: /dev/mouse y el tipo del ratón: Auto (figura 4.17).
Figura 4.17: xf86cfg: ratón
El despliegue del teclado muestra nuevamente un identificador, el tipo de teclado y
la configuración según el idioma (figura 4.18).
Como se observo durante la instalación, un gran número de monitores esta soportado
por XFree86, pero esto termina siendo traducido a frecuencias de refresco que el
monitor es capaz de soportar. En esta pantalla es interesante observar en la parte
inferior que se especifica a que tarjeta de vı́deo se tiene conectado el monitor.
La tarjeta de vı́deo tiene como identificador en principio su marca y modelo, pero
en este caso también existen genéricas que en el fondo, poseen el mismo chip central
106
Sistema Básico
Figura 4.18: xf86cfg: teclado
4.2 X-Window
107
Figura 4.19: xf86cfg: Monitor
108
Sistema Básico
que muchas de marca. Se escoge la correspondiente o la mas cercana a la que se
posee.
Figura 4.20: xf86cfg: tarjeta
Hecho todo esto, se presiona salir (Quit) y se confirman los archivos donde se guarda
esta información aquı́ proveida.
Xconfigurator
Este programa es una producción original de Red Hat ha evolucionado a XFdrake
en Mandrake. Este programa es en modo consola con ventanas o gráfico en otras
versiones (figura 4.21). Permite configurar la tarjeta gráfica, el monitor, resolución,
etc.Tiene además una excelente capacidad de auto-detección de dispositivos.
4.2 X-Window
109
Figura 4.21: XFdrake
4.2.3.
Redes e Internet
En la etapa de instalación se mencionaron los principios básicos de la configuración
de red. En esta sección se mostraran las herramientas disponibles para realizar esta
tarea, incluyendo la conexión remota a un ISP (Proveedor de Servicio Internet)
Para Linux (y los demás Unix) por su filosofı́a de diseño todos los dispositivos son
considerados archivos sin demasiado misterio. Por esto la configuración de la interfaz
de red es muy similar, no importa si se tiene una tarjeta de red o un módem.
Configuración de la Red
Una vez se tiene la tarjeta de red configurada se tiene un dispositivo denominado
eth0 y ahora se le asignan los valores que ya se mencionaron en la instalación en al
sección 2.2.5.
La herramienta utilizada durante la instalación esta disponible también para configuración: draknet, en donde se pueden asignar todos los valores de dirección IP,
gateway y proxy.
110
Sistema Básico
Hasta ahora se ha ignorado una de las mas nuevas y exitosas herramientas de configuración de Linux: Webmin. De acceso remoto a través de SSL (Secure Socket
Layer): protocolo seguro HTTP y diseño modular que permite realizar la inmensa mayorı́a de las tareas de administración. Una vez se tiene el servidor activado,
se conecta a la máquina a administrar con protocolo seguro al puerto 10000 con
https://my servidor:10000.
4.2 X-Window
111
Para configurar las interfaces de red se escoge la en la entrada de webmin la carpeta
[Hardware] y luego las funciones [Network Configuration]→[Network Interfaces ] con el
que se obtiene una lista de las interfaces de red disponibles en el momento (figura
4.22).
Figura 4.22: Webmin: Interfaces de Red
Se escoge la interfaz de red eth0 y se tiene los espacios para escoger tanto la forma de
asignar los valores DHCP, BOOTP o estático. Para este ultimo tenemos los valores
de número IP, de Máscara y Broadcast y si se activa en el inicio. La conexión de
Webmin es por red ası́ que se recomienda para configurar otros dispositivos, diferentes
112
Sistema Básico
al que se usa para conectarse, ya que cambiar los valores puede echar abajo el
servidor. Existe la posibilidad de asignar interfaces virtuales asociadas a la actual,
que por el momento se dejará a un lado (figura 4.23).
Figura 4.23: Webmin: Configuración de eth0
Si el equipo se encuentra en un red local y no se tiene un servidor de nombres,
es bastante incomodo usar números IP. La forma mas directa de solucionar este
problema es con el archivo /etc/hosts en donde se puede tener una tabla local de
IP’s y nombres: primero el numero y luego los diferentes nombres de las máquinas
como se muestra a continuación:
127.0.0.1 localhost.localdomain localhost
192.168.1.1 irulan.skina.com.co irulan
192.168.1.10 caladan.skina.com.co caladan
192.168.1.101 chani.skina.com.co chani
Este archivo se puede editar utilizando herramientas gráficas o por red como webmin.
Después de la bienvenida se presiona la carpeta [Hardware] y luego las funciones
4.2 X-Window
113
[Network Configuration]→[hostaddreses] con el que se presenta la lista de servidoresIP’s presentes en el archivo /etc/hosts (figura 4.24). Si se escoge [Add a new host
address] se tiene una forma para llenar con los valores (figura 4.25).
Figura 4.24: Webmin: archivo /etc/hosts
Configuración del dispositivo
Si la tarjeta de red no ha sido configurada, remı́tase a la configuración del kernel
(Sección 3.3), donde encontrará como configurar un nuevo dispositivo. Para los
módems (no winmodems) este proceso no es necesario.
En términos sencillos, un módem es un dispositivo conectado a un puerto serial:
usualmente COM2 o COM4 (/dev/ttyS1 o /dev/ttyS3) el cual usa un protocolo especial para convertirse en una interfaz de red. Linux le asigna el archivo /dev/modem
que, generalmente es un link (acceso directo) a alguno de los puertos mencionados.
Esto se puede realizar manualmente de la siguiente manera
# ln -s /dev/ttyS3 /dev/modem
114
Sistema Básico
Figura 4.25: Webmin: Editar direcciones de servidores
Los winmodems usan otros nombres diferentes de los seriales estándares para sus
dispositivos, como /dev/ttyLT0 por Lucent o /dev/sm56 por Motorola, pero finalmente se realiza el mismo vı́nculo a /dev/modem.
Skina GNU/Linux tiene un pequeño programa que realiza esta tarea conocido
como modemconf (figura 4.26). Heredero de modemtool original de Linuxconf y
Red Hat incluido en las versiones antiguas en su control-panel. Este último fue reemplazado en varias de las nuevas distribuciones, pero el paquete aun esta disponible
en la red.
El siguiente paso es la configuración de la conexión a la red, no importando que sea
tarjeta de red o módem.
Conexión a Internet
La información necesaria para la configuración de red se mencionó en la etapa de
instalación y aquı́ no es diferente, ası́ que solo se mostraran las dos posibilidades
para la configuración a Internet vı́a módem.
4.2 X-Window
115
Figura 4.26: Configuración de Módem con modemconf
Linuxconf puede ser corrido en consola y no es necesario tener ventanas para
realizar tareas de administración. Si esta en un shell y quiere correrlo en modo texto
use el comando # linuxconf --text. Se puede mover entre opciones y botones con
[tabulador] y [flechas] y escogerlas con [barra espaciadora] o [return].
No se deje engañar por las gráficas, estas son realmente en consola de texto, solo
que han sido muy bien logradas por los programadores, tal que lucen como ventanas
reales de X-window (figura 4.27).
Para realizar la configuración de la red entre en las opciones:
♦ Configuración
→ Configuración de red
−→ Tareas como cliente
Como solo se tiene un módem, únicamente se necesita configurar la conexión
PPP/SLIP/PLIP: presionar Agregar, se escoge el protocolo PPP6 ; Adicione el
teléfono, el puerto del módem (/dev/modem), seleccione usar autenticación PAP
(Password Authentication Protocol), su login y su contraseña proveı́das por el ISP.
Acepte y presione Salir para llegar a la ventana principal.
Una vez terminada la configuración de la interfaz, es necesario activarla, y para tal
6
En general todos los proveedores de Internet actualmente usan PPP (Point to Point Protocol)
116
Sistema Básico
Figura 4.27: Linuxconf: en consola para configurar red
Figura 4.28: Linuxconf: Interfaz PPP
4.2 X-Window
117
propósito se selecciona
♦ Control
→ Panel de Control
−→ Controlar enlaces PPP/SLIP/PLIP
Seleccione la interfaz generada PPP0 y se responde afirmativamente a la pregunta
de Desea activar el enlace de red? . El sistema debe proceder a llamar y a ejecutar
la conexión.
Es relevante mencionar que Linuxconf no es del todo un proyecto unificado. Cada
casa matriz tiene su versión “hecha en casa” para ser adaptada a sus particularidades, que sumado a su diseño modular, las opciones de sub-paquetes para realizar
una sola tarea es amplia. Esto lleva a que el camino aqui presentado no sea único y
sea solo una de las muchas opciones con esta herramienta.
Este proceso mostrado con Linuxconf puede ser llevado a cabo gráficamente presionando el botón de [Configuración de redes] en DrakConf el cual lanzará draknet
que ya fue usado durante la instalación (sección 2.2.5).
Una de las herramientas mas populares para la conexión a Internet es kppp del
escritorio KDE. Esta tiene excelentes caracterı́sticas como autodetección y seguimiento del costo de las llamadas. Para invocarlo se puede ir al escritorio y en el
grupo Internet lo encuentra o simplemente con el comando kppp.
En la ventana principal de kppp, se observan las diferentes conexiones configuradas,
usuario y contraseña. Ya que no se tiene ninguna conexión pre-configurada presiona
Configuración para para crear una nueva (figura 4.29).
En la ventana de configuración se oprime [Nueva] y aparece la ventana de nueva conexión con la [Configuración de marcado]. Se editan los espacios con el nombre de la conexión, el teléfono a usar, y el protocolo de autenticación. También
aquı́ se puede adicionar opciones al demonio pppd (adicionales a las existentes en
/etc/ppp/options) las cuales se van a omitir (figura 4.30).
Las otras carpetas, suelen tener valores por defecto que no hay necesidad de cambiar
ya que el servidor de Internet las asignará cuando se negocie la conexión a través
de DHCP, pero de todas maneras se deben revisar. Los valores aquı́ asignados son
118
Sistema Básico
Figura 4.29: Conexión a Internet con Kppp
Figura 4.30: Configuración de una nueva conexión con Kppp
4.2 X-Window
119
los mismos que se asignan para una conexión a red local. Al final de las carpetas
se encuentra el seguimiento de coste. Aun no está todavı́a con información de todos
los paı́ses pero es posible configurar que contabilice el tráfico de bytes de entrada y
salida.
Ahora se oprime el botón [OK] situado en la parte inferior de la ventana, y se
habrá creado la configuración de la conexión a su ISP.
Una vez vuelva a la ventana de configuración, se verifica que la información de
la linea y de los dispositivos es correcta. En general los valores por defecto son
los correctos pero eso nunca es válido para la máquina que se posee ;-). Para ello
oprima [Dispositivo Serie] y asigne correctamente el dispositivo y los demás datos
(figura 4.31).
Figura 4.31: Configuración del dispositivo serial con Kppp
Se oprime [módem] y se obtendrá una serie de utilidades y opciones para el dispositivo. Se podrá configurar todos los strings de llamado y reinicio del módem. Además se
puede hacer una prueba del módem y extraer la información de el mismo con [Con-
120
Sistema Básico
sultar módem], y además abrir una terminal del módem para hablar directamente
con el.
Para iniciar la conexión, en la ventana principal, se escoge el nombre de la conexión,
se teclea el login y el password y se oprime conectar. Aparecerá inmediatamente en
la pantalla una pequeña ventana en donde encontrará los mensajes de conexión y/o
error.
Es posible que las lı́neas de acceso se encuentren ocupadas. Si esto sucede puede
seguir intentando hasta lograr la conexión. Cuando logre la conexión se podrá hacer
uso de cualquier servicio de Internet.
En el momento en que se decida terminar su sesión, se debe tener la precaución de
desconectarse pues corre el riesgo de ocupar la lı́nea telefónica por más tiempo del
necesario, y además estará privando a otros de este servicio.
Una de las herramientas mas poderosas y simples para conectarse a Internet es
wvdial (http://www.worldvisions.ca/wvdial/). Es un programa en linea de comandos con “inteligencia”.
Únicamente es necesario tener una archivo de configuración /etc/wvdial.conf para
realizar una conexión. Este archivo luce de la siguiente forma:
[Dialer Defaults]
Modem = /dev/ttyS3
Baud = 57600
Init = ATZ
Phone = 111-111
Username = kasandra
Password = my-password
en el se muestra que el modem se encuentra en ttyS3 (COM4), usa 56Kbps, el
teléfono es 111-111, el usuario sera kasandra y la contraseña my-password. Por supuesto es un pequeño hueco de seguridad tener la contraseña escrita en un archivo
plano pero por ahora lo ignoramos.
4.2 X-Window
121
En una consola, el comando wvdial, se encargara de realizar la llamada, esperar la
respuesta y de forma inteligente determinar el modo de autenticación: PAP, CHAP
o en linea, y realiza la conexión.
Puede sonar algo primitivo esta forma de conectarse, pero hay cosas que no pueden
realizarse fácilmente con programas gráficos. Por ejemplo: El usuario llega a su casa a
las 10 pm. y desea que su máquina a esa hora ya se haya conectado a Internet y tenga
todo su correo disponible localmente. Este proceso es extremadamente simple usando
un script con wvdial y fetchmail, y el tiempo lo controla con cron, pero realizarlo
con herramientas como kppp y por decir, evolution para el mail, es cercano a
imposible.
Establecer el nombre del ordenador
Si el sistema Linux recientemente instalado tiene como nombre localhost, y se desea
personalizar el nombre del computador, las herramientas de configuración de red que
se han tratado, todas permiten asignar el nombre al equipo.
Por completitud,
esto se puede realizar en linea de comandos utilizando el comando hostname como
root. Si por ejemplo se quiere llamar al computador ordenador irulan basta con
escribir el comando # hostname irulan.
122
4.3.
4.3.1.
Sistema Básico
Gestión de paquetes
Herramientas de administración
Como se mencionó en la instalación, los programas para Skina GNU/Linux vienen
en forma de paquetes comprimidos con extensión RPM (Red Hat Package Manager).
Para la gestión de dichos paquetes, se dispone de varios programas:
En “lı́nea de comandos” se utiliza el programa rpm, al cual permite no solo instalar
o desinstalar paquetes, sino además puede solicitarse información, verificar dependencias, etc.
En la tabla 4.2 aparecen las opciones generales.
Opción
Descripción
-i
Instala (install)
–force
fuerza la instalación
-h
Indica el progreso
-v
.
-U
Actualiza (update)
–force
fuerza la actualización
-h
hash
-v
.
-e
Desinstalar (erase)
-q
Información (query)
-a
Todos los paquetes instalados
-i
Información principal
-l
Lista de archivos
-p
Información de paquetes no instalados
Cuadro 4.2: Opciones básicas de rpm
Vemos unos cuantos ejemplos:
1. Instalar el paquete tcd-1.2.0-30.i386.rpm (CD player):
4.3 Gestión de paquetes
123
# rpm -ivh tcd-1.2.0-30.i386.rpm
tcd
###################################
2. Ver la información del paquete instalado tcd:
# rpm -qi tcd
Name
: tcd
Version
: 1.2.0
Relocations: (not relocateable)
Vendor: Skina Ltda. Bogota, Colombia
Release
: 30
Build Date: Tue Aug 22 21:52:05 2000
Install date: Mon Oct 18 Build Host: irulan.skina.com.co
Group
: Sound
Source RPM: gnmedia-1.2.0-30.src.rpm
Size
: 536181
License: LGPL
Packager
: [email protected]
URL
: http://www.gnome.org
Summary
: Compact curses based CD player
Description :
Compact curses based CD player, with easier key
control and more features than other CD players,
such as track repeat, continuous play, track
database, etc.
Authors:
-------Changwoo Ryu <[email protected]>
Raja R Harinath <[email protected]>
Tom Tromey <[email protected]>
3. Ver la información del paquete tcd que no está instalado:
# rpm -qip tcd-1.2.0-30.i386.rpm
y saldrá la misma información que antes.
4. Borrar el paquete instalado tcd:
# rpm -e tcd-1.2.0-30
Existen varios programas para el entorno X-Window, de fácil utilización. Cada interfaz gráfica provee una herramienta: KDE tiene kpackage como su herramienta
gráfica de manejo de paquetes (figura 4.32).
124
Sistema Básico
Figura 4.32: Manejo de paquetes con kpackage
En GNOME se encontraba gnorpm que fue abandonado y reemplazado por una adicion a nautilus: nautilus-rpm pero para el autor no es un reemplazo. Esta aplicación
presenta una interfaz avanzada y amable con las mismas habilidades de kpackage
(figura 4.33).
Además, Skina GNU/Linux provee una herramienta propia: rpmdrake, la cual tiene
origen en un concepto similar a kpackage pero esta se extiende agregando otras
utilidades hasta la presente distribución donde se convierte en un administrador de
“la distribución” particular mas que de paquetes individuales (figura 4.34).
4.3.2.
Conversión de paquetes
Una de los retos de la administración de paquetes, es la falta de disponibilidad de los
programas en los formatos requeridos. Ejm: Los usuarios de Slackware usualmente desean usar paquetes que vienen en formato rpm. Para resolver este problema
esta disponible un programa llamado alien para lı́nea de comandos, el cual permite convertir los paquetes a distintos formatos: tgz (utilizado por Slackware),
4.3 Gestión de paquetes
125
Figura 4.33: Manejo de paquetes con gnorpm
deb (utilizado por Debian) o rpm (utilizado por Red Hat, Mandrake, SuSE y
OpenLinux).
126
Sistema Básico
Figura 4.34: Manejo de paquetes con rpmdrake
4.4 Configuración de hardware
4.4.
127
Configuración de hardware
La inclusión de nuevo hardware o de hardware que no fue apropiadamente instalado es una de las labores que eran bastante temidas hace algún tiempo. Skina
GNU/Linux provee varias herramientas que permiten la detección y configuración
de estos equipos.
4.4.1.
Harddrake
La herramienta mas poderosa que posee Skina GNU/Linux para la configuración de
hardware es HardDrake el cual integra programas tres niveles de programas:
Figura 4.35: HardDrake: Herramienta de administración de dispositivos
Librerı́a Detect: Es la máquina de auto-detección reuniendo varias herramientas
como isapnptools y SuperProbe
Harddrake: La interfaz gráfica que combina la detección con la configuración
128
Sistema Básico
Harddrake Wizard: Es una herramienta de configuración genérica y es el reemplazo de Soundrake y Etherdrake
Para iniciar la herramienta, en una consola se escribe harddrake o desde el botón de
configuración de hardware en DrakConf. Esto puede tomar algo de tiempo mientras
realiza su tarea. Una vez se activa muestra un administrador gráfico de dispositivos
(figura 4.35).
Se señala el dispositivo que se desea configurar y se corre la herramienta particular
para el, por ejemplo la herramienta de configuración de sonido i.e. sound-wizard
(figura 4.36) que aparece cuando se presiona [Corra herramienta de configuración ]
(Run configuration Tool).
Figura 4.36: HardDrake: Sound-wizard
En esta ventana se pueden cambiar el modulo del kernel (driver) utilizado, y en
caso que tenga problemas también le será posible cambiar los datos de interrupciones
(IRQ) o áreas de memoria y demás, cuestión que, en principio, no es muy buena idea
ya que estos han sido pre-seleccionados como consecuencia de la detección. Cuando
se presiona [OK] se corre una prueba de tres sonidos: 8 bits, 16 bits y MIDI. Si se
4.4 Configuración de hardware
129
oyeron correctamente, se presiona nuevamente [OK] para confirmar la configuración.
Mas adelante se presentan otras formas de configurar el sonido.
4.4.2.
Kudzu
Una de las herramientas mas completas que es incluida en Skina GNU/Linux para
la configuración automática de hardware es Kudzu. De casa matriz Red Hat, es
usada por varias distribuciones e integra programas de auto-detección de hardware
con la generación de archivos de configuración.
Para iniciarlo, en una consola se escribe kudzu. En ese momento, compara el hardware existente con una base de datos almacenada en /etc/sysconfig/hwconf. Esto
puede tomar algo de tiempo mientras realiza su tarea. Si encuentra alguna diferencia con la configuración original reporta la diferencia y da la opción de mantener la
configuración actual, de crear la nueva o simplemente ignorar el evento. En la figura
4.37 se muestra el reporte de un cambio de ratón en el sistema.
Figura 4.37: Kudzu: Detección y configuración automática de Hardware
130
4.4.3.
Sistema Básico
Configuración del sonido
El funcionamiento de la tarjeta de sonido durante mucho tiempo fue un arte que
pocos dominaban sobre Linux. En este momento se ha progresado considerablemente
en el área hasta casi tener soporte para la gran mayorı́a de tarjetas del mercado y
lograr que los mismos fabricantes provean el soporte sobre Linux. Si en la instalación
no fue detectado el dispositivo de sonido ahora se incluirá el soporte en el sistema.
Se va a usar la herramienta de configuración de Red Hat: sndconfig que es también
distribuida con Skina GNU/Linux pero no instalada por defecto.
Como usuario root, en una consola escriba el comando sndconfig y presione [return].
El programa procederá a detectar las tarjetas PnP (Plug and Play) tanto ISA como
PCI, y por esto mostrará una advertencia si se esta corriendo bajo X Window.
Si la detección es exitosa, se muestra la elección y se procederá a correr muestras de
sonido digital y análogo para verificar que el sistema esta corriendo correctamente.
Si la auto-detección no es exitosa se tiene la posibilidad de escoger manualmente la
tarjeta (figura 4.38).
Figura 4.38: Sndconfig
La adición de la tarjeta de sonido se ve reflejado en el archivo /etc/conf.modules
el cual ordena los módulos que se anexan al kernel en el momento de arranque y
4.4 Configuración de hardware
131
los parámetros particulares relativos al hardware a soportar. Por ejemplo, si se tiene
una SoundBlaster, se le adicionaran las siguientes lineas al archivo
alias sound-slot-0 sb
options sb io=0x220 irq=7 dma=0 mpu_io=0x300
alias midi opl3
options opl3 io=0x388
donde leyendo linea por linea: la tarjeta es una Sound Blaster (sb) en la dirección
0x200, la interrupción numero 7 y el dma 1, el sintetizador midi MPU401 usa la
dirección 0x300, el sintetizador FM de sonido midi de la tarjeta es un Yamaha
OPL3 el cual esta en la dirección 0x388.
Es importante notar que esta es la forma en que todo el hardware es soportado por
los nuevos Linux, el kernel es modular y simplemente se adicional lineas al archivo
conf.modules para incluir el soporte.
Capı́tulo 5
Configuración de Servicios
5.1.
5.1.1.
Configuración de servicios
Servicio de impresión
La impresión en sistemas tipo UNIX siempre ha representado un problema. A diferencia de otros sistemas con un solo proveedor como Microsoft Windows o Apple
MacOS, UNIX no tiene un estándar único. Este ha estado dominado por dos corrientes diferentes Berkeley Line Printer Daemon (LPD) [RFC1179] y el AT&T
Line Printer System, siendo el primero el mas difundido hasta nuestros dı́as.
Ambos sistemas fueron diseñados en los 70’s para imprimir texto en impresoras de
linea o postscript en dispositivos apropiados. Cada proveedor ha extendido el soporte
a otros tipos de impresoras obteniendo diferentes “sabores” del estándar. En este
proceso han emergido varios reemplazos como LPRng, Palladin y PLP, pero ninguno
cambia de manera fundamental las capacidades del diseño original.
En los últimos años se ha hecho esfuerzos para obtener un estándar POSIX de
impresión sin mucho éxito. En 1999 el IPP (Internet Printing Protocol) define las
extensiones para el protocolo HTTP para el soporte de servicios de impresión remota.
El documento es aceptado por la IETF (Internet Engineering Task Force) en Octubre
de ese mismo año con un soporte amplio de la industria.
133
134
Configuración de Servicios
CUPS (Common UNIX Printing System) es un sistema de impresión portable, extensible y seguro para sistemas operativos tipo UNIX. Es una implementación del
protocolo IPP (Internet Printing Protocol) versión 1.1 aprobado en el 2000. Este
estándar ha sido adoptado por muchos proveedores incluyendo el mayor enemigo de
estándares de comunidad como es Microsoft y su producto Windows 2000.
El desarrollo actual de CUPS sobre Linux esta siendo llevado a cabo por Easy Software Products bajo licencia GNU GPL con excepción del CUPS API que tiene
licencia GNU LGPL para garantizar el uso de este estándar en aplicaciones no
GPL. CUPS además provee interfaces de compatibilidad con estándares como LPD
(Line Printer Daemon), SMB (Server Message Block) y AppSocket (a.k.a. JetDirect)
[cups].
Aun cuando se ha configurado una impresora durante la instalación con DrakX, no se
esta exento de afinar su configuración, adicionar una nueva o simplemente cambiar
de impresora.
CUPS es, en esencia, un servidor www. Entonces, no solo los trabajos de impresión
transportan por este medio, sino que la administración puede hacerse con un simple
navegador. Basta con contactar la dirección http://elservidor:631 y se tendrá un
menú con las tareas a realizar con el servidor en el que se encuentra trabajando
(figura 5.1).
Tareas de Administración (Do Administration Tasks): Realizar labores de administración en el servidor. Por supuesto, necesita contraseña de root.
Administración de Grupos de Impresoras (Manage Printer Classes): Manejar las
clases en las que se agrupan las impresoras.
On-Line Help: Ayuda en linea.
Administración de Trabajos de impresión (Manage Jobs): Administrar los trabajos en el servidor
Administración de impresoras (Manage Printers): Manejar las impresoras visibles en el servidor desde la máquina local.
5.1 Configuración de servicios
135
Bajar los últimos programas de CUPS (Download the Current CUPS Software):
Bajar la última versión de CUPS.
Figura 5.1: Bienvenida del servidor CUPS
Se selecciona [Do Administration Tasks] y se ingresa la contraseña de root de la máquina. Si se teme por los posibles huecos de seguridad que conlleva esto, tiene razón. Las
contraseñas viajan en texto por la red haciendo posible que otras personas las vean.
Solo use administración remota en redes locales o seguras, no todos los servidores
deben tener este servicio de administración disponible. CUPS ha implementado una
autenticación digerida (Digest) usando chequeo de integridad MD5 pero hasta el
momento pocos navegadores soportan esta opción.
Al iniciar las labores de administración se muestra las tres entidades involucradas
en la impresión: trabajos, clases e impresoras (figura 5.2).
136
Configuración de Servicios
Figura 5.2: CUPS: Labores de administración
Se inicia seleccionando la adición de una impresora [Add Printer]. Aparecerá entonces
la pantalla de descripción de la impresora donde el único valor obligado es el nombre.
También se tiene un espacio para la descripción y la ubicación.
CUPS al igual que los otros sistemas de impresión, puede utilizar impresoras conectadas al computador que se esta utilizando o impresoras remotas en otros computadores, utilizando diversos protocolos: LPR (Unix), SMB (MS-Windows) y NCP
(Novell Netware) y ponerlas a disposición de otros clientes siguiendo los mismos
protocolos. Se escogerá una impresora local seleccionando el primer puerto paralelo
como dispositivo de conexión (figura 5.4).
La instalación presentará inicialmente una lista de marcas, de la cual se escoge
la adecuada y se presiona continuar para entonces obtener una lista de impresoras
(figura 5.5) de la marca escogida. Se selecciona la correspondiente o la que mas se
parezca al modelo.
Una vez configurada la impresora se presentará la pantalla reportando el resultado.
Si se presiona el nombre de la impresora se obtiene la descripción total del dispositivo
(figura 5.6).
5.1 Configuración de servicios
Figura 5.3: CUPS: Descripción de impresora
Figura 5.4: CUPS: Conexión de la impresora
137
138
Configuración de Servicios
Figura 5.5: CUPS: Modelos de impresoras
Figura 5.6: CUPS: Impresoras configurada
5.1 Configuración de servicios
139
Como se menciona al inicio del presente capitulo, el centro de control de Skina
GNU/Linux , DrakConf dispone de un conjunto de botones para diferentes tareas
de administración, entre ellas incluye un botón de configuración de Impresoras presionando [Sistema]→[Printer] el cual llama la misma herramienta utilizada en el
momento de la instalación: printerdrake. Por esto la Sección 2.2.5 puede ser seguida paso a paso para instalar las impresoras. Se escoge su versión en texto para
las ilustraciones.
Al iniciar printerdrake muestra las colas instaladas (figura 5.7) y un botón de
adición [Add]. Si no se ha instalado una impresora previamente el sistema inicia por
defecto adicionando una cola.
Figura 5.7: Printerdrake: Pantalla principal
Se presenta ahora la posibilidad de escoger la conexión a la impresora: remotas usando LPR (Unix) o SMB (MS-Windows), o local por puerto paralelo. Se escogerá una
140
Configuración de Servicios
impresora local.
Figura 5.8: Printerdrake: Tipos de conexión de impresoras
Printerdrake tratará de detectar el dispositivo donde se encuentra conectada la
impresora, que por defecto es el primer puerto paralelo conocido como /dev/lp0.
Aparecerá entonces la ventana de descripción con todos la información de la impresora: el Nombre: lp por defecto1 , la descripción y la ubicación.
Figura 5.9: Printerdrake: Descripción de impresora
La instalación presentará una lista de impresoras (figura 5.10), se selecciona la
correspondiente o la que mas se parezca al modelo. Una vez seleccionada se pregunta
si desea hacer una prueba, la cual se recomienda.
Una vez configurada la impresora se presentará nuevamente la pantalla de colas y
1
Herencia del formato de LPD
5.1 Configuración de servicios
141
Figura 5.10: Printerdrake: Modelos de impresoras
se puede presionar hecho [Done] y posteriormente pulsar [OK] para abandonar el
programa.
La interfaz de usuario KDE presenta una herramienta de administración de CUPS
denominada kups. Este programa es fundamentalmente equivalente a la interfaz
de administración remota proveida por el servidor de impresión y presenta una
secuencia de pantallas con el mismo objetivo.
Se selecciona la herramienta en el menú de KDE o se escribe el comando 2 . La
ventana inicial muestra a la izquierda un explorador jerárquico con las impresoras y
las clases previamente configuradas o presentes en la red en otros servidores CUPS.
A la derecha se muestran dos carpetas, una con la descripción de la impresora o
clases (Infos) y la segunda con la información de los trabajos de la impresora o clase
seleccionada (Jobs) (figura 5.11).
En el menú se encuentran varias tareas como enviar impresiones de prueba o inclusive
configurar el demonio de CUPS, labores que se omiten por el momento.
2
Si usa KDE como interfaz estándar, presionando [Ctrl+F2], obtiene una ventana en donde se
pueden ejecutar los comandos sin abrir una consola
142
Configuración de Servicios
Figura 5.11: Ventana principal de Kups
Se inicia seleccionando la adición de una impresora [Printer]→[Add]. Aparecerá entonces la pantalla de inicio del Wizard que guiará la instalación de una nueva impresora. Se presiona [Next] para continuar.
A continuación se presenta una lista de las posibles conexiones de la impresora
(figura 5.12).
Figura 5.12: Kups: Conexión de la impresora
Local Printer: Impresora local serial o paralela
5.1 Configuración de servicios
143
Class of printers: Grupo de impresoras
LPD Line Printer Daemon: Impresora remota estándar UNIX
IPP Internet Printing Protocol: Impresora remota utilizando protocolo IPP.
SMB Windows shared printer: Impresora compartida por Windows.
Socket AppSocket network printer: Impresora compartida por Mac OS.
Se escogerá una impresora local seleccionando el primer puerto paralelo como dispositivo de conexión (figura 5.13).
Figura 5.13: Kups: Impresora Local
Después de presionar [Next] se presenta una lista de marcas y modelos, de la cual se
escoge la adecuada y se presiona [Next] (figura 5.14).
Ahora es necesario dar la descripción de la impresora donde el único valor obligado
es el nombre. También se tiene un espacio para la descripción y la ubicación (figura
5.15).
Una vez configurada la impresora se presentará la pantalla reportando el resultado
y solicitando confirmación (figura 5.16). Si se presiona [OK] se culmina el proceso.
144
Configuración de Servicios
Figura 5.14: Kups: Modelos de impresoras
Figura 5.15: Kups: Descripción de impresora
5.1 Configuración de servicios
145
Figura 5.16: Kups: Confirmación de Impresora configurada
5.1.2.
Compartir Recursos
Después de la impresión, el espacio en disco es el recurso mas difundido dentro
de las redes locales. Para compartir recursos Linux hereda de UNIX un estándar
conocido como NFS (Network File System) originado por Sun en los años 70. El
otro protocolo usado por Linux es SMB implementado por Samba para compartir
tanto impresión como archivos con MS-Windows.
Usando NFS
La forma mas directa de ofrecer un directorio por NFS es editando el archivo
/etc/exports. En este archivo se escribe, el directorio a exportar, las máquinas
que tiene permitido el acceso y los permisos que estos tienen. A continuación se
muestra el ejemplo del manual de este archivo [man]
# sample /etc/exports file
/
master(rw) trusty(rw,no_root_squash)
/projects
proj*.local.domain(rw)
/usr
*.local.domain(ro) @trusted(rw)
/home/joe
pc001(rw,all_squash,anonuid=150,anongid=100)
/pub
(ro,insecure,all_squash)
146
Configuración de Servicios
En este ejemplo se ve en la primera linea que se comparte la raı́z “/” a un equipo
llamado master con permisos de lectura y escritura, mientras que para el equipo
trusty, tiene lectura escritura y además la identidad de root es transferida del servidor
al cliente; /project se comparte a todos los equipos con un nombre iniciado por
proj en una red.
Una vez se tiene el archivo a satisfacción, se debe reiniciar el servidor NFS con el
comando # /etc/rc.d/init.d/nfs restart y garantizar que este inicia automaticament cuando el sistema esta arrancando. Para esto se utilizan herramientas de
manejo de servicios como drakxservices en Mandrake o ntsysv en Red Hat.
Los directorios compartidos por NFS pueden ser manejados desde Linuxconf (como
casi todo). En la pantalla principal se escoge Redes (Networking) y en la carpeta de
Tareas de Servidor se tiene Sistemas de archivos exportados (Exported File Systems
NFS) en donde se muestra la lista de directorios compartidos. Se presiona [Adicionar]
(Add) para llenar los valores que se describieron anteriormente (figura 5.17 y 5.18).
Figura 5.17: Linuxconf: Tareas como servidor
5.1 Configuración de servicios
147
Figura 5.18: Linuxconf: Configuración de NFS
Desde el punto de vista del cliente, el directorio compartido ha de ser montado
como cualquier otro disco: es simplemente un “dispositivo de red”. En la linea de
comandos es como se ve a continuación:
# mount -t nfs myservidor:/pub
/usr/local/pub
o puede ser incluido en el archivo /etc/fstab en donde se encuentran todos los
dispositivos de almacenamiento de archivos que son montados al inicio del sistema
como se ve en el siguiente ejemplo.
# Ejemplo de archivo /etc/fstab
#
/dev/hdb3 /
ext2
defaults 1 1
/dev/hda1 /mnt/windows
vfat
defaults 1 2
/dev/hda2 swap swap defaults 0 0
#
chani.skina.com.co:/pub
/usr/local/pub nfs defaults 1 2
El anterior archivo es solo un ejemplo, para ilustrar como se monta un sistema de
archivos remoto desde el inicio del sistema. Si desea profundizar mas en el tema
puede remitirse a la sección 3.2.
148
Configuración de Servicios
Samba
Samba es, con Linux y Apache, uno de los proyectos mas exitosos de software libre. Se
llama a si mismo un Servidor de archivos para Linux usando Windows SMB (Server
Message Block)/CIFS (Common Internet File System). El conjunto de aplicaciones
y servicios que componen el proyecto van desde compartir archivos a hacer control
de dominio de Windows NT.
Configurar un servidor Samba es, en principio, asignar su dominio. Todas las distribuciones incluyen una configuración estándar donde los directorios de los usuarios
y las impresoras están compartidos por defecto. Ahora se procederá a hacerlo de
forma explicita.
Para compartir un directorio, se va a utilizar la herramienta de configuración desarrollada dentro del proyecto Samba: swat. Esta es un servidor que permite la configuración del servidor por medio de protocolo HTTP. Una vez se tiene el servicio de
swat corriendo, desde un navegador se llama la dirección http://localhost:901 el
cual, después de dar usuario y contraseña presenta la pantalla de bienvenida (figura
5.19.
Para iniciar se llama la forma de [Globals] donde se puede configurar tanto del
Dominio (Workgroup) como el control de acceso y demás caracterı́sticas del servicio,
del cual se mantendrán los valores por defecto.
Para compartir directorios se llama la pantalla de [Shares]. Como se menciono, Samba
incluye por defecto la configuración para que todos los los usuarios puedan compartir
su directorio raı́z (home), pero se puede diseñar uno nuevo escribiendo su nombre
y presionando [Create Share], al tiempo aparece la pantalla con todas las opciones:
el comentario que se muestra la anunciar el compartido, el sitio del directorio a
compartir, la lista de usuarios y máquinas que pueden tener acceso a el y una vez
se han llenado estos valores se presiona [Commit Changes] para salvar los valores
(figura 5.20).
Una vez se ha validado y actualizado la información se reinician los servicios de smb
y estos directorios estarán disponibles para otros usuarios de la red local Windows.
5.1 Configuración de servicios
Figura 5.19: Configuración de Samba con swat
Figura 5.20: Swat: Compartir directorios con Samba
149
Apéndice A
Licencias Públicas GNU
La siguiente información es la traducción al Español de la Licencia Pública General
GNU y de la Licencia de Libre Documentación de GNU. Es una traducción NO
OFICIAL, por tanto su uso deberá ser únicamente para fines informativos.
LICENCIA PÚBLICA GENERAL GNU
Versión 2, Junio 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA
Cada
02111-1307, USA
quien tiene permitido copiar y distribuir al pie de
letra
copias
de
este
documento de licencia,
pero
la
no
es
permitido cambiarlo.
Preámbulo
Las
licencias para la mayorı́a del software se
quitarte
dise~
nan
tu libertad para compartirlo y cambiarlo.
contrario,
la
Licencia Pública General
GNU
se
para
asegurar que el software sea libre para
usuarios.
Esta
Licencia Pública General
se
todos
aplica
cualquier otro programa cuyos autores se comprometan a
de
ella.
(Algún
otro software de
151
la
a
libre
sus
a
mayorı́a del software de la Fundación del Software Libre
uso
el
destina
garantizar tu libertad de compartir y cambiar software
--
para
Por
la
y
a
hacer
Fundación
del
152
Licencias Públicas GNU
Software Libre esta cubierto por la Licencia Pública
General
de Librerı́as GNU en lugar de la anterior.) Puedes aplicarlo a
tus programas, también.
Cuando
nosotros
referimos
a
hablamos
de
software
la libertad, no al precio.
libre,
nosotros
Nuestras
Licencias
Públicas
Generales se dise~
nan para asegurar
libertad
para distribuir copias de software libre (y
para
este
fuente
servicio
o
puedas
si lo deseas), que
conseguirlo
si
lo
que
tienes
recibas
el
quieres,
la
cobrar
código
cambiar
software o usar pedazos de ellos en nuevos programas
el
libres;
y saber que puedes hacer estas cosas.
Para
proteger
tus
restricciones
que
derechos,
prohı́ban
nosotros
derechos o te pida cederlos.
que
necesitamos
alguien
te
hacer
niegue
estos
Estas restricciones se traducen
a ciertas responsabilidades para ti si distribuyes copias del
software, o si lo modificas.
Por
ejemplo, si distribuyes copias de tal programa,
gratis
o
a un costo, debes dar a los receptores
derechos
reciban
que tienes.
o
puedan
ya
sea
todos
los
Debes de asegurar que ellos,
conseguir
el
código
también,
fuente.
Y
debes
mostrarles estos términos y ası́ ellos sabrán sus derechos.
Nosotros protegemos tus derechos con dos pasos: (1) registrar
el
software, y (2) ofrecerte esta licencia que te da permiso
legal para copiar, distribuir y/o modificar el software.
También, para la protección de cada autor y nuestra, nosotros
queremos
dejar por seguro que todos comprendan
que
garantı́a
para
software
este
software
libre.
Si
el
no
hay
es
modificado por alguien más y es pasado, nosotros queremos que
sus
receptores
sepan
que lo que
ellos
tienen
no
es
el
original, ası́ para cualquier problema que sea introducido por
otros
no
se
reflejará sobre la reputación de
los
autores
originales.
Finalmente,
constantemente
cualquier
por
programa
las
patentes
libre
de
es
amenazado
software.
Nosotros
deseamos de evitar el peligro de que los redistribuidores
de
un programa libre obtengan licencias de patente individuales,
con
en el efecto de hacerse propietarios del programa.
prevenir
patente
esto,
debe
nosotros hemos dejado
permitir
el uso
libre
claro
de
que
todos
Para
cualquier
o
no
ser
permitido en su totalidad.
Las condiciones y términos precisos para copiar, distribuir y
153
modificar sigue a continuación.
TÉRMINOS Y CONDICIONES PARA COPIAR, DISTRIBUIR Y MODIFICAR.
0.
Esta
Licencia
trabajo
que
Copyright
de
aplica a cualquier
programa
por
el
esta
Licencia
"trabajo
se
Pública
General.
El
u
otro
tenedor
diciendo que puede distribuirse bajo los
adelante,
del
términos
"Programa",
refiere a cualquier programa o trabajo,
más
y
un
con base en el Programa" significa o el Programa
cualquier
decir,
se
contenga un aviso puesto
trabajo
derivado bajo la ley del
Copyright:
o
es
un trabajo que contiene el Programa o una porción
de
él, o al pie de la letra o con modificaciones y/o traducido a
otro
idioma.
sin
limitación
(De aquı́ en adelante, la traducción se incluye
en
el
término
"modificación".)
Cada
permisionario se dirige como "usted".
Otras actividades a excepción del copiado, distribución y
modificación no son cubiertas por esta Licencia; ellas
afuera
esta
de
su alcance.
restringido,
y
El acto de ejecutar el
las salidas
del
la
están
Programa
Programa
se
no
cubren
únicamente si sus contenidos constituyen un trabajo con
base
en el Programa (independiente de que se halla hecho corriendo
el Programa).
Ya sea que esto es cierto depende de lo que el
Programa hace.
1.
Usted puede copiar y distribuir al pie de la letra copias
el
código
fuente
cualquier
del Programa como usted
medio,
con
tal
que
usted
lo
recibe,
por
notoriamente
y
adecuadamente publique sobre cada copia un apropiado aviso de
Copyright
los
y
avisos
cualquier
Programa
una negación de garantı́a; guarde intacto
todos
que refieran a esta Licencia y a la ausencia
garantı́a;
una
copia
y
de
a cualquier
otro
receptor
de esta Licencia conjuntamente
de
del
con
el
Programa.
Usted puede cobrar un costo para el acto fı́sico de transferir
una
copia, y usted puede en su opción ofrecer protección
de
garantı́a a cambio de un costo.
2.
Usted
puede modificar su copia o copias del
Programa
o
cualquier porción de él, ası́ formando un trabajo con base
el
Programa,
trabajos
y
en
copiar y distribuir tales modificaciones
bajo los términos de Sección 1 de arriba,
con
o
tal
que usted también conozca todas estas condiciones:
*
a)
Usted
debe hacer que los archivos modificados
lleven
154
Licencias Públicas GNU
avisos
destacados afirmando que usted cambió los archivos
y
la fecha de cualquier cambio.
*
b)
Usted
debe
hacer
que cualquier
trabajo
que
usted
distribuye o publica, que en su totalidad o en parte contiene
o
se
deriva del Programa o cualquier parte de él, debe
ser
autorizado como un todo sin ningún cargo a todos los terceros
bajo los términos de esta Licencia.
*
c)
Si el programa modificado normalmente lee los comandos
interactivamente
comenzó
a
cuando
es ejecutado,
usted
debe,
correr con tal uso interactivo en la
cuando
manera
ordinaria, imprimir o mostrar un anuncio incluyendo un
apropiado
otra,
de Copyright y un aviso de que no hay garantı́a
diciendo
usuarios
que
pueden
usted provee una garantı́a)
redistribuir
el
y
programa
Licencia.
(La
interactivo
excepción: si el Programa
bajo
en
sı́
los
estas
de
esta
mismo
pero no imprime normalmente tal anuncio,
con base al Programa no se requiere que
(u
que
condiciones, y dı́gale al usuario como ver una copia
trabajo
más
aviso
es
en
su
imprima
un
anuncio.)
Estos
requerimientos se aplican al trabajo
una
totalidad.
no
son
derivadas
considerarse
modificado
Si las secciones identificables del
del
Programa,
y
puede
como
trabajo
razonablemente
los trabajos separados e independientes
en
sı́
mismos, entonces esta Licencia, y sus términos, no se aplican
a
esas
secciones cuando usted los distribuye como
separados.
trabajos
Pero cuando usted distribuye las mismas secciones
como parte de una totalidad que es un trabajo con base en
Programa,
los
la distribución de la totalidad debe
términos
de
permisionarios
para
cada
esta Licencia, cuyos permisos
se extienden en su entera
y
estar
todas
las
partes
sin
para
totalidad,
considerar
el
sobre
otros
y
ası́
quien
lo
derechos
o
escribió.
Ası́,
no
es
disputar
usted;
intento
sus
más
controlar
de esta sección
derechos
reclamar
al trabajo escrito
enteramente
bien, el intento está en ejercer
la
distribución
de
los
el
trabajos
por
derecho
a
colectivos
o
derivados con base en el Programa.
Además,
la mera agregación de otro trabajo no basado
Programa
Programa)
con el Programa (o con un trabajo con
sobre
un
volumen
de
almacenaje
base
o
en
el
en
el
medio
distribución no se maneja al otro trabajo bajo el alcance
esta Licencia.
de
de
155
3.
Usted puede copiar y distribuir el Programa (o un trabajo
con
base en él, bajo la Sección 2) en el código objeto o
forma
ejecutable bajo los términos de Secciones
1
y
en
2
de
arriba con tal que usted también haga lo siguiente:
*
a)
Acompa~
narlo
con
el completo código-máquina
correspondiente, que debe distribuirse bajo los
original
términos
de
Secciones superiores 1 y 2 sobre un medio habitualmente usado
para el intercambio de software;
o,
* b) Acompa~
narlo con una oferta escrita, valedera para por lo
menos
no
tres a~
nos, para dar a cualquier tercero, por un
cargo
mayor a su costo de ejecutar la distribución fı́sica,
copia
completa correspondiente al código-máquina,
distribuido
una
para
ser
bajo los términos de las Secciones superiores
1
y 2 sobre un medio habitualmente usado para el intercambio de
software;
*
c)
o,
Acompa~
narlo con la información que usted recibió, como
la oferta para distribuir el código original correspondiente.
(Esta
no
alternativa se permite únicamente para la distribución
comercial y únicamente si usted recibió el programa en el
código
objeto
o en forma ejecutable con tal oferta,
en
el
acuerdo con la Subsección superior b.)
El código fuente para un trabajo significa la forma preferida
del
trabajo
ejecutable,
código
fuente
cualquier
los
para hacerle modificaciones.
el
código
para
los módulos
trabajo
que
todo
el
contiene,
más
asociada,
más
Sin embargo, como una excepción especial, el
original
que
un
usados para controlar compilación e instalación
del ejecutable.
cosa
todos
Para
significa
archivo de definición de interfaz
scripts
código
fuente completo
distribuido no necesita
incluir
cualquier
se distribuye normalmente (o en forma de fuente
o
binaria) con los componentes importantes (compilador, núcleo,
etcétera)
del sistema operativo sobre el cual el
corre,
menos que ese componente en sı́ mismo
a
ejecutable
acompa~
ne
al
ejecutable.
Si
la
hecho
distribución del ejecutable o del
código
por el ofrecimiento a un acceso para copiar
lugar
designado,
equivalente
cuenta
como
terceros
entonces
el
ofrecimiento
a copiar el código fuente desde el
distribución del código
no
fuente,
son obligados a copiar el fuente
objeto
es
desde
un
de
acceso
mismo
lugar
si
bien
los
conjuntamente
con el código de objeto.
4.
Usted
no
puede
copiar,
modificar,
sublicenciar,
o
156
Licencias Públicas GNU
distribuir el Programa a excepción de los expresado bajo esta
Licencia.
Cualquier
sublicenciar
nulo,
y
intento
para
copiar,
modificar,
distribuir el Programa, de otra
manera,
terminarán automáticamente sus derechos
Licencia.
o
o
bajo
es
esta
Sin embargo, las partes que hayan recibido copias,
derechos,
licencias
de
usted
bajo esta
terminado
como
Licencia
partes
no
habrán
permaneciendo
sus
en
el
cumplimiento lleno.
5. A Usted no se le exige que acepte esta Licencia, desde que
usted
no
la
ha firmado.
Sin embargo, nada más
le
otorga
permiso a usted para modificar o distribuir el Programa o sus
trabajos derivados.
si
usted
no
modificar
base
Estas acciones son prohibidas por la ley
acepta
esta
Licencia.
Por
lo
tanto,
por
o distribuir el Programa (o cualquier trabajo
el
Programa), usted indica su
Licencia
al
hacerlo, y todos sus términos y las condiciones
para
aceptación
con
en
copiar, distribuir o modificar el Programa
o
a
esta
trabajos
con base en él.
6.
Cada
vez que usted redistribuye el Programa (o cualquier
trabajo con base en el Programa), el receptor automáticamente
recibe
una
licencia
del concedente original
para
copiar,
distribuir o modificar el Programa sujeto a estos términos
condiciones.
adicional
Usted
sobre
no
el
puede imponer
ejercicio
derechos otorgados aquı́.
de
ninguna
los
y
restricción
receptores
de
Usted no es responsable de
los
imponer
el cumplimiento por terceros a esta Licencia.
7. Si, como consecuencia de una alegación o fallo de la corte
a
la
(no
transgresión de la patente o por cualquier otra
limitada
condiciones
a
que
las
consecuencias
de
se imponen sobre usted
la
razón
patente),
(por
orden
las
de
la
corte, arreglo o de otra manera), contradicen las condiciones
de
esta
esta
Licencia, ello no lo excusa de las
Licencia.
simultáneamente
ningunas
sus
otras
consecuencia
ejemplo,
si
condiciones
Si usted no puede distribuir por
obligaciones
obligaciones
usted
una
redistribución
bajo
esta
pertinentes,
no puede distribuir
licencia
libre
de
de regalı́as
el
patente
del
de
satisfacer
Licencia
y
entonces
como
Programa.
Por
no
permite
Programa
por
la
todos
aquellos
que recibieran copias directamente o indirectamente
mediante
usted,
satisfacer
a
entonces la única manera que
ambos
y
esta Licencia
estarı́a
usted
en
podrı́a
reprimir
enteramente la distribución del Programa.
Si cualquier porción de esta sección se invalida o no se hace
cumplir
bajo cualquier circunstancia particular, el
balance
157
de
la
sección se destina a aplicarse y la sección
como
un
todo se destina a aplicarse en otras circunstancias.
No
es
el
ninguna
para
propósito de esta sección inducirlo
patente u otros reclamos de derecho de
a
infringir
propiedad
disputar la validez de ninguno de tales reclamos;
sección
tiene
el
único
propósito
único
de
o
esta
proteger
la
integridad del sistema de libre distribución de software, que
es
implementada
Mucha
por las prácticas de la
licencia
gente ha hecho contribuciones generosas a
pública.
aun
amplia
gama de software distribuido mediante este sistema basados en
la
confianza
está
en
sobre la aplicación uniforme de
ese
sistema;
manos del autor/donante el decidir si él o ella
es
dispuesto distribuir software mediante cualquier otro sistema
y un permisionario no puede imponer la elección.
Esta sección se destina para dejar completamente aclarado
que
se
cree debe de ser una consecuencia del resto de
lo
esta
Licencia.
8. Si la distribución y/o el uso del Programa se restringe en
ciertos
paı́ses o por patentes o por interfaces
registradas,
el tenedor original del Copyright quien pone al Programa bajo
esta
Licencia
geográfica
puede agregar una limitación de
distribución
explı́cita excluyendo a esos paı́ses, para
que
la
distribución se permita únicamente en o entre esos paı́ses que
no
ası́ se excluyan.
limitación
En tal caso, esta Licencia incorpora la
como si estuviera escrita en el
cuerpo
de
esta
Licencia.
9.
La
Fundación de Software Libre puede publicar revisiones
y/o versiones nuevas de la Licencia Pública General de vez en
cuando.
Tales
versiones
nuevas
serán
similares
en
el
espı́ritu a la versión actual, pero pueden diferir en detalles
para dirigir intereses o problemas nuevos.
A
el
que
cada versión se le da un número distintivo de versión.
Si
Programa especifica un número de versión de esta Licencia
lo aplica y además para "cualquier versión posterior"
usted
tiene
la
opción
de
seguir
los
términos
y
,
las
condiciones o de esa versión o de cualquier versión posterior
publicada por la Fundación de Software Libre.
no
especifica
puede
Si el Programa
un número de versión de esta Licencia,
usted
escoger cualquier versión alguna vez publicada por
la
Fundación de Software Libre.
10. Si usted desea de incorporar partes del Programa en otros
programas
libres
cuya
condiciones
de
distribución
son
158
Licencias Públicas GNU
diferentes,
software
escriba al autor para pedir
que
es
registrado por la
permiso.
Fundación
Libre, escriba a la Fundación de Software Libre;
veces
hacemos excepciones para esto.
Para
de
el
Software
nosotros
Nuestra decisión
a
será
orientada
por las dos metas de conservar la condición
libre
de
los
y
todos
derivados
de nuestro
software
libre
de
promocionar la compartición y reuso de software generalmente.
NINGUNA GARANTÍA
11.
PORQUE EL PROGRAMA SE LICENCIA LIBRE DE EL CARGO, NO HAY
GARANTÍA
PARA EL PROGRAMA, AL ALCANCE PERMITIDO POR
APLICABLE.
ESCRITO
EXCEPTO
LOS
CUANDO DE OTRA MANERA
TENEDORES DEL COPYRIGHT Y/O
LA
LEY
CONSTATABLE
POR
LAS
OTRAS
PARTES
PROVEEN AL PROGRAMA "COMO ES" SIN GARANTÍA DE CUALQUIER TIPO,
YA SEA EXPRESADO O IMPLICADO, INCLUYENDO, PERO NO ES LIMITADO
A,
LAS
GARANTÍAS IMPLICADAS DE LA MERCABILIDAD Y LA APTITUD
PARA
A
UN PROPÓSITO PARTICULAR. EL RIESGO ENTERO CON RESPECTO
~O DEL PROGRAMA ESTA CON USTED. EL
LA CALIDAD Y EL DESEMPEN
PROGRAMA
AL PROBARSE DEFECTUOSO, USTED ASUME EL COSTO
TOTAL
DEL SERVICIO NECESARIO, REPARACIÓN O CORRECCIÓN.
12.
EN
NINGÚN CASO A MENOS QUE SEA REQUERIDO
APLICABLE
POR
LA
O DE ACUERDO POR ESCRITO DE CUALQUIER TENEDOR
COPYRIGHT,
O
REDISTRIBUIR
CUALQUIER OTRA PARTE QUE PUEDA
EL
PROGRAMA
COMO
SE
CONSECUENTE,
PERMITE
INCIDENTAL O ESPECIAL
DEL
MODIFICAR
Y/O
ARRIBA,
RESPONSABLE A USTED POR LOS DA~
NOS, INCLUYENDO CUALQUIER
GENERAL,
LEY
QUE
ES
DA~
NO
PROVENGAN
FUERA DEL USO O INHABILIDAD PARA USAR EL PROGRAMA (INCLUYENDO
PERO NO LIMITADO A LA PERDIDA DE DATOS O LOS DATOS ENTREGADOS
INEXACTOS O LAS PERDIDAS SUFRIDAS POR USTED O POR TERCEROS
POR
UN
FALLO
DEL
PROGRAMA AL OPERAR
CON
CUALQUIER
PROGRAMA), AUN CUANDO TAL TENEDOR O LA OTRA PARTE
~OS.
AVISADO DE LA POSIBILIDAD DE TALES DAN
FIN DE TÉRMINOS Y CONDICIONES
LE
O
OTRO
HALLAN
159
Licencia de Documentación Libre GNU
Version 1.1, Marzo 2000
Copyright (C) 2000 Free Software Foundation, Inc.
ple Place, Suite 330, Boston, MA
59 Tem
02111-1307, USA
Se permite la copia y distribución de copias literales
de
este documento de licencia, pero no se permiten cambios.
1. PREÁMBULO El propósito de esta licencia es hacer que un
manual, libro de texto, u otro documento escrito sea libre
en
el
sentido de libertad: para asegurar a todo el mundo
la libertad efectiva de copiarlo y redistribuirlo,
sin
modificaciones,
cial. En segundo término, esta licencia preserva
autor
o
para
con
o
bien de manera comercial o no comer
quien
publica
una
manera
para
de
el
obtener
reconocimiento por su trabajo, al tiempo que no es consid
erado
responsable
de
las
modificaciones realizadas por
terceros. Esta licencia es una especie de
"copyleft"
que
significa que los trabajos derivados del documento deben a
su vez ser libres en el mismo sentido. Esta licencia
plementa
la
Licencia
licencia de copyleft
Hemos
dise~
nado
Pública
dise~
nada
esta
General
para
GNU,
el
com
que es una
software
libre.
Licencia para usarla en manuales de
software libre, ya que el software
libre
necesita
docu
mentación libre: un programa libre debe venir con los man
uales que ofrezcan la mismas libertades que
ware.
da
el
soft
Pero esta licencia no se limita a manuales de soft
ware; puede ser usada para cualquier trabajo textual,
tener
en
cuenta
impreso.
su
sin
temática o si se publica como libro
Recomendamos esta licencia
principalmente
para
trabajos cuyo propósito sea instructivo o de referencia.
2.
APLICABILIDAD Y DEFINICIONES Esta Licencia se aplica a
cualquier manual u otro trabajo que contenga una nota
propietario
de
los
del
derechos de reproducción que indique
que puede ser distribuido bajo los términos de esta Licen
cia.
El "Documento", en adelante, se refiere a cualquiera
de dichos
público
manuales
es
un
o
trabajos.
licenciatario,
"Usted". Una "Versión Modificada"
cualquier
Cualquier
y
será
del
traducciones
es un
Documento
del
como
designa
trabajo que contenga el Documento o una porción
del mismo, ya sea una copia literal o
y/o
miembro
denominado
apéndice
con
modificaciones
a otro idioma. Una "Sección Secundaria"
titulado
o
una
sección
preliminar
al
prólogo del Documento que tiene que ver exclusivamente con
160
Licencias Públicas GNU
la relación de quien publica o los autores
del
Documento
con el tema general del Documento (o asuntos relacionados)
y cuyo contenido no entra directamente en
eral.
(Por
tal
de matemáticas, una Sección Secundaria puede
matemáticas.)
gen
no
explicar
La relación puede ser un asunto de conexión
histórica, o de
ética
tema
ejemplo, si el Documento es en parte un texto
posición
legal,
comercial,
filosófica,
o polı́tica con el tema o con materias relacionadas.
Las "Secciones Invariantes" son ciertas
darias
cuyos
tı́tulos
son
Invariantes, en la nota que indica
liberado bajo esta Licencia.
Secciones
denominados
que
como
el
Secun
Secciones
documento
es
Los "Textos de Cubierta" son
ciertos pasajes cortos de texto que se listan, como Textos
de
Portada
o
Textos
de
Contra Portada, en la nota que
indica que el documento es liberado
bajo
esta
Licencia.
Una copia "Transparente" del Documento significa una copia
para lectura en máquina, representada en un
especificación
está
contenidos pueden ser vistos y editados
editores
de
formato
cuya
disponible al público general, cuyos
texto
directamente
con
genéricos o (para imágenes compuestas
por pixeles) con programas genéricos para gráficas o (para
dibujos) algún editor de dibujos ampliamente disponible, y
que sea adecuado para exportar a formateadores de texto
o
para traducción automática a una variedad de formatos ade
cuados para ingresar a formateadores de texto.
hecha
en
Una
copia
un formato que de otra forma serı́a Transparente
pero cuyo formato ha sido dise~
nado para impedir o dificul
tar
subsecuentes modificaciones por parte de los lectores
no es Transparente. Una copia que no es "Transparente"
llamada
"Opaca".
copias Transparentes incluyen
formato
ASCII
plano
sin
formato,
de Texinfo, formato de LaTeX, SGML o XML que usen
un DTD disponible ampliamente, y HTML simple
estándares y esté dise~
nado
Los
es
Los ejemplos de formatos adecuados para
formatos
Opacos
para
incluyen
que siga los
modificaciones
humanas.
PostScript, PDF, formatos
propietarios que pueden ser leı́dos y
editados
unicamente
con procesadores de palabras propietarios, SGML o XML para
los cuáles los DTD
y/o
herramientas de
están disponibles generalmente,
procesamiento no
y el HTML generado en una
máquina, producido por algún procesador de
con propósitos de presentación.
La
para un libro impreso,la portada
siguientes
necesarias
material que
esta
para
Licencia
portada. Para trabajos en
como
tal,
aparición
"Portada"
más
misma
más
requiere
formatos
del
solo
significa,
las
páginas
mantener, legiblemente,
significa
prominente
palabras
"Portada"
el
que aparezca en la
que no tienen Portada
el
texto
tı́tulo
cerca a
del
precediendo el comienzo del cuerpo del texto.
la
trabajo,
161
3.
COPIA LITERAL Usted puede copiar y distribuir el Docu
mento en cualquier medio, sea en forma comercial o no com
ercial, siempre y cuando esta Licencia, las notas de dere
cho de autor, y la nota de licencia que
Licencia
se
aplica
indica
que
esta
al Documento se reproduzcan en todas
las copias, y que usted no adicione ninguna otra condición
sobre
las
expuestas
en
en esta Licencia. No puede usar
medidas técnicas para obstruir o controlar
la
lectura
o
copia posterior de las copias que usted haga o distribuya.
Sin embargo, usted puede aceptar compensación a cambio
de
las copias. Si distribuye un número suficientemente grande
de copias también deberá
sección
3.
Usted
seguir
las
condiciones
de
la
también puede prestar copias, bajo las
mismas condiciones
establecidas
anteriormente,
y
puede
exhibir copias públicamente.
4.
COPIADO
EN
CANTIDADES Si publica copias impresas del
Documento que sobrepasen las 100, y la
del
Documento
nota
de
copias con cubiertas que lleven en forma clara y
todos
esos
textos
de
legible,
Cubierta: Textos de Portada en la
portada, y Textos de Contra Portada en la contra
Ambas
Licencia
exige Textos de Cubierta, debe incluir las
portada.
cubiertas deben identificarlo a usted clara y legi
blemente como quien publica tales copias. La portada
presentar
el
tı́tulo
debe
completo con todas las palabras del
tı́tulo igualmente prominentes y visibles. Usted puede adi
cionar otro material en las cubiertas. Las copias con cam
bios limitados a las cubiertas, siempre que
preserven
el
tı́tulo del Documento y satisfagan estas condiciones, puede
considerarse como copia literal. Si los textos
requeridos
para la cubierta son muy voluminosos para que ajusten leg
iblemente, debe colocar los primeros listados (tantos como
sea
razonable
colocar)
con el resto en páginas
tribuye
en la cubierta real, y continuar
adyacentes.
Si
publica
o
dis
copias Opacas del Documento cuya cantidad excedaı́
las 100, debe incluir una copia Transparente que pueda ser
leı́da por una máquina con cada copia Opaca, o indicar en o
con cada copia Opaca una dirección en una red de
dores
publicamente
computa
accesible que contenga una copia com
pleta y Transparente del Documento, libre de material adi
cional,
a
la
cual
el
público
general de la red tenga
acceso para bajar anónimamente sin cargo, usando
los
de
protoco
redes públicos y estándares. Si usted hace uso de
la última opción, deberá tomar medidas razonablemente pru
dentes,
cuando
comience
la
distribución
de las copias
Opacas en cantidad, para asegurar que esta copia Transpar
ente
permanecerá
accesible
en
el sitio indicado por lo
162
Licencias Públicas GNU
menos un a~
no después de su última distribución al
de
copias
de sus agentes o distribuidores). Se solicita,
es
requisito,
que
contacte
permitirle
la
aunque
no
a los autores del Documento
antes de redistribuir cualquier
para
público
Opacas de esa edición (directamente o a través
gran
oportunidad
número
de
que
de
copias,
le provean una
versión actualizada del Documento.
5. MODIFICACIONES Usted
Versión
Modificada
puede
copiar
y
las secciones 2 y 3 anteriores, siempre que
la
Versión
distribuir
una
del Documento bajo las condiciones de
Modificada
bajo
usted
libere
esta misma Licencia, con la
Versión Modificada asumiendo el rol del Documento, por
tanto
licenciando
la
distribución
Versión Modificada a quienquiera que posea
este.
En
adición,
lo
y modificación de la
una
copia
de
debe hacer lo siguiente en la Versión
Modificada:
1. Uso en la Portada (y en las
alguna)
cubiertas,
si
hay
de un tı́tulo distinto al del Documento, y de ver
siones anteriores (que deberı́an, si hay alguna, estar lis
tados en la sección de Historia del Documento). Puede usar
el mismo tı́tulo
que
versiones
anteriores
del
original
siempre que quién publicó la primera versión lo permita.
2.
Listar
en
la Portada, como autores, una o más
personas o entidades responsables por
modificaciones
menos cinco
la
autorı́a
o
las
en la Versión Modificada, junto con por lo
de
los
autores
principales
del
Documento
(Todos sus autores principales, si hay menos de cinco).
3.
Establecer
en
la
Portada del nombre de quién
publica la Versión Modificada, como quien publica.
4. Preservar todas las notas de derechos de
repro
ducción del Documento.
5. Adyacente a las otras notas de derecho de repro
ducción, adicionar una nota de derecho de reproducción
de
acuerdo a sus modificaciones.
6.
Incluir,
immediatamente
derecho de reproducción, una nota
permiso
público
después de la nota de
de
licencia
dando
el
para usar la Versión Modificada bajo los
términos de esta Licencia, de la forma mostrada
más
ade
lante en el Addendum.
7.
Preservar
en
esa
nota de licencia el listado
completo de Secciones Invariantes y de los Textos
Cubiertas
que
sean
de
las
requeridos como se especifique en la
nota de Licencia del Documento.
8. Incluir
una
copia
sin
modificación
de
esta
Licencia.
9. Preservar la sección con tı́tulo "Historia", y su
tı́tulo, y adicionar a esta una
sección
estableciendo
al
163
menos
el
tı́tulo, el a~
no,los nuevos autores, y quién pub
licó la Versión Modificada como reza en la Portada. Si
no
hay una sección titulada "Historia" en el Documento, crear
una estableciendo el tı́tulo, el a~
no, los autores
publicó
el
Documento
y
quien
como reza en la Portada, a~
nadiendo
además un artı́culo describiendo la Versión Modificada como
se estableció en la oración anterior.
10.
Preservar la localización en red, si hay , dada
en el Documento para acceso público a una copia
ente
Transpar
del Documento, ası́ como las otras direcciones de red
dadas en el Documento para
versiones
cuáles
Estas
estuviese
basado.
anteriores
pueden
sección "Historia". Se puede omitir la
en
ubicarse
ubicación
las
en la
en
red
para un trabajo publicado por lo menos 4 a~
nos antes que el
Documento mismo,
o
si
quien
publicó
originalmente
la
versión a la que se refiere da permiso.
11.
En cualquier sección titulada "Agradecimientos"
o "Dedicatorias", preservar el tı́tulo
de
la
sección,
y
preservar en la sección toda la sustancia y el tono de los
agradecimientos y/o dedicatorias de cada contribuyente que
estén incluı́das.
12.
Preservar
todas
las Secciones Invariantes del
Documento, sin alterar su texto ni sus tı́tulos. Números de
sección
o el equivalente no son considerados parte de los
tı́tulos de la sección.
13.
Borrar
ciones".
Una
cualquier
sección
titulada
"Aproba
tal sección no pueden estar incluida en las
Versiones Modificadas.
14. No
retitular
"Aprobaciones"
Invariante.
apendices
ninguna
sección
existente
como
o conflictuar con tı́tulo de alguna Sección
Si la Versión Modificada incluye secciones
nuevos
o
o preliminares al prólogo que califican
como Secciones Secundarias y contienen material no copiado
del
Documento,
puede
opcionalmente
designar
algunas o
todas esas secciones como invariantes. Para hacerlo,
cione
sus
la nota
de
tı́tulos
licencia
deben
ser
de
siempre
de
Versión
Modificada.
Tales
una
sección
titulada
"Aproba
que contenga unicamente aprobaciones de
su Versión Modificada
observaciones
la
distintos de cualquier otro tı́tulo de
sección. Puede adicionar
ciones",
adi
tı́tulos a la lista de Secciones Invariantes en
por
varias
fuentes--por
ejemplo,
peritos o que el texto ha sido aprobado
por una organización como un estándar. Puede adicionar
un
pasaje de hasta cinco palabras como un Texto de Portada, y
un pasaje de hasta 25 palabras como
Portada,
un
texto
de
Contra
al final de la lista de Textos de Cubierta en la
Versión Modificada. Solamente un pasaje de Texto
de
Por
tada y un Texto de Contra Portada puede ser adicionado por
164
Licencias Públicas GNU
(o a manera de arreglos hechos por) cualquier entidad.
Si
el Documento ya incluye un texto de cubierta para la misma
cubierta, previamente adicionado por usted o
hecho
por
la
misma
entidad,
actua, no puede adicionar otra; pero puede
anterior,
por
arreglo
a nombre de la cual usted
reemplazar
el
con permiso explı́cito de quien previamente pub
licó y agregó tal texto.
publica(n)
el
El(los)
autor(es)
y
quien(es)
Documento no dan con esta Licencia permiso
para usar sus nombres para publicidad o
para
asegurar
o
implicar aprobación de cualquier Versión Modificada.
6.
COMBINANDO
DOCUMENTOS Puede combinar el Documento con
otros documentos liberados bajo esta
Licencia,
bajo
los
términos definidos en la sección 4 anterior para versiones
modificadas, siempre que incluya en la
las
Secciones
nales,
sin
modificar,
Invariantes
combinación
todas
Invariantes de todos los documentos origi
y
las
liste
como
Secciones
de su trabajo combinado en la respectiva nota
de licencia. El trabajo combinado necesita contener
mente
una
copia
sola
de esta Licencia, y múltiples Secciones
Invariantes idénticas pueden ser reemplazadas por una sola
copia. Si hay múltiples Secciones Invariantes con el mismo
nombre pero con contenidos diferentes, haga el
cada
una
tı́tulo
de este, entre paréntesis, el nombre del autor o de
publicó
de
de estas secciones único adicionándole al final
originalmente
esa
quien
sección, si es conocido, o si
no, un número único. Haga el mismo ajuste a los tı́tulos de
sección en la lista de Secciones Invariantes en la nota de
licencia del trabajo combinado. En
la
combinación,
debe
combinar cualquier sección titulada "Historia" de los var
ios documentos originales, formando una
"Historia";
de
la
misma
titulada "Agradecimientos", y cualquier
"Dedicatorias".
sección
titulada
forma combine cualquier seción
sección
titulada
Debe borrar todas las secciones tituladas
"Aprobaciones."
7.
COLECCIONES
colección
que
DE
DOCUMENTOS
consista
liberados bajo esta
Usted
puede
hacer
una
del Documento y otros documentos
Licencia,
y
reemplazar
las
copias
individuales de esta Licencia en los varios documentos con
una sola copia que esté incluida en la colección,
que
siga
siempre
las reglas de esta Licencia para una copia lit
eral de cada uno de los documentos en cualquiera de
todos
los aspectos. Usted puede extraer un solo documento de una
de tales colecciones, y distribuirlo individualmente
esta
Licencia,
siempre
que
inserte
una
bajo
copia de esta
Licencia en el documento extraido, y siga esta Licencia en
todos
los otros aspectos concernientes a la copia literal
165
de tal documento.
8. AGREGACIÓN CON TRABAJOS INDEPENDIENTES Una recopilación
del
Documento
o
de sus derivados con otros documentos o
trabajos separados e independientes, en cualquier tipo
distribución
todo como una Versión Modificada
que
no
se
del
Documento,
siempre
clamen derechos de reproducción por la compi
lación. Tal recopilación es llamada un "agregado", y
Licencia
esta
no aplica a los otros trabajos auto-contenidos y
por lo tanto compilados con el Documento, o
haber
de
o medio de almacenamiento, no cuenta como un
sido
compilados,
si
a
cuenta
de
no son ellos mismos trabajos
derivados del Documento. Si el requerimiento de la sección
3 del Texto de la Cubierta es aplicable a estas copias del
Documento, entonces si el Documento es menor que un cuarto
del
agregado
entero, Los Textos de la Cubierta del Docu
mento pueden ser
solamente
el
colocados
Documento
en
cubiertas
que
enmarquen
entre el agregado. De otra forma
deben aparecer en cubiertas enmarcando todo el agregado.
9. TRADUCCIÓN La traducción es considerada como una
clase
de modificación, ası́ que puede distribuir traducciones del
Documento bajo los términos de la
las
Secciones
miso especial de
reproducción,
sección
los
pero
propietarios
usted
puede
Reemplazar
de
los
originales
incluir
una
incluya
también
de
además
de
las
de las Secciones Invariantes. Puede
traducción
la
derechos
incluir traducciones de
algunas o todas las Secciones Invariantes
versiones
4.
Invariantes con traducciones requiere per
de
esta
versión
Licencia
original
siempre
que
en ingles de esta
Licencia. En caso de un desacuerdo entre la
traducción
y
la versión original en Inglés de esta Licencia, la versión
original en Inglés prevalecerá.
10. TERMINACIÓN Usted no puede copiar,
modificar,
subli
cenciar, o distribuir el Documento excepto como lo permite
expresamente esta
copia,
Licencia.
Cualquier
otro
intento
modificación, sublicenciamiento o distribución del
Documento es nulo, y terminarán automáticamente sus
chos
de
bajo
esta
Licencia.
hayan recibido copias, o derechos, de su parte
Licencia
no
dere
Sin embargo, los terceros que
bajo
esta
tendrán por terminadas sus licencias siempre
que tales terceros permenezcan en total conformidad.
11. REVISIONES FUTURAS DE ESTA LICENCIA La
Foundation
la GNU Free Documentation License
Tales
Free
Software
puede publicar nuevas y revisadas versiones de
versiones
nuevas
de
tiempo
en
tiempo.
serán similares en espı́ritu a la
166
Licencias Públicas GNU
presente versión, pero pueden
solucionar
problemas
o
http://www.gnu.org/copyleft/.
tiene
un
diferir
en
detalles
para
intereses.
Vea
Cada versión de la Licencia
número de versión que la distingue. Si el Docu
mento especifica que una versión numerada
particularmente
de esta licencia o "cualquier versión posterior" se aplica
a este, tiene la opción de seguir los
términos
y
condi
ciones de esa versión especificada o de cualquiera versión
posterior que hubiera sido publicada (no como un borrador)
por
la
Free
Software
Foundation.
especifica un número de versión de
escoger
Si
esta
el Documento no
Licencia,
puede
cualquier versión que haya sido publicada(no como
un borrador) por la Free Software Foundation.
E.0.1 ADDENDUM: Como usar esta Licencia para sus
documen
tos
Para
usar
esta
licencia
en un documento que usted haya
escrito, incluya una copia de la Licencia en el
y
ponga
el
documento
siguiente derecho de reproducción y notas de
licencia justo después del tı́tulo de la página:
Copyright (C)
a~
no
su nombre.
Permission is granted to copy,
this
document
distribute
tion License, Version 1.1 or any later
by
the
and/or
modify
under the terms of the GNU Free Documenta
version
published
Free Software Foundation; with the Invariant Sec
tions being list their titles, with the Front-Cover
being
list,
Texts
and with the Back-Cover Texts being list.
copy of the license is included in
the
section
A
entitled
‘‘GNU Free Documentation License’’.
Si
no
tiene
Secciones
Invariantes,
Invariant Sections" en vez de
antes.
Si
decir
escriba
cuales
son
"with
no
invari
no tiene Textos de Portada, escriba "no Front-
Cover Texts" en vez de "Front-Cover Texts being
list";
y
de la misma forma para los Textos de Contra Portada.
Si su documento contiene ejemplos de código de programa no
triviales, le recomendamos liberar estos ejemplos en
alelo
par
bajo una licencia de software libre de su elección,
tal como la GNU General Public License, para
uso en software libre.
permitir
su
Apéndice B
Marcas Registradas
La siguientes marcas registradas son nombradas en este libro:
AIX, AS/400: de IBM Corp. http://www.ibm.com
Alpha
AXP:
de
DEC
(Digital
Equipment
Corp.)/Compaq
http://www.compaq.com
Athlon, Duron y K6: de AMD (American Micro Devices) http://www.amd.com
Caldera Systems, C-logo y OpenLinux, Lizard: de Caldera Systems Inc.
http://www.caldera.com
Conectiva Linux: de Conectiva http://www.conectiva.com
Corel Linux: de Corel http://www.corel.com
Debian Linux: de Debian http://www.debian.org
DOS/Windows-9x,NT,W2K,XP de Microsoft Corp. http://www.microsoft.com
Itanium y Pentium: de Intel http://www.intel.com
Linux: de Linus Torvalds
M6 y 686: de Cyrix http://www.cyrix.com
167
168
Marcas Registradas
Macintosh, MacOS: de Apple Computer Inc. http://www.apple.com
Mandrake Linux: de Mandrakesoft. http://www.mandrake-linux.com
Motif y OpenMotif: de OSF (Open Sofware Fund.). http://www.osf.com
OpenServer y Unixware: de SCO (Santa Cruz Operations) http://www.sco.com
PowerPC, M68K: de Motorola http://www.motorola.com
Red Hat Linux, RPM: de Red Hat Inc http://www.redhat.com
Slackware: de Patrick Volkering http://www.slackware.com
StarOffice,
Solaris,
Sparc,
UlraSparc,
NFS:
de
Sun
http://www.sun.com
SuSE, Yast: de SuSE Gmhb http://www.suse.de
Trustix, XPloy, Xsentry: de Trustix http://www.trustix.com
Turbolinux: de Turbolinux http://www.turbolinux.com
UNIX: de AT&T Company http://www.att.com/
X-Window: de X Consortium http://www.X.org
Microsystems
Bibliografı́a
[cups] Easy Software Products.“CUPS Documentation”.Documentacion de
CUPS (Common Unix Printing System) (http://www.cups.org) o en el sistema
ya instalado http://localhost:631/documentation.html (.).2000
[Flores] David Flores Santacruz, Francisco Javier Ahijado MartinNavarro.“Curso de Linux”.Universidad Complutense de Madrid, Club de Informática Diskobolo http://diskobolo.mat.ucm.es (1997).
[1] Rusty Paul Rusty Russell y Daniel Quinlan Filesystem Hierarchy Standard
http://www.pathname.com/fhs/ 2001
[gnome] Diversos autores.“Manuales de projecto GNOME”.. (GNOME Project
http://www.gnome.org).2001
[howtos] Diversos autores.“HOWTOS”.LinuxDOC project (HOWTO o Comos
recopilados en el proyecto LinuxDOC http://www.linuxdoc.org).2001
[kde] Diversos
autores.“Manuales del proyecto KDE”.. (KDE Project
http://www.kde.org ).2001
[linuxcol] LinuxCOL.“Grupo
de
Usuarios
Colombianos
de
Linux”..
(http://www.linuxcol.org).2001
[man] Diversos autores.“Manuales de Linux”.. (LinuxDOC project y Productores de Software: Todas las páginas de manual que han sido necesarias para el
documento.).2001
169
170
BIBLIOGRAFÍA
[silberschatz] Abraham Silberschatz, Peter B. Galvin.“Operating System
Concpets”.Addison - Wesley Publishing Company (1994).
[welsh] Matt Welsh.“Linux: Installation and Getting Started”.Traducido por
Proyecto LuCAS1 : “Linux: Instalación y Primeros Pasos” (Versión 2.2.2).1992–
1996
[mdk80] MandrakeSoft Guı́a de usuario Mandrake Linux 8.0 http://www.linuxmandrake.com/en/doc/80/en/user.html/
[rgmdk80] MandrakeSoft
Manual
de
Referencia
Mandrake
http://www.linux-mandrake.com/en/doc/80/en/ref.html/
1
LinUx en CAStellano
Linux
8.0

Documentos relacionados