Instalación, configuración y uso del sistema operacional _ imprimible 1 de 105 INSTALACIÓN, CONFIGURACIÓN Y USO DEL SISTEMA OPERACIONAL

Instalación, configuración y uso del sistema operacional _ imprimible 1 de 105 INSTALACIÓN, CONFIGURACIÓN Y USO DEL SISTEMA OPERACIONAL OBJETIVO GE

0 downloads 22 Views 2MB Size

Story Transcript

Instalación, configuración y uso del sistema operacional _ imprimible

1 de 105

INSTALACIÓN, CONFIGURACIÓN Y USO DEL SISTEMA OPERACIONAL

OBJETIVO GENERAL Lograr que los servidores públicos aprendan las bases técnicas del funcionamiento de Linux con el fin de desarrollar criterios para tomar decisiones en caso de una posible adopción como plataforma, pues afectará no sólo a las Instituciones sino a los ciudadanos, debido a la influencia que, sobre ellos tienen este tipo de soluciones.

OBJETIVOS ESPECÍFICOS Al finalizar la unidad temática, los servidores públicos estarán en capacidad de: Instalar Linux comprendiendo las funcionalidades de las tecnologías instaladas Entender la arquitectura del sistema operacional Tener claridad sobre el sistema de procesos Entender y manejar los sistemas de archivos Entender el concepto del shell o, manejador de comandos Conocer el proceso de arranque del sistema para total claridad sobre la forma como el sistema se inicia, para controlar el hardware

Instalación, configuración y uso del sistema operacional _ imprimible

Paso 1. Preparación 1.1 Escoger una distribución 1.2 Inventario de hardware Paso 2. Instalación y configuración 2.1 Consideraciones iniciales 2.2 Selección del idioma de instalación 2.3 Teclado 2.4 Ratón 2.5 Particiones 2.6 Cargador del sistema 2.7 Servicio de red 2.8 Firewall 2.9 Soporte de múltiples idiomas 2.10 Zona geográfica 2.11 Creación de cuentas 2.12 Autenticación 2.13 Selección de paquetes 2.14 Proceso de instalación 2.14.1 Primer arranque 2.15 Tarjeta de sonido 2.16 Postinstalación 2. INSTALACIÓN, CONFIGURACIÓN Y USO DEL SISTEMA OPERACIONAL 2.1 INSTALACIÓN Y CONFIGURACIÓN DE LINUX 2.2 ACTIVIDAD DE APRENDIZAJE - INSTALACIÓN DE LINUX 2.3 RESUMEN 2.4 EJERCICIOS 2.5 AUTOEVALUACIÓN 3. USO DEL SISTEMA OPERACIONAL 3.1 ARQUITECTURA DEL SISTEMA OPERATIVO LINUX 3.1.1 Manejo de tareas 3.1.2 Interprocesos 3.1.3 Interfaces de hardware. 3.1.4 Ejercicios 3.1.5 Autoevaluación 3.2 SISTEMA DE PROCESOS 3.2.1 Procesos interactivos 3.2.2 Demonios 3.2.3 Atributos de un proceso 3.2.4 Ciclo de vida de un proceso 3.2.5 ACTIVIDADES DE APRENDIZAJE 3.2.6 Autoevaluación 3.3 SISTEMA DE ARCHIVOS 3.3.2 Intérprete de comandos 3.3.3 Archivos y directorios 3.3.5 Navegar por los directorios 3.3.6 Mirar el contenido de los directorios 3.3.4 Más comandos. Propiedad de los archivos 3.3.5 Navegar por los directorios 3.3.7 Mirar el contenido de los directorios 3.3.8 Propiedad de los archivos 3.3.9 Protección de los archivos

2 de 105

Instalación, configuración y uso del sistema operacional _ imprimible

3 de 105

3.3.9 Especificaciones numéricas de los modos de seguridad. Tal como se ha visto, 3.3.10 Modo estándar de seguridad 3.3.11 Tipos de archivos 3.3.12 Encadenamientos duros y suaves 3.3.13 Dispositivos. 3.3.14 RESUMEN. En esta sección se ha comenzado a trabajar con Linux definiendo 3.3.15 EJERCICIO 3.3.16 ACTIVIDAD DE APRENDIZAJE 3.3.17 AUTOEVALUACIÓN 3.4 ENTORNO DEL SHELL 3.5 EL PROCESO DE ARRANQUE 1.5.1 El programa /sbin/INIT - Tarea padre 3.5.4 Activación de los servicios Control de los servicios activos 3.5.9 Archivos especiales 3.5.10 ACTIVIDAD DE APRENDIZAJE 3.5.11 RESUMEN 4. RESUMEN DE COMANDOS

Instalación, configuración y uso del sistema operacional _ imprimible

4 de 105

INSTALACIÓN DE LINUX Paso 1. Preparación Se dice que los europeos y los norteamericanos cuando compran un electrodoméstico, lo primero que hacen es buscar el documento de las instrucciones de instalación y luego, leerlas paso a paso. En cambio, para los latinos, ¡lo primero es romper la caja del electrodoméstico y luego, conectarlo a la electricidad para verlo funcionar ya...! Cuando no funciona, se buscan las instrucciones en la basura para tratar de leerlas y comenzar de nuevo. Con este ejemplo se sugiere que la lectura de la siguiente parte del curso sea hecha paso a paso, primero por aprendizaje y segundo para el correcto funcionamiento de la instalación de Linux. 1.3 Escoger una distribución

Al instalar Linux, la primera decisión es escoger la distribución que se va a utilizar. Esta depende del perfil y las preferencias de la empresa asesora, debido a que ellas usualmente tienen inclinación por alguna, en particular. De todas maneras, se debe recordar que Linux es libre y por lo tanto se puede instalar cualquiera de las Distribuciones.

En este caso vamos a instalar Red Hat Fedora 4 la cual viene en varios CD's o en DVD y está disponible para procesadores compatibles con Intel x86, incluido Intel Pentium, Pentium-MMX, Pentium Pro, Pentium-II, Pentium-III, Celeron, Pentium 4, Xeon, VIA C3/C3-m, Eden/Eden-N, AMD Athlon, AthlonXP, Duron, AthlonMP y Sempron. 1.4 Inventario de hardware Antes de comenzar es importante tener una lista del hardware con el cual se va a trabajar porque en cualquier momento se necesitará saber, por ejemplo, qué tarjeta de red o cuál de video se tienen instaladas o, igual con otros componentes. En el caso del computador utilizado para armar este curso, el inventario del hardware es el siguiente: Memoria ram: 512 Megas Procesador: AMD Athlon(tm) Processor Tarjetas de red: dos tarjetas Realtek semiconductor co. Ltda RTL-813 Tarjeta de video: S3 ProSavage KM 133 Tipo de Monitor: Samsung SyncMaster Disco duro: dos discos Maxtor 4D040H2 de 80 Gigas cada uno

Instalación, configuración y uso del sistema operacional _ imprimible

5 de 105

Paso 2. Instalación y configuración 2.1 Consideraciones iniciales Se debe estar seguro que el setup de la máquina esté configurado para cargar el programa de arranque desde el CD, ya que usualmente está configurado para que se haga desde el disco duro. Los compactos del curso están numerados; el primero contiene el programa de arranque y debe ser introducido en la unidad de CD inmediatamente se prenda el computador para luego. Inmediatamente se inicia el cargue del programa de arranque al cual también se le llama boot. Comienzan a aparecer una serie de pantallas gráficas que orientan al usuario hacia la instalación. Sin embargo, no se trata de dar clic sin saber la razón, así que en este capítulo se explicará cada paso y se sugiere al estudiante que lea cuidadosamente para entender a fondo cada fase.

Instalación de tipo gráfico Instalación de tipo texto

Teclas de ayuda

Ella permite escoger una instalación de tipo gráfico o de texto y presenta una serie de ayudas con las teclas de función.

Instalación, configuración y uso del sistema operacional _ imprimible

6 de 105

Observar que las opciones permitidas son: la instalación gráfica pulsando la tecla enter o, la instalación textual escribiendo frente al prompt boot la palabra linux text y luego pulsar la tecla enter. En adición:

L

Si se desea instalar desde un PC en red, lo cual es útil cuando se instala en serie o desde otro medio, se escribe frente a boot la palabra askmethod para que el sistema le pregunte el método de instalación.

La opción de instalación por red debe comenzar por hacerse en el equipo que hará el trabajo de servidor y, los equipos que van a ser instalados por este método deben estar configurados en red con el tcp/ip adecuadamente configurado.

Enseguida sale esta pantalla:

Instalación, configuración y uso del sistema operacional _ imprimible

7 de 105

Plantea la opción de hacer un chequeo de los medios, es decir, de los CD para asegurarse que estén en perfecto estado. Se sugiere que en el caso de la instalación real se seleccione la opción de Test porque es la manera de confirmar que se está con los elementos apropiados. Sin embargo en las instalaciones de laboratorio no se usan, entre otras cosas, porque son bastante demoradas así que, se escoge Skip avanzando con la tecla Tab que nos permite navegar por el menú gráfico. En el evento de escoger hacer el chequeo, el sistema hará su trabajo y presentará la siguiente pantalla que muestra el resultado del chequeo.

Instalación, configuración y uso del sistema operacional _ imprimible

8 de 105

Para seguir haciendo el chequeo a otros CD o para iniciar la instalación, muestra la próxima pantalla.

Instalación, configuración y uso del sistema operacional _ imprimible

9 de 105

Ahora, dependiendo del método de instalación escogido, el sistema, o continúa con el paso 2.2 si es una instalación local, o hace las siguientes preguntas si se escogió instalar desde una red:

Instalación local o instalación en red

Escoger la versión que se va a instalar.

Escoger la forma de instalación en red bien sea NFS, FTP o HTTP. En este momento un principiante no sabe detalles sobre estos protocolos, así que use

Instalación, configuración y uso del sistema operacional _ imprimible

10 de 105

FTP por ser la más común. Entonces, aparece otra pantalla en la cual se introducirá el IP de la máquina en la cual se está haciendo la instalación. No la del servidor en donde se montarán los CD, sino la del PC en el cual se está instalando Linux. L

Se debe colocar el IP de la máquina en la cual se está instalando

Instalación, configuración y uso del sistema operacional _ imprimible

11 de 105

El IP puede ser algo como 192.168.100.1, Netmask o máscara de la red 255.255.255.0 en este caso una red tipo C (asuntos del protocolo tcp/ip) y se puede dejar en blanco Default Gateway y Primary Name Server. A continuación el sistema va a preguntar sobre algunos parámetros del servidor que obviamente debe estar configurado para hacer FTP.

Nombre del servidor Directorio del servidor remoto en donde está montado el CD de instalación

Se pone el nombre del servidor frente al mensaje FTP site name y el directorio en donde está el sistema de instalación que podría ser /media/cdreorder si este estuviera en CD.

Instalación, configuración y uso del sistema operacional _ imprimible

12 de 105

Ahora preguntará la cuenta del usuario en cuyo caso debe poner su cuenta personal y la contraseña.

Comienza la instalación.

Instalación, configuración y uso del sistema operacional _ imprimible

13 de 105

2.2 Selección del idioma de instalación Se selecciona el idioma de la instalación el cual no es el mismo en el que va a quedar el sistema instalado sino, el que se va a usar en este proceso. Se sugiere usar el idioma inglés para quienes quieran mantenerse entrenados en este idioma. En este capítulo se usará el inglés pero se explicará cada término; esto conlleva dos beneficios. En este momento, el ratón ya está reconocido por el sistema así que será muy fácil el manejo del proceso. La escogencia del idioma de instalación se hace en esta pantalla:

Instalación, configuración y uso del sistema operacional _ imprimible

14 de 105

2.3 Teclado Para esta selección el sistema presenta la pantalla que se muestra a ciontinuación. Se debe tener en cuenta que casi siempre la opción correcta es la posicionada pues tiene un mecanismo de selección automática. Sin embargo, debe leerse cada pantalla para cerciorarse del correcto estado del proceso en marcha.

2.4 Ratón Igual sucede al pedir el tipo de conexión del ratón siendo muy común la ps2.

Instalación, configuración y uso del sistema operacional _ imprimible

15 de 105

El sistema averigua si hay una instalación de Linux vigente en el computador y, en caso afirmativo, pregunta si se desea actualizarla o instalarla nuevamente, con esta pantalla.

Instalación nueva

Actualización sobre instalación anterior

Ahora, se asume que se desea hacer una instalación nueva por lo cual se selecciona Install Fedora Core y, Next con el ratón.

Instalación, configuración y uso del sistema operacional _ imprimible

16 de 105

Entonces, el sistema pregunta qué tipo de instalación se quiere hacer:

Escoger instalación personalizada

La diferencia entre cada una de ellas es, simplemente, el programa que instala y que depende del uso que se le quiera dar al sistema. En este caso en el cual hay un compromiso académico y de investigación, se escogerá el de Custom para personalizar la instalación aunque, se tratará de programar el máximo de servicios posibles, dependiendo de las capacidades del computador.

Instalación, configuración y uso del sistema operacional _ imprimible

17 de 105

2.5 Particiones

Escoger particionamiento manual

L

Es conveniente escoger el particionamiento manual para tener control sobre lo que debe hacer el sistema

A continuación se presenta una parte vital, y es la de definir la manera como está conformado el disco duro desde el punto de vista del sistema de archivos o File System.

Hay dos opciones dependiendo de si se quiere que el sistema particione por su cuenta que es Automatic partition o, si se prefiere controlar personalmente esa opción usando Manually partition with Disk Druid. En realidad, es recomendable escoger la manera personalizada ya que esta ofrece mayor control del sistema pero, se hace necesario conocer los detalles de esta labor y el significado de los términos asociados, los cuales se explicarán a continuación. En Linux, a diferencia de Windows en donde los dispositivos de almacenamiento se acceden a través de símbolos como la unidad a:, c:, d:, a cada disco duro o dispositivo de hardware, al ser montado, es decir, reconocido por el sistema operacional, se le asocia un directorio del disco duro, como se verá a continuación. El comando que monta un sistema de archivo de disco duro es: -

mount /dev/hda8 /media/datos = esto significa que monte (mount) en el directorio o punto de montaje (/media/datos) la partición (hda8) del disco duro IDE primario (hda).

Instalación, configuración y uso del sistema operacional _ imprimible

18 de 105

Después de ejecutarse este comando el disco duro queda asignado al directorio /media/datos, de tal manera que entrando a él se podrá visualizar el contenido, es decir, que si se da el comando cd /media/datos y luego se lista el directorio con el comando ls, se verán todos los directorios y archivos de esa partición. Se dijo que /dev/hda8 define el dispositivo, en este caso la partición 8 del disco duro. Pero, ¿cómo se especifican los dispositivos como el floppy, o qué pasa si los discos duros no son IDE sino SCSI o si hay más de un disco duro conectado al sistema? Se verá, ahora, la forma como Linux identifica los diversos tipos de dispositivos y particiones: Dispositivo

Directorio especial

Disquete 1

/dev/fd0

Disquete 2

/dev/fd1

Primer disco duro, todo el disco

/dev/hda

Primer disco duro, partición primaria 1

/dev/hda1

Primer disco duro, partición primaria 2

/dev/hda2

Primer disco duro, partición primaria 3

/dev/hda3

Primer disco duro, partición primaria 4

/dev/hda4

Primer disco duro, partición lógica o extendida 1

/dev/hda5

Primer disco duro, partición lógica o extendida 2

/dev/hda6

Segundo disco duro, todo el disco

/dev/hdb

Segundo disco duro, partición primaria 1

/dev/hdb1

Primer disco duro SCSI, todo el disco

/dev/sda

Primer disco duro partición primaria 1

/dev/sda1

SCSI,

Segundo disco duro SCSI, todo el disco

/dev/sdb

Instalación, configuración y uso del sistema operacional _ imprimible

19 de 105

http://linux.about.com/library/bl/dist/redhat/bldist_redhat_e1.htm?iam=metaresults&terms= property+management+best+software http://www.partition-manager.com/overview_details/partition.htm Al escoger la opción de particionamiento manual y el utilitario Disk Druid, el sistema nos ayuda con la siguiente pantalla que muestra cómo está particionado el disco duro:

Se recomienda tener especial cuidado cuando el disco duro cuenta con un sistema operacional que se quiere proteger; esto se da cuando se quieren tener varios sistemas operacionales en el mismo computador para usarlo como un laboratorio de trabajo. Linux necesita que exista un directorio llamado raíz o / o distribuir sus directorios de manera más lógica dependiendo de sus funcionalidades, para lo cual se harán algunos comentarios sobre los directorios destacados aunque, posteriormente en el curso, se verá en mayor detalle el capítulo sobre su uso: o /boot: almacena lo relacionado con los programas de arranque, 102 megas son suficientes o /usr: programas del sistema y programas fuentes, el tamaño depende de cada caso. 10000 megas, por ejemplo o /: sistema raíz para el usuario root que es el administrador del sistema o /home: allí residirán los directorios de los usuarios. El usuario Manuel residirá en /home/manuel. El espacio depende de cada caso o /opt: allí se instala software de terceros o /tmp: espacio para archivos temporales o /usr/local: software gnu adicional. 4000 megas, por ejemplo

Instalación, configuración y uso del sistema operacional _ imprimible

20 de 105

o /var: archivos que varían de tamaño como los logs o bitácoras del sistema. 15000 megas, por ejemplo o /swap: área de swapping, es decir, la memoria virtual que debe ser dos veces la ram aunque sobre este valor hay discusiones entre los ortodoxos Perfectamente puede seleccionar únicamente / y allí se crearán todos estos directorios, sugerencia sólo para pruebas y prácticas. En la vida real se deben separar los directorios en sistemas de archivos separados. No olvidar especificar siempre, primero, la memoria virtual /swap aunque el sistema recordará si no se ha hecho. Esta memoria existe desde que Burrougs se inventó este concepto para extender la memoria principal en el disco duro. A medida que se especifican estos directorios y sus sistemas de archivo, el sistema pregunta para cada caso, el espacio en disco o si le da el resto del disco. Un ejemplo de cómo puede aparecer el disco particionado, en este caso usando un comando llamado fdisk /dev/hda en un Linux ya instalado, es: Disco /dev/hda: 40.9 GB, 40982151168 bytes 255 cabezas, 63 sectores/pista, 4982 cilindros Unidades = cilindros de 16065 * 512 = 8225280 bytes Disposit. Boot /dev/hda1 * /dev/hda2 /dev/hda5 /dev/hda6 /dev/hda7 /dev/hda8 *

Start 1 1276 1276 2551 3826 3892

End 1275 4981 2550 3825 3891 4981

Blocks Id 10241406 c 29768445 f 10241406 c 10241406 c 530113+ 82 8755393+ 83

System W95 FAT32 (LBA) W95 Ext'd (LBA) W95 FAT32 (LBA) W95 FAT32 (LBA) Linux swap Linux

