[ES] Administración básica de GNU / Linux

50 %
50 %
Information about [ES] Administración básica de GNU / Linux
Technology

Published on March 3, 2014

Author: eudris

Source: slideshare.net

Diplomado en Software Libre Administración Básica de GNU/Linux Eudris Cabrera Rodríguez @eudriscabrera @eudriscabrera 01 Marzo 2014, Santiago de los Caballeros, R. D.

Asuntos Legales Todas las marcas registradas, así como todos los logotipos, imágenes, fotografías, audio y vídeos mostrados en esta presentación son propiedad de sus respectivos propietarios. Su utilización es solamente para fines ilustrativos y no pretendo dar a entender cualquier afiliación con esas empresas. Los conceptos y juicios de valor emitidos en esta presentación son responsabilidad personal y no se puede entender como una posición oficial de alguna empresa con la que he tenido relación laboral.

Agenda 1- Herramientas básicas para el administrador ❏ Línea de comandos ❏ Shell y Shell scripts 2- Herramientas de gestión de paquetes ❏ Paquete TGZ, paquetes RPM y paquetes DEB. 3- Administración local ❏ Usuarios y Grupos ❏ Permisos

Objetivos ❖ Introducir al estudiante en la administración de los sistemas GNU/Linux. ❖ Conocer herramientas esenciales para la administración de sistemas GNU / Linux. ❖ Conocer los diferentes tipos de paquetes disponibles en las principales familias de distribuciones GNU / Linux.

Herramientas básicas para el administrador

Línea de comandos Interfaz de Línea de Comandos, en inglés, Command Line Interface (CLI), es un método que permite a las personas dar instrucciones a algún programa informático por medio de una línea de texto simple. Las CLI pueden emplearse interactivamente, escribiendo instrucciones en alguna especie de entrada de texto, o pueden utilizarse de una forma mucho más automatizada (archivo batch), leyendo comandos desde un archivo de scripts. Las CLI son usadas por muchos programadores y administradores de sistemas como herramienta primaria de trabajo, especialmente en sistemas operativos basados en Unix; en entornos científicos y de ingeniería, y un subconjunto más pequeño de usuarios domésticos avanzados.

Terminología Los conceptos de Consola, Terminal y Shell no son lo mismo, aunque suelen utilizarse como sinónimos.

Terminología Los recién llegados al mundo de Unix / Linux se suelen confundir, cuando se trata de la diferencia entre un terminal, una consola y un shell. Desde la perspectiva del usuario, puede haber poca o ninguna diferencia entre ellos, pero en realidad, el usuario utiliza una consola para conectarse a un terminal, con el fin de mirar el shell en ejecución en el equipo.

Terminología En los primeros años de la computación, estos tres elementos eran hardware separado. La consola no era más que un monitor y un teclado, que no tenía la capacidad de computación. Es conectado a un terminal, a través de una interfaz en serie, siendo el más común el conector RS-232.

Terminología Un terminal es similar a un punto final a un mainframe. Por lo general, tenía algunas capacidades de computación y puede comunicarse a través de una red, o alguna forma de conexión especializada, a un mainframe.

Terminología Un terminal también proporciona derechos administrativos sobre el sistema, y por eso se mantiene generalmente en un espacio cerrado. Consolas y terminales finalmente se fusionaron en un solo dispositivo, siendo el más notorio de los terminales VT emulados en distribuciones de Linux.

Terminología El término genérico shell se utiliza para denominar un programa que sirve de interfaz entre el usuario y el núcleo (kernel ) del sistema GNU/Linux. El shell, como programa, es una utilidad que permite a los usuarios interactuar con el kernel por interpretación de comandos que el mismo usuario introduce en la línea de comandos o en los ficheros de tipo shell script y proporciona el resultado en la pantalla.

Características 1. Es capaz de leer la entrada del usuario y proporcionar el resultado en la pantalla. 2. Puede ser textual (como el CLI) o gráfica (como GUI de Windows). 3. En informática de hoy en día, un shell es mucho más que una simple interfaz entre el usuario y el sistema. 4. Es responsable de la gestión de procesos, ventanas, aplicaciones, comandos y otros aspectos del sistema.

