Mostrando entradas con la etiqueta snaps. Mostrar todas las entradas
Mostrando entradas con la etiqueta snaps. Mostrar todas las entradas

martes, 19 de abril de 2022

¿Cómo instalo el paquete DEB de Firefox desde PPA evitando el Snap en Ubuntu 22.04LTS?

¡Trabajadores!

Ante la ignominia de la opresión y la incorporación de los vilipendiados snaps, ¡podremos hacer tronar el escarmiento! 

No es secreto para nadie que a partir de Ubuntu 22.04LTS, Firefox viene incorporado en los inefables Snaps. Son estos sucedáneos de máquinas virtuales un enjundio que bajo el pretexto de facilitar la distribución de paquetes de software al programador, no hacen más que cargar y enlentecer nuestro sistema.

Es por este motivo que todos los peronistas han preferido utilizar paquetería Deb, en un ejemplo de liberación.

A pesar de las campañas de la insidia, debemos saber y propalar que es simple reemplazar el lento paquete Snap que viene de fábrica en Ubuntu 22.04LTS con un Deb oficial provisto por los compiladores del equipo de desarrollo Mozilla Team. Esto nos permitirá instalar de Deb el Firefox, con lo cual tendremos tiempos de inicio muy inferiores.

A tal fin abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:

sudo snap remove --purge firefox ;

wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null ;

gpg -n -q --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc | awk '/pub/{getline; gsub(/^ +| +$/,""); print "\n"$0"\n"}' ;

Deberíamos obtener la firma de repositorio "35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3", que confirma su autenticidad.

echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null ;

echo '
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000

Package: firefox
Pin: version 1:1snap1-0ubuntu2
Pin-Priority: -1

' | sudo tee /etc/apt/preferences.d/mozilla

(nota: en el caso de Ubuntu 24.04LTS es Pin: version 1:1:snap1-0ubuntu5)...

Finalmente instalamos el navegador desde el repositorio oficial de paquetes de Mozilla:

sudo apt update ;
sudo apt install firefox

Con esto se descargarán los paquetes del repositorio Oficial de Mozilla.

Repositorio Mozillateam PPA

Durante un tiempo, el repositorio hobbista semioficial era el PPA Mozillateam. Seguir este temperamento ya no es necesario, y queda sólo a recuerdo histórico del repositorio mozillateam. Los antiguos comandos eran estos:

sudo add-apt-repository ppa:mozillateam/ppa -y
sudo apt update
sudo apt install -t 'o=LP-PPA-mozillateam' firefox firefox-locale-es

Para darle prioridad al antiguo repositorio PPA Mozillateam sobre el Snap de Canonical, se editaba el fichero de configuración con:

sudo nano /etc/apt/preferences.d/mozillateamppa

...y al fichero de configuración que se nos abría le pegábamos este contenido:

Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501


No debemos olvidar guardamos los cambios y cerrar el editor GNU Nano con Ctrl+o y Ctrl+q.

Luego correr un update para guardar cambios. 

sudo apt update

Opcionalmente podremos crear o modificar los accesos directos o lanzadores al mismo, para que funcionen en lugar de los de los infames Snaps. Para ello hacemos clic sobre el lanzador y elegimos Propiedades. En la versión snap el comando de inicio del ícono se indicaba como "env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/firefox_firefox.desktop /snap/bin/firefox %u". Simplemente hemos de reemplazar esto con el arrancador de la versión Debian: "/usr/bin/firefox %u".

Ya podremos iniciar Firefox haciendo clic en el acceso directo. Si vamos a Propiedades / Acerca de Firefox, debería indicarnos que es el Firefox para Debian.


 

Si Firefox sale en inglés, podremos pasarlo a castellano buscando la lista de idiomas en sus preferencias.

Agregamos el paquete de idioma alternativo en español.
Y tras aceptarlo Firefox quedará ya en castellano.