En este caso en /dev/hda1 se tiene una partición con Windows (FAT32) que va del cilindro 1 al 1275. En /dev/hda2 se tiene una partición extendida que contiene /dev/hda5, /dev/hda6, /dev/hda7 y /dev/hda8 y que va del cilindro 1276 al 4981 que es el resto del disco. En /dev/hda8 está Linux y en /dev/hda7 está la memoria extendida también llamada swapping. Retomando la instalación que se está haciendo y el interfaz gráfico que se está analizando, cuando se escoge new, es decir, una nueva partición, el sistema presenta una ventana en donde pide el punto de montaje (/, /usr/ etc), el espacio y los datos pertinentes. L

Al llegar aquí se sugiere que se pruebe, se edite y se cambien datos hasta estar seguros de su corrección, pues el sistema instalación, que en Red Hat se llama anaconda, sólo modificará particiones de Linux pero, precisará la arquitectura del disco manera definitiva, por lo menos para esta instalación.

los de las de

Instalación, configuración y uso del sistema operacional _ imprimible

21 de 105

2.6 Cargador del sistema Una vez configurados los sistemas de archivos, el sistema procede a instalar el programa de arranque. Adelante en el curso, en el capítulo sobre su uso, se hablará en detalle de estos programas. Ahora se debe saber que usará, por defecto, uno llamado GRUB aunque como se verá en la pantalla siguiente se puede escoger otro, especialmente el que ha sido más tradicional llamado LILO o Linux Loader.

GRUB se encargará entonces de arrancar la máquina adecuadamente cuando el sistema se haya instalado. Lo mismo haría LILO si se hubiera escogido este sistema de arranque. Si se quiere usar una contraseña de boot se hará que el sistema, además de la contraseña de usuario, pregunte primero por la del boot. Hay que tener clara la diferencia entre las dos contraseñas. No se recomienda, por ahora, poner contraseña de boot.

Instalación, configuración y uso del sistema operacional _ imprimible

22 de 105

Si se elige la opción Change boot loader para escoger otro programa de arranque, aparecerá esta pantalla:

Ya se ha hablado de la posibilidad de tener en el equipo otros sistemas operacionales y, es aquí donde el sistema de instalación da la oportunidad de indicarle los nombres y particiones en donde están localizados para que al arrancar el sistema, muestre en un menú, los nombres de cada uno y poder así seleccionar el que se quiera usar.

Es el momento de decirle a GRUB qué sistemas operacionales están instalados en el disco

Instalación, configuración y uso del sistema operacional _ imprimible

23 de 105

Se debe saber en dónde, es decir, en qué partición, están los demás sistemas para usar bien estas opciones. Si se ha escogido la configuración avanzada aparecerá la siguiente pantalla y lo recomendable es escoger instalarla en el MBR o Master Boot Record que es de dónde el sistema tomará los datos de arranque.

Instalación, configuración y uso del sistema operacional _ imprimible

24 de 105

2.7 Servicio de red La configuración de red que la siguiente pantalla solicita, se puede hacer después de instalado el sistema pero, es recomendable hacerlo ahora para que su sistema quede lo más completo posible en esta primera experiencia de instalación.

Se recomienda configurar la red con un IP fijo

El sistema permite seleccionar DHCP, es decir, obtención dinámica del IP, si es que la red en la cual está el equipo está configurada de esa manera, lo cual debe ser consultado con el administrador del sistema o bien, especificar el IP de la máquina de manera manual cuando es una red pequeña. Para los principiantes que están instalando en su propio PC les recomendamos que usen un IP como 192.168.100.1, un netmask de 255.255.255.0 y no coloquen nada en los campos de gateway, Primary DNS, Secondary DNS y Terciary DNS Los expertos deberán investigar las condiciones de su red local al hacer una instalación profesional. Se debe especificar el host name en la caja que aparece en el interfaz si está asignado. Para los principiantes pueden poner cualquiernombre.com en donde cualquiernombre, es cualquier nombre.

Instalación, configuración y uso del sistema operacional _ imprimible

25 de 105

2.8 Firewall L

La seguridad de la red, desde el punto de vista de políticas de acceso, se da en esta parte aunque se recomienda no activarla porque, por error, se puede generar un sistema protegido y esto producirá problemas al no tener aún conocimiento sobre este tema.

Para conocimiento, su pantalla es:

Es recomendable no poner Firewall en este momento de la primera instalación

Obsérvese que se pueden marcar los servicios a los cuales se va a dar acceso como SSH cuyo significado Secure Shell corresponde a un protocolo encriptado que reemplazó a telnet, rlogin y rsh. Http que es el protocolo de web no encriptado y https que pertenece al protocolo de web encriptado, ftp protocolo de transferencia de archivo, smtp protocolo de correo electrónico. Por ahora, se le dice que no se quiere instalar el Firewall, porque podría inhibir tareas que confunden al usuario que se est. 2.9 Soporte de múltiples idiomas Cuando solicite el idioma en que debe quedar instalado el sistema, puede seleccionar múltiples idiomas.

Instalación, configuración y uso del sistema operacional _ imprimible

26 de 105

2.10 Zona geográfica La escogencia de la zona geográfica va a tener implicaciones en el ajuste del reloj del computador, así que debe ser bien escogida.

Bogotá

Instalación, configuración y uso del sistema operacional _ imprimible

27 de 105

2.11 Creación de cuentas Linux maneja una cuenta para el administrador del sistema llamada root que otorga a su poseedor acceso a todo. Aquí solicita la contraseña de root la cual debe ser recordada siempre para poder iniciar el sistema.

Instalación, configuración y uso del sistema operacional _ imprimible

28 de 105

2.12 Autenticación Si el sistema pregunta sobre el tipo de autenticación, permite escoger entre SAMBA, NIS, PASSWD, LDAP. Se aconseja seleccionar passwd. 2.13 Selección de paquetes Ahora, el sistema procede a iniciar la instalación pero antes, permite escoger la forma: Para el propósito del curso, es recomendable escoger la opción personalizada (Custom) en cuyo caso muestra:

Es aconsejable escoger la opción personalizada

Instalación, configuración y uso del sistema operacional _ imprimible

29 de 105 Zona de tipo de aplicaciones; existen varias.

Aquí se pueden ver y seleccionar los paquetes

L

Es importante navegar por las opciones para tener más conocimiento de los paquetes que se pueden instalar

Sobre esta pantalla se recomienda jugar un poco, es decir, entrar en las opciones de detalles (Details) y leer algo de los programas allí contenidos porque esto permite familiarizarse con lo que se está haciendo. El propósito es identificar los temas y tipos de programas que el sistema instalará. Se puede escoger los que se deseen, pero lo importante es saber de qué se trata. Al seleccionar los detalles, en cada opción aparecerán pantallas explicativas en las cuales se expone cada programa. No es necesario mirarlos todos, pero el hacerlo queda en manos de la disciplina personal de cada quien. La pantalla a continuación es un ejemplo de navegación.

Instalación, configuración y uso del sistema operacional _ imprimible

30 de 105

Ahora, para iniciar la instalación, seleccione Next en la pantalla anterior y el sistema responde:

Instalación, configuración y uso del sistema operacional _ imprimible

31 de 105

Al dar Next se iniciará la instalación con una ventana permanente de información sobre el estado del proceso. 2.14 Proceso de instalación L

Durante el proceso de instalación se recomienda, estar presente frente a la máquina y observar los diferentes paquetes que se van instalando

Para los principiantes, ir leyendo cada paso de esta fase es importante pues se comienza a captar toda la tecnología que viene incluida en Linux e, igualmente, la magnitud de posibilidades y oportunidades que ofrece un sistema libre.

Muestra el tiempo restante para instalar los paquetes

Durante este proceso se debe estar pendiente de cambiar los CD a medida que el sistema lo requiere. Después de pedir el último, pide permiso para reiniciar el equipo con los CD fuera de la unidad. La primera vez que arranca el sistema procede a ejecutar algunos procesos que faltan para terminar la instalación. L

Después de instalar los paquetes el sistema se reinicia pero aún faltan especificaciones que irá solicitando en este primer arranque.

Instalación, configuración y uso del sistema operacional _ imprimible 2.14.1 Primer arranque La primera pantalla es de bienvenida.

Para aceptar la licencia… ¿alguna vez ha dejado de aceptar una?

32 de 105

Instalación, configuración y uso del sistema operacional _ imprimible

33 de 105

Para ajustar su reloj a un servidor remoto. Para equipos de uso personal, y mientras no sea para producción, no es necesario.

Para configurar la resolución de la pantalla, trate 1024 x 768, si su pantalla lo permite.

Pude cambiar la resolución de la pantalla

y… el número de colores

Instalación, configuración y uso del sistema operacional _ imprimible

34 de 105

Esta fase es delicada pues Linux espera tener tarjetas de vídeo y monitores estándar y, únicamente, en el evento del equipo ser antiguo se presentarán problemas que no se resuelven por vía fácil, así que en esta parte sólo resta desear ¡BUENA SUERTE! Sin embargo, posterior a la instalación, es posible configurar el vídeo usando el programa xvidtune o alguno de los programas de configuración de visualización. Para autorizar al primer usuario diferente de root pide:

En donde se puede especificar el login/password personal para comenzar.

Instalación, configuración y uso del sistema operacional _ imprimible

35 de 105

2.15 Tarjeta de sonido La tarjeta de sonido, si se tiene, se podrá probar en esta pantalla con los parlantes prendidos:

No olvidar: - Probar si la tarjeta de sonido fuciona - Prender los parlantes - Subir el volumen

Instalación, configuración y uso del sistema operacional _ imprimible

36 de 105

Si se tienen otros programas que se quieran instalar, esto se permite con la siguiente opción, aunque es preferible postergar la instalación.

Instalación, configuración y uso del sistema operacional _ imprimible

Y, finalmente:

37 de 105

Instalación, configuración y uso del sistema operacional _ imprimible

38 de 105

Una vez instalado el sistema aparecerá el entorno gráfico escogido y se sugiere navegar sobre él, mirar sus opciones y tratar de familiarizarse. Si se es usuario de Windows es probable se tenga la preparación para indagar solo las opciones de Linux bajo su entorno gráfico. Se invita a hacerlo. Algo necesario de saber usar desde el principio, es una terminal gráfica la cual se activa desde Herramientas del sistema, ayudará a dar comandos al sistema y será usada a través del curso. La manera de obtener la terminal desde el interfaz gráfico se muestra en esta imagen:

Y, da como resultado esta pantalla:

Instalación, configuración y uso del sistema operacional _ imprimible

Sobre ella se podrán ejecutar los comandos.

39 de 105

Instalación, configuración y uso del sistema operacional _ imprimible

40 de 105

2.16 Postinstalación Una vez instalado el sistema, si es de producción se recomienda hacer algunas tareas para asegurar su funcionamiento y mantenerlo bien. Los archivos más importantes son: o /etc/shadow o /etc/passwd o /etc/group o /etc/fstab o /etc/squid/squin.conf o /etc/firewall Por ejemplo, una forma de sacar una copia es usando el comando de copia: cp /etc/shadow /etc/shadow.ini Durante el curso se mencionará en su momento con toda la importancia que tiene.

Instalación, configuración y uso del sistema operacional _ imprimible

41 de 105

2. INSTALACIÓN, CONFIGURACIÓN Y USO DEL SISTEMA OPERACIONAL

En la unidad temática Introducción al software libre hemos estudiado la historia, el desarrollo y la filosofía del movimiento creado por Richard Stallman, el cual se ha convertido en un nuevo paradigma de los sistemas operacionales y de la informática, en general. En la presente unidad comenzaremos a trabajar de manera práctica sobre el sistema operacional Linux, desde su instalación. Se recomienda que los estudiosos lo instalen actividad objetivo de este capítulo- en su computador, siguiendo, paso a paso, la guía de procedimiento.

2.1 INSTALACIÓN Y CONFIGURACIÓN DE LINUX

La instalación es un proceso para colocar Cortesía de la comunidad de software libre en el servidor los programas del sistema de Uniminuto: EL ARCA operacional, de manera ordenada, para que tomen posesión del equipo. La instalación y la configuración de Linux son tareas relativamente sencillas, sin complejidades, que requieren la realización disciplinada de una secuencia de pasos a los cuales hay que agregarles conocimientos relacionados con las tecnologías en uso. Es importante que usted tenga la experiencia de instalar y configurar Linux para que la pueda utilizar posteriormente en los demás subtemas de este curso. A continuación se presenta la Actividad de Aprendizaje para hacer la instalación y configuración de Linux. Para su desarrollo, se elaboró el documento Instalacion de Linux.pdf el cual lo guiará hasta su feliz término.

Instalación, configuración y uso del sistema operacional _ imprimible

42 de 105

Actividad de Aprendizaje – Instalación de Linux

Objetivo general Utilizar el sistema Linux, instalado en el computador del estudiante, como laboratorio durante el curso.

Objetivos específicos 1. Lograr que el estudiante tenga la experiencia de instalar Linux en su computador personal siguiendo las instrucciones dadas en la carpeta linstalacion_linux Transferir a los estudiantes conocimientos relacionados con la tecnología que se está instalando los cuales no aparecen en los manuales que se encuentran en el mercado. Instrucciones para completar la Actividad de Aprendizaje 1. Obtenga los CD de instalación de Linux Fedora 4 en el área de Sistemas de su entidad. Debe llevar cuatro CD vírgenes 2. Busque en la sección de Recursos la carpeta linstalacion_linux 3. Siga las instrucciones y lea detenidamente las explicaciones sobre la tecnología que se está instalando. Recuerde que el sistema instalado es la base del trabajo que se va a hacer durante todo el curso y por lo tanto es requisito fundamental que la instalación quede operando

Recuerde que el sistema instalado es la base del trabajo que se va a hacer durante todo el curso. Por lo tanto, es requisito fundamental que la instalación quede operando

2.2 ACTIVIDAD DE APRENDIZAJE - INSTALACIÓN DE LINUX 2.3 RESUMEN En esta sección se ha trabajado la instalación de Linux desde inventariar la tecnología del hardware de la máquina en uso, seguido de la escogencia de una distribución específica y luego el proceso mismo de cargar los CD de instalación siguiendo paso a paso el proceso. Se ha realizado no sólo respondiendo a las preguntas que hace el sistema sino al explicar

Instalación, configuración y uso del sistema operacional _ imprimible

43 de 105

y entender, en cada paso, la tecnología que se está escogiendo y el por qué de esa escogencia. El proceso debió haber terminado para el estudiante con el sistema Linux funcionando en su propia máquina. 2.4 EJERCICIOS 1.

¿Su computador tiene instalado Linux? Si

No

si

2.

¿Funciona el sistema Linux instalado en su computador? Si

No

si

3.

A continuación encontrará un conjunto de afirmaciones. Léalas con atención y elija su respuesta. Afirmación Verdadero Falso Linux se puede instalar desde un servidor de OK red Linux sólo se puede instalar desde CD Ok Sólo sirve una distribución de Linux Ok Es recomendable saber sobre qué hardware Ok se instala Linux Nunca es necesario ajustar el setup de la Ok máquina para arrancar los CD

4.

A continuación encontrará varias formas de instalación por red. Léalas con atención y elija su respuesta. Formas de instalación ftp http https root ssh nfs boot

5.

Verdadero OK OK

Falso

OK OK OK OK OK

A continuación encontrará varias preguntas sobre los directorios de Linux que debe leer con atención y elegir su respuesta.

Instalación, configuración y uso del sistema operacional _ imprimible

Directorios de Linux ¿/boot: almacena los programas de arranque? ¿/boot: sirve para instalar software de terceros? ¿/var: almacena los archivos que cambian de contenido como las bitácoras del sistema o archivos de log? ¿Cuándo un usuario entra al sistema con la cuenta manuel, queda localizado en /usr/manuel? ¿El área de swap debe ser dos veces el tamaño de la memoria principal? ¿El área de swap puede ser más de dos veces el tamaño de la memoria principal?

Si OK

44 de 105

No

Ok Ok

Ok

Ok

Ok

2.5 AUTOEVALUACIÓN 1.

El directorio en donde se encuentra el driver de los siguientes dispositivos es: a) Segundo disco duro IDE primera partición: /dev/hdb1/ b) Todo el segundo disco duro IDE: dev/hda c) Primer disco duro IDE partición primaria 1: /dev/hda0 d) Primer disco scsi segunda partición: /dev/sda0

a

2.

De las siguientes afirmaciones, señale cuáles corresponden a la realidad del proceso de instalación de Linux: a. Sólo se pueden instalar Linux en particiones primarias b. Para ver el contenido del disco duro después del comando mount /dev/hda1/media/datos se debe dar cd /media/datos y luego el comando ls c. /boot: almacena los programas de arranque de los directorios de LInux d. Se puede instalar un sistema operacional Linux en una partición extendida

b,c,d 3.

El directorio en donde se encuentra el driver de los siguientes dispositivos es: a) Segundo disco duro IDE primera partición: /dev/hdb1/ b) Todo el segundo disco duro IDE: /dev/hdb c) Primer disco scsi segunda partición: /dev/sda2 d) Primer Floppy: /dev/fd0 a,b,c,d 4.

De las siguientes afirmaciones, señale cuáles corresponden a la realidad del proceso de instalación de Linux: a) En un equipo sólo puedo instalar un sistema operacional b) En un equipo puedo instalar varios sistemas operacionales c) Se puede instalar un sistema operacional Linux en una partición extendida

Instalación, configuración y uso del sistema operacional _ imprimible

45 de 105

d) Sólo se pueden instalar Linux en particiones primarias b,c 5.

/boot: almacena los programas de arranque de: a) El programa de instalación de Linux b) Del sistema de archivos o de log c) Los directorios de Linux d) Ninguno de los anteriores

c 6.

A continuación encontrará un conjunto de afirmaciones, señale cuáles de ellas se aplican a Linux a) Se puede instalar desde un servidor de red b) Sólo sirve una distribución c) Es recomendable saber sobre qué hardware se instala d) Sólo se puede instalar desde CD

a,c 7.

Señale cuáles de las siguientes son formas de instalación de Linux por red: a) ftp b) http c) ssh d) nfs a,b,c,d 8.

Señale cuáles de las siguientes son formas de instalación de Linux por red: a) https b) root c) boot d) ftp

d 9.

Señale si es verdadera o falsa la siguiente afirmación: /boot: almacena los programas de arranque del directorio de LInux a) Verdadero b) Falso

a 10.

a

Señale si es verdadera o falsa la siguiente afirmación: El área de swap debe ser dos veces el tamaño de la memoria principal a) Verdadero b) Falso

Instalación, configuración y uso del sistema operacional _ imprimible

46 de 105

3. USO DEL SISTEMA OPERACIONAL ¿Su computador tiene instalado Linux? Si

No

si /// Sí contesta no, debe decirle: Por favor no siga hasta cuando lo haya instalado. En la Actividad de Aprendizaje – Instalación de Linux se dan las indicaciones. ¿Funciona el sistema Linux instalado en su computador? Si

No

si

Una vez instalado el sistema Linux viene un proceso importante en el aprendizaje y es su uso. Se debe comenzar con un trabajo de conocimiento de la estructura del sistema. 3.1 ARQUITECTURA DEL SISTEMA OPERATIVO LINUX Un sistema operacional se "construye" para hacer que un computador sea operativo, es decir, esté disponible para la ejecución de tareas. El término arquitectura se refiere a la forma como se organizan los diferentes elementos que componen un sistema para que adquiera una identidad y un modelo de funcionamiento acorde con los estándares

