• No se han encontrado resultados

LINUX EL SISTEMA OPERATIVO

N/A
N/A
Protected

Academic year: 2021

Share "LINUX EL SISTEMA OPERATIVO"

Copied!
9
0
0

Texto completo

(1)

Capítulo 1

L

INUX

E

L

S

ISTEMA

O

PERATIVO

A mediados de los años 70, durante la guerra fría, el gobierno norteamericano escogió un sistema operativo muy popular entre las universidades llamado Unix para crear un sistema de comunicación remota que fuera inmune a ataques y usara la línea telefónica como vía. Esto hizo que se implementara diversos protocolos de conexión a red, haciendo de Unix el sistema operativo sobre el cual se creó Internet. Con el tiempo han surgido varios sistemas operativos tipo Unix creados por diversas empresas: AIX (IBM), Solares (Sun), IRIX (Silicon Graphics), HP-UX (HP), Tru64 (Compaq), MacOSX (Apple), entre otros.

Dentro de los sistemas operativos Unix para computadores personales destacan Linux y BSD (OpenBSD, FreeBSD, NetBSD) los cuales son de código fuente abierto (open source), gratuitos y de gran potencia no sólo para trabajo en red, sino que para uso general del computador y hoy por hoy está sumando gran cantidad de adeptos, disminuyendo con esto el monopolio que ejerce Microsoft Co. con sus mediocres productos (líneas Windows, Office, IE entre otros).

(2)

Arranque

Al encender el equipo (estación de trabajo), el

hardware lee el mbr del disco duro maestro o primario

donde se encuentra el gestor de arranque. Este es un pequeño programa que contiene información sobre particiones existentes, a que corresponden (a que sistemas operativos) y la ubicación de su kernel. Luego de la carga del kernel se monta el sistema de archivos y comienza el proceso init el cual es un conjunto de instrucciones, que es propia de cada sistema operativo, y que regula la conexión a red, los software a utilizar, la activación del modo multiusuario, la ejecución del modo X-Window, el comportamiento frente al usuario, etc.

En el caso de Linux, una vez que se ha finalizado el proceso de arranque, se pide la identificación del usuario. A pesar de que es posible dejar el computador sin un usuario determinado (en algunas distribuciones) lo más recomendado es que sea obligatorio el uso de un usuario con su correspondiente contraseña.

Entonces escribimos el login (nombre del usuario) y el password (contraseña).

login: username password: ********

Luego hay dos posibilidades, que se obtenga un símbolo del sistema ($) y el sistema operativo queda funcionando solo con la shell (para la interacción con el usuario) o que parta el X Window y luego un entorno de escritorio o gestor de ventanas como Gnome, KDE, XFCE u otro.

Distribuciones Linux

Existen distintas versiones de Linux, que tienen en común el modo de arrancar, el sistema de archivos, el sistema de permisos, el kernel, la shell, entre otros. Sus diferencias son básicamente el modo de configuración, la forma de descargar e instalar programas externos y el entorno de escritorio que utiliza (aunque se puede cambiar). Existen muchas distribuciones, pero las más grandes (y de las que derivas la mayoría) son Debian, SuSe, Slackware, Gentoo y RedHat.

Hardware Son las partes físicas del

computador, incluye todas las piezas y accesorios.

Software Datos y programas que se

encuentran almacenados en la memoria del computador y que existen en y gracias al hardware.

mbr Viene del inglés “master boot record” y es un pequeño sector de memoria al principio del disco duro que contiene información sobre la tabla de particiones.

Partición Es una división lógica del disco

duro que le permite a un software acceder a su información.

Sistema Operativo Conjunto de softwares que

básicamente permiten la vinculación del usuario con el hardware, proporcionando una interfaz de comunicación que permita gestionar los recursos de manera eficiente.

Kernel Es el núcleo del sistema

