cslucr / ubuntu-ucr Goto Github PK
View Code? Open in Web Editor NEWThis project forked from leojimenezcr/ubuntu-ucr
Ubuntu personalizado para la Universidad de Costa Rica
License: GNU General Public License v3.0
This project forked from leojimenezcr/ubuntu-ucr
Ubuntu personalizado para la Universidad de Costa Rica
License: GNU General Public License v3.0
Al mostrar la ayuda del script ./ubuntu-iso-customization.sh -h
, no explica la opción existente -w
.
Estoy personalizando un ISO con el comando:
./ubuntu-iso-customization.sh ~/ISOs/ubuntu-16.04.3-desktop-amd64.iso
El cuál falló, creo que por problemas con la conexión, sin embargo continúa ejecutándose e incluso crea el archivo .iso
Esta es parte de la salida:
Error al actualizar lista de paquetes
root@Robbie:~# rm -r ubuntu-ucr-master ~/.bash_history
rm: cannot remove '/root/.bash_history': No such file or directory
root@Robbie:~#
root@Robbie:~# rm /var/lib/dbus/machine-id
root@Robbie:~# rm /sbin/initctl
root@Robbie:~# dpkg-divert --rename --remove /sbin/initctl
Removing 'local diversion of /sbin/initctl to /sbin/initctl.distrib'
root@Robbie:~#
root@Robbie:~# umountchrootfs
umount: /proc: not mounted
umount: /proc: umount failed: No such file or directory
umount: /sys: not mounted
umount: /dev/pts: not mounted
root@Robbie:~#
root@Robbie:~# # Sale del directorio de edicion
root@Robbie:~# exit
Desmontando directorios de cachés, cuando aplica
umount: ubuntu-16.04.3-desktop-amd64-squashfs/var/cache/apt: not mounted
umount: ubuntu-16.04.3-desktop-amd64-squashfs/tmp/wget_cache/: not mounted
Desmontando dev
Personalización fallida
Desmontando cache APT:
umount: ubuntu-16.04.3-desktop-amd64-squashfs/var/cache/apt: not mounted
rmdir: fallo al borrar 'ubuntu-16.04.3-desktop-amd64-squashfs/var/cache/apt': El directorio no está vacío
Desmontando cache WGET:
umount: ubuntu-16.04.3-desktop-amd64-squashfs/tmp/wget_cache/: not mounted
Desmontando dev
umount: ubuntu-16.04.3-desktop-amd64-squashfs/dev: not mounted
y continúa hasta llegar al final del script.
Cuando se intenta correr el script de personalización en un sistema sin el paquete unattended-upgrades, por ejemplo Lubuntu, da error al intentar modificar el archivo inexistente 50unattended-upgrades, pues no comprueba si el mismo existe.
Actualmente, cuando se inicia una sesión se abre el cliente de firma digital y comprueba si tiene acceso o el dispositivo conectado y si no lanza un mensaje muy feo al usuario.
Este cliente no es muy popular ya que firma digital a penas se está popularizando por lo que sería mejor desactivar el autoarranque .
From @luisza on September 18, 2017 16:20
En Costa Rica el soporte a firma digital para distribuciones GNU/Linux es malo, poco documentado y tedioso, por lo que sería bueno que esta distribución ya traiga el soporte configurado.
Acá se ha trabajado el tema https://github.com/luisza/instaladoresFirmaDigitalCR , pero lo principal que debería tener es:
Copied from original issue: leojimenezcr/ubuntu-ucr#12
El script para generar el ISO no tiene un error handling que nos asegure que todos los pasos se ejecuten adecuadamente.
En este caso deberían añadirse comprobaciones a comandos importantes, por ejemplo que la salida de estos sea exitosa, revisando que la variable $? sea igual a 0 (de las muchas opciones que hay).
Así:
comando importante
if [ $? -eq 0 ];
then
echo "Éxito"
else
echo "Fallo"
exit 1
fi
Al parecer Oracle actualizó la versión de Java y esto está rompiendo el paquete que se instala desde el ppa:webupd8team/java con un error 404 al intentar descargar el tar.gz con los binarios de Java.
En stackoverflow[1] sugieren un workaround pero no es una solución.
No encontré ningún issue reportado en el ppa. Por ahora los los builds de los ISOs y el script de personalización siguen fallando en ese paso hasta que el ppa actualice la dependencia.
[1] https://stackoverflow.com/questions/46815897/jdk-8-is-not-installed-error-404-not-found
Si se cambia el tema predeterminado en Ubuntu, no se puede volver a aplicar a menos que se use la herramienta Unity Tweak (ahora incluida), sin embargo sería muy útil crear un tema que se muestre en la herramienta de apariencia de Ubuntu, así también los fondos extras incluidos.
El tema predeterminado del editor Pluma, de Ubuntu MATE, es muy oscuro. Puede ser apropiado para programar pero no para el uso común que le dan los usuarios en la UCR. Esto se debería cambiar en el respectivo archivo .override
La Oficina de Divulgación (odi.ucr.ac.cr) ofrece un complemento para LibO, sin embargo no está actualizado con la actual línea gráfica de la UCR (Última actualización: 20 de Octubre del 2014). Se podría actualizar la extensión e incluir en la personalización.
Actualmente la generación de cada ISO ronda de 1 a 2 horas y consume mucho ancho de banda al tener que descargar paquetes desde repositorios externos (casi no utiliza EspejosUCR).
Se podría utilizar el cache de Gitlab CI y la carpeta de cache de APT que esta en el squashfs para reducir los tiempos.
Sin embargo se requieren cambios en los dos scripts para habilitar esta funcionalidad y evitar que el apt autoclean borre el cache para poder utilizarlo en la siguiente iteración (una idea podría ser utilizar hard links)
Estaba pensando en crear Scripts que instalen los packetes e IDEs para Desarrolladores y estudiantes que lo necesiten para programar y esos Scripts se pueden guardar en algún directorio, que les parece la idea?
actualmente el ícono utilizado es muy feo y no posee transparencias por lo que se ve mal con el tema, sería muy bueno si podemos modificar o arreglar dicho ícono,
Cuando se ejecuta el script de personalización sin usar un caché para apt (opción -c) no se ejecuta ̣apt clean
. Me parece que eso está generando un ISO más gordo.
Suele durar mucho a la hora de apagar la maquina, especialmente luego de estar utilizando el JDK de java o entornos de desarrollo para python.
Hace unos minutos, hice un cambio que provocó un error en la instalación, llamando a error_exit "mensaje", el sistema terminó de inmediato y dejó muchas cosas montadas, provocando que los tty fallaran.
viendo un poco el código, veo que la salida abrunta del programa provoca este tipo de situaciones. Por lo que sería recomendable mejorar la forma como termina el programa y verificar que todo lo montado se desmonte.
Algunos paquetes que podríamos eliminar son:
Libreoffice
libreoffice-help-fr libreoffice-help-it libreoffice-help-pt libreoffice-help-pt-br libreoffice-help-ru
libreoffice-help-zh-cn libreoffice-help-zh-tw libreoffice-l10n-de libreoffice-l10n-en-gb
libreoffice-l10n-en-za libreoffice-l10n-fr libreoffice-l10n-it libreoffice-l10n-pt libreoffice-l10n-pt-br
libreoffice-l10n-ru libreoffice-l10n-zh-cn libreoffice-l10n-zh-tw
Firefox
firefox-locale-de firefox-locale-fr firefox-locale-it firefox-locale-pt firefox-locale-ru firefox-locale-zh-hans
Thunderbird
thunderbird-locale-de thunderbird-locale-en-gb thunderbird-locale-es-ar thunderbird-locale-es-es thunderbird-locale-fr thunderbird-locale-it thunderbird-locale-pt thunderbird-locale-pt-br thunderbird-locale-pt-pt thunderbird-locale-ru thunderbird-locale-zh-cn thunderbird-locale-zh-hans thunderbird-locale-zh-hant thunderbird-locale-zh-tw
Evolution y otros
evolution evolution-plugins evolution-common libevolution evolution-data-server-online-accounts tilda
Estos se desinstalarían antes de proceder a actualizar el sistema para ahorrar tiempo de descarga e instalación de paquetes que se van eliminar
Como parte de las modificaciones realizadas a Ubuntu-UCR sería bueno modificar el instalador para eliminar las opciones de instalar los plugins de terceros y actualizaciones así como agregar información relacionada a esta modificación dentro de las diapositivas que se muestran durante el proceso de instalación.
Para personalizar el instalador se debe modificar el paquete ubiquity, que es el instalador gráfico utilizado por Ubuntu y otras distribuciones.
En Ubuntu MATE se aplica el tema gtk Ark-Darker sin embargo no aplica el borde de ventana Ark-Dark de manera predeterminada. Muy probablemente hay que revisar el respectivo archivo .override
Genial que se pueda construir utilizando gitlab-ci, pero actualmente solo construye ubuntu unity y se está dando soporte a Ubuntu Mate, por lo que sería conveniente también construir la imagen para Mate.
Me Parece muy bien que este sea el repositorio oficial, pero sería bueno que no sea un fork del de leo, sino que sea este el base, En los settings del repositorio de leo hay una opción para transferir el repositorio.
Este mensaje se muestra al crear el iso
W: plymouth module (/usr/lib/x86_64-linux-gnu/plymouth//ubuntu-ucr-text.so) missing, skipping that theme.
Recordar que muchos .gitignore por defecto ignoran los .so.
Durante la personalización se instalan las plantillas de LibreOffice antes de ejecutar la actualización de los paquetes de libreOffice desde el PPA
ubuntu-ucr/ubuntu-16.04-ucr-config.sh
Line 157 in 67d526a
Lo ideal sería cambiar esta linea más abajo
Al ejecutar el script en un Lubuntu de 32 bits se obtiene el siguiente mensaje de error:
dpkg: error al procesar el archivo /tmp/wget_cache/firmador-bccr.deb (--install)
la arquitectura del paquete (amd64) no corresponde con la del sistema (i386)
La salida de uname -m
que utiliza para obtener la variable arch
es: i686
Nota, el script trabaja bien a la hora de escoger entre Chrome (64bits) y Chromium (32bits).
Al compilar archivos de schemas con glib-compile-schemas
, los relocatable schemas son ignorados, es decir los que son de la forma: schema:path, por ejemplo:
[org.mate.panel.object:/org/mate/panel/objects/mate-menu/]
El bug está descrito en:
https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/1281580
Este usuario lo resuelve yendo más bajo, creando archivos de configuración:
https://blog.chapus.net/more-gnome-unity-system-defaults/
El script para personalizar Ubuntu no tiene un error handling, por lo que intenta ejecutarse completo aunque exista algún error. Por ejemplo, podría fallar apt por un nombre de paquete mal escrito y llegar hasta el final sin que el usuario se percate.
En este caso deberían añadirse comprobaciones a comandos importantes, por ejemplo que la salida de estos sea exitosa, revisando que la variable $? sea igual a 0 (de las muchas opciones que hay).
Así:
comando importante
if [ $? -eq 0 ];
then
echo "Éxito"
else
echo "Fallo"
exit 1
fi
Al instalar la extensión de LibreOffice sun_odf_template_pack_es.oxt, el prompt se detiene y se queda esperando a que el usuario acepte el acuerdo de licencia.
El script bash para generar la personalización de Ubuntu no guarda un log. Debería por lo menos registrar los errores, así:
comando 2>> $LOG_FILE
De esta manera registraría en bitácora únicamente los errores del stdout, que se identifican por el valor 2.
Arc-theme, instalado desde repo https://launchpad.net/~noobslab/+archive/ubuntu/themes, no muestra los bordes en Ubuntu MATE 16.04 por lo que no se pueden asir para redimensionar las ventanas.
Probando desde el repo que ofrecen en el proyecto oficial, si muestra los bordes, sin embargo la llave de ese repo ya expiró y no parece que tengan interés en arreglarlo (issue horst3180/arc-theme#793), por lo que no sería apropiado añadirlo al script de personalización.
Una opción sería configurarlo manualmente, pero no se actualizaría automáticamente.
Actualmente la personalización se realiza por medio de un script de bash. Esto genera problemas al crear una nueva versión de la personalización, debido a que los nuevos cambios no van a ser propagados a todas las máquinas ya instaladas, y sería necesario volver a instalarlas o correr de nuevo el script para que reflejen los cambios.
Si el script se convierte a un paquete (apt), permitiría agregarlo a la lista de repositorios y que se actualice de forma automática por medio de APT o Aptitude.
Algunos paquetes como linux-firmware firmware-b43-installer podrían ser de utilidad para soportar el mayor número de tarjetas wifi y ethernet.
El script bash de personalización de Ubuntu-UCR 18.04 todavía requiere algunos detalles. Se puede tomar como base el script bash de Ubuntu-UCR 16.04.
Pendientes:
Cuando se ejecuta la generación del ISO en modo desarrollo se crea un ZIP del repositorio en lugar de descargarlo del Master en github.
Actualmente este ZIP se esta generando con el path absoluto debido a la variable CUSTOMIZATIONDIR. lo que ocasiona fallos en la generación automática de los ISOs
La personalización está en un buen punto, ha recibido muchísimos aportes y tiene todo lo que una distro base debería tener en el contexto general de la UCR.
Sin embargo, antes de promocionarla, es necesario probar que todo lo añadido trabaje bien. Así que hago un llamado a instalar las dos distros que hemos configurado, Ubuntu y Ubuntu MATE, y probarlas.
Sugiero probar esta lista, no exhaustiva, de características o paquetes que deberían trabajar. Son libres de sugerir más puntos:
Pueden responder a esta publicación con sus observaciones y reportes o, si lo consideran adecuado, crear un nuevo issue. No olviden indicar la distribución que están probando y la configuración de su computadora.
El repositorios para los paquetes de firma digital de Costa Rica no están disponible dentro de la red de la UCR (Donde se construye el ISO):
Err:2 http://repos.solvosoft.com/ubuntu xenial InRelease
Could not resolve 'repos.solvosoft.com'
Sería útil o incluso posible, agregar pruebas automatizadas para integración continua o algo así?
Yo no sé mucho del tema pero se me ocurre la posibilidad
El script bash para generar las ISOs no guarda un log. Debería por lo menos registrar los errores, así:
comando 2>> $LOG_FILE
De esta manera registraría en bitácora únicamente los errores del stdout, que se identifican por el valor 2.
Se debería incluir el complemento LanguageTool (languagetool.org) para mejorar corrección ortográfica de LibreOffice. Este es sugerido por la Oficina de Migración a Software Libre.
Al generar el iso con este comando:
./ubuntu-iso-customization.sh -d ~/ISOs/ubuntu-16.04.3-desktop-amd64.iso
Genera errores con cachés de apt y wget, a pesar de que no se están usando:
Desmontando cache APT:
[sudo] password for leojimenezcr:
umount: ubuntu-16.04.3-desktop-amd64-squashfs/var/cache/apt: not mounted
rmdir: fallo al borrar 'ubuntu-16.04.3-desktop-amd64-squashfs/var/cache/apt': El directorio no está vacío
mv: no se puede efectuar `stat' sobre 'ubuntu-16.04.3-desktop-amd64-squashfs/var/cache/apt.bak': No existe el archivo o el directorio
Desmontando cache WGET:
umount: ubuntu-16.04.3-desktop-amd64-squashfs/tmp/wget_cache/: not mounted
Desde hace como 5 días las construcciones del iso de Ubuntu mate generan que el panel superior aparezca pero sin íconos, osea solo aparece el panel.
Anterior a esto si aparecían los elementos en los paneles.
Al momento de crear una nueva ISO con la última versión de desarrollo de Ubuntu-UCR, tanto en Unity como en Mate, desaparece el instalador de Ubuntu, por lo que es imposible poder instalar el sistema operativo.
Si se escoge la opción de "Instalar" cuando se bootea desde la ISO esta automáticamente arranca la session-live.
Estos errores no se presentaban con la versión del script utilizado alrededor del 28 de octubre para la generación de ISOs.
Se debería incluir el complemento es ANY.oxt del proyecto "Recursos Lingüísticos Abiertos del Español" (https://github.com/sbosio/rla-es) para mejorar diccionarios de LibreOffice. Este es sugerido por la Oficina de Migración a Software Libre.
En mi versión el sistema de cache de apt (gran funcionalidad, no copia adecuadamente la carpeta ).
Considero que se debe documentar mejor cual es la carpeta que hay que montar y el contenido de la misma, pero aún así cuando la carpeta está correcta y se corre con un usuario sin permisos el sistema falla.
Considero que es mejor opción usar un mount -o bind $carpeta_cache /var/cache/apt/.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.