Un diagrama muy famoso que describe la ubicación del núcleo o kernel dentro de un sistema operacional es el usado por Maurice J. Bach, autor de un clásico llamado The Design of the UNIX Operating System. Como se puede observar en este diagrama, todo el software desarrollado gira en torno del hardware de la máquina que es precisamente lo que el sistema operacional debe manejar.

Kernel o núcleo es el primer elemento, conecta el exterior con el hardware; en Linux fue el trabajo desarrollado por Linus Torvalds.

El shell, en este caso el bash, maneja todos los comandos, los sabe interpretar y ejecutar; alrededor suyo se encuentran programas y comandos como los que se ven en el entorno del kernel: ps, man, grep, otros

Todas las aplicaciones que sea posible desarrollar y que se instalan en la capa de aplicaciones

Instalación, configuración y uso del sistema operacional _ imprimible

47 de 105

3.1.1 Manejo de tareas

Las tareas o procesos son los programas del computador que están encargados de realizar un proceso específico

El término tarea se refiere a una unidad de programa ejecutable que puede ser controlada por el sistema operacional. La CPU está en condiciones de ejecutar instrucciones, una por una, pero una tarea puede tener muchas instrucciones. El sistema operacional debe estar en capacidad de controlar esas tareas de tal manera que en la búsqueda de eficiencia para usar la CPU, pueda pararlas, dejarlas en espera, darle control a otra o, reactivarlas, y de esa manera ejercer el control para lo cual está diseñado. El núcleo que es la porción del sistema operacional que se encarga de proveer acceso al hardware de la máquina y de controlar los procesos o tareas que se están ejecutando y que compiten por el uso de dicho hardware es, en el caso de Linux, de carácter monolítico lo que quiere decir que se compone de módulos que se pueden activar en tiempo de ejecución o, ensamblarlos como parte fija del núcleo, de tal manera que si un módulo falla, no falle el núcleo. El núcleo de Linux, como ya lo hemos mencionado, lo creó Linus Torvalds en 1992 Linux maneja multitareas, es decir, que puede tener múltiples de ellas trabajando al mismo tiempo. Pero al decir: al mismo tiempo, debemos explicarlo, porque solo una está activa; es más, solo una instrucción se ejecuta en un instante de tiempo. Las tareas deben ser administradas y controladas, desde el punto de vista de su ejecución, por el núcleo. Este debe estar en capacidad de interrumpir una, almacenar su estado o sea sus contenidos de memoria y de registros, darle prioridad a otra, y en algún momento darle el turno de nuevo a la tarea interrumpida restableciendo los contenidos de memoria y registros para que siga siendo atendida por la CPU; de esta manera Linux logra mantener muchas tareas trabajando "al mismo tiempo". La característica que tiene Linux de tener a varios usuarios trabajando simultáneamente se llama ser multiusuario. A continuación se detalla la forma como se manejan los siguientes procesos del sistema operacional o Administración de recursos o Manejo de la CPU o 'Scheduling' de tareas o Manejo de interrupciones

Administración de recursos El propósito real en la vida de un sistema operacional es administrar recursos.

Instalación, configuración y uso del sistema operacional _ imprimible

48 de 105

Estos incluyen la CPU, la memoria, el hardware, los usuarios. Se incluye el término usuarios para introducir otra ventaja de Linux. Ser multiusuario, es decir, permitir que muchos usuarios estén conectados a él simultáneamente. Por eso se dice que Linux es multitarea y multiusuario. Manejo de la CPU Siendo la CPU el recurso más importante de un computador pues es la parte del hardware que ejecuta las instrucciones, administrar su uso es una de las tareas de mayor importancia del sistema operacional a través del proceso de interrupciones, lo cual hace el núcleo.

'Scheduling' de tareas Es el proceso de asignar tareas a un conjunto de recursos; Linux usa un mecanismo en el que le da la CPU a las tareas durante lapsos de tiempo, para luego interrumpirla y dárselo a otra, repetitivamente para todas las tareas activas en el sistema. Tiene además un mecanismo de prioridades que permite que el administrador del sistema otorgue prioridades diferentes, dependiendo de la importancia de cada tarea. Manejo de interrupciones Es la manera como un sistema operacional obedece a las señales que el hardware le hace sobre inicio o terminación de asignaciones de trabajo y con el cual se orienta para administrar mejor a las tareas. El hardware se comunica a través de los llamados Requerimientos de Interrupciones o IRQ que son números asignados a los dispositivos para identificar sus señales al núcleo. 3.1.2 Interprocesos Las tareas que se ejecutan en un momento dado pueden comunicarse entre ellas como parte de su labor como programa

A este mecanismo se le llama IPC, o sea, Comunicación entre Procesos. Deben estar sincronizados para evitar la anarquía que puede terminar en una caída del sistema. Un término muy común cuando se habla de interprocesos es el de pipe.

Palabra que se puede traducir como tubo. Se trata de un mecanismo que se originó con Unix en el cual un proceso que produce una salida la envía a la salida estándar que puede ser la pantalla, pero a través del pipe, esa salida puede ser enviada como entrada a otro proceso. Esa manera tan natural de comunicación entre procesos ayuda mucho en el diseño de Linux.

Instalación, configuración y uso del sistema operacional _ imprimible

49 de 105

A continuación se presentan las definiciones de los siguientes procesos del sistema operacional: o Mensajes entre tareas o Reentrancia o Interrupciones o Administración de memoria Mensajes entre tareas Se pueden enviar mensajes entre ellas como parte de la sincronización del sistema. Reentrancia Este término se refiere a la característica de un código ejecutable de ser usado con las mismas instrucciones y dar el resultado correcto. Es el caso de una tarea que sea interrumpida por el sistema operacional para activarla después, y otra tarea entre a usar el código de una rutina. Si esta rutina tiene código reentrante, debe correr adecuadamente. Interrupciones Una interrupción es una señal de un dispositivo que hace que una tarea sea interrumpida para dar paso a otra mientras se cumple la tarea del dispositivo. Linux tiene un subsistema de interrupciones bastante refinado. Administración de memoria La administración de memoria consiste en una serie de dispositivos, circuitos asociados y software que permiten almacenar el estado de una tarea. Incluye memoria RAM, Unidades de administración de memoria (MMU), memoria caché, discos y registros de procesos. El sistema operacional administra el uso de estos recursos bajo un mecanismo de jerarquías asignándolas a las tareas que las necesitan. La memoria virtual es muy importante de mencionar ya que al ser la continuación de la memoria principal (RAM) en los discos duros permite cargar tareas más grandes que la RAM. La administración de memoria tiene que ver, también, con protección de la misma y seguridad para que la memoria reservada por una tarea no sea utilizada por otra si no tiene permisos, ayudando a mantener la integridad del sistema. Parte de esta responsabilidad es darle memoria a los programas que la pidan, minimizando la sobrecarga de uso de la CPU, las pausas y el total de la memoria usada. El sistema operacional, a través del administrador de memoria, crea la ilusión de tener memoria ilimitada. 3.1.3 Interfaces de hardware. En el diagrama que aparece a continuación se observa la cadena que existe entre los usuarios y el hardware a través de una serie de interfaces. Estas interfaces comienzan con las aplicaciones que ve el usuario en su pantalla manejadas por los programas de aplicación, los cuales usan una serie de API o Interfaces de Programas de Aplicaciones, que son los que permiten conectar con los programas de utilidad y el núcleo del sistema.

Instalación, configuración y uso del sistema operacional _ imprimible

50 de 105

Cuando un usuario lee un documento por ejemplo, esto se traduce en algún momento por allá en el interior del sistema en una orden a un Driver que es un programa que interactúa entre otras, con el disco duro para leer un datos o muchos datos en cadena que se encuentran en los dispositivos del hardware. Veamos algunos de esos dispositivos e interfaces para adquirir o afinar una cultura que nos permita hablar con propiedad sobre lo que tenemos delante. o o o o o o o o

CPU Buses Entrada y salida en paralelo Entrada y salida en serie Dispositivos orientados a bloques El teclado Video Memoria de acceso directo – DMA

CPU La CPU o Central Processor Unit es la parte del computador que ejecuta las instrucciones, como ya se explicó. Cuando se diseña un nuevo computador, se diseña su CPU. Esta consiste en registros de hardware que almacenan datos útiles para que las instrucciones se ejecuten, por ejemplo, código de una instrucción y direcciones de memoria. En los años 60 se diseñaban primero la CPU y el software que la iba a manejar, antes que el computador. Esa era una de las tareas del padre de la Programación estructurada Edsger Dijkstra. Buses Un bus es un conjunto de señales eléctricas que se enrutan dentro de un computador entre componentes del mismo. Hay estándares como los buses IEEE-696, ISA, EISA, PCI y Multibuses. El primer bus que existe es el de la CPU que se conecta con el resto del computador. Los buses se basan, en general, en tres tipos de señales: los buses de datos que cargan los valores que son leídos o escritos en, o desde, la memoria principal; los buses de direcciones que tienen las direcciones de memoria hacia o desde donde van los datos de los dispositivos; los buses de control que tienen que ver más con líneas de escritura, señales, interrupciones. No se debe preocupar por conocer todo sobre los buses, a no ser que sea un ingeniero electrónico interesado en la ingeniería de computadores o, que su curiosidad académica lo atraiga. Entrada y salida en paralelo Esta forma de comunicación dentro del computador permite enviar bytes simultáneamente, por lo cual es más veloz. Es el caso de la impresora, que se comunica a través de buses paralelos.

Instalación, configuración y uso del sistema operacional _ imprimible

51 de 105

Entrada y salida en serie Es una forma de comunicación lenta y asincrónica, llamada RS-232, manejada por un dispositivo electrónico llamado UART o Universal Asynchronous Receiver Transmitters a través del cual se comunican el teclado y el ratón. La transmisión es lenta ya que sólo viajan bits en serie. Dispositivos orientados a bloques Son aquellos que envían bloques de datos a la vez. Como los discos o cintas. Por eso se pueden manejar usando buffer, o sea, tanques de datos que al llenarse, envían los datos al dispositivo como los tanques de agua de las casas, que deben estar llenos, y dan agua cuando ella es solicitada desde los grifos. Un método es el llamado DMA o Direct Memory Acces, es un dispositivo que le ayuda a la CPU a trasladar datos de entrada/salida con instrucciones propias o el IDE Integrated Drive Electronics en el bus ISA. El teclado El teclado es un dispositivo universal en todos los computadores. El uso de teclas determina la existencia de un código que identifique los diferentes caracteres como el ASCII o America Standar Code for Information Interchange o Unicode que es más universal para los diferentes idiomas del mundo incluidos los idiomas asiáticos. El teclado se comunica a través de un pequeño procesador o una combinación de UART/CPU. Ya definimos antes qué es un UART. Video El vídeo maneja mapas de caracteres y de bits. Usualmente el vídeo tiene asignada un área de memoria desde donde la CPU se comunica con él. Los caracteres usan un byte por carácter y otro por color, de tal manera que una pantalla de 80 columnas por 25 filas consume 4000 bytes de memoria. El mapa de bits es más complicado y usa más memoria. El píxel que es la mínima unidad o elemento de dibujo ocupa un bit. Un sistema monocromático de 600x500 píxeles usa 600x500/8 bytes o sea 37.500 bytes en memoria. Es común usar sistemas de 1280x1024. Y si se desean 16 colores por bit, aumentan los requerimientos de memoria. Memoria de acceso directo – DMA DMA o Direct Memory Acces, permite que ciertos subsistemas de hardware dentro de un computador, accedan a la memoria para leer o escribir de manera independiente de la CPU. Por ejemplo, los discos, las tarjetas gráficas, las de red y las de sonido, la usan. Permite que los dispositivos de diferentes velocidades se comuniquen sin hacer interrupciones masivas para que la CPU siga siendo útil a otras tareas. Una transferencia DMA copia un bloque de memoria de un dispositivo a otro. La CPU inicia la transferencia y, el controlador de DMA la lleva a cabo.

Instalación, configuración y uso del sistema operacional _ imprimible

52 de 105

3.1.4 Ejercicios Ubique cada palabra en orden para formar una frase. Haga clic sobre la palabra para irla añadiendo a la frase. Cuando usted crea que su respuesta es correcta, haga clic en “revisar” para verificar su respuesta. Si tiene problemas, haga clic en “pista” para saber cuál es la palabra que sigue en la frase. 1 La asignación de tareas a un conjunto de recursos y su control se llama Scheduling de tareas 2 El padre de la Programación estructurada se llama Edsger Dijkstra 3 Determine a qué elemento del manejo de tareas corresponde la definición: Parte del hardware instrucciones

que

ejecuta

las CPU Scheduling de tareas Mecanismo de prioridades Manejo de interrupciones

IRQ Proceso de asignación de tareas a un CPU conjunto de recursos Scheduling de tareas Mecanismo de prioridades Manejo de interrupciones IRQ Permite cambiar la importancia de una CPU tarea Scheduling de tareas Mecanismo de prioridades Manejo de interrupciones IRQ Usa señales para que se inicien o terminen CPU las tareas para administrarlas mejor Scheduling de tareas Mecanismo de prioridades Manejo de interrupciones IRQ Tiene una serie de números asignados a CPU los dispositivos para identificarlos Scheduling de tareas Mecanismo de prioridades Manejo de interrupciones IRQ

Instalación, configuración y uso del sistema operacional _ imprimible

53 de 105

3.1.5 Autoevaluación 1. De las siguientes afirmaciones, señale cuáles corresponden a la arquitectura del sistema operativo Linux a) El núcleo es la parte del sistema operacional que conecta el mundo exterior con el hardware de la máquina b) Los comandos son manejados por el shell c) Una tarea puede tener una sola instrucción d) Una tarea puede ser un conjunto de instrucciones a,b,c,d 2. Linux es multiusario porque: a) Se ejecutan varias tareas al mismo tiempo b) Puede tener varios usuarios trabajando simultáneamente c) Ejecuta aparentemente varias instrucciones al tiempo d) Puede ejecutar programa por programa b 3. Linux es multitarea porque: a) Se ejecutan varias tareas al mismo tiempo b) Puede tener varios usuarios trabajando simultáneamente c) Ejecuta aparentemente varias instrucciones al tiempo d) Puede ejecutar programa por programa c 4. La CPU es: a) La parte del hardware que ejecuta las instrucciones b) El proceso de asignar tareas a un conjunto de recursos c) La que permite cambiar la importancia de una tarea d) La que usa señales para que se inicien o terminen las tareas para administrarlas mejor a 5. El mecanismo de prioridades es: a) La parte del hardware que ejecuta las instrucciones b) El proceso de asignar tareas a un conjunto de recursos c) El que permite cambiar la importancia de una tarea d) La que usa señales para que se inicien o terminen las tareas para administrarlas mejor c 6. Señale cuáles de las siguientes afirmaciones son verdaderas: a) Un disco duro es un dispositivo de bloque por lo pesado b) Los buses son señales eléctricas entre componentes c) Un píxel es igual a un byte d) El DMA o Memoria de Acceso Directo es un enemigo de la CPU b,d

Instalación, configuración y uso del sistema operacional _ imprimible

54 de 105

3.2 SISTEMA DE PROCESOS Los procesos son tareas que están siendo ejecutadas por el sistema en algún momento. A continuación se describen los siguientes procesos: o Procesos interactivos o Demonios o Atributos de un proceso o Ciclo de vida de un proceso

3.2.1 Procesos interactivos

Los procesos pueden ejecutarse frente al usuario dejando la terminal atrapada o liberándola, dependiendo de las necesidades del proceso Son aquellos que dependen de una terminal que los ha activado. Existen procesos de background a los cuales nos podemos referir de diversas maneras: activados en background, ejecutándose en background o corriendo en background. De igual manera nos podemos referir a procesos en foreground. background El estado background se refiere a que, al ser activado desde una terminal, el proceso se ejecuta de manera independiente a ella, sin "amarrarla" durante el tiempo de proceso. Eso significa que la terminal es liberada y en ella se pueden ejecutar otros comandos. Los procesos que corren en background se llaman jobs y a cada uno se le asigna un número en el momento de ejecutarlo el cual se muestra entre los caracteres [ ]. La manera de ejecutar un proceso en background es adicionar el carácter & al dar el comando.

foreground. El estado foreground en cambio, "amarra" la terminal al proceso, dejándola sin capacidad de correr otra tarea en esa terminal, mientras el proceso se ejecuta. Para ver ejemplos ilustrativos de manipulación de tareas aquí.

EJEMPLO DE MANIPULACIÓN DE TAREAS

Para el ejemplo se supone que se está frente a un equipo con Linux ya instalado y se necesita activar una terminal como se explicó al final del capítulo de instalación. Si se ha entrado como root aparecerá el símbolo # y si se ha hecho como un usuario normal aparecerá $

Instalación, configuración y uso del sistema operacional _ imprimible

55 de 105

Se supone que se quiere ejecutar el programa gedit que es un editor de texto. Para ello se llama el programa cuyo nombre es gedit, así: # gedit& [1] 1034 #

L

Obsérvese que el comando de gedit tiene el carácter & al final

A continuación el sistema muestra los datos [1] 1034. Ellos indican que el proceso ha pasado a ser ejecutado en background liberando la terminal, lo cual se nota debido a que el prompt # vuelve a aparecer dejando correr otros comandos en esta pantalla. Los números [1] y 1034 significan que el trabajo o proceso (job) tendrá el número 1 dentro de la lista de jobs o trabajos en background y 1034 dentro de la lista de todos los procesos en ejecución. Ese número puede ser diferente en su equipo y depende del momento pues es asignado por el sistema. Si el programa se llama en foreground, la terminal quedará amarrada al programa. Al dar el comando sin el carácter &, el proceso se ejecuta en foreground. # gedit

En este caso el prompt de unix # no vuelve a salir en la pantalla. Lo cual significa que en ella no será posible ejecutar otro comando mientras no termine la tarea. Algunos comandos y notaciones referentes a los procesos, de gran utilidad son los siguientes: • • • • • •

& carácter para enviar un proceso a background ^Z para terminar un proceso en foreground ^z :para terminar un proceso en foreground jobs: para que el sistema liste los jobs que está corriendo en background fg %n comando para enviar a foreground un proceso en background cuyo número de job es n kill %n para "matar", perdón por la palabra pero ese es el macabro léxico de Unix y Linux, para determinar que el job número n debe ser sacado de proceso

Existe un programa llamado xeyes que a veces viene en los sistemas Linux. Sin embargo, en caso de no existir se puede encontrar en Recursos para copiarlo en el sistema. Para mayor fidelidad, se puede copiar como usuario root en /usr/X11R6/bin/ que es su lugar de residencia estándar pero puede copiarse en cualquier parte. Ese programa proyecta unos ojos que se mueven con el ratón.

Instalación, configuración y uso del sistema operacional _ imprimible

56 de 105

Para ejecutarlo dándole colores: #xeyes -center red y aparecerán un par de ojos rojos que al mover el ratón se mueven ellos también.

Comprobar cómo la terminal queda presa por la tarea (o proceso) y que en ella no se puede teclear otro comando. ¿Por qué? Porque se ejecutó en foreground. La manera de liberarla es matando la tarea usando el teclado oprimiendo simultáneamente las teclas. Ctrl C De nuevo ejecutar el comando: #xeyes -center red

