0% encontró este documento útil (0 votos)
327 vistas18 páginas

Practica 1 Resuelta

Este documento describe los tipos de particiones, cómo se identifican en GNU/Linux y el proceso mínimo de particionado requerido para instalarlo. También explica el papel del MBR, los gestores de arranque como GRUB y Lilo, y los pasos del proceso de arranque desde el encendido de la computadora hasta la carga del sistema operativo.

Cargado por

Vero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
327 vistas18 páginas

Practica 1 Resuelta

Este documento describe los tipos de particiones, cómo se identifican en GNU/Linux y el proceso mínimo de particionado requerido para instalarlo. También explica el papel del MBR, los gestores de arranque como GRUB y Lilo, y los pasos del proceso de arranque desde el encendido de la computadora hasta la carga del sistema operativo.

Cargado por

Vero
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Trabajo Practico No 1

Introducción a GNU/Linux
1.- Particiones.
a) Definición. Tipos de particiones. Ventajas y Desventajas.

Existen 3 tipos diferentes de particiones:


• Partición primaria: Son las divisiones crudas o primarias del disco, solo pueden haber 4 de estas. Depende
de una tabla de particiones. Un disco físico completamente formateado, consiste en realidad de una partición
primaria que ocupa todo el espacio del disco, y posee un sistema de archivos. A este tipo de particiones,
prácticamente cualquier sistema operativo puede detectarlas y asignarles una unidad, siempre y cuando el
sistema operativo reconozca su formato (sistema de archivos).
• Partición extendida: Es otro tipo de partición que actúa como una partición primaria; sirve para
contener infinidad de unidades lógicas en su interior. Fue ideada para romper la limitación de 4
particiones primarias en un solo disco físico. Solo puede existir una partición de este tipo por disco, y
solo sirve para contener particiones lógicas. Por lo tanto, es el único tipo de partición que no soporta
un sistema de archivos directamente.
• Unidad lógica: Ocupa un trozo de partición extendida o la totalidad de la misma, la cual se ha
formateado con un tipo específico de sistema de archivos (FAT32, NTFS, ext2,...) y se le a
asignado una unidad, si el sistema operativo reconoce las particiones lógicas o su sistema de
archivos.
Ventajas:
Se puede guardar una copia de seguridad de los datos del usuario en otra partición del mismo disco, para
evitar la pérdida de información importante.
Si tienes un error/problema en una de ellas, las demas no se verán afectadas.
Puedes tener diferentes sistemas operativos en tu PC, totalmente independientes unos de otros.
Puedes tener tus archivos de datos en particiones totalmente independientes.
Puedes borrar/cambiar el contenido de una partición, sin que esto afecte a las demás.

b) ¿Como se identifican las particiones en GNU/Linux? (Considere discos IDE,


SCSI y SATA)

Disqueteras
• Primera disquetera: /dev/fd0 (en Windows sería la disquetera A:)
• Segunda disquetera: /dev/fd1
• Discos duros (en general: /dev/hdx#, donde x es el disco y # es la partición)
• Primer disco duro: (todo el disco) /dev/hda
• Particiones primarias
• Primera partición primaria: /dev/hda1
• Segunda partición primaria: /dev/hda2
• Tercera partición primaria: /dev/hda3
• Cuarta partición primaria: /dev/hda4
• Particiones lógicas
• Primera partición lógica: /dev/hda5
• Sucesivamente: /dev/hda#
• Segundo disco duro: (todo el disco) /dev/hdb
• Particiones primarias
• Primera partición primaria: /dev/hdb1
• Segunda partición primaria: /dev/hdb2
• Tercera partición primaria: /dev/hdb3
• Cuarta partición primaria: /dev/hdb4
• Particiones lógicas
• Primera partición lógica: /dev/hdb5
• Sucesivamente: /dev/hdb#
• Discos SCSI
• Primer disco SCSI: /dev/sda
• Segundo disco SCSI: /dev/sdb
• Sucesivamente ...
• Primer CD-ROM SCSI: /dev/scd0, también conocido como /dev/sr0

c) ¿Cuantas particiones son necesarias como mínimo para instalar GNU/Linux?


¿Cuáles?

Como mínimo 2, la raiz “/” y la swap o de intercambio.

d) Ejemplifique diversos casos de particionamiento dependiendo del tipo de tarea


que se deba realizar en su sistema operativo
e) ¿Qué tipo de software para particionar existe? Menciónelos y compare.

partman

Herramienta original de Linux para particionar discos. Esta «navaja suiza» también puede ajustar el tamaño de
las particiones, crear sistemas de ficheros (como se llama en Windows a “formatear”) y asignarlos a sus
respectivos puntos de montaje.

fdisk

Es la herramienta original de Linux para particionar discos, buena para expertos.

Sea cuidadoso si tiene una partición de FreeBSD en su máquina. Los núcleos instalados traen soporte para este
tipo de partición, pero la manera en que fdisk la representa, puede (o no) ser un poco diferente. Para más
información, revise el CÓMO de Linux+FreeBSD.

cfdisk

Una herramienta para particionar a pantalla completa, muy fácil de usar. Recomendada para la mayoría de los
usuarios.

cfdisk no reconoce las particiones de FreeBSD, y nuevamente, los dispositivos mostrados en pantalla pueden
ser un tanto diferentes a los que realmente tiene.

2- Arranque de un Sistema Operativo


a) ¿Qué es el MBR? ¿Que es el MBC?

Un master boot record (MBR) es el primer sector ("sector cero") de un dispositivo de almacenamiento de
datos, como un disco duro. A veces, se emplea para el arranque del sistema operativo con bootstrap, otras veces
es usado para almacenar una tabla de particiones y, en ocasiones, se usa sólo para identificar un
dispositivo de disco individual, aunque en algunas máquinas esto último no se usa y es ignorado.

Si el disco es "bootable", los primeros 446 bytes del MBR (sector de arranque), están ocupados por un
pequeño trozo de código denominado código maestro de carga MBC ("Master Boot Code") o cargador inicial
(bootstrap loader), que es cargado por la BIOS para comenzar el proceso de carga. El bootstrap loader
repasa la tabla maestra de particiones (ver a continuación) buscando una partición activa. En caso de encontrarla,
busca su sector inicial ( 8.1.2c2), carga su código en memoria, y le transfiere el control. Dicho código es ya
capaz de cargar y ejecutar cualquier otro programa situado en cualquier partición del disco. Que a su vez
inicializará directamente el SO, o tal vez una utilidad conocida como gestor de arranque, que permite elegir
entre distintas alternativas.

b) ¿Cuál es la funcionalidad de un “Gestor de Arranque”? ¿Qué tipo existen?


¿Dónde se instalan? Cite gestores de arranque conocidos.

