Practica 1 Resuelta
Practica 1 Resuelta
Introducción a GNU/Linux
1.- Particiones.
a) Definición. Tipos de particiones. Ventajas y Desventajas.
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
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
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.
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.
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.
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:
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.
Código abierto (del inglés open source) es el término con el que se conoce al software distribuido y desarrollado
libremente.
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.
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.
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.
AIX (de IBM), GNU/Linux, HP-UX (de HP), MacOS (Macintosh), Solaris (de SUN Microsystems).
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.
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
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
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.
• 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.
EL kernel reside en memoria principal como parte del proceso que se esté ejecutando.
GPL.
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.
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).
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).
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.
/bin/shell
Este es solo un programa que hará de mediador entre nosotros y el kernel del sistema
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.
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.
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:
• 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.
• 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.
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.
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.