operativo. Es el nexo directo con el hardware, gestiona todos sus recursos. Es quien decide que software utilizará que hardware y por cuanto tiempo.

Shell Es el llamado intérprete de

comandos. Es el encargado de “entender” y ejecutar las órdenes básicas de manejo del sistema. La shell típica de Linux es bash.

X Window Es el encargado de dar una

interfaz gráfica. Funciona como servidor máquina-usuario ya que contiene todo un conjunto de softwares que permiten el manejo de accesorios (monitor, teclado, mouse, etc). El más usado actualmente es el Xorg-X11

Entorno de escritorio Es el conjunto de software que

funciona sobre el X Window y da una interfaz amigable entre el software y el usuario.

(3)

Sistema de Archivos

Es sistema de archivos de Linux y la forma de trabajar con las particiones funciona de un modo muy distinto al de MS Windows, al que la mayoría está acostumbrado. Por está razón se hará una analogía entre ambos sistemas operativos.

En MS Windows cuando se tiene una partición, ésta se nombra C: y si se tienen más particiones, unidades de CD o DVD, pendrives, etc. se nombran D: E: etc.

En Linux los dispositivos de memoria (particiones, unidades de CD o DVD, pendrives) no tienen una ubicación fija, ya que uno los define (o se definen automáticamente por el software). En Linux el sistema de archivos se monta en “/” que vendría a ser como “Mi PC” de MS Windows. Luego se pueden crear directorios (carpetas) o almacenar archivos allí. Si se crea una carpeta “boot” esta se identifica por su ubicación: /boot. A su vez si creamos otra carpeta en boot o guardamos un archivo este se nombra: /boot/carpeta o /boot/grub.conf

En Linux existen varios directorios típicos como boot (se almacenan archivos del arranque), root, bin (archivos ejecutables), usr (programas), dev (dispositivos), home (archivos de usuarios), proc (mensajes del kernel), mnt (montajes temporales), etc (archivos de configuración), tmp (archivos temporales), var, lib (librerías), entre otras.

Una partición puede estar en cualquier directorio, así como los dispositivos de memoria también pueden ser “montados” en un directorio a elección. Generalmente los dispositivos de memoria se montan en la carpeta /mnt como /mnt/cdrom, /mnt/floppy, /mnt/usbmem, etc.

Los archivos propios de cada usuario se guardan en /home/usuario, y aquí se encuentran los archivos de configuración propios para cada usuario así como su escritorio y su papelera.

Línea de Comando

En el caso de que se entre a un entorno de escritorio (Gnome, KDE), para poder acceder a la línea de comando es necesario ejecutar un programa llamado

terminal que abre una ventana con la línea de comando

dentro del gestor de ventanas. En el caso que no se entre a un entorno de escritorio directamente, la shell está lista para “escuchar” los comandos que el usuario digite.

El formato GNU de línea de comandos consiste en el comando en sí (o sea el programa a usar), argumentos opcionales o parámetros y el operando sobre el cual se trabaja el comando (como un archivo). Por ejemplo

$ comando -opciones -parámetros operando

(cuando aparezca el signo peso $, quiere decir que lo que aparece a continuación es un comando y al escribirlo en el computador, no es necesario agregar el signo $, porque ya está)

Los sistemas operativos basados en Unix (como Linux) funcionan con un sistema llamado input/output (I/O). Este sistema consiste simplemente en que todo programa o comando requiere un parámetro de entrada (input) con el que trabajará el programa, algo así como la materia prima y un parámetro de salida, que es donde se entregarán los resultados del programa (output) en el caso que los haya. A veces si no se da un parámetro de salida (como un nombre de archivo) donde “poner” los resultados, estos solo se muestran en pantalla, lo que se conoce como stadard out o stdout. Muchos programas de Linux usan el stdout como salida por defecto.

(4)

Comandos: Archivos y directorios

pwd - “print working directory”