Gestor de arranque (boot loader en inglés) es un programa sencillo (que no tiene la totalidad de las
funcionalidades de un sistema operativo) diseñado exclusivamente para preparar todo lo que necesita el sistema
operativo para funcionar. Normalmente se utilizan los cargadores de arranque multietapas, en los que varios
programas pequeños se suman los unos a los otros, hasta que el último de ellos carga el sistema operativo.
En los ordenadores modernos, el proceso de arranque comienza con la CPU ejecutando los programas contenidos en
la memoria ROM en una dirección predefinida.

En computación, el GRand Unified Bootloader (GRUB) es un gestor de arranque múltiple que se usa comúnmente
para iniciar dos o más sistemas operativos instalados en un mismo ordenador.
1. El BIOS busca un dispositivo de inicio (como el disco duro) y pasa el control al registro maestro de inicio
(Master Boot Record, MBR, los primeros 512 bytes del disco duro).
2. El MBR contiene la fase 1 de GRUB. Como el MBR es pequeño (512 bytes), la fase 1 sólo carga la siguiente
fase del GRUB (ubicado físicamente en cualquier parte del disco duro). La fase 1 puede cargar ya sea la fase
1.5 o directamente la 2
3. GRUB fase 1.5 está ubicada en los siguientes 30 kilobytes del disco duro. La fase 1.5 carga la fase 2.
4. GRUB fase 2 (cargada por las fases 1 o 1.5) recibe el control, y presenta al usuario el menú de inicio de
GRUB.
5. GRUB carga el kernel seleccionado por el usuario en la memoria y le pasa el control.
Lilo ("Linux Loader") es un gestor de arranque de Linux que permite iniciar este sistema operativo junto con otras
plataformas en el mismo ordenador. Fue desarrollado inicialmente por Werner Almesberger, actualmente está a cargo
de John Coffman.
LILO funciona en una variedad de sistemas de archivos y puede arrancar un sistema operativo desde el disco duro o
desde un disco flexible externo . LILO permite seleccionar entre 16 imágenes en el arranque. LILO puede instalarse
también en el master boot record (MBR).

c) Cuales son los pasos se suceden desde que se prende una computadora hasta
que el Sistema Operativo es cargado (bootstrap).
d) Analice el proceso de arranque en GNU/Linux.

Al encender el ordenador, en lo que se denomina un arranque en frío, éste se


comprueba a sí mismo usando un código que se denomina POST (Power On Self
Test). El objetivo de dicha prueba es verificar que los elementos imprescindibles
para su funcionamiento están presentes y disponibles (la memoria RAM, por
ejemplo, entre otros). Dados los escasos recursos con los que cuenta un ordenador
al que pudieran fallarle partes muy básicas, los fallos suelen ser notificados al
usuario por medio de indicaciones acústicas a través del zumbador o altavoz que
suele llevar toda placa base, usando secuencias de pitidos predeterminadas para
cada tipo de fallo.
Si la prueba se pasa con éxito, se ejecuta a continuación un programa
denominado “bootstrap loader” (cargador de inicio) que reside en la memoria de la
BIOS. Por cierto, BIOS responde a las iniciales de "Basic Input Output System". El
objetivo del programa cargador es encontrar un sector de arranque en alguno de
los dispositivos de almacenamiento disponibles (antes tan sólo discos duros o
flexibles, pero hoy en día es posible arrancar de prácticamente cualquier dispositivo
de almacenamiento - llaves USB, tarjetas CF (Compact Flash) - que pueda
montarse como disco, o incluso desde una red local).
Un sector de arranque es el primer sector de un disco y contiene un pequeño
programa que es capaz de cargar un Sistema Operativo. Los sectores de arranque
están marcados con la firma 0xAA55 en los bytes 0x1FE y siguiente. Esto es lo que
comprueba el programa cargador.
El cargador de inicio tiene una lista de lugares en que buscar un sector de
arranque. Esto es lo que se programa cuando en la BIOS seleccionamos los
dispositivos de los que arrancar y su orden.
El pequeño programa que se ejecuta desde el sector de arranque puede ser de
varios tipos. En el caso de Linux, el más frecuentemente usado era LILO, pero ya
hace tiempo que se usa en bastantes distribuciones un cargador alternativo,
llamado GRUB. Otros Sistemas Operativos tienen su propio programa cargador.
Usaremos LILO en la descripción, pues es más ilustrativo.
En el caso concreto de LILO, lo que se carga en el sector de arranque es una parte
de éste, denominada "first stage boot loader" (primer paso del cargador de inicio).
Su misión es cargar y ejecutar el segundo paso del cargador de inicio.
Esta segunda parte suele mostrar una selección de Sistemas Operativos a cargar,
procediendo a cargar a continuación el sistema escogido por el usuario (o bien el
que se haya predeterminado como sistema por defecto, tras un tiempo de espera,
si no escogemos nada). Esta información está incluida dentro del cargador de inicio
y, para introducirla, se usa la orden 'lilo' que a su vez usa el contenido de
'/etc/[Link]'. Todo ello sucede, por supuesto, con el ordenador ya en marcha.
Una vez LILO ha cargado el "kernel" (núcleo) de Linux, le pasa el control a éste.
Al cargarlo, le ha pasado algunos parámetros. De éstos, el más importante es el
que le dice al núcleo qué dispositivo usar como sistema de ficheros raíz, es decir, lo
que en UNIX se denomina '/'. En un ordenador de sobremesa, la raíz sería
típicamente una partición de un disco duro, pero en sistemas incrustados es
frecuente usar como raíz una partición virtual basada en memoria (Flash, RAM,...).
Si el núcleo ha conseguido montar el sistema de ficheros raíz, lo siguiente a
ejecutar es el programa 'init'. Sólo si dicho programa es estático (es decir, no usa
librerías de funciones externas), no será necesario tener acceso a dichas librerías
en la raíz. La librería básica en todo sistema GNU/Linux es la librería estándar C,
"glibc". En un sistema mínimo, es decir, con una funcionalidad muy concreta,
inmutable y sencilla, con tener solamente el programa 'init' enlazado estáticamente
sería suficiente (y el núcleo, claro). En ese caso, init sería en realidad nuestro
programa de aplicación al completo.
En general, 'init' es sólo el programa que se encarga de arrancar el resto de
procesos que la máquina debe ejecutar. Entre sus tareas está el comprobar y
montar sistemas de archivos, así como iniciar programas servidores (daemons)
para cada función necesaria. Otra tarea importante es la de arrancar procesos
'getty' cuya misión es proporcionar consolas donde poder registrarse y entrar en el
sistema. Las ordenes a seguir por 'init' están en el fichero '/etc/inittab'. A partir de
ese punto, y en función del sistema de inicialización utilizado (el más frecuente es
el denominado "System V") el proceso seguido por 'init' es distinto, pero en el
fondo obedece más a un factor de forma, es decir, a una estrategia de
ordenamiento de los "scripts" de inicialización de los distintos procesos que a un
factor de fondo.
Una vez iniciados todos los servidores y procesos de entrada de usuario, o bien
estamos delante de una consola de texto en la que el ordenador nos pide que nos
identifiquemos, o bien estamos ante una consola gráfica que nos pide lo mismo, o
bien estamos ante una pantalla llena de opciones sobre qué ejecutar (escuchar
música, ver películas, por ejemplo) si el sistema arranca bajo un usuario
predeterminado y no nos pide registrarnos. Esto es, si es que hablamos de un
ordenador de sobremesa que, típicamente, nos ofrece una interfaz basada en
dispositivos de entrada (teclado, ratón, mando a distancia) y de salida (monitor,
TV, audio) para interactuar con él. Pero si el ordenador que se ha iniciado es un
dispositivo con una funcionalidad concreta y su misión es controlar una serie de
procesos y accedemos a él a través de medios indirectos (como pueda ser un
navegador Web), el ordenador se inicia cuando está en disposición de prestar sus
servicios, aun cuando no haya una indicación visual de dicho estado.

