El documento proporciona una introducción al sistema operativo Linux, describiendo su origen y desarrollo a partir de Unix y Minix. Explica las características del núcleo Linux y los principales comandos y utilidades asociadas con el sistema de archivos, intérprete de comandos y procesos de instalación de Linux.
1. CONALEP TLALNEPANTLA 1
MAESTRA MARICARMEN
ZARATE HERNANDEZ
ALUMNA INGRID ARELI REYES
CERVANTES
GRUPO 301
2. INTRODUCCIÓN AL SISTEMA OPERATIVO
LINUX
El sistema operativo Linux se genera inspirándose en dos sistemas
operativos, el
sistema abierto UNIX creado en 1969 por Ken Thompson y Dennis
Ritchie en los
laboratorios de Bell. De este sistema se toman sus características,
especificaciones
y funcionamiento. Mas el sistema educativo Minix creado en 1987
por Andrew S.
Tanenbaum del cual se toma la estructura y código del núcleo. Con
todo esto en
1991 Linus Torvalds crea Linus’s Unix = Linux Kernel, esto es crea
solo el núcleo
del sistema sin la capa de servidores, manejadores, aplicaciones
graficas, etc que
serán creadas posteriormente por otros autores. El código del
núcleo lo podemos
encontrar en la dirección (www.kernel.org). El núcleo actual tiene
aproximadamente
3. 1,5 millones de líneas de código, y representa menos del 50 por
ciento de todo el
código del sistema.
En la comunidad de programadores se crea el proyecto GNU (Gnu’s
Not Unix),
proyecto para generar software libre, donde se generan editores
Emacs,
compiladores gcc, interprete de comandos bsh, sistema operativo
Hurd,
aplicaciones, etc., bajo la licencia publica general GPL (General
Public License),
usar, copiar, distribuir y modificar (con las mismas condiciones). Se
conserva la firma
del autor. Se puede cobrar.
Linux se crea con esta filosofía de libre distribución y el sistema
operativo completo
que se construye con este núcleo también. A todo el sistema se le
da el nombre de
GNU/Linux (distribución completa del sistema operativo con Linux),
que contiene el
núcleo (1,5 millones de líneas de código) mas las otras capas del
sistema operativo
4. y utilidades. Si bien muchas veces se denomina a todo el sistema
simplemente
LINUX.
CARACTERISTICAS DEL NÚCLEO
- Su código es de libre uso.
- Escrito en lenguaje C, compilado con gcc, primera capa en
ensamblador.
- Ejecutable en varias plataformas hardware.
- Se ejecuta en máquinas con arquitectura de 32 bits y 64 bits.
- Estaciones de trabajo y servidores.
- Código y funcionamiento escrito bajo la familia de estándares
POSIX
(Portable Operating System Interface).
- Soporta CPU’s con uno o varios microprocesadores (SMP)
symmetric
multiprocessing.
- Multitarea.
- Multiusuario.
- Gestión y protección de memoria.
5. Sistema de ficheros
Conjunto algoritmos y estructuras auxiliares que nos van a permitir
de manera sencilla y transparente acceder nuestros datos en
dispositivos de almacenamiento (por ejemplo: un disco duro, un
cdrom, un disquete, un pendrive, etcétera).
Sector
Unidad de almacenamiento en disco. Es el tamaño real en que el
disco almacena los datos. No se pueden realizar lecturas o
escrituras en un disco menores de este tamaño (normalmente 512
bytes).
Bloque/Clúster
Unidad de almacenamiento del sistema de ficheros. Es el tamaño
lógico con el que trabaja el sistema de ficheros. No se pueden
realizar lecturas o escrituras en un sistema de ficheros menores de
este tamaño. El tamaño de bloque o clúster es configurable en la
mayoria de los sistemas de ficheros. Bloques o clusters grandes dan
un mejor rendimiento para ficheros de gran tamaño, pero
desperdician mucho espacio para ficheros de pequeño tamaño.
Inodo
Estructura de datos que almacena información sobre un objeto del
sistema de ficheros (por ejemplo: un fichero regular, un enlace, un
directorio, etcétera). Dependiendo del sistema de ficheros la
información almacenada en los inodos sera diferente, pero la
6. finalidad sera siempre la misma, representar un elemento de
nuestro sistema de ficheros.
FAT
Es una estructura que almacena información sobre el estado de los
clústers en los sitemas de tipo FAT.
Sector de arranque
Zona del dispositivo/partición reservada para el arranque del
sistema operativo. Normalmente se reserva al principio un espacio
para el sector de arranque, pero hay casos especiales como NTFS
que guarda además un copia de seguridad del mismo o XFS que no
incorpora este espacio para arranque.
Súper Bloque
Estructura de datos que almacena información sobre todo el
sistema de ficheros. Nos da información global sobre todo el
sistema de ficheros ademas de contener información
imprescindible para su correcto funcionamiento.
Trashing
Ineficiencia producida en un sistema de ficheros debido al excesivo
movimiento de los cabezales del disco duro.
Journaling (Bitacora)
Sistema de control de las operaciones del sistema de ficheros. Al
poner en marcha el sistema de ficheros, deshace las operaciones
que no hubieran sido completadas para evitar problemas de
coherencia en caso de que la partición o dispositivo haya sido
desconectada incorrectamente.
Permisos POSIX
7. Sistema de permisos estandar en sistemas Unix. Divide los permisos
de cada fichero en tres niveles, dueño, grupo y resto, aplicandole a
cada usuario el nivel correspondiente. Para cada nivel existen 3
tipos de permiso, lectura, escritura y ejecucion.
ACL's (Listas de control de acceso)
Listas de Control de Acceso, nos permiten establecer permisos con
una precicion mayor. Nos van a permitir establecer los permisos de
un objeto a un usuario para una acción.
Extents
Una referencia a un conjunto de datos especifiando direccion y
número de bytes. Nos va a permitir representar conjuntos muy
grandes de datos con entradas poco mayores que una direccion, en
cambio, con direcciones de memoria, es necesario una direccion
por bloque.
VFS
Capa de abstracción del kernel Linux para los sistemas de ficheros.
El kernel de linux nos da esta capa de abstración para hacer mas
fácil y mas óptimo el acceso a disco. Integra sus propios buffers de
lectura y escritura y algunas otras funcionalidades interesantes.
Enlace
Un enlace es a ojos de los usuarios un fichero normal y corriente,
pero a ojos del sistema operativo es un apuntador a otro fichero.
Dicho de otro modo, cuando accedemos a un enlace, estamos
accediendo a un fichero que se encuentra en otro lugar. Existen dos
tipos de enlaces: duros y blandos. Un enlace duro es realmente el
fichero apuntado. Esto es, no apunta al otro fichero, sino que es el
mismo fichero, pero puede que con otro nombre. Un enlace blando
en un apuntador; es un fichero que almacena la ruta del fichero
8. apuntado. El uso de enlaces es transparente al usuario. Los enlaces
son parecidos a los accesos directos de los sistemas MS Windows.
INTEPRETE DE COMANDOS
El intérprete de comandos actúa como una interfaz alfanumérica y
a su vez es un programa informático, hace posible que el sistema
operativo realice órdenes deseadas por el usuario mediante una
serie de comandos. Su uso nos da una gran flexibilidad sobre el
sistema, fundamental para todo aquel que quiera conocer mejor la
esencia de los sistemas Linux o quiera profundizar en el área de
administración de sistemas, programación, redes y servidores.
También llamada interprete de línea de comandos (CLI).
Bourne Shell (sh)
Creator original: Stephen Bourne, de los Laboratories Bell de AT&T.
Año de aparición: 1977 – Actualidad
Descripción: Fue el intérprete usado en las primeras versiones de
Unix y se convirtió en un estándar de facto.
Korn Shell (ksh)
Creador original: David Korn de los Laboratorios Bell de AT&T.
Año de aparición: Comienzos de los 80s - Actualidad.
Descripción: Escrito para el proyecto GNU (GPL). Sus funciones
avanzadas para manejar archivos de comandos lo pusieron a la par
con lenguajes de programación especializados como awk y perl.
Zsh
Creador original: Paul Falstad
Año de aparición: 1990 - Actualidad
Descripción: Se diseñó para poder usarse interactivamente.
Bash
Creador original: Brian Fox
9. Año de aparición: 1987 - Actualidad
Descripción: Escrito para el proyecto GNU se usa por defecto en la
mayoría de las distribuciones de Linux. La sintaxis de órdenes de
Bash incluye ideas tomadas desde Korn Shell. (Bash se usara en el
curso).
Comandos Linux de archivos y directorios
Comandos Linux de ficheros y directorios, crear y borrar
directorios; listar, copiar, renombrar y borrar archivos, crear
enlace entre archivos.
ls : Listar archivos y directorios
cp : Copiar archivos y directorios
pwd : Mostrar el nombre del directorio de trabajo actual
cd : Cambiar de directorio
sort : Ordenar ficheros
mkdir : Crear directorios
touch : Crear o actualizar ficheros
rm : Borrar archivos y/o directorios
rmdir : Borrar directorios vacios
mv : Mover o renombrar archivos
more : Muestra ficheros página a página
less : Muestra Ficheros página a página
cat : Mostrar ficheros de forma continua
head : Ver el inicio de un archivo
tail : Ver las últimas líneas de un archivo
find : Buscar archivos
grep : Buscar el patrón pasado como argumento en uno o más
archivos
wc : Calcular la cantidad de cadenas y palabras en archivos
10. ln : Crea enlace entre ficheros
Comandos linux para programar la ejecución de comandos una
vez o de forma reiterada.
crontab : Ejecutar comandos linux a intervalos de tiempo
regulares
at : Ejecutar un comando linux un vez
Comando linux usados para archivar, extraer y comprimir
ficheros.
tar : Almacenar y extraer ficheros de un fichero archivador
gzip : Comprimir ficheros
bzip2 : Comprimir ficheros
Instalación de Linux
Instalación del Sistema Operativo Linux
Accedemos a la página de descarga de Ubuntu
pulsando aquí y seleccionamos el sistema de 64 bits y a
continuación pulsamos sobre “Start Download”. Acto seguido,
se empezará a bajar a nuestro equipo una imagen ISO con
Ubuntu Linux.
Una vez descargado el archivo ISO, tenemos dos opciones:
grabarlo e instalarlo desde un CD/DVD o hacerlo de un
pendrive de por lo menos 2GB, por lo que necesitaremos un
software que se ejecuta desde Windows y se llama Universal
USB Installer que podemos descargar desde aquí. En esta guia
11. explicaremos el procedimiento para la instalacion a través de
una memoria USB.
Ejecutamos la aplicacion Universal USB Installer y
seleccionamos en el Paso 1 la distribucion Ubuntu 12.04
Desktop, en el Paso 2 elegimos la ubicación del archivo ISO
que nos hemos bajado anteriormente y en el Paso 3
seleccionamos la letra de la unidad USB (IMPORTANTE: ¡¡SE
BORRARÁN TODOS LOS DATOS!!) y pinchamos en “Create”
Una vez finalizado el proceso, extraemos de forma segura la
unidad USB y apagamos el portátil.
Conectamos la unidad USB al portátil de préstamo y lo
encendemos.
12. En cuanto aparezca el logotipo de Acer pulsamos F12 y
cuando aparezca el menú de arranque elegimos la unidad
USB.
La instalación de Linux comenzara automáticamente.
A continuación, seleccionamos el idioma Español o en su
defecto, el que prefiramos para el sistema operativo y
pulsamos sobre “Instalar”.
Durante la instalación, es posible que tengamos la opción de
tener el portátil conectado a Internet para que se baje los
paquetes mas actualizados. Si tenemos esta posibilidad,
Ubuntu lo detectará automáticamente y tendremos la opción
de pulsar sobre “Descargar actualizaciones mientras se
instala”. Tambien podemos instalar software de terceros (por
ejemplo, para reproducir archivos de sonido MP3) pero esta
opción ya queda a la elección del usuario, que dependiendo
13. de su filosofia, elegirá una opción u otra. Despues de elegir las
opciones que mas nos interesen, pulsamos sobre “Continuar”.
Como supuestamente hemos instalado Windows antes de
instalar Linux, deberiamos tener un espacio sin particionar,
por lo que elegiremos la opción de “Instalar Ubuntu junto a
Microsoft Windows”. El resto de opciones son para usuarios
avanzados. Una vez seleccionada la opción deseada, pulsamos
sobre “Continuar”.
14. A continuación, se pondrá a instalar la distribución de Linux, y
mientras instala nos va a pedir que introduzcamos nuestra
ciudad (Madrid), y datos como nuestro nombre, nombre de
equipo, contraseña, etc… que iremos rellenando segun nos lo
vaya pidiendo.
15. Una vez finalizado todos estos pasos ya tenemos instalado
Ubuntu instalado junto a Windows y en el siguiente arranque,
antes de iniciar cualquier sistema operativo, nos saldrá un
menú para que seleccionemos el sistema operativo con el que
queremos arrancar el portatil.
16. PRINCIPALES COMANDOS DE LINUX
Comando Descripción Equivalente
a DOS
ls listas del contenido de un directorio dir
cd cambio de directorio cd
cd .. directorio principal cd..
mkdir crea un nuevo directorio md
rmdir elimina un directorio deltree
cp copia de un archivo copy, xcopy
mv mueve un archivo move
rm elimina un archivo del
passwd cambia la contraseña del usuario
cat muestra el contenido del archivo type
more
muestra el contenido del archivo con
pausas
type |more
man
apropos
ayuda para el comando requerido help
lpr imprime el archivo requerido print
chmod
cambia el atributo de un archivo
chmod XXX file
XXX= Usuario|Grupo|Otro en el que
X representa un número entero
1<X<7
Lectura=4, Escritura=2, Ejecución=1
17. X=Leer+Escribir+Ejecutar
0 significa ningún derecho
1 significa derecho de ejecución
2 significa derecho de escritura
3 significa derechos de escritura y
ejecución
4 significa derecho de lectura
5 significa derechos de lectura y de
ejecución
6 significa derechos de lectura y de
escritura
7 significa todos los derechos
chfn
cambia la información personal vista
tipográficamente
chsh
cambia la shell: chsh user
ubicación_de_la_shell
finger lista de usuarios conectados
traceroute
traza la ruta entre el equipo local y el
equipo visualizado
ftp[machine]
[port]
get
put
quit
transfiere el archivo entre el equipo
local y el equipo de destino
recupera un archivo (get)
envía un archivo(put)
sale de la sesión FTP (quit)
telnet
[machine]
realiza una aplicación telnet
talk
permite hablar con un usuario
conectado
18. talk user
mesg
autoriza o rechaza el comando talk
mesg n : Impide la recepción de
mensajes talk
mesg y : Permite recibir
mensajes talk
logout desconexión
CONFIGURAR LINUX
Selecciona una computadora. Aunque los requisitosgenerales del
sistema para Linux son relativamente ligeros, la capacidad del
servidor de gestionar varias conexiones puede ser directamente
comparada con el rendimiento de la computadora. Por esta razón,
las redes de tamaño moderado (las que constan con tres a cinco
computadoras) pueden funcionar con una computadora disponible
en cualquier tienda minorista de informática o cadena de tiendas
de descuentos. Las grandes redes pueden exigir una computadora
más potente para poder manejar muchas conexiones simultáneas.
Para la mayoría de las redes, se necesita una computadora con por
lo menos 512 MB de memoria RAM, un procesador de 2.0 ghtz o
mayor, una tarjeta de red y un disco duro grande (de 500 MB en
adelante).
1.
Instala Linux. Si todavía no has instalado el sistema operativo Linux
en tu servidor, descarga el paquete de instalación de alguno de los
sitios de distribución del sistema operativo como Mandriva, Debian,
Ubuntu o Fedora. Sigue las instrucciones de instalación específicas
de tu paquete elegido, prestando especial atención a los pasos de
19. configuración específicos para la red. Si tu distribución de Linux te
pregunta si deseas permitir conexiones FTP, Telnet o de cualquier
otro tipo de red, selecciona la opción para habilitar estas funciones.
2.
Conecta la computadora Linux en la red doméstica. Conecta
físicamente el servidor Linux para tu red conectando el cable
Ethernet entre la tarjeta de red en el equipo y un puerto de red
disponible en tu router. Accede a la configuración de la red en el
equipo siguiendo las instrucciones para la instalación de Linux,
luego establecer la dirección IP de la computadora en "Estática"
con la dirección 192.168.0.254 (los usuarios avanzados con una
configuración de red privada diferente pueden ajustar esta
dirección cuando sea necesario) y después debes proporcionar la
dirección de subred 255.255.255.0. Si la configuración requiere que
coloques una dirección para la puerta de enlace, puedes utilizar la
dirección de tu router de red o si prefieres que esta computadora
no pueda acceder a Internet, rellena la dirección del puerto de
enlace con los números 123.123.123.1.
3.
Agrega usuarios a tu servidor de Linux. Para que los usuarios
puedan asignar su servidor de Linux como una unidad o servidor de
aplicaciones en cada una de sus computadoras, necesitarán un
nombre de usuario y contraseña para acceder a la computadora
con Linux. Configura los usuarios de acuerdo a las instrucciones que
se incluyen con su distribución de Linux en particular y asegúrate de
que estos usuarios tengan acceso a todos los directorios reservados
para los archivos de la red. También se pueden aplicar restricciones
de acceso de red para cada usuario si es necesario.
4.
Habilita la funcionalidad de aplicaciones de red en el servidor Linux.
Si tu distribución Linux no configuró las aplicaciones de red como
FTP y Telnet durante el proceso de instalación, puedes habilitar
20. estos servicios desde tu panel de control de Linux. Puedes elegir los
servicios que deseas que tu servidor de Linux para proporcionar,
pero asegúrate de habilitar los servicios críticos como el FTP (que
permite la transferencia de archivos de Mac y otros sistemas Linux),
Samba (que permite la transferencia de archivos desde
computadoras con Windows) y el Escritorio remoto/VNC (que le
permite a otros usuarios poder ver el escritorio del servidor Linux y
ejecutar otras aplicaciones).
5.
Arma el servidor desde otras computadoras de la red. Si los
usuarios están utilizando las computadoras Mac o Linux, pueden
asignar fácilmente el servidor Linux utilizando técnicas de mapeo
estándar (por ejemplo, en una computadora Mac, simplemente
debes presionar en "Avanzar" y luego "Conectarse al servidor", y
luego debes ir a tu servidor de Linux recién configurado. Desde las
computadoras de Windows, debes presionar el botón derecho
sobre "Mi PC", luego en "Disco de la red" y completar la dirección o
el nombre del dispositivo del servidor. Si la computadora con
Windows no puede conectarse al servidor, comprueba que el
equipo Linux te acepte las conexiones entrantes de Samba. Una vez
que estos usuarios se conectan al servidor, el servidor de red
doméstica de Linux estará activo.