Sistemas Operativos Linux_1.pdf
Short Description
Download Sistemas Operativos Linux_1.pdf...
Description
Linux Básico Manual de consulta
Todos los nombres propios de programas, sistemas operativos, equipos hardware, etc. que aparecen en este libro son marcas registradas de sus respectivas compañías u organizaciones. Reservados todos los derechos. El contenido de esta obra está protegido por la ley que establece penas de prisión y/o multas, además de las correspondientes indemnizaciones por daños y perjuicios, reprodujeren, o comunicaren públicamente, en todo o en parte,para una quienes obra literaria, artística oplagiaren, científica,distribuyeren o su transformación, interpretación o ejecución artística fijada en cualquier tipo de soporte o comunicada a través de cualquier medio, sin la preceptiva autorización.
Depósito legal: M-34044-2007 ISBN: 978-84-96794-40-5 © 2007 GrupoGesfomedia S.L.
LINUX BÁSICO
ÍNDICE
Linux Básico Manual de consulta 01: Introducción a linux 7 ¿Qué es un sistema operativo? 8 Historia: Unix, Minix 9 El Movimiento GNU 11 ¿Qué son las distribuciones? 12 Suse 13 02: Instalación de linux 15 Obtención de Linux 16 Requerimientos de hardware y plataformas soportadas 17 ¿Qué son y cómo plantear las particiones? 19 Tipos y restricciones a las particiones 21 Elección de paquetes: tipo de instalación 24 Proceso de Instalación 26 Descripción de los gestores de arranque del sistema 27 Gestor de Arranque por defecto: GRUB 29 03: Terminales virtuales intérpretes de comandos 31 Definición de loseterminales virtuales 32 Entrada en un terminal con usuario y contraseña 33 Tipos de intérpretes de comandos (bash, tsch, ksh) 34 El interprete de comandos por defecto (bash) 35 04: Ficheros y directorios 37 Estructura de ficheros y directorios 38 Moverse por ficheros y directorios 39 Crear, borrar y listar directorios 40 Copiar y mover un fichero 41 Situación de las unidades de disco 42 Descripción y visualización de permisos, grupos y usuarios 43 Procesos Definición y05: actuación sobre47 los procesos 48 Redireccionar la salida de un programa/proceso 48 Conexión entre dos procesos (tuberías) 50 Introducción a las estructuras asociadas a los comandos 50 Metacaracteres relacionados con archivos y comandos 51 Utilización del entrecomillado y empleo de caracteres especiales 52 06: Expresiones regulares y filtros 55 Uso de expresiones regulares 56
Pág. 3
ÍNDICE
LINUX BÁSICO
Otros filtros 57
07: Editores de texto 59 Editores de Texto: Vi y Emacs 60 Ejecución de Emacs en consola y en entorno gráfico 61 Movimiento a través del entorno de Emacs 62 Desplazarse a lo largo del texto 63 Funciones adicionales con Emacs 64 08: Programación de scripts 67 Descripción de la programación de scripts en shell 68 Programación de scripts en shell usando Emacs 69 Programas cuya salida es un texto 69 Variables y operadores 70 Ejemplos de sentencia 73 Tipos de Bucle 74 09: Configuración de x-window 77 Descripción de los gestores de ventanas (gdm, kdm y xdm) 78 Funcionamiento del gestor de ventanas gdm 79 Escritorios (GNOME y KDE) 80 10: El escritorio gnome 83 Como configurar aspectos del escritorio 84 El “Menú Inicio” 84 Organización de ficheros y directorios en GNOME 86 Movimiento y visualización de directorios 87 Crear y borrar carpetas 88 Mover y copiar archivos 89 Descripción de aplicaciones auxiliares 90 Editores de Texto 92 Editor de texto gedit 92 Ejecutar un programa 94 11: Administración de usuarios 97 Descripción del superusuario (root) 98 La orden su 99 Privilegios y uso del superusuario 100 Estructura y carga del Gestor de cuentas de usuario 101 Cambio de privilegios de los usuarios 101 Descripción de los grupos asociados a un usuario 103 12: Administración de ficheros 105 Cómo gestionar los sistemas de ficheros 106 Montaje y desmontaje de sistemas de ficheros 107 Ficheros de auditoria del sistema (I) (Logs) 108
Pág. 4
LINUX BÁSICO
ÍNDICE
Ficheros de auditoria del sistema (II) (Logs) 110
13: Administración del sistema 113 Como arrancar y parar el sistema 114 Opciones de Arranque y parada en consola 115 Control de carga del sistema 116 Automatización de tareas (Cron) (I) 117 Automatización de tareas (Cron) (II) 118 14: Copias de seguridad 121 Copias de seguridad 122 Ejemplo de script de copia de seguridad 122 15: El sistema de impresión 125 Sistema de impresión 126 Impresiones a un archivo 127 16: Gestión de paquetes de instalación 129 Adición de nuevos dispositivos 130 Adición de nuevos programas 131 ¿Qué es el Gestor de paquetes Yast? 133 Yast I 134 Yast II 135 Paquetes externos autoinstalables 136 Conversión de tipos de paquetes 137 Compilación de nuevos programas 139 Descompresión 140 Configuración 141 Make y make install 141
Pág. 5
Linux Básico TEMA 1: INTRODUCCIÓN A LINUX
0101 ¿Qué es un sistema operativo? 0102 Historia: Unix, Minix 0103 El Movimiento GNU 0104 ¿Qué son las dist ribuciones? 0105 Suse
INTRODUCCIÓN A LINUX
LINUX BÁSICO
¿Qué es un sistema operativo? Existen múltiples definiciones para sistema operativo (S.O.), podríamos definirlo como: “Aquel conjunto de aplicaciones o software que permiten la interacción entre el usuario y el ordenador mediante el uso de un soporte físico también llamado hardware”
Normalmente, cuando el usuario final adquiere un ordenador éste suele venir equipado con un conjunto de aplicaciones que cumplen las condiciones de dicha definición. La forma más extendida de sistema operativo para ordenadores tipo PC suele ser Windows, sin embargo existen multitud de alternativas al alcance del usuario final, como son: Unix, Linux, Solaris, BSD, Mac Os, etcétera. Algunas de las tareas más destacables que lleva a cabo un sistema operativo son: Administración de los distintos recursos del sistema. Control y gestión de las tareas del sistema. Configuración del hardware para la facilitación de la interacción con el usuario. El uso de los distintos sistemas operativos, depende en gran medida del trabajo que debamos acometer con ellos, nuestras preferencias y conocimientos sobre el sistema.
Pág. 8
LINUX BÁSICO
INTRODUCCIÓN A LINUX
Este curso está dedicado al aprendizaje de uno de estos sistemas operativos: Linux. De forma inicial veremos una aproximación histórica; un acercamiento a sus posibilidades, y los diversos aspectos técnicos que hacen tan potente este sistema operativo.
Historia: Unix, Minix Comencemos hablando de los “padres” de Linux: Unix y Minix. Unix es un sistema operativo creado en el año 1970, y programado en lenguaje ensamblador. Contaba con un procesador de texto, que se usaba tan sólo para procesar las solicitudes de patente que los laboratorios Bell recibían.
Un año más tarde se publicaba el primer manual de referencia sobre Unix, y dos años después (en 1973) se vuelve a reescribir el sistema operativo, esta vez en lenguaje de programación C.
Pág. 9
INTRODUCCIÓN A LINUX
LINUX BÁSICO
Gracias a esta última modificación el sistema se volvió altamente modificable y portable. Respecto a Minix, en 1987 el profesor Andrew S. Tanenbaum crea un sistema clónico de Unix para enseñar a sus alumnos como están diseñados los sistemas operativos, evitando así las restricciones de la licencia de Unix.
Consiguió complejidad al manejo, posibilitó la utilización del sistema en eliminar máquinasla más sencillasrespecto como, por ejemplo,yen ordenadores personales. Sin embargo, debido al enfoque educacional de Minix, su creador no permitía modificaciones complejas, para facilitar su aprendizaje en uncorto periodo de tiempo. Debido a que el autor de Minix no quería modificar su sistema, Linus Tovards decide escribir su propia versión de Minix, que más tarde será considerada como el núcleo de Linux.
Pág. 10
LINUX BÁSICO
INTRODUCCIÓN A LINUX
Actualmente Linux ha ido ganando protagonismo a Minix, ya que Linux constituye un sistema más completo. Sin embargo, un núcleo no basta para ser un sistema operativo, de forma que fue necesaria su unión con un conjunto de aplicaciones para obtener un sistema completo, funcional e independiente. Este grupo de aplicaciones están desarrolladas bajo el nombre GNU.
El Movimiento GNU GNU, son unas siglas que representan GNU is Not Unix, además se pueden pronunciar como Ñu, el nombre del animal. Como hemos mencionado, GNU y Linux se unieron para formar un sistema operativo completo. Normalmente se llama Linux a todo el conjunto, aunque otro nombre es GNU/Linux, si se quiere hacer referencia tanto al núcleo como a las aplicaciones.
El proyecto GNU actualmente está bajo la dirección de la Free Software Fundation, dirigida por Richard Stallman. Bajo dicho proyecto se permite la difusión del software GNU asociado, sin coste alguno, salvo los servicios y el soporte.
Pág. 11
INTRODUCCIÓN A LINUX
LINUX BÁSICO
Todo esto nos permite tener gratis el software, y sólo pagar los medios de almacenamiento.
Actualmente el conjunto GNU y Linux conforma un sistema completo, manejable y al alcance de todos los usuarios, siendo una alternativa real frente a los sistemas operativos comerciales.
¿Qué son las distribuciones? Al igual que en Windows y demás sistemas operativos, podemos encontrarnos con distintas versiones conviviendo al mismo tiempo (como fue el caso de NT con Windows 95, 98, y 2000). Existen multitud de “sabores” o distribuciones de Linux que pueden ser utilizadas y configuradas por el usuario, así como multitud de paquetes de programas y aplicaciones. A pesar de la gran variedad de distribuciones, si el usuario cuenta con el conocimiento de una de ellas, es fácil poder familiarizarse con las demás. El hecho de elegir una distribución u otra dependerá de la utilidad que queramos darle. Existen múltiples distribuciones, algunas de las más destacables son: Suse, Slackware, Red hat, Fedora, Debian, Ubuntu, Knoppix, etcétera. También podemos encontrar variaciones de una misma distribución, es decir, distribuciones desarrolladas que toman otra como base.
Pág. 12
LINUX BÁSICO
INTRODUCCIÓN A LINUX
Son buenos ejemplos: Suse, que está basada en Slackware o Ubuntu y Knoppix que están basadas en Debian. Existen distribuciones orientadas a usuarios domésticos, a distintos aspectos de la informática, al mundo científico, a la administración, etc.
Suse
Durante el curso usaremos la distribución de Linux Suse 10.1. Esta distribución se utiliza por igual en entornos domésticos o de oficina.
Además, una de sus características es ser fácilmente configurable, siendo su uso muy recomendable para usuarios tanto noveles hasta expertos en el mundo de Linux. Suse Linux es una distribución de srcen alemán, actualmente propiedad de Novell, una empresay que ofreceen el todo software y el soporte necesario para esta distribución a particulares empresas el mundo. Novell ofrece distintas versiones de su Linux según las necesidades de quien lo utilice, sin embargo en este curso trataremos la versión que se encuentra al alcance de cualquiera de forma gratuita. Esta distribución, al igual que muchas otras, incluye todo tipo de software adicional:
Pág. 13
INTRODUCCIÓN A LINUX
LINUX BÁSICO
Procesadores de texto, navegadores de Internet, clientes de correo electrónico, reproductores de video y música, etcétera.
Además incluye todo el software necesario para trabajar a lo largo del curso, como veremos más adelante.
Pág. 14
Linux Básico TEMA 2: INSTALACIÓN DE LINUX
0201 Obtención de Linux 0202 Requerimientos de hardware y plataformas soportadas 0203 ¿Qué son y cómo plantear las particiones? 0204 Tipos y restricciones a las particiones 0205 Elección de paquetes: tipo de instalación 0206 Proceso de Instalación 0207 Descripción de los gestores de arranque del sistema 0208 Gestor de Arranque por defecto: GRUB
INSTALACIÓN DE LINUX
LINUX BÁSICO
Obtención de Linux Linux presenta ventajas sobre los sistemas comerciales a los que estamos acostumbrados, una de ellas es que cualquier distribución Linux es gratuita. Así mismo, en ningún momento deberemos pagar para obtener una licencia de Linux. Que no debamos pagar por una licencia de Linux, no quiere decir que sea totalmente gratuito, ya que se puede comprar. Sin embargo sólo pagamos los costes de distribución y losLinux medios de almacenamiento. Existen dos formas de obtenerlo: podemos descargarlo directamente de Internet o bien podemos comprar los CD-Rom directamente.
Por supuesto Suse puede obtenerse de los dos modos anteriores. En este curso optaremos por la opción de descarga de los CDs de Suse 10.1, a través del FTP que Novell pone a disposición de los usuarios para descargarlo libremente. Se puede descargar un set de 5 CD-Rom o bien un solo DVD. Para la versión 10.1 existen tres descargas posibles para distintas plataformas: X86 para procesadores Intel y AMD de 32 bits X86_64 para procesadores Intel y AMD de 64 bits. PPC para procesadores PowerPC de Macintosh.
Pág. 16
LINUX BÁSICO
INSTALACIÓN DE LINUX
Si no sabe cual es que la que debe descargar consulte las especificaciones de su ordenador.
Requerimientos de hardware y plataformas soportadas Otra ventaja de Linux es que su núcleo puede funcionar en máquinas realmente antiguas, de hecho los procesadores más antiguos con los que puede funcionar son los de la serie 386. En cualquier caso, aunque el núcleo de Linux pueda funcionar en un 386, esto no quiere decir que las aplicaciones que funcionan bajo su tutela lo hagan.
Pág. 17
INSTALACIÓN DE LINUX
LINUX BÁSICO
La mayoría de estas aplicaciones exigen unos requisitos mínimos muy por encima de la capacidad de un 386. Como acabamos de comentar, los programas actuales exigen unos requisitos al ordenador bastantes superiores a los que exige el núcleo Linux. El escritorio requiere al menos 256 megabytes de memoria RAM para funcionar correctamente. El procesador debe ser por lo menos un Pentium III o equivalente para que el sistema funcione de forma adecuada. También se hace indispensable una conexión a Internet de banda ancha como la ADSL si queremos mantener nuestro sistema actualizado y al día.
Las distribuciones Linux pueden funcionar en muy variadas configuraciones de hardware. Sin embargo, cada distribución soporta distintas plataformas, y no siempre se cubren todos los tipos de ordenadores. Siempre, desde luego, podemos garantizar que funcionarán en los procesadores AMD e Intel. Suse Linux puede instalarse en PCs con procesadores AMD, Intel, y PowerPC de Macintosh. Para PCs encontramos versiones de 32 y 64 bits.
Pág. 18
LINUX BÁSICO
INSTALACIÓN DE LINUX
Sólo tres plataformas distintas, sin embargo esto cubre a una gran mayoría de usuarios.
¿Qué son y cómo plantear las particiones? Una partición es una parte de un disco duro que está reservada, ordenada y organizada para funcionar como si fuera una unidad de disco independiente, de hecho, en un mismo disco duro podemos disponer de varias particiones distintas. Cada partición se comporta como si fuese una unidad diferente, a pesar de pertenecer al mismo disco duro. Lo más habitual es encontrar los discos duros particionados en una única partición. Sin embargo se puede dividir un disco duro en dos o más partes distintas, de distintos tipos, si queremos, por ejemplo disponer de otro sistema operativo instalado.
Pág. 19
INSTALACIÓN DE LINUX
LINUX BÁSICO
Las particiones dependerán de nuestras necesidades y preferencias. Necesitaremos tantas particiones como sistemas operativos queramos instalar, aunque existen ciertas restricciones.
Hace tiempo era necesario borrar un disco duro completamente para poder partir un disco duro en particiones. Actualmente tenemos aplicaciones que permiten reparticionar un disco duro como alternativa al borrado completo. El instalador de Suse es de este tipo, reparticiona discos sin necesidad de borrarlos, permitiendo conservar el sistema operativo que estuviese previamente instalado.
Pág. 20
LINUX BÁSICO
INSTALACIÓN DE LINUX
Tipos y restricciones a las particiones Hay tres tipos de particiones: primarias, extendidas y lógicas. Las primarias suelen contener sistemas operativos. Las extendidas son particiones contenedoras para las unidades lógicas y se usan para almacenamiento de datos.
Existen restricciones al uso de las particiones, en un mismo disco duro sólo podremos tener cuatro particiones primarias si se van a instalar en ellas sistemas operativos basados en DOS o Windows. Para el resto de sistemas variará para cada caso y las diferentes combinaciones. Sólo podremos tener una partición extendida en un disco duro y dentro de ella las particiones lógicas que queramos. Debemos saber que las particiones no bastan por si mismas, hay que formatearlas o darles formato. Dicho formato puede ser de varios tipos. Éste condicionará el sistema de ficheros que podremos tener dentro de la partición. Dependiendo del tipo de formateado se podrán instalar distintos sistemas operativos.
Pág. 21
INSTALACIÓN DE LINUX
LINUX BÁSICO
Algunos ejemplos son: FAT32 para Windows y reiserFS en Linux.
Dado que vamos a instalar Linux, debemos usar un tipo de partición llamado reiserFS que es el habitual para guardar archivos. Debemos saber que Linux puede y escribir sobre particiones desde Windows no podremos verleer ni escribir particiones de Linux.de Windows, pero
En Linux tenemos un tipo de partición distinto a los demás que se llama Swap. La principal característica de una partición Swap es que permite que su funcionamiento sea auxiliar a los recursos del sistema. Esto permitirá que nuestras tareas se Pág. 22
LINUX BÁSICO
INSTALACIÓN DE LINUX
realicen más rápidamente y que nuestras aplicaciones se vean ayudadas a la hora de trabajar. Este tipo de funcionamiento de la partición resulta similar al de la memoria virtual de Windows, pero una partición Swap es mucho más efectiva ya que, además, dotan de algo de velocidad extra a nuestro ordenador.
Un correcto particionamiento de disco es, por lo tanto, fundamental para evitar futuras pérdidas de datos o fallos en el sistema. Aunque una partición por sistema operativo es, en la mayoría de los casos suficiente, lo correcto, al instalar un sistema operativo como Linux, es, no mezclar los archivos de super usuario o root del sistema y los programas instalados con los utilizados por los usuarios para su trabajo habitual. Lo más recomendable, por lo tanto, es crear, como mínimo, tres particiones.
Pág. 23
INSTALACIÓN DE LINUX
LINUX BÁSICO
En la distribución SUSE Linux estas tres particiones se construyen de forma automática por el instalador del sistema. Estarán distribuidas de la siguiente forma: La primera partición formateada con el sistema de ficheros reiserfs será ocupada por el punto de montaje /, contendrá, además de los archivos principales de la distribución, las herramientas que el super usuario o root utilizará para mantener el sistema en perfecto estado de funcionamiento y los paquetes adicionales de utilidades instalados en el sistema. En la segunda partición, también con el sistema de ficheros reiserfs, estará contenido el punto de montaje /home. Esta partición será la que contenga los directorios personales, y archivos de trabajo de todos los usuarios del sistema.
Por último, se creará una partición de tipo intercambio, swap, o partición auxiliar del sistema, que deberá tener como mínimo el triple de tamaño que la memoria instalada en la máquina y será utilizada por esta en las operaciones de gestión de procesos.
Elección de paquetes: tipo de instalación Uno de los pasos importantes de la instalación es la elección de los paquetes que necesitaremos para el correcto funcionamiento de la distribución en nuestra primera instalación.
Pág. 24
LINUX BÁSICO
INSTALACIÓN DE LINUX
La elección de estos dependerá de nuestras necesidades, Suse Linux nos da a elegir entre varias opciones por defecto según el tipo de escritorio que vayamos a utilizar.
Esta distribución consta de miles de paquetes repartidos a lo largo de los 5 CD-rom de instalación. En la instalación sistema. En nuestro nocaso seránescogeremos necesarios los tres5deCD-roms, ellos. tan solo los que requiera el El programa de instalación realiza gran cantidad de operaciones para facilitar la tarea al usuario. En este curso nos decantaremos por una instalación básica de Suse con el escritorio Gnome, que contendrá todos los programas que usaremos a lo largo del curso.
Pág. 25
INSTALACIÓN DE LINUX
LINUX BÁSICO
Proceso de Instalación Para comenzar el proceso de instalación será necesario haber descargado previamente el conjunto de CD-Rom de Suse necesario. Una vez hecho, basta con introducir el CD-Rom etiquetado como CD 1 en la unidad lectora del ordenador. A continuación, se reiniciará el sistema y el programa de instalación arranca automáticamente. El instalador de Suse realizará de forma automática gran parte del trabajo, por lo tanto sólo será necesario intervenir en algunos de los pasos. Necesitaremos introducir el tipo de instalación que queremos, nuestros usuarios y contraseñas, nuestro idioma, elección de la zona horaria, etcétera. En la primera parte de la instalación escogeremos el tipo de instalación Gnome y como distribuiremos nuestras particiones. Tanto si tenemos instalado un sistema operativo en el disco duro dónde vayamos a instalar Linux como si no, el programa hará las particiones en función del tipo de instalación elegida y el tamaño del disco. También debemos seleccionar el idioma en el que instalaremos el sistema, seleccionamos siempre Español, de modo que la configuración del teclado y los menús sean en nuestro propio idioma. También solicitará la configuración de la fecha y la hora y zona horaria, deberemos comprobar que son correctas, modificándolas si fuera necesario. A lo largo de la instalación se irán solicitando los CD-Rom necesarios para el tipo de instalación elegida. yEnlacambio instalación si hemos se realizará optadosiempre por descargar desde elunúnico DVDdisco. este proceso no será necesario Durante las últimas fases de instalación, deberemos introducir los datos para dos tipos de usuario. Se trata de un superusuario y un usuario normal que nosotros designemos. Es importante recordar estos datos, ya que serán requeridos continuamente. Más adelante veremos como se utilizan el superusuario y el usuario normal.
Pág. 26
LINUX BÁSICO
INSTALACIÓN DE LINUX
Una vez hayamos terminado la instalación, el sistema se reiniciará automáticamente y permitirá el arranque con el nuevo sistema operativo instalado. Llegados a este punto ya podremos empezar a trabajar con él.
Descripción de los gestores de arranque del sistema Un gestor de arranque es un programa para arrancar desde el disco duro. Este programa se instala en una sección del disco duro llamada Master boot record o MBR.
Todos los gestores de arranque realizan el mismo proceso y tienen las mismas funciones. Sólo difieren en algunos aspectos técnicos: estilo, formas de arrancar, configuración, etcétera. Veamos en primer lugar lo que hace exactamente un gestor de arranque: Lo primero que hace un ordenador al arrancar es iniciar la memoria BIOS buscando unidades para poder arrancar el Master boot record de alguna de ellas. Una vez ha localizado el Master boot record de alguna de ellas, se ejecuta el gestor de arranque, que permite seleccionar el sistema operativo con el que queramos arrancar. Pág. 27
INSTALACIÓN DE LINUX
LINUX BÁSICO
En Linux hay múltiples alternativas para arrancar: LILO, GRUB, Loadlin, XOSL. Lilo es una de ellas, durante mucho tiempo fue el gestor de arranque por defecto de los sistemas Linux, pero fue sustituido por GRUB en gran parte de las distribuciones modernas. No presenta ninguna modificación importante sobre las características generales de un gestor de arranque. Por motivos de seguridad, GRUB ha ido sustituyendo el papel de LILO en la mayoría de las distribuciones. A pesar de que tanto LILO como GRUB son similares en cuanto a aspecto y prestaciones, GRUB se torna más seguro y eficaz, por lo que hoy en día las distribuciones Linux tienden a usarlo.
En determinados casos resulta posible ejecutar un gestor de arranque de Linux desde dentro de otro sistema operativo. Pág. 28
LINUX BÁSICO
INSTALACIÓN DE LINUX
Este el caso de Loadlin, que permite lanzar un sistema Linux desde Ms-DOS. Loadlin se utiliza para arrancar Linux en caso de que Lilo o GRUB fuesen sobrescritos por algún otro sistema operativo que hayamos instalado después. Por último contamos con XOSL, un gestor de arranque similar a GRUB o Lilo. Tiene tanta versatilidad como estos últimos y es una alternativa a ellos, sin embargo XOSL es un gestor de arranque que consume bastantes más recursos por lo que no está tan extendido.
Gestor de Arranque por defecto: GRUB El gestor de arranque GRUB aparece visualmente en pantalla como una lista de distintas opciones. En el caso de la distribución Suse muestra una serie de opciones situadas en una columna, en la que cada una suele ser un sistema operativo distinto. En muchos casos se incluyen modos de arranque “a prueba de fallos” para algunos de los sistemas instalados en el ordenador. Para poder desplazarnos a lo largo de las opciones que muestra GRUB utilizaremos las teclas Flecha arriba y Flecha abajo. El sistema deseado, se selecciona simplemente situándonos sobre el y la tecla Intro. Debemos saber que resulta posible editar la forma de arrancar los sistemas operativos y de seleccionar las opciones de arranque para que funcione a nuestra conveniencia. Lo más habitual es dejar el gestor de arranque tal y como está, es decir, que permita tan solo la selección del sistema con el que queremos arrancar. También podemos configurar su aspecto y presentación.
Pág. 29
Linux Básico TEMA 3: TERMINALES VIRTUALES E INTÉRPRETES DE COMANDOS
0301 Definición de los terminales virtuales 0302 Entrada en un terminal con usuario y contraseña 0303 Tipos de intérpretes d e comandos (bash, tsch, ksh) 0304 El interprete de comandos por defecto (bash)
TERMINALES VIRTUALES E INTÉRPRETES DE COMANDOS
LINUX BÁSICO
Definición de los terminales virtuales Una de las características más destacables que incorpora Linux son los terminales virtuales. Los terminales virtuales realizan su acceso mediante líneas de comando de un estilo similar a las que se utilizaban el sistema operativo MS-DOS, sin embargo tienen muchaXP. más potencia que el MS-DOS incluido en sistemas operativos como Windows
Los terminales virtuales permiten una actuación directa sobre el sistema en modo comando, sin necesidad de usar un entorno gráfico. Permiten realizar programas que ayuden al sistema en sus tareas diarias o bien editar algunas configuraciones del sistema de forma manual. Podemos tener hasta seis terminales virtuales trabajando al mismo tiempo de forma local. Tampoco es necesario salir del entorno gráfico para trabajar con estos terminales. Es posible trabajar con estos seis terminales simultaneándolos con el entorno gráfico, y podemos pasar de unos a otros mediante una determinada combinación de teclas. En realidad el sistema viene preparado para la activación de muchos más terminales, pero en modo de acceso remoto. El límite de terminales queda establecido por
Pág. 32
LINUX BÁSICO
TERMINALES VIRTUALES E INTÉRPRETES DE COMANDOS
el número de entradas con la forma ttyxx (donde xx representa dos dígitos) que se encuentren en el directorio /dev. Cuando un usuario arranca el sistema e introduce su login contraseña, se inicia un proceso llamado getty que se encarga, entre otras cosas, de la activación de los terminales a los que el usuario tiene permisos de acceso, tanto si son llamados de forma local como remota.
Entrada en un terminal con usuario y contraseña Cada vez que queramos usar un terminal debemos introducir un usuario y una contraseña. En primer lugar se solicitará el usuario. Como ya sabemos, podemos introducir dos tipos de usuarios: el usuario normal que elegimos durante la instalación y el superusuario o root.
Pág. 33
TERMINALES VIRTUALES E INTÉRPRETES DE COMANDOS
LINUX BÁSICO
También se solicita la introducción de la contraseña. A diferencia de otros sistemas operativos, cuando introducimos nuestra contraseña en un terminal virtual no aparece absolutamente ningún símbolo que indique la longitud de la contraseña. Esto es así por motivos de seguridad, para que nadie tenga conocimiento de ninguna característica de la contraseña.
Para pasar del modo gráfico al primer terminal virtual simplemente basta con pulsar la combinación de teclas Control + Alt + F1, para los demás terminales locales bastará con hacerlo con las sucesivas teclas de función. Para volver al modo gráfico desde cualquier terminal virtual basta con pulsar Control + Alt + F7.
Tipos de intérpretes de comandos (bash, tsch, ksh) Los terminales virtuales llevan asociados un intérprete de comandos que permite, desde ejecutar programas del sistema, hasta programas que hayamos escrito nosotros mismos.
Pág. 34
LINUX BÁSICO
TERMINALES VIRTUALES E INTÉRPRETES DE COMANDOS
No existe límite en cuanto a la dificultad de los programas o a la cantidad de rutinas que deban ejecutar. No existe un único intérprete de comandos para los terminales virtuales. Dependiendo de la distribución que estemos usando tendremos a nuestra disposición un intérprete u otro. Todos los intérpretes de comandos en Linux, también conocidos comoShell se basan en el intérprete srcinal de Unix o Bourne Shell. El más usual en las distribuciones suele ser Bash, por tratarse del más eficaz de todos los Shell existentes.
Bash no es el único Shell para Linux, actualmente también existen el Shell C o Tsch y el Ksh o korn. Ambos presentan características similares en cuanto a comandos para interactuar con programas y archivos, sin embargo la programación con ellos es totalmente distinta.
El interprete de comandos por defecto (bash) Comencemos viendo el intérprete de comandos Bash, que es el más usual de las distribuciones de Linux. Pág. 35
TERMINALES VIRTUALES E INTÉRPRETES DE COMANDOS
LINUX BÁSICO
Bash es el intérprete de comandos srcinal de Unix mejorado, actualmente distribuido por el proyecto GNU.
Es el más eficaz de todos los intérpretes de comandos pues además permite que sobre él se puedan hacer pequeños programas escritos con los comandos de Bash. Con un intérprete comandos como controlarlos, Bash podremos movernosetcétera. por los directorios, editar archivos,decargar programas, reiniciarlos, Además podremos controlar las salidas de los programas, imprimirlas en archivos, o incluso dirigir la salida de un programa a otro programa distinto.
Pág. 36
Linux Básico TEMA 4: FICHEROS Y DIRECTORIOS
0401 Estructura de ficheros y directorios 0402 Moverse por ficheros y directorios 0403 Crear, borrar y listar directorios 0404 Copiar y mover un fichero 0405 Situación de las unidades de disco 0406 Descripción y visualización de permisos, grupos y usuarios
FICHEROS Y DIRECTORIOS
LINUX BÁSICO
Estructura de ficheros y directorios La estructura de ficheros y directorios no es muy compleja, en este tipo de sistemas todas las unidades son tratadas como una carpeta.
De directorio hecho, las raíz unidades asociadas a carpetas todoinclinada el sistema dentro del /, queestarán se representa mediante una ybarra a laestá derecha. El directorio raíz está asociado al disco duro dónde está instalado el sistema, el resto de unidades estarán asociadas con una determinada carpeta. Cada usuario de un sistema Linux tiene asociado un directorio en la carpeta /home y dentro de ésta, una carpeta con el nombre del usuario.
Pág. 38
LINUX BÁSICO
FICHEROS Y DIRECTORIOS
En estas carpetas cada usuario guarda su configuración, archivos personales, etcétera. Algunas carpetas están restringidas, a ciertos usuarios y no todos los usuarios pueden escribir en todas las carpetas, cada usuario sólo puede modificar el directorio con su nombre dentro de la carpeta /home. La excepción a esta situación la marca el superusuario root que puede leer y modificar cualquier directorio. Podemos referirnos a las carpetas de dos formas distintas. Si la carpeta a la que nos dirigimos está dentro del directorio en el que nos encontramos, simplemente la anotaremos con el nombre del directorio. En cambio, si se encuentra fuera del directorio, debemos referirnos a ella como su ruta completa desde el directorio raíz.
Moverse por ficheros y directorios Lo primero que necesitamos saber es cómo localizar el directorio donde nos encontramos. Bastará con escribir la orden pwd en el terminal donde estemos trabajando, y se presentará en pantalla.
Pág. 39
FICHEROS Y DIRECTORIOS
LINUX BÁSICO
Una vez conocemos el directorio donde nos encontramos debemos aprender a movernos por las carpetas. Para movernos por las carpetas usaremos el comando cd. Si queremos utilizarlo basta con escribir las letras cd y a continuación el nombre de la carpeta donde queramos ir.
Si queremos salir de la carpeta dónde estamos e ir a un directorio que esté por encima tecleamos cd ..
Mientras que si queremos volver al directorio de nuestro usuario bastará con introducir la orden cd sin más. De hecho, al teclear cd vamos al directorio con el que entramos al hacer login en un terminal. Por defecto éste suele ser nuestro directorio dentro de la carpeta /home.
Crear, borrar y listar directorios Comencemos viendo como se crea un directorio.
Pág. 40
LINUX BÁSICO
FICHEROS Y DIRECTORIOS
Para crear un directorio en la carpeta dónde estemos basta con teclear la orden mkdir y a continuación el nombre del directorio a crear.
Si queremos borrar un directorio, bastará con hacer uso de la orden rmdir, seguido del nombre del directorio.
Por otro lado, si queremos conocer el contenido de un directorio usaremos el comando ls. Podemos usarlo de dos formas distintas: La primera consiste en teclear directamente ls en la línea de comandos y se listará el contenido del directorio actual.
La segunda consiste en teclear ls más el nombre de la carpeta y visualizaremos tan sólo su contenido.
Copiar y mover un fichero Para copiar archivos usamos la orden cp. Tecleamos cp, el srcen y después el destino. Es decir, el srcen es el archivo o ubicación srcinal del archivo. Mientras que destino es la carpeta donde queremos copiarlo. Pág. 41
FICHEROS Y DIRECTORIOS
LINUX BÁSICO
La orden para mover un fichero es mv y se usa de forma idéntica que cp, debemos indicar qué archivo y su situación deseamos mover, además de dónde lo queremos mover.
Situación de las unidades de disco Ya hemos comentado que en Linux las unidades de disco se tratan como si fuesen carpetas. El sistema suele situarlas en una carpeta por defecto y se identifican mediante una barra inclinada y un nombre en función de la unidad que se trate. A pesar de esto, el administrador puede cambiar estas carpetas y colocar en el sistema otras unidades adicionales, como pueden ser discos extraíbles.
En Linux, las unidades para poder ser leídas deben montarse, es decir deben ser asociadas a una carpeta. En de las distribuciones antiguas era necesario comunicarle al sistema que había un nuevo disco para que éste pudiera, pero aunque en la actualidad este proceso Pág. 42
LINUX BÁSICO
FICHEROS Y DIRECTORIOS
puede seguir haciéndose, el sistema montará por defecto las unidades de forma automática. Si las unidades en Linux pueden montarse, también pueden desmontarse, es decir, quitarlas del sistema. Esto permite “expulsar” una unidad del tipo que sea que ya esté insertada.
Descripción y visualización de permisos, grupos y usuarios Ya hemos comentado que no todos los usuarios pueden leer todas las carpetas y archivos, ni escribirlas, ni moverlas o copiarlas. En este punto entran en juego los llamados usuarios, cada usuario posee una clave y contraseña para entrar en el sistema.
Cada uno de estos usuarios tiene unos permisos determinados que le autorizan al uso de archivos o a realizar determinadas acciones. Concretamente, en el caso de los archivos, el administrador del sistema puede modificar para cada usuario los permisos de escritura y lectura. En el caso de ciertos tipos de órdenes, programas y tareas de administración, el sistema utiliza unos conjuntos denominados Grupos. Los grupos reúnen determinados programas y recursos, lo que facilita al administrador la gestión de los dentro del sistema. Pág. 43
FICHEROS Y DIRECTORIOS
LINUX BÁSICO
La necesidad de esta estructura facilita que dentro de un mismo ordenador distintos usuarios puedan actuar dentro del sistema, cada uno con una configuración distinta.
Para poder realizar estas tareas de administración, el sistema asigna un usuario especial, el llamado superusuario, que nos permite controlar todos y cada uno de los aspectos del sistema. Este superusuario maneja todos los permisos, grupos, y usuarios, lo que le permite controlar en todo momento qué usuario puede actuar sobre qué carpetas. Los permisos activos sobre los archivos pueden ser visualizados por cualquier usuario y sobre cualquier archivo, con la orden ls –l.
Visualizaremos cada archivo con sus permisos, que vendrán representados mediante una numeración que permite saber inmediatamente si podemos actuar o no sobre ese archivo.
Pág. 44
LINUX BÁSICO
FICHEROS Y DIRECTORIOS
Estos números asociados a los permisos se visualizan mediante una terna de números, que identifica precisamente qué es lo que se puede hacer sobre los mismos. El primer número representa los poderes que tiene sobre él el creador del archivo, el segundo los que tienen los usuarios que pertenecen al mismo grupo y el tercero para el resto de usuarios. Los números se representan hasta el 7 y cuando más alto sea más permisos tendremos sobre dicho archivo.
Pág. 45
Linux Básico TEMA 5: PROCESOS
0501Definición y actuación sobre los procesos 0502 Redireccionar la salida de un programa/proceso 0503 Conexión entre dos procesos (tuberías) 0504 Introducción a las estructuras asociadas a los comandos 0505 Metacaracteres relacionados con archivos y comandos 0506 Utilización del entrecomillado y empleo de caracteres especiales
PROCESOS
LINUX BÁSICO
Definición y actuación sobre los procesos Un proceso es una aplicación del sistema que se está ejecutando en un determinado momento. Los procesos pueden ser controlados por los usuarios que, por supuesto, deben tener permisos para actuar sobre ellos. Estos pueden ser reiniciados y detenidos con determinados comandos. Por supuesto, los procesos incluyen al propio sistema, aunque sólo el superusuario puede reiniciar o apagar el sistema desde la consola. La orden para detener un proceso es kill. Se teclea kill el nombre del proceso y éste se detendrá. Este comando significa literalmente matar, tiene bastante sentido, dado que lo que hacemos es decirle al sistema mata esta aplicación, es decir, que deje de funcionar. Para resetear, es decir, reiniciar una aplicación suele usarse el comandorestart, pero no todas permiten hacerlo. Lo más habitual consiste en detenerla y volver a iniciarla más tarde.
Por supuesto, debemos conocer el nombre de la aplicación que queremos detener o reiniciar para poder actuar sobre ella.
Redireccionar la salida de un programa/proceso Generalmente todos los programas o procesos al ser ejecutados muestran algunos textos en pantalla.
Pág. 48
LINUX BÁSICO
PROCESOS
Sin embargo, podemos necesitar que la salida de un programa no se muestre en pantalla sino que genere con ella un archivo o que la envíe directamente a otro programa que la necesita. Para hacer esto, el sistema permite que cambiemos el destino de la salida de un programa.
Si queremos almacenar la salida de un programa en un archivo, podemos usar el signo especial >. La estructura será: programa > archivo. Es decir le decimos al programa que guarde la salida en un archivo.
El signo especial >, también redirecciona la salida de un programa. Este signo pertenece a la categoría de metacaracteres, como veremos más adelante. Pág. 49
PROCESOS
LINUX BÁSICO
Conexión entre dos procesos (tuberías) Existe la posibilidad de conectar dos procesos entre sí. Este tipo de conexión suele llamarse tubería y pueden hacerse para ejecutar un archivo en una carpeta y que llame a un programa ubicado otra carpeta o unidad más lejana.
Por ejemplo, si un programa que usásemos a menudo estuviese en una carpeta muy lejana respecto del archivo raíz, podríamos hacer un link desde una carpeta más próxima.
También podríamos asociarle un comando a ese programa de forma que cada vez que tecleásemos ese comando el programa se ejecutase.
Introducción a las estructuras asociadas a los comandos Hemos visto algunos comandos básicos, sin embargo no sabemos exactamente que estructura tiene un comando. Un comando consta de dos partes, una es el comando en sí, y otra sus opciones.
Pág. 50
LINUX BÁSICO
PROCESOS
Las opciones son aquellos atributos que escribimos tras el comando y que hacen aún más específico el comando que les antecede. Por ejemplo, el comando copiar cp por si mismo no significa nada, debemos especificar cuál es el archivo que vamos a copiar y dónde vamos a copiarlo.
Metacaracteres relacionados con archivos y comandos Existen símbolos especiales que no tienen un significado propio, que sí adquieren cuando acompañan a un comando, ya que conceden una mayor utilidad, flexibilidad y especificidad a los mismos. Los metacaracteres son numerosos y tiene muchísimos usos.
Pueden usarsequepara deseamos borrar los archivos de un directorio, para indicar lostransmitir queremos que copiar todos, para imprimir el resultado de un comando o un archivo, para unir dos comandos, etcétera. Veamos algunos ejemplos del empleo de metacaracteres. La orden rmdir * borrará todos los archivos de un directorio. En cambio ls > listar imprimirá el resultado del comando ls en el archivo listar.
Pág. 51
PROCESOS
LINUX BÁSICO
Por otro lado, ./holamundo ejecutará el archivo holamundo. Como vemos, por si mismos no significan nada, pero al asociarse a ciertas expresiones cobran un significado completo y complementario al de los comandos.
Utilización del entrecomillado y empleo de caracteres especiales En ocasiones será necesario entrecomillar algunas expresiones ya que la función del entrecomillado es que la línea de comandos tome como literal una secuencia de caracteres y no la interprete como una serie de comandos. Con el entrecomillado podemos evitar que la línea de comando presente un mensaje de error en la pantalla al no reconocer un comando. El entrecomillado puede aplicarse también a caracteres especiales, esto evita que el sistema los tome como parte de un script y produzca un error. Si principio queremosyentrecomillar una frase o expresión debemos usar las comillas simples al al final de la misma. A pesar de que podemos entrecomillar una expresión con comillas simples, también podemos usar el doble entrecomillado.
El doble entrecomillado puede usarse si queremos usar comillas dentro de un entrecomillado.
Pág. 52
LINUX BÁSICO
PROCESOS
Es decir, dentro de una expresión entrecomillada con comillas simples, entrecomillaremos con comillas dobles.
Pág. 53
Linux Básico TEMA 6: EXPRESIONES REGULARES Y FILTROS
0601 Uso de expresiones regulares 0602 Otros filtros
EXPRESIONES REGULARES Y FILTROS
LINUX BÁSICO
Uso de expresiones regulares Las expresiones regulares nos permiten hacer grandes búsquedas de forma específica. También pueden usarse para buscar y reemplazar, facilitando algunos procesos. Algunas de las búsquedas características y funcionalidades de las expresiones regulares también permiten en grandes textos. Esto facilita la labor de búsqueda en la línea de comando, característica que aquellos sistemas sólo basados en modo gráfico no necesitan. Las expresiones regulares se vuelven extremadamente útiles en el entorno de los terminales virtuales.
Como las expresiones regulares tienen lugar en múltiples entornos, las vamos a estudiar en la línea de comando. Algunas tiene unadeestructura las expresiones muy sencilla. regulares más habituales utilizan el comando
grep
, que
Por ejemplo, la primera parte es el propio comando, grep y luego la palabra a buscar. Observamos que la primera sentencia comienza por un acento circunflejo seguida de la palabra linu, de forma que esta expresión buscará todas aquellos archivos que empiecen por linu.
Pág. 56
LINUX BÁSICO
EXPRESIONES REGULARES Y FILTROS
La siguiente expresión es similar, pero sólo buscará archivos que empiecen por li y terminen por x.
Otros filtros Existen otras formas alternativas de búsqueda a las expresiones regulares. Estas vienen asociadas a determinados comandos, como pueden ser borrar un directorio o listar.
Pág. 57
EXPRESIONES REGULARES Y FILTROS
LINUX BÁSICO
Por ejemplo, si deseamos obtener un listado de los archivos cuyos nombres cumplan unas determinadas coincidencias, utilizaremos el siguiente filtro: Anotaríamos el comando ls y, a continuación, la secuencia que deseamos buscar. En nuestro caso, si queremos buscar los archivos que comiencen por la letra l, usaremos l*. De existir estos archivos podríamos ver en la pantalla la lista solicitada. También es posible aplicar esto mismo a los comandos rmdir o rm que ya sabemos que se usan, respectivamente, para borrar directorios o archivos. rmdir l* borraría todos los directorios que comenzasen por l, en la carpeta en la que nos encontremos. rm l* borraría todos los archivos que comenzando por la letra l se encontrasen dentro de la carpeta actual.
Pág. 58
Linux Básico TEMA 7: EDITORES DE TEXTO
0701 Editores de Texto: Vi y Emacs 0702 Ejecución de Emacs en consola y en entorno gráfico 0703 Movimiento a través del entorno de Emacs 0704 Desplazarse a lo largo del texto 0705 Funciones adicionales con Emacs
EDITORES DE TEXTO
LINUX BÁSICO
Editores de Texto: Vi y Emacs Los editores de texto juegan un papel muy importante en Linux. Permiten desde tareas tan sencillas como tomar notas, hasta la modificación de archivos del sistema, programas complejos y la utilización de varios lenguajes de programación.
Tenemos varios editores de texto a nuestra disposición en Linux. Los más usados suelen ser Emacs y Vi, ambos tienen propiedades particulares, y cada usuario los usa según sus necesidades.
Pág. 60
LINUX BÁSICO
EDITORES DE TEXTO
Vi es el editor de texto usado ya en sistemas Unix. No consume muchos recursos y es bastante sencillo, sin embargo presenta una falta de extensiones.
Sin embargo, si sólo queremos editar texto y realizar programas no demasiado extensos es bastante útil. Emacs es mucho más completo que Vi, y es el que usaremos en este curso. Este
editor de texto permite opciones para programación bastante completas además de muchísimas extensiones.
Es posible incluso programarle extensiones personalizadas aunque las que se vienen por defecto son más que suficientes para un usuario normal.
Ejecución de Emacs en consola y en entorno gráfico La ejecución de Emacs puede realizarse tanto en entorno gráfico como en un terminal virtual. En el entorno gráfico se podrá ejecutar de manera muy similar a cualquier programa en entorno Windows, bastará con ir al menú correspondiente del escritorio y buscar el programa Emacs en el mismo. A lo largo de la lección 4 comprobaremos con más detalle cómo ejecutar programas en el entorno gráfico, por el momento nos restringiremos al modo comando.
Pág. 61
EDITORES DE TEXTO
LINUX BÁSICO
En el Terminal, si deseamos ejecutar Emacs podemos hacerlo simplemente tecleando emacs y pulsando intro.
Esto ejecuta directamente el programa sin mayores complicaciones, sin embargo hay una forma mucho más práctica que ahorra tener que crear archivos una vez abierta la aplicación o tener que abrirlos para editarlos. La forma más directa para trabajar con un archivo sería: emacs archivo, que directamente crea el archivo con el que queremos trabajar si este no existiese.
Si existiese, simplemente lo abrirá para que podamos editarlo.
Movimiento a través del entorno de Emacs En emacs podremos movernos usando distintas combinaciones de teclas. Estas combinaciones permiten guardar archivos, salir del programa, etcétera sin usar los menús gráficos. Pág. 62
LINUX BÁSICO
EDITORES DE TEXTO
Cuando ejecutamos emacs vemos en la parte superior de la pantalla los distintos menús, que agrupan las diferentes opciones. El menú que más usaremos será el de Archivo, recoge las opciones de guardado, salir del programa, abrir nuevos archivos, etcétera.
Para abrir el menú pulsamosAlt + f, utilizamos las flechas del teclado para desplazarnos por el menú y seleccionamos la opción deseada con la tecla intro. Ya hemos comentado que para la mayoría de las operaciones existe un atajo de teclado que las hace más rápidas. Por ejemplo, una forma alternativa de guardar archivos es usar la combinación de teclas Control + X + Control + S y para salir del programa usaremos Control + X + Control + C.
Desplazarse a lo largo del texto Podemos desplazarnos a lo largo de texto de diversas formas: La más intuitiva de todas ellas sería utilizar las teclas de flechas del teclado, con esto podremos movernos arriba y abajo, y de izquierda derecha. Sin embargo, si Pág. 63
EDITORES DE TEXTO
LINUX BÁSICO
queremos movernos por líneas o párrafos, existen otras teclas que facilitan esta tarea. Para movernos en distintas direcciones tenemos cuatro combinaciones de teclas. Control + f si queremos movernos un carácter hacia delante. Control + b si queremos movernos un carácter hacia atrás. Control + n para ir a la siguiente línea. Control + p para ir a la línea anterior.
Para ir al principio de una línea usaremos la combinación Control + a y si deseamos ir al principio de la línea utilizaremos Control + e. También podemos situarnos al principio de un párrafo y al final del mismo con Alt + a y Alt + e, respectivamente.
Funciones adicionales con Emacs Hasta ahora conocemos los movimientos con combinaciones de teclas a través de Emacs, aprendiendo a familiarizarnos con su entorno. Como es obvio existen gran cantidad de funciones que pueden realizarse con este editor. Por ejemplo, podemos copiar texto y cortarlo. Pág. 64
LINUX BÁSICO
EDITORES DE TEXTO
Antes de copiar y cortar texto en emacs, debemos seleccionar el texto sobre el cual realizaremos la acción. Sin embargo, debemos recordar que nos encontramos en un Terminal virtual y que, por lo tanto, no tenemos accesible un ratón. Tendremos que usar una combinación de teclas. Usaremos la combinación Control + Barra espaciadora, situándonos y avanzado a lo largo del texto que queremos seleccionar con las flechas del teclado. Ahora, para cortar texto usaremos la combinación Control + w y para copiarlo utilizamos Alt + w. Mediante la combinación Control + y pegaremos el texto copiado o cortado.
También se pueden buscar archivos en el sistema haciendo uso de la combinación Control + x + Control + f. Aparecerá el mensaje find file y escribiremos la ruta para buscar los archivos a editar. Si buscáramos en el interior de una carpeta aparecerá una lista de archivos para editar. Podremos elegir uno desplazándonos con los cursores del teclado y pulsando Intro.
Pág. 65
Linux Básico TEMA 8: PROGRAMACIÓN DE SCRIPTS
0801 Descripción de la programación de scripts en shell 0802 Programación de scripts en shell usando Emacs 0803 Programas cuya salida es un texto 0804 Variables y operadores 0805 Ejemplos de sentencia 0806 Tipos de Bucle
PROGRAMACIÓN DE SCRIPTS
LINUX BÁSICO
Descripción de la programación de scripts en shell Linux presenta una ventaja sobre algunos sistemas operativos, podemos crear programas escritos en el lenguaje de la consola. También se añaden algunas novedades como los bucles y las sentencias. Todo este conjunto conforma el llamado lenguaje de scripts en Shell o Shell scripting.
El lenguaje de scripts asociado a la shell o línea de comandos, es un lenguaje bastante completo. Con él se pueden realizar programas muy sencillos que ayuden al sistema o incluso todavía más complejos, en este curso veremos una breve introducción aprogramas estos y otros conceptos. Estos scripts ejecutados dentro de la consola presentan ciertas ventajas. La primera de ellas es que conocidos los comandos básicos no necesitamos aprender nuevas órdenes para programar en shell, tan solo debemos conocer algunas órdenes nuevas para programar.
Pág. 68
LINUX BÁSICO
PROGRAMACIÓN DE SCRIPTS
Programación de scripts en shell usando Emacs Los scripts en shell son simplemente archivos de texto que son ejecutados como si fuesen programas. Ahora bien para escribir un script primero necesitamos un entorno en el que poder hacerlo. Este entorno suele ser el editor de textos emacs.
Programas cuya salida es un texto Comencemos por ver aquellos programas cuya salida es tan solo un texto. En este lenguaje para que un programa arroje un texto usaremos la orden echo, seguida del texto que deseamos imprimir en pantalla.
Pág. 69
PROGRAMACIÓN DE SCRIPTS
LINUX BÁSICO
Para escribirlo sólo basta abrir un archivo de texto, escribir la orden, por ejemplo echo ‘Hola Mundo’ y guardarlo con Emacs proporcionándole un nombre.
Si deseamos ejecutar el script una vez guardado, nos situamos en la carpeta del archivo y basta con teclear ./nombre del script. Una vez ejecutado vemos que el script devuelve el texto indicado.
Variables y operadores Las variables son parte de cualquier lenguaje de programación. Una son objetos que pueden tomar un valor diferente en cada momento, en función de los requerimientos del código. El tipo de datos que pueden almacenar las variables, dependerá del tipo de variable, una cadena de caracteres, un valor numérico, lógico, etcétera.
Pág. 70
LINUX BÁSICO
PROGRAMACIÓN DE SCRIPTS
En Linux existen variables cuyo contenido puede ser un comando. De esta manera, se podrán asociar comandos especiales a otras órdenes y así renombrarlos para facilitar su manejo al usuario. Esto último hace de Linux un sistema muy adaptable. En el lenguaje de programación en shell las variables cobran una importancia vital y pueden ser implementadas por el usuario o venir predefinidas por el sistema. Si el usuario crea variables debe tener cuidado para no sobrescribir variables que ya existan en el sistema.
En principio, las variables en Linux deben definirse inicializadas. Es decir, que cuando se nombran tienen que tener ya almacenado el valor que deseemos, por ejemplo, un numero, una secuencia de letras, etc. Para hacerlo, utilizaremos el signo igual, colocando en el lado izquierdo de la igualdad el nombre de la variable, mientras que el valor se situará a la derecha.
Pág. 71
PROGRAMACIÓN DE SCRIPTS
LINUX BÁSICO
Si queremos que el valor almacenado sea de tipo texto (caracteres) debemos encerrar la secuencia entre comillas. Estas serán simples o dobles, según las necesidades del programador. Si las variables son numéricas resulta obvio que podremos realizar operaciones aritméticas con ellas. En consola contamos con las cuatro operaciones aritméticas básicas, es decir, suma, resta, multiplicación y división. Cada una de estas operaciones, tiene un operador asociado, el signo más para la suma, el menos para la resta, la barra inclinada hacia la derecha para la división y el asterisco para la multiplicación.
Si queremos operar con las distintas variables, bastará con disponer los operadores necesarios entre ellas. Para ejecutar estas operaciones, tan sólo pulsar Intro y la consola devolverá en pantalla el resultado. También es posible que el resultado obtenido deba ser almacenado en una nueva variable. Simplemente se realiza la asignación correspondiente con el signo igual.
Pág. 72
LINUX BÁSICO
PROGRAMACIÓN DE SCRIPTS
Ejemplos de sentencia Como ya hemos mencionado, el lenguaje de script incorpora conceptos nuevos. Uno de estos conceptos son las sentencias, que se componen de una orden seguida de una proposición. Debajo de la sentencia y con un sangrado se colocan las órdenes que queremos que sean ejecutadas si la sentencia inicial se cumpla. Si no se nada. cumpliese y no ha sido especificado lo contrario, el script no hará absolutamente
Veamos la sentencia if. Identifica el sí condicional. En este caso, situamos la proposición detrás del if y, si se cumple, se ejecutarán las órdenes que hemos dispuesto debajo.
Si queremos que el sistema contemple dos opciones distintas incluiremos por separado, pero en el mismo script, dos sentencia distintas. elif
misma, Una de salvo ellas será que el ahora if y silano otra, se cumple una sentencia la proposición . La del estructura if, el sistema de ambas pasaráesdila rectamente a leer la línea del elif, y si esta se cumpliese sería ejecutada. Solo se admite un if por sentencia pero podemos incluir tantos elif como queramos. En cualquier caso, siempre podremos incluir unas sentencias dentro de otras.
Pág. 73
PROGRAMACIÓN DE SCRIPTS
LINUX BÁSICO
Tipos de Bucle Además de las sentencias condicionales, podemos emplear los denominados bucles, que permiten la ejecución iterativa de órdenes. Tienen una estructura idéntica a la de las sentencias, sin embargo, los bucles no expresan condición como en el caso de las sentencias. Un bucle implica siempre repetición, es decir, podremos repetir una orden las veces que queramos escribiendo unas pocas líneas.
Uno de estos bucles es el bucle for, que ejecuta las órdenes indicadas el número de veces que determinemos.
Pág. 74
LINUX BÁSICO
PROGRAMACIÓN DE SCRIPTS
Por lo tanto, un bucle for concluye cuando haya realizado las operaciones que se le han dicho, no ocurre así con el otro tipo de bucles.
Otro de los tipos más frecuentes de bucle es el llamado while. Este bucle permite la repetición de un proceso mientras se cumpla una proposición que hayamos especificado. Este tipo de bucles presenta una desventaja, si la proposición que indicamos se cumpliese siempre, entonces el bucle while jamás terminaría. Es importante siempre verificar que esto último no ocurre para no saturar el ordenador con más información de la que pueda manejar.
Pág. 75
Linux Básico TEMA 9: CONFIGURACIÓN DE X-WINDOW
0901 Descripción de los gestores d e ventanas (gdm, kdm y xdm) 0902 Funcionamiento del gestor de ventanas gdm 0903 Escritorios (GNOME y KDE)
CONFIGURACIÓN DE X-WINDOW
LINUX BÁSICO
Descripción de los gestores de ventanas (gdm, kdm y xdm) Todo sistema Linux actual posee un sistema gráfico llamadox-window. Dentro de éste puede haber distintos escritorios. Los escritorios deben ir acompañados por un gestor de ventanas que dará forma a los menús, los tipos de letra, y a las propias las ventanas, entre otros aspectos.
Existen multitud de gestores de ventanas que pueden instalarse en la mayoría de las distribuciones en función de las necesidades del usuario, pero lo cierto es que los más comunes son gdm, kdm y xdm. Observa que sus nombres terminan en dm que significa Desktop Manager, traducido literalmente Gestor de escritorio, sin embargo una traducción más adecuada es Gestor de ventanas.
Pág. 78
LINUX BÁSICO
CONFIGURACIÓN DE X-WINDOW
Aparte de las siglas dm, la letra que llevan asociada identifica el tipo de escritorio. La g significa Gnome, la K proviene de kde y la x simplemente x-window, que son distintos tipos de escritorio.
Funcionamiento del gestor de ventanas gdm El gestor de ventanas gdm es el que utiliza el paquete de aplicaciones Gnome por defecto. De hecho, podemos decir que gde se comporta como la puerta al escritorio de Gnome.
Pág. 79
CONFIGURACIÓN DE X-WINDOW
LINUX BÁSICO
En cualquier caso, aunque este gestor de ventanas está asociado con Gnome, podría usarse con cualquier otro escritorio Linux ya que el gestor de ventanas y el escritorio son entes independientes entre sí pero están relacionados. Normalmente el gestor de ventanas viene asociado a la pantalla con la que entramos como usuario. En esta pantalla podemos elegir cosas tan simples como el escritorio con el que queremos arrancar, el tipo de letra, el usuario, las ventanas, etcétera.
A la hora de utilizar distribuciones como suse podemos modificar estas opciones utilizando los programas que para ello están incluidos en la distribución.
Escritorios (GNOME y KDE) Ya hemos comentado que en Linux no existe un único entorno de escritorio, sin embargo todos tienen algo en común: utilizan el sistema gráfico x-window. Este programa gestiona el hardware para la visualización del entorno gráfico de los escritorios. Tenemos dos escritorios que se usan con mucha frecuencia bajo el gestor de ventanas gdm y que todas las distribuciones tienen: son los llamados Gnome y Kde. Kde es un escritorio que es muy intuitivo y accesible a todos los usuarios.
Pág. 80
LINUX BÁSICO
CONFIGURACIÓN DE X-WINDOW
Este escritorio dispone de muchísimas aplicaciones diseñadas para funcionar de forma correcta bajo su entorno. De hecho, este escritorio cuenta con un buen número de aplicaciones integradas. En realidad, su mayor inconveniente es el gran número de aplicaciones de uso poco común que tiene y que, evidentemente, ocupan espacio en disco y pueden consumir recursos. Gnome es un escritorio muy intuitivo sencillo y accesible. Cuenta también con gran variedad de aplicaciones pero no se encuentran integradas en su entorno, de forma que el usuario puede ir decidiendo qué programas quiere instalar y así no se consumirá espacio en disco innecesariamente.
Gnome es el escritorio que utilizaremos por defecto para el desarrollo del curso.
Pág. 81
Linux Básico TEMA 10: EL ESCRITORIO GNOME
1001 Como configurar aspectos del escritorio 1002 El “Menú Inicio” 1003 Organización de ficheros y directorios en GNOME 1004 Movimiento y visualización de directorios 1005 Crear y borrar carpetas 1006 Mover y copiar archivos 1007 Descripción de aplicaciones auxiliares 1008 Editores de Texto 1009 Editor de texto gedit 1010 Ejecutar un programa
EL ESCRITORIO GNOME
LINUX BÁSICO
Como configurar aspectos del escritorio En Gnome es posible modificar el aspecto del escritorio a conveniencia del usuario. Las modificaciones pueden hacerse desde el menú Escritorio, accediendo al Centro de control.
El Centro de control es una aplicación del escritorio que controla el aspecto del mismo. Podemos cambiar el fondo, el estilo, los bordes de las ventanas, los distintos iconos, etcétera. Entre otras muchas aplicaciones, también brinda la posibilidad de administrar algunos aspectos del sistema.
El “Menú Inicio” En Gnome contamos con algo similar al menú Inicio con que cuentan los sistemas Windows. Este menú se encuentra dividido en tres partes: aplicaciones, lugares y escritorio.
Pág. 84
LINUX BÁSICO
EL ESCRITORIO GNOME
Comencemos por la parte Aplicaciones, aquí aparecerán algunos de los programas instalados en el sistema que se pueden usar en el entorno gráfico. Los programas se encuentran clasificados según a la categoría a la que pertenezcan, facilitando al usuario la búsqueda de un determinado tipo de programa.
La siguiente parte del menú es Lugares. Contiene accesos directos a las unidades de disco y permite buscar archivos. Esta sección es muy útil para trabajar de forma ágil con archivos y carpetas. En cualquier caso, en el escritorio también tenemos acceso a nuestra carpeta de usuario, además de al resto de unidades de disco.
Pág. 85
EL ESCRITORIO GNOME
LINUX BÁSICO
Por último, encontramos la secciónEscritorio. Este menú permite gestionar los paquetes instalados y las opciones del sistema. Cobrará mucha utilidad en el momento en que empecemos a trabajar con estos paquetes o queramos actualizar el sistema.
Organización de ficheros y directorios en GNOME Para administrar los ficheros y directorios contamos con el programa ilus .
Naut-
Con esta aplicación, podemos realizar las mismas operaciones con archivos y carpetas que cuando utilizamos los terminales virtuales. La organización de los archivos es exactamente la misma que la explicada en la unidad tres. De hecho, el escritorio gráfico no hace otra cosa que reflejar de forma visual la organización del sistema. La única diferencia destacable son los accesos directos a ciertas carpetas o unidades y las opciones del menú Lugares, que ofrece también la posibilidad de acceder a las distintas unidades.
Pág. 86
LINUX BÁSICO
EL ESCRITORIO GNOME
Movimiento y visualización de directorios El movimiento y visualización del contenido de un directorio es bastante intuitivo. Para visualizar el contenido de un directorio sólo es necesario hacer doble clic con el botón izquierdo del ratón y la carpeta se abrirá mostrando su contenido.
Si queremos remontarnos hacia una carpeta superior y no una contenida en la carpeta actual, no tenemos más que pulsar la opción subir del menú de Nautilus.
Pág. 87
EL ESCRITORIO GNOME
LINUX BÁSICO
También podemos desplazarnos hacia adelante y hacia atrás cómo si se tratase de un navegador Web.
Esto permite volver a la carpeta anterior de forma más rápida que si utilizásemos directamente movimientos a través de la estructura de directorios.
Crear y borrar carpetas Con Nautilus también podemos crear y borrar carpetas. Encontraremos dos formas de hacerlo: mediante el menú Archivo o haciendo clic con el botón derecho del ratón sobre un espacio en blanco de la carpeta actual. Si queremos crear una carpeta dentro de un directorio nos situamos dentro del mismo. Hacemos clic en Archivo y dentro de él en Crear nueva carpeta. Introduciremos el nombre de la nueva carpeta y se creará de forma inmediata.
Igualmente, situados dentro del mismo directorio hacemos clic con el botón derecho del ratón sobre cualquier parte en blanco de la carpeta y elegimos la opción Crear carpeta. Ahora bien, si deseamos borrar una carpeta hacemos clic sobre ella y pulsamos la tecla Suprimir. Para borrar archivos podemos proceder de la misma manera.
Pág. 88
LINUX BÁSICO
EL ESCRITORIO GNOME
También podemos borrar carpetas haciendo clic sobre ellas con el botón derecho del ratón y escogiendo la opción Mover a la papelera. El mismo proceso puede aplicarse a los archivos. Como acabamos de mencionar, en Gnome disponemos de una papelera de reciclaje en la que todos los archivos borrados se van almacenando hasta que decidimos eliminarlos definitivamente. Para eliminarlos haremos clic con el botón derecho del ratón sobre la papelera y elegimos la opción Vaciar la papelera.
Mover y copiar archivos En el escritorio Gnome existen dos formas de copiar y mover archivos, podemos hacerlo arrastrando los archivos hacia el lugar deseado.
Pág. 89
EL ESCRITORIO GNOME
LINUX BÁSICO
También podemos utilizar determinadas combinaciones de teclas o las opciones que presenta el botón derecho del ratón. Estas combinaciones de teclas son exactamente las mismas que en los sistemas operativos Windows y nos resultarán muy familiares.
Ya hemos comentado que también podemos hacer clic con el botón derecho del ratón sobre el archivo. El menú que se despliega muestra varias opciones, entre ellas copiar o cortar. Una vez hayamos seleccionado la opción que corresponda, nos dirigiremos a la carpeta de destino y haciendo clic con el botón derecho del ratón sobre un espacio en blanco del fondo de la carpeta, seleccionaremos pegar. De este modo los archivos o carpetas habrán sido copiados o movidos perfectamente.
Descripción de aplicaciones auxiliares
El escritorio no sólo consta de los programas básicos para su manejo, debe ir complementado por otros tipos de aplicaciones. Estas aplicaciones pueden ser de múltiples tipos: procesadores de texto, tratamiento de imágenes, clientes de correo, navegadores de Internet, etcétera. Las aplicaciones auxiliares son muchas y muy diversas, existiendo más de una alternativa para cada tarea a realizar. Pág. 90
LINUX BÁSICO
EL ESCRITORIO GNOME
Aunque a simple vista pueda parecer que no hemos trabajado con ninguna aplicación auxiliar, si lo hemos hecho. Emacs es un ejemplo de aplicación auxiliar, nos permite editar textos y programar algunos scripts sencillos.
En a veces resulta complicado saber es exactamente una aplicación liarLinux porque las distribuciones instalan porqué defecto algunos programas que noauxison necesariamente propios del escritorio. Una forma de distinguirlas pasa por plantearse si resultan fundamentales para moverse por carpetas, directorios o gestionar y administrar el sistema.
Si no entrasen en ninguna de esas categorías entonces se trataría necesariamente de aplicaciones auxiliares.
Pág. 91
EL ESCRITORIO GNOME
LINUX BÁSICO
Editores de Texto Al igual que en la línea de comando, en el entorno gráfico podemos disponer y utilizar editores de texto. De hecho, muchos de los editores admiten la doble posibilidad: consola y línea de comando. Estos editores son los propios del escritorio. Al igual que en los sistemas Windows está instalado otros editores. el bloc de notas como editor por defecto, en los sistemas Linux hay Los editores que podemos encontrar en Linux son Kate, Gedit , Nano, Pico, etcétera.
En el caso del escritorio Gnome el editor de texto por defecto es gedit. Se trata de un editor sencillo pero muy funcional, a pesar de no contar con las funciones que poseen editores más completos como emacs. Los editores en el entorno gráfico complementan y ayudan a desempeñar algunas de las tareas de edición de textos, tomado de notas, etcétera.
Editor de texto gedit El editor de texto gedit es una aplicación para el escritorio gnome, que se puede ejecutar desde el menú aplicaciones. Para ejecutar gedit debemos ir al menú Aplicaciones, tecleamos ejecutar programa y, a continuación, gedit. Aceptamos la entrada y el editor de textos se abrirá.
Pág. 92
LINUX BÁSICO
EL ESCRITORIO GNOME
Los distintos menús que encontramos en gedit, son muy similares a los que podríamos encontrar en cualquier editor de texto. El menú Archivo se emplea, fundamentalmente, para guardar, abrir y crear nuevos archivos. El menú Editar agrupa las opciones para copiar, cortar y pegar y, el menú Buscar, que permite realizar acciones de búsqueda y reemplazo.
Al igual que en emacs existen opciones abreviadas para manipular los archivos, en gedit también los tenemos. Por ejemplo, para guardar un archivo pulsamosControl + s y, para abrir un archivo nuevo pulsamos Control + N. En el área de texto que presenta el programa, nos desplazaremos a través del texto haciendo uso de los cursores, sin necesidad de recurrir a combinaciones de teclas como en emacs. También podemos borrar texto. Bastará con seleccionarlo con el ratón y pulsar la tecla Suprimir.
Pág. 93
EL ESCRITORIO GNOME
LINUX BÁSICO
Al contrario que el editor de textos emacs en el editor de textos gedit, se puede copiar y cortar texto de la forma estándar de Windows: con las combinaciones Control + x, Control + c y Control + v.
Ejecutar un programa Los programas, dentro del entorno gráfico, pueden ejecutarse de dos maneras: Una de ellas sería abrir un terminal dentro del escritorio y la otra acceder a la opción Abrir de un programa dentro del menú Aplicaciones. La opción más sencilla consiste en entrar Aplicaciones y hacer clic en Ejecutar una aplicación. Se abrirá una ventana donde hay que introducir el nombre del programa que deseamos ejecutar. Podemos ejecutar aplicaciones de una lista, un archivo o cualquier otra que no esté contenida en ninguna de las anteriores.
Pág. 94
LINUX BÁSICO
EL ESCRITORIO GNOME
Por otro lado tenemos la opción de abrir un terminal directamente en el sistema gráfico. Para ello accederemos a la opción Aplicaciones, Sistema y Terminal de gnome.
El terminal que se ejecute será idéntico a un terminal virtual, pero no será necesario introducir el usuario para trabajar con el.
Pág. 95
Linux Básico TEMA 11: ADMINISTRACIÓN DE USUARIOS
1101 Descripción del superusuario (root) 1102 La orden su 1103 Privilegios y uso del superusuario 1104 Estructura y carga del Gestor de cuentas de usuario 1105 Cambio de privilegios de los usuarios 1106 Descripción de los grupos asociados a un usuario
ADMINISTRACIÓN DE USUARIOS
LINUX BÁSICO
Descripción del superusuario (root) En el apartado de instalación vimos que necesitamos crear dos usuarios, uno normal y otro llamado root. Se trata de un usuario privilegiado, puede realizar todas las acciones posibles dentro del sistema operativo, por este motivo debemos tener especial cuidado cuando lo usemos.
El usuario root debe ser usado tan sólo en determinadas ocasiones y no debemos utilizarlo para cualquier cosa. En Linux debemos usar la herramienta adecuada para cada trabajo, es decir no deberíamos utilizar un usuario con tantos privilegios para desarrollar tareas que cualquier usuario puede realizar. En concreto, este usuario sólo debería usarse para tareas de administración del sistema.
Pág. 98
LINUX BÁSICO
ADMINISTRACIÓN DE USUARIOS
La orden su La orden su es la orden que permite el cambio de usuario y puede ser empleada por cualquier usuario. Para utilizarla no tenemos más que teclear el comando su y, a continuación, el nombre del usuario con el que queremos entrar. Si no añadimos nada detrás de dicha orden el sistema interpretará que queremos acceder como root.
Una vez introducida la orden, Linux solicitará la contraseña de acceso. Evidentemente, resulta primordial acordarnos de las contraseñas de los usuarios que solemos utilizar y, en especial, del root.
Tal y como se mencionó en lecciones anteriores, por motivos de seguridad, Linux no muestra los asteriscos que indican la longitud de la contraseña. Cambiar de usuario mediante la orden su, tiene sus ventajas. Podemos cambiar de usuario sin necesidad de cerrar el Terminal en curso o sin cambiar de Terminal.
Pág. 99
ADMINISTRACIÓN DE USUARIOS
LINUX BÁSICO
Además, permite entrar momentáneamente con el usuario root a realizar alguna tarea de administración y volver al usuario normal, simplemente introduciendo la orden exit.
Privilegios y uso del superusuario El superusuario puede realizar cualquier acción sobre el sistema, no tiene restricciones. Como el sistema nunca avisará si estamos haciendo algo incorrecto, resulta muy importante estar seguro de lo que se va a hacer con el root antes de realizar la acción.
Las tareas de administración en Linux resultan muy útiles para tener el sistema optimizado y controlado. Realizar tareas de administración es muy similar a las de mantenimiento una máquina, debemos cuidar cada tornillo y engranaje, para que el conjunto trabaje en óptimas condiciones.
Pág. 100
LINUX BÁSICO
ADMINISTRACIÓN DE USUARIOS
Estructura y carga del Gestor de cuentas de usuario El gestor de cuentas de usuario permite cambiar las contraseñas, crear nuevos usuarios, cambiar la pertenencia a un grupo, etcétera. En definitiva, esta herramienta se utiliza para gestionar la concesión o denegación de usuario. los permisos a los distintos usuarios. También podremos crear nuevas cuentas de Si queremos crear un nuevo grupo bastará con utilizar la orden newgrp. También podemos averiguar a qué grupo pertenecemos con la ordengroups, aunque debemos saber que un usuario puede pertenecer a más de un grupo.
Se pueden crear otros usuarios con el comando adduser. userdel –r. Por el contrario si deseamos borrar un usuario haremos uso del comando
También podemos hacer cambios de contraseña con la ordenpasswd.
Cambio de privilegios de los usuarios Podemos cambiar tanto los privilegios de los usuarios como los propietarios de los archivos. Pág. 101
ADMINISTRACIÓN DE USUARIOS
LINUX BÁSICO
Para realizar estas acciones contamos con los comandos chown, chgrp y chmod. El primero cambia el propietario del archivo, el segundo el grupo al que pertenece y el tercero los permisos que tengamos sobre él.
Con la orden chown user file, cambia el propietario del archivo file al nuevo usuario user. Podemos cambiar el grupo al que pertenece un archivo o aplicación la orden es chgrp group file. Con esto cambiamos el grupo al que pertenece el archivo file al nuevo grupo group.
Para cambiar los permisos de escritura y lectura sobre un archivo, utilizamos una estructura compuesta por el comando chmod, una terna de números y el archivo correspondiente. Si recordamos, en la lección 3 vimos que esta terna de números indica qué permisos tienen el propietario de un archivo, los que pertenecen al mismo grupo y los del resto de usuarios.
Pág. 102
LINUX BÁSICO
ADMINISTRACIÓN DE USUARIOS
Si uno de los números es 7, se tienen permisos de escritura, lectura y ejecución. En cambio si es 5 sólo podemos leerlo y ejecutarlo. Mientras que si es 1 sólo podremos ejecutarlo. Si es cero, no podremos actuar sobre ese archivo de ninguna forma, su acceso estará vedado.
Descripción de los grupos asociados a un usuario Como vimos en la lección 3, los grupos asociados a un usuario permiten denegar o permitir el uso de paquetes de programas, y ahora también sabemos que a los grupos se les puede proporcionar permisos sobre un archivo.
Pág. 103
ADMINISTRACIÓN DE USUARIOS
LINUX BÁSICO
De esta manera, una persona que no es propietaria de un archivo puede acceder a él si pertenece a un grupo que tiene habilitado el acceso. Gracias a los grupos se puede compartir el uso de aplicaciones y archivos sin tener que proporcionar permisos a todos y cada uno de los usuarios. Bastará, por tanto, con conceder los permisos adecuados al grupo y facilitar así el uso de los archivos y aplicaciones a sus componentes. Todos los usuarios deben pertenecer al menos a un grupo, aunque ya hemos mencionado que lo más habitual es pertenecer a varios. El superusuario root tiene acceso a todas las opciones y programas, por tanto debe pertenecer a todos los grupos que se hayan creado en el sistema.
Pág. 104
Linux Básico TEMA 12: ADMINISTRACIÓN DE FICHEROS
1201 Cómo gestionar los sistemas de ficheros 1202 Montaje y desmontaje de sistemas de ficheros 1203 Ficheros de auditoria del sistema (I) (Logs) 1204 Ficheros de auditoria del sistema (II) (Logs)
ADMINISTRACIÓN DE FICHEROS
LINUX BÁSICO
Cómo gestionar los sistemas de ficheros Como ya sabemos, en Linux los sistemas de ficheros se comportan como si fueran carpetas, de hecho para su administración será necesario asociarles una carpeta. El proceso de asociar una carpeta a un sistema de ficheros se llama montar un sistema de ficheros.
Un sistema de ficheros puede estar incluido en cualquier tipo de unidad y cada partición de un disco duro es tratada por Linux como un disco duro independiente del resto de particiones. Así, en Linux serán tratados de igual manera el CD-ROM, el disco duro o cualquier tipo de disco extraíble.
Pág. 106
LINUX BÁSICO
ADMINISTRACIÓN DE FICHEROS
Montaje y desmontaje de sistemas de ficheros En Linux existen unidades de disco que ya tienen montadas un sistema de ficheros por defecto, es el caso de los discos duros que tengamos instalados y de unidades extraíbles como el CD-ROM, que se montan en el sistema automáticamente al introducirlos. En Linux existen comandos para montar y desmontar sistemas de ficheros. Para montar un sistema de ficheros usaremos el comando mount, mientras que para desmontarlo usaremos umount.
Estos comandos son similares y tienen una estructura parecida a la de otros comandos pero, por defecto, su uso está restringido al superusuario, salvo que éste especifique otra cosa en el archivo sudoers del directorio /etc. La estructura para montar o desmontar un fichero cosiste en escribir el comando, luego el nombre del dispositivo y finalmente el punto de montaje, que será la carpeta asociada a la unidad que deseamos montar. El nombre de los dispositivos se puede visualizar a través de la ubicación /dev. Esta carpeta no es un punto de montaje sino una forma simbólica de decirle al sistema dónde tiene que buscar el sistema de ficheros dentro del hardware físico.
Pág. 107
ADMINISTRACIÓN DE FICHEROS
LINUX BÁSICO
Ya hemos comentado que los discos duros no hace falta montarlos, los CD-ROM se montan de forma automática y, en las distribuciones más modernas, también se montan automáticamente los discos y unidades USB. Por esta razón, estos comandos se usan en contadas ocasiones, como cuando añadimos un disco nuevo o el tipo de unidad insertada no es reconocida directamente por el sistema.
Ficheros de auditoria del sistema (I) (Logs) Los ficheros de auditoria o logs son una forma de almacenar algunas de las operaciones del sistema. En ellos se van a registrar los usos de un programa, es decir, todo lo que se haya ido realizando en la consola por parte de cada usuario.
Pág. 108
LINUX BÁSICO
ADMINISTRACIÓN DE FICHEROS
También se verán reflejadas las entradas y salidas de los usuarios, cuando ocurrieron, por cuanto tiempo, etcétera. Estos ficheros se guardan en la carpeta /var/log. En su interior las distintas aplicaciones del sistema generan los logs a medida que los usuarios realizan acciones sobre el sistema.
El sistema escribe todo tipo de logs de las acciones de los usuarios y las aplicaciones. Vamos a ver los dos más básicos: qué usuarios han utilizado el sistema y sus registros. En el directorio /var/log tenemos dos archivos de registro referidos a las actividades de los distintos usuarios: El primero de ellos es el wtmp, con él podemos saber cuándo se ha conectado un usuario a su cuenta y cuánto tiempo ha estado conectado.
Pág. 109
ADMINISTRACIÓN DE FICHEROS
LINUX BÁSICO
El segundo es utmp, que permite conocer cuántos usuarios están conectados al mismo sistema en un momento dado.
Ficheros de auditoria del sistema (II) (Logs) Existen funciones adicionales asociadas al directorio de logs del sistema. Éstas permiten emitir directamente los mismos resultados que con wtmp o utmp pero en una consola. Podría pensarse que estos comandos sólo pueden ser ejecutados por el superusuario root, sin embargo, cualquier usuario puede ejecutarlos para saber quien está conectado en todo momento. Los comandos son who, w, y finger.
Cada uno de ellos indica quién está conectado, cuando entró, las sesiones que ha abierto, el tipo, si está usando el escritorio e incluso los últimos comandos generados en esa sesión. La información proporcionada aumentará según el comando que escojamos. Finger es más completo que w, mientras que w es más completo que who.
Pág. 110
LINUX BÁSICO
ADMINISTRACIÓN DE FICHEROS
Comencemos por el menos detallado, who. proporciona valores en cuatro columnas. La primera columna indica el usuario que está haciendo algo. La segunda columna presenta el tipo de sesión que está utilizando. En el ejemplo, el usuario usa tty1 que es un terminal virtual y dos puntos seguido del 0 que representa que el usuario alumno tiene abierta una sesión de entorno gráfico en local. Este número puede variar si se ha abierto una sesión gráfica en otro equipo de forma remota. Por último la tercera y cuarta columnas almacenan cuándo y a qué hora se abrió la sesión.
La salida del comando w es bastante más detallada que la de who. Los datos más importantes los proporcionan las dos primeras columnas, que nuevamente ofrecen el usuario, el tipo de sesión y la hora, en este orden. Además en la última columna se muestra la última acción realizada por el usuario, en el caso del Terminal tty1, el resultado es w. En cambio, en el caso del escritorio se menciona un directorio, es decir, la carpeta desde la que se inició una sesión en gnome.
Por último veamos los resultados de finger. Presenta también varias columnas, las dos primeras, como ya hemos visto, representan el usuario y el tipo de sesión. Se añaden dos columnas más con el día y la hora de entrada.
Pág. 111
ADMINISTRACIÓN DE FICHEROS
LINUX BÁSICO
Pág. 112
Linux Básico TEMA 13: ADMINISTRACIÓN DEL SISTEMA
1301 Como arrancar y parar el sistema 1302 Opciones de Arranque y parada en consola 1303 Control de carga del sistema 1304 Automatización de tareas (Cron) (I) 1305 Automatización de tareas (Cron) (II)
ADMINISTRACIÓN DEL SISTEMA
LINUX BÁSICO
Como arrancar y parar el sistema Desde el entorno gráfico podemos reiniciar todo el sistema o apagar el equipo directamente. Para esto no se requiere ningún usuario especial. Disponemos de un menú que permite estas operaciones, accedemos al menú escritorio y hacemos clic en la opción Salir.
Una vez hecho, aparecerá una pantalla que presenta todas las opciones disponibles: Podremos terminar la sesión con el fin de salir de la actual y entrar en el entorno gráfico con un usuario distinto.
Pág. 114
LINUX BÁSICO
ADMINISTRACIÓN DEL SISTEMA
Además, podemos apagar, reiniciar o suspender el equipo, para ello seleccionamos la opción deseada y hacemos clic en Aceptar. Otra de las opciones que tenemos a nuestra disposición, permite guardar la configuración actual del sistema. Esto permite almacenar una referencia a todos los programas que tengamos abiertos. Así, cuando reiniciemos el sistema, encontraremos que todo estará tal y como lo habíamos dejamos al apagar, suspender o reiniciar. Debemos recordar que cada vez que reiniciemos el sistema, los programas que teníamos abiertos volverán a abrirse, y el ordenador tardará algún tiempo adicional en arrancar el sistema.
Opciones de Arranque y parada en consola Desde el modo de consola, el sistema puede reiniciarse y apagarse mediante el uso de ciertas órdenes que sólo estarán disponibles para el superusuario root. Existen varias opciones para hacerlo, incluso podríamos programar esta acción para que se efectúe pasado cierto tiempo. Estas órdenes son halt, poweroff, suspend y reboot.
Halt y poweroff sirven para apagar el sistema, suspend para suspender el sistema y reboot para reiniciarlo. Como muchas otras órdenes, éstas deben ir acompañadas por determinadas opciones para completar y matizar su funcionalidad.
Pág. 115
ADMINISTRACIÓN DEL SISTEMA
LINUX BÁSICO
Como muchas otras órdenes, estas deben ir acompañadas por determinadas opciones para completar y matizar su funcionalidad. Existen muchas combinaciones, pero la más importante es la combinación –h now, combinación que utilizada con la mayoría de comandos de arranque y parada pausa todos los discos duros y realiza la opción deseada de forma inmediata. Por otro lado, la orden poweroff que nos ocupa en este punto, solamente recibe el parámetro –h que mandará un mensaje a todos los usuarios conectados y apagará la máquina.
Control de carga del sistema El control de carga del sistema es, sencillamente, una forma de controlar todos los programas que se cargan en el sistema al iniciarlo. No todos los programas que se inician con el sistema son fundamentales para su funcionamiento y, por motivos relativos a lo recursos del ordenador, puede interesar decidir cuáles se cargan en el arranque y cuáles no.
Al iniciar el sistema, aparece en la pantalla del ordenador un listado que indica, entre otras cosas, qué programas y dispositivos se están cargando. Este proceso puede ser modificado pero es aconsejable que estas tareas sólo sean realizadas por usuarios que conozcan bien este tipo de rutinas.
Pág. 116
LINUX BÁSICO
ADMINISTRACIÓN DEL SISTEMA
Automatización de tareas (Cron) (I) Resulta habitual que tengamos que realizar tareas de forma automática. La idea permite ahorrar tiempo y trabajo, evitándonos la realización de las tareas de forma manual cada vez que sea necesario. Así, Linux va a permitir programarlas para que se ejecuten con la frecuencia que deseemos y tantas veces como sea necesario.
Las tareas que indica la imagen son programables por el usuario, aunque existen también cierta cantidad de tareas automáticas que ya vienen programadas por defecto en el sistema. Por ejemplo, el sistema suse siempre realiza cada cierto tiempo actualizaciones en línea. Otro ejemplo es el caso de los ficheros de auditoria, que graban información cada vez que entra o sale un usuario en el sistema.
Pág. 117
ADMINISTRACIÓN DEL SISTEMA
LINUX BÁSICO
Automatización de tareas (Cron) (II) Ya hemos visto cómo funciona la automatización de tareas de forma general, ahora veamos como utilizarla en nuestro provecho. Para programar tareas concron debemos recurrir al comando crontab. Cada usuario posee una tabla del crontab que ejecuta tareas sólo para este usuario, es decir, permite personalizar las tareas para cada uno de ellos. Por supuesto, y cómo cabría esperar, root puede actuar sobre todas estas tareas y modificar las de todos los usuarios además de las propias.
Las tareas programadas en crontab tienen seis campos que reflejan los diferentes parámetros configurables de una tarea. No es necesario especificar todos ellos, aunque siempre debemos indicar al menos uno de ellos para que la tarea se ejecute al menos una vez. Son: minutos, hora, día del mes, mes, día de la semana, y por último el comando a ejecutar.
Para los minutos introduciremos un número de 0 a 59.
Pág. 118
LINUX BÁSICO
ADMINISTRACIÓN DEL SISTEMA
Para la hora podemos introducir un número entre 0 y 23. Para el día del mes introducimos un número entre 1 y 31 Para el mes y el día de la semana, introducimos números del 1 a 12 y del 0 al 6. Finalmente, si deseamos introducir un comando, simplemente introducimos la orden que deseamos que se ejecute de forma periódica. Para editar el crontab tecleamos el comando crontab –e. Podemos insertar comentarios en nuestro crontab, a modo de reseña de la orden que hemos programado, tecleando una almohadilla ( #) antes del texto de comentario.
Pág. 119
Linux Básico TEMA 14: COPIAS DE SEGURIDAD
1401 Copias de seguridad 1402 Ejemplo de script de copia de seguridad
COPIAS DE SEGURIDAD
LINUX BÁSICO
Copias de seguridad En ocasiones se requerirán copias de seguridad del sistema. Normalmente esta situación atiende a la necesidad de proteger nuestros datos frente a acciones poco seguras o fallos del sistema. Las copias de seguridad pueden realizarse mediante el almacenamiento directo de nuestros archivos a un CD-ROM o cualquier otro medio.
Este es el método más directo, sin embargo hay otros métodos más rápidos. Por ejemplo, podemos hacer un script que realice una copia de seguridad. Esto nos ahorrará el trabajo de copiar los archivos uno por uno mediante la ejecución de un simple script.
Ejemplo de script de copia de seguridad Al igual que cualquier programa en shell, un script para una copia de seguridad debe ser escrito en un editor de texto y ejecutado de la forma habitual. Depende de los archivos que copiemos, podremos hacerlo desde el usuario normal o con el root. Un ejemplo de script de copia de seguridad podría ser el de la imagen. Lo copiamos en un archivo, lo ejecutamos normalmente y la copia de seguridad quedará realizada.
Pág. 122
LINUX BÁSICO
COPIAS DE SEGURIDAD
Este script lo único que hace es comprimir un archivo y dejarlo listo para ser almacenado dentro de un soporte extraíble, quedando la copia de seguridad completada. Este comando crea un archivo comprimido de nombre my-backup.tar.gz con el comando tar. La segunda parte indica la carpeta que queremos comprimir, en este caso el directorio home de un usuario.
Pág. 123
Linux Básico TEMA 15: EL SISTEMA DE IMPRESIÓN
1501 Sistema de impresión 1502 Impresiones a un archivo
EL SISTEMA DE IMPRESIÓN
LINUX BÁSICO
Sistema de impresión En Linux contamos con un sistema de impresión llamado CUPS, se trata de un programa que se encarga de la gestión de las impresoras conectadas al sistema. También se ocupa de los trabajos enviados a las impresoras por los distintos programas.
Es el sistema encargado de gestionar y controlar todas las impresoras accesibles por un determinado sistema, tanto locales, como en red. Tiene utilidades de configuración que nos facilitan la tarea de instalación de una impresora en nuestro sistema independientemente del sistema operativo utilizado por el servidor de impresión. No suele ser necesario configurar las impresoras en Linux, puesto que como veremos más adelante, los drivers vienen incluidos en el propio núcleo del sistema.
Pág. 126
LINUX BÁSICO
EL SISTEMA DE IMPRESIÓN
Cups debe estar instalado previamente si no está incluido en nuestra distribución, sin embargo muchas ya lo incluyen por defecto. Cups no necesita de configuración pues si el sistema detecta una impresora, sólo tendremos que elegir las opciones de impresión de los distintos programas. Con este sistema, bajo la distribución SUSE todas las impresoras quedan configuradas por YaST, tanto en el entorno gráfico como en consola o por otra utilidad un poco más liviana lpadmin que se puede utilizar en sistemas de consola con pocos recursos. Si no fuese detectada inmediatamente, es posible que sea necesario consultar las especificaciones del hardware para Linux. En Linux existen programas llamados demonios que controlan y administran algunas tareas. Cups es un demonio del sistema de impresión que controla los procesos generados
por distintos programas.
Como veremos en el siguiente apartado, se puede imprimir el resultado de un programa o aplicación a un archivo. También podemos realizar su conversión a formato *.pdf o Postcript que facilitan la impresión en papel.
Impresiones a un archivo No sólo es posible imprimir en papel, también podemos imprimir archivos. Pág. 127
EL SISTEMA DE IMPRESIÓN
LINUX BÁSICO
Algunos programas permiten directamente imprimir en un formato de archivo distinto o incluso imprimir la salida de un programa. Hay programas específicos que permiten incluso imprimir en archivos de tipo postcript o pdf.
Ya hemos visto un ejemplo de impresión a un archivo: guardando en un archivo la salida de un programa. Recordamos que la orden para imprimir la salida de un programa en un archivo era sencilla: comando > archivo.
Pág. 128
Linux Básico TEMA 16: GESTIÓN DE PAQUETES DE INSTALACIÓN
1601 Adición de nuevos dispositivos 1602 Adición de nuevos programas 1603 ¿Qué es el Gestor de paquetes Yast? 1604 Yast I 1605 Yast II 1606 Paquetes externos autoinstalables 1607 Conversión de tipos de paquetes 1608 Compilación de nuevos programas 1609 Descompresión 1610 Configuración 1611 Make y make install
GESTIÓN DE PAQUETES DE INSTALACIÓN
LINUX BÁSICO
Adición de nuevos dispositivos Si deseamos añadir nuevos dispositivos a nuestro sistema, debemos saber que, en la mayoría de las veces, en Linux los drivers no funcionan del modo habitual. Lógicamente siempre podremos localizar e instalar drivers adicionales actualizados. Aunque las nuevas versiones del Kernel de cualquier distribución de linux llevan incorporados los drivers para la mayoría de los dispositivos instalables en el sistema, no todos los dispositivos se encuentran implementados como módulos de kernel, En ese caso, el proceso pasa por localizar los drivers correspondientes, compilarlos e instalarlos en el sistema. En Suse, y en cualquier otra distribución Linux, los drivers van unidos al núcleo o kernel del sistema.
El hecho de instalarlos en el sistema, no quiere decir que estos drivers formen parte del núcleo del mismo, es más, en la mayoría de ocasiones en las que compilamos un driver, posteriormente, tenemos que implementarlo como modulo en el núcleo, proceso que normalmente, viene descrito en la documentación de instalación correspondiente.
Pág. 130
LINUX BÁSICO
GESTIÓN DE PAQUETES DE INSTALACIÓN
En cada revisión que se distribuye, el núcleo del sistema contiene distintas versiones que incluyen nuevos dispositivos, o simplemente versiones optimizadas de los mismos que funcionan mejor con procesadores y hardware más modernos.
Cuando modificamos la configuración del hardware o añadimos o reemplazamos dispositivos al ordenador, no suele ser necesario reinstalar ningún controlador, si el kernel reconoce el dispositivo no habrá ningún problema, En caso contrario habrá que buscar el correspondiente driver para Linux e instalarlo según el tipo de paquete que se trate, si no es que no lo suministra el fabricante. No todos los dispositivos tienen drivers propietarios, en este caso, normalmente, conociendo el modelo del dispositivo, podemos acceder a una serie de drivers genéricos, que, nos permiten hacer funcionar el mismo con una serie de pequeñas limitaciones. Es, por lo tanto, indispensable tener a mano los archivos de las fuentes de nuestra distribución, pues, sin ellos, el proceso de compilación, no se lleva a cabo. De cualquier manera, las versiones más actualizadas del kernel de una distribución suelen ir incorporando los controladores actualizados para la mayoría de los dispositivos ya instalados o de las nuevas incorporaciones.
Adición de nuevos programas Un sistema operativo no estaría completo si no pudiésemos añadir nuevos programas. Se pueden añadir de muchas maneras. Disponemos de un gestor de paquetes, de instaladores e incluso podrían ser compilados manualmente por el usuario.
Pág. 131
GESTIÓN DE PAQUETES DE INSTALACIÓN
LINUX BÁSICO
Cómo es lógico, cualquier nueva instalación de software debe ser realizada por el superusuario root.
En distribuciones Linux muy antiguas era necesario compilar todas las aplicaciones manualmente, sin instaladores. Actualmente puede resultar necesario realizar estos procesos pero no con tanta frecuencia como antes, la mayoría de las muchas distribuciones cuentan con gestores de paquetes.
Estos gestores de paquetes no sólo permiten instalar programas, también averiguan e informan de si son necesarios otros programas para su óptimo funcionamiento y, en ese caso, procede a instalarlos automáticamente. Pág. 132
LINUX BÁSICO
GESTIÓN DE PAQUETES DE INSTALACIÓN
También permiten mantener al día nuestro sistema con actualizaciones, que pueden surgir con cierta frecuencia, dado que Linux es un sistema que continuamente está siendo mejorado.
¿Qué es el Gestor de paquetes Yast? El gestor de paquetes yast permite instalar nuevos programas y mantener al día nuestro sistema. Este gestor se encarga de instalar todos los programas necesarios cuando se le indica que necesitamos instalar un paquete.
Si queremos instalar un programa, primero debemos situarnos en un Terminal desde root y tecleamos la orden: yast2 --install programa.
Pág. 133
GESTIÓN DE PAQUETES DE INSTALACIÓN
LINUX BÁSICO
A continuación el sistema procederá a solicitar los CD´s para la instalación en función de sus necesidades.
También se puede realizar una actualización en línea de todo el sistema. Para esto es necesario una conexión a Internet, preferiblemente de banda ancha, como una línea ADSL. Cada vez que haya actualizaciones nuevas en línea, un icono que aparece en la parte inferior derecha de la pantalla, generalmente el correspondiente al servicio ZenWorks se volverá rojo. En ese momento podremos descargar las actualizaciones simplemente haciendo clic sobre dicho icono.
Yast I Como ya vimos, yast permite la instalación de programas mediante la línea de comando. De forma adicional, permite la instalación de programas mediante el entorno gráfico. En el entorno gráfico no tenemos más que ir al menú escritorio, y luego hacer clic en yast.
Pág. 134
LINUX BÁSICO
GESTIÓN DE PAQUETES DE INSTALACIÓN
Una vez arrancado, solicita la contraseña de superusuario, dado que sólo root puede actualizar el sistema e instalar nuevos paquetes. Dentro del centro de control de yast encontramos diversos iconos que permiten estas tareas.
Yast II Para empezar, disponemos de tres iconos relacionados con las actualizaciones en línea, actualización del sistema o su configuración. Podremos así controlar las descargas de Internet, parchear el sistema desde un CD con una versión nueva o una combinación de ambas posibilidades.
Pág. 135
GESTIÓN DE PAQUETES DE INSTALACIÓN
LINUX BÁSICO
Podemos configurar las actualizaciones en línea para programarlas o comprobarlas cada cierto tiempo con la idea de mantener el sistema al día con los nuevos desarrollos y aplicaciones. También se pueden modificar las rutas de los servidores desde dónde se efectuarán las descargas, añadir servidores extra, etcétera, con la idea de disponer en todo momento del software de un sistema óptimo. Por último, y más importante, podemos instalar o desinstalar archivos, buscando en la base de cientos de paquetes. El problema reside en saber qué aplicación o aplicaciones necesitamos. A pesar de esto, el gestor Yast proporciona una forma segura y efectiva de controlar la instalación, actualización y desinstalación de los paquetes del sistema. En cualquier caso, siempre resulta conveniente consultar las dependencias del software que se va a instalar para evitar conflictos.
Paquetes externos autoinstalables En Linux existen paquetes autoinstalables que son similares a los ejecutables de Windows. Basta ejecutar el archivo instalador y el programa se instalará solo, a pesar de esto será necesario ver si depende de algún otro programa adicional para poder instalarlo correctamente. Los paquetes autoinstalables son ejecutables que podremos arrancar como scripts, dentro de un shell. Para ejecutar un programa de este estilo bastará con utilizar la orden ./ nombre de programa y el programa será ejecutado, dando comienzo la instalación.
Pág. 136
LINUX BÁSICO
GESTIÓN DE PAQUETES DE INSTALACIÓN
Los archivos ejecutables para instalación en Linux tienen extensión *.sh. Podemos ejecutar este instalador como un programa de shell, o con la orden sh nombre.sh y la instalación dará comienzo.
Conversión de tipos de paquetes Como ya hemos mencionado en otras lecciones, las distintas distribuciones incorporan distintos tipos de paquetes.
En alguna ocasión puede ocurrir que necesitemos instalar algún paquete de otra distribución, ya sea porque no está disponible en la que usamos o bien porque la de otra distribución se trata de una versión superior o mejorada. Hay paquetes de otras distribuciones que podemos usar directamente, como es el caso de la distribución Red hat, que usa paquetes *.rpm, al igual que suse.
Pág. 137
GESTIÓN DE PAQUETES DE INSTALACIÓN
LINUX BÁSICO
La conversión de paquetes pertenecientes a una distribución en paquetes que pueda reconocer otra, no siempre es posible, de hecho, sólo es posible para determinado tipo de paquetes. El tipo de paquetes que podemos convertir son los *.deb de la distribución Linux llamada Debian. Para realizar esta conversión usaremos una herramienta llamada Alien, que convierte los paquetes *.deb en paquetes *.rpm, aptos para ser usados en Suse. De hecho, las últimas versiones de esta aplicación permiten la conversión entre paquetes de varias distribuciones, como Red hat, Debian, Slackware o Stampede.
El uso del paquete Alien es muy sencillo. Como cualquier otro programa, bastará con ejecutarlo con su nombre seguido del nombre completo del paquete que deseamos convertir.
El proceso tendrá lugar de forma automática y el paquete se podrá instalar directamente.
Pág. 138
LINUX BÁSICO
GESTIÓN DE PAQUETES DE INSTALACIÓN
Compilación de nuevos programas Puede suceder que nos encontremos con programas que no tienen el paquete compatible con nuestra distribución. Es decir, no podemos instalarlas ni como paquetes de suse, ni son paquetes convertibles, ni tampoco autoinstalables. En estos casos debemos recurrir a la compilación de nuevos programas. La compilación consiste en hacer que un programa escrito en un determinado lenguaje, sea legible por el ordenador.
Sólo si no hemos encontrado una forma más rápida para instalar un programa, tendremos que usar la compilación. La compilación de programas debe ser siempre el último recurso. En cualquier caso, debemos saber que si el paquete que estamos instalando necesita de software adicional para su correcto funcionamiento, la compilación manual del paquete no interviene en éstos. Por lo tanto debemos de localizar la información necesaria que haga referencia a cuáles son estos programas. Generalmente suele estar indicada por el distribuidor o suministrador del paquete a compilar. Los a compilar nen programas el código sin compilar.se suministran como archivos comprimidos que contieEl proceso a seguir será la descompresión del archivo, su configuración para ser compilado y finalmente la compilación e instalación del mismo.
Pág. 139
GESTIÓN DE PAQUETES DE INSTALACIÓN
LINUX BÁSICO
Descompresión Los programas para compilar vienen habitualmente comprimidos en un formato llamado .tar.gz, este formato es muy habitual en los sistemas Linux. Cómo vemos tiene una doble extensión, esto indica que está comprimido dos veces, facilitando así una compresión más efectiva. La orden para descomprimir un paquete .tar.gz es tar y debemos acompañarla de algunos parámetros para descomprimir el paquete de forma adecuada. Uno permite la propia descompresión y el otro indica el archivo que queremos descomprimir.
Pág. 140
LINUX BÁSICO
GESTIÓN DE PAQUETES DE INSTALACIÓN
La orden completa para la descompresión es la combinación tar –xzvf programa. tar.gz. El programa se descomprimirá en la carpeta dónde nos encontremos. Una vez llegados a este punto se puede comenzar con el proceso de configuración y finalmente la compilación como tal.
Configuración
Ahora hay que configurar el programa que tenemos entre manos, es decir, adaptarlo a nuestro sistema. La gran mayoría de este tipo de paquetes incluyen un archivo llamado configure, que en realidad es un programa que realiza el proceso de configuración. Configure es un programa que no está incluido en el sistema, por esto que deberá ser ejecutado como un script del shell.
La opción para ejecutarlo es ./configure. Esto adaptará el programa a nuestro sistema.
Make y make install Nos encontramos ante la parte final del proceso de compilación de un programa, que consistirá en compilarlo e instalarlo finalmente.
Pág. 141
GESTIÓN DE PAQUETES DE INSTALACIÓN
LINUX BÁSICO
Lo primero que haremos será hacer uso del comando make.
El comando make es muy sencillo de emplear. Lo tecleamos dentro de la carpeta donde hemos descomprimido el programa. Una vez hayamos usado el comando make y compilado el programa, bastará con teclear la orden make install.
En este punto el programa quedará instalado y listo para ser utilizado.
Pág. 142
View more...
Comments