e) Cuales son los pasos que se suceden en el proceso de parada (shutdown) de


GNU/Linux.

A grandes rasgos, cuando se lanza shutdown, se notifica a los usuarios de este hecho y, además, se bloquea el sistema
para que nadie más pueda acceder —creando el archivo /etc/nologin—, exceptuando el root. Acto seguido, se envía la
señal SIGTERM a todos los procesos no definidos en inittab para el siguiente run level, provocando que terminen u
ejecución de modo ordenado. Poco después, se envía una señal SIGKILL para que los procesos que no hayan
atendido a SIGTERM concluyan también su ejecución —pero en este caso no de una manera “limpia”—.
̃ a init para que cambie a uno de estos niveles de ejecuci n,
shutdown lleva a cabo su cometido enviando una se al ́ en
funci ón del efecto que se desee conseguir:

[Link] o detener el sistema (nivel 0, opci ń “-r”).

[Link] en modo monousuario (nivel 1, opci ń por defecto).

[Link] el sistema (nivel 6, “-h”).

Una vez cambiado el nivel de ejecución, si procede, se invocar a halt, reboot o


poweroff seg ún sea necesario.

f) ¿Es posible tener en una PC un GNU/Linux y otro Sistema Operativo


instalados? Justifique.

Si, ya que un disco rigido puede particionarse y en cada particion tener un sistema de archivos distinto, sería
como tener varios discos distintos, uno con cada SO, por lo tanto se necesitará un gestor de arranque como los
descriptos arriba.

3.- Licencias
a) ¿Qué significan las siglas GNU? ¿Cuál es la “filosofía” GNU?

GNU son las siglas de "Gnu is Not Unix", (Gnu no es Unix) es una forma de reivindicar el software libre haciendo
una crítica a la filosofía del sistema operativo Unix el cual desde su nacimiento en la decada de los 70 ha estado
vinculado a diversas casas comerciales haciendo que los usuarios y desarrolladores se sometieran a sus políticas.
De esta forma nace la FSF Free Software Fundation (Fundación del software libre) la cual está compuesta por
voluntarios que de forma desinteresada fomentan y apoyan el software de uso libre.

Todo el software bajo licencia GNU puede ser utilizado por cualquiera de forma gratuita y libre, para cualquier
proposito.

Evidentemente a pesar de que el autor nos dá permiso de uso o modificación de su software, este es su legítimo
propietario ateniéndose a las leyes del copyright.

b) ¿Qué es el código “Open Soruce”?

Código abierto (del inglés open source) es el término con el que se conoce al software distribuido y desarrollado
libremente.

c) ¿Qué es la Licencia GPL? ¿Cuáles son sus principales características? ¿A qué


se aplica?
GNU GPL (Licencia Pública General) es una licencia creada por la Free Software Foundation a mediados de los 80,
y está orientada principalmente a proteger la libre distribución, modificación y uso de software. Su propósito es
declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que
restrinjan esas libertades a los usuarios.

1. ¿Qué es el “Copyleft”?

Copyleft o copia permitida describe un grupo de derechos aplicados a una diversidad de trabajos tales como
programas informáticos, arte, cultura y ciencia, es decir prácticamente casi cualquier tipo de producción creativa.
Proponen como alternativa a las restricciones de derechos que imponen las normas planteadas en los derechos de
autor, a la hora de hacer y redistribuir copias de una obra determinada. Se pretende garantizar así una mayor libertad
para que cada persona receptora de una copia, o una versión derivada de un trabajo, pueda, a su vez, usar, modificar y
redistribuir tanto el propio trabajo como las versiones derivadas del mismo. Así, y en un entorno no legal, puede
considerarse como opuesto al copyright o derechos de autor tradicionales.

e) ¿Qué significa que un software sea de dominio público?


Es aquél que no requiere de licencia, pues sus derechos de explotación son para toda la humanidad, porque pertenece
a todos por igual. Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría original. Este
software sería aquél cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado, tras un plazo
contado desde la muerte de éste, habitualmente 70 años. Si un autor condiciona su uso bajo una licencia, por muy
débil que sea, ya no es dominio público.

f) ¿Qué significa que un software sea del tipo Propietario o Libre?

El software no libre (también llamado software propietario, software privativo, software privado, software con
propietario o software de propiedad) se refiere a cualquier programa informático en el que los usuarios tienen
limitadas las posibilidades de usarlo, modificarlo o redistribuirlo (con o sin modificaciones), o cuyo código fuente no
está disponible o el acceso a éste se encuentra restringido .

Software libre (en inglés free software) es la denominación del software que, una vez obtenido, puede ser usado,
copiado, estudiado, modificado y redistribuido libremente. Según la Free Software Foundation, el software libre se
refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software; de modo
más preciso, se refiere a cuatro libertades de los usuarios del software: la libertad de usar el programa, con
cualquier propósito; de estudiar el funcionamiento del programa, y adaptarlo a las necesidades; de distribuir copias,
con lo que puede ayudar a otros; de mejorar el programa y hacer públicas las mejoras, de modo que toda la
comunidad se beneficie.

g) ¿Qué es el sofware GNU?

La denominación de Software GNU engloba de forma general a cualquier software desarrollado o mantenido por el
Proyecto GNU, que conforma el Sistema Operativo GNU.
El Software GNU es distribuído en forma de paquetes o tarballs de fuentes, y generalmente comparten el mismo
sistema de configuración e instalación. Esto hace que compilar e instalar software GNU sea una tarea muy sencilla en
la mayoría de los casos.
Esta homogeneidad es consecuencia de los estándares de codificación de GNU (GCS) y a las guías para
mantenedores del Proyecto GNU, y dotan de una gran fortaleza al Sistema, facilitando cuestiones como la
portabilidad a otras arquitecturas máquina.

h) ¿Bajo que tipo de licencia se protege al software GNU?


GPL.

4.- Características de GNU/Linux


