====== 07. Administración básica de Sistemas Operativos ====== ===== Estructura de directorios en Linux ===== * [[http://computernewage.com/2015/06/14/el-arbol-de-directorios-de-linux-al-detalle-que-contiene-cada-carpeta/|El Árbol de Directorios de Linux al Detalle. ¿Qué contiene cada Carpeta?]] * {{:clase:daw:si:1eval:bin-sbin-usr-bin-usr-sbin.pdf|Entendiendo la separación de ‘/bin’, ‘/sbin’, ‘/usr/bin’ y ‘/usr/sbin’}} * [[https://maslinux.es/la-jerarquia-de-los-directorios-en-gnu-linux-contado-para-los-neofitos/|La jerarquía de los directorios en GNU/Linux contado para los neófitos]] * Directorios de los ejecutables * /bin:Los binarios de las ordenes comunes a todos los usuarios (cat, ls ,cp, etc). * /sbin:Los binarios de las ordenes específicas del root (hdparam, ifconfig,etc). * /lib:Librerías para las ordenes de /bin y /sbin * Directorios particulares de los usuarios * /root: Directorios del superusuario * /home: Desde este directorio cuelgan los directorios del resto de usuario. * /home/carlos * /home/luis * Información del sistema * /proc: Permite obtener/establecer información sobre el núcleo del S.O.y los procesos.No existe físicamente * /proc/β : Información sobre un proceso.Siendo β el PID de un proceso * /proc/cpuinfo: Información sobre la CPU * /proc/filesystems: Sistemas de ficheros que soporta el kernel * /proc/ioports: Puertos de E/S * /proc/interrupts: Nº de interrupciones que ha habido ===== Órdenes básicas en Linux ===== * [[https://es.slideshare.net/ermendalirenda/rutas-absolutas-y-relativas-55198746|Rutas relativas y absolutas]] * {{:clase:daw:si:1eval:manual_practico_de_linux_alumnos.pdf|Manual práctico de Linux con Ejercicios}} * [[https://lmbalderas.wordpress.com/2016/04/05/comandos-basicos-de-linux-cat-ls-cd-touch-mkdir-cp-mv-rm-pwd-clear-rmdir-man-less-tail-vim/|Comandos básicos de Linux (cat, ls, cd, touch, mkdir, cp, mv, rm, pwd, clear, rmdir, man, less, tail, vim).]] * orden ''find'': Permite buscar archivos.Esta orden es muy potente pero solo vamos a explicar su uso básico find dir –name “patron” Siendo: * dir: Directorio a partir del cual se buscan los archivos. * patron: Patrón del nombre del fichero a buscar * orden ''date'': Permite obtener y establecer la fecha.Al mostrar la fecha se puede establecer el formato date +”formato” Siendo el formato: %Y El año con 4 dígitos %m El número del mes (01..12) %d El día del mes (01..31) %H La hora (00..23) %M El minuto (00..59) %S El segundo (00..59) * Ficheros * cat: Mostrar el contenido de un fichero. [[https://www.howtogeek.com/424234/how-to-use-the-linux-cat-and-tac-commands/|How to Use the Linux cat and tac Commands]] * mv: renombrar/mover un fichero * cp: Copiar un fichero * touch: Crear un fichero vacio * rm: Borrar un fichero * less: Mostrar el contenido de un fichero pero con paginación * tail: Mostrar el final de un fichero * Directorios * ls : Ver el contenido de un directorio. Es decir que ficheros tiene. * cd : Cambiar de directorio * pwd: Mostrar en que directorio estamos * mkdir : Crear un directorio * rmdir: Borrar un directorio * mv: renombrar/mover un directorio * Otros * exit: Salir del sistema * whoami: Que usuario eres * man : Ayuda de una orden * clear : Limpiar la pantalla * echo: Mostrar un mensaje por la pantalla ===== Servicios ===== * [[https://www.solvetic.com/tutoriales/article/1773-%C2%BFqu%C3%A9-es-systemd/|¿Qué es SystemD?]] * [[https://www.linuxito.com/gnu-linux/nivel-basico/1427-systemd-listar-servicios-disponibles-y-consultar-su-estado|systemd: listar servicios disponibles y consultar su estado]] * Iniciar un servicio sudo systemctl start nombreServicio.service \\ \\ * Parar un servicio sudo systemctl stop nombreServicio.service \\ \\ * Estado de un servicio (Saber si está funcionando) sudo systemctl status nombreServicio.service \\ \\ * Iniciar un servicio sudo systemctl start nombreServicio.service \\ \\ * Saber si un servicio se inicia al arrancar Linux sudo systemctl is-enabled nombreServicio.service \\ \\ * Configurar un servicio para que se inicie al arrancar Linux sudo systemctl enable nombreServicio.service \\ \\ * Configurar un servicio para que **NO** se inicie al arrancar Linux sudo systemctl disable nombreServicio.service \\ \\ * Listar servicios sudo systemctl list-units --type service \\ \\ ===== Acceso a ficheros remotos: SCP y SSH ===== * [[http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-ssh.html|Protocolo SSH]] * [[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|Putty]] : Cliente de SSH en Windows * [[http://winscp.net/eng/download.php|WinSCP]]: Cliente de SCP en Windows * [[https://​www.redeszone.net/​redes/​ssh-tunneling/​|SSH tunneling : manual para crear un túnel SSH y navegar seguro]] * [[https://​www.hostinger.es/​tutoriales/​crear-tunel-ssh-putty/​|Cómo crear un túnel SSH con PuTTY]] ===== Instalación de Software en Ubuntu ===== * [[https://itsfoss.com/apt-command-guide/|Using apt Commands in Linux [Complete Guide]]] * [[https://help.ubuntu.com/lts/serverguide/apt.html.en|Los 4 comandos básicos de apt]] * [[https://www.computerhope.com/unix/apt.htm|apt]] * Depreciada. Ya no se usa ''apt-get''. * [[http://www.tecmint.com/useful-basic-commands-of-apt-get-and-apt-cache-for-package-management/|25 Useful Basic Commands of APT-GET and APT-CACHE for Package Management]] * [[https://itsfoss.com/apt-vs-apt-get-difference/|Difference Between apt and apt-get Explained]] * Instalar un paquete sudo apt install nombrePaquete \\ \\ * Actualizar la base de datos de paquetes sudo apt update \\ \\ * Actualizar los paquetes sudo apt upgrade \\ \\ ===== Ejercicios ===== ==== Ejercicio 1 ==== Crea las siguientes carpetas y ficheros +--documentos +--trabajo +--mislata +--facura.pdf +--valencia +--factura.pdf +--ocio +--peliculas +--vengadores.avi +--musica +--u2.mp3 - Ves a la carpeta música - copia el fichero ''u2.mp3'' en ''trabajo'' - mueve el fichero ''vengadores.avi'' a ''mislata'' - borra el fichero ''factura.pdf'' de ''valencia'' - borra la carpeta ''peliculas'' - copia el fichero ''/etc/passwd'' a ''valencia'' - copia el fichero ''/etc/shadow'' a ''ocio'' ==== Ejercicio 2 ==== Ordenas básicas * Muestra todos los archivos que finalicen por “.conf” en el directorio /etc. * Muévete el directorio $HOME y muestra todos los archivos del directorio padre usando una ruta relativa. * Crear el directorio $HOME/seguridad * Copia el archivo /etc/passwd a $HOME/seguridad * Renombra el nombre del archivo $HOME/seguridad/passwd al nombre usuarios.txt. * Mueve el archivo $HOME/seguridad/usuarios.txt al directorio * $HOME * Muestra el contenido del archivo /etc/passwd * Borra el archivo $HOME/usuarios.txt * Crea los siguientes directorios: $HOME/SIMM $HOME/SIMM/1eval $HOME/SIMM/2eval $HOME/SIMM/3eval $HOME/SIMM/1eval/tema1 $HOME/SIMM/1eval/tema2 $HOME/SIMM/1eval/tema3 * Borra los directorios que acabas de crear * Vuelve a crear los directorios de antes pero ahora usando rutas absolutas y mueve el directorio $HOME/SIMM al directorio / * Borra el directorio /SIMM con todos sus subdirectorios pero ahora usando rutas absolutas * Muestra la fecha actual * Muestra la fecha actual con el siguiente formato: dd/mm/yyyy * Muestra la fecha actual con el siguiente formato: yyyymmdd * Muestra todos los archivos con el nombre “*.conf” que hay en el ordenador ==== Ejercicio 3 ==== * Instala Nginx en Ubuntu 18.04 * Comprueba que el servicio está instalado * Conecta desde algún navegador a Nginx * Para el servicio de Nginx * Conecta desde algún navegador a Nginx . No podrás. * Arranca el servicio de Nginx * Conecta desde algún navegador a Nginx . Ahora si que podrás. * Para el servicio de Nginx * Reinicia la máquina * Mira mediante ''systemctl'' si el servicio está ejecutándose. Y en ese caso vuelve a conectarte mediante algún navegador * Vuelve a parar el servicio y ahora lo deshabilitas * Reinicia la máquina * Mira mediante ''systemctl'' si el servicio está ejecutándose. Ahora no estará en funcionamiento * ==== Ejercicio 4 ==== Repite el ejercicio anterior pero ahora conectándote a Linux por SHH desde Windows