191 - Telemetría y Ubuntu
¿Que es la telemetría?¿Como puedo habilitar la telemetría para contribuir con Ubuntu?¿Como puedo ayudar a mejorar la experiencia de usuario con mis datos?
Una de las razones para este proyecto atareao.es, es la de transmitirte mi pasión por Linux. Transmitirte todo eso que puedes hacer con este sistema operativo, de forma sencilla. Pero sobre todo todo lo que te permite aprender con dedicarle el tiempo suficiente. Pero además, la maravilla que es el Open Source. La posibilidad de leer el código de las aplicaciones que están instaladas por defecto y ver que es lo que hacen. Esto te va a permitir, por un lado mejorar tus habilidades como desarrollador, y por el otro saber que es lo que hace cada una de estas aplicaciones. En este particular episodio del podcast, te voy a hablar de la telemetría de Ubuntu, y ¿que relación tiene con esto que acabo de contarte?.
Lo cierto, es que precisamente tiene mucho sentido, en tanto en cuanto, te permite asegurarte de que efectivamente las aplicaciones dedicadas a realizar la telemetría, no están enviando datos. No están enviando datos a menos que tu lo configures para que lo hagan.
Telemetría y Ubuntu
¿Que es la telemetría?
La telemetría es la recolección de mediciones u otra información y su envío a un punto central donde se recoge y procesa esa información. Vamos, como diría alguno de mis profesores de hace, ya ni me acuerdo la pila de años, tele del Griego remoto y metron del Griego medida.
En el caso particular del software, la telemetría se refiere a la recogida de información relativa al uso y desempeño de aplicaciones, por ejemplo, datos como el tiempo de inicio de una aplicación, o cuestiones similares. También puede recoger información relativa a tiempos de proceso, al hardware donde se está utilizando, a los errores que se producen en aplicaciones, a estadísticas de uso o incluso a los hábitos del usuario.
Todo esto, evidentemente depende de las aplicaciones que se utilicen para realizar la telemetría.
Telemetría y Ubuntu ¿Que telemetría puede hacer Ubuntu?
Dicho todo esto, ahora te estarás preguntado ¿que relación existe entre la telemetría y Ubuntu?. En Ubuntu puedes habilitar la telemetría para recoger información y remitirla con el objetivo de mejorar la experiencia de usuario.
Pero quiero insistir en puedes. La telemetría en Ubuntu, NO está habilitada por defecto. Es una opción que tienes ahí para colaborar con la distribución, pero, insisto que no está habilitada por defecto.
Y ¿que sentido tiene la telemetría en Ubuntu? La telemetría de Ubuntu tiene el sentido de mejorar la experiencia de usuario. De tres formas sencillas,
- Optimizando el tamaño de las imágenes de instalación. Para ello, es necesario saber los paquetes mas utilizados. De esta forma, los mas utilizados podrían pasar a formar parte de esa imagen de instalación, y los menos utilizados dejarían de formar parte de la misma.
- La siguiente, es optimizando el software para el hardware mas utilizado. Esto se adecua perfectamente al dicho ese de quien mucho abarca poco aprieta. Intentar cubrir con tu software todo el mercado de hardware, no es que sea una misión difícil, sino que es una misión imposible. Así, es mejor centrarse en aquello que mas se utiliza, y hacerlo lo mejor posible. De esta manera conseguirás que tu software funcione mucho mejor en un mayor número de equipos
- La tercera de las opciones para mejorar la experiencia de usuario, es corregir todos los errores que pueden aparecer. Para ello es preciso y necesario recoger todos los informes de error.
Si quieres leer mucho mas en referencia a esto de los medios de telemetría en Ubuntu, te recomiendo que leas este artículo que publiqué en 2018 sobre compartir información con Ubuntu.
¿Que va a instalar Ubuntu?
¿Sabes donde se encuentra el listado de paquetes que se instalarán con Ubuntu?. Se encuentran en el archivo manifest
. Por ejemplo en el caso de la versión 20.04 de Ubuntu, lo puedes descargar y leer con detenimiento en manifest. Allí encontrarás el archivo popularity-contest
Pero ¿que es cada uno de esos paquetes? Para conocer el cometido de cada uno de esos paquetes, y ver los archivos que van a instalar, simplemente tienes que buscar en ubuntu-pakcages, y obtendrás esa información.
¿Que se ha instalado en Ubuntu?
Ubuntu registra en su correspondiente log las diferentes operaciones que se realizan en tu sistema. Así cada vez que instalas, desinstalas o actualizas un paquete en tu equipo este va al registro.
¿Donde puedes encontrar este registro? Esto se encuentra en el directorio /var/log/apt
. El archivo o archivos son los history.log
. Si bien si es muy antiguo este se encontrará comprimido con el formato history.log.N.gz
donde N
es un número, que puede variar en función de cuantas registros tengas. Está claro, que para buscar un paquete que se instaló inicialmente, este estará en el mas antiguo. En mi caso, por ejemplo, se encuentra en history.log.2.gz
. Para comprobar si allí se encuentra un archivo, simplemente, tienes que ejecutar,
zgrep popularity-contest /var/log/apt/history.log.2.gz
Si el resultado es distinto de vacío, es que allí se encuentra el paquete que buscas. Por otro lado, si quieres ver con detalle el contenido, puedes utilizar la herramienta zless
, tal y como te comento en el artículo sobre visores y editores del tutorial sobre el terminal.
¿Está el paquete popularity-contest
instalado. Simplemente tienes que ejecutar la siguiente instrucción en un terminal,
dpkg-query -f '${status}' -W 'popularity-contest'
Toda esta información está a tu disposición. Tanto en la página web de Ubuntu, como en tu equipo. ¿Que podía tener una mayor visibilidad? Cierto es, podía tener mayor visibilidad, pero en ningún caso está oculta.
Yo al igual que tu, y la mayoría de usuarios no leemos lo que vamos a instalar. Pero al igual que sucede con los ingredientes de cualquier producto. Pero esto quiero decir, que está oculto, no, simplemente que lo hemos leído.
¿Tu sabes que la bollería cuenta con el bicarbonato sódido entre sus ingredientes? Seguramente no, lo mismo que me pasa a mi. Esto no quiere decir, que el fabricante haya ocultado la información, porque esta información está disponible en el mismo producto. Claro que probablemente no repares en ello, porque aparece como E500ii. Simplemente tienes que buscar el significado y resuelto. Pero, insistir, esto no quiere decir, que esté oculto, simplemente, que tu no lo has leído, no me te has informado de ello.
¿Mas sobre popularity contest?
Si lees el artículo que te he recomendado anteriormente, verás que este paquete es el que informa sobre lo mas utilizado en tu equipo siempre y cuando tu des permiso para que se envíe la información. Y aquí es donde viene la maravilla del Open Source…
Yo para ver como lo hace he ido a los archivos de configuración de Ubuntu, y ejecutado esta instrucción,
find . -type f -name "popularity*"
Esto te arroja el siguiente resultado,
./cron.d/popularity-contest
./cron.daily/popularity-contest
./popularity-contest.conf
Evidentemente, para enviar esta información utiliza un proceso de cron. Si no conoces que esto de cron, o quieres saber como programar tareas para que se realicen de forma automática, te recomiendo leas el artículo sobre programación de tareas con cron.
Si has seguido el tutorial de scripts en Bash, no te resultará nada complicado seguir este sencillo script. En particular, te tienes que fijar en las líneas 11 y 12, que es donde carga la configuración, para saber si enviar la información. Estas dos líneas en concreto,
. /usr/share/popularity-contest/default.conf
. /etc/popularity-contest.conf
Y por fin, llegas a la línea 15, donde dice,
if [ "$PARTICIPATE" = "no" ] || [ -z "$PARTICIPATE" ]; then exit 0; fi
Es decir si la variable $PARTICIPATE
no está definida o está definida a no
, no se envía la información.
Ahora queda te queda revisar que es lo que contiene esos dos archivos, o mejor ver como está definida esa variable. Para ello, puedes ejecutar estas dos instrucciones,
grep PARTICIPATE /usr/share/popularity-contest/default.conf
cat /etc/popularity-contest.conf | grep PARTICIPATE
Verás que en el primer caso, el resultado es algo como,
# PARTICIPATE can be one of "yes" or "no".
PARTICIPATE="no"
Y en el segundo de los casos, es
PARTICIPATE="no"
Si, como te había dicho, a menos que lo configures, popularity-contest no envía tu información a menos que así lo hayas configurado. ¿Como puedes configurarlo? Para habilitar el envío de información ejecuta,
dpkg-reconfigure popularity-contest
No pienses que es casualidad que en tu equipo está configurado a no. Está configurado a no por defecto. En ningún caso, Ubuntu está enviando información oculta sin tu aprobación previa. Simplemente pregunta a tus conocidos, y verás que salvo que lo hayan habilitado, esto está siempre configurado por defecto. Solo hay que mirar los archivos de configuración.
Ubuntu First Steps
Por cierto, he modificado la aplicación Ubuntu First Steps, para que te muestre si este paquete está instalado. Sin embargo, lo corregiré en estos días para que te resulte mas sencillo habilitarlo y que te permita configurar popularity-contest de una forma sencilla sin que sea necesario recurrir al terminal, para configurarlo y que envíe estadísticas de uso de paquetes… porque como digo, por defecto está deshabilitado.
Conclusión
¿Como contribuyes a Ubuntu? Si no contribuyes de ninguna forma, una manera interesante de hacerlo es enviar los datos recogidos para que así los ingenieros de Ubuntu puedan mejorar nuestra experiencia de usuario. Y aunque contribuyas, no te cuesta nada, y no compromete tu privacidad en ningún caso. Tal como puedes leer en el artículo que he comentado anteriormente.
Así, como puedes ver, eso de la telemetría oculta de Ubuntu es totalmente falso. Pero además por partida doble, en tanto sabes los paquetes que tienes instalados en tu equipo, y por otro lado, porque no está habilitada por defecto, a menos que tu lo configures.Como dije en aquel episodio del podcast, esto no sirve mas que para confundir a los usuarios, es completamente falso y lleva a engaño. Espero, que corrijan ese error, y directamente corrijan los artículos, porque ciertamente, y sobre todo en el caso del titulado como telemetría oculta de Ubuntu, tal y como tu mismo puedes comprobar… es totalmente falso.
Espero que te haya gustado este nuevo episodio del podcast. Si puedes, te agradecería una valoración en iVoox y/o en Apple Podcast.
Imagen de portada de Kristina Flour en Unsplash
Atareao: hace varios días que el informe meteorológico que se puede añadir al panel da erroren la obtención de datos y no se actualiza.
(1.26.0 Una aplicación del panel para monitorizar la meteorología local)
También me acabo de actualizar a Ubuntu en su Versión 22.04.3 LTS (Jammy Jellyfish) de 64 bits y Núcleo Linux 5.15.0-87-generic x86_64 y MATE 1.26.0.
Y lo que sucede cuando acepto que envíe datos de telemetría desde la vienvenida siempre me da error de comunicación. ¿Pudieran estar relacionados esos errores?
Me podrías dar una solución ? Me es muy útil porque establezco varios enclaves del Mediterráneo para navegar desde Ibiza .
Gracias Juan Boó
Hola Juan,
¿Que versión de My-Weather-Indicator estás utilizando?
Gracias y un saludo.