Pero en esta ocasión no usar Ctrl C sino Ctrl Z y observar que el proceso se detiene pero sigue ahí en la pantalla, sólo que ya no se mueve con el ratón y la terminal se libera dando un mensaje como: [1]+ Stopped

xeyes -center red

Ese proceso se puede volver a traer corriendo de dos formas, en background o en foreground. El primero corre independiente de la terminal, es decir, que la terminal queda libre, como ya se explicó, y el segundo deja la terminal atrapada. Para reactivarla en foreground teclear en la misma terminal que se usó para ejecutarlo: #fg Y, sale el mensaje: xeyes -center red

Se observará que vuelve a estar activo (mueva el ratón y observe) y la terminal queda atrapada. Crl Z de nuevo y el proceso se detiene pero sigue en la pantalla.

Instalación, configuración y uso del sistema operacional _ imprimible

57 de 105

Ahora se pone en background: #bg [1]+ xeyes -center red

Entonces, vuelve a quedar activo y la terminal liberada. Está en background. Para pararlo, seleccionar la x extrema del gráfico lo cual equivale a matarlo. Si se quisiera desde un principio que corriera en background usar & después del comando, pero cambiar de color: #xeyes -center blue &

Matar la tarea con Ctrl C Ahora, abrir dos terminales y en la primera ejecutar:

#xeyes -center red & [1] 4025 Y, en la otra: #xeyes -center blue & [1] 4028

Los números que aparecen son los de cada tarea. Se verán dos ojos rojos y dos ojos azules ejecutándose en background es decir que las terminales quedan liberadas.

Instalación, configuración y uso del sistema operacional _ imprimible

# jobs -l [1]+ 4025 Running #jobs -l [1]+ 4028 Running

58 de 105

xeyes -center red & xeyes -center blue &

Aparece cada job con el número de la tarea asignada por el sistema. Para actuar sobre esas tareas o procesos, por ejemplo, para pararlos o ejecutarlos existen unas señales que se le envían a las tareas con el comando kill. Si queremos detener la tarea de los ojos azules que es la 4028: kill -s SIGSTOP 4028

Y se observará que la tarea sigue en la pantalla pero detenida.

Instalación, configuración y uso del sistema operacional _ imprimible

59 de 105

#kill 4028 Mata el proceso. Se recuerda que si se desea ver la ayuda para manejar un comando se usa el comando man. Por ejemplo: #man kill

Este muestra la ayuda del comando kill y así para todos los comandos. Este ejercicio enseñó el manejo de los procesos simultáneos y las condiciones de background y foreground usando un ejemplo atractivo y sencillo como es el de xeyes. Pero el tema es tan serio que se puede necesitar para la ejecución de tareas estratégicas dentro de las empresas.

3.2.2 Demonios Los Demonios se definen como tareas silenciosas o programas residentes y son aquellos programas que están permanentemente cargados en la memoria del sistema corriendo en background en la memoria esperando que algún otro proceso necesite de sus servicios. Los demonios más comunes se refieren a servicios como las redes, los programas de conectividad, y muchos otros de los cuales hablaremos a lo largo de este curso en detalle. Por ahora, aprendamos la existencia de este concepto y a qué se refiere.

3.2.3 Atributos de un proceso Existe un comando llamado ps que significa process status o estado de los procesos que

60 de 105

Instalación, configuración y uso del sistema operacional _ imprimible nos

mostrará

los

atributos

de

los

procesos.

La lista es para tenerla de referencia y, corresponde a los atributos de los procesos más importantes. Lista de atributos de procesos c

cmd

Nombre del proceso o del comando

C

cmdline

f

flags

Banderas de formato largo

g

pgrp

Identidad del grupo del proceso

G

tpgid

Identificación del grupo del proceso de la terminal

j

cutime

Tiempo acumulado del usuario

J

cstime

Tiempo acumulado del sistema

k

utime

Tiempo del usuario

K

stime

Tiempo del sistema

o

session

Identificación de la sesión

p

pid

Identificación del proceso

P

ppid

Identificación del proceso padre

R

resident

s

size

S

share

t

tty

T

start_time

U

uid

u

user

Nombre del usuario

v

vsize

Tamaño total de la memoria virtual en bytes

y

priority

Nombre completo del comando

Páginas residentes Tamaño de la memoria en kilobytes Cantidad de páginas compartidas El número menor del dispositivo de la terminal Tiempo transcurrido desde que el proceso arrancó Número de identificación del usuario

Prioridad de scheduling del kernel

Todos estos campos se ven o no, dependiendo de los parámetros con los cuales se ejecute el comando ps. Existe, sin embargo, una forma muy útil de ejecutarlo con el parámetro -ef que combinado con el comando grep ayuda a buscar un comando para ver si está en ejecución o no, usando su nombre. Por ejemplo, si queremos averiguar si el programa Netscape está en ejecución o no, daríamos el comando así:

Instalación, configuración y uso del sistema operacional _ imprimible

61 de 105

ps -ef|grep mozilla El carácter | se refiere a lo llamado en Unix - Linux pipe o tubería. En este caso lo que significa todo el comando es: ejecute ps -ef que significa que queremos que nos muestre todos los procesos. Pase el resultado al comando grep (para eso es el pipe o tubería |) el cual sólo muestra aquellos renglones que contienen la cadena de caracteres mozilla. Bastaría con moz o mozill.

¡¡Fíjese lo importante del concepto del pipe o tubería!!

3.2.4 Ciclo de vida de un proceso Todo proceso, excepto el primero llamado init, tiene un proceso padre que se encarga de ejecutarlo. El nuevo proceso será llamado un proceso hijo y aunque depende del proceso padre, tendrá su propio número de identidad. Este proceso se carga a memoria creando una copia de él mismo con un procedimiento llamado forking. El proceso de cargarlo a memoria y llenar su espacio de trabajo se hace debido a una llamada al sistema cuyo nombre es exec. El nuevo programa hereda propiedades del proceso padre como por ejemplo, las variables de ambiente, las asignaciones de las entradas, salidas y mensajes de errores estándar y las prioridades de ejecución. El primer proceso se llama init y tiene el PID o Número de Identidad de Proceso 1 y se crea dentro del proceso llamado boot o arranque el cual se explica en otra sección de este curso. Init a su vez crea otros procesos. Entre ellos están los que ejecuta el programa getty el cual despliega para cada pantalla el prompt de login o de entrada y espera a que un usuario entre su cuenta para entrar al sistema. Cuando esto ocurre, el sistema, valida esa contraseña y su clave correspondiente, usando el programa llamado login. Una vez que esto ocurre exitosamente, login ejecuta el shell del usuario. El shell es el conjunto de programas que se identifican como los comandos del sistema. Cuando un proceso se termina, este envía una señal a su proceso padre diciéndole que se terminó. Por ejemplo, cuando un usuario hace logout, o sea, que le dice al sistema que va a salir de él, el shell envía una señal a su proceso padre init y muere. Init crea entonces un nuevo proceso de getty para esa terminal y se repite el ciclo.

Instalación, configuración y uso del sistema operacional _ imprimible

62 de 105

3.2.5 ACTIVIDADES DE APRENDIZAJE 1. Probar el comando ps o Ejecutar el programa vi o Observar que la tarea esté ejecutándose: ps -ef|grep vi o Matar la tarea: kill nro (nro es el número de la tarea que se vio al ejecutar ps) o Verificar que ya no existe como tarea: ps -ef|grep vi

2. Indagar sobre mozilla o Averiguar en qué parte del sistema está mozilla el navegador: whereis mozilla o Aparecen varios directorios. ¿Está /usr/bin/mozilla? o Ejecutar mozilla desde una pantalla en foreground: /usr/bin/mozilla La pantalla debe quedar atrapada y debe aparecer mozilla. o Desde otra terminal averiguar el número de la tarea: ps -ef|grep mozilla o Matar la tarea: kill nro de la tarea o Observar que la terminal desde donde la ejecutó, se libera 3. Abrir tres terminales y ejecutar estos comandos: Terminal 1: xeyes Terminal 2: xeyes Terminal 3: ps -ef|grep xeyes a) ¿Cuántas tareas aparecen de xeyes: 0, 1, 2, 3, o 4? 2 b) ¿Las terminales uno y dos quedan atrapadas? si 4. En la terminal 3 matar la tarea de la terminal 1 kill nro (nro es el número de la tarea de de la terminal 19) Averiguar sobre las tareas: ps -ef|grep xeyes a) ¿La terminal 1 se libera? b) ¿Siguen apareciendo las dos tareas? a) si b) no 5. Antes de hacer esta evaluación, mate la tarea de la terminal 2 Ejecute xeyes en la terminal 1 La terminal queda atrapada Teclee: De Ctrl c ¿Desaparecen los ojos? si 6. Ejecute xeyes en la terminal 1 La terminal queda atrapada Teclee: De Ctrl Z a) ¿Desaparecen los ojos?

Instalación, configuración y uso del sistema operacional _ imprimible

63 de 105

b ¿Se mueven? a) b) no

no

7. Antes de esta evaluación, mate la tarea de xeyes Ejecute xeyes en la terminal 1 en background dos veces: xeyes & La terminal no queda atrapada Liste las tareas en background: jobs -l Para la tarea de la terminal 1: kill -s SIGSTOP nro (nro es el número del job de esa tarea) a) ¿Desaparecen los ojos de la tarea? b) ¿Se opacan? a) no b) si 3.2.6 Autoevaluación 1. Una tarea ejecutada en background libera la terminal y la tarea se ejecuta en memoria. Para saber cuáles tareas están en background se usa el comando: a) b) c) d)

fg jobs -l kill -s SIGSTOP kill Nro tarea

b 2. Una tarea ejecutada en background libera la terminal y la tarea se ejecuta en memoria. Para ponerlas en foreground se usa el comando: a) fg b) jobs -l c) kill -s SIGSTOP d) kill Nro tarea a 3. Una tarea ejecutada en background libera la terminal y la tarea se ejecuta en memoria. Para cancelarlas se usa el comando: a) fg b) jobs -l c) kill -s SIGSTOP d) kill Nro tarea d

4. Una tarea ejecutada en background libera la terminal y la tarea se ejecuta en memoria. Para cancelarlas se usa el comando: a) fg b) jobs -l c) kill -s SIGSTOP d) kill Nro tarea d

Instalación, configuración y uso del sistema operacional _ imprimible

64 de 105

5. Una tarea ejecutada en background libera la terminal y la tarea se ejecuta en memoria. Para detener la tarea usamos el comando: a) fg b) jobs -l c) kill -s SIGSTOP d) kill Nro tarea c 3.3 SISTEMA DE ARCHIVOS En la primera parte hablaremos de los usuarios pues para manejar el sistema, debemos saber cómo crearlos. 3.3.1 Cuentas de usuarios. Cuando se hizo la instalación de Linux, el sistema nos solicitó algunos datos relacionados con usuarios, como la contraseña de root y el nombre y contraseña de un usuario diferente, para poder entrar al sistema, pero, no sabemos qué implicaciones tuvo, dentro del sistema, el proceso de creación de esos usuarios. Como tendremos que crear nuevos usuarios en el proceso de utilización de Linux, es importante conocer el manejo que internamente hace el sistema cuando estos se crean, para lo cual, a continuación, se definirán los siguientes conceptos: o o o o o o o o o

clave-contraseña root. Prompt Directorio raíz UID GID /etc/passwd /etc/group shell

Así mismo, se revisará la creación de usuarios propiamente dicha. clave-contraseña Una vez que se entra a un sistema Linux, este solicita al usuario la contraseña de entrada, o el login como se denomina en inglés el cual debe corresponder a una clave o password asignado en el momento de crear la cuenta en el sistema. Esta pareja, clave-contraseña aseguran que sólo entren usuarios autorizados y a cada uno se le dan únicamente los permisos correspondientes a sus derechos para usar el sistema. La persona que otorga estos derechos se llama el Administrador del Sistema. A él se le asigna una clave-contraseña en el proceso de instalación del sistema. root La clave maestra del administrador del sistema se llama root. Y la contraseña será la que se le haya indicado a Linux en el momento de instalar el sistema, o la que se determine después en una sesión de administración de cuentas de usuarios.

Instalación, configuración y uso del sistema operacional _ imprimible

65 de 105

El usuario root es muy poderoso y peligroso a la vez puesto que él puede hacer lo que quiera con el sistema. Tanto es así, que la mayoría de ataques a la seguridad de un sistema se hacen simplemente averiguando la contraseña de root para entrar y hacer cambios como, por ejemplo, cambiar los permisos de acceso. En otros casos, el entrar a un sistema como root hace que, por error del administrador, se borren archivos claves del sistema operacional y que sólo pueden ser borrados por root. La conclusión es que se debe tener mucho cuidado al entrar como root. Prompt Al cargar Linux bajo entorno no gráfico, aparece la palabra:

login Frente a ella se debe entrar la cuenta del usuario, a continuación solicita: password Si la pareja login-password no corresponde a un usuario válido, el sistema da el mensaje: login incorrect Y si la pareja es correcta, el sistema dará entrada a ese usuario mostrando lo que se llama el prompt de Linux así: [root@linux /root]#

root El carácter @ La palabra linux /root

es la clave del usuario que acaba de entrar es un separador se refiere al dominio se refiere al directorio raíz de ese usuario

Observe lo que contiene este prompt : [root@linux /root]#

Directorio raíz Linux contiene en su sistema de archivos, una serie de directorios dentro de los cuales se situarán los diferentes archivos y programas del sistema y del usuario. Son numerosos y posteriormente hablaremos de cada uno de ellos. Por ahora diremos que un directorio importante es el que le corresponde al usuario, el cual se denomina según el nombre de la clave. El usuario root, sin embargo, tiene un tratamiento especial. Con este preámbulo les contamos que cuando el usuario root entra al sistema, este se posiciona en el directorio /root y cuando otro usuario lo haga con su cuenta, se

66 de 105

Instalación, configuración y uso del sistema operacional _ imprimible

posicionará sobre el directorio: /home/cuenta . Así, si el usuario que entra se llama pedro, Linux lo dejará ubicado en /home/pedro Este es el primer intento de seguridad ya que ese usuario sólo tendrá permiso para escribir y ejecutar programas sobre ese directorio.

Una vez estemos dentro del sistema como usuario root, demos un comando para ver el contenido del directorio raíz o sea en /root. Así como en DOS este comando es DIR, en Linux es ls. Con el tiempo iremos viendo que, en general, los comandos no son los más amigables, ni claros, pero sí poderosos. Veamos como se ve el comando ls. [root@linux /root]# ls Desktop Office51 texput.log [root@linux /root]#

core

Nos dice que los directorios nsmail archivos que hay en /root son: Desktop Office51 texput.log

core

o

nsmail

UID Los usuarios de un sistema Unix - Linux se identifican por un nombre de usuario o en inglés username o login name. Cuando se crea uno nuevo en el sistema, este le asigna un número de identificación único llamado UID por medio del cual el sistema lo identifica internamente. También, a cada usuario le asigna una clave o password con la cual se debe identificar en el momento de ingresar al sistema. Si estos dos datos no corresponden, entonces, el sistema no lo acepta. Una vez que acepta su entrada, lo ubica en el directorio raíz del usuario que normalmente es /home/nombre de usuario. GID El usuario debe pertenecer a un grupo determinado pues esto permite definir los permisos que tendrá en muchos de los archivos del sistema. Los grupos se definen con un nombre y un Número de Identificación del Grupo llamado GID. /etc/passwd El sistema, a medida que se crean nuevos usuarios, va creando registros de datos en un archivo del sistema llamado /etc/passwd en el cual almacena todos los elementos del usuario incluyendo su clave en forma encriptada.

/etc/group Así mismo se debe mantener un archivo con los nombres de los diferentes grupos de usuarios. Cada usuario debe pertenecer a un grupo de tal manera que de acuerdo con el

Instalación, configuración y uso del sistema operacional _ imprimible

67 de 105

grupo al cual pertenece se definen los permisos de acceso a muchos de los archivos del sistema. Este archivo se llama /etc/group Shell La shell define el conjunto de comandos que puede usar ese usuario. Para ver un ejemplo de creación de cuentas de usuarios.pdf, donde podrá comprobar la teoría que acaba de estudiar, dé clic aquí ♣

Creación de un usuario

Cuentas de usuarios La manera de crear un usuario en Linux es a través del comando adduser o useradd el cual se usa así: adduser nombre del usuario Si el sistema dice que no lo encuentra es porque no está en el PATH así que pregúntele whereis useradd o whereis useradd y él le dirá en qué directorio se encuentra.

Sólo root puede usar este comando Por ejemplo: adduser juan

crea al usuario juan.

Para crear la clave de seguridad de juan se usa el comando passwd juan y el sistema solicita la clave dos veces para estar seguro, es decir, que no haya errores. Veamos la secuencia completa: Para crear al usuario juan: [root@linux log]# adduser juan Para crearle la contraseña al usuario juan: [root@linux log]# passwd juan El sistema contesta: Changing password for user juan New UNIX password: Dar el password BAD PASSWORD: it does not contain enough DIFFERENT characters Retype new UNIX password: Repetir el password passwd: all authentication tokens updated successfully

Como se puede observar, el sistema solicita dos veces la clave. No se preocupe del mensaje que dice:

Instalación, configuración y uso del sistema operacional _ imprimible

68 de 105

BAD PASSWORD: it does not contain enough DIFFERENT characters Simplemente, es un mensaje para recordar que la clave no es muy buena para efectos de seguridad del sistema, debido a que no tiene muchos caracteres diferentes. Sin embargo, deja continuar con el proceso.

Al terminar la creación del usuario, se actualizan los registros de /etc/passwd y /etc/group Mírelos con cat /etc/passwd y cat /etc/group Así como es necesario crear nuevos usuarios, también se necesita poder borrarlos del sistema. El comando es userdel usuario. Por ejemplo para borrar al usuario juan se da el siguiente comando: userdel juan

Actividad de Aprendizaje Haga la prueba de crear uno y mire /home/usuario con el comando ls /home/usuario en donde usuario es el login del usuario creado.

EJEMPLO DE CREACIÓN DE CUENTAS DE USUARIOS A continuación se presenta un ejemplo de cómo se listan /etc/pasword y /etc/group con las explicaciones detalladas de cada uno de sus componentes, lo cual permitirá ver la aplicación práctica de cada definición estudiada. Se listará el contenido de /etc/password para conocer qué información almacenó el sistema allí. Para eso se usa el comando cat como se ve en el siguiente comando: [root@linux /root]# cat /etc/passwd

Cuando se le da el comando anterior, el archivo /etc/passwd se ve como aparece a continuación, donde habrá un registro por cada usuario: root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin: adm:x:3:4:adm:/var/adm: lp:x:4:7:lp:/var/spool/lpd: sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt

Instalación, configuración y uso del sistema operacional _ imprimible

69 de 105