Shells interactivos Una vez iniciado el shell interactivo, se muestra un prompt de cara al usuario, indicándole que puede introducir una línea de comando. Tras la introducción, el shell asume la responsabilidad de validarla y poner los procesos necesarios en ejecución, mediante una serie de fases: ● ● ● ● ● Leer e interpretar la línea de comandos. Evaluar los caracteres “comodín” como $ * ? u otros. Gestionar las redirecciones de E/S necesarias, los pipes y los procesos en segundo plano (background) necesarios (&). Manejar señales. Preparar la ejecución de los programas.

Normalmente, las líneas de comandos podrán ser ejecuciones de comandos del sistema, comandos propios del shell interactivo, puesta en marcha de aplicaciones o shell scripts.

Shell scripts Son archivos de texto que contienen secuencias de comandos de sistema, más una serie de comandos propios del shell interactivo, más las estructuras de control necesarias para procesar el flujo del programa (tipo while, for, etc.). Los archivos script son directamente ejecutables por el sistema bajo el nombre que se haya dado al archivo. Para ejecutarlos, se invoca el shell junto con el nombre del archivo, o bien se dan permisos de ejecución al shell script. En cierta manera, podemos ver el shell script como código de un lenguaje interpretado que se ejecuta sobre el shell interactivo correspondiente.

Para el administrador, los shell scripts son muy importantes básicamente por dos razones: 1) La configuración del sistema y de la mayoría de los servicios proporcionados se hacen mediante herramientas proporcionadas en forma de shell scripts. 2) La principal forma de automatizar procesos de administración es mediante la creación de shell scripts por parte del administrador.

Todos los programas invocados mediante un shell poseen tres archivos predefinidos, especificados por los correspondientes descriptores de archivos (file handles). 1) Standard Input (entrada estándar) 2) Standard Output (salida estándar) 3) Standard Error (salida estándar de errores) Además, los shells suelen proporcionar los tres mecanismos siguientes: 1) Redirección 2) Tuberías (pipes) 3) Concurrencia de programas de usuario

