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

Anuncio
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, <[email protected]>
# 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
Descargar