mail:x:8:12:mail:/var/spool/mail: news:x:9:13:news:/var/spool/news: uucp:x:10:14:uucp:/var/spool/uucp: operator:x:11:0:operator:/root: games:x:12:100:games:/usr/games: gopher:x:13:30:gopher:/usr/lib/gopher-data: ftp:x:14:50:FTP User:/home/ftp: nobody:x:99:99:Nobody:/: gdm:x:42:42:: /home/gdm:/bin/bash xfs:x:100:233:X Font Server:/etc/X11/fs:/bin/false manuel:x:500:500:Manuel Davila:/home/manuel:/bin/bash rodris:x:501:501:: /home/rodris:/bin/bash Para ver detalladamente el significado de los campos de este archivo se escoge uno de ellos, por ejemplo: manuel:x:500:500:Manuel Davila:/home/manuel:/bin/bash Cada campo en esta línea se explica en la tabla: Campo manuel:

Descripción Corresponde al nombre del usuario (login) Campo usado por el sistema para almacenar la clave o contraseña en x: forma encriptada 500: Número del usuario, UID 500: Número del grupo, GID Manuel Dávila: Nombre completo del usuario /home/manuel: Directorio raíz del usuario shell asignada por defecto al usuario. La shell define el conjunto de /bin/bash: comandos que puede usar ese usuario

Se listará el contenido de /etc/group para conocer qué información almacenó el sistema allí. Para eso se usa el comando cat como se ve en el siguiente comando: [root@linux /root]# cat /etc/group Cuando se le da el comando anterior, el archivo /etc/group se ve así y, allí aparecerá un registro por cada grupo: root::0:root bin::1:root,bin,daemon daemon::2:root,bin,daemon sys::3:root,bin,adm [root@linux log]# cat /etc/group root::0:root bin::1:root,bin,daemon

Instalación, configuración y uso del sistema operacional _ imprimible

70 de 105

daemon::2:root,bin,daemon sys::3:root,bin,adm adm::4:root,adm,daemon tty::5: disk::6:root lp::7:daemon,lp mem::8: kmem::9: wheel::10:root mail::12:mail news::13:news uucp::14:uucp man::15: games::20: gopher::30: dip::40: ftp::50: nobody::99: users::100: floppy:x:19: console:x:101: gdm:x:42: utmp:x:102:

Los campos de cada renglón de este archivo son: Nombre del grupo: Contraseña: Número de Identificación del grupo: Lista de los usuarios que pertenecen a este grupo Al examinar el archivo /etc/group se pueden ver varios nombres de grupos algunos de los cuales son usuarios estándares de Linux. Veamos qué significado y potencial de proceso tiene cada uno:

root: bin: Daemon: sys: adm: uucp: nobody:

Es el superusuario, el que tiene permisos para todas las opciones que estén por encima de la seguridad de los archivos y directorios Agrupa todos los comandos de los usuarios Se usa para ejecutar los diferentes sistemas de servicios y garantiza que estos corran con todos los permisos necesarios Se apropia de archivos del sistema Se apropia de archivos de contabilidad del sistema y de los archivos históricos (log) y archivos de datos del sistema Cuenta del grupo de usuarios relacionados con uucp que es la utilidad de copia Unix to Unix para intercambio de archivos remotos Grupo usado para el manejo de NFS que es el programa de Sun Microsystems

Instalación, configuración y uso del sistema operacional _ imprimible

71 de 105

para poder acceder a sistemas de archivos entre máquinas remotas

3.3.2 Intérprete de comandos

El intérprete de comando es como un traductor que recibe un comando desde una terminal y lo ejecuta Los usuarios de DOS pueden recordar el famoso programa command.com que permitía ejecutar comandos DOS desde el teclado. Pues bien, en Linux sucede lo mismo y tiene, naturalmente, numerosos comandos disponibles para el usuario. Pero antes de entrar a conocerlos, estudiemos un poco sobre cómo funciona este intérprete de comandos. Trabajemos este tema usando un comando muy sencillo que copia un archivo sobre otro, es el comando cp cp archivo1 archivo2 El cual copia el archivo1 sobre el archivo2, dejando intacto el archivo origen (el archivo1). Por ejemplo: - Frente al prompt del sistema: [root@linux /root]# - Demos un comando como cp archivo1 archivo2 [root@linux /root]# cp archivo1 archivo2 El sistema nos responderá: cp: archivo1: No such file or directory Avisa que el comando cp que está intentando usar el usuario, sí existe, pero el archivo llamado archivo1 no existe en el directorio. Tratemos de dar el comando con un error. Por ejemplo en lugar de cp tecleemos ce [root@linux /root]# ce archivo1 archivo2 bash: ce: command not found En este caso el interprete de comandos, que en Linux se llama bash, nos dice que no encuentra el comando ce dentro del sistema. Y, por último, si existiera el archivo archivo1 el sistema lo copiaría sobre el archivo2.

Actividad de Aprendizaje Vaya a su home, ¿recuerda? (cd /home/usuario) y, cree un archivo vacío con el

Instalación, configuración y uso del sistema operacional _ imprimible

72 de 105

3.3.3 Archivos y directorios Los datos se almacenan dentro del disco duro del computador bajo el mismo concepto de un archivador que tiene cajones y fólderes. El archivador es el disco duro, los cajones son los directorios y los fólderes -que contienen los papeles que van dentro de ellos- son los archivos Los archivos son contenedores de datos o de programas. En Linux se habla de archivos y esta palabra incluye todos sin diferenciar si son datos o programas. La única diferencia es que los programas son archivos con permisos de ejecución y naturalmente contendrán código ejecutable y, los directorios son como carpetas en donde se almacenan otros directorios llamados subdirectorios y archivos. Veamos los directorios de Linux desde el directorio raíz llamado / Pasemos a ese directorio con el comando cd / cd significa change directory o sea cambio de directorio Luego demos el comando ls -l El cual lista los directorios. La salida de este comando se verá así:

total 986 -rw-r--r-- 1 root root 0 Dec 5 00:12 archivo -rwxr--r-- 1 root root 28160 Nov 28 18:18 archivo.doc drwxr-xr-x 2 root root 2048 Nov 13 17:43 bin drwxr-xr-x 2 root root 1024 Nov 28 19:11 boot -rw------- 1 root root 905216 Nov 28 19:09 core drwxr-xr-x 5 root root 34816 Dec 4 22:23 dev drwxr-xr-x 16 root root 1024 Dec 4 23:21 especiales drwxr-xr-x 31 root root 3072 Dec 4 22:23 etc drwxr-xr-x 6 root root 1024 Nov 28 19:09 home drwxr-xr-x 4 root root 3072 Nov 13 17:39 lib drwxrwxrwx 2 root root 1024 Nov 29 21:25 listados drwxr-xr-x 2 root root 12288 Nov 13 17:28 lost+found drwxr-xr-x 4 root root 1024 Nov 13 17:29 mnt drwxr-xr-x 3 root root 1024 Nov 14 00:55 opt dr-xr-xr-x 85 root root 0 Dec 4 17:22 proc drwxr-x--- 18 root root 1024 Dec 4 23:46 root drwxr-xr-x 3 root root 2048 Nov 13 17:44 sbin drwxrwxrwt 22 root root 2048 Dec 4 23:21 tmp drwxr-xr-x 21 root root 1024 Nov 27 16:13 usr drwxr-xr-x 17 root root 1024 Nov 13 17:44 var

Instalación, configuración y uso del sistema operacional _ imprimible

73 de 105

Todavía no entremos en el detalle de todo lo que significa esta información. Simplemente, miremos al lado derecho del listado y encontraremos una serie de nombres como: bin, boot, core, dev, especiales, etc y muchos más. Al lado izquierdo se puede observar la letra d en algunos de ellos lo cual significa que son directorios. En donde no existe letra es porque son archivos. Estos son los directorios que contiene el disco de Linux. Y de todos ellos existen los directorios propios de Linux sobre los cuales vamos a hablar ahora. ♣

Los directorios de Linux



Archivos y directorios Cuando se instala Linux en un computador, se crea una serie de directorios que tienen una razón de ser y que constituyen el entorno de trabajo del sistema operacional. Allí residen todos los archivos del sistema. Existen unas normas de estandarización para que estos directorios sean siempre los mismos y en cada uno de ellos se almacenen archivos con significados claros y orientadores. Entremos a explicar algunas de ellas, a manera informativa: /bin: Aquí se almacenan archivos ejecutables. Entre otros, acá residen los comandos del interpretador de comandos, o sea que, al ejecutar un comando como cp para copiar archivos, el sistema busca ese comando en el directorio /bin. /home: Es el directorio raíz de los usuarios. Cuando un usuario nuevo se crea en el sistema, Linux le crea un directorio en /home/nombre del usuario. Si el usuario nuevo se llama pedro, entonces crea el directorio raíz de él en /home/pedro Los dispositivos de archivo como son los disquetes, el CD-ROM y los /mnt: sistemas de archivos o discos duros no se denominan con letras como en otros sistema operacionales en los cuales se dice que el disco duro es la unidad c: o el disquette está en a: y el CD-ROM en e. En su lugar en el momento de MONTAR un dispositivo como un CD-ROM por ejemplo, se le indica a Linux que el contenido de él se puede ver yendo al directorio /mnt/cdrom. El disquete se podrá ver en /mnt/floppy y así sucesivamente. Aunque se le puede indicar otro directorio diferente a /mnt, se usa en general /mnt para el montaje de estos dispositivos. La palabra montar viene del hecho de que el comando que hace que ese dispositivo sea visible al sistema operacional se llama mount. Más adelante se entra en detalle sobre este comando. En las nuevas versiones de Linux como Fedora se usa /media en lugar de /mnt /proc: Este directorio es muy interesante y muy propio de Linux. Allí crea una serie de directorios y archivos que informan respecto al hardware sobre el cual se instaló el sistema. Hay archivos como meminfo que, al listarlo con cat, meminfo nos muestra la memoria con la cual contamos. El archivo cpuinfo nos da información sobre la CPU del equipo. Y así sucesivamente. Pero, ¿cómo ver el contenido de un archivo?

Instalación, configuración y uso del sistema operacional _ imprimible

74 de 105

Localicémonos en el directorio /proc cd /proc Miremos el contenido de /proc ls 1 1149 1188 337 467 525 556 apm ioports net tty 101 1151 1190 355 468 539 569 bus kcore partitions uptime 1033 1155 1191 369 469 542 584 cmdline kmsg pci version 1034 1163 1192 383 470 543 595 cpuinfo ksyms rtc 1065 1165 1279 397 471 544 634 devices loadavg scsi 1068 1171 2 4 472 545 635 dma locks self 1073 1183 251 411 473 546 636 fb mdstat slabinfo 1086 1184 298 429 474 547 637 filesystems meminfo sound 1108 1185 3 440 475 548 638 fs misc stat 1114 1186 309 451 5 549 639 ide modules swaps 1146 1187 323 466 510 550 641 interrupts mounts sys

Veamos el contenido del archivo meminfo usando el comando cat: cat meminfo Se verá así:

[root@linux /proc]# cat meminfo total: used: free: shared: buffers: cached: Mem: 64716800 63049728 1667072 61018112 1339392 34762752 Swap: 139821056 5959680 133861376 MemTotal: 63200 kB MemFree: 1628 kB MemShared: 59588kB Buffers: 1308 kB Cached: 33948 kB SwapTotal: 136544 kB SwapFree: 130724 kB

Como se puede observar, en este archivo aparecen todos los datos relacionados con la memoria del computador, además, hemos aprendido que el comando cat nos deja ver el contenido de un archivo. Continuemos con la descripción acerca de cómo se almacenan archivos: /sbin

Directorio que contiene programas adicionales del sistema que no pertenecen al interpretador de

Instalación, configuración y uso del sistema operacional _ imprimible

/usr /boot

/dev

75 de 105

comandos Directorio que contiene archivos de los usuarios El sistema de arranque de Linux y, en general, de cualquier sistema operacional, consiste en ejecutar por hardware un primer programa que carga el núcleo a la memoria del computador. Ese sistema de arranque precisa buscar el núcleo y otro tipo de información necesaria en alguna parte del disco duro. Y, es en este directorio /boot en donde está toda esa información. En capítulos posteriores sobre el proceso de arranque de Linux, se habla sobre Grub y Lilo o Linux Loader en más detalle. En la explicación del directorio /mnt comentamos algo sobre cómo es que Linux reconoce los dispositivos como el cdrom, el floppy, los sistemas de archivos y otros, decíamos allí que existe un comando llamado mount el cual MONTA o hace que los dispositivos sean visibles a los ojos de Linux. Pues bien, estos dispositivos del hardware son manejados por un software llamado manejadores o, drivers en inglés, y residen en este directorio llamado /dev. La sigla dev viene de la palabra en inglés device o dispositivo. Para los ansiosos, les adelantamos un ejemplo. Veamos la manera como se le dice a Linux que monte el CD-ROM.

El comando de montaje es así: Ponga un CD en el dispositivo y dé este comando: mount /dev/cdrom /media/cdrecorder ´ Él le dice a Linux: monte el manejador de CD-ROM que es un software que reside en el directorio /dev/cdrom y haga visible el contenido del CD-ROM en el directorio /media/cdrecorder o sea, que si un usuario va al directorio /media/cdrecord con el comando cd /media cdrecord y lista su directorio con el comando ls verá los directorios y archivos del CD-ROM, podrá navegar en él y usar su contenido. Continuemos con la descripción acerca de cómo se almacenan archivos:

Instalación, configuración y uso del sistema operacional _ imprimible /etc

/lib /lost+found

/opt

/root /tmp /var

76 de 105

Es el directorio de configuración. Los diferentes programas de Linux deben ser configurados de acuerdo con las necesidades propias de los usuarios o las características del hardware que se tenga. La convención universal de Linux es que cada programa tenga un archivo de configuración en donde se especifiquen los detalles de cada caso. Esos archivos residen en el directorio /etc. A lo largo del curso va a ser frecuente que nos remitamos a /etc para estudiar los archivos de configuración. Existe un capítulo dedicado a la ubicación de estos archivos para los programas más importantes de Linux. Directorio de librerías del sistema El concepto de lost+found se refiere a archivos que han sufrido algún daño y el sistema descubre que el archivo existe en el disco pero que no tiene una conexión con el directorio del disco duro. Este descubrimiento se hace al arrancar el sistema, cuando se ejecuta el programa fsck. La manera de conectar ese archivo perdido es colocándolo en un directorio llamado /lost+found. Existe uno de estos para cada sistema de archivo creado Es muy común que programas externos que se instalen en Linux queden almacenados en el directorio /opt Es el directorio raíz para el usuario root Directorio para archivos temporales de Linux Aquí residen archivos de tipo variable o volátil como pueden ser los archivos que usa el sistema de impresión, el cual no saca los listados directamente a la impresora sino a unos archivos temporales que residen en var/spool. También es común encontrar aquí los archivos llamados de bitácora o sea aquellos en los que el sistema va grabando de manera acumulativa con mensajes de errores, con mensajes durante el proceso de arranque, por ejemplo.

3.3.4 Más comandos. Como vimos ya, los directorios son una parte fundamental del diseño de Linux y naturalmente debemos aprender a viajar por ellos para hacer uso de los diferentes programas que allí residen. La manera de ir a un directorio es a través del comando cd, sigla de change directory. Este comando nos permite ir a donde queramos. Su sintaxis es: cd directorio y el argumento directorio se refiere al directorio a donde queramos viajar. 3.3.5 Navegar por los directorios

Instalación, configuración y uso del sistema operacional _ imprimible

77 de 105

Una vez creados los directorios y sus archivos, el usuario puede navegar dentro de ellos utilizando comandos especiales

Existe la manera de indicar un directorio absoluto y uno relativo. El absoluto hace que se vaya allí directamente y el relativo que se vaya a un directorio que está dentro del directorio actual. Para manejar mejor las explicaciones que siguen nos será de utilidad conocer la existencia de un comando que muestra en cuál directorio se está en determinado momento. Se trata de pwd. Al dar este comando, el sistema nos muestra el directorio actual. Probémoslo: [root@linux /root]# pwd /root Observemos: al dar pwd en este ejemplo, el sistema dice que estamos en el directorio /root Viajemos al directorio /etc de manera absoluta con el comando cd /etc Y veamos su contenido con el comando ls -l Allí se verán todos sus directorios y archivos.

Existe un directorio llamado X11 el cual se usará como ejemplo para entender con mayor claridad el proceso de navegación entre directorios absolutos y relativos. Si queremos viajar de manera relativa a X11 basta decirle a Linux: cd X11 Nótese que no le precede un / a X11 Esa es la forma de decirle que vaya a un directorio de manera relativa, es decir, vaya a X11 que está en el mismo directorio actual que es, en este caso, /etc. Naturalmente que si dentro de ese directorio (etc en este caso) no existe el directorio relativo que buscamos, el sistema dará un mensaje de error: [root@linux /etc]# cd X11 [root@linux X11]# pwd /etc/X11 Nótese también cómo el prompt va mostrando en dónde vamos [root@linux X11]

Instalación, configuración y uso del sistema operacional _ imprimible

78 de 105

A veces es necesario viajar hacia atrás. Por ejemplo, para pasar de /etc/X11 a /etc, basta con decirle a Linux: cd .. Ejemplo: [root@linux X11]# cd .. [root@linux /etc]# pwd /etc [root@linux /etc]#

3.3.10 Mirar el contenido de los directorios

Una vez identificado un archivo, existen comandos para poder ver su contenido El comando que permite mirar el contenido de los directorios ya lo hemos usado, es ls, y entraremos en detalle. Coloquémonos en el directorio raíz / con el comando: cd /

Y demos ls simple: ls

Veamos la secuencia de comandos y sus resultados: [root@linux /]# cd / [root@linux /]# ls archivo bin core especiales home listados mnt proc sbin usr archivo.doc boot dev etc lib lost+found opt root tmp var [root@linux /]# Los archivos y directorios que muestra son los existentes en el equipo de cada usuario, por lo tanto, habrá algunas diferencias en los contenidos Como se puede observar, aparecen los nombres de los archivos y directorios del directorio raíz / con el leve inconveniente de no conocer cuáles de ellos son directorios y cuáles archivos. Saberlo es de utilidad. Ahora usemos el mismo comando pero con el parámetro -F o sea: ls -F

Instalación, configuración y uso del sistema operacional _ imprimible

79 de 105

Veremos lo siguiente: [root@linux /]# ls -F archivo boot/ especiales/ lib/ mnt/ root/ usr/ archivo.doc* core etc/ listados/ opt/ sbin/ var/ bin/ dev/ home/ lost+found/ proc/ tmp/ [root@linux /]#

Ahora, sabremos que los que tienen un / a la derecha son directorios y los que no lo tienen son archivos