Shells disponibles La independencia del shell respecto al kernel del operativo (el shell es sólo una capa de interfaz), nos permite disponer de varios de ellos en el sistema. Algunos de los más comunes son: El shell Bash (bash). El shell Linux por defecto. El shell Bourne (sh). Éste ha sido desde siempre el shell estándar UNIX, y el que todos los UNIX poseen en alguna versión. Normalmente, es el shell por defecto del administrador (root). El sh fue creado por Stephen Bourne en AT&T a finales de los setenta. El indicador (o prompt) por defecto suele ser un ’$’ (en root un ’’#’).

El shell Korn (ksh). Es un superconjunto del Bourne (se mantiene cierta compatibilidad), escrito en AT&T por David Korn (a mediados de los ochenta), en el cual se hizo cierta mezcla de funcionalidades del Bourne y del C, más algún añadido. El prompt por defecto es el $. El shell C (csh). Desarrollado en la Universidad de Berkeley por Bill Joy a finales de los 70's Añade elementos interesantes al Shell Bourne , como un histórico de comandos, alias, aritmética desde la línea de comandos, completa nombres de ficheros y control de trabajos en segundo plano.

El shell C (csh) ● ● ● El prompt por defecto para los usuarios es ‘%’. Los usuarios UNIX suelen preferir este shell como interactivo, pero los administradores UNIX prefieren utilizar el Bourne, ya que los scripts suelen quedar más compactos, y la ejecución suele ser más rápida. También existen otros Como su nombre indica, su sintaxis está shell, como versiones basada en el lenguaje C. restringidas o especializadas de los anteriores.

Bash (Bourne Again Shell) La mayoría de las distribuciones de Linux, así como Mac OSX, usan BASH como shell por defecto. Solaris y OpenIndiana utilizan KornShell por defecto, que es otra variante de BASH. Este shell forma parte del software GNU. Es un intento de combinar los tres shell anteriores (Bourne, C y Korn), manteniendo la sintaxis del shell Bourne original. Una forma rápida de conocer bajo qué shell nos encontramos como usuarios es mediante la variable $SHELL, desde una línea de comandos con la instrucción: $ echo $SHELL

Programación scripts en Bash Todos los scripts Bash tienen que comenzar con la línea: #!/bin/bash Esta línea le indica al shell actual usado por el usuario, con qué shell hay que ejecutar el script que aparece a continuación. El script puede ejecutarse de dos modos diferentes: 1) Por ejecución directa desde la línea de comandos, siempre que tenga permiso de ejecución. Si no se da el caso, ponemos el permiso con: chmod +x script. 2) Por ejecución mediante el shell, llamamos al shell explícitamente: bash script.

Variables de sistema Algunas variables de sistema útiles que pueden consultarse (con el comando echo), son: HOME LOGNAME PATH SHELL PS1 MAIL TERM PWD Directorio raíz del usuario Id del usuario en el login Ruta Shell del usuario Prompt del shell, el usuario puede cambiarlo Directorio del buzón de correo Tipo de terminal que el usuario utiliza Directorio actual del usuario Las diferentes variables del entorno pueden verse con el comando env.

Herramientas de gestión de paquetes

Paquete Básicamente, un paquete es un conjunto de archivos que forman una aplicación o una unión de varias aplicaciones relacionadas, normalmente formando un único archivo (denominado paquete), con un formato propio y normalmente comprimido, que es el que se distribuye, ya sea vía CD, disquete o mediante acceso a servicios de ftp o web. En cualquier distribución, los paquetes son el elemento básico para tratar las tareas de instalación de nuevo software, actualización del existente o eliminación del no utilizado. El uso de paquetes facilita añadir o quitar software al considerarlo una unidad y no tener que trabajar con los ficheros individuales.

Categorías En el contenido de la distribución (sus CD) los paquetes suelen estar agrupados por categorías como: a) base: paquetes indispensables para el funcionamiento del sistema (utiles, programas de inicio, bibliotecas de sistema); b) sistema: útiles de administración, comandos de utilidad; c) desarrollo (development): útiles de programación: editores, compiladores, depuradores,... d) gráficos: controladores e interfaces gráficas, escritorios, gestores de ventanas, ... e) otras categorías.

Instalación de un paquete Normalmente, para la instalación de un paquete será necesario efectuar una serie de pasos: 1) Previo (preinstalación): 2) Descomprimir el comprobar que existe el software necesario contenido del paquete, copiando los ficheros a sus localizaciones definitivas, ya sean absolutas (tendrán una posición fija) o si se permite reubicarlas a otros directorios. (y con las versiones correctas) para su funcionamiento (dependencias),ya sean bibliotecas de sistema u otras aplicaciones que sean usadas por el software. 3)Postinstalación retocar los ficheros necesarios, configurar posibles parámetros del software, adecuarlo al sistema,