a) Mencione y explique las características más relevantes de GNU/Linux.

Las siguientes caracteristicas estan basadas en GNU/Linux.


En líneas generales podemos decir que se dispone de varios tipos de sistema de archivos para poder acceder a
archivos en otras plataformas. Incluye un entorno gráfico X window (Interfaz gráfico estandard para máquinas
UNIX), que nada tiene que envidiar a los modernos y caros entornos comerciales. Está orientado al trabajo en red,
con todo tipo de facilidades como correo electrónico sites de officina, juegos, trabajo de audio y video, etc...
Linux tiene muchas caracteristicas que lo hacen merecedor de la popularidad y confianza de personas y entidades al
rededor del mundo, como por ejemplo la NASA que apostó por Linux en sus servidores, para investigacion. Entre sus
muchas caracteristicas podemos mencionar:
Se distribuye su código fuente, lo cual permite a cualquier persona que así lo desee hacer todos los cambios
necesarios para resolver problemas que se puedan presentar, así como también agregar funcionalidad. El único
requisito que esto conlleva es poner los cambios realizados a disposición del público, esto debido a su licencia.
Es desarrollado en forma abierta por cientos de usuarios distribuídos por todo el mundo, los cuales la red Internet
como medio de comunicación y colaboración. Esto permite un rápido y eficiente ciclo de desarrollo.
Cuenta con un amplio y robusto soporte para comunicaciones y redes, lo cual hace que sea una opción atractiva tanto
para empresas como para usuarios individuales.
Da soporte a una amplia variedad de hardware y se puede correr en una multitud de plataformas: PC's
convencionales, computadoras Macintosh, etc., así como costosas estaciones de trabajo.
• Linux y sus Shells: Cada usuario de un sistema Linux tiene su propia interfaz de usuario o Shell. Los usuarios
pueden personalizar sus shells adecuándolos a sus propias necesidades específicas. En este sentido, el Shell de
un usuario funciona más como un entorno operativo que el usuario puede controlar.
• Linux es Multitarea: La multitarea no consiste en hacer que el procesador realize más de un trabajo al mismo
tiempo (un solo procesador no tiene esa capacidad), lo único que realiza es presentar las tareas de forma
intercalada para que se ejecuten varias simultáneamente. Por lo tanto en Linux es posible ejecutar varios
programas a la vez sin necesidad de tener que parar la ejecución de cada aplicación.
• Linux es Multiusuario: Para que pueda desarrollar esta labor (de compartir los recursos de un ordenador) es
necesario un sistema operativo que permita a varios usuarios acceder al mismo tiempo a través de terminales,
y que distribuya los recursos disponibles entre todos. Así mismo, el sistema debería proporcionar la
posibilidad de que más de un usuario pudiera trabajar con la misma versión de un mismo programa al mismo
tiempo, y actualizar inmediatamente cualquier cambio que se produjese en la base de datos, quedando
reflejado para todos. En conclusión, en el sistema multiusuario, varios usuarios pueden acceder a las
aplicaciones y recursos del sistema Linux al mismo tiempo. Y, por supuesto, cada uno de ellos puede ejecutar
varios programas a la vez (multitarea).
• Linux es Seguro: El concepto de seguridad en redes de ordenadores es siempre dificil de abordar. Un sistema
puede ser seguro para un determinado tipo de actividades e inseguro para otras. Si se quiere que el sistema sea
seguro, se debe administrar de tal forma que se tengan controlados a los usuarios en todo momento. Para la
ardua tarea de seguridad surgen nuevas herramientas constantemente, tanto para detectar intrusos como para
encontrar fallos en el sistema y evitar así ataques desde el exterior.
• Linux y las Redes de Ordenadores: Cuando se trabaja con Linux se está ante un sistema operativo orientado al
trabajo de redes de ordenadores.
• Linux dispone de varios protocolos como PPP, SLIP, TCP/IP, PLIP, etc.., para la transferencia de
archivos entre plataforma. Tiene a su disposición multitud de aplicaciones de libre distribución que
permiten navegar a través de Internet y enviar y recibir correo electrónico, hacer una video-
conferencia, transferir archivos, etc. Posee gran variedad de comandos para comunicación interna entre
usuarios que se encuentren ubicados en plataformas distintas (gracias a utilidades como telnet).
• Independencia de dispositivos Linux admite cualquier tipo de dispositivo (módems, impresoras)
gracias a que cada una vez instalado uno nuevo, se añade al Kernel el controlador o driver necesario
con el dispositivo, haciendo que el Kernel y el driver se fusionen. Lo importante de esto es que el
controlador funciona como un modulo completamente aislado del nucleo de linux, dando asi una
mayor seguridad y estabilidad al sistema.

b) Mencione otros sistemas operativos y compárelos con GNU/Linux en cuanto a


los puntos mencionados en el inciso a.

AIX (de IBM), GNU/Linux, HP-UX (de HP), MacOS (Macintosh), Solaris (de SUN Microsystems).

c) ¿Por qué cree que en GNU/Linux ”todo es un archivo”? Justifique.


d) Explique que es la multitarea preventiva, e indique si GNU/Linux hace uso de
ella.

Linux es un sistema operativo con "multitarea preventiva", esto hace de Linux un sistema con una estabilidad muy
buena. Multitarea preventiva se refiere a que en el sistema pueden estar corriendo varios programas, (al mismo
tiempo), asignandole una "porcion" o tiempo de procesamiento a cada uno, haciendo que si uno o varios programas
que se estuvieron ejecutando, se "cuelgan", no afecte a las otras tareas, y al resto de los programas que se esten
ejecutando en el sistema.

e) ¿Qué es POSIX?

POSIX es el acrónimo de Portable Operating System Interface; la X viene de UNIX como seña de identidad de la
API. El término POSIX fue sugerido por Richard Stallman en respuesta a la demanda de la IEEE, que buscaba un
nombre fácil de recordar. Una traducción aproximada del acrónimo podría ser "Interfaz de Sistema Operativo Portable
basado en UNIX".
Estos son una familia de estándares de llamadas al sistema operativo definidos por el IEEE y especificados
formalmente en el IEEE 1003. Persiguen generalizar las interfaces de los sistemas operativos para que una misma
aplicación pueda ejecutarse en distintas plataformas. Estos estándares surgieron de un proyecto de normalización de
las API y describen un conjunto de interfaces de aplicación adaptables a una gran variedad de implementaciones de
sistemas operativos.
POSIX especifica las interfaces de usuario y software al Sistema Operativo en 15 documentos diferentes. La línea de
comandos estándar y las interfaces de scripting se basaron en Korn Shell. Otros programas a nivel de usuario (user-
level), servicios y utilidades incluyen awk, echo, ed (computación) y cientos de otras. Los servicios a nivel de
programa requeridos incluyen definición de estándares básicos de I/O, (file(Computación, UNIX), terminal, y
servicios de red. POSIX también especifican una API para las librerías de threading, que es muy popular y muy
utilizada en muchos sistemas operativos.

5.- Distribuciones de GNU/Linux


a) Investigue acerca de las principias distribuciones de GNU/Linux.