Demos el comando ls -l Veremos lo siguiente: total 988 -rw-r--r-- 1 root root 1227 Dec 5 00:12 archivo -rwxr--r-- 1 root root 28160 Nov 28 18:18 archivo.doc drwxr-xr-x 2 root root 2048 Nov 13 17:43 bin drwxr-xr-x 2 root root 1024 Nov 28 19:11 boot -rw------- 1 root root 905216 Nov 28 19:09 core drwxr-xr-x 5 root root 34816 Dec 5 10:47 dev drwxr-xr-x 16 root root 1024 Dec 4 23:21 especiales drwxr-xr-x 31 root root 3072 Dec 5 10:47 etc drwxr-xr-x 6 root root 1024 Nov 28 19:09 home drwxr-xr-x 4 root root 3072 Nov 13 17:39 lib drwxrwxrwx 2 root root 1024 Nov 29 21:25 listados drwxr-xr-x 2 root root 12288 Nov 13 17:28 lost+found drwxr-xr-x 4 root root 1024 Nov 13 17:29 mnt drwxr-xr-x 3 root root 1024 Nov 14 00:55 opt dr-xr-xr-x 85 root root 0 Dec 5 05:46 proc drwxr-x--- 18 root root 1024 Dec 5 10:49 root drwxr-xr-x 3 root root 2048 Nov 13 17:44 sbin drwxrwxrwt 22 root root 2048 Dec 5 10:50 tmp drwxr-xr-x 21 root root 1024 Nov 27 16:13 usr drwxr-xr-x 17 root root 1024 Nov 13 17:44 var Al lado derecho aparece el nombre del directorio, pero como se puede observar, hay

80 de 105

Instalación, configuración y uso del sistema operacional _ imprimible

mayor cantidad de información que la contenida en la forma de presentación anterior. Veamos qué significa cada campo. Tomemos como referencia el último renglón el cual se refiere al directorio: /var: drwxr-xr-x 17 root root 1024 Nov 13 17:44 var

d: indica que se refiere a un directorio y si es un archivo no tiene nada en este campo. Este carácter tiene otras posibilidades que son las siguientes: b: c: d: l: p:

archivo especial de bloque archivo especial de carácter directorio encadenamiento simbólico named pipe

Por ahora ya sabemos que existen estas alternativas para identificar el archivo de tal manera que no nos vamos a sorprender cuando aparezcan. Los detalles vendrán posteriormente Ya

vimos

lo

que

indica

d,

sigamos

analizando

la

salida

del

comando:

/var: drwxr-xr-x 17 root root 1024 Nov 13 17:44 var rwxr-xr-x: indica los permisos que hay sobre el acceso a este directorio. Estos permisos están referidos a tres tipos de usuarios que pueden acceder este directorio: el usuario dueño del directorio, un usuario diferente pero del mismo grupo, y un usuario que pertenece a otro grupo. Las siglas rwx significan lectura (read), escritura (write), ejecución (execute) respectivamente. En nuestro ejemplo tenemos los permisos distribuidos así: /var: drwxr-xr-x 17 root root 1024 Nov 13 17:44 var

usuario dueño usuario del mismo grupo usuario de otro grupo

rwx r-x r-x

De esta manera Linux controla los permisos de acceso de un usuario que entra al sistema. En donde aparece r-x por ejemplo, significa que el usuario sólo tiene permiso de lectura (r) y de ejecución (x) pero no de escritura (w), pues el campo correspondiente a w tiene un 17: este es el número de encadenamientos que tiene el archivo a directorio. Los encadenamientos son un recurso de Linux para que un mismo archivo o directorio pueda

Instalación, configuración y uso del sistema operacional _ imprimible

81 de 105

tener acceso desde otro nombre diferente al propio. Se usa bastante para simplificar el acceso a archivos o directorios con nombres complicados o para estandarizar los nombres en un sistema de archivos. root: el primer campo que vemos aquí con el nombre root se refiere al dueño del archivo, es decir, a quien lo creó. root: el segundo campo en que aparece root se refiere al grupo al cual pertenece el usuario que lo creó. 1024: es el tamaño en bytes del archivo, que en el caso de los directorios no se refiere al tamaño de su contenido sino al espacio que ocupa en el disco como directorio. Nov 13 17:44: fecha: mes, día y hora de la última modificación. var: nombre del archivo o directorio. 3.3.11 Propiedad de los archivos Los archivos tienen propiedades, por ejemplo, un dueño, un tipo de archivo y unas características de seguridad Como hemos visto, los archivos tienen un dueño que es el usuario que los creó. Surge ahora una pregunta interesante, ¿cómo proceder para que otros usuarios puedan acceder a los archivos de terceros?, o visto al contrario, ¿cómo hacer para que yo, dueño de mis archivos, le de acceso a otros usuarios? La respuesta más apropiada es por la siguiente vía: cuando se crea un usuario en el sistema, este se hace pertenecer a los grupos que se desee. De esta manera si tenemos usuarios que pertenecen a grupos comunes, el acceso a los archivos se puede lograr a través de esos grupos comunes. Juguemos un poco y entremos a manejar los comandos que nos permiten cambiar los dueños de los archivos. Existen dos comandos de importancia: chown para cambiar el dueño de un archivo (change owner) y chgrp (change group) para cambiar el grupo al cual pertenece un archivo (o mejor, el usuario). Comencemos por mirar las características de un archivo llamado archivo usando ls -l: [root@linux /]# ls -l archivo -rw-r--r-- 1 root root 1227 Dec 5 00:12 archivo Si el archivo llamado archivo no existe en su equipo, crearlo vacío con >archivo

Instalación, configuración y uso del sistema operacional _ imprimible

82 de 105

Aquí podemos ver que este archivo tiene como propietario al usuario root y al grupo del mismo nombre. Asumimos que trabaja como root es decir, que entró a Linux con ese login. Cambiemos el nombre del usuario dueño para que el archivo pase a ser propiedad del usuario manuel. Asumimos que debió haber creado ese usuario. ¿Se acuerda? useradd manuel y passwd manuel Para poder hacerlo debemos entrar al sistema como root que es el usuario administrador. Si no, el sistema no deja hacer estos cambios. Si está trabajando en una terminal como usuario manuel por ejemplo, y desea pasarse a root debe teclear: su El sistema le pide el password o contraseña de root y queda como administrador. Si desea salir de nuevo a manuel debe dar: exit Cambiemos el dueño del archivo [root@linux /]# chown manuel archivo y veamos de nuevo sus características: [root@linux /]# ls -l archivo -rw-r--r-- 1 manuel root 1227 Dec 5 00:12 archivo

Ahora el dueño es manuel como queríamos, y el grupo sigue siendo root. Cambiemos ahora el grupo para que pertenezca no a root sino al grupo llamado adm: [root@linux /]# chgrp adm archivo [root@linux /]# ls -l archivo y veamos de nuevo sus características: -rw-r--r-- 1 manuel adm 1227 Dec 5 00:12 archivo Observe que cambio el grupo a adm Ahora volvamos a dejar el archivo como al principio o sea con root como propietario y root como grupo. No nos dejemos confundir por el hecho de que root sirva en este ejemplo para indicar el dueño y el grupo. Es pura coincidencia. Para hacer el cambio con una sola instrucción usamos otra modalidad del comando

83 de 105

Instalación, configuración y uso del sistema operacional _ imprimible chown: [root@linux /]# chown root.root archivo El parámetro root.root indica dueño.grupo Veamos cómo queda: [root@linux /]# ls -l archivo -rw-r--r-- 1 root root 1227 Dec 5 00:12 archivo

chown y chgrp sólo se pueden usar desde root o sea, es un comando privilegiado para el administrador del sistema. Por último, vale la pena anotar que existe una variación del comando chown y chgrp para cambiar todo un directorio, de dueño o de grupo, de manera recursiva. Por ejemplo, si queremos cambiar el dueño de todo el directorio llamado /prueba para que quede de propiedad del usuario manuel se debe dar el comando: chown -R manuel /prueba La -R se refiere a recursividad para que aplique el comando a todos los subdirectorios que dependen de ese directorio. 3.3.12 Protección de los archivos

Los archivos tienen unas propiedades de seguridad que permiten que su dueño decida quiénes lo pueden usar, bien sea para ser leídos, cambiados o ejecutados Una vez que los archivos están correctamente configurados desde el punto de vista del dueño, es necesario estipular los permisos de acceso a ellos. Es decir, estipular por quiénes pueden ser accedidos para ser leídos, modificados o ejecutados. La siguiente tabla nos amplía este concepto, pero se aclara que el significado de protección es diferente dependiendo de si se refiere a un archivo o a un directorio. Así, un permiso de lectura en un archivo indica si se puede leer desde un programa o un comando y, si es en un directorio, significa si se puede ver con el comando ls. Veamos este cuadro aclaratorio: Tipo de Significado en un archivo acceso

Significado en un directorio

r

Leer el archivo

Buscar en un directorio: ls

w

Escribir sobre un archivo

Alterar los directorio

x

Ejecutar un archivo

Pasarse a un directorio: cd

archivos

de

un

Instalación, configuración y uso del sistema operacional _ imprimible

84 de 105

El resumen de las protecciones dadas por rwx se explica en el siguiente cuadro: Acceso

Resultado de los permisos para usuarios normales

- - - No acceso

No permite ninguna actividad dentro del directorio o subdirectorio

r- - Sólo lectura

Permite listar los nombres de los archivos en un directorio pero no revela ninguno de sus atributos como tamaño, dueño u otro

- - x sólo ejecución

Permite ejecutar sólo los programas autorizados

r - x lectura ejecución

y Permite trabajar los archivos y programas del directorio, pero no acepta borrarlos

rwx Acceso de Permite hacer todo lectura, escritura y ejecución Las clases de acceso permiten precisar a qué usuarios se les está definiendo un permiso. Desde el punto de vista del dueño de una cuenta de usuario, existen tres clases de acceso. El mismo dueño: u (user); los usuarios que pertenecen al mismo grupo: g (group) del dueño de la cuenta y, los otros grupos: o (other) diferentes a root. Cuando nos queremos referir a todos se usa la sigla a (all). Recordemos las características de un archivo con el comando ls -l archivo -rw-r--r-- 1 root root 1227 Dec 5 00:12 archivo El primer grupo de caracteres es: -rw-r--r-Veamos esta cadena de caracteres como en tres clases:

-

Es la primera posición corresponde al tipo del archivo.

rw-

Estas tres posiciones definen los permisos para el usuario: u Estas tres posiciones definen los permisos para los grupos del usuario dueño: g Definen los permisos para los demás grupos de usuarios: o

r-r--

De esta manera, el dueño de un directorio o archivo puede definir para los demás usuarios del sistema, los permisos de acceso a sus datos. La manera de cambiar estos permisos es a través del comando chmod(Change mod) y,

Instalación, configuración y uso del sistema operacional _ imprimible

85 de 105

a él se le debe indicar a cuál tipo de acceso u, g, o se le aplica el cambio o, si a todos, por si fuera necesario: a Veamos un ejemplo: Cambiemos al archivo llamado archivo el permiso del usuario dueño u de rw- a rwx. Es decir, añadamos permiso de ejecución: [root@linux /prueba]# chmod u+x archivo [root@linux /prueba]# ls –l total 2 -rwxr--r-- 1 manuel adm 1227 Dec 5 11:52 archivo Observe que se ha cambiado el permiso. La explicación del comando chmod u+x archivo es: Cambie la protección correspondiente a accesos, hecha por el mismo usuario que creó el archivo llamado archivo, o sea u, adicionándole + el permiso de ejecución x Cambiemos ahora el permiso para los usuarios del mismo grupo: g de -r- a rwx es decir, demos todos los permisos. [root@linux /prueba]# chmod g+rwx archivo Observe que a chmod se le dice que el tipo de acceso que vamos a cambiar es g o sea los del mismo grupo + para indicar que se debe agregar y luego el trío de seguridad rwx. [root@linux /prueba]# ls -l total 2 -rwxrwxr-- 1 manuel adm 1227 Dec 5 11:52 archivo Ahora hagamos lo mismo para los permisos de acceso para los otros usuarios que no son del mismo grupo: o: [root@linux /prueba]# chmod o+rwx archivo [root@linux /prueba]# ls -l total 2 -rwxrwxrwx 1 manuel adm 1227 Dec 5 11:52 archivo Y, por último, cambiemos el control de acceso a todos, o sea, al usuario dueño u, a los del mismo grupo g, a los otros o para que sólo tengan acceso de lectura r-- con un único comando: [root@linux /prueba]# chmod a-wx archivo Observe que aparece a-wx. Esto significa que a todos los tipos de acceso (a: all) se les quite (-) wx. [root@linux /prueba]# ls -l total 2 -r--r--r-- 1 manuel adm 1227 Dec 5 11:52 archivo

Instalación, configuración y uso del sistema operacional _ imprimible

86 de 105

Otra alternativa de este comando es la de cambiar, a diferencia de agregar o quitar, todo el grupo de protección. Por ejemplo, digámosle a Linux que coloque sólo protección de lectura a todos los tipos de acceso con una única instrucción: [root@linux /prueba]# chmod a=r archivo Observe el parámetro a=r. Significa que le coloque a todos los tipos de acceso (a) el permiso r solamente. [root@linux /prueba]# ls -l total 2 -r--r--r-- 1 manuel adm 1227 Dec 5 11:52 archivo

3.3.9 Especificaciones numéricas de los modos de seguridad. Tal como se ha visto, la seguridad se expresa en permisos de lectura (r), escritura (w) y ejecución (x) para los tres grupos de usuarios: el propio, los del grupo y los otros. Esta forma de expresar la seguridad se puede hacer de manera numérica reemplazando los equivalentes binarios de cada terna. Por ejemplo, si los permisos del usuario son rwx se reemplaza por 111 que en decimal es el número 7. Si la terna es r-x se reemplaza por 101 o sea 5. Es decir que se reemplaza por un uno binario, cuando existe la especificación y, por cero, si no existe. Veamos el siguiente ejemplo en donde la seguridad es rwxr-xr— Usuario

Grupo

Otros

rwx

r-x

r--

111

101

100

7

5

4

El resultado de la tabla anterior es que podemos especificar la seguridad como 754. Entonces aparece otra manera de cambiar la seguridad de un archivo. Para el ejemplo, vamos a crear un archivo sin datos usando el comando > archivo1 [root@linux /]# >archivo1 [root@linux /]# ls -l archivo1 -rw-r--r-- 1 root root 0 Jul 1 14:07 archivo1 [root@linux /]# chmod 754 archivo1 [root@linux /]# ls -l archivo1 -rwxr-xr-- 1 root root 0 Jul 1 14:07 archivo1 [root@linux /]# 3.3.10 Modo estándar de seguridad

Instalación, configuración y uso del sistema operacional _ imprimible

87 de 105

Cuando un archivo se crea por primera vez, rwxr- -r- el sistema le pone unas propiedades o características de seguridad estándares; esto es denominado modo estándar de seguridad Cuando se crea un archivo nuevo, el sistema asume un modo de seguridad estándar, el cual puede ser cambiado a través del comando umask Veamos un ejemplo: El siguiente comando crea un archivo nuevo llamado archivo1: > archivo1 Veamos cómo quedaron las características del archivo: [root@linux /]# ls -l archivo1 -rw-r--r-- 1 root root 0 Dec 18 12:40 archivo1 Como se puede observar, el archivo fue creado con el modo de seguridad rw-r--r-Visto de manera numérica, corresponde al modo de seguridad 644 Pues bien, el comando umask nos muestra cuál es la manera estándar de seguridad asumida por el sistema. Veamos el resultado del comando: [root@linux /]# umask 022 Pero, ¿qué tiene que ver 022 con 644? Lo que ocurre es que el modo 644 es la representación hexadecimal del modo de seguridad y umask trabaja el complemento del modo de seguridad 666 o sea rw-rw-rwAmpliando la explicación, tenemos: En otras palabras, si necesitamos que el modo de seguridad estándar asumido por el sistema sea rw-r--r-- o sea 644, el número para umask debe ser 666 - 644 o sea 022. Si quisiéramos que el valor asumido de umask sea por ejemplo r--r--r-- o sea 444 entonces el número de umask debe ser 666 - 444 o sea 222. Para modificar este valor asumido se debe dar el comando: umask 222 Veamos un ejemplo: Para cambiar el valor asumido del modo de seguridad a 222:

Instalación, configuración y uso del sistema operacional _ imprimible

88 de 105

[root@linux /]# umask 222 Para verificar si el cambio se llevó a cabo: [root@linux /]# umask 222 Crear un archivo nuevo llamado archivo2: [root@linux /]# > archivo2 Para ver las características del nuevo archivo: [root@linux /]# ls -l archivo2 -r--r--r-- 1 root root 0 Dec 18 12:53 archivo2 Como se puede observar, el modo es r--r--r-- que es el pretendido. Para restaurar el valor de umask: umask 022

3.3.11 Tipos de archivos

Los archivos se identifican por tipos. Un archivo puede ser un directorio, un repositorio de datos, un encadenamiento y otros tipos que se explican en esta sección. Observemos algunos resultados del comando ls -l aplicado a diferentes directorios: [root@linux /]# ls –l total 2172 --w--w--w- 1 root root 1227 Dec 5 00:12 archivo -rwxr--r-- 1 root root 28160 Nov 28 18:18 archivo.doc -rw-r--r-- 1 root root 0 Dec 18 12:40 archivo1 -r--r--r-- 1 root root 0 Dec 18 12:53 archivo2 drwxr-xr-x 2 root root 2048 Nov 13 17:43 bin drwxr-xr-x 2 root root 1024 Nov 28 19:11 boot -rw------- 1 root root 2113536Dec 11 11:41 core [root@linux /]# cd /dev [root@linux /dev]# ls -l

Instalación, configuración y uso del sistema operacional _ imprimible

89 de 105

brw-r----- 1 root disk 13, 70 May 5 1998 xdb6 brw-r----- 1 root disk 13, 71 May 5 1998 xdb7 brw-r----- 1 root disk 13, 72 May 5 1998 xdb8 crw-rw-rw- 1 root root 1, 5 May 5 1998 zero crw-rw---- 1 root disk 27, 16 Apr 17 1999 zqft0 crw-rw---- 1 root disk 27, 17 Apr 17 1999 zqft1 crw-rw---- 1 root disk 27, 18 Apr 17 1999 zqft2

Aquí podemos observar que el primer carácter mostrado del modo de seguridad es, en algunos casos, el carácter - d b c etc. Este carácter indica el tipo de archivo y Linux tiene los siguientes tipos de archivos: d l

b c s

p

Archivo plano Directorio Encadenamiento simbólico. Se refiere a cuando queremos que un archivo con un determinado nombre, pueda ser accedido con otro nombre. Para lograr esto se crea un encadenamiento simbólico. Esto lo veremos adelante en Encadenamientos. Archivo de bloque especial, Dispositivos o Devices Archivo de carácter especial Socket. Los sockets son una creación implementada en el Unix de Berkeley BSD y se refiere a la manera de visualizar un punto terminal de un proceso de comunicaciones en el cual un programa está "mirando" un puerto, esperando que otro proceso se comunique con él para hacer su tarea. Cuando un archivo es un socket se identifica con esta s. Los sockets son parte del protocolo TCP/IP Named pipe o nombre de túnel que es un mecanismo usado por los módulos de intercomunicación entre procesos

3.3.12 Encadenamientos duros y suaves

Los encadenamientos son una especie de apodo diferente, de un mismo archivo o directorio

Los archivos se identifican por un nombre que puede tener varias denominaciones

Instalación, configuración y uso del sistema operacional _ imprimible

90 de 105

llamadas encadenamientos las cuales tienen dos formas de especificarse: ♣ ♣

Encadenamientos duros Encadenamientos suaves

