 Muchas gracias a todos. Bienvenidos a todos aquí al Race Party de Fedora 33. Muchas gracias por la invitación. Alex, Alberto, Efren, gracias Chavero también por andar por acá. Gusto verlos a todos. Un saludo. Vamos a hablar hoy. Estas son Lightning Talks. Entonces, tengo que hacer esto bastante rápido. Así que te voy a tratar de hacer lo más breve posible. Y yo voy a hablar sobre Fedora 33 minimizado. ¿Qué es esto de minimizado? La gente me ha preguntado muchísimo. Lo han preguntado muchas ocasiones en las últimas semanas dentro del grupo de Telegram que tenemos. Y además, en lo largo de los últimos seis meses, un año, me ha preguntado mucha gente por hacer o cómo hacer un Fedora minimizado. Y la razón por la que lo quieren es porque quieren utilizar Fedora 33 o una distribución moderna de Fedora en hardware viejo o hardware limitado. Mientras sea 64 bits, Fedora 30, desde Fedora 30 me parece, 31 se dejó de soportar procesadores de 32 bits. Entonces, estamos hablando de Fedora 33. Va a funcionar en procesadores más o menos unos 10 años, 11 años para acá, que sean 64 bits. Y muchos tienen hardware que solamente soporta 1 o 2 gigas de RAM, tablets, laptops, cosas que no se pueden actualizar más allá de un par de gigas de RAM o 3 gigas de RAM incluso en algunos chipsets. Y entonces, pues, buscan una distribución pequeñita. Y también, por supuesto, esto sirve para IoT. Sirve, por ejemplo, también para raspberries, cosas que son pequeñas y que requieren únicamente un poñado de recursos para trabajar. Y vamos a hablar de eso. Entonces, ¿cómo se hace un Fedora 33 minimizado? Vamos a hablar del proceso. El procedimiento es muy sencillo. Van a ver, tal cual es lo que estoy poniendo aquí en pantalla. Eso es todo el proceso. Es simplemente instalar una versión mínima de Fedora desktop o workstation. Una versión mínima que puede ser en una imagen, que ahorita lo vamos a hacer, les voy a mostrar un demo. Instalar los paquetes que se refieren a basic desktop y window managers. Deshabilitar todos los servicios que no vamos a utilizar, que esa es la parte más complicada realmente. Y configurar algunas cositas más para tratar de optimizar un poco más el arranque y la cantidad de módulos que pone el sistema operativo. Y si es necesario, cambiar la interfaz gráfica, porque el minimal no te pone interfaz gráfica por de paso. Y eso es todo. Incluso también me han preguntado por cómo poder hacer esto, por ejemplo, que nosotros podamos hacer una imagen que después nos podamos llevar a computadoras viejas. Hay veces en que las computadoras viejas no se pueden instalar, porque no pueden putear desde USB, porque tienen problemas con UEFI y BIOS Legacy. Son muchos detalles que pueden pasar y por lo que Fedora 33 o muchas otras distribuciones de Linux no se pueden instalar correctamente en equipos viejos. Entonces, una alternativa que podamos hacer es instalar todo dentro de una máquina virtual y después llevárnoslo a una tal cual a un aláptopo o un equipo viejo, ¿OK? Bueno, entonces vamos a empezar sin más, ni más, ¿no? Voy a enseñar primero el final, digamos. Vamos a empezar por el final, porque lo que quiero que vean es cómo queda trabajando y cuál es la expectativa que podrían tener en un sistema así. Lo que estamos viendo es un Fedora 33 funcionando aquí en una máquina virtual. Y lo que pueden ver aquí arriba es en la cantidad de RAM que estoy utilizando. Estoy usando menos de 200 megas. Estamos hablando de un sistema operativo ya con interfaz gráfica funcionando. Aquí yo ya podría perfectamente levantar un Firefox o podría levantar cualquier otro tipo de herramienta, aplicación, lo que yo necesite. Y eso, evidentemente, ya me va a dar pues un resultado diferente en consumo de RAM. Y es importante aclararlo desde ahorita. El problema no es el sistema operativo para minimizar o para tratar de optimizar el problema o el obstáculo más grande no es Linux y el sistema operativo Fedora, sino las aplicaciones, en particular Firefox, Chrome, todos los navegadores, gracias a los enormes compiladores pesados, compiladores de JavaScript, se vuelven muy, muy, muy gordos o muy grandes. Y aquí lo vemos. De hecho, si vemos en mi top, si vemos aquí, vamos a ver que tengo Firefox con una sola ventana abierta sin ningún sitio en específico abierto y ya está consumiéndome otros 250 megas y de los menos de 200 megas que yo estaba utilizando de RAM, yo estoy utilizando 440. Y eso es sin abrir nada. Esto crece rapidísimo. Entonces, tal vez la aplicación que más consume, bueno, las aplicaciones que más consumen son los navegadores o cosas que tengan que ver con conectarse a servicios en línea. Y ese es un problema para mucho hardware viejo, que por mucho que funcione para todo, no puede abrir Facebook o no puede abrir Twitter, no puede abrir redes sociales porque están cargadas de JavaScript. Y algunas de esos sitios, en el momento que se deshabilita el JavaScript, dejan de funcionar. Entonces, es importante mencionarlo para que la expectativa sea de cosas que no tienen que usar web y cuando se tienen que usar web, está consciente de que el recurso prácticamente se lo van a consumir esas aplicaciones. Listo. Bueno, entonces, ya empezamos al revés. Ya vimos cuál sería la expectativa. Y nada más de cerrarlo ya me bajó a menos de 200 megas otra vez. Y vamos a instalar una máquina virtual desde cero para enseñarles cómo se debería de ser. Voy a instalar una máquina virtual con un Fedora 33. Voy a utilizar una imagen que es la de Server NetInst. Es NetInstaller. Esto lo que hace, que es bueno, es importante porque como instala por red, instala desde internet, va a instalar los paquetes más nuevos. Va a instalar el QR el más nuevo. Va a instalar todos, sin que ustedes tengan que hacer un DNF upgrade en el momento de instalar. Entonces, eso es bastante cómodo. Bueno, pues voy a generar aquí una imagencita de 2 gb de RAM. No necesito más. 2 CPUs, no necesito más. Y voy a crearle su volumen. Vamos a ponerle F33 minimal. Y lo voy a hacer de 8 gigas. Ahorita les voy a explicar exactamente por qué 8 gigas lo podrían hacer del tamaño que quieran. No hay problema. Pero estábamos hablando hace rato de que esto se podría utilizar, por ejemplo, para meterlo en un USB o meterlo, pueden consumirlo totalmente en su disco duro, instalar directo en la computadora. Pero si quisiéramos hacer una imagen que puedan utilizar en un USB, sería ideal que cupieran 8 gigas, por ejemplo. Y ya después, ya instalada en la computadora final, pueden expandir la partición o lo que sea. Y entonces ya debería de poder aprovechar todo el disco duro. En fin, vamos a hacerlo. Aquello es un punto también importante. Voy a customizar esta cosa antes de hacerla. Y el BIOS. Muchos me preguntan, oye, es que Fedora no instala bien con mi BIOS que tiene 500 años de viejo y no sé qué voy a hacer con eso. O tiene UEFI, pero no sé si tiene secure boot y es que no arrancan y no sé qué y no sé cuál. Entonces hay que entender muy bien una cosa. El instalador de Fedora va a detectar según lo que hayamos boteado. Si utilizamos UEFI va a instalar un Fedora preparado para UEFI. Si instalamos utilizando BIOS Legacy, instalándole BIOS viejito de muchas computadoras viejas, va a instalar una distribución o va a hacer una instalación que sea compatible con BIOS Legacy. Entonces eso lo podemos forzar desde ahorita, si queremos hacer una imagen. Aquí antes de generar la máquina virtual, yo podría escoger si puedo usar BIOS y esto es BIOS Legacy, que eso es el estándar en prácticamente todos los KBMs. O puedo instalar una máquina virtual con este UEFI, aquí lo estamos viendo, BIOS UEFI. Vamos a ponerle BIOS en esta ocasión, por ejemplo, y pues ya con eso. Ahora, una cosa muy interesante. Aquí, por ejemplo, en Viertaio Disk, esto me va a generar un disco Viertaio, pero no necesariamente es lo que yo quiero. A lo mejor el target al que voy a instalar más adelante es un disco USB o porque voy a utilizar un USB, o voy a utilizar este, o voy a plancharle directamente esta imagen a mi disco duro, mi laptop vieja o quiero hacerlo así. Entonces desde aquí yo podría decir cuál es el target. Yo podría ponerle que es un que voy a hacer para un USB y eso podría hacer toda la instalación así. Bueno, vamos a hacerlo con Viertaio y después eso se puede arreglar incluso. Vale, entonces, voy a poner la instalación de un Fedora 33. Para ahorrar tiempo, yo ya tenía una instalación de Fedora 33 que ya iba en camino. Aquí la ven. Hoy, antes de ir a eso, quiero enseñarles lo que voy a hacer en la instalación. Que se alcance a ver mejor. Aquí te acabe de botear. ¿Cómo es tu instala de red? Se tiene que conectar a internet. Entonces es un poquito más lento que una instalación de una imagen que ya tengan local. Bueno, ahí viene, Ricardo. Muy bien. Bienvenido a Fedora 33. Y le damos continuación. Se va a tardar un poquito aquí porque hace conexión, hace todo, este chequeo, bla, bla. Se tardan unos segunditos. Mientras arranca esta parte, quiero comentarles que Fedora 33 tiene muchos cambios interesantes. Tuvimos una charla hace unos días con respecto del nuevo file sistema que trae, que es butter. Y trae otras cosas también importantes, como que este ya por default no instala swap. Y eso es interesante porque hace un swap en memoria en RAM, digamos, un swap virtual, por decirlo así, comprimido. Entonces eso lo van a ver en el momento en que generamos por ejemplo las particiones. Por default, les instala en sistema de archivos butter y no ven una partición de swap aquí. Entonces eso puede ser bueno o puede ser malo, dependiendo del caso. Si tienen muy poquita memoria, yo diría que sí le pongan swap. Si tienen un giga o dos gigas, yo sí les recomendaré que le pongan swap. Simplemente aquí agregan o mueven el tamaño de las particiones para agregarle una particitad de swap. Y eso va a mejorar mucho la situación. Aquí le pongan swap y le pueden poner la cantidad que quieran. Ahorita no voy a poner swap porque no tendría sentido. Pero aquí en la selección de software, por default, como esta es una imagen de server, me dice que pueden instalar la Fedora Server Edition. No es la que queremos. La que queremos es la instalación mínima. Yo ya no debería de meterle más mano aquí. Esto debería ser suficiente en realidad. Pero dependiendo del caso, si la voy a dejar como una máquina virtual, sí será importante ponerle los agentes de guest. Eso es solamente si el objetivo final de esta instalación es para virtualizar. Si no es así, entonces yo lo puedo dejar deshabilitado porque eso va a ir una máquina física. Y estos agentes para máquina virtual, lo único que van a hacer es consumir memoria. Entonces, no los pongan si esto no va para una máquina virtual. ¿Listo? Entonces, una vez que está eso, ponen todos los settings que necesitan, conexiones de red, bla, bla, bla. Y entonces ya pueden mandar instalar. Aquí como eso se tarda unos minutos, entonces simplemente ya me adelanté y puse una, una este, una imagen que ya estaba terminando de instalar y nos brincamos entonces esa parte. Esta máquina virtual que estaba creando. Ya la puedo quitar. Aquí yo no estorbe. Y bueno, supongamos que ya instaló la versión mínima. Ya le di next, next, next, la instalación mínima. Y entonces ahorita estaba puteando por primera vez la instalación mínima, ¿no? Putea rapidísimo como pueden ver. O sea, es realmente muy pequeña. Y este, aquí es donde vamos a hacer lo que vimos en el, en mi slide, ¿no? Por default, cuando yo instalo minimal como esto es para server, no me va a instalar paquetes de Workstation. O sea, no me va a instalar una interfaz gráfica. Entonces, yo lo que puedo hacer es instalar tal cual un DNF group podos anulist, por ejemplo, para ver cuáles son los, ¿cuál es la lista de los grupos que hay allá afuera? Si es que quieren hacer no solamente la parte de la instalación de los plexitextop y window manager y todas esas cosas. Me ha necesitado un poquito de hacer la sincronización con los, con los repositorios de Fedora. Y terminando, me va a mostrar los que hay disponibles. Ya se tardó. Si no, si se tardó más, voy a tener que mirar a la que, a la que ya está instalada. Bueno, obviamente, como esto se conecta a internet y va y viene y metadatos y todo lo demás, eso puede que tarde un poquito. Me bien, ya se colgó. Yo creo que mejor me pasó a la otra máquina vital. Si quieres, también hay algunos comentarios y preguntas en el chat. Sí, esos los vemos al, al final, para que podamos optimizar tiempos. Va. Muchas gracias. Este, OK. No sé por qué se está colgando. Tal vez es mi conexión de internet. Ah, bueno, ya respondí aquí. Bueno, aquí están las, las diferentes, este, los diferentes grupos. Yo lo puse en inglés, le puse basic desktop y le puse window managers, pero pueden utilizar estas partes en español. O sea, si le pueden poner, entre comillas, escritoro básico y le pueden poner aquí este, también administradores de ventana. Se ve aquí hasta abajo. Administradores de ventana es la última línea. Y con eso podrían instalar la parte de este, de desktop. Aquí está en inglés. Basic desktop o window managers. Y simplemente le ponen group. Perdón, TNFA, group, install, basic desktop y window managers. No sé si os quería imprimir. Entonces va y me dice, sí, sí, los quieres instalar. Me va a instalar todos los paquetes, la, la, la, la. Y van a ser, no sé, 200, 300 megas de paquetes. Y con eso yo ya podría tener la parte del software cubierto. Es muy importante hacerlo en este orden, porque cuando instalamos dependencias también podría instalar servicios nuevos. Y yo aquí, por ejemplo, en el slide puse deshabilitar los servicios no utilizados, pero los pongo después de instalar el software. Si van a instalar cualquier software, instale lo antes de empezar a deshabilitar. Entonces, cuando mandan instalar este paquetes, si les pide, digamos, nuevas dependencias y todo eso y aparece un nuevo servicio, si habían hecho la parte de deshabilitar antes, pues igual van, se les va a escapar alguna cosa. Entonces, una vez que ya están instalados, pueden utilizar el comando System Ctl Disable para deshabilitar todos los que no les sirvan. O sea, por ejemplo, aquí, esto que van a ver en pantalla, es, digamos, una guía de lo que podrían utilizar. Esta imagen, la que consume solamente 170, 180 megas de RAM, estos son los servicios que tiene habilitados. Y nada más, sí, no nos vamos a meter a deshabilitar uno por uno y todo eso, porque nos tomaría mucho tiempo. Pero estos son todos los que yo tengo habilitados. El único que yo pondría como este opcional de todos estos que ven aquí es el de Cuemo Gastagent, que como les mencionaba hace rato, si esto es para una máquina virtual, está bien que esté prendido ese servicio. Si esto va para otra cosa que no es una máquina virtual, una computadora vieja o algo así, lo pueden deshabilitar. Sería deseable porque consume memoria y también consume un poquito de CPU. Entonces, quítenlo si no es así. Una vez que revisan, ¿cuáles son todos los servicios que deberían deshabilitar? Insisto, esto se los pongo como una guía. Pueden tomarlo en pantalla o tal cual, o un screenshot a esta ventana que están viendo para que tengan una guía de qué es lo que podrían dejar prendido. Y con eso pueden tener un sistema utilizable. Si le quieren prender más cosas porque la necesitan, bueno, evidentemente enciéndalas. Si no, bueno, simplemente le pueden poner, por ejemplo, en el caso de Cuemo, lo deshabilitamos. Por ejemplo, les mencionaba que no fuera para una máquina virtual. Entonces, vamos a suponer que esto no va a ir a una máquina virtual, entonces, lo puedo deshabilitar, listo. Y el siguiente paso, ya que deshabilitamos todo lo que no vamos a utilizar, es hacer un nuevo init ramfs o init ramdisk que tenga menos cosas o menos módulos, menos drivers de los que realmente vamos a utilizar. Aquí el sistema de Fedora lo que hace es que en el momento de cargar el kernel y cargar el init ramfs, carga los módulos conforme se van necesitando. Y conforme se va detectando el hardware, si tienen usbs, cargan los drivers usb, si tienen drivers de sistemas de archivos xfs, botter, x4, etcétera, todas esas cosas se van agregando en memoria conforme las va utilizando el sistema, dependiendo del caso. Y entonces, lo que hace este comando, dracot, con menos h mayúscula, y este, acabilita algo que se llama el modo host only. Host only se refiere a que este init ramfs es específico para esta máquina. Esto es importante porque al decir que es específico para esta máquina significa que no va a funcionar en otras máquinas. Entonces, si lo van a utilizar en otra computadora, saltense este paso, este paso es opcional, digamos, y serviría una vez que ya está en la máquina objetivo. Entonces, esto ayuda, pero háganlo cuando ya sepan dónde va a quedar o cuando ya esté puesta la imagen en donde va a quedar finalmente, ¿vale? Si yo corro ese comando, menos f de force, menos h de host only, host only mode strict, significa que únicamente va a quedar de una manera muy estricta, va a poner únicamente los módulos que se están utilizando, que en este caso son para una máquina virtual. Insisto, no deberíamos usar este comando si vamos a utilizar, todavía, si vamos a utilizarlo para otras cosas. Y puedo agregar drivers aquí, también. Eso sí puedo hacer. Le puedo agregar drivers. Por ejemplo, este, el de USB storage, por ejemplo. Si voy a botear esta imagen en un USB o algo así, también podría agregar un storage. Entonces, no voy a irme a mucha precisión de cuántas variantes o cuántas cosas podría utilizar con este comando. Pero lo que sí es importante que tengan claro es que necesitan saber cuáles son los módulos que requiere su tablet o su laptop o su equipo objetivo para que puedan ir los agregando también aquí, ¿no? Y también, de hecho, podemos utilizar el comando, este, así. Sin nada, solamente add drivers para que no lo haga host only, para que lo haga completo. Y solamente agregue la parte que les puede ayudar a botear en otras máquinas. Por ejemplo, en este caso, un USB storage, si esta máquina abierta, la voy a ir a vertir a un drive USB para irlo a botear a otro lado. Que se va a hacer el paso final. En fin, el Initram Fs es una vez que ya tienen los drivers que necesitan o que ya están boteando la máquina objetivo, la máquina target. Y esa, ya la quieren optimizar, utiliza Android. Y por último, lo que haríamos sería cambiar a un modo de interfaz gráfica. O sea, esto lo hacemos con System ZTL, Set Default, y Graphical Target. Este Target no existe o no está funcional, más bien. Sí, este, si no tienen instalados los paquetes de interfaz gráfica, obviamente. Tendrían que haber instalado los grupos de Bases Desktop y de Window Manager para que esto funcione correctamente. Entonces, una vez que ya lo ponen así, ya pueden, por ejemplo, preguntar a System ZTL, Get Default, va a botear con interfaz gráfica. Y lo único que tienen que hacer después de eso es rebotear. Aquí está ya reboteando el sistema operativo. Ahí se tarda un poquito en el, eso no lo pueden ignorarlo, es un glitch en el frame buffer por ser máquina virtual. Y ya, aquí está. Aquí ya puedes coger, por ejemplo, cuáles son mis interfaces gráficas y es que tengo todas las que tengo habilitadas. Puedo tener instalado un nome, puedo instalar Open Box, o sea, vamos a poner Open Box, por ejemplo. Y ya puedo iniciar mi sistema donde ya puedo tener interfaz gráfica y que me consuma, como les prometí, menos de 200 megas. Window Maker, que es el que estaba utilizando hace rato, consume un poquito menos. Por eso me daba 177. Pero con esto ya podríamos tener una máquina funcionando. Por último, ya para cerrar todo esto, lo que pueden hacer, vamos a dar de baja esta máquina virtual. Esta máquina virtual, por ejemplo, no va a arrancar. Si yo le cambio aquí al modo de disco de USB, por ejemplo, a menos que le ponga el módulo de USB a Dracot, como lo mostré hace rato. Pero es algo que podemos hacer, probar la máquina virtual andando, cambiando el disco de Virtayo hacia USB. Y de esa forma podríamos saber si arranca desde el USB o no, antes si quiera de ponerlo en un USB real, ¿vale? Y entonces, una vez que ya tenemos la máquina virtual finalizada, digamos que ya estoy contento con todo lo que le quería poner, interfaz gráfica, cuentas, software, todo lo que queramos, yo ya podría simplemente hacerle un DD a esa máquina, a la imagen de esa máquina virtual que, por ejemplo, yo lo tengo aquí en Dev, VMS y Feadora 33. Y ponérselo a un dispositivo que, en mi caso, es el SDE, por ejemplo, y que eso es un Drive USB. Recuerda, de hecho, si lo veo haciendo, tengo bien aquí. Aquí está. Sí, tengo aquí un USB y está en SDE. Entonces, puedo hacer eso. DD, VMS, Feadora 33, SDE. Y entonces, con esto, yo copiaría el disco virtual de la máquina virtual directo a mi dispositivo de este USB. Y entonces, una vez que termine, yo simplemente puedo sacar ese USB e irlo a poner dentro de la computadora. Muy importante que esté en driver de USB storage, sino no va a arrancar, ¿OK? Y si acaso, una última cosa es que también este sería importante cambiarle el FZTAP. Antes de que se me olvide que, bueno, que lo recordé. El FZTAP, dependiendo de lo que hayan hecho, se puede quedar como un UID, que eso entonces no tendría ningún problema para botear. Pero también revisen que no se vaya a quedar, por ejemplo, un diagonal de diagonal VDA, ¿no? Que sería el nombre del dispositivo virtual utilizando virtallo, la UV de BIRT. Y que eso se convierta en SDA en el momento en que lo hagan con USB. En ese caso, lo único que se tendría que hacer sería actualizar este archivo FZTAP. No es el caso en esta instalación que están viendo en pantalla, pero sería una única consideración que tendrían que revisar si acaso fuera necesario para que arranque en el equipo destino. Muy bien, pues, con eso terminamos. Voy a arrancar de nuevo mi equipo. Y entonces sí podemos pasar a las preguntas. Alex, mi estimado, por favor. ¿Listos este? Pregunta llenos aquí en el chat. ¿Cómo es esta versión minimizada en comparación con Ubuntu Server o Debian Minimal? ¿Es más o menos lo mismo o es necesario porque no hay un uso pequeño? Es muy similar. Pueden encontrar eso en muchas instalaciones de Debian. También Debian, de hecho, tiene, no me recuerdo cómo se llamaba, este daimón. Hay uno que te instala, digamos, un árbol de una instalación de Debian dentro del mismo sistema operativo sin necesidad de virtualizar. O sea, te hace como un charro tallado dentro y hace todo el show. Y Ubuntu, no tengo idea. Yo supongo que también podrías hacer eso con Ubuntu. Pero Ubuntu, pues, es una distribución que está hecha más para la facilidad de los usuarios. Entonces, yo diría que es así, no tiene mucho sentido. Porque está más orientada que la tengas con aplicaciones más grandes y todo eso. Entonces, no sé qué tanto. Nunca he hecho el ejercicio. Bueno, más bien, tiene como unos 10 años, 11 años que no uso Ubuntu seriamente. Entonces, no sabría decir cuál es la diferencia. Yo creo que la expectativa debería ser tanto de Debian como de Ubuntu o de cualquier Linux. Debería ser más o menos similar a lo que están viendo aquí. O sea, no ya no se le debe de poder recortar mucho. Pro visto que estén utilizando cosas modernas y que todo el mundo está utilizando como SystemD, como Xorg o Wayland, y todo eso que pues es lo que requieran las aplicaciones comunes y corrientes. Ya si quieren recortar algo más que esto, entonces están empezando a sacrificar funcionalidad. Noten que aquí no compile nada. Noten que aquí no hice ningún hack de ningún tipo. Y ese era el objetivo, no tener que romper lo que la distro te da, ¿OK? No estoy seguro si en Debian o en Ubuntu para que pueda quedar muy chiquito si tuvieran que romper algo. No lo sé, pero considerenlo si quieren tratarlo con distro. ¿Larización de módulos, no con el RACUT, con el CreadUnit y RAMFS? Totalmente, totalmente. Ubuntu, pues, sabemos que tiene un Unit y RAMFS, construye uno bastante gordito. Entonces, por lo mismo que se busca que tenga mucha compatibilidad con hardware. Pues eso puede ser bueno, puede ser malo. No sé el caso específico. Hay que probar. Pero digamos que los mismos conceptos pueden aplicar. Tampoco es que sea tan diferente en Debian o en Ubuntu. Siguiente. Pues eso nada, Iván, pero porque sabemos que la mandamos al grupo y iniciamos con Alex. Claro que si podemos hacer un Kickstarter que integra todo esto, la respuesta es sí. Sí podemos hacer un Kickstarter que integre todo esto. Habría sido muy aburrido si simplemente inventamos todo en un Kickstarter y que no haga nada y ya nos entrega algo así. El idea es explicar el razonamiento de todo esto. Pero la respuesta es sí. Podemos hacerlo todo completito en un Kickstarter porque no estoy rompiendo nada de la distro. Y si hacemos un Kickstarter que lo automatice, entonces, pues, ya es simplemente darle un clic ya. ¿Alguna otra pregunta? Creo que ya son todo. Tengo que volver a mi habitación. OK. Bueno, es a medio día. Entonces, le damos la palabra a Alex. ¿Estás listo, Alex? Sí, yo ya estoy. Muchísimas gracias, Realmen. Muchísimas gracias a todos. Bueno, espero que no me haya colgado demasiado. Y aquí seguimos. Muchas gracias. Gracias. Listo. Entonces, voy a compartir mi pantalla. Ahí se ve, ¿sí, verdad? Muy bien. Perfecto. Bueno, vamos a empezar. Entonces, yo les traigo mi clásico laboratorio de pruebas con KBM. Entonces, vamos a darle. ¿Por qué un laboratorio? Muchas veces me han preguntado por qué insisto tanto en esta cuestión de tener un laboratorio en el equipo portátil o en el equipo que estamos usando. Es muy simple. Tal vez, como algunos de ustedes, solamente yo tengo un solo equipo para trabajar, que es el mismo que utilizo en mi chamba. Entonces, a veces, muchas veces quiero hacer pruebas o probar nuevos software o probar nuevas cosas. Y se me hace muy complicado hacerlo directamente en mi equipo. Entonces, es por eso que me di a la tarea de crear una forma de tener un laboratorio en donde pueda probar todo lo que yo necesite sin afectar mi equipo principal y, obviamente, pues sin quedarme sin chamba. Y esto es después de algunas otras ocasiones en las que así lo intenté y, pues, no pude trabajar. Y, bueno, ya saben todo lo que eso trae encima, ¿no? Bueno, entonces, ¿qué utilizo yo? Básicamente, ahorita tengo la lab de la chamba, que es esta, una Lenovo ThinkPad P1 Generación 2 con ese procesador. Ya es una es una máquina mejor de la que tenía anteriormente, la anterior solamente tenía 8 gigas. Este ya me la dieron con 32 y con un disco duro más grande, lo cual me permite tener un repositor de imágenes mucho mayor. Ahorita tengo 200 gigas para las imágenes donde voy a levantar mi laboratorio. Utilizo KBM, los paquetes de KBM están ahí. Y, obviamente, tengo Fedora, pero por el momento, como les decía, no tengo Fedora 33 porque estoy todavía en la fase de respaldar mi chamba para asegurarme de que nada pase durante la actualización de Fedora 33. Entonces, utilizo KEMU, básicamente, porque no es flexible su tipo nativo de imagen, el KUKUV 2. Y, obviamente, pues la forma más sencilla de esto es tener, usarlo con KBM. Y, bueno, perdón. Básicamente, en imáquinas no solamente tengo cuestiones de la chamba, también tengo algunas otras cuestiones personales, algunos datos que sé que no deben estar aquí, pero pues sí también es, hay que respaldarlos porque son de uso. Bueno, entonces, la forma más sencilla en cómo obtener una máquina virtual de estas es descanargar alguna imagen que ya exista. Generalmente, utilizo las del Fedora Cloud, donde están todas las imágenes base. Y, bueno, últimamente, he estado haciendo pruebas con Fedora Coreos, el cual también nos proporciona una imagen KUKUV 2. Y, en general, utilizo todas las imágenes que proporciona esta página de OpenStack. Incluso ahí vienen las instrucciones si es que necesitan ustedes crear una máquina virtual con Windows. Incluso ahí les dice cómo crearla. Entonces, está bastante interesante. Entonces, vamos a hacerlo de forma práctica. Yo aquí tengo en mi máquina, tengo aquí una imagen que ya descargué. Esta se llama Fedora Club Base de Fedora 33. Entonces, simplemente vamos a copiarla. Vamos a quitarlo esto. Vamos a decirle que es Fedora 33. Sal. Entonces, ahora sí, aquí está. Vamos a ver la información. Y yo aquí puedo ver que el tamaño virtual es de 4 gigas. Entonces, si yo quiero hacer algunas pruebas de más, pues, obviamente, estos 4 guías lo voy a llenar muy rápido. Necesito primero, antes que cualquier otra cosa, necesito redimensionar ese espacio. Para esto, como ya vieron el comando, simplemente le agrego con Chemo IMG. Le agrego 20 gigas más y ahí, así de sencillo, ya está redimensionada la imagen. Pero para todo esto, necesito tener copiar esta imagen para tenerla como referencia para que cuando yo le diga Resize, puedo expandir correctamente el dispositivo principal que es DPSDA1. Entonces, lo hago así. Y aquí vemos que ahí está examinando esa imagen. Y aquí dice, ¿no? Vas a ser redimensionado de 4 gigas a 24. Entonces, ahora lo que voy a hacer y para que no me estorbe, vamos a abordar la original, la copia. Perdón. Vamos a abordar la copia. Ahí está. Y ahí ya la tenemos. Y entonces, con este comando, yo puedo ver cómo está la distribución de los file system dentro de la imagen. Y puedo ver que ahora ya la imagen ya me ha ido de 24 gigas. Lo cual, pues, obviamente, me ayuda. Me ha ido un poco más para mis pruebas, ¿no? Bueno, de ese modo, siento un poco la presentación. Aquí podemos ver cuál es el proceso que utilice para hacer este redimensionamiento de la imagen. Y bueno, yo necesito que, por ejemplo, esta máquina virtual para hacer algunas pruebas, tengas ciertos datos en particular. Entonces, por ejemplo, aquí puse algunos de ellos. Vamos a cambiar el nombre. Necesito que tenga este nombre para poder identificarla. Por default, la imagen ya viene con la contraseña de root, el cual yo necesito modificar para establecerle yo uno propio. Tengo una llave pública que utilizo para todos mis laboratorios. También hay que agregársela. Y como voy a hacer pruebas, como proxy reverso, necesito instalarle el ngnex y que este ngnex esté habilitado al inicio. Además, ya tengo una serie de scripts que quiero probar. Entonces, también se los tengo que subir a diagonal root. Y como en este caso no ocupa la personalización a base de scripts de CloudInit, es mejor desinstalarlo. Entonces, como yo voy a hacer diferentes cambios como instalar paquetes, agregar archivos y estoy quitando un paquete CloudInit muy importante, es necesario retiquetar todo el sistema para que ese ngnex no me dé ningún problema, porque obviamente, voy a tener ese ngnex habilitado. Perdón. Entonces, vamos a ver el comando. OK. Entonces, aquí podemos ver. Que yo le estoy diciendo convir customize a este archivo de imagen. Primero, cámbiale el nombre. Ponle el nombre que yo quería, ¿no? $f$, si lo pós, lo punto lab. Cámbiale la contraseña de root. Ponce la como root pw. Inyectale la llave de ssh mediante un archivo que se llama labkey.pub. Instálale ngnex y para habilitarlo al inicio, como bien sabemos, el inicio simplemente es una liga de un archivo hacia otro. Entonces, le digo ejecutame este comando, créame esta liga para que cuando arranque el sistema, arranque ngnex. Además de eso, súbeme este archivo y ponlo en te gana el root. Desinstálame CloudInit y, por supuesto que después de todo esto, vuelve a etiquetar todo con selinux para que no me de problemas. Aquí, por ejemplo, si yo quisiera que, además de esto, me actualizara todos los paquetes, pues también se podría decir un menos, menos update para que todos los paquetes fueran actualizados. Pero, bueno, vamos a hacerlo por ese momento. Vamos a hacerlo de esta manera. Y ahí vemos que ya está. Entonces, ahí está seteando la ID de la máquina, seteando el hostname, inyectándole la llave a root, instalando el paquete que yo le pedí. Ahí hace exactamente lo mismo. Monta la imagen y se conecta a los repositores que ya trae la imagen configurados. En este caso, esto de subir archivos, yo podría modificarle los repositorios, poniéndole algunos que yo quisiera personalizados. Digamos que tengo un repo personalizado. Ahí yo podría también agregarlos para que me instara algunos paquetes que yo le diga, que no están en un repositor republico. Aquí ya ejecutó la creación de esta liga, subió este paquete de scripts y desinstaló Clodinit, seteo las contraseñas, y realizó el relábel de Selinux. Entonces, veamos. Aquí tengo la llave pública, la llave privada, aquí tengo el paquete. Vamos a ver, TZBF, para que vean el contenido, que simplemente son scripts, ¿vale? Y, bueno, entonces, ahora yo tengo que mover esta imagen para que KBM la tome y pueda crear la máquina. Y, bueno, para eso necesito, obviamente, permisos de route. Y lo que sigue es simplemente instalar la imagen, ¿no? Yo puedo investigar si quiero saber la variante de este operativo exacta. Le puedo dar un host info y buscar, por ejemplo, en este caso Fedora. Aquí vemos todas las que puede tener. En este caso es Fedora 33, para que sepa cuál es la versión exacta. Entonces, después de esto, simplemente le digo un PIRT INSTALL. Y en mi caso, le voy a llamar Fedora 33. Le voy a poner 4 gigas de memoria, 2 PIRT al CPUs, utilizando esta imagen que acabamos de mover. Te voy a importar. Y la variante del sistema operativo que ya busqué es Fedora 33. Por el momento, no quiero que me dé la salida en la consola. Quiero que lo haga en background. Y ahí empieza la instalación y ya creo el dominio, ¿no? O sea, la máquina virtual. Si yo le doy un sudo PIRT list, ahí vemos que ya está, que ya está corriendo. Entonces, existen varias formas de acceder o accesar a la máquina virtual. Tal vez la más sencilla es accesar por la consola, la máquina 33. Y ahí vemos que esa es la consola de la máquina virtual. Esto es para comprobar la contraseña de root. Yo le puse root, pw, como contraseña. Y root, pw, ahí está. Entonces, ahí ya, ahí entré. Entonces, es algo y me voy a regresar a la consola. Para salirme de este modo, yo le doy control 5. Como dice aquí, el carácter de escape es este, que usted puede conseguir con, en mi caso, mi teclado latinoamericano, control 5. Ya con eso me salí. Entonces, obviamente, mi DHCP de KB me está funcionando. Yo debería de poder revisar cuál es la IP que tiene. Para eso, yo hice el comando y FADDR para preguntarle, ¿cuál es la IP que le asignó? Y, bueno, aquí tenemos que es la 134. Anteriormente, era la 177. Entonces, vamos a agregar a la 134 y vamos a acceder con la llave para probar qué funciona este exceso. En mi caso, me pregunto si quiero agarrar el host, y ahí lo obtenemos. Entonces, una vez con la máquina virtual andando, podemos checar si efectivamente le subió el paquete. Ahí está. Entonces, vamos a ver si es lo mismo. Si se tuve F, y ahí están los scripts. Y también podemos ver que ngnex está habilitado desde el principio. Ahí está ejecutándose. Yo podría, por ejemplo, hacerle un CURL localhost para validar que esté funcionando el apache, y ahí está. Con la misma IP, yo podría acceder. Y ahí tenemos que ngnex está funcionando como se espera. Entonces, básicamente, de esta manera, lo que puedo yo tener, así como lo vi de una ahorita, es que en unos cuantos minutos, ya tengo listo una máquina virtual, compadora 33, con ngnex lista para hacer mis pruebas, sin que me haya afectado la máquina de la chamba. Vamos a hacer archivos del trabajo y personas siguen ahí. Entonces, no tengo ahí ningún problema para hacer este tipo de pruebas. Es muy poco tiempo. Pero esa era la presentación. Y bueno, así es mediante la llave. Si ya no quiero esta máquina, puedo, por ejemplo. Pérame, pérame, pérame. Mandé, mandé. Es que si quieres, puedes entrar a la máquina tantito. Tenemos una pregunta de Frank Salcido. Y me imagino que cuando exportaste los ATINs, fue cuando la realizó, cuando se veía que cambiabas el password de root. Dice, oye, que no la cifran. Me imagino que quiere ver el. El shadow. El shadow para ver que está el hash. Aquí está. Ahí está, es el hash tal cual. Para que vean que, o sea, no se guarden. No lo pasan. No, o sea, es como normalmente lo tendrías. No es más antes de que labores, no lo vayas a hacer. Sí, de hecho, todos los procesos, al final de cuentas, lo que hace Kemu con KBM es que monta la imagen y realiza toda la personalización que tú le indiques. Por ejemplo, nosotros le dijimos que agregar a la llave. Y la llave no solamente se la pasó, sino que la agregó como debe de pasársela, ¿no? Como autorice ad kits. Si nosotros vemos el contenido de esta llave, ahí la podemos ver que la pasó con un SSH copy allí. Entonces, pues básicamente, sí, como dice Iván, nos ahorra muchas cosas. Tan solo, incluso, yo he visto a toda la gente que crea esas máquinas virtuales metiéndola ISO y dándole mix, mix, mix, mix. Y con esto es mucho más rápido, ¿no? Yo tengo, por ejemplo, una colección, ahora ya una colección de máquinas virtuales de pruebas. Entonces, yo, por ejemplo, aquí tengo una de 106. Tengo alguna máquina donde tengo el blog que se llama Esa máquina tengo la copia aquí en mi máquina local. Tengo unas máquinas de DNS que utilicé para un curso. Este, este Fedora, tengo aparte de este Fedora 33. Tengo otro Fedora 33 con I3. Tengo dos máquinas de reloj. Un Ubuntu, incluso, y miren, incluso tengo hasta una máquina con Windows. Es un Windows 10, no, no es XP. Entonces, sí, la verdad es que de esta manera es muy rápido cómo tienes las máquinas virtuales. Y digamos que, no sé, te equivocaste en la personalización, o no agregaste a alguno otro, pues puedes simplemente eliminarla y así de rápido volver a tenerla. Yo procuro hacer esto, tener un directorio con ciertos proyectos, digamos, este proyecto le llamo Fedora 33. Y aquí tengo todo lo que copo, no sé, tengo la imagen original, la llave que creé, los scripts de prueba. En la plática anterior de Pubzilla, había un, hay un bug entre 106 y Fedora 33. Y el cual para replicarlo, pues ocupa la imagen de 106. Por eso la tengo ya ahí. Y bueno, así ya trato de no mezclar, de no mezclar todos los, todas las imágenes, ¿no? Así las tengo en diferentes directorios, con diferentes nombres, para hacer diferentes pruebas. Así es la forma en la que yo me, me organizo. Vale. Entonces, vamos a ver. ¿Qué es lo que es lo que es la forma, si es un poco de calamina, un aspirino, bueno. Por último, para, simplemente si ya no la queremos, pues de inicio la apagamos y podemos dar un power off desde fuera para apagar la máquina. Y cuando vemos que ya está apagada, ya la podemos, ya la podemos eliminar para definir. Simplemente le damos un sudo, PIRT, un Define, Fedora 33. Y en la lista ya no aparece, como tal. Y simplemente yo le doy un sudo, RMM-RF, Agua, Flip, Flip, PIRT. Esto se llama Fedor, se llama... Ah, perdón, Images. Fedor, Fedor, Fedor, Fedor. Se me olvida, ah, aquí está, Fedora Close. Fedora Close, Seresta, Fedor, CNR 33. ¿Qué ono? Y listo. Ya con eso, ya no, la máquina ya no existe. Ya podría, podría crear más máquina, ¿no? Entonces, sí, como dice Ivan, se puede hacer con Build Customize toda esta personalización de la imagen o también se puede hacer con, con Cloudinit. A mí en lo personal me gusta más con Build Customize, como que siento que se pueden hacer más cosas. ¿Cómo? Con los scripts de Cloudinit puedes hacer algunas cuantas otras. A mí la verdad se me hace más sencillo con Build Customize, con Cloudinit a lo mejor tendremos que crear una ISO, con todos estos cambios y pegarse al inicio. Entonces, como que es un paso más tener las máquinas virtuales, entonces para mí es mucho más sencillo utilizar Build Customize. Le doy un comando, al final de cuentas son cuántos comandos hicimos. Le redimensionamos, ahí son tres. Y luego customizamos, es uno, cuatro, instalamos, cinco, seis comandos, a lo mejor en cinco minutos ya tenemos lista nuestra imagen personalizada, ¿no? Con lo que necesitamos probar. Sí, también se puede automatizar con Ansible. Y sí, también había que, son muchas, muchas, muchas, por ejemplo, Build Customize menos, menos, son muchas cosas las que se pueden personalizar. Aquí, por ejemplo, lo que dijimos, ¿no? O sea, no nada más podemos subirle un archivo, comenzar en el paquete, también le podemos decir que ejecuten un archivo como script, copiar, eliminar, editar y usando, usando per, acepte ejecutar un script al arranque, hacer algún tipo de formateo, cambiar de nombre, eliminar paquetes, podemos hacer muchas cosas, crear directorios, etcétera, y etcétera. Entonces, sí son las últimas, las últimas versiones de Build Customize, y aparte, permiten hacer muchas más cosas las cuales nos ayudan también a, a tener una máquina más personalizada y para un, para diferentes tipos de pruebas. Entonces, por esta razón es la que a mí me, me gusta más. Y bueno, pues si no tienes más preguntas. Sí. Creo que ya no hay. No, entonces es nada más. Entonces, simplemente, pues muchas gracias y si no nos siguen, por favor, estamos ahí en el twister y en el, en el telegram, cotorreándola. Y bueno, pues muchas gracias a todos por haber escuchado estas pequeñas pláticas, y bueno, sí, sigamos con la que sigue. Perfecto. Vamos entonces, este, Iván, es todo tuyo. Listo. Vamos, vamos levantando la presentación y compartiendo el pantalla. Ya pueden ver todo mi pantalla. Me imagino que sí, ¿Verdad? OK. Bueno, este, vamos a platicar ahora un poquito acerca de servicios Routeless con Podman y Sistende. Este, ¿por qué nos interesan? Hablamos de Routeless cuando hablamos de contenedores. Porque, bueno, no, tenemos un problema con la, con la promoción o con la generalización del uso de Docker. ¿Por qué Docker tiende a usar este, a correr todo como root, todos nuestros contenedores como root? Entonces, no nos gusta ejecutar contenedores como root. ¿Por qué? Podemos escalar y ejecutar cosas en el host este, como el, como el usuario administrado. Entonces, preferimos usar Podman que Podman puede ejecutarse como usuario normal y de hecho no necesita un demonio que esté administrando las cosas. Pero, bueno, primero que nada, este, sabemos que los servicios de Linux se manejan mediante unas cosas que se llaman demonios que no son más que programas que están escuchando en un determinado puerto o un determinado socket o están esperando a que ocurra algo en algún sensor o lo que sea. Estos demonios los levantamos usando algún sistema de init y nos permiten administrar también recursos de nuestro sistema. Bueno, dentro de los sistemas de init, pues tenemos muchos, este, el System 5 famosísimo que era el que se usaba hasta hace unos años en Fedora, OpenRC. Es uno muy bueno que se usa en Gentoo y otros sistemas. Upstart que creo que es lo usaba o vulto, pero ya no, ya no está. System D, este, que nos encanta, a la gente le encanta amar odiarlo, este, y podemos escribir nuestro propio init que en realidad no es algo muy difícil si estamos hablando simplemente de init y no administrar recursos o administrar los, los demonios del sistema. Me avisan si me voy muy rápido, ¿eh? Porque como esta, esta, tenemos no más quince minutos nada por, por persona. Sí, Beto, si hay preguntas, me las puedes hacer durante, me interrumpes en la plática. Sí, claro. Plática. Entonces, bueno, a mí la neta, voy a hacer aquí una pequeña pausa así como que cultural, cuando empezó toda esta onda de, de System D que fue, realmente fue en Debian, ¿no? Cuando se empezaron a pelear porque aparte de Debian es una, una distro en la que son muy acaloradas las discusiones técnicas, este, se generalizó tanto en Internet que, que me dio mucha curiosidad, conocer las, las, las partes internas de System D para ver si realmente era la porqueria que decían y cuál fue mi sorpresa de que no en realidad System D es un muy buen sistema para administrar distribuciones de Linux, que esto es, eso es algo que se tiene que dejar muy claro. System D no es solo un sistema de Init. System D es un, es un conjunto, una suite de software para integrar y administrar distribuciones de Linux. Y, sí. Se ve que te interrompa, pero eso, eso quedó grabado y ¿puedes ser usado por Sandino para atacarte, ¿eh? Pues que lo use, pero en realidad, este, el, el, el sistema de, este, es, es un muy buen software. Y de hecho, mucha raza, fíjate que es muy curioso porque mucha raza, este, le lloriqué mucho y que no, que le quita lo libre a Linux y no sé qué, pues es GPL para empezar. Entonces no le puede quitar un software GPL, no le puede quitar los GPL al, al, al, a la, a la distribución, ¿no? Este, entonces, bueno, entre, entre muchas monerías que tiene System D, este, el, el, la diferencia que tiene, por ejemplo, con OpenRC o con System 5 es que no estás escribiendo, reescribiendo la lógica cada vez que haces una, un archivo de inicialización. Lo que haces es describir lo que, el estado de el, del, del servicio o el programa que estás levantando. Esa es una, una tendencia que tenemos en los sistemas, digamos, modernos, ¿no? Estamos tendiendo a hacer, a la hora de, de manejar configuraciones o manejar, este, automatizaciones, estamos tendiendo a describir más, más que, en, en, más que ordenar. Es, en vez de ser imperativo, es descriptivo. Tiene también la particularidad de que, de que puede levantar varios servicios al mismo tiempo. Podemos establecer dependencias entre, entre los servicios que se están, que se están levantando. Entonces, si nosotros no le ponemos dependencias a ciertos servicios, eso se van a levantar al mismo tiempo, entre comillas, obviamente, lo, lo paralelo que nos pueda dar la, el hardware, ¿no? Que tengamos. Y nos permite un seguimiento de servicios mucho más puntual que el que nos permite en otros sistemas de INI. Y eso, eso es una de las cosas. Por eso de repente hay gente que no le gusta System D, porque no entiende muchas de estas funcionalidades. Este, este seguimiento de servicios, la neta está chido, to, to, to, y a mí me ha ayudado mucho a la hora de, de, de estar, este, debugueando o algo cuando tengo algún problema, este, ahí tiene muchas, muchos chocos, o te pone una, o lo último del, de que salió de tu, de tu vita corano y cosas así. Y la integración con C-groups es una chulada. O sea, esa, no sé si las, las verdad no he revisado PNRC, por ejemplo, pero esa no la tiene o ama, ¿no? Este, entonces, esta parte es la que, es la que nos, nos, nos interesa en este momento, ¿no? De hecho, con System D podemos evitar usar contenedores. Este, no más, sino más nuestra, nuestro caso de uso es, es enfocado a el, a la, a la administración de los recursos que los programas van a estar usando. Este, entonces, en la manera en la que, en la que administra el sistema de los C-groups es mediante una, la creación de unas cosas que les dice, Slices. En, en lo, no, no, no voy a hundar mucho en esto porque no tenemos mucho tiempo, este, pero el, básicamente, el sistema de crea un árbol de, de, en el que, en el que va poniendo ciertos programes de, de Slices, de, de rebanadas en las que va poniendo los programas y esas rebanadas tienen ciertas, ciertos atributos del, de límites del uso de recursos. Este, entonces, el System D puede administrar los recursos de, de C-groups, de hecho, ya maneja C-groups dos. Orita, ahorita esta presentación está un poquito genéricano, no está específica de uno o dos. Este, y podemos manejar CPU memoria IO y desde, desde, directamente desde nuestros archivos de inicialización que se llaman Unit Files o unidades. Si se fijan los que, los que manejan contenedores, se van a dar cuenta que son las mismas, las mismas, los mismos cosas que se administran cuando uno levanta contenedores. Y eso es porque los, el subsistema que usan, que usan los delino, que usan los contenedores para, para el límite de recursos son precisamente los C-groups. Por eso les comentaba que los, que puede, que si no necesitamos realmente el aislamiento de los contenedores o por las ciertas particularidades de, de distribución de software de los, de los content automatizados y incluso los contenedores, podemos evitar usarlos y, y usar directamente unidades de System D. Este, entonces también, nosotros le podemos decir en la unidad, bueno, quiero que sea este usuario, quiero que sea este grupo y este, le decimos cuánto de, de CPU va, va a tener este, los C-groups lo manejan con mediante, mediante pesos de cuánto, cuánto, cuánto este, cuánto tiempo te puedo dar en base al peso que te estemos dando. La memoria es mucho más transparente del que el, el, el usarla, es simplemente le dices cuánto y ya, ¿no? Este, entonces, bueno, ¿por qué, ¿por qué integramos contenedores con System D? Si, si ya System D sabe, sabe hacer el límite de recursos e incluso podemos hacer, decirle que es un charro, un charro. Bueno, porque los contenedores nos permiten distribuir el software y automatizar la, la integración de nuestro software dentro de mini distribuciones que nos permiten, por ejemplo, en vez de estar teniendo configuraciones y estar las integrando un sistema y bla, bla, bla, simplemente hacemos un mini sistema y lo, y lo distribuimos. Bueno, ¿qué diferencia existen este con la, con las, con las máquinas virtuales? Bueno, los, los contenedores se le llama virtualización de sistema operativo y lo que nos permite es precisamente aislar procesos mediante y, y limitar los recursos mediante los subsistemas de Linux se llaman C Groups and Namespaces. Los contenedores se han convertido en una, en una, este, digamos, ya en una estándar comercial y existen varias, varias maneras de manipular. Los afortunadamente se hizo una, una iniciativa de contenedores abiertos en el que se establecieron ciertas, ciertas pautas y parámetros generales que deben de seguir los llamados run times que a mí la neta sí me molesto un poco que se llaman run times este, porque en realidad no son más que administradores de, de los subsistemas de, de, del kernel Linux, el C Groups and Namespaces. Entonces, bueno, estos son los problemas que tenemos con Docker, Docker usa, se basa en, en una arquitectura cliente servidor en la que necesitas tener un demonio arriba y, y este, y hay un cliente que simplemente le manda mensajes a ese demonio este. Entonces eso, eso nos da el problema de que cuando se ejecutan los contenedores están ejecutando como run. Entonces Podman nos permite tener ejecutario de esos contenedores como usuarios en particular y eso nos, este, pues tenemos una capita más de seguridad verdad, ya no hay un usuario, ya nos está ejecutando como, como administrador. Aparte Podman nos ofrece una onda bien chida que, que es como un, un punto intermedio entre un orquestador hecho y derecho como Kubernetes, les dicen orquestadores a los administradores de contenedores en, en que clusterizados, este, y nos permite crear el concepto de pods que de hecho ya las nuevas versiones nos permiten que crear incluso un, una, una figura dentro de Kubernetes que se llaman deployments. Entonces nosotros podemos ejecutar nuestros deployments de manera local usando Podman o y mandar ese mismo archivo a un cluster de Kubernetes. Entonces, bueno, nos vamos aquí un poquito rápido y ya les estamos acá diciendo. Entonces así quedaría una unidad de SystemD. Este, le, le decimos qué usuario va, qué usuario lo voy a ejecutar, qué, qué límites aquí está bien chido, porque el Podman, cuando ejecuta, el, cuando, cuando ejecu, cuando levantamos un contenedor dentro de esta unidad de SystemD, está heredando en el slide de SystemD que se está creando el, el, la, los parámetros que le dimos de sí groups. Entonces ya no tenemos que especificarle en el comando de Podman, este, de manera particular este, qué, qué límites va a tener. ¿Qué, de qué nos sirve esto? Bueno, primero que nada podríamos parametrizar ese este, el, el límite de memoria y en este caso, no más tengo estos dos, el peso de CPU y el límite de memoria en el archivo que vemos ahí arriba de environment file. Ahí podremos tener esos valores y este, poder cambiar entre el, entre las unidades o incluso simplemente hacer una modificación directamente en el archivo de, de ambiente este, y no tener que hacer una modificación directa en nuestra unidad de SystemD. Esto nos permite distribuir nuestro, nuestro contenedor este, y parametrizarlo este, bueno, vamos a, vamos a ver si, si a que falle no esto, vamos a verlo ya adentro de, de la, de nuestra terminal este, déjenme paso para acá. Todos también doble terminal, verdad? Entonces, esta es la unidad de SystemD, este, en este caso me cambié para, que no fue el mismo ejemplo, tenemos el usuario este sotolito en Direct, tenemos nuestro archivo de ambiente que si se fijan, los archivos de ambiente en SystemD, lo que nos hacen es, es, es genera que agrega, inyectarnos variables de ambiente, adentro de, de nuestra unidad de SystemD, entonces por eso les digo que esto lo podremos parametrizar, dentro del, del archivo de nuestro archivo de ambiente, vamos a, vamos a verlo rápido, y si se fijan tengo aquí varias cosas ¿no? ¿Por qué? Pues porque yo quiero distribuir mis contenedores en diferentes arquitecturas, este, esto puedo cambiar, malamente estoy usando el PINE, ya los voy a obligar a UBIS de, de REL este, y de hecho aquí ya tengo parametrizado esto, pero mi unidad no le ha actualizado, si se fijan ya esto yo ya lo podría cambiar aquí, este, así, bueno no me va, obviamente no me va a bajar esto, y como usuario silvestre, pero por ejemplo yo podría dejar así esto, si, si ya sé que esto, y dejarlo aquí así, y lo otro cual era, mi límite de memoria, podríamos dejar esto así, y ya, ya tendremos parametrizado nuestro, nuestro, totalmente parametrizado el uso de nuestro, de nuestro servicio, que se está ejecutando adentro de un pod, este, de hecho este nos está ejecutando, nos está creando un pod, y adentro de este pod, va, vamos a levantar otro servicio, si se fijan, les voy a poner el otro servicio, este, de STAM, ahí qué dijo, eh, yo estoy ejecutando un PHP y un NGINX, entonces, vamos a editar el, el archivo de NGINX, para que no los estoy diciendo mentiras, y si se fijan a mi archivo de NGINX, le puse que requiere el servicio, eh, sotolito PHP FPM, ¿Por qué? Porque mi sotolito PHP FPM, levanta nuestro pod, eh, y cuando ejecutamos el, el, el contenedor de NGINX, le decimos que va a usar el pod, que creamos, en esta otra unidad, entonces ahí es donde les digo que empieza a tener mucho sentido, usar estas dependencias entre servicios, si no necesitamos estar en un clóster de Kubernetes, podemos estar levantando nuestros servicios contenerizados, dentro de, de unidades de system de, incluso, yo podría haber para llegar o parametrizar, todos estos, eh, todos estos volúmenes que estoy montando, o incluso haber creado ya mis manifiestos tipo Kubernetes, y solamente decirle a Poman que lo ejecutara, este, eh, algo se me está pasando aquí, no, bueno, y aquí pues tenemos ya muchas cosas de, de levantar y, y bajar nuestro, nuestro, nuestro servicio, eh, si, si revisamos, esto es lo bonito, en, en, a diferencia de que tener que tener un docker y, y este, eh, a, digamos que el docker no es parte de nuestro sistema operativo, pero sí estén de, sí es parte de nuestro sistema operativo, porque como les digo es una suite, para integrar este, para integrar este, eh, sistemas, eh, distribuciones de Linux, entonces, si nosotros revisamos, podemos estar revisando el, el status de nuestro, de nuestros servicios, sin necesitar comandos externos, tipo el docker y así, este, simplemente lo, lo hacemos usando nuestra, cargadito este servidor, usando los, los comandos normales de nuestra distribución, entonces, aquí también lo chido, es que, nos es, nos podemos estar viendo, la salida de, de este, de este servicio, en vez de tenemos que decirle, podman, lox, y cosas así, si como estamos mandando, nuestro servicio al foreground, como el, como todos los servicios que se, que insisten de, este, podemos estar viendo la vita, cuando en esta casa no tiene nada, no, pero, este, a ver si en el engine x, creo que aquí me, como siempre, fallan los demos, ajá, Meycan dijo este sistema de largo, vamos a decirle que nos muestran 100 líneas, bueno, este, no, por algo, por alguna, razón pirata, que no, no, no, este, que no voy a revisar ahorita, no me los mando, este, ya acabo de encontrar un bug en mi sistema más bien, este, entonces bueno, si se fijan, si yo le doy aquí podman, este, no me van a aparecer esos, esos contenedores, estoy, yo estoy ejecutando otras cosas aquí, como con el, con este usuario, necesitaría convertirme, en el usuario, que está ejecutando esta unidad, para poder ver esas, este, esas, y son usuarios que no tienen párbaro, o sea de hecho me tengo que hacer root, y este, que le puse aquí, ah, cómo me ha convertido ese, me olvidó cómo ha convertido el usuario, jaja, bueno, este, me tengo que convertir en el, en el usuario, y este, y aquí ya puedo ver ahora sí, los, los pods, que se están ejecutando, de hecho sí, si checo aquí, podman pod, ls, puedo ver que está ejecutándose el pod web, y hace mucho que lo, este, que lo, que lo levanté, no quiere decir que bueno, mis servicios no han, no han andado fallando mucho, si quisiera revisar cosas de los pods, como normalmente lo podemos hacer, o sea, este por ejemplo, si quiero ver los logs, de este ahora sí, por ahí está este pod, no tiene logs, es que no me está mandando muchos logs, es ah no, de hecho saben que, es que está mandando todas las VitaCora, las está mandando a, a los archivos de, de este, cómo se llama, a los archivos de VitaCora como, como Dios manda, no, bueno, no sé si hay alguna duda, pregunta, comentario, este, creo que el primero de la vez, dame los 15, dame los 15, dame los 15, dame la historia, creo, no, no he visto preguntas, alguien tiene preguntas, o me fui muy rápido, no sé, yo creo que estuvo bien, eres el más cercano de los 15 minutos. Este, bueno, si no hay preguntas, dudas, comentarios, pues con esto, vamos, ah, hay bien una, dice, se pueden usar contenedores de Docker, por el podman, si de hecho usan los mismos, de hecho podman usa en los mismos registros de, mira ahí te va, este, los mismos registros de, de Docker, si nosotros buscamos, este, podman search, que les gusta, eh, entonces, un pedagón, ah pedagón, ah si es cierto, ah, nos va a mostrar los, este, si se fija nos muestra, el repositor, los repositorios de Docker, nos muestra los, los repositorios de Fedora, y los de Kuey, por qué, por qué usamos los mismos, este, los mismos archivos, como, como usamos el, el, como podman es, esta, se basa en libcontainer, este, al igual que Docker, eh, usamos los mismos registros, y las mismas, este, como se llaman, las mismas imágenes, si, de hecho, o sea, yo no soy anti Docker, porque de repente se le arreglo mucho a Docker, pero, eh, si recomiendo, que no se usen Docker, eh, por, por el hecho de que, tratan de, de generar un vendor locking, que a mi no me gusta eso, obviamente pues a los, a los vendors si les gusta, este, pero yo, yo prefiero estar fuera de, de ecosistemas, en los que no me pueda salir, o sea, por ejemplo, los, los ecosistemas, eh, alrededor de, redja, digamos, te permiten salirte, o de todo lo que eso pensó, te permiten salirte, salirte muy fácil, este, en el caso de Docker, si hay un cierto, una cierta intención, a generar eso, que es una, es de negocio, es muy válido, o sea, tampoco lo estoy diciendo, que sea, que sea algo terrible, no? Incluso los, Dockerfile se pueden utilizar, no? Si, usa el mismo Dockerfile, de hecho, si quieren les puedo enseñar aquí, este, eh, que el, el otro día vi una pregunta muy interesante, que le hiciste a, a Dan Walsh acerca de, de, de, de uso de los archivos. Ah, si, de hecho, si este, les tengo que cambiar el nombre a todos, a containerfile, este, ya no, ya no, en la convención, ya no decirles Dockerfile, de hecho, es un mismo, es un mismo, eh, Dockerfile, eh, usan ya sea con Docker, o con Portman, sin ningún problema, de hecho, soy, hice, esto, de las escondidas, eh, este, este programita, para generar enlace a los Dockerfiles, de los archivos, generar precisamente, las unidades de Fistende, bueno, este, generar contenedores, para que se usen con Fistende, creando nuestro usuario, este, creando el grupo, y luego ya, copiando nuestra, he visto, un resumen, conocimiento, un grupo, creo que este ya no llega hasta a copiar, este ya no llega a copiar, de donde debe ir. Alguien aquí quiero mucho, casi tanto, pero a mí mismo, con esto, ya automatice la, la generación de mis, de mis, este, servicios rootles, para, para, para single node, no digamos, para, este, nodos, nodos únicos, y esto, esto es un paso intermedio, para, para nosotros, poder usar estos mismos, estos mismos servicios, en, de manera closterizada, en un Kubernetes, o no OpenShift, entonces, ese es, ese es el punto de, de crear este tipo de servicios, porque dices, bueno, pues para qué mejor lo hago, con ShareRooty, y en Systemday, y controlo en los Groups, sí, pero que tal si, este, estás generando, preconfiguraciones, estás, estás haciendo un trabajo, que puedes replicar, y que tal vez, puedas tener que subir en algún momento, o vender un servicio, a algún cliente, este, en una nube pública, o en una nube privada, incluso que le levantes un Kubernetes, este, entonces aquí ya hace mucho sentido, tener este tipo de, de, de configuraciones. Pfff. Y bueno, sacamos el físico de nuestra. Tenemos una donde nos pregunten, cómo en un servidor, balancear, me imagino, varios servidores web, para que le entren por el mismo puerto, cuatro, cuatro, tres, me imagino que acopen el mismo certificado, y demás, no sé si, no sé si es así, Guillermo. Ehh. Está, está, de hecho tengo uno aquí, un ejemplo, este, con HAProxy, puedes hacer eso, de hecho, este, yo tengo aquí un HAProxy, escuchando, en, en, en muchos, en backends, este, tú puedes definir, por ejemplo, yo tengo el HAProxy aquí diciendo, todas estas, por, de, de, estos dominios, los vas a mandar, a estos backends, y mis backends, de hecho tengo, tengo unos web, tipos VPS, bueno, tengo algunos contenedores, y tengo este, algunos VPS, es que aquí hice con contenedores, y, y los estoy redirigiendo, este, a sus backends en particular, este, incluso a nivel, de hecho, todo entra, aquí yo no estoy haciendo, aquí yo estoy haciendo un HTTPS, termination, este, y adentro del servidor, no, no estoy platicando HTTPS, pero podría decirle que adentro del servidor, platicara por HTTPS, ¿Por qué no estoy haciendo eso? ¿Por qué este servidor, no tiene clientes, no entra nadie, no más que, más que yo y, y la gente de mi equipo? Entonces aquí si me puedo dar ese lujo, en un servidor, que haya, que haya gente, o de otra, o incluso es que este es una empresa, y hay diferentes, de responsabilidades, ahí sí tendríamos que hacer el, el, aquí en vez de decirle que se fuera el puerto 80, le tendríamos que decir que se fuera al puerto, al 443, y decirle que es una conexión HTTPS, pero el, el H aprox, y es muy noble, nos permite hacer muchas de, muchas de estas cosas. Sí pues. Bueno, yo no veo más preguntas, y estamos sobre el tiempo, no sé si quieren dar alguna, algo final que quieres decir, Iván. Pues, no usando, claro que se crea, procuren, procuren tener mucha, a la hora de usar contenedores, sobre todo porque ahorita están de moda, este, yo creo que tenemos que ser muy responsables, y tratar de, de usarlos de la manera más segura posible, porque, ya hay casos en los que ya hay, hay imágenes en los, en los registros públicos de Docker y otros registros, que traen virus, que traen gusanos, que traen criptomimers, traen muchas, ya traen ciertos software que, que este, que puede ser nocivo para nuestra máquina, y pues tenemos, tenemos cuando usemos contenedores, lo más recomendable es, generarlo nosotros mismos desde, desde nuestra Dockerfile, usando alguna, alguna distribución base que sea confiable, ya sea, la de Fedora, la de Centos, una, y la imagen UV de, de Red Hat, etcétera. Este, tenemos que tener en cuenta, todas estas, todas estas, eh, todas estas cosas, y sobre todo, no ejecutarlos, como root, no, no, de hecho, vería, traer un mensaje al podman de, estás ejecutándome como root, este, tienes que poner un switch, súper largo, DACA, si quiero ejecutarlo como root o algo así. Como antes, algunas explicaciones de eso decían, ¿no? Eh, lo estás ejecutando como root, ¿qué hagas eso? Exacto, si hay, hay unas que no se dejan incluso, ¿no? Tienes que ponerle un switch o con, con pilarlas este, con, con para que se pueda ejecutar así. Entonces, Alex, algunas palabras finales? Este, no, pues muchas gracias a todas por su atención, no sé si, si les late que pongamos nuestra cámara para que el, el buen señor crea que nos saque la foto conmemorativa, pastor, andas por ahí, si activas tantito tu cámara, crea que ente también, ahora sí que como recuerdo, ¿no? Como bonito recuerdo de, de nuestra visita a las Lanchas de Chapultepec. Oye, el, el pastor le hizo como mis alumnos, le puso la, tomó todo y se fue acá a dormir. Crea que, con el almadaso por eso este, si me fue echar una siesta. Listo, entonces, tú nos dices, crea que miramos a la cámara, hacemos nuestra clásica señal. Uno, dos, ay el este no corre, a ver, ahí va de nuevo. Ya, ya me cansé. A pura teca esta faja me está matando. Y es que no ves, no ves las piernas del pastor, pero estás haciendo un bandam ahí entre dos sillas. Exacto. Meme, necesaria. Exacto, exacto. Te haces una despeita aquí. Bueno. Muchas gracias. Gracias. Gracias. Gracias. Gracias. Gracias. Gracias. Gracias. Gracias. Gracias. Gracias. Gracias. Gracias. Muchas gracias. Gracias. Gracias. A nas rumores mensuales. Ah, sí. Ah, ahorita. Pues, es una invitación correal en las invitaciones de fin de mes. Todavía no tenemos ponencia, ¿verdad? Todo bien, ¿eh? No hay ponencia todavía para este mes. Yo les quedo, ESPERA. Pronto. Sí, pues yo me he hecho la de este mes para... Eso es todo. de la comunidad y caía el telegramal, ¿Quién tiene la Liga de Telegram? Ahorita la ponemos. Aquí en el chat para que si cierra esa que no estaba en la en la comunidad pues que se unan hoy y pues yo creo que creo que se está haciendo un esfuerzo muy grande dentro de el nómplico para peticionar a la a Fedora pues en un lugar chido luego a la comunidad este te lo senté reando Alberto por para esta vez este es un medio. La verdad es que este esfuerzo estuvo bastante chido participar directamente en el evento oficial mundial de Fedora 33 es bastante bastante chido. Gracias por la invitación. Vamos a todos ustedes los ponemos por entonces ah si es cierto hay que los que le dan clic y se lo guían y ya tienen su participación. ¿Dónde está el batch? Aquí esto le doy clic. Y ahí le pone el faz tu cuenta la cuenta de de faz claro es correcto. Yo creo que podemos dejar de grabar ¿No? Quiero decir por el interno al Server Error, 500 Para poder mas mas Rodriguez Les decía que todavía no sé como quitarle el recording por qué Es la primera vez que de administrar esa plataforma. No hay churro plataforma ya y todas tienen sus sus cositas en lado diferentes. Ya todo el mundo tiene su listo. Hasta la GPL live. Yo creo que le voy a darle el alif a ver qué pasa y esperemos que ya deje de grabar si no tendré que editarlo o preguntar de nuevo para ver cómo se hace. Listo. Mejor pregunta no se vaya a ir la grabación al carajo y luego qué hacemos. Exactamente no. No vaya a ser. Ya cago el bachas. Meryon, ¿cómo se, no? Listo. Ahí está. OK. No me dicen que nada más estándole aquí, que ya acaba. Pero va. Oh, no. Se salió. Y sigue grabando. Bueno, eso no sale nosotros, no sé si. Si creo que es un bug de esta aplicación, no más bien, es de que tenés que recargar para aquí. Ahora, ¿se salió Iván? Sí, no sé si. No, no lo pateé. La de tú viste, le diste refrescar y ya no aparece. No me sigue apareciendo. A mí me sigue apareciendo. Bueno, si quieren, ahí lo dejamos ahorita, veo cómo lo, cómo lo paro, sin que se pierda. Nada más asegúrate que no se pierda. Listo, mis sesiones. Bueno, pues ya solo lo escondía. Ah, no, pues ya no, pues ya son desde hace rato, ¿ah? Sí, aquí es la unimedia. Para que ya se pierdan las cervecitas, y salan los botones de res, ¿no? De perderla. No puede, de todos. Qué fiel. No, estamos viendo. Muchas gracias a todos. Bye. Hasta muy bien. Gracias.