Naturalmente, como Ubuntu 22.04LTS con Gnome Shell, podremos agregar las extensiones de Gnome Shell solicitándolas como Gnome Shell Extensions (https://extensions.gnome.org/).


¡
Con esto habrán logrado la Justicia Social de eliminar el lento snap de Firefox de Ubuntu 22.04LTS!

jueves, 4 de noviembre de 2021

¿Cómo instalo el navegador Mosaic en Ubuntu?

Ante la representación del gremio de estibadores, Juan Perón expone cómo considerar el uso de herramientas, y cómo instalar el primigenio navegador de internet NCSA Mosaic en Ubuntu.

 (...)

¡Trabajadores!

La utilidad en el avío es una de las cosas que debe comprender el soldado, pero también el Conductor. Es que el herramental no siempre es ilimitado, sino que debe administrarse en previsión del escenario que habremos de enfrentar.

Determinarlo requiere una preparación que da la instrucción, pero sobre todo la experiencia y el sentido común sin el cual no somos nada.

Vean señores, dice el dicho que todo lo viejo sirve para ver cómo se sufría, y de esta humorada podremos aprender.

En mis tiempos de cadete, el primer navegador de internet que utilicé fue el Spry Mosaic, perito explorador que acercó la web a las Masas Populares, que son el verdadero consumo.

Este por entonces novedoso software venía incluido en un disquete de 3,5 pulgadas destinado al servicio telemático norteamericano CompuServe, junto con un módem interno de 28,8 kilobaudios por segundo U.S. Robotics Sportster Winmodem, verdadera razón del paquete.


El Mosaic había sido desarrollado originalmente en el Centro Nacional de Aplicaciones de Supercómputo (NSCA) estadounidense, localizado en Urbana-Campaign, Estado de Illinois. Si bien contaba ya con versiones para Unix y Macintosh, es sin duda la compilada para el Window$ 3.1 la que contó con mayor difusión. Gracias a esto, podía conectarme a los primeros servicios webs disponibles en el país a lo que era por entonces una respetable velocidad.

Si bien existían por entonces las ampliamente difundidas carteleras electrónicas y muchos otros servicios de datos de alcance local, lo cierto es que el veloz y conveniente despliegue de  global de los servidores de internet convirtieron muy rápidamente a la "Telaraña" en una aplicación rompedora para todos los trabajadores argentinos. La inclusión de hiperenlaces permitían recabar copias de la información pública entre distintos sistemas con un mero clic de ratón y a costo de llamada local, toda vez que la inclusión de alguna que otra imagen a color muy comprimida otorgaba una ventaja muy notable sobre la mayoría de los anteriores esquemas telemáticos. Fue esto, y el anhelo comercial desmedido e injustificado presentado por ciertos operadores de BBS lo que llevó a su rápido colapso y práctica extinción a para 1996.

Los caminos de la evolución sin embargo deben poder recorrerse en cualquier momento. Hoy podremos instalar este vetusto navegador en nuestro sistema operativo Ubuntu. Esto es sumamente sencillo de haceer: simplemente hemos de abrir una terminal con Ctrl+Alt+T e ingresar el siguiente comando de organización:

sudo snap install mosaic

Otra manera es compilarlo:

sudo apt-get install git build-essential libmotif-dev libjpeg-dev libpng16-16 libxmu-headers libxpm-dev libxmu-dev ;
git clone https://github.com/alandipert/ncsa-mosaic ;
mv ncsa-mosaic/ .ncsa-mosaic/ ;
cd
~/.ncsa-mosaic/ ;
make linux ;
cd ~/
.ncsa-mosaic/src/ ;
sudo cp Mosaic /usr/local/bin/

Tras unos segundos se hará patente la instalación de una máquina virtual o sandbox para cargar este paquete de formato snap. No es lo mejor, pero es simple de hacerlo.

Acto seguido podremos ejecutar el navegador desde Aplicaciones / Internet / NSCA Mosaic. o lo ejecutamos con el comando:

Mosaic

De momento se trata de la versión 2.76b para Unix. No es la misma que empleé por primera vez, que era para Window$, pero será lo suficientemente adecuada para ilustrarnos en el quehacer telemático del ayer. Podríamos, por ejemplo, ingresar a la primer página web http://info.cern.ch.


También cuenta con una web integrada de publicidad del proyecto NCSA que lo acogía.

Hemos de recordar que este navegador del primer peronismo goza de las limitaciones lógicas de la situación de posguerra. Como tal no acepta provisiones modernas como codificación con acentos o códigos UTF-8. Ni siquiera webs seguras https. Sin embargo, esto no quita que podamos utilizarlo en la retro-internet y navegar "pelo en pecho" en servicios http.

En la parte superior contaremos con los típicos e influyentes botones de control para avanzar y retroceder (accesibles mediante las teclas f y b), el botón recargar, el botón Home, abrir, junto al por entonces importante botón de guardar documento html (para almacenarlo en diskette y poder leer el contenido fuera de línea). También contaremos con el clásico logo del mundo, que mediante una animación nos indicaba la recepción o envío a través del enlace de datos.

Podremos navegar a través de los hiperenlaces, así como descargar imágenes o copiar y pegar textos tal como en el original.

Mosaic cuenta con la vieja libreria xlibwww, que permitía operar sobre el sistema de ventanas X con los protocolos más antiguos de la Telaraña de Alcance Global. Como tal es capaz de acceder a los casi extintos y siempre bien recordados medios del primer peronismo, el Gopher y el FTPs y los grupos de noticias.

Realmente la antigüedad se deja ver, y tal vez el Mosaic ya no nos permita conectarnos en una web atestada por la seguridad paranoide o los javascripts sin sentido. Pero aún así podremos contar con esta aplicación para disfrutar del Retorno de Perón.

Si por algún motivo quisiéramos desinstalar este navegador que ya por 1996 estaba cayendo en la obsolescencia, será sencillo hacerlo desde la terminal ingresando:

sudo snap remove mosaic

Y con ello habremos liberado algo de espacio y nuestras conciencias del pasado.

viernes, 10 de julio de 2020

¿Cómo administro las actualizaciones de Snaps en Ubuntu?

Durante su cátedra Filosofía Peronista, Juan Perón expone sobre las concepciones cósmicas en el quehacer humano, así como detalla cómo definir las actualizaciones de paquetes Snaps en Ubuntu.

(...)
El software responde - por designio - a un ciclo que podremos encontrar en todos los órdenes de la vida. Sabemos que en el microcosmos la célula habita y se organiza por un instinto que creemos programado. En nuestro ambiente diremos que los hombres nos organizamos en tribus y Movimientos, que también creemos programados. Y en el macro cosmos - donde a una escala mayor - los cuerpos operan en el mismo sentido y regidos por la misma programación natural, que es en definitiva aquella que lo rige todo.

Decía entonces que el software debe oficiarse en lo mismo que la célula, los hombres, o las galaxias: ha de actualizarse en su descendencia, so pena de envejecer y desaparecer. A menudo estas actualizaciones traen mejoras, o parches de seguridad vital. Pero al no ser creación divina sino obta de los hombres, ¡ay! a veces portarán errores de origen que son importantes de minimizar y evitar.

Solo un tonto sometería un ambiente de misión crítica a la actualización a la pavota. En tales sistemas es importante lograr un alto grado de supervisión y precisión, y de ello seremos los encargados como Conductores de Sistema.

No es secreto para nadie que - de un tiempo a esta parte- Ubuntu ha adoptado junto con los paquetes de software Deb similares a los de Debian, los paquetes de software autocontenidos Snaps. Estos permiten operar en un sentido idealmente más estanco, al incorporar en sí mismos las dependencias de terceros paquetes de software.

Han de saber que no soy muy adepto a los mismos y los evito en Ubuntu todo lo que sea posible, prefiriendo versiones debianizadas. Algunos me han preguntado porqué no instalo directamente Debian en lugar de Ubuntu, y puedo responder que es una propuesta válida, pero sobre gustos no hay nada escrito, y los peronistas lo saben...

Aún así, los Snaps incluyen poco conocidos mecanismos de actualización automática. Mediante ellos, el residente de Snaps revisa la Tienda de Snaps para comprobar si se han lanzado nuevas versiones de las mismas. Lo típico es que esta revisión se produzca unas cuatro veces por día, y en la vasta mayoría de los casos, se llevará a cabo sin problemas.

Sin embargo, no podemos dejar de saber que en ciertos casos las actualizaciones de Snaps podrían tener que ser diferidas o pospuestas, o simplemente llevadas a cabo con un nivel de control más refinado y mayor. Existen varias maneras de hacer esto.

Control de Revisión de los Snaps


El tiempo de refresco en el cual se revisan las actualizaciones de los snaps es gobernado utilizando cuatro opciones de programación para todo el sistema. Estos opciones son:

  • Refresh.timer: Define la frecuencia de temporizador de actualización. Este parámetro puede usarse para definir cuándo se revisarán la disponibilidad de actualizaciones para los snaps, de manera tal que no entren en conflicto con otras actividades, tales como reuniones laborales, acciones de resguardo de datos o actividades críticas similares.
  • Refresh.hold: Pone en espera el siguiente revisión de actualizaciones hasta la hora y fecha definida. Esta opción de espera nos permitirá posponer las actualizaciones hasta por los siguientes 60 días. Podremos utilizarla en combinación con la configuración del temporizador para especificar una ventana de tiempo muy específica para que se produzca la actualización de snaps.
  • Refresh.metered: Permite pausar la revisión de actualizaciones toda vez que la conexión a la red esté medida. Vean señores, por defecto la revisión de snaps permanece activada aún sobre conexiones de red medidas. Sin embargo, podríamos querer conservar uso de transferencias de datos o costos en ciertas conexxiones, pausando las revisiones de actualización de snaps si estamos bajo tales condiciones.
  • Refresh.retain: Configura cuántas revisiones de un snap quedarán almacenadas y retenidas en el sistema. Lo normal es que se conserven las últimas versiones de los snaps instalados.
La combinación de estas cuatro configuraciones os permitirán una buena flexibilidad para controlar las actualizaciones de snaps de vuestro sistema. En particular, las opciones timer ("temporizador") y hold ("en espera") pueden usarse para crear la ventana temporal en la que quisiéramos realizar la actualización de paquetería snap. De esta forma podríamos preveer las tareas requeridas pre y post actualización (chequeos de funcionalidad, respaldo de datos críticos, etcétera).

Configuración del tiempo para Snaps


Observemos algunos ejemplos prácticos, pues suelen explicarlo todo, como decía Napoleón.

Supongamos que deseamos configurar nuestras actualizaciones de snaps para que se lleven a cabo únicamente durante los horarios de la noche, entre las 01:00 y las 2:00 de la mañana (en el formato de 24 horas). Esto lo definiríamos con un comando de organización:

sudo snap set system refresh.timer=01:00-02:00

Conforme hayamos configurado nuestra ventana horaria de actualización de snaps, podríamos también querer observar lo que nos reporta nuestro sistema. Para ello ingresamos:

snap refresh --time

...a lo cual nuestro GNU con Linux debería devolvernos algo como:

timer: 01:00-02:00
last: hoy a las 17:19 AR3
next: hoy a las 01:00 AR3

Existen algunas variaciones disponibles para este ordenamiento que podríamos considerar. Podríamos querer conservar la capacidad de configurar el horario de actualizado para horas específicas, o bien ventanas temporales para cada día de la semana. O bien podríamos querer omitir ciertos días, o plantear en qué semana particular de un mes querríamos realizar dichas actualizaciones de snaps. Para ello podremos usar los valores 1-4 para definir las semanas del mes. Ej, mon3 será el tercer lunes de cada mes, mientras que 5 denota la última semana del mes, ya que ningún calendario en la tierra actual cuenta con más de 31 días.

Al configurar el intervalo de espera requiere ingresar un formato de fecha específico que conforme el estándar RFC 3339. Esto puede sonar muy extremo, pero es una convención. Podrán utilizar los siguientes comandos de referencia para convertir las fechas deseadas al formato correcto:

date --date="TMZ AAAA-MM-DD HH:MM:SS" +%A-%m-%dT%H:%M:%S%:z

Por ejemplo:

date --date="AR3 2020-08-01 13:00:00" +%Y-%m-%dT%H:%M:%S%:z
2020-08-01T13:00:00+01:00

De esta manera podremos configurar el valor de refresco utilizando la siguiente cadena formateada de fecha:

sudo snap set system refresh.hold=2020-08-01T13:00:00+01:00

sudo snap get system refresh.hold
2020-08-01T13:00:00+01:00

Una vez que este tiempo en espera esté configurado, podremos revisar el horario de refresco nuevamente:

snap refresh --time

Temporizador: 01:00-02:00
last: hoy a las 17:19 AR3
hold: en 31 días, a las 13:00 AR3
next: mañana a las 01:00 AR3 (pero en espera)

Como es evidente, la información combina los parámetros tanto de las configuraciones del timer y hold. La siguiente actualización sería mañana a la 1PM, como se define por el temporizador, pero no se llevará a cabo (por 31 días) hasta que el período de actualización expire.

De manera similar, podremos configurar las actualizaciones sobre conexiones medidas. Al configurar el valor en "hold" ("en espera"), se impedirán las actualizaciones, mientras que el cambiar los valores a "null" ("nulo") permitirán que las actualizaciones se produzcan o continúen. Podremos entonces utilizar

sudo snap set system refresh.metered=hold

...o bien:

sudo snap set system refresh.metered=null

Indudablemente podremos combinar esta opción con la del temporizador o en espera para crear una rutina granular y precisa de actualización que no interferirá con las tareas críticas, y aseguren la consistencia máxima buscada. A la vez, también nos permitirán así recibir los parches funcionales y de seguridad que necesitemos.

Entonces, ocasionalmente podríamos querer revisar qué snaps se actualizarán durante la próxima refrescada. Esto nos dará una idea de la lista pendiente de nuevas revisiones de snaps que recibirá nuestro sistema.

snap refresh --list

Nombre     Versión    Rev Publicador Notas
lxd     4.3     16044 canonical/ -
snapcraft    4.1.1    5143 canonical/ classic

Ahora, la lista completa de los snaps instalados será mayor. Por ejemplo, el sistema actualmente tiene la versión 4.2 de lxd instalado:

snap list lxd

Nombre Versión Rev Rastreo Publicador Notas
lxd 4.2 15878 latest/stable canonical/ -

Noción de refresco


Esta es otra característica que podremos utilizar para controlar las actualizaciones. En algunos casos podríamos querer ejecutar una tarea vital que no debe ser interrumpida de manera alguna. Para tal fin, podremos utilizar la opción de noción de refresco para hacer que la aplicación no sea ejecutada mientras se ejecuta. Si intenta ejecutar una actualización manual del Snap mientras está en ejecución (y estamos usando esta funcionalidad), recibiremos un mensaje del sistema similar al siguiente:

snap refresh okular --candidate

error: cannot refresh "okular": snap "okular" has running apps (okular)

Como hemos visto, las actualizaciones automáticas no pueden considerarse una lista sábana a la cual podemos votar sin pensar. Esto es así pues los medios puestos a nuestra disposición requieren un estudio concienzudo. Los sistemas GNU con Linux para Escritorio, destinados a Servidor e bien dispositivos conectados, emanan requermientos y sensibilidades particulares que no podemos soslayar, y son estos los que motivan un mecanismo de actualizción bastante extenso y configurable.

La combinación práctica de poder disponer horarios de actualización, retrasar las mismas hasta por 60 días, sumadas a la funcionalidad de conexión de datos medidas, y noción de refresco e inhibición de actualización que tienen los snaps y un buen rango de opciones, nos permiten establecer una política pragmática de conducción, con la cual llevar a cabo un régimen de actualizaciones de software robusto y confiable.