Los encadenamientos duros hacen que los nombres de los archivos apunten físicamente al mismo sitio dentro del disco duro. Técnicamente a este sitio se le llama inodo. Los dos nombres ocuparán diferentes lugares dentro del directorio del disco duro, pero apuntan al mismo archivo. http://en.wikipedia.org/wiki/Inode Esto significa que si se borra uno de los dos, se borra su entrada dentro del directorio, pero no el archivo. Naturalmente, si se borran ambos, desaparece la referencia del archivo dentro del directorio. Por ejemplo, supongamos que existe un archivo que se llame datosdeempleados que queremos poder usar con un nombre corto como por ejemplo datos pero que ambos nombres sigan existiendo en el sistema. La manera de indicarle esto al sistema es la siguiente: ln datosdeempleados datos Antes de hacerlo miremos estos comandos: Para crear un archivo llamado datosdeempleados: [root@linux /]# > datosdeempleados Para ver sus características: [root@linux /]# ls -l dat* -rw-r--r-- 1 root root 0 Dec 18 20:57 datosdeempleados Se usa el asterico (*) después de dat para indicarle a Linux que liste todos los archivos cuyo nombre comienza por dat seguido de cualquier nombre Observe que el segundo campo es 1 es decir, que no tiene encadenamientos o uno solo que es el mismo archivo. Ahora encadenemos el archivo datosdeempleado con datos: [root@linux /]# ln datosdeempleados datos Miremos las características: [root@linux /]# ls -l dat* -rw-r--r-- 2 root root 0 Dec 18 20:57 datos

Instalación, configuración y uso del sistema operacional _ imprimible

91 de 105

-rw-r--r-- 2 root root 0 Dec 18 20:57 datosdeempleados Observe que el segundo campo ahora es el número 2 que significa que tiene 2 encadenamientos. Para el sistema datosdeempleados es el mismo archivo datos. ♣ Encadenamientos suaves Los encadenamientos suaves se consiguen con la opción -s dentro del comando ln. Hagamos lo mismo que en el ejemplo anterior encadenando esta vez de manera suave el archivo datosdeempleados con el archivo datos: Para crear el archivo datosdeempleados: [root@linux /]# > datosdeempleados

Para ver sus características:

[root@linux /]# ls -l da* -rw-r--r-- 1 root root 0 Dec 18 21:10 datosdeempleados Encadenar de manera suave los dos archivos: [root@linux /]# ln -s datosdeempleados datos Ver sus características: [root@linux /]# ls -l dat* lrwxrwxrwx 1 root root 16 Dec 18 21:10 datos -> datosdeempleados-rw-r--r-- 1 root root 0 Dec 18 21:10 datosdeempleados Observe cómo aparece en los datos del directorio del archivo datos, la información datos -> datosdeempleados Esto significa que el archivo datosdeempleados tiene un encadenamiento suave al archivo datos. La diferencia con respecto del encadenamiento duro es que el archivo datos apunta a una entrada dentro del directorio del disco que a su vez nos lleva al directorio datosdeempleados. Si borramos el archivo datosdeempleados entonces, el archivo datos no apunta a ninguna parte. Si volvemos a crear datosdeempleados entonces, datos sigue apuntando hacia allí. Si borramos datos entonces datosdeempleados sigue intacto. 3.3.13 Dispositivos. Recordemos que este tema ya lo tratamos dentro del proceso de instalación, cuando creamos las particiones.

Instalación, configuración y uso del sistema operacional _ imprimible

92 de 105

Dejamos el título sólo para tener consistencia ya que, dentro del tema de sistemas de archivos este tema debe ser incluido, pero lo que debemos estudiar ya lo hicimos al instalar Linux. 3.3.14 RESUMEN. En esta sección se ha comenzado a trabajar con Linux definiendo conceptos que, apoyados en ejercicios concretos, han ayudado a comprobar la corrección de dichas definiciones. Se ha utilizado un método basado en la teoría y la práctica el cual enseñó aspectos como la creación de usuarios y los archivos del sistema que se actualizan, la definición del intérprete de comandos y los primeros comandos para copiar archivos, el manejo de archivos y directorios identificando las diferencias entre pasos relativos y absolutos, las propiedades de los archivos para el manejo de la seguridad con énfasis en los permisos que cada usuario puede darle a sus directorios y archivos para protegerlos de terceros y, los tipos de archivos que maneja Linux. Se hizo énfasis en el concepto de encadenamientos duros y suaves que tanto ayuda a comprender la arquitectura del sistema y, en el manejo de dispositivos del cual ya se había iniciado el tema desde la instalación de Linux. 3.3.15 EJERCICIO Ubique cada palabra en orden para formar una frase. Haga clic en la palabra para irla añadiendo a la frase. Cuando usted crea que su respuesta es correcta, haga clic en “revisar” para verificar su respuesta. Si tiene problemas, haga clic en “pista” para saber cuál es la palabra que, en la frase, continúa. El estado foreground amarra la terminal al proceso

3.3.16 ACTIVIDAD DE APRENDIZAJE 1. Entrar al sistema como un usuario normal. Lo llamaremos usuario. Constatar que está en home con pwd Crear un directorio. Lo llamaremos directorio1. Crear otro directorio. Lo llamaremos directorio2 Crear un archivo. Lo llamaremos archivo. Verificar el comando ls -F y ls -l para determinar las diferencias. 2. Observe el nombre del dueño y del grupo de archivo Debe ser los del usuario Entre como root: su root Cambie el dueño a root: chwon root:root archivo Observe el cambio: ls -l Vuelva a ponerlo como estaba: chown usuario:usuario archivo 3. Observe los permisos de archivo: ls -l archivo - Déle al usuario permiso de ejecución: chmod u+x archivo - Observe el cambio: ls -l 4. Déle a archivo permisos de forma numérica para u(rwx) g(r-x) o(r-x): chmod 755 archivo

Instalación, configuración y uso del sistema operacional _ imprimible

93 de 105

5. Necesitamos que el archivo se pueda usar con el nombre arch: ln -s archivo arch - Compruebe el cambio con ls -l 6. Definir el nombre de un usuario que no exista - Mirar /etc/passwd para constatar que no existe el usuario: cat /etc/passwd - Crearlo: adduser usuario - Constatar que ya existe en /etc/passwd - Crearle su password: passwd usuario - (El sistema debe preguntar dos veces el password) - Constatar si el usuario quedó en el sistema: su usuario - (Si estaba en root entra directo. Si no, pide password) - Constatar si quedó en /home/usuario: pwd

3.3.17 AUTOEVALUACIÓN 1. Para buscar un comando debo ir al directorio: a) /boot b) /dev c) /bin d) /etc c 2. Para buscar el cargador de arranque debo ir al directorio: a) /boot b) /dev c) /bin d) /etc a 3. Para buscar el núcleo de Linux debo ir al directorio: a) /boot b) /dev c) /bin d) /etc a 4. Para cambiar el dueño de un archivo o directorio se usa el comando: a) cp b) cp -rf c) ls -l d) chown d 5. Para cambiar los permisos de un archivo o directorio se usa el comando: a) cp b) cp -rf c) ls -l

Instalación, configuración y uso del sistema operacional _ imprimible

94 de 105

d) chmod e

6. Para mirar las características de un archivo o directorio se usa el comando: a) cp b) cp -rf c) ls -l d) chown e) chmod c 3.4 ENTORNO DEL SHELL Esta sección del curso es rica en comandos, razón por la cual se ha anexado un documento llamado shell.pdf para ser consultado; se encuentra en Recursos.

3.5 EL PROCESO DE ARRANQUE

Cuando se prende un computador se suceden una serie de acciones que permiten arrancar la máquina. Esto, en realidad, es la ejecución de una serie de programas que intentan tomar el control del equipo hasta que el sistema operacional se apodera del mismo. Alguien podría preguntar: ¿para qué nos hablan del proceso de arranque si basta con prender el equipo y este arranca?, ¿qué más puede importar? Respondemos esta pregunta hipotética comentado cómo el mundo Unix y Linux busca que haya el mínimo de brecha entre lo que hace el sistema y el conocimiento de quienes lo manejan. Casi todo se puede hacer con ventanas del entorno gráfico bien sea KDE o GNOME, pero si al dar un clic pasa algo y no sabemos por qué, nos alejamos de la posibilidad de ser quienes manejemos el sistema y pasaremos a ser manejados por él. Hablar del sistema de arranque es entender qué hace el sistema con el hardware, cómo lo va interpretando, cómo va localizando en sus directorios la información necesaria para que opere y, todo esto, en un ambiente de aprendizaje nos da poder sobre el sistema. Después, una vez entendido, quizás no volveremos a pensar en el proceso; simplemente prenderemos la máquina, pero sabremos lo que hace por dentro y conoceremos los directorios claves para el proceso futuro de administración del sistema. El proceso de arranque de un computador es llamado el proceso de boot. Comienza cuando un computador se prende y unas instrucciones, almacenadas en memoria permanente no volátil, arrancan el proceso de cargar el sistema operacional; se inicia una cadena de actividades, cuyo objetivo final es que el sistema operacional se apodere del equipo y cumpla la función para la cual fue creado.

Instalación, configuración y uso del sistema operacional _ imprimible

95 de 105

La posición de almacenamiento mencionada se llama ROM o ROS (Read Only Memory o Read Only Storage), nvram (non-volatil random acces memory o sea memoria de acceso aleatorio no volátil), firmware (mezcla de software y hardware). Las instrucciones se ejecutan de manera automática aunque pueden tener cambios dependiendo de ciertos datos de configuración que se encuentren en la memoria o en el switch de la llave, si esta existe en el computador. Recordemos que ellas se usan sobre todo en los servidores de tamaño importante. Algunos equipos dejan que la tarea de boot sea automática (autobooting) y otros dejan que esta se confirme de manera manual como en el caso de Linux. Este comando hace que se inicie un programa de boot en el computador que se encuentra en alguna parte de sus archivos y que a su vez inicia el proceso de cargar el sistema operacional en sí. Algunos sistemas como el DOS cargan ese programa en el sector 0 de la pista 0 del disco duro y otros, como Linux, lo almacenan en un sitio fijo de la partición llamada root, en una cinta o en un servidor remoto conectado en la red. Esto último es lo que se usa cuando se tiene una estación sin disquetes, para arrancar un sistema remoto. Linux permite que el programa de cargue se seleccione de una lista almacenada, de tal manera que sea posible escoger el sistema operacional que queramos cargar. El programa de boot es responsable de cargar el kernel o núcleo del sistema operacional en la memoria y, pasarle el control. El Kernel es la parte del sistema operacional que permanece corriendo durante todo el tiempo en que el sistema está cargado. El Kernel en el caso de Linux, se llama vmlinux si no está comprimido, o vmlinuz si lo está. Una vez que el Kernel pasa a la memoria, ejecuta una serie de tareas como inicializar tablas del sistema, hacer diagnósticos de hardware, detectar nuevos dispositivos, cargar los manejadores de los dispositivos (drivers), etc. Cuando esas actividades iniciales están listas, el kernel crea una tarea llamada init como si fuera el proceso número 1. Al programa de boot lo llamaremos también el Master Program Boot o Programa Maestro de Boot. En el caso de Linux este programa se llama GRUB o GNU GRand Unified Boot loader, o Lilo acrónimo de Linux Loader o Cargador de Linux. Después de la anterior explicación recordemos el orden: 2. Se carga el programa de ROM 3. Este carga al cargador GRUB o lilo que está en el disco duro en una partición activa 4. El cargador le pregunta al usuario qué sistema quiere cargar, si hay varios instalados en los discos duros. Esto es porque Linux permite servir de base para cargar otros sistemas operacionales, localizados en las particiones del mismo disco duro y, como almacena la localización de cada uno de los programas de boot de esos sistemas, da la opción de escoger cuál, en el momento del boot.

Instalación, configuración y uso del sistema operacional _ imprimible

96 de 105

Lo anterior lo hace solicitando un comando cuando aparece en la pantalla la palabra boot: Por último, este programa carga vmlinux o vmlinuz desde un directorio conocido y especificado dentro de la configuración de GRUB o de lilo. La z en vmlinuz se refiere a que el programa está comprimido. Para una amplia comprensión del proceso de arranque, en esta sección se revisarán los siguientes conceptos: -

El programa /sbin/INIT Tarea padre Proceso de inicio Niveles de ejecución Activación de los servicios los servicios desde /etc/rc.d/init.d o /etc/rc.d

-

Control de los servicios activos Cargadores del sistema operacional Linux o Boot Loaders

4.5.1 El programa /sbin/INIT - Tarea padre El primer programa en ejecutarse se llama init y es el que se denomina la “Tarea Padre”. De él comienzan a desprenderse los demás procesos llamados “Hijos”. Este programa es llamado la tarea Padre pues es el primero en ejecutarse dentro del núcleo y como Padre va a coordinar el resto del proceso de arranque y configurará el ambiente del usuario. Frente a su computador, que ya debe estar prendido, vamos a hacer un trabajo de reconocimiento de lo que se va diciendo: 1.

Comprobar si init está corriendo Primero que todo vamos a comprobar si es verdad que init es la tarea Padre. Para eso usemos el comando ps que ya conocemos para ver las tareas: ps -ef|grep init root 1 0 0 20:07 ? 00:00:04 init [5] El número del proceso es 1, como se puede observar.

2.

Inicializar el reloj Una vez cargado este programa va a manejar todo lo necesario para arrancar a través de otro programa llamado rc.ssysinit el cual lee /etc/sysconfig/clock que es el archivo de configuración para inicializar el reloj. Miremos: $cat /etc/sysconfig/clock Muestra: ZONE="America/Bogota" UTC=false

Instalación, configuración y uso del sistema operacional _ imprimible

97 de 105

ARC=false $ 3.

Inicializa puertos seriales Igualmente ejecuta otros programas como /etc/rc.serial, si existe, para inicializar los puertos seriales. En resumen comienza a reconocer el hardware como se irá viendo en las siguientes explicaciones.

3.5.2 Proceso de inicio. Este programa tiene múltiples funciones, pero por considerarse no necesario ampliar el tema, sólo se mencionará una para conocer qué tipo de acciones ejecuta. Las explicaciones que se dan en este numeral las hace el sistema internamente. Se busca enterar al estudiante sobre el tema.

1. Inicio del sistema de bitácoras (log) Ejecuta el programa /sbin/initlog para establecer el manejo de las bitácoras del sistema, es decir, todos los informes de funcionamiento y de fallas de los servicios del sistema. 2. Averigua qué procesador tiene Averigua cuál es el procesador a través del comando uname -m que al ejecutar en la máquina se ve así: [root@linux rc.d]# uname -m i686 Mire man uname para aprender otras opciones de este comando

3. Establece variables de ambiente de red Mira si existe el archivo /etc/sysconfig/network y lo ejecuta para establecer una variable de ambiente de la red: [root@linux media]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=linux.domain.com.co 4. Averigua el nombre del dominio Ejecuta el programa /bin/hostname para conocer cuál es el dominio de la máquina configurada. Hacerlo en su equipo. [root@linux media]# /bin/hostname linux.domain.com.co 5. Montar /proc Monta el archivo (cuasi dispositivo) /proc que contiene todas las especificaciones de

Instalación, configuración y uso del sistema operacional _ imprimible

98 de 105

los dispositivos del equipo las cuales se verán más adelante. 6. Consolas virtuales Determina las consolas virtuales con el programa getty. Sobre esto realicemos el siguiente ejercicio: Estando su máquina funcionando con Linux oprima ctrl alt f1 y observará que la pantalla se pone negra y aparece login: lista para que entre como un usuario a la pantalla de texto. A esto se le llama una consola virtual, así que pruebe el mismo comando con ctrl alt f2 a ctrl alt f6 y verá que todas ellas son consolas virtuales y con ctrl alt f7 regresa a la pantalla gráfica. Pruebe en su computador entrar a estas consolas virtuales dando ctrl alt f1 por ejemplo, y verá cómo se abre la consola solicitando el login

7. Inicia memoria virtual Arranca el programa de swap paa el manejo de la memoria virtual. Chequee el sistema de archivo usando el programa fsck. 3.5.3 Niveles de ejecución. Linux, cuando se inicia, entra en varios estados de ejecución llamados niveles de acuerdo con los estándares del Sistema Unix V o SysV. Este proceso está regido por un archivo llamado /etc/initab el cual se puede mirar usando el editor de texto del sistema gráfico o el programa vi de consola, vi /etc/inittab el cual se ve a continuación y, en color azul, se han incluido unas observaciones que no están iguales en el archivo original, pero que ayudarán a entender qué es lo que tenemos allí:

# # inittab This file describes how the INIT process should set up # the system in a certain run-level. # # Author: Miquel van Smoorenburg, # Modified for RHS Linux by Marc Ewing and Donnie Barnes # # Default runlevel. The runlevels used by RHS are: # Niveles de ejecución # 0 Para la máquina # 1 Modo de usuario simple, para dar mantenimiento # 2 - Multiusuario sin NFS # 3 – Multiusuario total # 4 – No se usa # 5 – Xwindows #6 – Reinicializar el sistema # id:5:initdefault: # System initialization.

Instalación, configuración y uso del sistema operacional _ imprimible

99 de 105

# A continuación observe los programas que se ejecutan para llegar a cada nivel desde /etc/rc.d/rc.0 a rc.6 si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 # Trap CTRL-ALT-DELETE # Para hacer funcional CTRL-ALT-DELETE para reiniciar el sistema ca::ctrlaltdel:/sbin/shutdown -t3 -r now # When our UPS tells us power has failed, assume we have a few minutes # of power left. Schedule a shutdown for 2 minutes from now. # This does, of course, assume you have powerd installed and your # UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" # If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 # Run xdm in runlevel 5 x:5:respawn:/etc/X11/prefdm -nodaemon Note el comentario # Para hacer funcional CTRL-ALT-DELETE para reiniciar el sistema. Hagamos una prueba. Si no le importa que en este momento se reinicie su equipo vamos a reiniciarlo oprimiendo las teclas CTRL-ALT-DEL, lo cual es una facilidad peligrosa para un servidor profesional. Si queremos que esta opción no funcione, entonces debemos editar el archivo que acabamos de ver, es decir /etc/inittab y convertir la instrucción siguiente en un comentario colocándole el símbolo # al comienzo. ca::ctrlaltdel:/sbin/shutdown -t3 -r now Así: # ca::ctrlaltdel:/sbin/shutdown -t3 -r now La próxima vez que el equipo se inicie, queda eliminada esta opción. Para ayudar a la memoria sobre este proceso veamos este diagrama:

3.5.4 Activación de los servicios los servicios desde /etc/rc.d/init.d o /etc/rc.d

Instalación, configuración y uso del sistema operacional _ imprimible

100 de 105

Linux, como servidor, está orientado a ofrecer una serie de servicios a los usuarios conectados, algunos de los cuales se explicarán con mayor detalle en la unidad temática de Plataformas. Estos servicios se llaman Demonios y son programas residentes en memoria que, al ser activados, quedan a la espera de consulta para su tarea específica.

Algunos de estos programas y sus nombres son: -

Servidor de web Apache: httpd Servidor de proxy: squid Firewall: ip6tables Agente de correo: sendmail Servidor de archivos y de impresión: samba o smb

