1.4. Introducción a Unix Y Linux
Total Page:16
File Type:pdf, Size:1020Kb
APUNTES USC www.apuntesusc.es Administración de Sistemas e Redes Grao en Enxeñaría Informática Grao Escola Técnica Superior de Enxeñaría Universidade de Santiago de Compostela Tomás Fernández Pena [email protected] 5 de septiembre de 2018 APUNTES USC www.apuntesusc.es APUNTES USC www.apuntesusc.es APUNTES USC www.apuntesusc.es APUNTES USC www.apuntesusc.es Índice general 1. Introducción a la administración de sistemas1 1.1. Introducción a la asignatura...................1 1.1.1. La figura del administrador de sistemas.........1 1.1.2. Objetivos de la asignatura................1 1.1.3. ¿Por qué UNIX/GNU Linux?..............2 1.1.4. Información oficial....................2 1.1.5. Relación con otras asignaturas..............3 1.2. Tareas de un administrador de sistemas.............3 1.2.1. Principales tareas.....................5 1.3. Políticas y estándares.......................6 1.3.1. Políticas y procedimientos................7 1.3.2. Estándares y recomendaciones..............9 1.4. Introducción a Unix y Linux................... 12 1.4.1. Historia de Unix..................... 12 1.4.2. Sistemas GNU/Linux................... 15 1.4.3. Distribuciones de GNU/Linux.............. 18 1.5. Virtualización........................... 22 2. Introducción a los sistemas Linux/Unix 26 2.1. Instalación de Linux Debian................... 26 2.1.1. Tipos de instalación................... 26 2.1.2. Instalación del sistema.................. 27 2.1.3. Arranque del sistema................... 44 2.1.4. Verificación de la instalación............... 47 2.2. Instalación de software...................... 51 2.2.1. Formas de instalación................... 51 2.2.2. dpkg............................ 52 2.2.3. APT - Advanced Packaging Tools............ 56 2.2.3.1. Corrección de problemas............ 61 2.2.4. Instalación desde el código fuente............ 62 2.3. Uso de la línea de comandos................... 66 i APUNTES USC www.apuntesusc.es APUNTES USC www.apuntesusc.es ÍNDICE GENERAL ii 2.3.1. El interprete de comandos (shell)............ 66 2.3.2. Variables de shell..................... 68 2.3.3. Expansiones del shell................... 70 2.3.4. Redirección de la entrada/salida............. 73 2.3.5. Orden de evaluación................... 76 2.3.6. Ficheros de inicialización de bash............ 77 2.4. Programación de scripts de administración........... 78 2.4.1. Programación Shell-Script................ 78 2.4.2. Entrada/salida...................... 81 2.4.3. Tests............................ 83 2.4.4. Estructura if...then...else .............. 84 2.4.5. Expresiones........................ 86 2.4.6. Control de flujo...................... 87 2.4.7. Funciones......................... 91 2.4.8. Otros comandos...................... 92 2.4.9. Optimización de scripts.................. 95 2.5. Expresiones regulares....................... 97 2.5.1. Expresiones regulares básicas.............. 99 2.5.2. Expresiones regulares extendidas............ 100 2.5.3. Comandos grep y sed................... 103 2.6. Comandos para el procesamiento de textos........... 106 2.6.1. head............................ 107 2.6.2. tail............................. 107 2.6.3. tac, rev.......................... 108 2.6.4. wc............................. 108 2.6.5. nl.............................. 109 2.6.6. sort............................. 110 2.6.7. tr.............................. 111 2.6.8. uniq............................ 111 2.6.9. cut............................. 112 2.6.10. paste............................ 113 2.6.11. join............................. 113 2.6.12. split............................ 115 2.6.13. expand........................... 115 2.6.14. fmt............................. 116 2.6.15. od............................. 117 2.7. awk................................ 118 2.7.1. Funcionamiento básico.................. 118 2.7.2. Manejo de ficheros de texto............... 121 2.7.3. Otras características................... 122 2.8. Programación en Python..................... 125 APUNTES USC www.apuntesusc.es APUNTES USC www.apuntesusc.es ÍNDICE GENERAL iii 2.8.1. Introducción a Python.................. 125 2.8.2. Tipos de datos en Python................ 126 2.8.3. Control de flujo...................... 129 2.8.4. Orientación a objetos................... 131 2.8.5. Módulos y librerías.................... 133 3. Actividades administrativas básicas 140 3.1. Comandos básicos para la gestión de procesos......... 140 3.1.1. Ver los procesos en ejecución............... 140 3.1.2. Señalización de procesos................. 146 3.1.3. Manejo de la prioridad y recursos de un proceso.... 149 3.1.4. Análisis básico del rendimiento del sistema....... 152 3.1.5. Herramientas gráficas................... 153 3.1.6. Los directorios /proc y /sys ............... 154 3.2. Gestión del sistema de ficheros.................. 156 3.2.1. Tipos de ficheros y operaciones............. 156 3.2.2. Localización de ficheros.................. 164 3.2.3. Particiones y sistemas de ficheros............ 171 3.2.4. Sistemas de ficheros con LVM.............. 181 3.2.5. Manejo de discos cifrados................ 187 3.3. Gestión de usuarios........................ 192 3.3.1. Ficheros de información de los usuarios......... 193 3.3.2. Creación manual de una cuenta............. 196 3.3.3. Comandos para gestión de cuentas........... 198 3.3.4. Módulos de autentificación................ 202 3.3.5. Cuotas de disco...................... 204 3.4. Instalación y configuración básica de redes de área local.... 207 3.4.1. Ficheros de configuración de red............. 208 3.4.2. Configuración de red en Ubuntu............. 211 3.4.3. Configuración de DHCP................. 212 3.4.4. Comandos de configuración de red............ 213 3.5. Automatización de tareas..................... 223 3.5.1. Tareas periódicas..................... 223 3.5.2. Automatización de la configuración........... 227 3.6. Copias de seguridad........................ 229 3.6.1. Estrategias para las copias de seguridad........ 229 3.6.2. Comandos básicos..................... 234 3.6.3. Otras aplicaciones de backups, sincronización y clonado 237 APUNTES USC www.apuntesusc.es APUNTES USC www.apuntesusc.es ÍNDICE GENERAL iv 4. Servicios básicos de servidor a cliente 241 4.1. Acceso remoto y transferencia de ficheros............ 242 4.1.1. SSH............................ 242 4.2. Sistemas de ficheros de red (NFS)................ 247 4.2.1. Servidor NFSv4...................... 248 4.2.2. Cliente NFS........................ 250 4.3. Compartición Linux-Windows: Samba.............. 251 4.3.1. Funcionamiento de Samba................ 251 4.3.2. Instalación básica de Samba............... 252 4.3.3. Configuración de Samba................. 252 4.3.4. Otros comandos Samba.................. 254 4.4. Servicio de directorio: LDAP................... 254 4.4.1. OpenLDAP........................ 255 4.4.2. Modelo de datos de LDAP................ 256 4.4.3. Instalación de un servidor LDAP............ 257 4.4.4. Instalación de un cliente LDAP............. 261 4.4.5. Configuración de LDAP con múltiples servidores.... 263 4.4.6. Herramientas de administración de LDAP....... 264 APUNTES USC www.apuntesusc.es APUNTES USC www.apuntesusc.es Capítulo 1 Introducción a la administración de sistemas 1.1. Introducción a la asignatura 1.1.1. La figura del administrador de sistemas El administrador de sistemas es quien tiene la capacidad y la responsa- bilidad de establecer las acciones, procedimientos y normas para con- seguir: • asegurar que el sistema funcione correcta y eficientemente, y • asegurar que todos los usuarios pueden usar el sistema de manera fácil y sin problemas Tarea esencial, dado el incremento en la complejidad de los sistemas y redes 1.1.2. Objetivos de la asignatura Adquirir competencias de un Administrador de Sistemas a nivel inter- medio • Facilidad de uso de la mayor parte de los aspectos de la adminis- tración de sistemas GNU Linux/UNIX • Conocimiento de administración de redes • Capacidad de entender y escribir scripts de administración • Capacidad de identificar tareas que requieran automatización y automatizarlas 1 APUNTES USC www.apuntesusc.es APUNTES USC www.apuntesusc.es CAPÍTULO 1. INTRODUCCIÓN A LA ADMINISTRACIÓN DE SISTEMAS2 • Capacidad de resolver problemas rápida y completamente 1.1.3. ¿Por qué UNIX/GNU Linux? UNIX tiene una larga historia en la industria y la educación UNIX/GNU Linux es popular a nivel de empresa Es independiente del hardware GNU Linux es abierto y gratuito GNU Linux proporciona prácticamente todo el software necesario para un sistema completo ¿Por qué no Windows? Dependencia de una sola empresa Es caro No es completo Es cerrado Oculta su complejidad Conociendo Linux es fácil aprender otros SO 1.1.4. Información oficial 6 ECTS −→ 5 horas expositivas/45 laboratorio Asistencia obligatoria a clases de laboratorio Evaluación: 40 % evaluación prácticas/60 % examen Condición de aprobado: asistencia a las prácticas, superar las prácticas y aprobar el examen Profesorado: • Teoría: Francisco Argüello Pedreira • Prácticas: Francisco Argüello Pedreira, Álvaro Ordoñez Iglesias y Álvaro Acción Montes APUNTES USC www.apuntesusc.es APUNTES USC www.apuntesusc.es CAPÍTULO 1. INTRODUCCIÓN A LA ADMINISTRACIÓN DE SISTEMAS3 1.1.5. Relación con otras asignaturas Administración Avanzada de Sistemas e Redes. Optativa, trata aspec- tos de virtualización, monitorización y optimización de servidores y administración de servicios (web, e-mail, etc.). Enxeñaría de Computadores Obligatoria, instalación y configuración de centros de procesado de datos e instalaciones informáticas de tama-