\documentclass{beamer} \usepackage[spanish]{babel} \usepackage{hyperref} \usepackage{graphicx} \usepackage{subcaption} \usetheme{Frankfurt} \title{Administración de OpenBSD} \author{Nicolás A. Ortega Froysa} \institute{CEU San Pablo} \date{\today} \begin{document} \begin{frame} \titlepage \end{frame} \begin{frame}{Tabla de Contenidos} \tableofcontents \end{frame} \section{Introducción} \begin{frame}{Introducción} \begin{itemize} \item {\em No es} una distribución de Linux, sino de {\em BSD}. \item Su enfoque principal es la seguridad. \item No usa {\tt apt}, sino los llamados {\it OpenBSD package tools}. \item No usa {\it Systemd}, sino {\it rc init}. \end{itemize} \hfill \begin{figure} \includegraphics[width=0.3\textwidth]{imgs/OpenBSD.png} \caption{{\it Puffy}, la mascota de {\it OpenBSD}.} \end{figure} \end{frame} \section{Instalación} \begin{frame}{Instalación} \begin{itemize} \item {\em No} es gráfico. \item Opciones para instalar: \begin{itemize} \item {\tt (I)nstall}: instalar por medio de un {\it prompt} en shell. \item {\tt (U)pgrade}: actualizar un OpenBSD que ya tienes instalado. \item {\tt (A)utoinstall}: auto-instalar, tomando todos los valores por defecto. \item {\tt (S)hell}: entrar en un {\it shell} e instalar todo de forma manual. \end{itemize} \end{itemize} \end{frame} \begin{frame}{{\it File Sets}} \begin{itemize} \item {\tt bsd}: {\it kernel} de BSD ({\bf obligatorio}). \item {\tt bsd.mp}: {\it kernel} multi-procesador. \item {\tt bsd.rd}: {\it kernel} de uso en memoria. \item {\tt base72.tgz}: sistema base o {\it userland} ({\bf obligatorio}). \item {\tt comp72.tgz}: colección de compiladores. \item {\tt man72.tgz}: páginas de manual. \item {\tt game72.tgz}: juegos de consola (modo texto). \item {\tt xbase72.tgz}: librerías y utilidades básicas para X11. \item {\tt xfont72.tgz}: fuentes utilizadas para X11. \item {\tt xserv72.tgz}: los servidores X de X11. \item {\tt xshare72.tgz}: las páginas de manual, configuración, e {\it includes} de X11. \end{itemize} \end{frame} \begin{frame}{Primer Arranque} \begin{figure} \centering \includegraphics[width=0.75\textwidth]{imgs/00-initial-load.png} \caption{Primer arranque de OpenBSD.} \label{fig:initial-load} \end{figure} \end{frame} \section{Gestión de Paquetes} \begin{frame}{Gestión de Paquetes} \begin{itemize} \item {\tt pkg\_add}: instalar y actualizar. \item {\tt pkg\_delete}: eliminar/desinstalar. \item {\tt pkg\_info}: buscar información. \item {\tt pkglocate}: encontrar paquetes por archivo (en el paquete {\tt pkglocatedb}). \end{itemize} \end{frame} \begin{frame}{Encontrar Paquetes} \begin{itemize} \item {\tt pkg\_info -Q }: encontrar un paquete que tenga el nombre {\tt }. \item {\tt pkglocate }: encontrar los paquetes que puedan contener un archivo con el nombre {\tt }. \end{itemize} \end{frame} \section{Gestión y Configuración de Servicios} \begin{frame}{{\it RC Init}} \begin{itemize} \item {\tt rcctl start}: iniciar un servicio. \item {\tt rcctl stop}: parar un servicio. \item {\tt rcctl restart}: reiniciar el servicio. \item {\tt rcctl enable}: habilitar un servicio para iniciarse al arrancar la máquina. \item {\tt rcctl disable}: deshabilitar un servicio para que no se inicie cuando arranque la máquina. \item {\tt rcctl check}: mostrar el estado de un servicio. \item {\tt rcctl ls}: mostrar una lista de los servicios. \end{itemize} Los subcomandos {\tt start}, {\tt stop}, {\tt restart}, {\tt enable}, {\tt disable}, y {\tt check} se pueden correr desde los archivos en {\tt /etc/rc.d/} (e.g.\ {\tt /etc/rc.d/nginx restart}) \end{frame} \begin{frame}{Servicios Configurados} Servicios instalados y configurados: \begin{itemize} \item NGinx: servidor web. \item MariaDB: servidor de base de datos. \item RSyncd: servidor de archivos. \end{itemize} \end{frame} \begin{frame}{NGinx} \begin{itemize} \item Instalación: {\tt pkg\_add nginx} \item Inicialización: {\tt rcctl start nginx; rcctl enable nginx} \item Arch. Conf.: {\tt /etc/nginx/nginx.conf} \item Logs: {\tt /etc/nginx/logs/} \end{itemize} \end{frame} \begin{frame}{MariaDB} \begin{itemize} \item Instalación: {\tt pkg\_add mariadb-server mariadb-client} \item Inicialización: {\tt rcctl start mysqld; rcctl enable mysqld} \item Arch. Conf.: {\tt /etc/my.cnf} \item Logs: {\tt /var/db/mysql/} \end{itemize} \end{frame} \begin{frame}{RSyncd} \begin{itemize} \item Instalación: {\tt pkg\_add rsync} \item Inicialización: {\tt rcctl start rsyncd; rcctl enable rsyncd} \item Arch. Conf.: {\tt /etc/rsyncd.conf} \item Logs: {\tt /var/log/rsyncd.log} \end{itemize} \end{frame} \section{Prueba de {\it Stress}} \begin{frame}{Test de NGinx} \begin{center} Usando {\tt wrk} a 50 conexiones en 10 hilos distintos sobre el servidor. \end{center} \begin{figure} \centering \includegraphics[width=0.95\textwidth]{imgs/02-load-wrk-test.png} \caption{Test de NGinx.} \end{figure} \end{frame} \begin{frame}{Test de RSyncd} \begin{center} Descargando varios ISO del servidor RSync, utilizando compresión para facilitar la transferencia. \end{center} \begin{figure} \centering \includegraphics[width=0.95\textwidth]{imgs/03-load-rsyncd.png} \caption{Test de RSyncd.} \end{figure} \end{frame} \section{Fin} \begin{frame}{Fin} \begin{center} Hecho con \LaTeX \end{center} \hfill Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa \hfill Este documento se distribuye bajo los términos y condiciones de la licencia Creative Commons Attribution No Derivatives 4.0 International. \end{frame} \end{document}