Principales tipos de paquetes Dependiendo de los tipos de paquetes, estos pasos pueden ser automáticos en su mayoría (así es en el caso de RPM y DEB , o pueden necesitar hacerlos todos a mano (caso .tgz) dependiendo de las herramientas que proporciona la distribución.

Paquete TGZ Los paquetes TGZ son quizás los de utilización más antigua. Las primeras distribuciones de GNU/Linux los utilizaban para instalar el software, y aún varias distribuciones los usan (por ejemplo, Slackware) y algunos UNIX comerciales. Son una combinación de ficheros unidos por el comando tar en un único fichero .tar, que luego ha sido comprimido por la utilidad gzip, suele aparecer con la extensión .tgz o bien .tar.gz.

Paquete TGZ Asimismo, hoy en día es común encontrar los tar.bz2 que utilizan en lugar de gzip otra utilidad llamada bzip2, que en algunos casos consigue mayor compresión del archivo. Los paquetes TGZ son una herramienta básica a la hora de instalar software no organizado. Además, son una herramienta útil para realizar procesos de backup y restauración de archivos.

Red Hat: paquetes RPM El sistema de paquetes RPM creado por Red Hat supone un paso adelante, ya que incluye la gestión de dependencias y tareas de configuración del software. Además, el sistema guarda una pequeña base de datos con los paquetes ya instalados, que puede consultarse y se actualiza con las nuevas instalaciones

Debian: paquetes DEB En el nivel de línea de comandos dispone de dpkg, que es el comando de más bajo nivel, para gestionar directamente los paquetes DEB de software, típicamente dpkg -i paquete.deb para realizar la instalación. Pueden realizarse todo tipo de tareas, de información,instalación, borrado o cambios internos a los paquetes de software.

Debian: paquetes DEB Otro nivel intermedio lo presentan las herramientas APT (la mayoría son comandos apt-xxx), donde se gestionan los paquetes a través de una lista de paquetes actuales y disponibles a partir de varias fuentes de software, ya sea desde los propios CD de la instalación, sitios ftp o web (HTTP). Esta gestión se hace de forma transparente, de manera que el sistema es independiente de las fuentes de software. La configuración del sistema APT se efectúa desde los archivos disponibles en /etc/apt, donde etc/apt/sources.list Los paquetes DEB de Debian es quizás el sistema de instalación más potente existente en GNU/Linux. Una prestación destacable es la independencia del sistema de las fuentes de los paquetes (mediante APT)

Herramientas genéricas de administración En el campo de la administración, también podríamos considerar algunas herramientas, como las pensadas de forma genérica para la administración: Linuxconf, Webmin, entre otras.

Otras herramientas ❏ Los múltiples comandos UNIX básicos: grep, awk, sed, find , diff, gzip, bzip2, cut, sort, df, du, cat, more, file, which. ❏ Los editores, imprescindibles para cualquier tarea de edición, cuentan con editores como: Vi, vim, nano, pico, etc. ❏ Lenguajes de tipo script, útiles para administración, como: Perl, PHP y Python. ❏ Herramientas de compilación y depuración de lenguajes de alto nivel: GNU gcc (compilador de C y C++), gdb (depurador), xxgdb (interfaz X para gdb), ddd (depurador para varios lenguajes).

Administración local

Usuarios y Grupos Los usuarios de un sistema GNU/Linux disponen normalmente de una cuenta asociada con sus datos, junto con el espacio en disco para que puedan desarrollar sus archivos y directorios. Este espacio está asignado al usuario, y sólo puede ser usado por éste (a no ser que los permisos especifiquen cosas diferentes).

Cuentas asociadas a usuarios La del administrador, con identificador root, que sólo es (o debería ser) utilizada para las operaciones de administración. El usuario root es el que dispone de más permisos y acceso completo a la máquina y a los archivos de configuración. Cuentas de usuarios: Las cuentas normales para cualquier usuario de la máquina tienen los permisos restringidos al uso de archivos de su cuenta, a algunas otras zonas particulares, así como a utilizar algunos dispositivos para los que se le haya habilitado. Cuentas especiales de los servicios: lp, news, wheel, www-data, cuentas que no son usadas por personas, sino por servicios internos del sistema, que los usa bajo estos nombres de usuario. Algunos de los servicios también son usados bajo el nombre de root.

Un usuario normalmente se crea mediante la especificación de un nombre (o identificador de usuario), una palabra de paso (password) y un directorio personal asociado (la cuenta). La información de los usuarios del sistema está incluida en los siguientes archivos: /etc/passwd /etc/shadow /etc/group /etc/gshadow

Permisos Estructura básica de permisos en archivos Hay 3 atributos básicos para archivos simples: lectura, escritura y ejecutar. Permiso de lectura (read): Si tienes permiso de lectura de un archivo, puedes ver su contenido. Permiso de escritura (write): Si tienes permiso de escritura de un archivo, puedes modificar el archivo. Puedes agregar,sobreescribir o borrar su contenido. Permiso de ejecución (execute): Si el archivo tiene permiso de ejecución, entonces puedes decirle al sistema operativo que lo ejecute como si fuera un programa.

Cambiar permisos chmod (change mode) es el comando utilizado para cambiar permisos, se pueden agregar o remover permisos a uno o más archivos con + (más) o – (menos). Ejemplos: $ chmod -w tuArchivo $ chmod +x tuScript Los caracteres atribuidos a los permisos son: r quiere decir escritura y viene de Read w quiere decir lectura y viene de Write x quiere decir ejecución y viene de eXecute

Usuarios, Grupos y Otros Los 3 permisos son almacenados en 3 lugares diferentes llamados. Usuario (u) proviene de user Grupo (g) proviene de group Otros (o) proviene de other Para modificar los derechos sobre un directorio o archivo, existen los comandos: • chown: cambiar propietario de los ficheros. • chgrp: cambiar grupo de los ficheros. • chmod: cambiar permisos específicos (rwx) de los archivos. Estos comandos también permite la opción –R, que es recursiva si se trata de un directorio.

Referencias Libros: GNU/Básico : Antonio Perpiñan http://codigolibre.org/ After the software wars : Keith Curtis http://keithcu.com Administración Avanzada de GNU/Linux http://www.uoc.edu/masters/oficiales/img/871.pdf http://blog.desdelinux.net/permisos-basicos-en-gnulinux-con-chmod/

¡Gracias por acompañarnos!

@eudriscabrera @eudris @ecabrerar Eudris Cabrera Rodríguez Ingeniero Telemático Desarrollador de Software / Consultor Informático eudris@gmail.com @eudriscabrera

Add a comment

Related presentations

Related pages

Administración de Servicios en Linux | iPako

Linux, aun en su instalación más básica, ... Intentaremos dar un salto a la complejidad de administración Linux sin intentar hacerlo tedioso.
Read more

de Sistemas GNU/Linux Guía Para Administradores

de Sistemas GNU/Linux ... Configuración básica de NTP ... para sistemas GNU/Linux. La administración de sistemas es el conjunto de tareas necesarias ...
Read more

Administración de Servidores Linux (Ubuntu/Fedora) - Inicio

05-09 Administración Básica de Sistemas Linux, 3ª edición. ... Distribuciones GNU/Linux de este curso.....5 1.2. Tareas del administrador ...
Read more

Administración básica del sistema - lc.fie.umich.mx

Administración básica del sistema. En este capítulo trataremos de ver los aspectos generales sobre la administración de nuestro ... de GNU/Linux que se ...
Read more

Instalar una impresora virtual PDF en GNU/Linux – Rafalinux

¿Por qué querríamos instalar una impresora virtual PDF en GNU/Linux? ... Configuración básica. En Debian: ... desde la pestaña Administración, ...
Read more

Guía de Configuración básica de Servidor Linux basado en ...

Guía de Configuración básica de Servidor Linux basado en Ubuntu ... administración y soporte ... Configurar la herramienta GNU screen para tener ...
Read more

Diplomatura en Sistemas Operativos Linux - promo - YouTube

Administración básica de Sistemas Operativos GNU/Linux Administración de Servidores GNU/Linux Redes ... Administración básica de sistemas ...
Read more

Curso Audiovisual de Gnu Linux en Español | PlanetaSoftware

Índice del DVD 1 ¿Qué es es GNU/Linux? Historia de linux La licencia GPL El software libre Ventajas de GNU/Linux Desventajas de GNU/Linux ¿Qué es una ...
Read more

Cursos Administración Básica de GNU / Linux ciudad de ...

Unix y Linux. Sistemas Operativos. Computación y telecomunicaciones. Administración Básica de GNU / Linux en Capital Federal. Administración Básica de ...
Read more

Contenido | Cont / LNX-102 - cognos-capacitacion.com

Administración GNU/ Linux I es un curso diseñado para que los estudiantes aprendan las herramientas y ... Administración Básica de Linux. Duración: 20 ...
Read more