Certificado
Linux
Manual del participante
Índice
Contenido
Índice ... 2
Formación de la comunidad de aprendizaje. ... 7
Objetivo del curso ... 8
Unidad 1 Instalación del Sistema Operativo y Ajustes posteriores ... 9
Introducción ... 9
Sistema Operativo UNIX ... 12
Sistema Operativo Linux... 13
Requerimientos de Hardware de Linux ... 15
Distribuciones de Linux ... 15
Organización de Linux... 16
Sistema de Archivos en Linux... 19
Procesamiento de Texto... 23
Programación... 25
Documentación. ... 25
Características del Sistema Linux... 26
Software disponible en Linux ... 26
Distribuciones Linux. ... 27
Estándar de Jerarquía de Sistema de Archivos. ... 31
Estructura de los directorios general ... 32
ESTRUCTURA DE ARCHIVOS... 32 Directorio /bin: ... 33 Directorio /boot ... 34 Directorio /dev ... 34 Directorio /etc ... 34 Directorio /home ... 34 Directorio /lib ... 34 Directorio /lost+found ... 34 Directorio /media ... 34 Directorio /misc ... 34 Directorio /mnt ... 34 Directorio /net ... 35 Directorio/opt ... 35 Directorio/proc ... 35 Directorio/root... 35
Directorio/sbin... 35 Directorio /srv ... 35 Directorio /sys... 35 Directorio /tmp ... 36 Directorio /var... 36 ... 61 Otros ... 61 Nota: Reloj del hardware y reloj del sistema ... 70
Unidad 2 Administracion del Sistema de Archivos. ... 91
Ventajas... 92
Límites de tamaño... 92
Niveles deljournaling... 93
Desventajas ... 94
Mejoras ... 94
Sistema de archivos de gran tamaño... 94
Extents... 94
Compatibilidad hacia adelante y hacia atrás ... 95
Asignación persistente de espacio en el disco... 95
Asignación retrasada de espacio en el disco ... 95
Límite de 32000 subdirectorios superado... 96
Chequeo del sistema de ficheros más rápido ... 96
Uso de e2fsck ... 96
badblocks ... 97
Noatime (No tiempos de acceso)... 97
Sintaxis Básica:... 103
A) Sobre discos duros y particiones: ... 105
B) Sobre un CD/DVD ... 107
C) Sobre MBR y VBS: ... 107
D) Otros: ... 108
Unidad 3. Administración de Sofware y servicios... 109
RPM... 110 Gestion de Servicios... 118 Nivel de ejecución 0# ... 119 Nivel de ejecución 1# ... 119 Nivel de ejecución 2# ... 119 Nivel de ejecución 3# ... 120 Nivel de ejecución 4# ... 120
Nivel de ejecución 5# ... 120
Nivel de ejecución 6# ... 120
Secuencia de arranque... 121
Arranque y parada de lo servicios ... 124
Envío de señales a los procesos ... 125
Unidad 4.Gestión de usuarios, grupos y privilegios ... 129
Gestión de cuentas de usuario. ... 129
Tipos de usuarios ... 129
/etc/passwd ... 130
/etc/shadow ... 131
/etc/group ... 133
/etc/login.defs... 133
Añadir usuarios con useradd ... 134
Modificar usuarios con usermod ... 135
Eliminar usuarios con userdel... 136
Cambiar contraseñas con passwd ... 137
Archivos de configuración ... 138
Resumen de comandos y archivos de administración de usuarios ... 139
Gestion de cuentas de grupos: ... 141
SUDO... 142 Visudo ... 144 Sudoers ... 145 Cmnd_Alias... 146 User_Alias ... 147 Runas_Alias ... 148 Host_Alias ... 148 Listas ... 150
Tags (etiquetas de comandos)... 153
ARCHIVO /ETC/SUDOERS DE EJEMPLO ... 154
Sudo... 156
Uso de los Aliases... 159
Unidad 5. Permisos y Atributos del Sistema de Archivos... 160
Lsattr y chattr: control de atributos de ficheros Linux ... 183
lsattr ... 183
chattr ... 184
Deshabilitar la modificación de la fecha de acceso al fichero (atime) ... 187
Bloquear la modificación o borrado de un archivo ... 187
Permitir recuperación de archivo aunque sea eliminado ... 187
Al eliminar un archivo, sobreescribir con 0 todos sus bloques ... 188
Escribir de forma síncrona a disco cambios en los ficheros ... 188
Unidad 6. Herramientas básicas del Sistema Operativo... 189
Mandatos de uso básico, muévete por la consola. ... 189
Compresión y descompresión de archivos... 202
Gestión de procesos y trabajos. ... 214
Ps ... 215 Pstree ... 217 Kill ... 217 Killall ... 218 Nice... 219 nohup y &... 219 Jobs... 220 Top... 221 lsof. ... 228 Introducción a sed. ... 229 Introducción a GnuPG ... 233
Definiendo los requerimientos en seguridad ... 233
Selección del tamaño de la clave ... 234
Protección de la clave privada ... 235
Selección de las fechas de caducidad y uso de subclaves ... 236
Gestión del anillo de confianza... 238
IMPLEMENTAR Y ADMINISTRAR CUOTAS DE DISCO (DISK QUOTAS) EN LINUX ... 241
Límites ... 242
¿Donde se implementan? ... 242
Verificando el uso de las cuotas... 246
Estableciendo el tiempo de gracia ... 248
Fijar cuotas de manera global a todos los usuarios ... 248
Configuración de red. ... 251
Configuración del fichero resolv.conf ... 255
Configuración y uso de crond. ... 257
Iniciar cron ... 257
Ejecutando Cron con múltiples usuarios, comando crontab... 261
Formación de la comunidad de aprendizaje.
La formación de la comunidad de aprendizaje es un proceso que debe llevarse a cabo para iniciar cada uno de nuestros cursos.
Su finalidad es crear un clima propicio para la celebración de la actividad instruccional, es decir, generar un entendimiento previo entre el instructor y los participantes sobre los temas que se desarrollarán durante ésta, así como las estrategias educativas que se llevarán a cabo para lograr un mejor aprendizaje.
Un adecuado manejo de la comunidad de aprendizaje es un elemento fundamental para garantizar la satisfacción de uno de los clientes involucrados en la impartición de los cursos: los participantes.
Presentación del Instructor:
¬ Nombre, profesión, años de experiencia como instructor, experiencia en la impartición del curso, o cursos similares o relacionados.
Alineación de expectativas:
¬ El instructor recabará las expectativas de los participantes respecto al curso, con el fin de dejarles claro el objetivo del mismo.
¬ En caso de que alguna expectativa no coincida con los temas que el curso contiene, el instructor dejará claro cuáles de las expectativas expresadas no serán cubiertas con el curso y porqué.
¬ Las expectativas alineadas serán anotadas en hojas de rotafolio para su revisión al término del curso.
¬ Durante el desarrollo del curso el instructor deberá cubrir las expectativas alineadas.
Presentación del objetivo del curso:
¬ El instructor presentará a los participantes el objetivo del curso, aclarando dudas al respecto si las hubiese.
Reglas de oro: ¬ El instructor promoverá el establecimiento de reglas por parte de los participantes que se observarán a través del curso; por lo que puede proponer: tiempo de tolerancia para iniciar las sesiones, respeto hacia los compañeros, participación de todos en técnicas y ejercicios grupales, etc.; se incluirán todos los puntos que
los participantes consideren pertinentes.
¬ Se anotarán los acuerdos en hojas de rotafolio y se colocarán en un espacio en el que sean visibles a lo largo de todo el curso.
Cumplimiento de expectativas
¬ Al finalizar el curso el instructor deberá llevar a cabo una revisión de las expectativas alineadas que se anotaron en hojas de rotafolio al inicio del curso
¬ Se revisará cada una de las expectativas alineadas palomeando las que hayan sido cumplidas, y el instructor explicará de qué manera se llevó a cabo tal cumplimiento.
Objetivo del curso Objetivo
Introducción
Linux es un sistema operativo de la familia Unix, gratuito, creado mediante la política de “código abierto”. Estas características implican un gran ahorro en los costes de instalación de los equipos, pero también una mayor especialización por parte del personal informático.
En todo sistema Unix existe un usuario administrador (root), que controla el funcionamiento completo del sistema, tiene acceso universal y puede realizar cualquier operación con los datos y los dispositivos de la máquina. Por lo tanto, este curso tiene como finalidad la formación de profesionales en el área de Administración de Redes que le permite al participante obtener
Al final del curso el participanteobtendra las herramientas necesarias para administrar un servidor Linux, así como sistema de archivos, correo electrónico, navegación en internet.
Realizar tareas de un administrador: instalación de software, creación de usuarios, establecimiento de permisos, manejo de comandos, elaboración de script y utilidades de redes.
conocimientos profundos en el área de infraestructura. Combina una sólida formación teórico -práctica con una metodología que logra un importante nivel de entrenamiento técnico.
Unidad 1 Instalación del Sistema Operativo y Ajustes posteriores Introducción
Un sistema de computadora es un dispositivo electrónico programable que puede almacenar, recuperar y procesar datos. Ejecuta un conjunto de instrucciones llamado programa. La ejecución del programa da al usuario final el resultado deseado. Un ejemplo de ejecución de un programa es cuando se trabaja con una calculadora en un sistema operativo Windows.
Una computadora es capaz de realizar múltiples tareas, tales como:
• Ejecutar programas de usuario
• Conectar computadoras en una Red de Área Local (Local Área
Network – LAN)
• Compartir los recursos • Controlar su hardware
Para que una computadora sea capaz de hacer todo esto, requiere de un programa especial llamado sistema operativo. El sistema operativo reside en el disco duro de la computadora y actúa como un puente entre los programas de usuario y los programas que controlan le hardware de la computadora.
El sistema operativo trabaja principalmente en segundo plano. Se encarga de los componentes hardware de una computadora, además de asegurar el inicio y ejecución de diversos programas. También se encarga de los datos almacenados en los dispositivos de almacenamiento de la computadora.
El sistema operativo es el responsable de las siguientes funciones del sistema de computadora:
• Arrancar o iniciar la computadora
• Actuar como interfaz entre el CPU y el mundo externo
• Coordinar los dispositivos del sistema
• Coordinar las aplicaciones o programas en ejecución
la computadora solo es un montón de circuitos electrónicos. La figura 1.1 ilustra el rol de un sistema
operativo
Progra ma de Usuari o
Sistema Programas que
Operativo Controlan el
Hardware
de la
Computad ora
Los siguientes son algunos de los usos del sistema operativo:
• Proporciona diferentes recursos a los usuarios, tales como: calculo,
almacenamiento, dispositivos de Entrada/Salida (Input/Output – I/O) manejo de red, etc
• Permite que varios usuarios trabajen juntos compartiendo e intercambiando programas, aplicaciones y datos en la misma instalación.
• Ayuda a resolver conflictos cuando los usuarios solicitan el mismo recurso simultáneamente.
• Proporciona seguridad cuando los usuarios comparten datos y programas.
• Asiste en la administración y evaluacion del uso y eficacia de un
sistema, recolectando datos sobre la utilización de los recursos.
• En los sistemas de computadoras, existen varios componentes que solo trabajan en forma secuencial y que solo se pueden compartir directamente en forma marginal. Los sistemas operativos permiten que se haga un uso eficiente de estos componentes.
Inicio de un Sistema Operativo
• El proceso de iniciar el sistema operativo es llamado arranque
(bootstrapping o booting). Aquí se mencionan algunos puntos acerca de cómo se inicia un sistema operativo.
• Las instrucciones para el arranque están incluidas en uno de
los chips de la computadora, llamado el chip BIOS (Basic Input/Output System)
• El chip BIOS informa a la computadora que busque un programa
especial llamado el gestor de arranque (boot loader)
• El gestor de arranque esta disponible en un lugar fijo en el disco de arranque. El disco de arranque en cualquier computadora es el disco duro primario.
• El gestor de arranque inicia la parte principal del
sistema operativo. Los sistemas operativos son clasificados en dos tipos:
• Sistema Operativo de Usuario Único: permite que solo un usuario use todos los recursos del sistema de computadora en cualquier momento dado. Mientras el procesador maneja un usuario o programa, otros programas o usuarios no pueden usar estos recursos. Un ejemplo de este tipo el sistema operativo DOS.
• Sistema Operativo Multiusuario: permite que más de un usuario o programa se ejecuten o usen recursos del sistema en forma simultánea. Algunos ejemplos de estos sistemas operativos multiusuario son UNIX, XENIX, Linux, Solaris, etc.
En los tiempos en que los sistemas operativos como DOS únicamente permitían solo un usuario para realizar tareas simples, la introducción de UNIX creo una nueva forma de computación. A pesar que Windows también es un sistema operativo principalmente de usuario único, permite que varias tareas se realicen en forma simultanea. A continuación se aprenderá acerca del sistema operativo UNIX, dado que Linux es una variación del sistema operativo UNIX.
Sistema Operativo UNIX
El sistema operativo UNIX tiene una historia muy interesante. Algunos aspectos de su evolución son:
• Bell Telephone Laboratorios (BTL), GE y MIT se unieron intentando
crear un sistema operativo que permitiera trabajar simultáneamente hasta mil usuarios. Ken Thompson y Dennis Ritchie de BTL trabajaron en esto y crearon un sistema operativo llamado MULTICS, un acrónimo de MULTiplexed Information and Computer Services (Servicio de Información Multiplexada y Calculo)
• BTL se retiro del proyecto durante el desarrollo del trabajo.
• En 1969-70, Thompson y Ritchie reescribieron el sistema operativo
para jugar un juego de guerra espacial con otra maquina mas pequeña.
• Este sistema operativo fue llamado Uniplexed Information and
Computing Services (UNICS), un juego de palabras del MULTICS original.
• El nombre de UNICS luego fue transformado a UNIX.
• En 1972-73, el sistema UNIX fue reescrito usando el lenguaje de programación C
• El sistema operativo UNIX es uno de los mas poderosos versátiles y flexibles en el mundo hoy en día.
•
El sistema operativo UNIX corre en un rango de computadores desde microcomputadoras
hasta mainframes. Algunas de sus características son:
• Es conocido como un sistema operativo abierto dado que puede ser llevado e instalado en cualquier clase de sistema de computadora y plataforma de hardware.
• Normalmente, los sistemas operativos son escritos en lenguaje
ensamblador. Sin embargo, UNIX esta escrito en un lenguaje de alto nivel y su código fuente esta disponible fácilmente. Esto supone una ventaja para los programadores cuando incorporan cambios para ajustarse a sus necesidades.
• Es un sistema multiusuario y multitarea. Multitarea significa que
el sistema operativo coordina múltiples tareas o trabajos en forma simultanea. Mientras un usuario esta compilando un programa en C, otro puede crear documentos usando un editor, cada ignorando la presencia del otro.
• UNIX es uno de los sistemas operativos más poderosos existentes, por el hecho de poder compartir recursos en tiempo real.
• A pesar de que UNIX esta desarrollado para programadores,
proporciona un entorno tan flexible que también es usado en negocios, ciencias, educación e industria.
• Los interruptores de telecomunicación y sistemas de transmisión son algunos de ejemplos del uso del sistema operativo UNIX
•
A continuación se aprenderá acerca del sistema operativo Linux
Sistema Operativo Linux
Linux es un sistema operativo distribuido gratuitamente basado en el sistema operativo UNIX. Fue desarrollado originalmente por Linus Torvalds, quien empezó a trabajar sobre Linux en 1991 siendo estudiante de la Universidad de Helsinki en Finlandia. Luego, miles de programadores contribuyeron a su desarrollo y fue distribuido gratuitamente por Internet.
Por los años 80, los sistemas operativos eran básicamente propietarios, lo que significaba que se tenía que usar solo el sistema operativo proporcionado para una plataforma especifica.
El proyecto GNU fue fundado por Richard Stallman, quien fue el también fundador de Free Software Foundation (FSF), autor de GNU GPL (General Public License) y el desarrollador original de algunos programas de software GNU (por ejemplo, el compilador gcc y el editor de texto Emacs) Las principales metas del proyecto GNU incluyeron las
siguientes:
• Desarrollar un sistema operativo compatible con UNIX • Soportar diferentes arquitecturas de hardware
• Hacer que el sistema operativo estuviese disponible libre de costo
para asegurar que los usuarios pudiesen redistribuir todo el sistema y cambiar o contribuir a alguna parte de el.
En 1990, la mayoría de las piezas de software del sistema operativo basado en GNU se habían escrito, excepto la más importante, el kernel. El kernel es el núcleo del sistema operativo.
Mas tarde, el kernel gratuito basado en UNIX, desarrollado por Linus Torvalds fue
combinado con el sistema GNU. Así nació un sistema operativo, el sistema GNU basado en Linux.
Las etapas significativas en la evolución de Linux son:
• En 1991, Linus Torvalds desarrollo Linux con el soporte de
desarrolladores a lo largo del mundo y lo llamo Linux
• El lanzo la versión 0.02 de Linux en 1991 • En 1994, fue lanzada la versión 1.0 de Linux
• La versión 2.6 actual, completa fue lanzada en Diciembre de 2003.
Sin embargo, su desarrollo continúa.
•
Los siguientes son algunos de los hechos básicos acerca del sistema operativo Linux:
• Es desarrollado, escrito, distribuido y respaldado bajo GPL de
GNU (GNU no es UNIX). Como resultado, su código fuente puede ser distribuido gratuitamente y disponible para el publico en general.
• Los sistemas Linux se usan para redes, desarrollo de software,
soluciones de alojamiento basados en Web y como plataforma de usuario final.
• La mascota oficial, que Linus eligió para su sistema operativo, es el pingüino Linux
llamado Tux (Torvalds Unix), que se presenta en la figura 1.2
Figura 1.2: Tux la mascota de Linux
• Linux no es un derivado del código fuente de UNIX. Sin embargo, la interfaz de Linux es intencionalmente como la de UNIX. Así las lecciones aprendidas acerca de UNIX, incluyendo información sobre seguridad son aplicables tanto a UNIX como a Linux
como un servidor de red.
• Proporciona un sólido entorno grafico, paquetes fáciles de
instalar y aplicaciones de alto nivel. Requerimientos de Hardware de Linux
Linux soporta plataformas de hardware tales como Intel x86, PowerPC, S/390, SPARC y Alpha. Los diferentes requerimientos de hardware para Linux se listan en la siguiente tabla
Hardware Requerimientos
CPU La serie x86 de Intel y sus
compatibles
Tarjeta Madre (MotherBoard) Sistemas de bus PCI, EISA, VESA y
Memoria 64 MB(mínimo), 256 MB
recomendados
Monitor y Adaptador de Video CGA, EGA, VGA, IBM monochrome, Súper
Dispositivos de Puntero Ratón serial estándar como Logitech, serie
MM Microsoft 2 botones Sistemas Controlador de Disco Duro IDE, EIDE, MFM \, RLL y la mayoría
de los
Espacio de Disco Duro Requiere un mínimo de 100 MB de espacio
para una instalación mínima de Linux. Para una instalación
l t t d l i i
Unidades de CD-ROM Sistema estándar de archivo ISO 9660 para
Unidades de Cinta SCSI
Impresoras Impresoras paralelas
Modems Modems seriales internos y externos
Tarjetas Ethernet Soporta tarjetas Ethernet y adaptadores
Tabla: Requerimientos de Hardware de Linux Distribuciones de Linux
Como el código fuente para Linux fue desarrollado esta siendo distribuido gratuitamente, diferentes compañías han desarrollado sus propias versiones o distribuciones de Linux Cada una de estas variedades tiene su propio conjunto de características, tales como procedimientos de instalación y administración, paquetes de software y configuraciones. Muchas de ellas están configuradas para un tipo específico de computadora.
Las 10 distribuciones principales se listan a continuación:
• Red Hat Linux, desarrollado por Red Hat • Debian GNU/Linux, desarrollado por Debian.
• SuSE Linux, desarrollado por SuSe, Inc.
• Gentoo Linux, desarrollado por Gentoo Technologies, Inc.
• El Proyecto Slackware Linux, desarrollado por Slackware Linux, Inc. • Lycoris Desktop, desarrollado por Lycoris
• Beehive Linux, desarrollado por el Equipo Beehive
• Caldera OpenLinux, desarrollada por Caldera Internacional, Inc. • Turbolinux, desarrollado por Turbolinux, Inc.
Existen muchas más, aunque la distribución mas usada es Red Hat Linux
Organización de Linux
El sistema operativo Linux esta organizado funcionalmente en los siguientes tres niveles:
• Kernel (Núcleo)
• Shell (Interprete de Comandos) • Herramientas y aplicaciones.
La representación esquemática de las tres partes principales del sistema operativo Linux se presenta en la Figura 1.3
Shell
Programas de
El kernel
Figura 1.3: Partes Principales del Sistema Operativo Linux
El kernel es el núcleo de un sistema operativo, así como la CPU es el núcleo de un sistema de computadora. El kernel es una colección de programas, la mayoría escritos en C y solo existe un kernel para cualquier sistema operativo. Este se comunica directamente con el hardware y sin un kernel un sistema operativo no puede interactuar con el hardware. Algunas de las tareas importantes del
kernel son:
• Verificar si el usuario es un usuario autorizado
• Hacer seguimiento de los diferentes programas que están ejecutándose y asignar un tiempo especifico a cada programa
• Asignar espacio de almacenamiento para los archivos en el sistema • Ejecutar el programa shell
• Manejar la transferencia de información entre la computadora y las terminales
En un sistema multiusuario, a cada terminal se le asigna un numero y los usuarios trabajan en terminales conectadas a la computadora principal. El sistema operativo se comunica con la Terminal a través de los números de Terminal
El Shell
El sistema operativo Linux usa un shell para transferir los comandos desde el teclado a la computadora. El shell (interprete de comandos) es solo otro programa escrito en C.
Actúa como un intérprete entre los programas de los usuarios y el kernel. Traduce los
comandos del usuario en la acción apropiada. El shell interactúa con el usuario, mientras que el kernel interactúa con el hardware de la maquina.
El shell es el programa que toma comandos y, ejecuta el programa apropiado o lo traduce
en instrucciones que el kernel entiende. Por ejemplo, un comando tal como chdir será traducido por el shell a un formato entendible por el kernel, mientras que un comando tal como ls será ejecutado por el shell como un programa en el directorio /usr/bin/ls.
El shell es una interfaz basada en texto para el sistema Linux. En Linux, las interfaces graficas tales como el Sistema X Window (similar al presentado por Windows NT y 2000, que permiten al usuario ejecutar comandos usando el ratón y el teclado) también pueden ser usadas.
El shell por defecto en Linux es bash (Bourne Again Shell). Otros tipos de shell disponibles en Linux son:
• csh (C Shell)
• ksh (Korn Shell) • sh (Shell)
• esch (enhanced C Shell)
Bourne Shell y el C Shell son los que se usan comúnmente. Ambos son controlados por comandos. El Korn Shell es el menos usado. Todos los shells sirven para el mismo propósito, pero tiene diferentes características y sintaxis
Herramientas y Aplicaciones
En el sistema Linux existe un cierto número de herramientas disponibles. Las herramientas son programas de usuario que pueden ser escritos por terceros para determinados tipos de aplicaciones. Típicamente, las herramientas se agrupan para realizar ciertas funciones, tales como programación, aplicaciones de negocio y procesamiento de texto.
A continuación se aprenderá acerca de la organización del sistema de archivos en el sistema operativo Linux
Sistema de Archivos en Linux
Todos los programas de usuario, documentos, herramientas, aplicaciones, etc son almacenados como archivos en sistema de computadora. Todos los archivos son almacenados en un dispositivo de almacenamiento secundario (usualmente un disco). Una porción del disco es separada para almacenar la información relacionada a los archivos almacenados. Esta unidad funcional se denomina sistema de archivos. Vea la figura 1.4
Sistema de Archivos 2 Siste ma de Archi vos 1 Siste ma de Archi vos 3 Siste ma de Archi vos 4
Figura 1.4 El Sistema de Archivos Algunos de los puntos importantes aquí son:
• El área de la superficie donde se almacenan los archivos se
dividen en pistas circulares.
• Las pistas circulares están divididas en sectores o bloques de disco
(en forma de torta)
• Todos los bloques del disco son del mismo tamaño y tienen un
numero único llamado el numero de bloque de disco
• El tamaño del bloque de disco varía dependiendo de la distribución Linux.
La mayoría de los sistemas modernos tienen un tamaño de bloque de disco de un 1 KB (kilobytes). Los bloques de disco están organizados en los siguientes cuatro grupos:
• Bloque de Arranque (Boot) • Superbloque
• Bloque Inodo
Cada sistema de archivos tiene un bloque de arranque, un superbloque, una lista de bloques inodos y una lista de bloques de datos. La figura 1.5 ilustra la vista a nivel de bloques de disco de unidad de sistema de archivos. Los sistemas Linux típicamente usan más de una unidad de sistema de archivos.
1024 bytes Bloque
d e Arranque
Superbloque Bloques Inodos
Bloques d e Datos Bloques d e Datos Bloques d e Datos
Sistema de Archivos
Figura 1.5: Unidad Típica de Sistema de Archivos
Ahora se va a entender la necesidad y uso de cada bloque en el sistema de archivos.
Bloque de Arranque
• Consiste de un bloq de un sistema de archivos
• Un sistema solo requiere de un bloque de arranque para iniciar el sistema. En el resto de los sistemas de archivos, este bloque permanece vacío.
Superbloq ue
• Esta a continuación del bloque de arranque en el sistema de
archivos
• Consiste de un bloque de disco que contiene información acerca del sistema de archivos
• Contiene información acerca del número de bloques en el sistema de archivos, el número de bloques asignados para inodos (se aprenderá acerca de los inodos más adelante) y el número de bloques que están actualmente libres.
Bloque Inodo
• Es el tercer grupo de bloques en un sistema de archivos.
• Contiene más de un bloque de disco para mantener
información acerca de los archivos en el sistema de archivos.
Bloque de Datos
• Almacena el contenido del archivo
• Sigue a los bloques asignados para inodos.
• Un sistema de archivos contiene cierto número de bloques de
Antes de proceder a aprender acerca de la partición del disco, se entenderá un poco mas acerca de la información que mantiene inodos.
Los inodos mantienen información acerca del propietario del archivo, los bloques de disco usados en el archivo, etc. Los archivos, por otro lado, contienen los datos del archivo. Asuma que se crea un archivo llamado midocumento.txt. Este debe ser almacenado en el disco. Dependiendo del sistema de archivos al que este asociado, los datos del archivo se almacenaran en los bloques de datos y otra información administrativa acerca de este, será almacenada en los bloques inodos.
Partición de Disco
Aquí, el sistema divide el disco en
particiones de disco.
• Cada partición consiste en bloques, situados en forma
contigua, pero separados de las otras particiones
• La partición puede ser un sistema de archivos o un espacio
de intercambio
(space swap).
• Un espacio de intercambio (space swap) se usa para
implementar la memoria virtual, donde una porción de la memoria principal se almacena temporalmente
• La partición primaria es donde se almacenan los archivos relacionados al arranque.
• Las particiones del espacio de intercambio (space swap)
son una secuencia lineal de bloques.
• El tamaño de los archivos cambia a través del tiempo (crece o
disminuye)
• Un bloque de datos de un archivo puede no estar en una
secuencia lineal de bloques. En vez de ello, puede estar disperso a lo largo de toda la partición.
Procesamiento de Texto
El sistema Linux proporciona métodos poderosos de procesamiento de un texto. Un ejemplo simple de procesamiento es encontrar el número de ocurrencias de un patrón dado en un texto. A continuación se considerara un ejemplo.
es pronunciación”
En esta oración el patrón ‘pronunciación’ ocurre tres veces en el texto.
Cierto número de herramientas, tales como grep, egrep y fgrep, están disponibles para realizar el procesamiento de texto.
También existen otras herramientas de procesamiento de texto, que son conocidas como editores. Estos proporcionan las funcionalidades para crear, editar (modificar) y guardar texto. Algunos ejemplos de editores son:
• Vi: es conocido como editor visual y es el editor más popular.
Vi es un programa que permite a los usuarios editar tanto archivos de texto como binarios. Los archivos de texto son aquellos que tienen caracteres alfanuméricos, mientras que los binarios contienen caracteres entendibles por la maquina. A pesar que también puede leer archivos binarios, vi es conocido normalmente como un editor de texto.
• Un editor de texto es como un procesador de palabras. Los
editores de texto se usan principalmente para escribir programas, que luego son convertidos en un código entendible por la maquina a través de otro programa.
• Ed: mientras que vi es un editor que permite visualizar el contenido de un archivo, una pantalla a la vez, ed es un editor en linea. En cualquier momento, solo puede mostrarse una linea del archivo.
• Sed: es un editor de flujos basado en ed. Puede editar archivos sin intervención del usuario. Los comandos de edición pueden ser pasados como argumentos de linea de comandos. Los argumentos de linea de comandos son aquellos que se proporcionan junto con un comando, antes de que el comando sea ejecutado. Estos argumentos van como entradas sobre las cuales el programa puede trabajar para producir cierta salida.
• Sed se utiliza extensivamente en los sistemas Linux. Proporciona
mecanismos poderosos para editar flujos de datos pasados a el como entrada
• Emacs: es un poderoso editor de texto. Siendo C el lenguaje
de programación usado comúnmente en los sistemas Linux, emacs tiene características incorporadas que permite dar formato automático a los programas C, a su vez también permite la búsqueda de patrones y lectura de correo electrónico desde el editor.
A continuación se presenta una breve discusión sobre las capacidades de programación y documentación disponibles en Linux.
Programación
Se puede programar a través del shell y esto se conoce como
programación de shell Linux proporciona más de un shell. El Bourne Again Shell (popularmente conocido como bash) es el shell mas usado. Se aprenderá acerca de los diferentes shells que proporciona Linux en la unidad 2: El Sistema Linux.
Cada shell en Linux proporciona la capacidad de programación. Un programa shell puede invocar las herramientas proporcionadas en Linux a través de una sintaxis simple. La programación de shell es similar a un lenguaje de programación como C. pero con una sintaxis diferente.
Combinado con el poder del procesamiento de texto, la programación en Linux es extremadamente poderosa. La administración de sistemas complejos en sistemas operativos estilo UNIX se hace típicamente a través de la programación del shell. El administrador del sistema usa la programación del shell en forma extensiva para administrar y monitorear el sistema operativo.
Documentación.
Linux proporciona una documentación bastante elaborada para todas sus herramientas. Las herramientas son referidas comúnmente como comandos.
El sistema Linux proporciona cierto número de comandos. Algunos de ellos son:
• clear – limpia la pantalla • date – muestra la fecha y hora
• cal – muestra el calendario del mes actual
• who – muestra los usuarios que están actualmente conectados al
sistema
Sin embargo, dado que los comandos son tan extensos, no es posible para ningún usuario recordar todos los comandos y la sintaxis asociada con estos.
La documentación puede ser leída fácilmente con la ayuda de una herramienta controlada por comandos llamada man.
A continuación se dan ejemplos de su uso. El comando man será discutido en detalle en la unidad 2: El Sistema Linux.
man clea r man date man man
Los primeros dos usos del comando man muestran la documentación para los comandos clear y date, respectivamente. El tercer uso, muestra la documentación del mismo comando man
Características del Sistema Linux
El sistema Linux ofrece las siguientes características:
• Estabilidad: tiene protección de la memoria entre procesos, de
manera que uno de ellos no pueda colgar el sistema.
• Multitarea: varios programas (realmente procesos) ejecutándose
al mismo tiempo
• Multiplataforma: se ejecuta en muchos tipos de CPU, no solo Intel • Multiusuario: varios usuarios en la misma maquina al mismo
tiempo (y sin licencias para todos)
• Manejo de la Memoria: la memoria gestiona como un recurso unificado para los programas de usuario y para cache de disco, de tal forma que toda la memoria libre puede ser usada para cache y este puede a su vez ser reducido cuando se ejecutan grandes programas
• Interfaz Grafica de Usuario: KDE, GNOME.
• Desarrollo de Software: KDevelop (Lenguaje C, C++, Java,
PHP, Perl, Phyton, entre otros)
• Trabajo de redes: TCP/IP, incluyendo ftp, telnet, NFS, Gíreles, etc.
• Disponibilidad del código Fuente: todo el código fuente esta disponible, incluyendo el núcleo completo, todos los drivers, las herramientas de desarrollo y todos los programas de usuario; además están disponibles libremente.
Software disponible en Linux
En Linux se encuentran disponibles varios tipos de software. Algunas de las categorías son:
• Aplicaciones
• Software Científico • Software de Sistema • Utilitarios
• Juegos.
Distribuciones Linux.
Linux es un sistema de libre distribución por lo que podeis encontrar todos los ficheros y programas necesarios para su funcionamiento en multitud de
servidores conectados a Internet. La tarea de reunir todos los ficheros y programas necesarios, asi como instalarlos en tu sistema y configurarlo, puede ser una tarea bastante complicada y no apta para muchos. Por esto mismo, nacieron las llamadas distribuciones de Linux, empresas y organizaciones que se dedican a hacer el trabajo "sucio" para nuestro beneficio y comodidad.
Una distribución no es otra cosa, que una recopilación de programas y ficheros, organizados y preparados para su instalación. Estas distribuciones se pueden obtener a traves de Internet, o comprando los CDs de las mismas, los cuales contendrán todo lo necesario para instalar un sistema Linux bastante completo y en la mayoría de los casos un programa de instalación que nos ayudara en la tarea de una primera instalación. Casi todos los principales distribuidores de Linux, ofrecen la posibilidad de bajarse sus distribuciones, via FTP (sin cargo alguno). Existen muchas y variadas distribuciones creadas por diferentes empresas y organizaciones a unos precios bastantes asequibles (si se compran los CDs, en vez de bajársela via FTP), las cuales deberiais poder encontrar en tiendas de informática ó librerías. En el peor de los casos siempre podeis encargarlas directamente por Internet a las empresas y organizaciones que las crean. A veces, las revistas de informática sacan una edición bastante aceptable de alguna distribución.
A continuacion teneis una gráfica con todas las distribuciones a lo largo de los últimos años. Este gráfico es grande asi que pulsar en el mismo para ver la versión en tamaño original.
Si vais a instalar el sistema por primera vez, os recomendamos que probeis una distribucion LiveCD. Con una de ellas podreis probar Linux sin necesidad de instalarlo.
A continuación podeis encontrar informacion sobre las distribuciones más importantes de Linux (aunque no las únicas).
UBUNTU
Distribución basada en Debian, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. Muy popular y con mucho soporte en la comunidad. El entorno de escritorio por defecto es GNOME.
• http://www.ubuntu.com/
REDHAT ENTERPRISE
Esta es una distribución que tiene muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye. Es necesario el pago de una licencia de soporte. Enfocada a empresas.
FEDORA
Esta es una distribución patrocinada por RedHat y soportada por la comunidad. Facil de instalar y buena calidad.
• http://fedora.redhat.com/
DEBIAN
Otra distribución con muy buena calidad. El proceso de instalacion es quizas un poco mas complicado, pero sin mayores problemas. Gran estabilidad antes que últimos avances.
• http://www.debian.org/
OpenSuSE
Otra de las grandes. Facil de instalar. Version libre de la distribucion comercial SuSE.
• http://www.opensuse.org/es/
SuSE LINUX ENTERPRISE
Otra de las grandes. Muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye, Novell. Es necesario el pago de una licencia de soporte. Enfocada a empresas.
SLACKWARE
Esta distribución es de las primeras que existio. Tuvo un periodo en el cual no se actualizo muy a menudo, pero eso es historia. Es raro encontrar usuarios de los que empezaron en el mundo linux hace tiempo, que no hayan tenido esta distribucion instalada en su ordenador en algun momento.
• http://www.slackware.com/
GENTOO
Esta distribución es una de las unicas que incorporaron un concepto totalmente nuevo en Linux. Es una sistema inspirado en BSD-ports. Podeis compilar/optimizar vuestro sistema completamente desde cero. No es recomendable adentrarse en esta distribucion sin una buena conexion a internet, un ordenador medianamente potente (si quereis terminar de compilar en un tiempo prudencial) y cierta experiencia en sistemas Unix.
• http://www.gentoo.org/
KUBUNTU
Distribución basada en Ubuntu, con lo que esto conlleva y centrada en el usuario final y facilidad de uso. La gran diferencia con Ubuntu es que el entorno de escritorio por defecto es KDE.
MANDRIVA
Esta distribución fue creada en 1998 con el objetivo de acercar el uso de Linux a todos los usuarios, en un principio se llamo Mandrake Linux. Facilidad de uso para todos los usuarios.
• http://www.mandrivalinux.org/
Estándar de Jerarquía de Sistema de Archivos. Introducción.
El estándar de jerarquía de archivos (FHS o Filesystem Hierarchy Standard) define los principales directorios y sus contenidos en GNU/Linux y otros sistemas operativos similares a Unix.
En agosto de 1993 inició un proceso para desarrollar un estándar de sistema de archivos jerárquico, como un esfuerzo para reorganizar las estructuras de archivos y directorios de GNU/Linux. El 14 de Febrero de 1994 se publicó el FSSTND (Filesystem Standard), un estándar de jerarquía de archivos específico para GNU/Linux. Revisiones de éste se publicaron el 9 de Octubre de 1994 y el 28 de Marzo de 1995.
A principios de 1996, con la ayuda de miembros de la comunidad de desarrolladores de BSD, se fijó como objetivo el desarrollar una versión de FSSTND más detallada y dirigida no solo hacia Linux sino también hacia otros sistemas operativos similares a Unix. Como uno de los resultados el estándar cambió de nombre a FHS o Filesystem Hierarchy Standard.
El FHS es mantenido por Free Standards Group, una organización sin fines de lucro constituida por compañías que manufacturan sustento físico (Hardware) y equipamiento lógico (Software) como Hewlett Packard, Dell, IBM y Red Hat. La mayoría de las distribuciones de Linux, inclusive las que forman parte de Free Software Standards, utilizan este estándar sin aplicarlo de manera estricta.
La versión 2.3 del FHS, que es la utilizada por CentOS, Fedora™, Red Hat™ Enterprise Linux, openSUSE™ y SUSE™ Linux Enterprise, fue anunciada el 29 de enero de 2004.
Estructura de los directorios general
En el sistema de ficheros de UNIX (y similares), existen varias sub-jerarquías de directorios que poseen múltiples y diferentes funciones de almacenamiento y organización en todo el sistema.1 Estos directorios pueden clasificarse en:
• Estáticos: Contiene archivos que no cambian sin la intervención del administrador (root), sin embargo, pueden ser leídos por cualquier otro usuario. (/bin, /sbin, /opt, /boot, /usr/bin...)
• Dinámicos: Contiene archivos que son cambiantes, y pueden leerse y escribirse (algunos sólo por su respectivo usuario y el root).
Contienen configuraciones, documentos, etc. Para estos directorios, es recomendable una copia de seguridad con frecuencia, o mejor aún, deberían ser montados en una partición aparte en el mismo disco, como por ejemplo, montar el directorio /home en otra partición del mismo disco, independiente de la partición principal del sistema; de esta forma, puede repararse el sistema sin afectar o borrar los documentos de los usuarios. (/var/mail, /var/spool, /var/run, /var/lock, /home...)
• Compartidos: Contiene archivos que se pueden encontrar en un ordenador y utilizarse en otro, o incluso compartirse entre usuarios.
Restringidos: Contiene ficheros que no se pueden compartir, solo son modificables por el administrador. (/etc, /boot, /var/run, /var/lock...)
ESTRUCTURA DE ARCHIVOS
Existe una estructura de archivos estándar FHS (Filesystem Hierarchy Standard) El estándar de jerarquía de archivos que es un conjunto de recomendaciones orientadas a la compatibilidad de aplicaciones, herramientas de administración y desarrollo entre distintos sistemas. Esta es una de las estructuras de archivos que deja la instalación por defecto de CentOS
Pero esa estructura tiene ventajas:
Permitir al software conocer la ubicación de directorios y archivos instalados; Permitir al software conocer donde se deben instalar los archivos de un programa
Permitir al usuario conocer dónde encontrar los archivos y directorios de los programas instalados.
En un sistema que cumpla con las especificaciones del FHS, los directorios del sistema de archivos raíz o "/", deben ser suficientes para arrancar, reparar y/o recuperar el sistema.
Los siguientes directorios son necesarios en el directorio raíz o "/":
Fig.4 Directorios de centOS Directorio /bin:
En este directorio están los ficheros ejecutables básicos (bin = binarios) Directorio /boot
Aquí están los ficheros y directorios de arranque (boot) Directorio /dev Contiene ficheros de dispositivos. Directorio /etc
Contiene ficheros y directorios de configuración específicos de tu sistema.
Fig.5 Contenido del directorio /etc
Directorio /bin:
Directorio /boot
Aquí están los ficheros y directorios de arranque (boot) Directorio /dev
Contiene ficheros de dispositivos. Directorio /etc
Contiene ficheros y directorios de configuración específicos de tu sistema.
Directorio /home
Contiene los archivos utilizados por el usuario, documentos, escritorio, descargas, etc.
Directorio /lib
Bibliotecas compartidas esenciales para los binarios de /bin/, /sbin/ y el núcleo del sistema.
Directorio /lost+found
Directorio especifico para archivos perdidos. Cada partición tiene el suyo propio independientemente.
Directorio /media
Puntos de montaje para dispositivos de medios como unidades lectoras de discos compactos.
Directorio /misc
Abreviación de miscelánea. Directorio /mnt
Directorio /net No se usa.
Directorio/opt
En este directorio se suelen almacenar todos los archivos de una
instalación fuera de los repositorios como puede ser cuando instalamos un .deb
Directorio/proc
Directorio que contiene información sobre diferentes partes del sistema, cpu, discos, tiempo uptime, irqs, memoria, etc
Directorio/root
Directorio particular del superusuario del sistema ( root ) Directorio/sbin
Contiene archivos ejecutables que por lo general son comandos usados para la administración del sistema.
Directorio /selinux
Selinux es un módulo de seguridad añadido que ofrece linux. Lo verás más detenidamente en el tema de seguridad.
Este directorio contiene información de configuración del módulo selinux.
Directorio /srv
Es un directorio que contiene datos específicos que son servidos por el sistema servidor (SeRVer).
Directorio /sys
Contiene parámetros de configuración del sistema que se está
ejecutando. Datos referidos al kernel, bus, dispositivos, firmware, fs (filesystem) y otros.
Directorio /tmp
Directorio donde se almacenan los ficheros temporales. Son ficheros que se eliminan con el apagado del sistema.
Directorio /usr
Este es el espacio compartido de todos los usuarios del sistema. Aquí se guardan los datos compartidos de usuarios: aplicaciones, librerías, manuales, etc.
Directorio /var
Contiene los datos que están cambiando continuamente en el sistema como ficheros de log del sistema, correo, colas de impresión, etc.
El diseño predeterminado del instalador de CentOS, Fedora™ y Red Hat™ Enterprise Linux utiliza 4 particiones:
Partición Descripción
/boot Requiere de 200 MiB a 512 MiB.
/ Si se utiliza el diseño de tres particiones, asignar el resto del espacio disponible en la unidad de almacenamiento. Si se van asignar particiones para los directorios mencionados adelante, se requieren de 3072 MiB a 5120 MiB.
/home En estaciones de trabajo, a esta partición se asigna al menos la mitad del espacio disponible para almacenamiento.
Memoria de
intercambio (Swap)
Si se tiene menos de 1 GiB de RAM, se debe asignar el doble del tamaño del RAM físico; si se tiene más de 1 GiB RAM, se debe asignar una cantidad igual al
tamaño del RAM físico, más 2 GiB. Ésta será siempre la última partición del espacio disponible para almacenamiento y jamás se le asigna punto de montaje.
Lo siguientes directorios jamás deberán estar fuera de la partición que corresponda a /, es decir, jamás se deben asignar como particiones separadas: • /etc • /bin • /dev • /lib y /lib64 • /media • /mnt • /proc • /root • /sbin • /sys
Para futuras versiones de CentOS, Fedora™, Red Hat™ Enterprise Linux, openSUSE™ y SUSE™ Linux Enterprise, el directorio /var también deberá estar dentro de la misma partición que corresponda a /, pues el proceso de arranque, que será gestionado por Systemd, así lo requerirá.
Otras particiones que se recomienda asignar, son: Partición Función
/usr Requiere al menos 3072 MiB en
instalaciones básicas. Debe considerarse el equipamiento lógico se planee instalar a futuro. Para uso general se recomiendan al menos de 5120 MiB, y, de ser posible, considere un tamaño óptimo de hasta 20480 MiB.
/tmp Requiere al menos 350 MiB y puede asignarse hasta 5 GiB o más, dependiendo de la carga de trabajo y del tipo de aplicaciones. Si, por ejemplo, el sistema cuenta con un grabador de DVD, será
Partición Función
necesario asignar a /tmp el espacio suficiente para almacenar una imagen de disco DVD, es decir, al menos 4.2 GiB, asumiendo que es de una sola cara y de densidad simple. Algunas distribuciones de vanguardia utilizan un disco RAM —es decir un RAM disk— para este directorio con la finalidad de mejorar el rendimiento del sistema.
/var Requiere al menos 3072 MiB en
estaciones de trabajo sin servicios. En servidores regularmente se le asigna al menos la mitad del espacio disponible para almacenamiento. /usr/local Requiere al menos 3072 MiB en
instalaciones básicas. Debe considerarse el equipamiento lógico que se planee compilar desde código fuente, e instalar, a futuro. Al igual que /usr, para uso general se recomiendan al menos de 5120 MiB, y, de ser posible, considere un tamaño óptimo de hasta 20480 MiB.
/opt Requiere al menos 3072 MiB en
instalaciones básicas. Debe considerarse el equipamiento lógico de terceros que se planee instalar a futuro. Al igual que /usr, para uso general se recomiendan al menos de 5120 MiB, y, de ser posible, considere un tamaño óptimo de hasta 20480 MiB. /var/lib Si se asigna como partición independiente
de /var, lo cual permitiría optimizar el registro por diario utilizando el modo
journal para un mejor desempeño, requiere al menos 3072 MiB en instalaciones básicas. Deben considerarse las bases de datos o directorios de LDAP, que se planeen hospedar a futuro.
Partición Función
/var/www o
/srv/www Dependiendoutilizado, el directorio raíz del servidordel sistema operativo HTTP Apache puede encontrarse dentro de dos diferentes rutas. CentOS, Fedora™ y Red Hat™ Enterprise Linux utilizan /var/www, mientras que openSUSE™ y SUSE™ Linux Enterprise utilizan /srv/www. Asignar como partición independiente cualquiera de éstos directorios permite optimizar el registro por diario — utilizando el modo writeback— para mejorar el desempeño. Requiere al menos 3072 MiB en instalaciones básicas. Deben considerarse los anfitriones virtuales, aplicaciones y contenido para ser servido a través del protocolo HTTP, que se planeen hospedar a futuro.
INSTALACION CENTOS
CentOS es una distribución Linux de clase empresarial derivado de fuentes libremente ofrecidos al público por un destacado proveedor de América del Norte Enterprise Linux. CentOS se ajuste plenamente a la política de redistribución del proveedor de aguas arriba y aspira a ser 100% compatible a nivel binario. (CentOS principalmente cambia los paquetes para eliminar marcas comerciales del proveedor y obras de arte.) CentOS es gratuito. CentOS es desarrollado por un equipo pequeño pero creciente número de desarrolladores del núcleo. A su vez, los desarrolladores principales están respaldados por una activa comunidad de usuarios como los administradores de sistemas, administradores de redes, los usuarios empresariales, gerentes, colaboradores principales de Linux y los entusiastas de Linux de todo el mundo. CentOS tiene numerosas ventajas sobre algunos de los proyectos de otros clones, incluyendo: una activa y la creciente comunidad de usuarios, reconstruida rápidamente, probado y QA'ed paquetes de erratas, una extensa red de servidores espejos , los desarrolladores que están tocados y de respuesta, múltiples vías de apoyo gratuitos, como un
Chat IRC , listas de correo , Foros , una dinámica de preguntas frecuentes . Este sitio hace uso de Javascript. Si su navegador no funciona con JavaScript, le recomendamos que use Firefox .
REQUISITOS DE HARDWARE
Intel Pentium
I/II/III/IV/Celeron/Xeon, AMD
K6/II/III, AMD Duron,
Athlon/XP/MP, (Pendiente Itanium, Athlon 64, PowerPC)
128
MB 512MB 1.2GB 2GB
INTRODUCCION
Bienvenidos a la versión 6.5 de CentOS, una Distribución Linux de Rango Empresarial obtenida a partir de los fuentes puestos a libre disposición del público por nuestro Proveedor de OS (Upstream OS Provider , UOP). CentOS se adapta completamente a la política de redistribución de nuestro proveedor y aspira a ser 100% compatible con sus binarios (CentOS principalmente modifica los paquetes para eliminar la marca y el diseño gráfico original).
Hemos decidido no imitar la utilización que hace el UOP de los Códigos de Instalación. Todos los canales están a disposición del administrador del sistema en el momento de la instalación.
Siguiendo la práctica del proveedor original de los fuentes, no hay soporte para actualizar la instalación desde una versión principal anterior de CentOS (en estos momentos CentOS 5 o CentOS 4) a una versión posterior. Esto no es una limitación impuesta por CentOS, sino que refleja la postura del proveedor en esta cuestión. Quienes se sientan aventureros y quieran experimentar, que no olviden hacer y comprobar previamente una copia de respaldo. Como aviso para aquellos que intenten la actualización a pesar de esta advertencia, por ejemplo mediante la no soportada opción upgreadeany utilizando la línea de comandos del medio de instalación, por favor, tengan en cuenta que necesitarán recuperar manualmente el paquete centos-release actual, hacer manualmente un rpm -e nodeps para eliminar el paquete release anterior, y entonces instalar manualmente el paquete centos-release de CentOS 6, pues de lo contrario yum no tendría ninguna posibilidad de funcionar correctamente.
-Al hacer boot se nos dan 2 opciones para instalar, la primera el sistema detectara la tarjeta de vídeo y entrara en modo gráfico (lo cual a veces falla) por lo tanto recomiendo elegir la segunda opción; la cual carga un driver básico de vídeo que diría que todos los equipos reconocen sin problemas. PresionamosEnter
-Podemos chequear si nuestro DVD o instalación de USB están OK. Si ya lo hicimos o estamos seguros, damos Enter en Skip
Entorno grafico:
1. Vamos a iniciar la instalación del sistema operativo, damos clic en next
2. Seleccionamos el idioma
4. Damos en la opción Basic que aparece por defecto
5. Damos en la opción no conservar datos, puesto que tenemos un espacio ya designado en el disco para la instalación
6. Le asignamos el nombre a nuestro servidor (Dominio)
7. Verificamos que el DHCP este marcada la casilla conectar automático
8. Seleccionamos el área o región para los usos horarios
9. Asignamos una contraseña para nuestro administrador root • «Usar todo el espacio» eliminará cualquier partición de
cualquier otro sistema operativo presente y creará de forma automática las particiones necesarias.
• «Reemplazar sistema(s) Linux existente(s)» sólo eliminará todas las particiones Linux existentes y creará de forma automática las particiones necesarias.
• «Achicar el sistema actual» cambiará el tamaño de las particiones existentes de otros sistemas operativos como Windows, haciendo el espacio necesario para poder instalar un diseño predeterminado de particiones Linux.
• «Usar espacio libre» creará de forma automática las particiones necesarias en el espacio disponible, basándose sobre un diseño predeterminado.
• «Crear un diseño personalizado» permitirá elegir las particiones estándar o volúmenes lógicos, que uno requiera.
10. Seleccionamos crear un diseño personalizado, para asignarle los porcentajes a las carpetas del sistema manualmente
11. En esta imagen muestra que tenemos 50 GB de espacio disponible, lo distribuiremos de la siguiente forma: el 50% lo dividimos para las carpetas (/) y (home). Y el 50% restante lo dividimos en 6 para las demás carpetas, EJEMPLO
Seleccionamos crear partición estándar y le asignamos el porcentaje
Siguiente
12. Elegimos la opción que necesitemos, en este caso servidor básico y seleccionamos la opción personalizar ahora para seleccionar los paquetes a instalar
Reiniciamos
Felicidades Tu Servidor ha sido instalado de manera satisfactoria.
Hay que recordar la importancia de tener en cuenta
1. Para que vamos a utilizar nuestro servidor, es decir para administración de páginas web, administración de puntos de venta, administración corporativa, etc.
2. El ciclo de vida que manejaremos dependiendo del tipo de instalación que tendremos y el cual es vital para este punto. 3. El Hardware que se maneja y el volumen de usuarios a los
cuales se les dara soporte con este.
Una vez terminando de instalar el servidor por ahora solo hacermos una corrección al server para poder tener salida a internet y este es
realizando una corrección al archivo que esta ubicado en la siguiente ruta
Vi /etc/sysconfig/network-scripts/ifcfg-eth0
Lo cual nos abrirá un archive con la siguiente estructura: DEVICE="eth0" NM_CONTROLLED="yes" ONBOOT="yes" HWADDR=08:00:27:89:15:BE TYPE=Ethernet BOOTPROTO=dhcp
La opción ONBOOT, debe estar en no, con la tecla i, podremos insertar la modificación, entrares y lo modificaremos a “yes” y saldremos del archivo con “:wq” y reiniciaremos el sistema.
Tenga cuidado de no modificar nada mas en el archivo pues no tendrá acceso a internet.
Editor de texto VI y VIM
Vi (Visual) es un programa informático que entra en la categoría de los editores de texto. Pues a diferencia de un procesador de texto no ofrece herramientas para determinar visualmente cómo quedará el documento impreso. Por esto carece de opciones como centrado o justificación de párrafos, pero permite mover, copiar, eliminar o insertar caracteres con mucha versatilidad. Este tipo de programas es frecuentemente utilizado por programadores para escribir código fuente de software.
Vi fue originalmente escrito por Bill Joy en 1976, tomando recursos de edyex, dos editores de texto para Unix, que trataban de crear y editar archivos, de ahí, la creación de vi.
Hay una versión mejorada que se llama Vim, peroVies un editor de texto que se encuentra en —casi— todo sistema de tipo Unix, de forma que conocer rudimentos de Vies una salvaguarda ante operaciones de emergencia en diversos sistemas operativos.
Vim (del inglés Vi IMproved) es una versión mejorada del editor de texto vi, presente en todos los sistemas UNIX.
Su autor, Bram Moolenaar, presentó la primera versión en 1991, fecha desde la que ha experimentado muchas mejoras. La principal característica tanto de Vim como de Vi consiste en que disponen de diferentes modos entre los que se alterna para realizar ciertas operaciones, lo que los diferencia de la mayoría de editores comunes, que tienen un solo modo en el que se introducen las órdenes mediante combinaciones de teclas o interfaces gráficas.
La mejor forma de entender estos conceptos es simplemente usando vi para editar un archivo de prueba.
La sintaxis para vi
es: vi
nombrearchivo
dondenombrearchivoes el nombre del archivo que quieres editar.
Así se inicia el editor y, como el fichero no existe todavía, lo crea para ser editado. El editor está ahora en modo de comandos esperando por un comando.
Partamos vi tipeando [xxx]%vi prueba
Ej
lo cual editará el archivo prueba. Deberías ver algo como esto: ~ ~ ~ ~ ~ ~
"prueba" [New file]
para comenzar a insertar texto usa la tecla i
Mientras estés insertando texto, puedes tipear cuantas líneas quieras (presionando [Enter] después de cada una, por supuesto), y puedes corregir los errores
Para finalizar el modo de edición, y volver al modo de comandos, presiona [esc]. Mientras estés en modo de comandos, puedes usar las teclas de flechas para moverte por todo el archivo. Aquí, como tenemos
solo una línea de texto, al tratar de usar las flechas para subir y para bajar vi hará un pitido.
Las siguientes teclas controlar el movimiento del cursor. k arriba
j abajo h
izquierda l derecha
Modo de entrada de texto (añadir, insertar)
a añade texto a partir del carácter en que está situado el cursor i inserta texto a partir de la posición del cursor
o inserta una línea debajo de la posición del cursor O inserta una línea encima de la posición del cursor Borrando y cambiando texto
Los cinco comandos más utilizados para alterar el texto son x borra el carácter en el cursor r sustituye el carácter en el cursor
dd borra la línea en la que está el cursor
:s/palabrainicial/palabrafinal/c cambia de a una de las coincidencias
:s/palabrainicial/palabrafinal/g cambia todas las coincidencias
Estos cinco comandos son ejecutados en el modo de comandos, y vuelven al modo de comandos después de ejecutarse.
Deshaciendo cambios
Hay veces que se realizan cambios y nos damos cuenta inmediatamente que hemos cometido un error. El editor vi facilita mecanismos para deshacer acciones de comandos previos.
El comando u deshace el comando previo.
El comando U deshace todos los cambios realizados en la línea actual. Guardando cambios y permaneciendo en vi
Es muy recomendable guardar los cambios que se van realizando de una forma regular. Para ello se utiliza
:w
Si decides que no quieres sobrescribir el fichero que estás editando, sino que quieres guardar los cambios como un fichero nuevo, añade al comando :w el nombre del nuevo fichero,
:w nuevo_fichero2
Abandonando vi
Para dejar vi se utiliza,
ZZ Guarda los cambios en el fichero original, y vuelve al intérprete de comandos
:wq Igual que ZZ
:q! Abandona el editor, no guarda los cambios, y vuelve al intérprete de comandos
Com andos adicionales para posicionamiento del cursor Además de las teclas h, j, k, l existen
cuatro más:
b mueve el cursor al comienzo de la palabra anterior e mueve el cursor al final de la palabra siguiente
0 mueve el cursor al comienzo de la línea (cero) $ mueve el cursor al final de la línea
Los comandos para avanzar una pantalla arriba y abajo (12 líneas) son control-d una pantalla abajo
control-u una pantalla arriba
Para ficheros muy largos, se puede ir a una línea del texto 3000G va a la línea número 3000
Para posicionar el curso en la última línea del fichero, teclea /G/ Para posicionar el cursor al comienzo del
fichero, teclea 1G
El siguiente comando muestra el número de línea actual control-g
Búsqueda
Otro método de posicionarse dentro de un fichero es buscando una cadena de caracteres. En el modo de comandos, cualquier cadena de caracteres precedida por / significa el comando de búsqueda hacia adelante. El cursor se posiciona en la primera ocurrencia de dicha cadena.
El comando n busca hacia adelante la siguiente ocurrencia. Para buscar hacia atrás, se utiliza el comando ?
Borrar texto
Ya se vio anteriormente el comando dd para borrar la línea actual. El comando dw borra la palabra actual. Nótese que el comando de borrado comienza por d, seguido por el ámbito de aplicación (d para una línea, w para una palabra (word en inglés)).
Quitar y poner
Cuando se borra algo, es almacenado en un buffer temporal. El contenido de este buffer puede ser accedido y 'puesto' o pegado en cualquier sitio del texto.
Para recuperar el último texto borrado, se usa el comando p Resumen y algo más
conocer en el siguiente resumen: vi [archivo].
Movimientos básicos:
h => Un espacio a la izquierda. j => Una línea hacia abajo.
k => Una línea hacia arriba. l => Un espacio a la derecha.
$ => Mueve al final de la línea actual. + => Comienzo de la línea siguiente. - => Comienzo de la línea anterior. 0 => Comienzo de la línea actual. Control de despliegue: CTRL-d => Deslizar hacia adelante. CTRL-u => Deslizar hacia atrás. CTRL-f => Pantalla siguiente.
CTRL-b => Pantalla anterior CTRL-l => Redibuja la pantalla.
G => Moverse al final del archivo. Com andos para agregar textos:
A => A final de la línea. i => Antes del cursor.
I => Al principio de la línea. O => Abre una línea por encima. o => Abre una línea por debajo.
dd => Elimina línea. cc => Cambiar línea.
D => Elimina hasta el final de línea. C => Cambiar hasta final de
línea x => Elimina el carácter del cursor. r => Cambia el carácter del cursor.
Com andos sobre palabras: cw => Cambiar palabra. dw => Elimina palabra.
:s/palabrainicial/palabrafinal/c cambia de a una de las incidencias
:s/palabrainicial/palabrafinal/g
cambia todas las incidencias e => Mueve cursor a final de palabra.
w => Mueve cursor a siguiente palabra. Com andos de búsqueda:
/ => Búsqueda hacia adelante. ? => búsqueda hacia
atrás. n => Siguiente ocurrencia. N => Posterior ocurrencia.
:set nu => mostrar números de línea Com andos de edición avanzada:
u => Deshacer cambio más reciente.
U => Recupera todos los cambios de una línea. p => Coloca el contenido del buffer a la derecha del cursor. P => Coloca el contenido del buffer a la izquierda del cursor.
y => Copia los carácteres comenzando en el cursor en el buffer. Y => Copia la línea actual completa en el buffer.
Com andos de control:
:wq => Guarda y sale.
:q => Abandona si no hay modificaciones. :q! => Abandona aún con los cambios. :número => Ir a la línea
número. ZZ => Guarda y sale.
Otros
J unir dos líneas en una c reemplaza caracteres
C o c$ reemplaza hasta el fin de línea c0 reemplaza desde el comienzo de línea BS borrar caracter hacia la izquierda
:set cambio de opciones
:set nonu no mostrar números de línea :set showmode mostrar modo actual de vi
:set noshowmode no mostrar modo actual de vi Nota:
Los comandos en mayúsculas y minúsculas alteran el resultado (cuidado) Para volver de nuevo al Modo de Comandos, lo cual es necesario, por ejemplo, para mover el cursor, presiona la tecla de escape o <esc>. Si no recuerdas en qué modo estás presiona <esc>: si estabas en Modo de Inserción, ahora pasas al Modo de Comandos; si estabas en Modo de Comandos, vi emitirá un pitido y te dejará en Modo de Comandos. Un editor de texto es simplemente un programa que se usa para editar ficheros que contengan texto. Aunque hay muchos editores disponibles, el único que vas a encontrar seguro en todos los sistemas UNIX es vi (el "editor visual").
Existe un editor vi ampliado llamado vim que contiene facilidades adicionales, así como diversas versiones del vi original. En todos los casos, el conjunto de comandos básicos es el mismo.
Ejercicio:
Generamos un usuario nuevo y que no tenga privilegios: # useradd –m pruebavi
Asignamos un password a nuestro usuario # passwd pruebavi
Nos cambiamos al usuario # su –l pruebavi
Creamos un documento nuevo con el comando vim $ vim nuevo.txt ~ ~ ~ ~ ~ ~
"nuevo.txt" [New file]
Una vez abierto el documento presionamos la tecla i para insertar texto nuevo ~ ~ ~ ~ ~ ~
-INSERT-Una vez que presiones i, aparecerá insertar en la interface, esto indica que podemos editar el archivo creado, una vez hecho esto escribiremos la frase Linux el mejor sistema y pulsamos enter, a continuación escribiremos “El megor sistema que conosco” este texto tiene errores ortográficos, escríbalo de manera errónea pues el ejercicio es para realizar dichas correcciones utilizando el editor VIM.
~El megor sistema que conosco ~ ~ ~ ~
-INSERT-Ahora posicionese sobre la malabra “megor” sobre la letra g y presione shift + r y acontinuacion aparecerá la opción remplazar, pulse la letra “j” y observe como se reemplaza por la letra g, repita el procedimiento y corrija la letra z por la s en la palabra “conosco”
~ Linux el mejor sistema
~ El megor sistema que conosco ~
~ ~ ~
-REMPLAZAR-Precione la tecla “Esc” seguido de : y la letra “w” para guardar los cambios.
~ Linux el mejor sistema
~ El mejor sistema que conozco ~
~ ~ ~ :w
Al pulsar enter notara un mensaje que dice que los cambios han sido realizados.
Vuelva a pulsar : (dos puntos) y luego escriba otro.txt pulse enter y ahora notara que se guardo el archivo con el nombre otro.txt
~ El mejor sistema que conozco ~
~ ~ ~
"otro.txt" [New file]
Vuelva a pulsar i, de nuevo aparecerá el mensaje de – INSERTAR – ~ Linux el mejor sistema
~ El mejor sistema que conozco ~ ~ ~ ~ -INSERT-Escriba lo siguiente: ~ Linux el mejor sistema
~ El mejor sistema que conozco ~Hoy es un dia aburrido
~conozco solo gente aburrida ~mi novia es muy aburrida ~
-INSERT-Ahora pulse esc, seguido pulse : (dos puntos) y por ultimo escriba lo siguiente:
%s/aburrid/divertid/g ~ Linux el mejor sistema
~ El mejor sistema que conozco ~Hoy es un dia aburrido
~conozco solo gente aburrida ~mi novia es muy aburrida ~
%s/aburrid/divertid/g
Pulse enter y observara lo siguiente: ~ Linux el mejor sistema