Una distribución Linux o distribución GNU/Linux (abreviada con frecuencia distro) es un conjunto de aplicaciones
reunidas que permiten brindar mejoras para instalar fácilmente un sistema operativo basado en programas de
muchas fuentes y licencias de uso, que reciben la denominación convencional de GNU/Linux. Son variantes de
sistemas libres del tipo GNU/Linux que, en general, se diferencian entre sí por las herramientas para configuración y
sistemas de administración de paquetes de software para instalar. La elección de una distribución depende de las
necesidades del usuario y de gustos personales.
b) ¿En qué se diferencia una distribución de otra?

General 
Fecha de la Última
Licenci
Empresa primera Predecesor versión Precio (€) Público País
a
P.R. estable
Desktop,
Debian Proyecto agosto de 4.0 cualquie Mundia
N/A Libre Workstation,
GNU/Linux Debian 1993 (Etch) r DFSG l
Server
Fedora Linux, Ver. 7 / Workstation,
Fedora Proyecto noviembre
Red Hat 31 Mayo Libre GPL Server, EEUU
Core Fedora de 2003
Linux 2007 Público
Workstation,
Fundación marzo de Mundia
Gentoo Enoch 2007.0 Libre GPL Server,
Gentoo 2002 l
Público
Mandrake
Desktop,
Mandriva Linux/Conect Mundia
Mandriva julio de 1998 2008.0 Libre GPL Workstation,
Linux iva y Lycoris l
Server
Xls
octubre de rxart, rxart Workstation, Argenti
Rxart Pixart 3.2 €16 GPL
2001 Linux Server na
Workstation,
Slackware Patrick
julio de 1993 SLS 12.0 Libre GPL Server, EEUU
Linux Volkerding
Público
Descarga
Libre Workstation,
SUSE Novell, marzo de disponible Server, Mundia
Jurix 10.3 GPL
Linux OpenSUSE 1994 Ed. Desktop, l
Profesional Público
: 51,95
7.10 Desktop,
Canonical octubre de LibreLiveC Mundia
Ubuntu Debian (Gutsy GPL Workstation,
Ltd. 2004 D l
Gibbon) Server

Técnica [editar]
API
API
princip
principa
Herramie al y
Siste ly
Sistemas de nta de Administra lenguaj
ma de lenguaje
Kernel ficheros Arquitectura actualizaci dor de e
ficher para
compatibles ón de Paquetes para
os Aplicaci
paquetes Aplicaci
ones
ones
Gráficas
CLI

Debian ext2, JFS, XFS, x86, x86-64, IA64, dpkg, pre-LSB


Linux FAT, NTFS, ISO PowerPC, SPARC, Synaptic, con C,
GNU/Lin ext3 APT Varias
2.6.18 9660, UDF, NFS, SPARC64, Alpha, Adept, APT otros
ux
ReiserFS MIPS, ARM, PA- y Aptitude (estánda
RISC, Mac/VME r
68k, S/390 POSIX)
pre-LSB
Linux
con C,
2.6.18 ext2, ReiserFS, up2date,
Fedora x86, x86-64, i386, otros
[Link] ext3 FAT, ISO 9660, yum, APT RPM, yum Varias
Core PowerPC (estánda
e Verid UDF, NFS (limitado)
r
9
POSIX)
pre-LSB
con C,
ext2, ReiserFS, up2date,
Linux x86, x86-64, i386, otros
Rxart ext3 FAT, ISO 9660, net, APT DEB, ASK Varias
2.6.34 PowerPC (estánda
UDF, NFS (limitado)
r
POSIX)
pre-LSB
ext2, JFS, XFS, con C,
Mandriv Linux FAT, NTFS, ISO x86 (i586), x86-64, otros
ext3 urpmi RpmDrake Varias
a Linux 2.6.22 9660, UDF, NFS, PPC (estánda
ReiserFS r
POSIX)
pre-LSB
Reiser Swaret, con C,
Linux JFS, XFS, FAT,
Slackwar FS, Slapt-get, installpkg y otros
2.4.33 / NTFS, ISO 9660, x86, IA64, S/390 Varias
e Linux ext3/e otros no upgradepkg (estánda
2.6.18 UDF, NFS
xt2 oficiales r
POSIX)
pre-LSB
YaST2
ext2, ext3, JFS, con C,
(Misma
openSUS Linux XFS, FAT, NTFS, x86, IA64, x86-64, otros
ext3 Versión de RPM, YaST Varias
E [Link] ISO 9660, UDF, PowerPC (estánda
YaST
NFS, Reiser4 r
Avanzada)
POSIX)
pre-LSB
dpkg, con C,
JFS, XFS, NTFS,
Linux Synaptic, otros
Ubuntu ext3 ISO 9660, x86, x86-64 APT Varias
2.6.20 APT y (estánda
ReiserFS
Aptitude r
POSIX)

Extras [editar]
Instal Tema
Administr Entorno Gestor de
Paquete ación Navegador visual de
ador de gráfico ventanas Suite ofimática
s gráfic web escritori
archivos principal principal
a o
Sí (a
Debian partir
[Link],
más de de la Nautilus, Iceweasel, Metacity,
GNU/Linu GNOME a elegir KOffice, GNOME
20000 4.0 Konqueror Konqueror KWin
x Office
"Etch"
)
ClearLoo
ks
Mozilla [Link],
Fedora Nautilus, GNOME, Metacity, (GNOM
5000 Sí Firefox, KOffice, GNOME
Core Konqueror KDE Kwin E)
Epiphany Office
Bluecurv
e (KDE)
Konqueror,
Mandriva
4000 Sí Konqueror Mozilla KDE KWin la Ora [Link]
Linux
Firefox
Konqueror,
Rxart
2000 Sí Konqueror Mozilla KDE KWin Rxart [Link]
Linux
Firefox
Mozilla
Slackware
muchos No Konqueror Firefox, varios a elegir a elegir KOffice
Linux
Seamonkey
Mozilla
Firefox,
[Link],
SUSE Konqueror Gnome, ClearLoo
12500 Sí Nautilus Metacity KOffice, GNOME
Linux (en KDE), KDE ks
Office
Epiphany (en
GNOME)
más de Mozilla [Link],
Ubuntu Sí Nautilus GNOME Metacity Human
20000 Firefox GNOME Office

6.- Estructura de GNU/Linux.


a) Nombre cuales son los 3 componentes más fundamentales de GNU/Linux.

b) Mencione y explique la estructura básica del Sistema Operativo GNU/Linux.