Este comando sirve para imprimir en pantalla el pathname completo del directorio de trabajo actual. Solo se escribe el comando, no tiene opciones ni parámetros.

cd – cambiar directorio de trabajo

Cambia el directorio de trabajo. El único argumento que necesita es el pathname de l directorio al que se desea trabajar.

$ cd /home/bioinfo

mkdir – crear directorios

Crea subdirectorios en el directorio de trabajo actual

$ mkdir bqa449

ls – saber que archivos tengo

Entrega en pantalla una lista de los subdirectorios y archivos que existen en el directorio de trabajo, a no ser que se especifique otro. Se puede utilizar el comodín * que vale por un número indeterminado de caracteres. El modificados -l entrega un informe detallado.

$ ls *.txt

Entregará los archivos terminados en “.txt” del directorio de trabajo.

$ ls -l /usr

Entregará todos los archivos del directorio /usr con información más detallada de cada uno de ellos

rm – eliminar archivos

Elimina los archivos o directorios. La opción -f evita confirmar la eliminación de cada archivo, el modificador -R elimina todos los archivos y subdirectorios en forma recursiva.

rmdir – elimina directorios vacíos cp – copiar

Copiar archivos y directorios desde una ubicación especificada hacia un destino especificado.

$ cp original destino

mv – mover o cambiar nombre

Funciona igual que copiar, solo que mv es como cortar de MS Window. Si se da el mismo directorio de origen y destino, pero otro nombre solo cambia el nombre del archivo.

(5)

Ambiente de Trabajo Multiusuario

Para tener acceso a un sistema Unix, se requiere estar registrado como usuario. Esto genera una identificación como usuario, verificado mediante un nombre de usuario y una contraseña, otorgándonos dominio sobre una parte del sistema (directorio /home/usuario) y acceso a pertenecer a grupos. El acceso a los recursos es controlado a partir de permisos que poseen los archivos y directorios asociándolos a distintos usuarios y grupos definidos. Estos permisos generan el modo de acceso sobre los archivos y directorios, pudiendo ser representados de forma simbólica. Existe un usuario en todo sistema Unix llamado el superusuario, quien tiene acceso a todos los archivos y directorios, así como es capaz de modificar los permisos de estos. Este superusuario se llama root y para acceder como él, desde la línea de comando se digita el comando su, que pide la contraseña correspondiente.

Existen tres tipos de permisos que un usuario puede tener para un archivo (o directorio):

r (4) – permiso de lectura w (2) - permiso de escritura x (1) - permiso de ejecución

Para conocer los permisos de un archivo se utiliza normalmente: ls -l

El primer bloque se caracteres se indican los permisos correspondientes a cada nivel de uso, luego aparece el dueño y el grupo y finalmente la fecha de creación del archivo y su nombre.

Los permisos están agrupados en un primer caracter que define si es un archivo (-), directorio(d) o enlace (l),. El segundo grupo de tres caracteres se aplican al usuario dueño del archivo (en este caso felipe), los siguientes tres caracteres se aplican al grupo (o sea todos los usuarios que pertenezcan al grupo users) y los últimos tres caracteres se aplican a los usuarios que no pertenezcan a este grupo.

Los permisos se ajustan con el comando chmod y el dueño y grupo con el comando chown.

Comandos - Avanzados

man – manuales de programas

Este sencillo programa permite ver el manual de cualquier programa de Unix

$ man grep

Muestra el manual del programa grep.

tar – empaquetado de archivos y directorios

Es un programa que permite agrupar archivos y directorios en un solo paquete, así como comprimirlos utilizando otros programas. Los modificadores más usuales son:

-f Especifica los archivos a utilizar -c Crea un paquete de archivos -x Desempaqueta

-v Muestra en pantalla los archivos que se están procesando -z Comprime o descomprime utilizando gzip.

(6)

head – encabezado de archivos

Permite ver las primeras líneas de un archivo, por defecto entrega 10 líneas, pero se puede ajustar para ver más.

