Construcciones reproducibles en Debian (Debian Reproducible Builds): Un camino verificable desde el…
概要
TLDREn esta charla, Jonathan Osorio presenta la importancia de las construcciones reproducibles en el mundo del software libre y cómo éstas pueden ayudar a mitigar problemas de seguridad en los binarios. Se discuten casos históricos de exploits y errores en software debido a la falta de requisitos claros para la reproducibilidad. Se enfatizan las características de un sistema de construcción determinista y se ofrecen ejemplos de cómo iniciar en este ámbito por parte de los desarrolladores. Finalmente, se hace un llamado a la comunidad para involucrarse en el proyecto y mejorar la seguridad y la confianza en el software libre.
収穫
- 👨💻 La reproducibilidad es clave para la confianza en el software libre.
- 🔒 Los binarios deben ser verificables desde su código fuente.
- 🛠️ Se necesitan sistemas de construcción determinista para garantizar reproducibilidad.
- 📅 Evitar timestamps y datos aleatorios es crucial en construcciones.
- 🔗 Guitián permite la distribución segura de binarios verificados.
- 🌐 Comunidades pueden colaborar reportando errores y desarrollando parches.
- 🤝 Se insta a involucrarse y contribuir en proyectos de software libre como Debian.
タイムライン
- 00:00:00 - 00:05:00
El presentador da la bienvenida y se presenta, compartiendo su experiencia con Debian desde 2008 y su participación en diversos equipos y eventos relacionados con el software libre.
- 00:05:00 - 00:10:00
Se menciona un problema en el software libre relacionado con la verificación de la correspondencia entre el código fuente y los paquetes binarios, planteando la necesidad de confiar en que los binarios provienen realmente del código declarado.
- 00:10:00 - 00:15:00
Se discute la importancia de la reproducibilidad en la construcción de software, citando ejemplos relevantes sobre exploits y vulnerabilidades en binarios y mostrando la necesidad de garantizar la seguridad y la legitimidad de los productos de software.
- 00:15:00 - 00:20:00
Se introduce la idea de 'construcciones reproducibles' como una solución clave, mencionando ejemplos de proyectos como Bitcoin y Debian que han avanzado en esta dirección desde 2011.
- 00:20:00 - 00:25:00
Se detallan las características de un sistema de construcción determinista, abordando aspectos como entradas estables, la importancia de evitar la aleatoriedad, y cómo los timestamps pueden influir en la reproducibilidad de los paquetes.
- 00:25:00 - 00:30:00
El presentador explica métodos concretos para iniciar un proceso de construcción reproducible y la importancia de registrar versiones y evitar la inclusión de información del entorno que pueda alterar el resultado.
- 00:30:00 - 00:35:00
Se presentan herramientas y técnicas para normalizar y comparar archivos, destacando la relevancia de mantener registros precisos y cómo esto puede contribuir a la seguridad y la confianza en el software.
- 00:35:00 - 00:41:49
Finalmente, se hace un llamado a la participación de la comunidad en el proyecto, resaltando las oportunidades para colaborar en la mejora de la reproducibilidad en Debian y la necesidad de contar con más voluntarios y desarrolladores involucrados.
マインドマップ
ビデオQ&A
¿Qué es una construcción reproducible?
Es un proceso que permite a cualquier persona reproducir paquetes binarios idénticos a partir del mismo código fuente.
¿Por qué es importante la reproducibilidad en software libre?
La reproducibilidad garantiza que los binarios provengan de un código fuente verificable, aumentando la seguridad y la confianza del usuario.
¿Qué problemas se pueden presentar en un sistema de construcción?
Problemas como la aleatoriedad, la correcta gestión de versiones y el orden de construcción pueden afectar la reproducibilidad.
¿Qué herramientas se mencionan para ayudar en el proceso de reproducción de paquetes?
Se mencionan herramientas como guitián, docker y scripts para normalizar archivos.
¿Qué pasos seguir para asegurar que un paquete sea reproducible?
Construir el paquete varias veces y verificar que cumple con ciertos requisitos de reproducibilidad.
¿Cómo se puede colaborar en el proyecto de reproducibilidad de Debian?
Reportando errores, ayudando en el desarrollo de parches y manteniendo la reproducibilidad de los paquetes.
¿Desde cuándo se trabaja en la reproducibilidad en Debian?
El trabajo se inició en 2014 y se ha hecho un progreso significativo desde entonces.
¿Cuáles son los beneficios de construir un entorno de desarrollo controlado?
Un entorno controlado permite eliminar variables no reproducibles y proporciona un marco más seguro para las construcciones.
ビデオをもっと見る
Resumo de História: 1a PRIMEIRA GUERRA MUNDIAL (Débora Aladim)
¿Qué es el cálculo?
“El Guernica de Picasso es un símbolo de la lucha por la libertad y la paz". Amanda De la Garza
3ª AULA CONCEITUAL - PED - DIDATICA (LIBRAS)
"Las historias son un espacio de libertad y de rebeldía". Juan Gabriel Vásquez, escritor
2Mod 1 - Aula 6 Otimização de Recursos Leo
- 00:00:05hola a todos bienvenidos a la plática
- 00:00:07con surgida de los posibles en debian
- 00:00:09liverpool bills un camino brisca desde
- 00:00:13el origen extraordinario mi nombre es yo
- 00:00:15tambos y osorio y estoy muy feliz estar
- 00:00:17el día de hoy con ustedes en la hdad es
- 00:00:18con 20 en línea
- 00:00:21bueno voy a compartir un poco de
- 00:00:23información sobre mí
- 00:00:26yo he utilizado debian desde 2008 tiene
- 00:00:30la oportunidad de ayudar
- 00:00:33en algunas tareas equipos como el de
- 00:00:36localización del espanyol
- 00:00:39ser voluntario en el equipo de vídeo de
- 00:00:41debian
- 00:00:43y también con ser un entusiasta de deben
- 00:00:48reproducir bills
- 00:00:49también he participado en algunos
- 00:00:52eventos de debian como el día de bien
- 00:00:55fiesta de instalación y cef cons
- 00:01:02bueno pues en el software libre tenemos
- 00:01:04un problema
- 00:01:07se da durante la construcción de los
- 00:01:10paquetes binarios a partir de el código
- 00:01:13fuente en un origen y bueno pues
- 00:01:18esto
- 00:01:20nos plantea si durante el proceso puede
- 00:01:23ser verificado
- 00:01:25que el origen pueda
- 00:01:28ser idéntico al
- 00:01:32al contenido del paquete binario y ante
- 00:01:36esto podríamos tener una prueba
- 00:01:42el problema es que tenemos que creer
- 00:01:45y el software libre es grandioso podemos
- 00:01:47estudiarlo modificarlo compartirlo y
- 00:01:50usarlo
- 00:01:52estudiamos modificamos y convertimos el
- 00:01:54código fuente pero utilizamos binarios
- 00:01:58y ante esto necesitamos creer que
- 00:01:59nuestros binarios provienen del código
- 00:02:01fuente del que se dice que provienen
- 00:02:05no queremos creer
- 00:02:08el problema mayor detalle se puede
- 00:02:10apreciar en una plática muy interesante
- 00:02:13muy buena que quedan
- 00:02:16mike perfil del proyecto tor y de la
- 00:02:19electronic frontier fundation llamada
- 00:02:22represión wills moody millón single por
- 00:02:25eso facebook juegos software
- 00:02:26distribution y bueno eso es un gran
- 00:02:30punto de inicio la puede encontrar
- 00:02:34en el repositorio de las presentaciones
- 00:02:40el caos compita con gris y bueno esta
- 00:02:43fue presentada en la edición trigésimo
- 00:02:45primero
- 00:02:48hay algunos ejemplos muy muy relevantes
- 00:02:51de esta plática en los cuales
- 00:02:56los compañeros exponen como
- 00:03:01existe un exploit de excavación de
- 00:03:03rutten en el s h por una diferencia de
- 00:03:06sólo un bit en el binario
- 00:03:09también
- 00:03:10dar una demostración en vivo con un
- 00:03:13módulo del kernel modificando el código
- 00:03:14fuente del programa
- 00:03:17y bueno nos plantean que como podemos
- 00:03:20estar seguros que se está ejecutando en
- 00:03:22nuestras máquinas o en un paquete común
- 00:03:26de modo de red conectado otras
- 00:03:27computadoras si alguna vez dejamos
- 00:03:30nuestras computadoras físicamente solas
- 00:03:31o por ejemplo también si ante desafíos
- 00:03:34legales pues nos podemos ver obligados a
- 00:03:37desarrollar back 2 en algunos de los
- 00:03:40programas y somos desarrolladores para
- 00:03:42alguno de los clientes por por pedido de
- 00:03:44la empresa para la que estemos
- 00:03:46trabajando otro ejemplo que se comparte
- 00:03:50durante esta charla es
- 00:03:52en la conferencia de la cia del 2012
- 00:03:56ellos exponen sobre
- 00:04:00software malicioso que crearon
- 00:04:05entrar en el compilador
- 00:04:09[Música]
- 00:04:11scholes d
- 00:04:14the mccoys y bueno este es un
- 00:04:18es un programa que ellos llaman
- 00:04:20stronghold el cual consiste en
- 00:04:24hacer modificaciones arbitrarias en el
- 00:04:27compilador que es el software
- 00:04:30development kit de xcode y bueno pues de
- 00:04:32esta manera el gobierno de eeuu
- 00:04:36estuvo
- 00:04:38espiando y teniendo acceso a la cuanta
- 00:04:42información que hiciera de usuarios del
- 00:04:43sistema operativo
- 00:04:46bueno una de las soluciones es que se
- 00:04:49pueda permitir a cualquier persona
- 00:04:51reproducir paquetes binarios idénticos
- 00:04:53de un origen dado
- 00:04:56y nosotros llamamos a esto
- 00:04:58construcciones reproducibles reclús y
- 00:05:00móviles en inglés
- 00:05:02y bueno no es moda ni capricho ya que en
- 00:05:06otros proyectos como bitcoin ya se ha
- 00:05:08realizado en el 2011 en kórbut también
- 00:05:12en 2016 en debian se ha incluido ya en
- 00:05:16la de en policy y bueno el trabajo fue
- 00:05:18iniciado en el 2014 en frío y es dine
- 00:05:22vía sí y obtendría si se inició en el
- 00:05:262016 y continúa en progreso asimismo
- 00:05:29interés desde el 2017 y va en el
- 00:05:32proyecto tor ya ha sido realizado en el
- 00:05:352013 y bueno nosotros consideramos que
- 00:05:38esto debería convertirse en la norma
- 00:05:40queremos cambiar el significado es
- 00:05:42software libre sólo el software libre si
- 00:05:44es reproducible
- 00:05:46y tenemos múltiples múltiples aspectos
- 00:05:49como sistemas de construcción
- 00:05:52determinista
- 00:05:54a aquellas personas que escriben código
- 00:05:56fuente entorno de construcción
- 00:05:58reproducible para aquellos que crean
- 00:06:01binarios para otros
- 00:06:04distribuir entre una deconstrucción para
- 00:06:05aquellos que distribuyen binarios para
- 00:06:07el mundo
- 00:06:09y realizar una reconstrucción de
- 00:06:11verificar los resultados que está cuando
- 00:06:13ya sería para cada uno de nosotros con
- 00:06:15usuarios
- 00:06:17bueno les voy a ir compartiendo lo más
- 00:06:20claro posible
- 00:06:22las principales características de cada
- 00:06:24uno de esos puntos y ya más adelante
- 00:06:27vamos a ver de qué manera podemos ir
- 00:06:31acercándonos a
- 00:06:34las conductas reproducibles en nervión
- 00:06:38algunas formas de comenzar por uno mismo
- 00:06:43bueno pues un sistema de construcción
- 00:06:45determinista consiste en las entradas
- 00:06:48estables en inglés es table inputs
- 00:06:51salidas estables 'estable' outputs y
- 00:06:55capturar de menos posibles del entorno
- 00:06:59aquí se tienen algunos problemas comunes
- 00:07:01como el tiempo actual de registro en
- 00:07:04inglés timestamp el orden del archivo la
- 00:07:08pseudo aleatoriedad
- 00:07:10rutas temporales de archivos
- 00:07:13los identificadores únicos universales
- 00:07:19y universal y dioni identifier en inglés
- 00:07:22y la protección contra ataques de
- 00:07:25complejidad
- 00:07:26también hay una relación a la cpu y
- 00:07:28memoria con optimizaciones de código
- 00:07:31para el aceptar el cpu y el registro de
- 00:07:35las direcciones de memoria la ruta de
- 00:07:37construcción
- 00:07:39y bajo la cooperación regional y la zona
- 00:07:42horaria
- 00:07:44aquí
- 00:07:46vamos a ver a continuación algo llamado
- 00:07:50desaparición de entradas volátiles y
- 00:07:53bueno aquí tenemos un ejemplo
- 00:07:57la ejecución de una búsqueda de un
- 00:08:01paquete de rovi
- 00:08:03y vemos qué
- 00:08:05al final la salida o sea que no se puede
- 00:08:09encontrar el paquete explicó
- 00:08:14entonces puede esto representan
- 00:08:19un problema de desaparición de la
- 00:08:22entrada y bueno
- 00:08:25esencialmente
- 00:08:28es importante no confiar en la red
- 00:08:31si lo hacemos hay que verificar
- 00:08:35qué contenidos está usando consumos de
- 00:08:37verificación
- 00:08:40y tener una copia de seguridad por si
- 00:08:41pues este contenido se aparece de la red
- 00:08:45de manera imprevista
- 00:08:48y bueno pues el distribuidor del binario
- 00:08:51de verdad proporciona una alternativa
- 00:08:53por ejemplo en freestyle and lo han
- 00:08:56hecho bien
- 00:08:57a través de
- 00:09:00pues teniendo
- 00:09:02réplicas
- 00:09:04para que esto se mantenga
- 00:09:10bueno ahora vamos a ver el orden estable
- 00:09:13para las entradas aquí podemos ver que
- 00:09:15del lado izquierdo y del lado derecho
- 00:09:17están ordenados de manera diferente
- 00:09:25bueno aquí es importante que siempre
- 00:09:29procesamos múltiples entradas en el
- 00:09:31mismo orden
- 00:09:33ya que las listas de directorios no son
- 00:09:35estables y algunas soluciones pueden ser
- 00:09:38lista de entradas explícitamente usar
- 00:09:42clasificación
- 00:09:44y tener en cuenta la diferencia entre la
- 00:09:47localización del idioma para esto aquí
- 00:09:51se comparte un ejemplo de como
- 00:09:55evitarlo con la opción el cual sí
- 00:10:03bueno también tenemos lo que es la
- 00:10:06inicialización de un valor controlado
- 00:10:09y bueno pues lo podemos ver
- 00:10:11en
- 00:10:12[Música]
- 00:10:13en ambos lados en el izquierdo y en el
- 00:10:16derecho se ven los diferentes caracteres
- 00:10:21en lo que está resaltado de color
- 00:10:22amarillo
- 00:10:24ante esto es importante que nos
- 00:10:27registremos mejoría por accidente
- 00:10:30y inicializar un valor conocido
- 00:10:38ahora vamos a ver que también es muy
- 00:10:41importante utilizar información de una
- 00:10:43versión determinista
- 00:10:45y bueno como pueden ver ahí
- 00:10:48hay diferencias no
- 00:10:53bueno esto consiste en que no generemos
- 00:10:55un número de versión en cada
- 00:10:57construcción
- 00:10:58y que en su lugar pues extraigamos la
- 00:11:00información del origen del código fuente
- 00:11:03revisando el sistema de control de
- 00:11:05versiones como la it hot' donde se
- 00:11:09encuentra el código fuente
- 00:11:13revisar su jas
- 00:11:16así mismo también la entrada de registro
- 00:11:19de los cambios
- 00:11:21y bueno lo podemos ver en el ejemplo
- 00:11:27otra ocasión importante es no registrar
- 00:11:29la fecha y la hora actual
- 00:11:32ya que esto también contribuye a que un
- 00:11:35paquete no será posible y aquí es donde
- 00:11:38entran
- 00:11:39la parte de evitar los sellos de tiempo
- 00:11:44timestamp y bueno si se necesita uno se
- 00:11:49recomienda utilizar la fecha del último
- 00:11:51comité en el sistema de control de
- 00:11:53versiones
- 00:11:55y extraerlo del registro de cambios que
- 00:11:59no olvidemos la zona horaria
- 00:12:01y que también existe la posibilidad de
- 00:12:04utilizar fake time aunque es una opción
- 00:12:07que tienes de los inconvenientes con
- 00:12:11base a algunos bugs que se encuentran en
- 00:12:15el proyecto tor
- 00:12:17y bueno
- 00:12:19también implementar
- 00:12:21la variable sus de época y bueno esa
- 00:12:25variable
- 00:12:26consiste en ser una variable de entorno
- 00:12:29con tiempo de referencia en la cual se
- 00:12:32marca un número de segundos desde la
- 00:12:34época
- 00:12:371970
- 00:12:40en enero el primer día
- 00:12:42de la medianoche
- 00:12:45en horario utc
- 00:12:47si está configurada va a reemplazar la
- 00:12:50hora actual del día
- 00:12:52también
- 00:12:54así implementado por proyectos como
- 00:12:57health human beatbox y en los scripts en
- 00:13:01debian
- 00:13:02y bueno ha sido adoptado por otras
- 00:13:04distribuciones como opensuse de enviarte
- 00:13:07liddy de días de frío y jardines con
- 00:13:11tips y muchos streams como hoy y si si
- 00:13:16lippi que si bien en que ya hay soft
- 00:13:20script
- 00:13:22excelso sphinx
- 00:13:26y tecla y así mismo también ha ayudado a
- 00:13:30tener parches listos para this is it
- 00:13:33takes two man live
- 00:13:37text
- 00:13:39y bueno
- 00:13:42para poder usar la variable basta con
- 00:13:45configurar su orden en nuestro sistema
- 00:13:48de construcción
- 00:13:51para agregar soporte en cualquier
- 00:13:53herramienta que escriba sellos de tiempo
- 00:13:57y bueno si se enfatiza mucho que no se
- 00:13:59registre
- 00:14:00la hora actual y aquí lo podemos ver
- 00:14:03como carretera
- 00:14:06integridad de un paquete
- 00:14:09y está bueno sé
- 00:14:12se sugiere
- 00:14:15ya que los archivos mantienen los
- 00:14:17tiempos de modificación en los metadatos
- 00:14:19y almacenar un archivo puede registrar
- 00:14:21el tiempo de construcción
- 00:14:24y bueno otras soluciones que se que se
- 00:14:28sugieren es almacenar un valor
- 00:14:30arbitrario
- 00:14:33usar tiempo de medicación del archivo de
- 00:14:35pre produce eso
- 00:14:38y asimismo en el post proceso y bueno
- 00:14:41aquí vemos un ejemplo
- 00:14:43con otra herramienta que vamos a ver el
- 00:14:47tema de dónde termina
- 00:14:52y bueno
- 00:14:54también es importante tener en cuenta el
- 00:14:58orden estable para salidas
- 00:15:01tenerlas siempre listas en el mismo
- 00:15:04orden ya que por ejemplo problema típico
- 00:15:08es el orden de las teclas con tablas
- 00:15:10hash que lo podemos revisar más
- 00:15:14detalladamente
- 00:15:16este enlace de documentación de perro y
- 00:15:21ahí nos podemos fijar en el ejemplo como
- 00:15:25cómo se relaciona
- 00:15:30y bueno
- 00:15:33la forma de darle orden es
- 00:15:38utilizando algunas opciones como shorts
- 00:15:44es importante también que evitemos la
- 00:15:46aleatoriedad ya que no es determinista
- 00:15:51para evitarla podemos sembrar
- 00:15:55el generador de números aleatorios
- 00:16:02en inglés se utiliza como un algoritmo
- 00:16:07que produce una sucesión de números que
- 00:16:11es una muy buena aproximación del
- 00:16:13conjunto aleatorio de números
- 00:16:19extraer el código fuente nombre en
- 00:16:22archivo contenido hash
- 00:16:25y bueno ahí lo podemos ver en un ejemplo
- 00:16:31también definir una variable de entorno
- 00:16:33que afecte a los resultados algunas
- 00:16:36variables de entornos de arándanos y
- 00:16:37that del software como por ejemplo el
- 00:16:39system para las cadenas de tiempo el cis
- 00:16:42y type para la codificación de texto y
- 00:16:45tz para los tiempos
- 00:16:50es importante establecer los en un valor
- 00:16:53controlado sin forzar el lenguaje
- 00:16:57y asimismo puedes dejar de registrar la
- 00:16:59información del sistema de construcción
- 00:17:03no registrará la información son un
- 00:17:05sistema de construcción como por ejemplo
- 00:17:07la fecha y hora de la construcción
- 00:17:09nombre de equipo la ruta la comunión de
- 00:17:12la red el cpu variables entorno
- 00:17:16y bueno si realmente
- 00:17:20quieres hacerlo pues se recomienda que
- 00:17:22sea fuera de los binarios
- 00:17:25y bueno ahora vamos a ver que hay en un
- 00:17:27entorno de construcción
- 00:17:32pues es esencialmente herramientas de
- 00:17:34construcción y sus versiones específicas
- 00:17:36dependiendo de cada uno del sistema de
- 00:17:39construcción por ejemplo en la
- 00:17:41arquitectura que se va a utilizar para
- 00:17:43la construcción del sistema operativo la
- 00:17:46ruta de la construcción y la fecha y
- 00:17:48hora de la construcción
- 00:17:50es importante
- 00:17:53pues a construir es el origen
- 00:17:56ya que las herramientas de construcción
- 00:17:58afectan la salida del origen registro en
- 00:18:01la versión con contax de git y a service
- 00:18:05committee avanza un enfoque que ha sido
- 00:18:08usado por kórbut open de archie y el
- 00:18:11navegador thor
- 00:18:13también es importante qué
- 00:18:17utilizamos una distribución estable como
- 00:18:19debian o centro es registrar a la
- 00:18:23versión del paquete
- 00:18:25y van a tener esperanza de que el
- 00:18:26paquete antiguo continúa disponible o
- 00:18:29registrado y cuando esto ha sido también
- 00:18:32un enfoque utilizado por bitcoin y el
- 00:18:35proyecto tor también tenemos la
- 00:18:39posibilidad de utilizar una máquina
- 00:18:40virtual
- 00:18:42para ahorrar algunos problemas como el
- 00:18:44mismo usuario mismo nombre de equipo es
- 00:18:47la comparación de red y mismo cpu
- 00:18:50y así pues presentar nuevas cosas que
- 00:18:52necesitan ser confiables
- 00:18:55ahora
- 00:18:57tenemos también la distribución del
- 00:18:59entorno de construcción y bueno esto
- 00:19:02se relaciona tener un buen mail
- 00:19:06para la descarga de archivos conocidos
- 00:19:08de las cadenas de herramientas
- 00:19:11comparar sumas de verificación de
- 00:19:13referencia construir configurar y
- 00:19:17por ejemplo en kórbut lo han hecho con
- 00:19:20make close difícil también
- 00:19:25es importante registrar todo el código
- 00:19:27fuente de la cadena de herramientas en
- 00:19:29el sistema de control de versiones
- 00:19:30siendo un enfoque utilizado para el
- 00:19:32sistema de base en vice y google
- 00:19:35asegurarnos de que todo esté registrado
- 00:19:38en el pulsando
- 00:19:40sandbox en linux y bueno esto ha sido
- 00:19:44liberado hace algunos años como software
- 00:19:46libre
- 00:19:48el llamado va a ser
- 00:19:50y bueno
- 00:19:52es una herramienta que nos ayuda
- 00:19:58consumir paquetes y probarlos
- 00:20:01ya que bueno puede ser difícil pedirles
- 00:20:03a todos que descarguen todo todo el
- 00:20:05tiempo también es importante enviar la
- 00:20:09cadena de herramientas como un producto
- 00:20:11de construcción hacer la cadena de
- 00:20:13herramientas como un producto de
- 00:20:14construcción o para enviar si lo podemos
- 00:20:16ver documentado en ese wiki en este
- 00:20:19enlace que les comparto
- 00:20:22y bueno
- 00:20:24podemos ver en el ejemplo a través de
- 00:20:27una descarga de un paquete dar
- 00:20:29resultados usando no obligue después
- 00:20:35imitando su versión
- 00:20:38y finalmente haciendo un mail
- 00:20:43tenemos también guitián que es un método
- 00:20:46de distribución de software orientado al
- 00:20:48control de fuentes seguras
- 00:20:51esto
- 00:20:53haciendo referencia que pago descargar
- 00:20:56binarios de confianza y que son
- 00:20:58verificados por múltiples constructores
- 00:20:59y bueno esto ha sido utilizado por
- 00:21:02bitcoin el navegador
- 00:21:07maneja el xc o cabe m
- 00:21:12a sí mismo pues como descriptores que
- 00:21:15describen la construcción utilizando
- 00:21:17distribución base de paquetes controles
- 00:21:20remotos de kits otros archivos de
- 00:21:23entrada
- 00:21:25scripts de construcción podemos
- 00:21:30profundizar más sobre
- 00:21:34en esos enlaces que les comparto también
- 00:21:37tocar puede proporcionar alguna forma de
- 00:21:39escribir imágenes especializadas de
- 00:21:41contenedores de gnu linux construir un
- 00:21:44entorno controlado las imágenes de doca
- 00:21:48se pueden tratar con un hash de su
- 00:21:50contenido y va a ser tiene de soporte
- 00:21:52para construir imágenes locas
- 00:21:55reproducibles barça y podemos ver un
- 00:21:59ejemplo
- 00:22:02doctor fayt
- 00:22:04ahora también tenemos la opción de usar
- 00:22:06bake grande ya que maneja virtual box
- 00:22:08usando robbie y otros scripts construye
- 00:22:12un ambiente controlado y si quieren
- 00:22:14también funcionen en mac os y windows
- 00:22:19tenemos también el archivo
- 00:22:23punto bills info
- 00:22:26para registrar orígenes binarios genera
- 00:22:29dos paquetes utilizados para construir
- 00:22:32con una versión específica
- 00:22:34y puede ser procesado posiblemente para
- 00:22:36relacionar el entorno
- 00:22:38y todas las versiones tan disponibles
- 00:22:40desde snapshot debian doctor para que
- 00:22:45podemos ver un ejemplo de bill info
- 00:22:49algunos los campos que
- 00:22:52que contiene formato de arquitectura de
- 00:22:56construcción origen binario
- 00:23:00para que arquitecturas es versión ruta
- 00:23:07sumas medicadas a 256 y algunos otros
- 00:23:12campos
- 00:23:15bueno algunos consejos que consisten en
- 00:23:18probar variantes es decir que pues
- 00:23:24construyamos una primera vez un
- 00:23:26paquetito guardar el resultado o
- 00:23:29realizar cambios en nuestro entorno con
- 00:23:31el cual lo construimos
- 00:23:34y después construir nuevamente
- 00:23:38y finalmente comparan los resultados
- 00:23:39para ver si hay diferencias
- 00:23:43también tenemos un sistema de prueba
- 00:23:49utilizado con james 15 a 20 segundos
- 00:23:52debiendo net
- 00:23:55el hardware ha sido patrocinado por una
- 00:23:59empresa alemana de profibrix
- 00:24:02y el valor
- 00:24:04algunas características es que realiza
- 00:24:06pruebas sobre aproximadamente mientras
- 00:24:08unos paquetes fuente de debian por día
- 00:24:12y buenos resultados podemos visualizar
- 00:24:15en un sitio web
- 00:24:17así como otros proyectos como kórbut
- 00:24:19open martín o inclusive el nuestro poder
- 00:24:22estar aquí
- 00:24:24y bueno aquí podemos ver
- 00:24:27una pantalla de
- 00:24:30una
- 00:24:32funcionalidad d
- 00:24:35repuso el débil net y van a hacerla
- 00:24:40ese es el lugar en el que los va a
- 00:24:42redireccionar si lo buscan por el nombre
- 00:24:46de recluso muy bien donde está
- 00:24:49y va de aquí podemos ver un ejemplo de
- 00:24:53variantes
- 00:24:55por ejemplo el hosting el nombre de
- 00:24:58dominio variables
- 00:25:01zona horaria el lenguaje de localización
- 00:25:04usuario llevado si pueden
- 00:25:08fijarse de la izquierda y de la derecha
- 00:25:10pues son diferentes datos
- 00:25:12así es como pues podemos
- 00:25:16analizar cuando un banquete no es
- 00:25:19posible
- 00:25:22aquí por ejemplo utilizando represión de
- 00:25:27viernes
- 00:25:29podemos observar el estado actual de las
- 00:25:33construcciones reproducibles para los
- 00:25:35paquetes en la actual rama inestable o
- 00:25:38sit en la arquitectura m 34
- 00:25:44viendo qué
- 00:25:46ya lo que está en color verde
- 00:25:48son los paquetes que se construyen
- 00:25:54exitosamente de manera reproducible
- 00:25:56siendo el 82%
- 00:26:00lo que está en color naranja es lo que
- 00:26:02falla hacer lo producido
- 00:26:07en la construcción y el resto de color
- 00:26:11rojo
- 00:26:12son paquetes que fallan
- 00:26:16a ser construidos de manera posible
- 00:26:18desde el código fuente
- 00:26:20en esta gráfica también podemos ver por
- 00:26:23cada etiqueta de usuario
- 00:26:27pues los bucks que
- 00:26:30se encuentran en
- 00:26:32en la rama inestable
- 00:26:36ahí lo podemos observar
- 00:26:42con cada uno de los valores
- 00:26:48y así mismo tenemos también
- 00:26:51una gráfica en la que podemos ver los
- 00:26:54packs que se encuentran abiertos y
- 00:26:57cerrados siendo el color verde los que
- 00:26:58ya han sido cerrados y el color naranja
- 00:27:02los que aún faltan por resolverse
- 00:27:05y ahora les voy a compartir
- 00:27:09sobre qué es dijo scott que es una gran
- 00:27:12herramienta que nos ayuda para examinar
- 00:27:14las diferencias en profundidad
- 00:27:17nos ofrece salidas tanto por html o de
- 00:27:20texto que muestran estas diferencias de
- 00:27:24maquetas recursiva mente en los archivos
- 00:27:26busca la legibilidad humana
- 00:27:30para que lo podamos entender nosotros
- 00:27:32descomprimir el pdf desarrollo binarios
- 00:27:35y decretar chivo diet y el texto y
- 00:27:39asimismo esta selección eran nuevos
- 00:27:41formatos de archivos
- 00:27:43y también tiene como característica que
- 00:27:45retrocede a la comparación binaria y
- 00:27:48bueno si gustan
- 00:27:51visitar el sitio oficial del proyecto lo
- 00:27:54encuentran en disco doctor
- 00:27:57y bueno aquí vemos un ejemplo de cómo se
- 00:27:59muestra en la salida del virus com con
- 00:28:02html podemos ver las diferencias que nos
- 00:28:06comparten en las líneas resaltar ese
- 00:28:09color amarillo y aquí tenemos la salida
- 00:28:12en texto plano
- 00:28:15ahora vamos a ver otra herramienta que
- 00:28:19se llama script de terminación y bueno
- 00:28:22esencialmente nos ayuda a normalizar
- 00:28:24varios formatos de archivos actualmente
- 00:28:27maneja algunos como archivos art
- 00:28:31the shape java llamado en html may be
- 00:28:36found for artist png archivo zip y ese
- 00:28:41es extensible a nuevos formatos está
- 00:28:44escrito en ver como típica del iva
- 00:28:47pueden
- 00:28:50visitar su repositorio bits
- 00:28:53en el enlace que les comparto
- 00:28:56también tenemos recursos
- 00:29:00para acercarnos a
- 00:29:04a cómo se hacen algunas tareas en el
- 00:29:06equipo deben repuso y muy bills
- 00:29:10en la wiki de debian tenemos un how to
- 00:29:14también
- 00:29:17nos ayuda mucho el visitar el sitio de
- 00:29:24representando nets que es la url que les
- 00:29:28he dicho de test
- 00:29:31de este miércoles
- 00:29:39y bueno también
- 00:29:41pueden revisar
- 00:29:44el concepto de construcción doble
- 00:29:46universal
- 00:29:48en el url que les comparto de
- 00:29:54the wild at home crossing trust
- 00:29:58bueno ahora vamos a ver cuál es el
- 00:30:00estado actual en la rama
- 00:30:03en testing que será la futura estable
- 00:30:06bullseye
- 00:30:09y bueno
- 00:30:11en resumen de actualmente de bien es
- 00:30:1594.9 por ciento producible para las
- 00:30:17inversiones estables
- 00:30:2020 42 de los paquetes en bolsa y pueden
- 00:30:24construir ya paquetes reproducibles
- 00:30:27el 3.3 que son 991 aún fallando hace
- 00:30:31reproducibles y el 1.3 por ciento que
- 00:30:34son 386 falla de construir de manera
- 00:30:37posible desde el código fuente
- 00:30:40y bueno porque de bien no todavía
- 00:30:44completas antes de liberar una versión
- 00:30:47así las cuerdas continuarían en el
- 00:30:51archivo que no reproducible a menos que
- 00:30:53sea reconstruido
- 00:30:55y bueno la respuesta a esto es porque a
- 00:30:58pesar de que el trabajo se comienza en
- 00:31:00el 2014 pues se necesita mucha ayuda
- 00:31:04entonces
- 00:31:06sería grandioso que lograra voy a hacer
- 00:31:08100%
- 00:31:11y bueno de esa manera
- 00:31:14otros por ejemplo como cali tarot tails
- 00:31:19pueden tomar nuestro trabajo ahora y
- 00:31:22hacer su diversión parcialmente
- 00:31:24reproducible aunque lo más deseable es
- 00:31:26que sea completamente reproducible
- 00:31:29y de esta manera debían once bolsa y
- 00:31:33continuar haciendo por ciento y el
- 00:31:34reclusivo en el 2021
- 00:31:38desde agosto de 2007 ya deben policy
- 00:31:43establece que los paquetes deben ser
- 00:31:44reproducibles
- 00:31:47aunque esperamos que
- 00:31:49ella la deben policy establezca qué
- 00:31:53el cien por cien de las construcciones
- 00:31:55reproducibles deben de serlo ya de una
- 00:31:58manera
- 00:32:01necesaria para debian 11 bolsa y 2021 y
- 00:32:06las futuras versiones que vengan y hablo
- 00:32:10así hay pues difícil las secciones y
- 00:32:13bueno de verdad necesitamos mucha ayuda
- 00:32:17si buscan comenzar les recomiendo que
- 00:32:20visiten el sitio web de los próximos
- 00:32:23bills doctor ahí van a encontrar
- 00:32:28como contribuir los conceptos más
- 00:32:32básicos herramientas y mucha información
- 00:32:35útil que les va a ayudar a comenzar a
- 00:32:38entender más sobre la importancia del
- 00:32:40recurso wheels y de qué manera se puede
- 00:32:44ayudar en el proyecto
- 00:32:47bueno
- 00:32:49quieren ayudar si ustedes están
- 00:32:53manteniendo algún paquete
- 00:32:57les gustaría entrar al desarrollo de
- 00:32:59debian o si ya lo son
- 00:33:03es importante que dejen de usar las
- 00:33:06fichas de construcción y utilicen la
- 00:33:09variable surf
- 00:33:11en su lugar y bueno puedes tener en
- 00:33:15cuenta las especificaciones que se
- 00:33:17encuentran en el en el sitio oficial de
- 00:33:19recursos móviles también algo muy útil
- 00:33:22es que se puede aprender haciendo y de
- 00:33:26esta manera probar por nosotros mismos
- 00:33:29construyendo algunas veces ejecutando de
- 00:33:32foxconn en los resultados para así
- 00:33:35obtener mejores resultados usar
- 00:33:38nuestro repositorio es posible wílder y
- 00:33:42una compresión personalizada
- 00:33:44y también recurrir a los documentos
- 00:33:47oficiales de próximo vivir que nos va a
- 00:33:51encontrar
- 00:33:52en los enlaces que les he compartido
- 00:33:56y bueno también pedir ayuda en nuestros
- 00:33:58canales como deben reproducir y de
- 00:34:00revolverse ambos en la red etc
- 00:34:05de irc hoy les avisó hace correo que
- 00:34:08pueden también consultar
- 00:34:13algo también muy útil y que ayudaría
- 00:34:15mucho sería
- 00:34:17crear tutoriales y cursos sobre
- 00:34:20reproducir vídeos en inglés o nuestro
- 00:34:23idioma local por ejemplo grabar un vídeo
- 00:34:25explicando cómo iniciar de lo más básico
- 00:34:28mencionar que conocimientos necesitan
- 00:34:32entender previamente para crear
- 00:34:33construcciones reproducibles subir pues
- 00:34:37el vídeo ha abierto que es un recto al
- 00:34:41sabor libre para compartir contenidos
- 00:34:43audiovisuales y bueno lo pueden hacer a
- 00:34:46través de este url que les comparto y
- 00:34:49bueno asimismo difundir sus contenidos
- 00:34:52audiovisuales suscritos en redes
- 00:34:54sociales libres como maston fonst
- 00:34:57y claro más libre trucks
- 00:35:00y bueno uno hace el equipo porque vale
- 00:35:04vale realmente la pena ya que van a
- 00:35:06ayudar directamente a que mi vida sea
- 00:35:08más seguro y no tenga backdoors aprender
- 00:35:11algo nuevo cada día se aprende mucho
- 00:35:13sobre
- 00:35:14empaquetamiento en debian seguridad
- 00:35:19pues herramientas propias de debian como
- 00:35:23limpia gel para transformar el mundo del
- 00:35:28software y más allá si lo vemos en una
- 00:35:30perspectiva política igual que hacemos
- 00:35:33la luz de las tareas en repsol bills
- 00:35:36consiste en revisar paquetes identificar
- 00:35:39problemas y documentar soluciones
- 00:35:44contribuir
- 00:35:46las herramientas como
- 00:35:48el robo civil de dialnet dijo
- 00:35:54también proponer cambios para las caídas
- 00:35:56de herramientas enviar parches para
- 00:35:59paquetes individuales así como
- 00:36:03notificarles a los desarrolladores que
- 00:36:06paquete aún no es posible y proponer un
- 00:36:08parche escribir más documentación
- 00:36:11general y pues correr la voz por el
- 00:36:13mundo para qué
- 00:36:15nos fortalezcamos y acá estamos más y
- 00:36:18les comparto también
- 00:36:21estos enlaces directos a cómo contribuir
- 00:36:25en un reposo
- 00:36:29en el cual pues van a encontrar
- 00:36:31sugerencias de tareas como reportar box
- 00:36:35en debian
- 00:36:38también pues la
- 00:36:40la página d
- 00:36:42las definiciones no que
- 00:36:45y realmente ayudan a entender desde lo
- 00:36:49más básico
- 00:36:50conceptos muy importantes en
- 00:36:52reproducción muy bien
- 00:36:54y bueno también otros recursos que son
- 00:36:57muy buenos para iniciar
- 00:37:00es
- 00:37:02pero esta plática de mike y sets de
- 00:37:07el caos combinar colores
- 00:37:11de la visión 31 que es el vídeo que del
- 00:37:16que les hable casi al principio
- 00:37:18también en verdad plática del lunes
- 00:37:20sobre la solución de problemas
- 00:37:22reproducibles en el chaos computer club
- 00:37:24cause convencer a camps
- 00:37:2715 que lo pueden encontrar en la url que
- 00:37:33les comparto así como experimentar y
- 00:37:36aprender haciendo
- 00:37:40y bueno pues sería muy agradable
- 00:37:41escuchar sus preguntas comentarios o
- 00:37:43ideas y bueno recuerden que pueden
- 00:37:47encontrarlos también en nuestros canales
- 00:37:50de ayer como the crucible bills
- 00:37:59y bueno pues muchas gracias
- 00:38:02espero que les haya gustado
- 00:38:08bueno muchas gracias jonathan por esta
- 00:38:10explicación muy clara sobre de qué se
- 00:38:13trata el proyecto de reproducción
- 00:38:15incluyendo también cómo podemos
- 00:38:17participar en este momento en el path
- 00:38:21tenemos una pregunta
- 00:38:23en la pregunta dice eso como
- 00:38:25empaquetador cuando uso
- 00:38:29la lista
- 00:38:33tienes eco en el 5
- 00:38:36claro no aún no es posible no es no es
- 00:38:41posible ver en limpian si el paquete es
- 00:38:44reproducible por lo que se tienen que
- 00:38:47tener en cuenta
- 00:38:50los requisitos que necesita el paquete
- 00:38:53como por ejemplo no tener la hora de
- 00:38:55registro
- 00:38:57en el orden de las salidas y bueno pues
- 00:39:01volverlo a construir es decir repetir el
- 00:39:04proceso para asegurarnos de que
- 00:39:06efectivamente ya sea reproducible
- 00:39:10o sea que como serían los pasos para una
- 00:39:13persona que mantiene un paquete qué
- 00:39:15pasos tendría que hacer para verificar
- 00:39:16que sea reproducible construirlo dos
- 00:39:18veces y después
- 00:39:23y bueno ya
- 00:39:27construirlo
- 00:39:29de nuevo
- 00:39:32pues verificar qué
- 00:39:35que cumpla con
- 00:39:37con los requisitos que se tienen en
- 00:39:40recursos pero realmente no tenemos una
- 00:39:44forma automatizada para para que se
- 00:39:46muestre por lo que es bueno no no
- 00:39:48tendría así como una una receta no el
- 00:39:50segunto para para sugerir
- 00:39:58bueno no tenemos más preguntas pero yo
- 00:40:01te quería preguntar
- 00:40:05vos nos contaste un poco el estado
- 00:40:06actual y mi duda sería que sería lo más
- 00:40:11importante si alguien quiere colaborar
- 00:40:12vos dijiste todas las cosas para
- 00:40:14colaborar pero que sería lo más
- 00:40:15importante que le hace falta al proyecto
- 00:40:17ahora
- 00:40:22pues
- 00:40:25además de la
- 00:40:29en tanto los mantener es de paquetes
- 00:40:35y se aseguren de que sus
- 00:40:39sus paquetes son son reproducibles
- 00:40:41porque bueno es muy importante que cada
- 00:40:45uno no se paga sepa cómo hacerlo y
- 00:40:48subirlo ya con los que quieras para
- 00:40:50ahorrar trabajo con las características
- 00:40:52de que sean reproducibles yo pienso que
- 00:40:54hace falta también
- 00:40:57acercamiento acercamiento de gente que
- 00:41:00ayude por ejemplo en la parte de jenkins
- 00:41:04o a reportar
- 00:41:08el estado de los paquetes que no son
- 00:41:10reproducibles contribuir con parches
- 00:41:13reportando los a los a los
- 00:41:16desarrolladores a los que empaquetar
- 00:41:19para para debian y pues sí
- 00:41:23tener más más colaboradores en el equipo
- 00:41:26directamente
- 00:41:30bárbaro muchísimas gracias muchas
- 00:41:32gracias por la presentación y les
- 00:41:35decimos hasta luego a los que nos están
- 00:41:37escuchando en español
- 00:41:38volvemos mañana
- 00:41:40chau muchas gracias
- Debian
- software libre
- construcciones reproducibles
- seguridad
- código fuente
- binarios
- proyecto Tor
- vulnerabilidades
- sistemas de construcción determinista
- comunidad