7.- Kernel
a) ¿Qué es?
El kernel es el núcleo del sistema operativo. Veremos a continuación diferentes
enfoques sobre este concepto.
En algunas bibliografías de UNIX, el kernel es el sistema operativo aclarando
su diferenciación con los programas de usuario. En el diagrama del kernel que
nos muestra Maurice Bach en su libro “The design of the UNIX operating
system”, el nivel de kernel incluye la interfase con las aplicaciones de usuario a
través de system calls y las librerías, el subsistema de archivos y el de control
de procesos. En este ultimo están los módulos para la comunicación entre
procesos, la planificación y los que se utilizan para controlar la asignación de
memoria.
El kernel no es un conjunto separado de procesos que corren en paralelo a los
procesos de usuario: es parte de cada proceso de usuario.
Cuando se dice que el kernel asigna recursos o que hace determinada
operación en realidad es el proceso ejecutándose en modo kernel. EL kernel
reside en memoria principal como parte del proceso que se esté ejecutando.
Aclaremos la diferencia entre los modos de ejecución.
En modo usuario, los procesos pueden acceder a sus propias instrucciones y
datos pero no a instrucciones y datos del kernel o de otros procesos.
En modo kernel los procesos pueden acceder a direcciones de otros usuarios y
de kernel.
Consideremos que el espacio de direcciones virtuales de un proceso puede
dividirse en direcciones que solo son accesibles en modo kernel y otras
accesibles en cualquier modo.
El so interactua directamente con el HW. Existe la posibilidad de “montar” un
sistema operativo sobre otro. En ese caso el que interactua con el HW es el SO
original o nativo, y este provee los servicios al SO “visitante”.
El kernel en Windows NT
Incluye las funciones usadas mas frecuentemente del so. Ocasionalmente
incorpora otras partes de uso ocasional.
Consta de las componentes del SO mas usadas y fundamentales. Administra la
planificación y cambio de contexto de procesos, gestión de excepciones e
interrupciones y la sincronización de multiprocesadores.
Separa núcleo de subsistemas (módulos de fines específicos que usan los
servicios del núcleo, de los servicios que ofrecen una interfaz de software en
modo usuario.
Al soft del modo núcleo le llama ejecutor.
HAL: establece la correspondencia entre el HW especifico de la computadora y
el kernel.
El kernel no ve lo especifico de cada componente de hard: el HAL hace la
transformación correspondiente.
El administrador de E/S no interactua con el HAL, sino directamente con los
dispositivos para mejorar performance.
En NT, se llama subsistema protegido a las partes que interactuan con el
usuario final. Hay subsistemas de “ambiente” (manejan la apariencia) y de
protección (proveen este servicio).
Podemos ver NT como un sistema en capas: HAL, Kernel, Ejecutor,
subsistemas.
La relación en NT entre ejecutor, subsistemas y aplicaciones, se establece a
través de un modelo Cliente-servidor.
LINUX
El kernel (o core) es el que maneja todos los recursos del sistema e interactua
directamente con el HW.
Cuando se explica cuáles son las componentes del LINUX, se nombran kernel,
librerías del sistema y utilitarios del sistema.
Todo el código del Kernel se ejecuta en modo privilegiado con acceso permitido
a todos los recursos físicos de la computadora. ES el modo kernel.
NO hay cambio de contexto al llamar a una system call o al atender una
interrupción por HW.
La parte visible para las aplicaciones no es mantenida directamente por el
kernel: las aplicaciones llaman a las librerías del sistema que llamaran a los
servicios del SO que sean necesarios.
El concepto de librería es muy importante y fuerte en Linux, pues a través de
sus módulos se hacen los requerimientos de servicio.
Cuando se invoca un system call (que provoca el pasaje del control de modo
usuario a modo supervisor) la transferencia varia entre las distintas
arquitecturas. Las librerías organizan el pasaje de argumentos.
En las librerías están desde los system calls básicos a versiones mas
complejas que permiten optimizar funciones. Hay rutinas que implementan
funciones matemáticas, manejos de estring. En fin: todo lo necesario para
poder correr aplicaciones UNIX o POSIX.

b) ¿Cuales son sus funciones?

• Administración de la memoria para todos los programas y procesos en ejecución.


• Administración del tiempo de procesador que los programas y procesos en ejecucion utilizan.
• Es el encargado de que podamos acceder a los periféricos/elementos de nuestro ordenador de una manera
cómoda.

c) ¿Que versiones existen? ¿Cómo se las diferencian?

• Versión de produccion: La version de produccion, era la version estable hasta el momento. Esta version era el
resultado final de las versiones de desarrollo o experimentales.
Cuando el equipo de desarrollo del núcleo experimental, decidia que tenia un núclo estable y con la suficiente
calidad, se lanzaba una nueva versión de producción ó estable. Esta versión era la que se debia utilizar para un
uso normal del sistema, ya que eran las versiones consideradas más estables y libres de fallos en el momento
de su lanzamiento.
• Versión de desarrollo: Esta versión era experimental y era la que utilizaban los desarrolladores para
programar, comprobar y verificar nuevas características, correcciones, etc. Estos núcleos solian ser inestables
y no se debian usar sin saber lo que se hacia.

d) Es posible tener más de un Kernel de GNU/Linux.


e) ¿Donde se encuentran ubicados dentro del File System?

EL kernel reside en memoria principal como parte del proceso que se esté ejecutando.

f) Bajo que tipo de licencia se distribuye el Kernel.

GPL.

g) ¿El Kernel de GNU/Linux es monolítico? Justifique.

Si. Estos sistemas tienen un núcleo grande y complejo, que engloba todos los servicios del sistema. Está
programado de forma no modular, y tiene un rendimiento mayor que un microkernel. Sin embargo, cualquier cambio
a realizar en cualquier servicio requiere la recompilación del núcleo y el reinicio del sistema para aplicar los nuevos
cambios.

8.- Intérprete de comandos (Shell)


a) ¿Qué es?

El shell o intérprete de comandos, es una interfase con nuestro sistema operativo. Gracias a él podremos dar las
órdenes y mandatos necesarios para que nuestro sistema informático realice las tareas que necesitamos. No debemos
confundir al intérprete de comandos con el sistema operativo. Este es solo un programa que hará de mediador entre
nosotros y el kernel del sistema. El shell puede ser tanto gráfico (Ej. La interfase X-Window), como de texto (Ej. El
bash).

b) ¿Cuales son sus funciones?

Algunas funciones son control de procesos, redirección de entrada/salida, listado y lectura de ficheros,
protección, comunicaciones y un lenguaje de órdenes para escribir programas por lotes o (scripts o guiónes).

c) Mencione al menos 3 tipos de intérpretes de comandos que posee GNU/Linux


y compárelos entre ellos.