tail – final de un archivo

Muestra las últimas 10 líneas de un archivo. Funciona igual que head.

more – paginador de archivos

Imprime en pantalla el contenido de un archivo. Si este es muy grande y no alcanza a salir en la pantalla, more, lo va mostrando de página en página

grep – búsqueda de secuencias de caracteres en archivos

Busca expresiones regulares en uno o varios archivos, permitiendo encontrar archivos por algún contenido conocido.

$ grep ATOM 3nos.pdb

Este comando busca y muestra todas las líneas que contengan la palabra ATOM dentro del archivo 3nos.pdb awk - extracción de columnas

Este programa extrae los valores de una columna en particular desde un set de varias columnas. $ awk datos.txt ‘{print$0}’

Con este comando se extrae la primera columna del archivo datos.txt. Se comienza a contar desde 0.

Redirección de comandos

En Unix, muchos comandos leen desde una entrada estándar y derivan el resultado a una salida estándar. En las shells de Unix es posible manejar estos flujos en forma previa, proporcionando una manera uniforme de realizar estas tareas. Entre los mecanismos de redirección de entrada y salida estándar de comandos Unix están:

> Redirecciona la salida de un comando hacia un archivo

$ ls -l /home/felipe

Este comando muestra todos los archivos de la carpeta /home/felipe. Pero:

$ ls -l /home/felipe > /home/felipe/lista.txt

Con este comando lo mismo que antes iba a la salida estándar (lo muestra en pantalla) ahora se almacena como texto en el archivo lista.txt que se ubica en /home/felipe.

>> Anexa a un archivo existente

Hace lo mismo que el anterior, pero en este caso agrega al final de archivo que ya existía.

| (pipe) Envía la salida de un comando como entrada de otro

Ejemplos:

$ dmesg

Este comando muestra todos los mensajes del kernel (es muy grande y no alcanza salir completo

en la pantalla)

(7)

Editores de texto

La edición de textos permite la modificación de los contenidos de un archivo en sus caracteres, sin asignarlo a un programa específico, lo que se conoce como “texto plano”. Esta independencia respecto a un programa lo hace diferente a los procesadores de texto como MS-Word, OpenOffice, los cuales agregan encabezados de reconocimiento a los archivos. En bioinformática a menudo es necesario crear o modificar archivos de este tipo, así como archivos de configuración en Linux. Para esto son útiles los editores de texto, los cuales vienen incluidos en los distintos sistemas Unix y entre los más frecuentes de encuentran:

vi y vim pico joe emacs nano

El más recomendable es nano pues entrega los comandos de manejo directamente en pantalla y es muy sencillo de usar, aunque emacs está dentro de los preferidos de los usuarios Linux, por su flexibilidad y capacidad de extensión.

Linux como Sistema Operativo de Red

Entendemos por trabajo en red (o remoto), todo lo que implique la conexión de dos o más máquinas separadas físicamente para transferir información de cualquier tipo. Dentro de esta definición podemos considerar el mismo Internet, así como todos los protocolos que se explicarán a continuación.

En el ámbito del Internet o trabajo remoto, siempre debe haber por lo menos un computador que sirva como cliente y otro de servidor. El cliente es la máquina que solicita el servicio, es normalmente el computador que uno como usuario está utilizando, por ejemplo al conectarse al Internet. El servidor el la máquina que recibe la solicitud y entrega lo solicitado, como un servicio interactivo (Internet y HTTP), archivos (FTP y PPP), o una shell (Telnet y SSH).

Existen muchos protocolos que nos permiten conectarnos a máquinas remotas, entre las cuales están: TCP/IP (Transmission Control Protocol / Internet

Protocol), http (Hypertext Transfer Protocol), FTP (File Transfer Protocol), PPP (Point-to-Point Protocol), Telnet,

DHCP, SLIP, entre otros.

