• No se han encontrado resultados

Certificado Linux. Manual del participante

N/A
N/A
Protected

Academic year: 2021

Share "Certificado Linux. Manual del participante"

Copied!
267
0
0

Texto completo

(1)

Certificado

Linux

Manual del participante

(2)

Í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

(3)

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

(4)

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

(5)

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

(6)
(7)

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

(8)

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.

(9)

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

(10)

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

(11)

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.

(12)

• 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:

(13)

• 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

(14)

• 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

(15)

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:

(16)

• 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

(17)

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

(18)

• 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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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.

(24)

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.

(25)

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.

(26)

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

(27)

• 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.

(28)

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.

(29)

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.

(30)

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.

(31)

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.

(32)

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

(33)

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:

(34)

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

(35)

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.

(36)

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

(37)

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á

(38)

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.

(39)

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

(40)

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.

(41)

-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

(42)

Entorno grafico:

1. Vamos a iniciar la instalación del sistema operativo, damos clic en next

(43)

2. Seleccionamos el idioma

(44)

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

(45)

6. Le asignamos el nombre a nuestro servidor (Dominio)

7. Verificamos que el DHCP este marcada la casilla conectar automático

(46)

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.

(47)

• «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

(48)

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

(49)
(50)

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

(51)
(52)
(53)

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

(54)

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.

(55)

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

(56)

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.

(57)

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

(58)

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

(59)

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.

(60)

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:

(61)

: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:

(62)

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.

(63)

~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

(64)

~ 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

Referencias

Documento similar

A partir de los resultados de este análisis en los que la entrevistadora es la protagonista frente a los entrevistados, la información política veraz, que se supone que

6. Recientemente varios autores nombran a Freud como el iniciador de lo que se ha dado en llamar La Segunda Ilustración, precisamente por aplicar los principios de la Ilustración a

A lo largo del proceso, al ir aumentando el número de calas, hallaba que las mejores soluciones se alternaban con regularidad entre los tres traductores. El cotejo, por fin, de

[r]

El objetivo de esta propuesta es aventurar las primeras reflexiones de una investigación en curso sobre la migración y el concepto de ciudadanía: cómo lo que

potestatis, quedando, poco a poco, un ámbito puramente secular -—referida a lo temporal- - cada vez más desligado, empero, de aquél. Mediante la doc- trina de la soberanía

RM 9901 Deformación hidroplástica en las areniscas del Buntsandsteint. RM 9902 Falla entre Dogger y

En consecuencia, las causas del deterioro ambiental en Colombia son numerosas, donde se destacan principalmente: El libre acceso a una gran parte de los Recurso Naturales, lo que ha