Sólo se mencionan algunos para conocer dónde se ubican y cómo activarlos o desactivarlos, cuando los necesitemos. Detallemos mirando el directorio /etc/rc.d/ yendo con cd /etc/rc.d y luego ls -F En mi computador aparece: init.d/ rc0.d/ rc2.d/ rc4.d/ rc6.d/ rc.sysinit* rc* rc1.d/ rc3.d/ rc5.d/ rc.local* -rwxr-xr-x 1 root root 26826 oct 16 2004 rc.sysinit Observemos que hay varios directorios, los que terminan con / y varios archivos. Vamos a hablar de ellos en orden: •

Programa rc.sysinit del cual ya hablamos; se dijo que es ejecutado por init y el primero que corre, en el momento de arranque.



Programa rc se encarga de arrancar o parar los servicios de los cuales estamos hablando. Como ejemplo, arranquemos el servicio de web /etc/rc.d/init.d/httpd start o, parémoslo con /etc/rc.d/init.d/httpd stop, probemos:



Los directorios rc0.d a rc6.d se refieren a los niveles de ejecución y veamos allí, por ejemplo, rc0.d: cd /etc/rco.d ls

K01yum K20rusersd K50xinetd K84ripd K02cups-config-daemon K20rwalld K54dovecot

Instalación, configuración y uso del sistema operacional _ imprimible K84ripngd K02haldaemon K85mdmonitor K02NetworkManager K85mdmpd

K20rwhod

K55routed

K24irda

K56acpid

101 de 105

No se listan todos porque es un listado largo S01halt K20nfs K84ospf6d K20rstatd K84ospfd

K50tux K50vsftpd

Notemos que algunos de esos programas tienen una K o una S al principio. Significa Kill o Start y lo que el algoritmo de inicio hace es arrancar los que tienen S y parar los que tienen K. De esta manera el sistema activa o desactiva tareas según el nivel. •

El directorio init.d contiene los servicios para ser activados o desactivados de manera individual. cd init.d ls No se listan todos por ser un listado largo, pero sugerimos mirar sus nombres y ver su familiaridad.

smb postgresql spamassassin squid bluetooth crond ip6tables cups ipsec xinetd sendmail Podemos observar que son los servicios. Y si quisiéramos subir el agente de correo sendmail, por ejemplo, debemos indicar ./sendmail start o /etc/rc.d/init.d/sendmail start o usar stop para apagarlo. •

Programa rc.local. Ya sabemos que el sistema sube y baja servicios al arrancar, de acuerdo con los niveles. ¿Cómo podríamos indicarle que suba por ejemplo un programa que no es del sistema sino uno propio de la organización? Eso se hace modificando rc.local para lo cual se debe conocer un poco de shell tema que queda como curiosidad para que cada uno lo estudie, si es de su interés.

3.5.5 Control de los servicios activos Ahora nos preguntamos: el sistema sube y baja servicios, pero ¿qué pasa si quisiéramos detallarle cuáles sí y cuáles no se deben activar, de una manera sencilla, sin tener que interactuar directamente con /etc/rc.d/? Menciono algunos de ellos: •

/sbin/chkconfig, comando de consola

Instalación, configuración y uso del sistema operacional _ imprimible

102 de 105

Basta con señalar los que deseamos activar y este programa se encargará de interactuar directamente con el sistema para modificar los rc. necesarios. •

/sbin/ntsysv o /usr/sbin/ntsysv. Corre de manera gráfica



redhat-config-services. Basado en gtk

Y, para terminar esta sección, diremos algo que nunca se dice y es ¿cómo apagar la máquina? Existe el comando shutdown que tiene varios parámetros para controlar su ejecución: /sbin/shutdown -h now. La apaga (-h) sin avisarle a nadie (now) /sbin/shutdown -r now. La apaga y reinicia (-r) sin avisarle a nadie (now) /sbin/shutdown -y -g00. La apaga, inmediatamente. Para más detalles se puede consultar el manual de comandos que sirve para todos. Este manual se accede desde la línea de comandos con man. En este caso, si queremos ver en detalle cómo funciona shutdown se le da al sistema: man shutdown

3.5.6 Cargadores del sistema operacional Linux o 'Boot Loaders'. Ya comentamos que antes que Linux se ejecute se debe cargar el programa cargador o boot loader el cual está normalmente en el disco primario y tiene la responsabilidad de cargar el núcleo de Linux con sus archivos necesarios. Cada arquitectura usa un diferente cargador de arranque, por ejemplo, la arquitectura Alpha usa aboot, Itanium usa ELILO, x86 usa GRUB y LILO que son lo dos de nuestro interés. Para conocer algunos aspectos del funcionamiento de GRUB y de LILO, se puede consultar el documento boot.pdf en Recursos. 3.5.9 Archivos especiales En esta sección se mencionan muchos directorios y archivos y, se presentan listados de directorios lo cual, en ocasiones, confunde a los estudiosos. El carácter de mera información no hace necesario memorizar sino recordar los conceptos y tener a mano estos contenidos en caso de necesidad. En el trabajo relacionado con los sistemas operacionales se sufre mucho por la falta de memoria, por no recordar a veces un comando. Lo importante es tener información de su existencia, a la mano los manuales del sistema y, acceso permanente a la red pues allí se encuentra todo lo necesario. Debe volverse un buen buscador de información. Siguiendo con nuestro tema del proceso de arranque que nos ayuda a adueñarnos del sistema, aparecen una serie de archivos de los cuales los usuarios finales no saben su existencia, pero, para quienes vamos a manejar el sistema son fundamentales. Además, al hablar de ellos, nos enteraremos de muchas interioridades del sistema.

Instalación, configuración y uso del sistema operacional _ imprimible

103 de 105

Comencemos por hablar de sysconfig. Directorio sysconfig Cuando el sistema operacional arranca deja en un directorio especial llamado sysconfig todos los datos relacionados con la configuración

Como lo indican las iniciales del nombre, sysconfig, se refiere a system configuration o configuración del sistema. Allí reposará toda la información de la máquina y lo necesario al sistema, para trabajar. Naturalmente no tenemos que saberlo todo pero si analizar algunos de estos archivos, leer su significado e inferir su importancia.

Más adelante, si en algún momento las cosas no funcionan bien, este conocimiento servirá para hacer diagnósticos del problema; esta habilidad es una de las destrezas importantes que el administrador de un sistema debe tener. Este directorio reside en /etc, de tal manera que para entrar a él, como root, se debe indicar cd /etc/sysconfig Al dar ls veremos que contiene muchos archivos dependiendo de la versión y distribución que se use, es decir, si se encuentra alguno que no está en la distribución instalada, no es motivo de preocupación, puede suceder. Por ahora se han incluido definiciones sobre los archivos de importancia, en el documento anexo sysconfig.pdf apmd harddisks mouse samba apm-scripts hidd named saslauthd auditd httpd netdump selinux authconfig hwconf netdump_id_dsa sendmail autofs i18n netdump_id_dsa.pub spamassassin bluetooth init network squid clock installinfo networking syslog console iptables-config network-scripts system-config-securitylevel crond irda ntpd system-config-users desktop kernel pand tux diskdump keyboard pcmcia vncservers dund kudzu pgsql firstboot lm_sensors prelink grub modules rhn El sistema de archivos proc El sistema operacional debe estar en capacidad de manejar el hardware del computador para lo cual almacena en un archivo especial la información requerida por el núcleo para interactuar con los dispositivos. El archivo se llama /proc

Instalación, configuración y uso del sistema operacional _ imprimible

104 de 105

/etc/proc es un interface del núcleo del sistema operacional con el procesador en donde se almacena información del hardware de la máquina que usa en el momento de correr el sistema operacional. Linux controla el acceso a los dispositivos físicos y, programa cuándo y cómo los procesos interactúan con los dispositivos. /proc es un directorio que muestra información detallada del hardware y contiene lo denominado archivos virtuales con información de configuraciones e interfaces. En general, son archivos de sólo lectura pero pueden modificarse usando el comando echo. Por ejemplo, para cambiar el hostname de la máquina, primero liste /proc/sys/kernel/hostname usando el comando cat /proc/sys/kernel/hostname La manera de hacerlo usando el comando echo, se ve en el siguiente comando, en el cual vamos a cambiar el hostname del sistema por www.ejemplo.com: echo www.ejemplo.com > /proc/sys/kernel/hostname Debe trabajar como root y devolver el nombre original. Otros archivos son binarios o booleanos. Por ejemplo: cat /proc/sys/net/ipv4/ip_forward Devuelve 0 o 1 indicando que el núcleo no está reenviando paquetes en la red. Usando echo para cambiar el valor de ip_forward a 1 lo pone en ese valor. Al hacer ls en /proc veremos archivos cuyo significado aparece en el archivo pdf adjunto, llamado proc.pdf. •

Directorios en /proc/ Cada directorio /proc tiene una serie de subdirectorios con nombres numéricos. Se llaman directorios de procesos. Cada directorio contiene: • • • • • •

cmdline: el comando que inició el proceso cpu: Uso de la CPU del proceso cwd: encadenamiento simbólico al directorio de trabajo del proceso environ: variables de ambiente del proceso exe: encadenamiento simbólico al ejecutable del proceso fd: Descriptores de procesos particulares 08048000-0804e000 r-xp 00000000 03:08 49243 /sbin/init 0804e000-0804f000 rw-p 00006000 03:08 49243 /sbin/init 0804f000-08052000 rwxp 00000000 00:00 0 40000000-40015000 r-xp 00000000 03:08 523334 /lib/ld-2.3.2.so 40015000-40016000 rw-p 00014000 03:08 523334 /lib/ld-2.3.2.so 40016000-40017000 rw-p 00000000 00:00 0 42000000-4212e000 r-xp 00000000 03:08 817664 /lib/tls/libc-2.3.2.so 4212e000-42131000 rw-p 0012e000 03:08 817664 /lib/tls/libc-2.3.2.so 42131000-42133000 rw-p 00000000 00:00 0

Instalación, configuración y uso del sistema operacional _ imprimible

105 de 105

bfffd000-c0000000 rwxp ffffe000 00:00 0



Maps: mapas de memoria a los ejecutables y archivos de librerías asociados con el proceso. 08048000-0804e000 r-xp 00000000 03:08 49243 /sbin/init 0804e000-0804f000 rw-p 00006000 03:08 49243 /sbin/init 0804f000-08052000 rwxp 00000000 00:00 0 40000000-40015000 r-xp 00000000 03:08 523334 /lib/ld-2.3.2.so 40015000-40016000 rw-p 00014000 03:08 523334 /lib/ld-2.3.2.so 40016000-40017000 rw-p 00000000 00:00 0 42000000-4212e000 r-xp 00000000 03:08 817664 /lib/tls/libc-2.3.2.so 4212e000-42131000 rw-p 0012e000 03:08 817664 /lib/tls/libc-2.3.2.so 42131000-42133000 rw-p 00000000 00:00 0 bfffd000-c0000000 rwxp ffffe000 00:00 0

• • • •



mem: memoria usada por el proceso root: encadenamiento al directorio raíz del proceso stat: estado del proceso statm: estado de la memoria usada por el proceso 27 22 14 6 0 16 6 Tamaño total del programa en Kbytes Tamaño de la porción de memoria Número de páginas compartidas Número de páginas compartidas que son código Número de páginas de pila de datos (staccks) Número de páginas de librerías Número de páginas dirty. status: estado del proceso, más leíble que la forma del comando statm. Name: init State: S (sleeping) Tgid: 1 Pid: 1 PPid: 0 TracerPid: 0 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 32 Groups: VmSize: 1372 kB VmLck: 0 kB VmRSS: 88 kB VmData: 24 kB VmStk: 12 kB VmExe: 24 kB VmLib: 1292 kB SigPnd: 0000000000000000 SigBlk: 0000000000000000

Instalación, configuración y uso del sistema operacional _ imprimible

106 de 105

SigIgn: ffffffff57f0d8fc SigCgt: 00000000280b2603 CapInh: 0000000000000000 CapPrm: 00000000ffffffff CapEff: 00000000fffffeff

3.5.10 ACTIVIDAD DE APRENDIZAJE Estos ejercicios con grub requieren editar el archivo de configuración /boot/grub/grub.conf en modo root y reiniciar la máquina para comprobar su funcionamiento. Se debe ser cuidadoso. Observe esta porción de una configuración de grub: default=0 timeout=10 splashimage=(hd0,7)/boot/grub/splash.xpm.gz title Red Hat Linux (2.4.20-8) root (hd0,7) kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi initrd /boot/initrd-2.4.20-8.img title DOS rootnoverify (hd0,0) chainloader +1

En su caso debe tener algo parecido en /boot/grub/grub.conf 1. Pruebe cambiar timeout por #timeout y comprobará que el sistema, al iniciarse, ya no arranca automáticamente sino que espera a que se le indique cuál partición o sistema se quiere iniciar. 2. Observe la variable default. Indica cuál sistema arranca por defecto o cuál es el primero que aparece al prender la máquina. Cámbielo a 1, arranque la máquina y observe el cambio. 3. Observe la primitiva root (hd0, 7) significa que el sistema se encuentra en el disco primario (hd0) y que es la partición 8. Si 8, o sea hda8. Lo que sucede es que grub numera las particiones desde 0. 4. Observe las primitivas title. Tienen los nombres con los cuales aparecen los sistemas en el momento de arranque. Cambie DOS por un nombre más sugestivo: Windows por ejemplo. Arranque la máquina y observe el cambio.

3.5.11 RESUMEN Aprovechando la importancia del proceso de arranque -cuando el sistema se apodera de la máquina- se inició a los estudiantes en una serie de conceptos fundamentales para ir conociendo la verdadera estructura del sistema. Se hizo énfasis en el programa init que es la tarea Padre que activa una serie de scripts que ejecutan los primeros procesos, se

Instalación, configuración y uso del sistema operacional _ imprimible

107 de 105

estudió el tema de los niveles de ejecución condensados en /etc/inittab y los directorios de arranque de los servicios /etc/rc.d. En la sección se estudiaron también los procesos de boot explicando las tareas que llevan a cabo los cargadores de boot con énfasis en GRUB y una mención sobre LILO. Finalmente, nos concentramos en el estudio de dos directorios fundamentales /etc/sysconfig y /etc/proc los cuales el sistema actualiza con base en los parámetros de configuración de los dispositivos y procesos que el sistema operacional debe controlar. Se incluyeron unos anexos en donde se encuentran las definiciones de los principales subdirectorios, de los dos directorios, cuyo estudio es la base para la preparación de un buen administrador del sistema. 3.5.12 EJERCICIO Ubique cada palabra en orden para formar una frase. Haga clic en la palabra para irla añadiendo a la frase. Cuando usted crea que su respuesta es correcta, haga clic en “revisar” para verificar su respuesta. Si tiene problemas, haga clic en “pista” para saber cuál es la palabra que continúa en la frase El programa de boot es responsable de cargar el kernel o núcleo del sistema operacional en la memoria y pasarle el control

3.5.13 Autoevaluación 1. El programa init hace varias tareas. Indique cuál no es de su responsabilidad. a) Establece variables de ambiente b) Inicia el reloj del sistema c) Inicia memoria virtual d) Establece el nombre del dominio e) Crea usuarios e 2. Los niveles de ejecución definen el orden en que se van ejecutando las tareas de inicio. Indique cuáles aseveraciones son correctas: a) En el directoio /etc/rc.d están los diferentes directorio en donde se encuentran los scripts de cada nivel de ejecución b) En rc.local se ponen los scripts de los programas especiales del usuario o empresa c) Se ejecutan en el orden en que aparecen en /etc/inittab d) Para activar un servicio como el servidor de web httpd se usa el comando /etc/rc.d/init.d/httpd start a,b,c,d 3. Se desea averiguar si el sistema tiene reconocida la tarjeta de red y sabemos que en /etc/sysconfig debe estar ese dato. De los siguientes, escoja en cuál de los archivos se podrá averiguar a) /etc/rc.d/init.d/httpd start b) /etc/inittab

Instalación, configuración y uso del sistema operacional _ imprimible

108 de 105

c) /etc/rc.d d) /sysconfig/network d 4. Los datos de la memoria los puedo averiguar en: a) /proc/meminfo b) /proc/partitions c) /proc/version d) /proc/ide/drivers a

5. Los datos de las particiones los puedo averiguar en: a) /proc/meminfo b) /proc/partitions c) /proc/version d) /proc/ide/drivers b

6. La versión de sistema la puedo averiguar en: a) /proc/meminfo b) /proc/partitions c) /proc/version d) /proc/ide/drivers c 7. Los drivers de los discos ide se pueden averiguar en a) /proc/meminfo b) /proc/partitions c) /proc/version d) /proc/ide/drivers d

4. RESUMEN DE COMANDOS Durante el curso se han mencionado numerosos comandos, en la medida en que se van explicando conceptos y haciendo ejercicios. En esta tabla se han recopilado todos esos comandos para que puedan ser accedidos de manera interactiva y sea una ayuda en el proceso de repaso de los mismos.

Comando

Sección

mount

2.5 Particiones

fg

3.2.1 Procesos interactivos

bg

3.2.1 Procesos interactivos

jobs

3.2.1 Procesos interactivos

Instalación, configuración y uso del sistema operacional _ imprimible

109 de 105

Comando

Sección

kill -s SIGSTOP

3.2.1 Procesos interactivos

man

3.2.1 Procesos interactivos

ps -ef|grep mozilla

3.2.3 Atributos de un proceso

ls

3.3.2 Cuentas de usuarios

cat /etc/passwd

3.3.2 Cuentas de usuarios

adduser

3.3.2.2 Creación de un usuario

passwd

3.3.2.2 Creación de un usuario

userdel

3.3.2.2 Creación de un usuario

cp

3.3.3 Intérprete de comandos

cd

3.3.4 Archivos y directorios

mount

3.3.6 Navegar por los directorios

pwd

3.3.6 Navegar por los directorios

ls

3.3.7 Mirar el contenido de los directorios

chown

3.3.8 Propiedad de los archivos

chgrp

3.3.8 Propiedad de los archivos

su

3.3.8 Propiedad de los archivos

chmod u+x archivo

3.3.9 Protección de los archivos

chmod 754 archivo1

3.3.10 Especificaciones numéricas de los modos de seguridad

umask

3.3.11 Modo estándar de seguridad

ln

3.3.13 Encadenamientos duros y suaves

init

3.5.1 El programa /sbin/init

/etc/initab

3.5.4 Niveles de ejecución

ctrlaltdel

3.5.4 Niveles de ejecución

etc/rc.d/init.d/

3.5.5 Activación de los servicios Los servicios Directorio etc/rc.d/init.d/ y /etc/rc.d

/etc/rc.d

3.5.5 Activación de los servicios Los servicios Directorio etc/rc.d/init.d/ y /etc/rc.d

/sbin/chkconfig

3.5.6 Control de los servicios activos

/sbin/ntsysv

3.5.6 Control de los servicios activos

redhat-config-services

3.5.6 Control de los servicios activos

shutdown

3.5.6 Control de los servicios activos

grub

3.5.7.1 GRUB

lilo

3.5.7.2 LILO

sysconfig

3.5.9.1 Directorio sysconfig

/etc/proc/

3.5.9.2 El sistema de archivos proa

Instalación, configuración y uso del sistema operacional _ imprimible Comando

Sección

110 de 105

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.