Existen varios tipos de intérpretes de comandos en UNIX de los cuales los más famosos e importantes son el "Bourne
Shell" (sh) y el "C Shell" (csh). El intérprete de comandos Bourne, usa una sintaxis de comandos usada en los
primeros sistemas UNIX, como el System III. El nombre de intérprete Bourne en la mayoría de los Un*x es
/bin/sh (sh por shell). El C Shell posee una sintaxis muy parecida al lenguaje de programación C y se lo
encontrara como /bin/csh. El más usado en el mundo GNU/Linux, como antes dijimos, es el bash por "Bourne
Again Shell y se lo encontrará en /bin/bash. Bash posee toda la funcionalidad del sh con características avanzadas
de C Shell, por esto cualquier guión escrito para un intérprete de comandos sh correrá perfectamente en él. Si lo que
se prefiere es el uso del intérprete de comandos basado en el lenguaje C, en GNU/Linux se podrá encontrar el Tcsh en
/bin/tcsh, que es una versión extendida del C Shell. Los gustos de los usuarios son los que deciden que intérprete
de comandos se usará, por esto es posible configurar para cada usuario un intérprete de comandos distintos y no
afectar el funcionamiento de programas como el ls, cat o cp. Solo se vera afectada la funcionalidad de algún guión
que esté preparado para ejecutar con un intérprete de comandos determinado, lo que veremos como se puede corregir
al ver programación de script de shell.

d) ¿Donde se ubican (ruta) los comandos propios y externos al Shell?

/bin/shell

e) ¿Por qué considera que el Shell no es parte del Kernel de GNU/Linux?

Este es solo un programa que hará de mediador entre nosotros y el kernel del sistema

9.- Sistema de Archivos (File System)


a) ¿Qué es?

Los sistemas de archivos estructuran la información guardada en una unidad de almacenamiento


(normalmente un disco duro) de una computadora, que luego será representada ya sea textual o gráficamente
utilizando un gestor de archivos. La mayoría de los sistemas operativos poseen su propio sistema de archivos.

b) Mencione sistemas de archivos soportados por GNU/Linux.

GNU/Linux soporta una gran cantidad de tipos de sistema de archivos: adfs, affs, autofs, coda, coherent,
cramfs, devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs,
sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs.

c) ¿Es posible visualizar particiones del tipo FAT y NTFS en GNU/Linux? Que
limitaciones existen actualmente en cuanto a las operaciones que se pueden
hacer sobre ellas.

Si. En estos momentos existen distribuciones de GNU-Linux que pueden realizar operaciones de lectura y
escritura sobre ellas.

d) ¿Cuales el la estructura básica de los file System en GNU/Linux? Mencione los


directorios más importantes e indique que tipo de información se encuentra en
ellos. ¿A qué hace referencia la sigla FHS?

En los sistemas de archivos jerárquicos, usualmente, se declara la ubicación precisa de un archivo con una cadena de
texto llamada "ruta" (o Path en inglés). La nomenclatura para rutas varía ligeramente de sistema en sistema, pero
mantienen por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y
subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún carácter especial que suele
ser una barra ('/') o barra invertida ('\') y puede terminar en el nombre de un archivo presente en la última rama de
directorios especificada.
Directorio Descripción
/ Es la raíz del sistema de directorios. Aquí se monta la partición principal Linux EXT.
/etc Contiene los archivos de configuración de la mayoría de los programas.
/home Contiene los archivos personales de los usuarios.
/bin Contiene comandos básicos y muchos programas.
/dev Contiene archivos simbólicos que representan partes del hardware, tales como discos duros, memoria...
Contiene subdirectorios donde se montan (se enlaza con) otras particiones de disco duro, CDROMs,
/mnt
etc.
/tmp Ficheros temporales o de recursos de programas.
/usr Programas y librerías instalados con la distribución
/usr/local Programas y librerías instalados por el administrador
/sbin Comandos administrativos
/lib Librerías varias y módulos ("trozos") del kernel
Datos varios como archivos de log (registro de actividad) de programas, bases de datos, contenidos del
/var
servidor web, copias de seguridad...
Información temporal sobre los procesos del sistema (explicaremos esto más en profundidad
/proc
posteriormente).

El Filesystem Hierarchy Standard (Estándar de Jerarquía de Sistema de Ficheros) o FHS define los directorios
principales y sus contenidos en el sistema operativo LinuxGNU/Linux y otros sistemas de la familia Unix. Se diseñó
originalmente en 1994 para estandarizar el sistema de archivos de las distribuciones GNU/Linux, basándose en la
tradicional organización de directorios de los sistemas Unix. En 1995 se amplió el ámbito del estándar a cualquier
Unix que se adhiriese voluntariamente.

10.- Comandos (Investigue su funcionamiento y parámetros más importantes):


a) cd: El comando cd nos permite cambiar de directorio, igual que en DOS.
Por ejemplo, cd / nos lleva al directorio raíz, que es de donde surgen todos los directorios del sistema.
Para cambiar a otro directorio dentro del arbol, podemos utilizar cd usr, o cd /home/user.
b) ls: Para listar los archivos dentro de un determinado directorio utilizaremos el comando ls. El equivalente en
DOS es 'dir'.
Si ejecutamos ls sin ninguna opción, nos listará los archivos del directorio actual. Si, en cambio, ejecutamos ls 
directorio, nos listará los archivos de ese directorio.
Puede recibir varias opciones:
• ­l: muestra mucha más informacion sobre los archivos, como el usuario y el grupo al que pertenece, el
tamaño, los permisos, etc.
• ­a: muestra todos los archivos, incluyendo los ocultos.
• ­t: ordena los archivos por fecha de modificación.
c) pwd: El comando pwd es muy sencillo, nos muestra la ruta de directorios en la que estamos situados en este
momento. Por ejemplo, /home/user.
d) df: Si se ejecuta el comando df disk free sin ninguna opción, se nos dará una estadística sobre el espacio total,
el ocupado y el libre de todas las unidades de disco montadas. Si por el contrario se introduce un directorio, se
mostrarán sólo las estadísticas de la unidad de disco que incluye dicho directorio.
e) shutdown: Para cerrar y apagar el sistema, shutdow -h now cierra y apaga el sistema; shutdow -r now cierra y
reinicia el sistema
f) reboot: Reiniciar el Sistema.
g) halt: Apagar el Sistema.
h) find: El comando find permite encontrar archivos, utilizando diversas técnicas. En principio, si se le pasa
como parámetro únicamente una determinada ruta, por ejemplo find /home/user, el comando buscará todos los
archivos y directorios que se encuentren a partir de esa ruta.
Utilizando algunos otros parámetros es posible buscar los archivos por diversos criterios.
• find . ­name "[Link]" encuentra todos los archivos llamados [Link] que se encuentren a
partir del directorio actual. Las comillas no son obligatorias, pero son recomendables si se quieren usar
opciones más complejas (por ejemplo, utilizando metacaracteres de shell, que se explican en la sección 4.1).
• find . ­size 50k busca los archivos que ocupan 50 kilobytes a partir del directorio actual. Si se utiliza
find . ­size 20c, buscará los archivos que ocupen 20 bytes. Y si se utiliza find . ­size 5b,
buscará los archivos que ocupen 5 bloques de 512 bytes cada uno.
i) locate: Realiza búsquedas en una base de datos interna que se actualiza periódicamente y nos permite hacer
búsquedas bastante más rápidas que find. (los resultados no siempre estarán actualizados).
j) uname: Indica nombre y versión del sistema operativo. Usado con la opción ­a muestra toda la información.
k) dmesg: Para ver rápidamente el log del último booteo del sistema,
l) who: El comando who nos permite ver los usuarios que están utilizando el sistema, incluyendo la fecha en la
que se conectaron al sistema.
m) lspci: Es una utilidad que nos da información de todos los buses PCI en el sistema y de todos los dispositivos
conectados en él.
n) at: Ejecuta comandos a una hora determinda.
o) split: Para partir en trozos un fichero en un tamaño predeterminado se utiliza el comando split, usando cat para
volver a recuperarlo posteriormente
p) netstat: Muestra un listado de las conexiones activas de un ordenador, tanto entrantes como salientes.
q) tail: El comando tail nos permite ver la cola de un archivo, es decir sus últimas líneas (últimas 10 por
omisión). Esto, aunque a simple vista no parezca útil, resulta de gran utilidad para ver archivos grandes como, por
ejemplo, logs (archivos donde se guardan mensajes de estado y/o de errores).
r) head: Muestra las 10 primeras líneas de un fichero específico.
s) dd: Copia un fichero (de la entrada estándar a la salida estándar, por
omisión) con un tamaño de bloque seleccionable por el usuario, a la
par que, opcionalmente, realiza sobre él ciertas conversiones.
t) mount: En Linux, antes de que un disco duro (o cualquier otro dispositivo de almacenamiento) pueda ser
utilizado, se necesita que el sistema "coloque" ese dispositivo dentro de un directorio. Este directorio casi siempre
suele ser el directorio /mnt, pero en realidad se puede utilizar cualquiera. El comando para montar dichos dispositivos
es mount.
u) losetup: activa y controla los dispositivos de bucle (loop).
v) sleep: Esta página de manual documenta la versión GNU de sleep. sleep detiene
durante un tiempo especificado por la suma de los valores de los argue‐
mentos de la línea de comando. Cada argumento es un número seguido por
una unidad opcional; por defecto es segundos.
w) mkfs: Se emplea para construir un sistema de ficheros de Linux sobre un
dispositivo, usualmente una partición de un disco duro.
x) fdisk (con cuidado) : es un programa guiado por menús
para la creación y manipulación de tablas de partición.