Dirección IP y Hostname

Para poder usar la red en cualquier sistema, debemos identificar la máquina que uno usa dentro del sistema completo. Para eso se usa normalmente el protocolo IP (Internet Protocol) que establece un sistema de numeración para identificar a las computadoras en el Internet. Esta dirección IP consta de cuatro números entre 0 y 255 separados por puntos, permitiendo a nuestro software de red conectarse al sitio deseado a través de esta dirección, la cual es propia de mi máquina. Para facilitar el acceso a estas direcciones, se asocia un hostname a una dirección IP, para facilitar las cosas a los usuarios.

FTP – Transferencia de archivos

FTP es un protocolo de transferencia de archivos a través de la red. Un servidor FTP permite a los clientes conectarse de manera anónima y navegar y descargar los archivos disponibles. Existe un gran número de aplicaciones FTP para Linux, tanto para consola como en ambiente X-Window.

(8)

Telnet y SSH

Telnet es un protocolo que permite a un usuario conectarse a un computador remoto como si estuviese realmente allí, permitiendo el acceso a nuestros archivos y trabajar con ellos desde cualquier parte del mundo a través de una conexión por Internet. Sin embargo, frente a Telnet, SSH (secure shell) ofrece sesiones remotas encriptadas que permiten una conexión mucho más segura (aunque no infalible) y con la misma funcionalidad.

Comandos - Trabajo remoto

lynx – navegador web por consola

Es un navegador de uso general, muy sencillo y liviano, que funciona bajo consola, muy útil cuando no se tiene acceso a X-Window. Lynx solo muestra texto en un formato simple, sin imágenes, animaciones, applets, banners o add-ons.

$ lynx www.google.cl

ssh – secure shell (conexión segura por shell)

Es la mejor forma de trabajar de forma remota en la shell de un computador (llamado servidor) al que no se tiene acceso físico a través de otro computador (llamado cliente). Otorga una interfaz por consola, de la misma manera que si uno estuviera trabajando físicamente en ese computador. Funciona mediante cuentas de usuario existentes en el computador a cual conectarse, y lo identifica por su IP. Además existe la opción de activar la transferencia de gráficos (X-Forwarding), o sea utilizar programas que usen el servidor X.

$ ssh –l felipe 158.251.6.4 –X

Con la opción –l, se indica el nombre de usuario, y con la opción –X, se activa la transferencia de gráficos. El IP indicado corresponde a la dirección del servidor al cual deseamos conectarnos.

(9)

scp – transferencia de archivos por ssh

Este programa forma parte de las aplicaciones de ssh y permite copiar archivos de un computador a otro. Muy útil cuando se quieren respaldar archivos del servidor por medio de disquetes, pendrives o cds (puesto que no se tiene acceso físico al servidor pero sí al computador cliente).

$ scp felipe@158.251.6.4:/home/felipe/conf.d /home/bioinfo

Con este comando estamos copiando el archivo “conf.d” que se encuentra en el directorio “/home/felipe” del usuario “felipe” en el computador “158.251.6.4” hasta el directorio local (en el computador cliente) “/home/bioinfo”. Puede usarse para copiar carpetas con todo su contenido (modo recursivo) con el modificador –r.

wget – descarga de archivos desde Internet

Programa ampliamente usado Linux para descargar a través de consola un archivo desde Internet. Puede utilizar protocolo http como ftp.

$ wget http://mirror.ucv.cl/gentoo/distfiles/emboss-3.0.tar.gz

Referencias

Documento similar

Pero antes hay que responder a una encuesta (puedes intentar saltarte este paso, a veces funciona). ¡Haz clic aquí!.. En el segundo punto, hay que seleccionar “Sección de titulaciones

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

En primer lugar, el agricultor ya no vende, el agricultor ya tiene que ir a través de los mercados, y no es que tenga que ir a través de los mercados porque alguien, un alcalde o