11.- Indique en que directorios se almacenan los comandos mencionados en el


ejercicio 10.
12.- Archivos
a) ¿Como se identifican los archivos en GNU/Linux?

La base del sistema de archivos de Linux, es obviamente el archivo, que no es otra cosa que la estructura
empleada por el sistema operativo para almacenar información en un dispositivo físico como un disco
duro, un disquete, un CD-ROM o un DVD. Como es natural un archivo puede contener cualquier tipo de
información, desde una imagen en formato PNG o JPEG a un texto o una página WEB en formato HTML,
… El sistema de archivos es la estructura que permite que Linux maneje los archivos que contiene.
Todos los archivos de Linux tienen un nombre, el cual debe cumplir unas ciertas reglas:

• Un nombre de archivo puede tener entre 1 y 255 caracteres.

• Se puede utilizar cualquier carácter excepto la barra inclinada / y no es recomendable emplear los
caracteres con significado especial en Linux, que son los siguientes: = ^ ~ ' " ` * ; - ? [ ] ( ) ! & ~ < >.
Para emplear ficheros con estos caracteres o espacios hay que introducir el nombre del fichero entre
comillas.

• Se pueden utilizar números exclusivamente si así se desea. Las letras mayúsculas y minúsculas
se consideran diferentes, y por lo tanto no es lo mismo [Link] que [Link] ó [Link]

Como en Windows, se puede emplear un cierto criterio de "tipo" para marcar las distintas clases de
ficheros empleando una serie de caracteres al final del nombre que indiquen el tipo de fichero del que se
trata. Así, los ficheros de texto, HTML, las imágenes PNG o JPEG tienen extensiones .txt, .htm (o
.html), .png y .jpg (o .jpeg) respectivamente.

Pese a esto Linux sólo distingue tres tipos de archivos:

• Archivos o ficheros ordinarios, son los mencionados anteriormente.

• Directorios (o carpetas), es un archivo especial que agrupa otros ficheros de una forma
estructurada.

• Archivos especiales, son la base sobre la que se asienta Linux, puesto que representan los
dispositivos conectados a un ordenador, como puede ser una impresora. De esta forma introducir
información en ese archivo equivale a enviar información a la impresora. Para el usuario estos
dispositivos tienen el mismo aspecto y uso que los archivos ordinarios.

b) Investigue el funcionamiento del editor vi, mcedit, el comando cat y more.

Vi es un editor con dos modos: edición y comandos. En el modo de edición el texto que ingrese será agregado al
texto, en modo de comandos las teclas que oprima pueden representar algún comando de vi. Cuando comience a
editar un texto estará en modo para dar comandos el comando para salir es : seguido de q y ENTER --con ese
comando saldrá si no ha hecho cambios al archivo o los cambios ya están salvados, para salir ignorando cambios :q!
seguido de ENTER.

Puede insertar texto (pasar a modo edición) con varias teclas:


• i
Inserta texto antes del carácter sobre el que está el cursor.
• a
Inserta texto después del carácter sobre el que está el cursor.
• I
Inserta texto al comienzo de la línea en la que está el cursor.
• A
Inserta texto al final de la línea en la que está el cursor.
• o
Abre espacio para una nueva línea después de la línea en la que está el cursor y permite insertar texto en la nueva
línea.
• O
Análogo al anterior, pero abre espacio en la línea anterior.
Para pasar de modo edición a modo de comandos se emplea la tecla ESC, para desplazarse sobre el archivo puede
emplear las flechas, PgUp, PgDn, también se pueden utilizar las teclas j (abajo), k (arriba), h (izquierda) y l
(derecha).

MC: Es un editor de texto como el EDIT del DOS.

Cat: Se utiliza para concatenar archivos y mostrarlos por la salida estándar (normalmente la pantalla).
More: es un filtro para paginar texto, mostrando una pantalla cada vez.
Esta versión es especialmente primitiva. Los usarios deben tener en
cuenta que less(1) ("menos") provee more(1) ("más") emulación y muchas
más mejoras.

c) Cree un archivo llamado “[Link]” en su directorio personal usando el vi.


El mismo debe contener su número de alumno y su nombre.
d) Investigue el funcionamiento del comando file. Pruébelo con diferentes
archivos. ¿Qué diferencia nota?
e) Utilice el editor vi para editar el archivo anteriormente creado.

También podría gustarte