Mostrando entradas con la etiqueta instalación. Mostrar todas las entradas
Mostrando entradas con la etiqueta instalación. Mostrar todas las entradas

martes, 31 de agosto de 2021

¿Cómo creo una tarjeta SD booteable con Ubuntu?

En una célebre nota costumbrista concedida a la revista Radiolandia, Juan Perón aconseja mientras se afeita y cuenta cómo crear una tarjeta SD booteable desde la terminal de Ubuntu

(...)

¡Vean bien!

La vida está para disfrutarse en una Comunidad Organizada.

Sin embargo, la fórmula de la Felicidad no está escrita. Existe en todas las gradaciones, y todas han de considerarse para establecer el justo Medio que otorgue la buenaventuranza que los trabajadores reclaman por Justo Derecho.

Es por ello que un buen Conductor ha de prever la experiencia que sólo ofrece experimentar responsablemente con múltiples estilos de conducción.


El campo del cómputo reclama esta misma omnicomprensión. Es por ello que la facilidad de contar con imágenes arrancables de sistemas operativos libres dotadas del llamado "arranque en vivo" es una gran facultad. Una que no podremos desaprovechar si lo que deseamos es hacernos peritos sin tener que estar gastando e instalando.

Muchos sistemas operativos libres cuentan ya con esta oportunidad. Pero para poder hacer uso de la misma, es imperioso contar un un medio de arranque capaaz de poder hacer efectivo este tipo de desarrollos.

Pues bien señores, esto es sencillo. Con sólo contar con un pendrive o un lector de tarjetas compatible (y su correspondiente tarjeta flash), podremos contar con instaladores arrancables.

El conocimiento requerido para crearlos y probarlos solía estar sólo al alcance del oligarca, pero os lo extenderé con el fundamento que el conocimiento en manos de las Masa Obreras es un herramental que las llevará a perdurar su liberación.

Normalmente podríamos utilizar un pendrive para tal cometido, atendiendo a la facilidad que el mismo tiene para crear un medio de arranque para una computadora, y que Ubuntu ya cuenta con un creador de pendrives.

Sin embargo, una tarjeta SD puede servir para el mismo propósito si contamos con un lector de tarjetas para la misma que cuente con interfaz USB (habrán de notar que la mayoría de los lectores de tarjetas USB internos también suelen contar con este tipo de interfaz normalizada).

 A tal motivo, podremos contar con una tarjeta SD y crear una tarjeta booteable (arrancable) utilizando nuestra terminal de Ubuntu. En primer lugar, insertamos la tarjeta SD en nuestro lector de tarjetas. Una tarjeta de 4 Gigabitios o de 8 Gigabitios puede servir para la mayoría de las distribuciones que pululan en nuestro ecosistema por la Liberación.



 Una tarjeta SD o MicroSD puede ser una opción simple.

1. Insertar la tarjeta SD en el lector y conectarlo

2. Descargar la imagen ISO

En otro caso, podremos contar con el fichero de la distribución. En este ejemplo, podremos disponer de un fichero con extensión img.gz (un archivo de imagen comprimido con GNU Gzip, o bien el más convencional archivo ISO, que denota una imagen normalizada para grabar en un disco compacto virgen.
 
En el primer caso, descomprimimos el fichero con:
 
gunzip -d fichero.img.gz

3. Verificar el /dev de la tarjeta

Es sumamente importante conocer que la ruta exacta al fichero de dispositivo de la tarjeta SD depende de la distribución Linux que utilicemos y de la configuración específica del sistema. Asumirlo "a tontas y a locas" puede ser el causal de gravísimos errores. Por tal motivo, conviene averiguar específicamente cual es. Para ello, ingresaremos el siguiente comando sin insertar tarjeta SD alguna en el lector.

df -h

Nuestro sistema nos devolverá todos los componentes de nuestro sistema de archivado. Dentro de ellos debemos identificar el de nuestra tarjeta SD insertada en base a su identificador de dispositivo y su capacidad particionada, o ruta. Por ejemplo, en el caso de Ubuntu, podría indicarnos el contenido de la tarjeta SD de marca Kingston de 8Gigabytes, como:

/dev/sdg1        8G   8G     0 100% /media/peron/Kingston_8GB

Esto nos indica que la ruta de dispositivo de la tarjeta es /dev/sdg1. Deben estar atentos a la suya propia podría variarl, o estar particionada en distintos identificadores.

4. Formatear la tarjeta y desmontarla

Necesitaremos desmontar todas las particiones de la tarjeta SD ante de grabar la tarjeta. Deben recordar imponer la ruta de dispositivo que obtuvieron en el paso anterior:

sudo mkfs.vfat /dev/sdg1 -I

unmount /dev/sdg1

5. Grabar la imagen ISO en la tarjeta SD

Grabaremos la imagen en la tarjeta SD dando empleo a la potente utilidad dd. Por favor tengan sumo cuidado al especificar la ruta correctamente, ya que este comando es irreversible ¡y sobreescribirá cualquier contenido preexistente en dicha ruta! Por ejemplo, el comando en Ubuntu sería:

sudo dd bs=4M if=archivo.img of=ruta_de_dispositivo

Por favor sean pacientes, ya que esto suele tardar bastante (varios minutos) dependiendo de la computadora y de la velocidad de la tarjeta SD utilizada. En este caso, el comando sería:

sudo dd bs=4M if=archivo.img of=/dev/sdg1

6. Asegurarse que todas las escrituras se hayan completado

Este paso es opcional, pero un reaseguro. Consiste en sincronizar todas las funciones de escritura en los dispositivos determinados. Para ello introducimos el comando:
 
sync

martes, 20 de julio de 2021

¿Cómo instalo GNU/Linux Huaya 5?

Se ha lanzado la versión 5 de la distribución GNU/Huayra Linux, el sistema operativo oficial del programa educativo Juana Manso, anteriormente conocido como Conectar Igualdad.

El sistema operativo es gratuito, y puede instalarse en las netbooks del programa, pero también en cualquier computadora con arquitectura de 64 bits y al menos 2GB de memoria RAM.

Crear el pendrive de instalación

En principio necesitamos generar un medio de arranque e instalación con el sistema. Esto se puede hacer con un pendrive o tarjeta de memoria SD de 4GB o superior. Si lo queremos hacer desde la terminal de un entorno Linux, colocamos el pendrive o insertamos la tarjeta SD formateada, y averiguamos la letra del identificador /dev/sdx en el sistema. Esto lo haremos con:

sudo fdisk -l

Y nos dirá cual es el identificador del pendrive/tarjeta flash. Por ejemplo, en mi caso se trata de una tarjeta SD de 4GB instalada en un lector de tarjetas /dev/sdg.

Disco /dev/sdg: 3,85 GiB, 4109369344 bytes, 8026112 sectores
Disk model: Card_R/W     -MS
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes

Naturalmente, vosotros harán caso de su propio identificador, ya que es probable que la letra sea diferente. ¡Tengan bien presente cuál es en su sistema, ya que esto podría provocar formatear un disco equivocado en lugar del pendrive!

En mi caso es /dev/sdg. Sabiendo esto, descargamos el instalador ISO y lo grabamos en el /dev/sdg con:

cd ~/Descargas/ ;
wget https://repo.huayra.educar.gob.ar/public/iso/huayra-amd64-5.0.iso
;
sudo dd if=~/Descargas/huayra-amd64-5.0.iso of=/dev/sdg bs=4M

En este caso particular el lector de tarjetas dispone de una luz que parpadea. El proceso de grabación en esta vieja tarjeta es lerdo y dura unos 11 minutos, es medio aburrido. Sólo al final indicará:

832+0 registros leídos
832+0 registros escritos
3489660928 bytes (3,5 GB, 3,2 GiB) copied, 658,091 s, 5,3 MB/s

Arrancar Huayra con el Pendrive

Insertamos el pendrive o tarjeta recién grabada, y reiniciamos el equipo, estando atentos de activar el menú de inicio o boot menu. Dependiendo del equipo, esto se puede hacer presionando repetidamente las teclas F7, F10 o F11 en mi caso.

Si no conocen cuál es la tecla del menú de boot o inicio, en la primera pantalla aparecen abajo las teclas para ingresar a BIOS y boot menu.

Una vez en el menú debemos elegir “Boot from USB/Iniciar desde USB” (también puede aparecer el nombre del pendrive o tarjeta SD). Al presionar Intro se debería presentar ahora el menú de inicio GRUB de Huayra Linux, fácilmente identificable por sus gráficas.

Debemos elegir “Inicio de Huayra en vivo (Live)”. Con esto ya estás usando Huayra 5.

 

Podrán probarlo, yusarlo como lo anhelen sin alterar en modo alguno la computadora. 

Pero también podremos proceder a la instalación en el disco rígido, para afianzar su uso (por lo demás, ¡operará notablemente más rápido!).

Instalación

Os explicaré como instalar Huayra 5. Normalmente, Huayra está instalado como único sistema operativo en las notebooks escolares del Programa Juana Manso. Pero podrán cargarlo también en cualquier computadora compatible, y si son usuarios experimentados, podrían querer instalarlo junto a otros sistemas operativos.

1. En el escritorio deben hacer doble clic en el icono “Instalar Huayra GNU/Linux”.

2. Cuando se inicie el programa de instalación, deben escoger el idioma y luego Siguiente.

3. Seleccioná tu ubicación y luego Siguiente.

4. En la configuración de teclado seleccioná “Spanish (Latin American)”. 

5. Ahora debemos elegir dónde instalaremos Huayra 5.

Podemos reemplazar una partición anterior de Linux, instalar junto a otro sistema operativo o elegir la opción: “Borrar disco (recomendada)”. Con esta opción el instalador va a crear todas las particiones necesarias para crear una instalación “limpia”.

6. Creá tu usuario y elegí una contraseña.

En “Resumen” aparecen todas la opciones que elegiste. Si todo está correcto presioná Instalar.

7. Comenzará el proceso de instalación automáticamente.


8. Después de unos minutos, aparecerá un mensaje que avisará que Huayra 5 se ha instalado con éxito. Hemos de reiniciar o pulsar “Hecho

 

¡Listo! Ya podés usar Huayra GNU/Linux desde el disco rígido de tu sistema. 



sábado, 11 de abril de 2020

Cómo instalo el servidor de videoconferencia cifrada Jitsi Meet en Ubuntu?

En una monumental exposición ofrecida el 24 de enero de 1954 ante representantes de la Unión de Docentes Argentinos, Juan Perón explicó como montar un servidor de videoconferencia cifrada punto a punto con Jitsi en Ubuntu, para ofrecer al Pueblo videoenlaces libres con la mayor calidad.


(...)
¡Compañeros!

Es elevando a los maestros, dignificándolos, como vamos nosotros a elevar y dignificar a nuestro propio pueblo. Ellos son el reflejo de todas las actividades presentes y futuras y de lo más noble que la Nación tiene: su juventud. Es a los maestros a quienes les está confiado el futuro del país. En consecuencia, ese futuro debe estar confiado a hombres  y mujeres cuya condición de dignidad los eleve al magisterio extraordinario que ellos realizan en beneficio del futuro de la Nación. Quien olvida a los maestros también olvida un poco el futuro del país.

En las era que vivimos, requerimos comunicarnos por una telemática que incluya también multimedia. Nadie duda que este será el futuro que potenciará a la educación de los Argentinos. Esto implica imagen en movimiento, audio, pero también - como dicen ahora los niños - el chat. Y no sólo ha de ser esto de acceso masivo, irrestricto, y toda vez que gratuito, sino que también es cardinal que puedan realizarse sobre plataformas libres y controladas por el docente. Ustedes han de poder estudiarlas y darlas a estudiar, e incluso modificarlas en pos de las necesidades de sus educandos.

Pero nos encontramos en tiempos de una lucha enconada entre el Capital y el Trabajo. Indudablemente el Capital iba a proponer un servicio privativo como Zoom. Si bien gratuito, no podía dejar de ser un oprobio para los  Pueblos. Su mediocre implementación de seguridad, sumada a un código fuente envenenado y no disponible provocaron que en pocas horas fuese víctima del hackeo masivo. Además de aquello debemos decir que sus autores guardaban anhelos inconfesables con el uso de su software mal engendrado. Todo esto lo torna prohibitivo para la educación que todos anhelamos.
¡Pues bien señores! Nuestra doctrina es clara: ¡tales servicios del Capital han de ser combatidos sin cuartel, a todo tiempo y en todo lugar!

Hemos puesto manos a la obra en búsqueda de un reemplazo, desarrollando un servidor libre de videoconferencias capaz de ofrecer a la Nación mucha mayor performance. ¡Lo hemos realizado y estamos dispuestos a desplegarlo masivamente! Se trata de Jitsi y su aplicación para servidor web Jitsi Meet. Este stack de programas liberados bajo licencia Apache pueden instalarse en un sistema GNU como Ubuntu con el fin de estaablecer directamente una web de acceso a videoconferencias privadas o públicas y que eventualmente pueden ser masivas (podremos utilizar unas 80 conexiones o más si lo deseamos).

El éxito no le sale al paso por suerte ni por casualidad. Esto se concibe, se prepara, se ejercita, y después recién se realiza. Es decir el éxito depende de toda esa acción, de toda esa preparación, y de toda esa organización, el éxito a nadie le sale al paso, no es obra de la casualidad, el éxito es obra de la previsión, de la organización y la realización.“

Fuente: https://citas.in/autores/juan-domingo-peron/
„El éxito no le sale al paso por suerte ni por casualidad. Esto se concibe, se prepara, se ejercita, y después recién se realiza. Es decir el éxito depende de toda esa acción, de toda esa preparación, y de toda esa organización, el éxito a nadie le sale al paso, no es obra de la casualidad, el éxito es obra de la previsión, de la organización y la realización.“

Fuente: https://citas.in/frases/88661-juan-domingo-peron-el-exito-no-le-sale-al-paso-por-suerte-ni-por-casu/
„El éxito no le sale al paso por suerte ni por casualidad. Esto se concibe, se prepara, se ejercita, y después recién se realiza. Es decir el éxito depende de toda esa acción, de toda esa preparación, y de toda esa organización, el éxito a nadie le sale al paso, no es obra de la casualidad, el éxito es obra de la previsión, de la organización y la realización.“

Fuente: https://citas.in/autores/juan-domingo-peron/
El éxito no le sale al paso por suerte ni por casualidad. Esto se concibe, se prepara, se ejercita, y después recién se realiza. Es decir el éxito depende de toda esa acción, de toda esa preparación, y de toda esa organización, el éxito a nadie le sale al paso, no es obra de la casualidad, el éxito es obra de la previsión, de la organización y la realización.“

Fuente: https://citas.in/autores/juan-domingo-peron/

Usar Jitsi Meet desde una web ya hecha


Si deseamos realizar videoconferencia ahora mismo sin tener que desplegar infraestructura de servidor alguna - bien porque no sabemos hacerlo, o no tenemos un servidor web bajo nuestro control, o no queremos - podremos hacer uso de nuestro navegador apuntado a una web para videoconferencia de Jitsi Meet que ya esté creada de antemano.

Un ejemplo es el serviidor de videoconferencias oficial del proyecto, localizado en meet.hit.si.  En él podremos crear canales de videoconferencias. Sin embargo, os recomiendo también probar la instancia nacional de excelente velocidad presente en el servidor de Arsat, que está en https://jitsi.dcarsat.com.ar/, ya que nos ofrece su propia infraestructura computadaque es la del Pueblo Argentino, con mayor velocidad por estar a escasos kilometritos.
Con solo dirigirnos allí, se cargará en nuestro navegador el excelente cliente libre web de Jitsi Meet, y sin necesidad alguna de armar nada por nuestra cuenta.


El uso del cliente es sumamente sencillo y brilla por ser software libre. Naturalmente, el navegador nos planteará compartir nuestro micrófono y cámara web con motivo de establecernos como cliente de videoconferencia. En el caso particular de Arsat también podremos crear nuestro propio canal y protegerlo con contraseña alfanumérica.

Si contamos con smartphones, podremos descargar clientes oficiales desde la web del proyecto. y apuntar a tales servidores públicos, conectarnos a estos servidores o permitir que otros usuarios nos contacten a través de ellos compartiendo el enlace por algún medio electrónico.

Ya no será entonces problema ofrecer clasee virtuales, establecer enlaces cifrados con terceros, presentar el contenido de nuestra pantalla o aplicaciones en él, "dar la palabra"autorizando el uso del micrófono (o "cerrar " micrófono o cámara).  Indudablemente podremos amenizar/amenazar a los educandos como antaño y si somos ingeniosos, ¡formar una habilidosa comunidad libre de todo intento injerencista de Googl€!

Esto es - de por sí - ya poderoso y Justicialista. Sin embargo, podríamos querer armar nuestro propio servidor de Jitsi Meet, y hacerlo público para que otros lo usen o dejarlo privado sólo para nosotros.  ¡Podríamos así ejercer la verdadera independencia de la Patria, que es aquella en la cual mandamos con nuestro propio software libre en nuestra propia infraestructura computada, sin hincar la cerviz ante imperio alguno! ¡Este es uno de los logros que he legado al Pueblo desde el Justicialismo!

Instalación de Jitsi Meet


Esta valiente decisión implica ensuciarnos las manos y operar bajo el capot de nuestro sistema GNU con Linux, pero como didacta que soy, os instruiré para que lleguen a buen puerto TCP. Gracias a este proceder, potenciaremos con infraestructura de videoconferencia cifrada propia nuestras tareas, la de una agrupación o empresa del Pueblo, una página web que ya teníamos montada, etc.  Proveeremos así en Justicia Social un servicio público para que quienquiera pueda crear un canal de videoconferencias privadas y cifradas.

Emplearemos para ello el hardware de nuestro servidor dotado con Ubuntu 18.04LTS Bionic Beaver en su versión Server. Sin embargo, también podríamos ejecutar Jitsi Meet en un sistema dotado con Ubuntu 18.04LTS para Escritorio (Desktop)... En caso de usar una versión para Escritorio, naturalmente debemos asegurarnos de elevar nuestros privilegios de Usuario común al de Administrador de Sistema mediante la orden sudo (el sistema nos solicitará nuestra contraseña de Administrador ("root") en tales casos).

Previo a dar inicio a la clase de instalación, es menester preparar específicamente a Ubuntu para utilizar el repositorio de paquetes "Universe", la cual es requerida por Jitsi. Lo hacemos abriendo una terminal (con Ctrl+Alt+t en la versión de escritorio) e ingresando en la terminal el siguiente comando de organización:

sudo apt-add-repository universe

Instalación básica de Jitsi Meet

1. Configuramos en el servidor el Nombre de Dominio Completamente Calificado FQDN (Opcional)

Si nuestro Ubuntu Server que emplearemos para desplegar el servidor de Jitsi Meet contaba previamente en los DNS con un FQDN (Nombre de Dominio Completamente Calificado o "Full Qualified Domain Name"), por ejemplo, si usábamos la URL peron.pirulo.org), nuestro archivo de configuración /etc/hostname ya debería contener la línea de este FODN. Si este no es el caso, debemos cambiar el hostname.

Acto seguido, debemos agregar tal FODN al archivo /etc/hosts, asociándolo con la dirección loopback del localhost. Por ejemplo, esto se lograría de la siguiente manera:

127.0.0.1 localhost peron.pirulo.org

Una vez configurado el FQDN revisamos en la misma máquina que es posible el contacto y que el DNS da cuenta de él. Esto lo logramos haciendo realidad efectiva una serie de pings a dicho FODN. El comando en la terminal sería:

ping "$(hostname)"

...con lo cual deberíamos recibir pings exitosos. Lo interrumpimos mediante Ctrl+c.

2. Agregamos el repositorio de paquetes de Jitsi

Esto nos permitirá instalar y actualizar Jitsi con el repositorio oficial del mismo, y facilitará la actualización automatizada de versiones nuevas del mismo. Para ello ingresamos los siguientes comandos en la Terminal:

sudo echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -


3. Abrir los puertos de nuestro cortafuegos

Para que se establezcan los enlaces bidireccionales debemo abrir los siguientes puertos en nuestro cortafuegos, a fin de que el tráfico lleguen a la máquina que corre Jitsi:
  • Puerto 80/TCP
  • Puerto 443/TCP
  • Puerto 10000/UDP

En ubuntu contamos con Ufw (el "Cortafuegos No complicado"). Por lo tanto podríamos permitir la recepción de dichos puertos introduciendo los siguientes comandos de la terminal:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp

sudo ufw allow 22/tcp
sudo ufw allow 3478/tcp
sudo ufw allow 5349/udp

Nota: Recordemos que si por algún motivo quisiéramos deshacer esto y cerrar los puertos como estaban, deberíamos eliminar estas reglas de cortafuegos que le creamos. Ello se hace con: sudo ufw delete allow 80/tcp ; sudo ufw delete allow 443/tcp ; sudo ufw delete allow 10000/udp

Lo activamos con:

sudo ufw enable

También debemos abrir dichos puertos en nuestro Router desde el exterior hacia la IP del equipo local en el que instalaremos el servidor de Jitsi, naturalmente. Para ello recurriremos a la web de administración de nuestro router, la cual normalmente se puede acceder desde un navegador web a la IP del mismo, que suele ser 192.168.0.1 o 192.168.1.0, o 10.0.0.1. Normalmente encontrarán la opción de permitir tráfico entre la WAN (o "Internet") y la red interna ("LAN"), o bien realizar un "port forwarding" a una IP específica en la red LAN. Habran de consultar la documentación del router para mayor información.

3. Instalamos el Jitsi Meet

Para proceder a instalar Jitsi Meet utilizaremos tres comandos. Primero nos aseguramos que exista soporte disponible para el repositorio apt servido a través de HTTPS:

sudo apt-get install apt-transport-https 

...en segundo lugar recogemos las últimas versiones de la paquetería por medio través de todos los repositorios:

sudo apt-get update ;

---y en tercer lugar realizamos finalmente la instalación de jisti-meet:

sudo apt-get -y install jitsi-meet

El instalador revisará si se encuentran presentes en nuestro sistema los conocidos servidores web Nginx o Apache (en dicho orden). En caso afirmativo (lo cual suele ser el caso en Ubuntu Server), el instalador nos autoconfigurará un virtualhost dentro del servidor encontrado, el cual operará a fin de servir Jitsi Meet. Si no encuentra ninguno de estos dos servidores web ya instalados en el sistema, entonces procederá a instalar una instancia del servidor web Nginx. Esto es importante, porque en el caso de ya tener una instancia de Nginx en el puerto 443/TCP en ejecución en nuestro sistema , se omitirá la configuración de turnserver ya que entraría en conflicto con el puerto 443/TCP utilizado. Se utilizaría entonces el puerto 4443/TCP, el cual habremos de abrir como se explicó en el paso 2.



Pues bien, durante la instalación, se nos pedirá ingresar el hostname para la instancia de Jitsi Meet. Si ya tenemos un FODN para la instancia ya configurado en los DNS, lo ingresaremos aquí. Si no tenemos aún un hostname capaz de ser resuelto, podremos ingresar directamente la dirección IP de la máquina (siempre que se trate de una IP estática o no cambie).

Este hostname (o dirección IP estática) será utilizada para la configuración del virtualhost dentro de Jitsi Meet, y tanto usted como sus remitentes utilizarán esta dirección para acceder a las conferencias web.

4. Generar un certificado de Let's Encrypt (opcional y recomendado)

Para poder lograr comunicaciones encriptadas, necesitamos contar con un certificado TLS. Este cumple la función de un carnet de afiliación al Partido Justicialista. La manera más sencilla para obtenerlo es emplear para ello los servicios de Let's Encrypt como autoridad competente.

Podremos ejecutar el script específico para instalar Let's Encrypt en nuestro Ubuntu Server mediante:

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

...o bien en Ubuntu para Escritorio con:

sudo ./usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh


Al ejecutarse este script empleará un acceso tipo HTTP-01, y es este el motivo por el cual nuestra instancia de servidor ha ser accesible desde la internet pública (puerto 80/TCP). Si deseamos emplear un tipo de conexionado distinto, hemos de evitar este script y en su lugar escoger "Quiero usar mi propio certificado" durante la instalación de jitsi-meet.

Nota: Las aplicaciones móviles Jitsi Meet son delicadas y requieren  obligatoriamente un certificado válido firmado por una Autoridad de Certificación válida (tal como Let's Encrypt) y no podrán conectarse si escogemos utilizar un certificado autofirmado.

5. Configuraciones avanzadas adicionales

Si la instalación se encuentra en una máquina detrás de una máquina NAT (un módem o algún router intermedio), jitsi-videobridge debería autoconfigurarse toda vez que arrancamos el sistema a fin de que los datos "salten el charco" a través del NAT. Se trata de un software encargado de puentear y retransmitir en ambos sentidos el flujo audiovisual.

Si sucediese que una llamada de tres vías no funciona, habremos de configurar adicionalmente algunos aspectos de jitsi-videobridge con el sentido de que éste sea accesible desde el exterior. Suponiendo que todos los puertos requeridos son ruteados hacia la máquina que lo ejecutan (estos puertos son TCP/443 o TCP/4443 y UDP/10000), le agregaremos unas líneas de configuración extra al fichero de configuración sip-communication.properties. Para ello ingresamos:


sudo nano /etc/jitsi/videobridge/sip-communicator.properties

.esto nos abrirá el editor GNU Nano con dicho archivo de configuración, el cual ya debería tener contenido.

Le agregamos las siguientes líneas:

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>

Acto seguido procederemos a desactivar una línea existente: la comentaremos con "#" para que jitsi-videobridge no la ejecute. Usamos la función Buscar de Nano (Ctrl+w) para encontrar la línea:

org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES

...y le anteponemos "#", de modo que que nos quede:

#org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES

...finalmente guardamos los cambios con Ctrl+o y salimos del editor Nano con Ctrl+x.

Es muy útil saber que las instalaciones por defecto de Jitsi en sistemas que utilizan systemd están limitadas por defecto a unos valores reducidos en cuanto a la cantidad de procesos máximos y archivos abiertos simultáneos que pueden operar los clientes. Esto está regulado así a fin de dar cabida un flujo de servicio relativamente bajo para todo tipo de acciones telemáticas, incluidas las de videoconferencia.

Si se espera que jitsi-videobridge sea capaz de servir a un número mayor de participantes, habremos de elevar los valores que viene por defecto, ya que estos son buenos para entre sesenta o cien participantes simultáneos. Para actualizar los valores usamos Nano para editar el archivo de configuración de sistema /etc/systemd/system.conf:

sudo nano /etc/systemd/system.conf

Nos aseguramos que tenemos los siguientes valores:

DefaultLimitNOFILE=65000
DefaultLimitNPROC=65000
DefaultTasksMax=65000

Para recargar los valores nuevos y revisar su resultado debemos realizar lo indicado en el apartado "Detalles de systemd" que os describiré a continuación.

Detalles de Systemd 

Para hacer efectivos los cambios en systemd en un sistema GNU con Linux que está en ejecución, simplemente debemos ejecutar:

sudo systemctl daemon-reload
sudo service jitsi-videobridge2 restart

Para revisar el parte de tareas ejecutaremos:

sudo service jitsi-videobridge2 status

...a lo cual, nuestro sistema GNU con Linux debería devolvermos:

Tasks: XX (limit: 65000).

Para comprobar la cantidad máxima de ficheros abiertos y límites impuestos a los procesos debemos ingresar:

sudo cat /proc/`cat /var/run/jitsi-videobridge/jitsi-videobridge.pid`/limits
...a lo cual GNU con Linux debería devolvernos:

Max processes             65000                65000                processes
Max open files            65000                65000                files

6. Confirme que su instalación base de la plataforma funciona

Abrimos un navegador web (Chrome, Chromiun o un Opera) e ingresamos el hostname o la dirección IP del paso anterior en la barra de direcciones.
Naturalmente, si habñiamos empleado un certificado autofirmado en lugar de utilizar Let's Encrypt, nuestro navegador desconfiará y nos pedirá que confirmemos que estamos seguros de utilizar tal certificado.

Debería ver una página web pidiéndonos crear una nueva conferencia (New Meeting). Asegúrese de que pueda crear exitosamente una nueva conferencia, y que otros participantes con capaces de unirse a la sesión.

Si todo funcionó ¡enhorabuena! Hemos logrado poner en órbita un servicio de conferencia Jitsi peronista, el cual podrá ofrecerse ya como un servicio agregado y peronista.

(Fin de la Instalación Básica de Jitsi Meet)

7. Agregar SIP a Jitsi Meet

Instalar Jigasi

Jigasi es una aplicación accesoria que se carga en el servidor de Jigsi, y opera como una puerta de enlace para conferencias SIP con Jitsi Meet. La función de Jigasi entonces es oficiar de "traductor" para el protocolo SIP (utilizado en telefonía de voz por IP (VoIP ), softphones SIP o clientes de software compatible tales como Ekiga y muchísimos clientes de chat). Gracias a Jigasi, estos difundidos clientes de chat y videoconferencia previamente incompatibles podrán unirse a las videoconferencias de Jitsi y lograrán la capacidad de transcripción entre un formato y el otro, sin que sus usuarios tengan que hacer nada ni aprender nada.

Podremos instalar el "traductor de formato" Jigasi a partir de su repositorio utilizaremos el siguiente comando:

sudo apt-get -y install jigasi

...o bien podremos instalarlo descargando el último paquete estable oficial. Por ejemplo:
 
wget https://download.jitsi.org/stable/jigasi_1.1-101-g3b2a0e5-1_amd64.deb ;
sudo dpkg -i jigasi_1.1-101-g3b2a0e5-1_amd64.deb


Durante la instalación, se nos pedirá que ingresemos una cuenta SIP y la contraseña de dicha cuenta SIP. Esta cuenta será la empleada para poder invitar a otros contactos SIP.

Refrescar Jitsi-Meet para que tome Jigasi

Abrimos nuevamente un navegador con la URL de Jitsi Meet (o refrescamos la página con F5) y si la instalación de Jigasi funcionó bien, veremos que apareció ahora un ícono de un teléfono en la parte derecha de la barra de herramientas. Ahora podremos utilizar este ícono para invitar a otras contactos SIP a que se unan a la conferencia actual.


¡Podremos emprender la lucha por la Liberación junto a quienes usen el protocolo SIP!


Resolver problemas

Si nos encontramos con problemas, conviene siempre comprobar con un navegador diferente. Algunas versiones de navegadores específicos son conocidas por tener algunos problemas con Jitsi Meet. También podríamos visitar https://test.webrtc.org para comprobar el estado de soporte de WebRTC de nuestro navegador.

Asimismo, podríamos echar un vistazo a los archivos de bitácora ("logs") de Jitsi en la carpeta /var/log/ en nuestro sistema GNU con Linux. Específicamente, los archivos de logs los podremos revisar con los comando cat o less, y son /var/log/jitsi/jvb.log, /var/log/jitsi/jicofo.log y /var/log/prosody/prosody.log

8. Convertir a Jitsi Meet en Servidor Privado de Dominio Seguro

En cuanto a la operatoria por parte del servidor de Jitsi, debemos saber que - por defecto quienquiera que tenga acceso a nuestra instancia de jitsi a través de internet será capaz de abrir un canal para videoconferencias. Esto significa que si nuestro servidor está abierto al mundo, y así cualquier compañer@ podrá tener una conversación con otr@ utilizando nuestra instancia particular de Jitsi: proveemos un servicio inclusivo para que todo público pueda crear videoconfencias privadas y cifradas.

Si noptamos por una visión enajenada y exclusivista y deseamos limitar la capacidad de terceros de iniciar una videoconferencia en nuestro servidor Jitsi Meet y permitirla sólo a usuarios autorizados debemos obligatoriamente configurar un "Dominio Seguro".

Es posible permitir que sólo usuarios autenticados por el servidor creen nuevas salas de videoconferencia. Toda vez que alguien quiera crear un canal de videoconferencia, Jitsi Meet perguntará por un nombre de usuario y una contraseña. Luego de que se haya creado el Canal de Videoconferencias, otros usuarios podrán unirse a él desde un dominio anónimo. Os indicaré aquí cómo configurarlo.

1 En Prosody:
(Si hemos instalado desde el paquete para Debian/Ubuntu, estos cambios deben realizarse en el archivo /etc/prosody/conf.avail/su-hostname.cfg.lua)

a) Activamos la autenticación para su dominio principal:
VirtualHost "jitsi-peron.pirulo.com"
    authentication = "internal_plain"

b) Agregamos un nuevo host virtual con el método de logueo anónimo para invitados:

VirtualHost "guest.jitsi-peron.pirulo.com"
    authentication = "anonymous"
    c2s_require_encryption = false
(tenga presente que guest.jitsi-peron.pirulo.com es interno para Jitsi, y no debemos ni necesitamos crearle un enlace DNS, ni generarle un certificado SSL/TLS, ni realizar ninguna configuración web específica para él).
 2 En el archivo de configuración config.js de Jitsi Meet configuramos la sección 'anonymousdomain':

(Si instalamos jitsi-meet desde los paquetes para Debian/Ubuntu, estos cambios deberán realizarse en el archivo /etc/jitsi/meet/su-hostname-config.js)

var config = {
    hosts: {
            domain: 'jitsi-peron.pirulo.com',
            anonymousdomain: 'guest.jitsi-peron.pirulo.com',
            ...
        },
        ...
}

3 Cuando ejecutamos Jicofo especificamos nuestro dominio principal en las propiedades adicionales de configuración. Jicofo aceptará los pedidos de alocación de conferencia sólo desde un dominio autenticado.
 
-Dorg.jitsi.jicofo.auth.URL=XMPP:jitsi-peron.pirulo.com

Si instalamos Jicofo desde un paquete Debian/Ubuntu, esto debe ir directamente en una línea nueva en el archivo /etc/jitsi/jicofo/sip-communicator.properties:

org.jitsi.jicofo.auth.URL=XMPP:jitsi-peron.pirulo.com

4 Para registrar usuarios autorizados, utilizaremos este comando en el servidor:

prosodyctl register <nombre_del_usuario_autorizado> jitsi-peron.pirulo.com <contraseña>

prosodyctl register <username> jitsi-meet.example.com <password>

5 Si estamos usando Jigasi:

a) Configurarmos Jigasi para que pueda autenticar editando las siguientes líneas en el archivo /etc/jitsi/jigasi/sip-communicator.properties:

org.jitsi.jigasi.xmpp.acc.USER_ID=ALGUN_USUARIO@ALGUN_DOMINIO
org.jitsi.jigasi.xmpp.acc.PASS=ALGUNA_CONTRASEÑA
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

La contraseña ALGUNA_CONTRASEÑA es una contraseña real en texto plano no un codificado base64.

b) Si experimentamos problemas con la cadena de certificación, podríamos requerir descomentar la siguiente línea de /etc/jitsi/jigasi/sip-communicator.properties:

net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true

...de modo que quede así: 
#net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true


Nota: Esto debe ser sólo realizado  únicamente con propósitos de prueba o resolución de problemas en estado controlado. Si se confirma que ésta era la causa del problma, debería resolverlo de otra manera (por ejemplo, obtener un certificado firmado para prosody, o agregar un certificado particular a la tienda de confianza de jigasi.

Certificados

Jicofo usa una conexión de usuario de chat XMPP (normalmente en puerto 5222) y verifica el certificado del servidor. En una instalación por defecto, el script de la instalación se encarga de generar un certificado autofirmado y lo agrega al Anillo de Contraseñas. En situaciones donde el certificado no sea confiable, podremos agregarlo igual al anillo copiándolo al directorio /usr/local/share/ca-certificates/, mediante los siguientes comandos de organización:

sudo cp cert.pem /usr/local/share/ca-certificates/ 
sudo update-ca-certificates


9. Desinstalar

Si por algún motivo necesitamos desinstalar la aplicación , podremos utilizar este comando de organización:
 
sudo apt-get purge jigasi jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-turnserver jitsi-meet-web jicofo jitsi-videobridge2

Podría suceder que los paquetes jigasi y jitsi-videobridge no se desinstalen de manera correcta al primer intento. Esto sucede sobre todo cuando el servidor estaba en servicio, y se debe a que, dependiendo la carga del sistema, la acción de remoción de servicios podría no ser lo suficientemente veloz... En tal caso, simplemente debemos ejecutar el comando de desinstalación por una segunda vez y - ya con los demonios detenidos y removidos de la memoria de nuestro sistema - la desinstalación será efectiva y completa.

domingo, 14 de abril de 2019

Cómo reparo GRUB con EFI en Ubuntu?

¡Trabajadores!

Desde los tiempos del Primer Peronismo he explicado cómo recuperar GRUB con el DVD de Ubuntu. Este procedimiento nos servirá para las instalaciones típicas, con viejo arranque desde el BIOS.

Sin embargo, de un tiempo a esta parte el efectivo arrancador GRUB ha debido afrontar la aparición del sistema de arranque firmado, llamado EFI o UEFI, que está presente en los equipos de más moderna factura.

UEFI/EFI es un arrancador compuesto, que es más complejo que el sistema convencional de arranque. GRUB puede utilizarlo, haciendo contacto desde lo que sería la UEFI que reside en la placa madre de nuestro sistema hasta una partición especial dentro del disco rígido que contiene el arrancador EFI. En el caso de Ubuntu 18.04LTS, esta partición tiene unos 512MiB de espacio y va formateada en FAT32 para máxima compatibilidad. Allí se deposita el arrancador en el punto de montaje /boot/sh, y luego en el resto de las particiones de sistema (si existen) continuarán en siguientes particiones, normalmente dentro del misma unidad de disco, o eventualmente en otras (según lo hayamos configurado especialmente).

Si hubiese habido una falla con GRUB o la partición EFI, y el sistema se niega a arrancar desde el disco rígido, podremos recuperarla, siempre y cuando no eliminemos las particiones de manera alguna.

Para ello utilizamos el DVD arrancable de Ubuntu, o un pendrive preparado con la ISO de Ubuntu (idealmente la misma versión que la utilizada para instalar la versión). La arrancamos y elegimos "Probar Ubuntu sin Instalar".

Una vez iniciado el escritorio Live, debemos identificar las particiones del disco. Para ello conviene utilizar gParted, que está incluido en el Ubuntu Live. Debemos prestar especial atención a la identificación de discos, pues la misma describe como /dev/sdx a la unidad de disco, /dev/sdxx es la partición donde se encuentra la EFI, y /dev/sdxxx es la partición de sistema.
Por ejemplo, en una instalación típica de Ubuntu 18.04LTS, en un único disco rígido, el disco podría ser /dev/sda, la partición EFI /dev/sda1 y la partición de sistema /dev/sda2. Sin embargo, debemos prestar atención pues la misma podría variar en otras condiciones, y es importante tomar nota de las identificaciones correctas.

Si lo deseamos hacer desde la terminal, abrimos una con Ctrl+Alt+T e ingresamos:

sudo fdisk -l

Una vez identificadas las particiones EFI y de sistema, debemos montarlas.

Ello lo haremos desde la terminal por medio de los comandos necesarios. Primero montamos la partición de sistema, usamos:

sudo mount /dev/sdxxx /mnt

Luego montamos la partición EFI:

sudo mount /dev/sdxx /mnt/boot/efi

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done


Luego nos damos de alta como administrador en la partición de sistema recién montada:

sudo chroot /mnt


Confome estemos logueados como Root, tendremos al alcance nuestro disco rígido. Ahora debemos reinstalar la parte de GRUB que va en el disco. Ello se hace con:

grub-install /dev/sdX


...y lo actualizaremos con:


update-grub

Si nos dice que tuvo éxito, ingresamos:

exit

Y luego reiniciamos el sistema (se nos solicitará retirar el DVD o Pendrive de Ubuntu, y el equipo debería reiniciar correctamente desde el disco rígido con EFI, como lo hacía normalmente.


Editar errores de GRUB

Puede haber sucedido que hayamos cometido errores en la configuración de GRUB. Si tal fuese el caso y tuviésemos que editarlo que editarlo, lo haremos con:

mount /dev/sdxxx /mnt
chroot /mnt

Una vez montado el sistema de archivo del disco, lo editamos con:

nano /etc/default/grub

...y revisamos que todo esté correcto.


Si no tuviésemos la referencia del archivo de configuración de GRUB, econtraremos una muestra en /usr/share/grub/default/grub

Recrear la partición EFI para GRUB
Si por alguna causa catastrófica hubiésemos perdido la partición EFI, es fácil hacerla de nuevo.

Podemos usar fdisk o gParted para crear una nueva partición GPT con el tipo "EFI partition (1)", idealmente al principio del disco. Acto seguido la formateamos con:

sudo mkfs.msdos /dev/sdx

...luego la montamos con:

sudo mount /dev/sdXX /mnt/boot/efi

...y seguimos montando el resto del sistema, como en el caso anterior.

sudo mount /dev/sdXXX /mnt
sudo grub-install /dev/sdx


Recuperar la EFI cuando tenemos nuestro sistemas de archivos repartido en distintos discos rígidos
Indudablemente que si al instalar el sistema operativo se repartió el sistema de archivos largo de diferentes particiones (la carpeta raíz "/" en un disco y la carpetas /home, /tmp y /var en otro), la tarea de recuperación de la EFI será algo más desafiante.

En tal caso tenemos que proceder a averiguar y tomar adecuada nota de qué identificador de discos y en qué particiones está cada componente del sistema de archivos (lo averiguamos con sudo fdisk -l).

Ejemplo:
Suponiendo que tenemos dos discos, y que nuestro sistema de archivos está estructurado de la siguiente manera:

Disco de estado sólido de arranque y sistema /dev/sda:
Partición /dev/sda1 -> particion EFI
Partición /dev/sda2 -> carpeta "/" del sistema

Disco rígido de trabajo /dev/sdb:
Partición /dev/sdb1 -> carpeta /home
Partición /dev/sdb2 -> carpeta /tmp
Partición /dev/sdb3 -> carpeta /var,

En tal caso, si deseamos recuperar la partición EFI en este sistema de archivos dividido entre dos discos, deberíamos ingresar los siguientes comandos:


sudo mount /dev/sda2 /mnt
sudo mount /dev/sdb1 /mnt/home

sudo mount /dev/sdb2 /mnt/tmp
sudo mount /dev/sdb3 /mnt/var
sudo mount /dev/sda1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sda



update-grub

Si nos dice que tuvo éxito, ingresamos:

exit

Y reiniciamos el sistema.


Copiar la EFI a la UEFI de la placa madre

Este ejemplo puede resultar útil cuando cambiamos de disco rígido, o bien cambiamos de placa madre en el equipo. En tal caso la placa madre no podrá encontrar la ruta de UEFI (no tiene que ver aún con el arrancador GRUB. Para resolver este problema deberemos copiar EFI a la memoria UEFI de la placa madre.
  • Si nuestro disco es reconocido como /dev/sda (lo cual suele ser típico en computadoras portátiles o nettops, ya que llevan un único disco), el comando será:

sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu

  • En cambio, si el disco es otro (en caso de instalaciones en sistemas con varios discos), habremos de adaptar el idenfiticador del disco /dev/sdX para que quede así:

sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu -d /dev/sdX -p N

viernes, 27 de abril de 2018

Trasvasamiento Generacional: cómo instalo Ubuntu Mate 18.04LTS Bionic Beaver?

¡Descamisados!

Todo Movimiento Político tiene por necesidad biológica trasvasarse generacionalmente, so pena de envejecer y morir. Por ello es que el nuestro ha puesto en tal realización un rumbo que debe mantenerse si es que deseamos una Patria Grande y una Nación Soberana.

Nuestro Movimiento soporta con ello el paso del tiempo, y si lo hacen nuestros hombres, como no lo va a hacer nuestro Software. Nos hemos encargado de hacerlo libre, y por ello contamos con una nueva versión de Ubuntu MATE, la 18.04LTS.

Como primer medida nos aseguraremos de tener nuestros datos respaldados. No podremos ponernos a hacer experimentos de ningún tipo si no son nuestros trabajadores y sus datos los que realmente estén protegidos. Mientras lo hacemos, bien podremos comenzar a descargar el instalador necesario. En mi caso me haré con la imagen ISO de Ubuntu Mate de 64 bits a través de Torrent (tarda unos 30 minutos en descargar 2GB). La versión de 64 bits es la cual recomiendo para todo tipo de equipos modernos con dicha arquitectura de procesador. En todo caso, los requerimientos mínimos a cumplimentar es disponer de hardware con procesador de doble núcleo de al menos 2 Gigaciclos, 2 Gigabytes de memoria RAM y unos 25GB de memoria de masa. Conviene también disponer de video acelerado. Procederemos a grabar la imagen ISO en un DVD (o alternativamente, la preparamos en un pendrive) y reiniciamos el equipo indicándole que arranque desde dicho medio. En mi caso, esto se hace a través del Boot Menú de la BIOS (presionando F11 durante el instante de arranque).
Una vez arrancado el medio, nos aparecerá el menú de inicio que nos permitirá elegir el modo vivo para probar Ubuntu, o instalar directamente Ubuntu Mate.

Eventualmente, el medio de instalación podría proceder automáticamente en el modo Live antes de permitirnos instalar. Esto es útil para descartar problemas de videos en equipos más antiguos. En este momento conviene asegurarnos que el sistema cuente con conexión a internet a través de un cable LAN.

El instalador de Ubuntu 18.04LTS es el convencional de los siete pasos. En mi caso particular en lugar de realizar la instalación sencilla sugerida por defecto en el paso 4, he decidido instalar el sistema repartiéndolo de forma manual entre un ultraveloz disco de estado sólido para la raíz de sistema peronista ("/"), y un disco rígido convencional de 1TB para los datos de usuario y particiones de alto volumen de escritura (con particiones individuales para /home, /tmp y /var y el sector de intercambio swap). En este caso me redunda en una muy alta velocidad de ejecución, y se minimiza el desgaste de escritura en el SSD. Dicho procedimiento, si bien algo más complejo que la instalación convencional, lo he explicado aquí.

Una vez finalizada la instalación (dura unos 15 minutos desde el pendrive), el sistema se reiniciará con el arrancador Grub.

Si todo va bien nos dejará en el nuevo Escritorio MATE 1.20.1, montado sobre un kernel Linux que de fabrica es el 4.15.0-20-generic.

MATE cuenta con una apariencia clásica y sin estridencias, y dispone ahora de una herramienta de configuración inicial que nos permitirá escoger ciertos aspectos importantes, además de un lanzador informativo para su primer arranque.

A diferencia de la problemática interfaz Unity y sus megalomanías de convergencia interdispositivo, MATE adopta una filosofía de estabilidad rocosa clásica y benevolente derivada del GNOME 2.6, lo cual lo hace extremadamente sencillo de emplear, y siempre cómodo con el hardware de video. Es capaz de adosarse a Compiz para proporcionarnos efectos de video avanzados, y ahora también a un nuevo gestor gráfico, el Compton. La idea de este nuevo gestor con nombre pandillero es permitir la siempre deseada reproducción de video "sin roturas", problemas que a veces plagaban al Compiz y sobre todo al enjundio Compiz+Unity. Lo evaluaremos más adelante.

En primer lugar se notan algunos cambios en la organización de los paneles en Ubuntu Mate. El panel superior cuenta con una nueva modalidad con menú de búsqueda. Sin embargo, podemos volver a la manera tradicional desde Mate Tweak.

Si tuviésemos acceso a red inalámbrica Wifi y no la hubiésemos establecido, sería esta una buena oportunidad haciendo clic en el ícono correspondiente en el panel superior. En mi caso empleo un equipo con Wifi Atheros, por lo cual no debo configurar nada, simplemente me conecto. En caso de requerir controladores (por ejemplo, si usamos adaptador Wifi Broadcom o similar), podremos hacernos con el controlador a través de la conexión cableada. Para ello vamos a Sistema / Hardware / Controladores Adicionales. Allí debería sugerírsenos un controlador para nuestro dispositivo inalámbrico (y probablemente se nos sugiera también un controlador de video si es que está disponible. En cualquier caso los instalamos.

Acto seguido, configuramos nuestro sistema para que emplee los repositorios de nuestro país. Esto redundara en una mayor eficiencia y velocidad para descargar e instalar aplicaciones, situación que nos enfrentaremos en breve. Para poner los servidores localesz vamos a Sistema / Administración / software y actualizaciones. En el cuadro que se nos presenta escogemos la solapa Software de Ubuntu. En el campo Descargar desde, elijo "Otros...".

...Se abrirá una lista con los paises y los servidores. Debo presionar el botón "Seleccionar el mejor servidor" y el sistema buscara cual es el mas veloz de los disponibles de manera automatizada.

Normalmente nos recomendará uno del país. Lo seleccionamos y presionamos el botón Seleccionar servidor. Tras ello se nos informara que la lista de paquetes esta obsoleta, y debemos presionar Recargar. Luego presionamos Cerrar.

Una vez indicados el servidor local, ya podremos actualizar con confianza nuestra configuración de idioma. Para ello vamos a Sistema / Preferencias / Personal / Soporte de Idioma, y se nos indicara que faltan algunos componentes de la paquetería idioma. Le indicamos que los descargue, y el sistema lo hará automáticamente a través de internet.
Una vez finalizado dicho trámite, habremos pasado al castellano todas las aplicaciones en caso de que el sistema no hubiese podido bajarlas así antes. Ubuntu Mate 18.04 cuenta con las versiones en castellano de LibreOffice 6.0.3.2 con el tema Breeze, Firefox 59.0.2 y podremos instalar Chromiun 65.0.3325.181.
Ubuntu ya cuenta con una buena pero reducida panoplia de aplicaciones. Sin embargo, es muy probable que a continuación nos propongamos instalar todo un avío de aplicaciones libres que favorezco. Para ello empleo la terminal por la gran facilidad de hacerlo de forma masiva. Abro una consola con Ctrl+Alt+T e ingreso los siguientes Comando de Organizacion:

sudo apt update ;

sudo apt-get install ubuntu-restricted-extras openssh-server openssh-client htop dstat bmon sysstat iftop ifstat iptraf mc iotop glances python-pip git sox rar dtrx totem ;

sudo apt-get install java-wrappers libcommons-cli-java libcommons-lang-java libcortado-java libmiglayout-java libwoodstox-java automake autoconf gettext libtool ;

sudo apt-get install ttf-essays1743 fonts-inconsolata fonts-roboto fonts-isabella fonts-ubuntu-font-family-console fonts-liberation fonts-lindenhill ;

Progresivamente los Ubuntu han decidido dejar de lado aplicaciones preinstaladas en el DVD, pues dejan que el usuario las instale si lo desea. Esto es así pues día a día es mas común disponer de acceso a internet de banda ancha, ya sea cableado o por Wifi. Por tal motivo tendremos que instalarlas nosotros a través de internet. Podremos incluir el siguiente comando:

sudo apt install openshot audacity asunder gimp inkscape vlc chromium-browser-l10n tmux moc byobu alpine links elinks lynx dvb-apps vlc vrms wordgrinder caca-utils figlet toilet fortunes-es cowsay mplayer ubuntustudio-audio-plugins python3-pip gnome-raw-thumbnailer ruby cmatrix filezilla facter dmidecode jpegoptim ;

sudo apt install blender clementine banshee rawtherapee darktable mypaint mypaint-data-extras ; 

sudo apt install pychess fruit bsdgames bsdgames-nonfree freecol scummvm dosbox dosemu widelands ;

También podremos agregar el soporte para DVDs con:

sudo apt-get install libdvdread4 libdvdcss2
sudo dpkg-reconfigure libdvd-pkg

Con esto ya podremos instalar fácilmente la TV digital en Ubuntu, además de contar con una excelsa panoplia de programas para las actividades de todos los días.
Opcionalmente también podremos emplear el navegador para descargar e instalar en Ubuntu 18.04LTS algunas aplicaciones no demasiado libres, pero útiles. Entre ellas tendremos Skype, Google Earth, o Google Chrome (compatible con Netflix).

También instalo Cool Retro Term con:

sudo add-apt-repository ppa:vantuz/cool-retro-term
sudo apt update
sudo apt-get install build-essential qml-module-qtgraphicaleffects qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qtquick-controls qml-module-qtquick-dialogs qmlscene qt5-default qt5-qmake qtdeclarative5-dev qtdeclarative5-localstorage-plugin qtdeclarative5-qtquick2-plugin qtdeclarative5-window-plugin
sudo apt-get install cool-retro-term


...y entre otros el editor de fotos LightZone con:

sudo apt-get install libjpeg62
wget http://download.opensuse.org/repositories/home:/ktgw0316:/LightZone/Debian_9.0/amd64/lightzone_4.1.8-0obs1_amd64.deb ;
sudo dpkg -i lightzone_4.1.8-0obs1_amd64.deb
sudo apt install -f

martes, 10 de abril de 2018

¿Cómo soluciono el error de actualización del demonio Avahi-DNS en Ubuntu 16.04LTS??

Todo Movimiento cuenta con herramientas institucionales, de las cuales los hombres hacen uso en pos de los diferentes objetivos de la lucha táctica. Ésta - a su vez - cuenta con varias ramificaciones. Una de ellas es la lid electoral, la cual es importante para la concreción de objetivos a nivel político superior, al que llamaremos estratégico.

Normalmente estos órganos de lucha podrían considerarse importantes, pero debemos darle la dimensión que realmente tienen: las de ser maleables herramientas para un trabajo de conjunto que ha de ser superior.

Aún así, no debemos dejarlas al azar. Si lo hacemos, podríamos vernos obligados a dar el combate en ámbitos no favorables. Hemos de poder contemplar entonces todo tipo de alternativas.


Veamos el ejemplo del error de actualización del paquete Avahi-dnsconfd. Se trata del demonio o programa residente en memoria, cuyo sentido es el de resolver a nivel local los nombres dinámicos de Internet (DNS). Este demonio puede presentar ciertos problemas al querer actualizarlo. En particular, en ciertas ocasiones cuando usamos Ubuntu de la versión 16.04LTS, al actualizar el mismo no pueden completarse las tareas previstas, y nuestro programa de actualización podría informarnos de de errores de paquetes, con el mensaje "falló la instalación de paquetes" o "falló la actualización de paquetes". Por otro lado, si queremos realizar la actualización desde la Terminal de Linux, con los comandos:

sudo apt update && sudo apt upgrade

La misma esta nos devuelve errores de la siguiente manera:

(...)
Preparando para desempaquetar .../avahi-dnsconfd_0.6.32~rc+dfsg-1ubuntu2.1_amd64.deb ...
Job for avahi-daemon.socket canceled.
dpkg: aviso: el subproceso script de `pre-removal' antiguo devolvió el código de salida de error 1
dpkg: probando el script del nuevo paquete en su lugar...
Job for avahi-daemon.socket canceled.
dpkg: error al procesar el archivo /var/cache/apt/archives/avahi-dnsconfd_0.6.32~rc+dfsg-1ubuntu2.1_amd64.deb (--unpack):
(...)


Se encontraron errores al procesar:
 /var/cache/apt/archives/avahi-dnsconfd_0.6.32~rc+dfsg-1ubuntu2.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


Pues bien señores, en este caso debemos superar este error por medio de una intervención manual al Partido Justicialista, a fin de regularizar la situación en nuestro sistema. Para ello debemos abrir una terminal con Ctrl+Alt+t y debemos ingresar el siguiente comando para detener el proceso Avahi DNS:

sudo systemctl disable avahi-daemon

Cuando lo ejecutemos este comando con la tecla Enter, el sistema nos solicitará nuestra contraseña mediante el siguiente mensaje:


[sudo] password for usuario

Aquí debemos ingresar "a ciegas" nuestra contraseña de conductor, y presionar Enter. En la medida que la introducimos, el sistema no mostrará nada en pantalla, es por tal motivo que debemos tipearla "a ciegas".

Una vez hecho esto continuará el procedimiento, presentándose en la terminal la siguiente información:


Synchronizing state of avahi-daemon.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install disable avahi-daemon
insserv: warning: current start runlevel(s) (empty) of script `avahi-daemon' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `avahi-daemon' overrides LSB defaults (0 1 6).
insserv: warning: current start runlevel(s) (empty) of script `avahi-daemon' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `avahi-daemon' overrides LSB defaults (0 1 6).
Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service.
Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.



Esto indica que se ha detenido el proceso Avahi DNS. Luego ingresamos el segundo comando para actualizar los paquetes, y presionamos Enter.

sudo apt-get upgrade

...y el sistema devolverá:

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias      
Leyendo la información de estado... Hecho
Calculando la actualización... Hecho
Se actualizarán los siguientes paquetes:
  avahi-dnsconfd
1 actualizados, 0 nuevos se instalarán, 0 para eliminar y 2 no actualizados.
Se necesita descargar 14,1 kB de archivos.
Se utilizarán 26,1 kB de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n]


Naturalmente debemos presionar "S" para responder la pregunta, y continuará el procedimiento de descarga del paquete y su instalación, lo cual será reportado de la siguiente manera:
 
(Leyendo la base de datos ... ######## ficheros o directorios instalados actualmente.)
Preparando para desempaquetar .../avahi-dnsconfd_0.6.32~rc+dfsg-1ubuntu2.1_amd64.deb ...
Desempaquetando avahi-dnsconfd (0.6.32~rc+dfsg-1ubuntu2.1) sobre (0.6.32~rc+dfsg-1ubuntu2) ...
Procesando disparadores para systemd (229-4ubuntu21.2) ...
Procesando disparadores para ureadahead (0.100.0-19) ...
ureadahead will be reprofiled on next reboot
Procesando disparadores para man-db (2.7.5-1) ...
Configurando avahi-dnsconfd (0.6.32~rc+dfsg-1ubuntu2.1) ...
avahi-daemon.socket is a disabled or a static unit, not starting it.



Esto indica que el paquete se ha descargado y ahora instalado correctamente, y se nos informa que el demonio Avahi no está activado, por lo tanto no se lo ha iniciado. Debemos reactivar a mano el programa Avahi DNS esta vez. Lo haremos tipeando el siguiente comando seguido de Enter:

sudo systemctl enable avahi-daemon

...el sistema devolverá:

 Synchronizing state of avahi-daemon.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable avahi-daemon
insserv: warning: current start runlevel(s) (empty) of script `avahi-daemon' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `avahi-daemon' overrides LSB defaults (0 1 6).
insserv: warning: current start runlevel(s) (empty) of script `avahi-daemon' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `avahi-daemon' overrides LSB defaults (0 1 6).
Created symlink from /etc/systemd/system/dbus-org.freedesktop.Avahi.service to /lib/systemd/system/avahi-daemon.service.
Created symlink from /etc/systemd/system/sockets.target.wants/avahi-daemon.socket to /lib/systemd/system/avahi-daemon.socket.



Con esto ya habremos resuelto el problema. Avahi DNS se iniciará automáticamente toda vez que reiniciemos el sistema.

domingo, 3 de agosto de 2014

¿Cómo configuro Ubuntu 14.04LTS para que funcione con mi Samsung Serie 9 900x3c?

Ya en los órganos del Peronismo Revolucionario de la década del 60, Juan Perón exponía la necesidad de liberar al hardware del un software privativo que lo hacía esclavo. En este caso se refiere a los equipos Serie 9 de la Multinacional Samsung liberados con Ubuntu, el sistema operativo Popular.

[...]
- General, mediando el año 1968, ¿cuál es el consejo fundamental que usted dirigiría a la juventud que protagoniza las luchas por la liberación tanto en Argentina como en los demás paises del Tercer Mundo?

- Indudablemente mi mas alta aspiración sería poderles dar algo de la experiencia que yo he recogido en estos años. El grave problema de la juventud, en estos momentos, es poder percibir perfectamente bien, cuales son sus enemigos. El imperialismo que va tras un neocolonialismo de nuestros países, las oligarquías vernáculas que van tras la explotación de nuestros pueblos como ha sido en sido en nuestro caso desde el Siglo XIX, y el software privativo va por la esclavización de nuestra informática y nuestro hardware.
Indudablemente que la juventud actual tiene la tremenda responsabilidad de lograr la libertad, responsabilidad que tiene el derecho de defender en estos momentos ya que serán ellos los que habrán de gozar o sufrir las consecuencias del quehacer social actual. Frente a ese programa de la liberación es preciso la integración; nuestra experiencia nos dice que la liberación de un país no puede ser aislada, no puede ser insular. Es decir que las grandes cinarquías internacionales las terminará por aplastar en el tiempo. Por eso hay que integrarse para defender esa liberación a nivel internacional.

En la interna es necesario transitar por el camino que dirige a la liberación de los Pueblos y del software que este emplea. Hay una evolución en el mundo que indefectiblemente nos lleva a esa necesidad. Y esa liberación se realizará por las buenas o por las malas. La juventud debe saberlo. La juventud debe empeñarse en realizarlo, por las buenas si es posible, y si no por las malas. La violencia es un asunto muy discutido en nuestro tiempo. Pero en mi sentir, los únicos que tienen derecho a emplear la violencia  en mayor grado son los pueblos que quieren liberarse.
Vea el caso del hardware. Presionado por las cinarquías, los fabricantes osan establecer barreras que impiden la ejecución de sistemas operativo libres, escudándose en "la seguridad", bajo el nombre técnico de "Soporte de Arranque UEFI".

Sabemos que la seguridad es una excusa inventada para asustar a algunos niños y a los tontos. La seguridad - antes que nada - es una sensación, y como tal no puede recibirse, sino que ha de proveerse. ¿Quién se atrevería afirmar que la seguridad se logra habilitando a nivel BIOS únicamente un sistema operativo que está ingeniado para espiar al usuario, y cuyo código fuente es secreto? Sólo a un bruto...

Yo he visto brutos que se han vuelto buenos. Tal es el caso de la Samsung 900X3C, de la Serie 9. Se trata de un equipo ultraportátil munido de procesador Intel i7, con un adaptador de video integrado Intel HD Graphics 4000 que dota una pantalla de 13.3 pulgadas. La memoria está constituida de base en unos 4GB de RAM DDR3 y un disco rígido de estado sólido de 128 MB. Este equipo viene con Window$ 8, sistema operativo para tontos, o brutos, pero hemos dicho que es posible volverla buena instalando Ubuntu 14.04LTS.

Como medida previa al proceso de instalación de Ubuntu, hemos de acceder durante el momento mismo del arranque a la rutina de configuración de la BIOS del equipo (mediante la tecla F10), para modificar el orden de acceso a los dispositivos de inicio (Boot Device Priority), a fin de seleccionar una unidad USB y poder emplear un pendrive preparado para instalar Ubuntu 14.04LTS.

Opcionalmente podremos querer activar la opción Modo de Ahorro de Energía ("Power Saving Mode") de la solapa Avanzadas. Esto limitará la carga máxima a aplicar a la batería en el orden de un 80% del total, lo que si bien reportará una carga contenida, extenderá la vida útil práctica de las celdas de la misma.

A veces puede ser necesario desactivar la función del Modo de Inicio Rápido del BIOS (Fast BIOS Mode), a fin de poder dar inicio al dispositivo USB (en caso de que no detecte el dispositivo). En caso de instalar otras versiones de Linux, como en todos los sistemas más modernos, puede ser necesario desactivar el Soporte de Arranque UEFI ("UEFI Boot Support). Luego presionamos F10 para guardar los cambios realizados en la BIOS y salir.

Instalamos Ubuntu 14.04LTS con las opciones por defecto y compartir la instalación entre sistemas operativos, aunque para mantener una pureza ideológica y combatir al Capital, podrían querer eliminar Window$ 8 al instalar Ubuntu. Cualquiera sea su elección, instalarán el sistema y una vez concluida la normal operación (que suele tardar unos 25 minutos) nos asegurarnos el funcionamiento básico del equipo.

En el caso de Ubuntu 14.04LTS funcionan adecuadamente su comunicador WiFi, la Webcam, su trackpad, el adaptador de red cableada Ethernet y la salida de audio/video digital HDMI. Todas las opciones de audio funcionan perfectamente, así como las teclas de control de brillo y de volumen del sonido.


Lo que no funciona correctamente (de momento) es la acción de suspender al cerrar la pantalla (aunque puede suspenderse y luego cerrar la pantalla), y una adecuada notificación del nivel de la batería.

Una vez finalizados las pruebas de funcionamiento de rigor, actualizamos la paquetería conectándonos a internet e ingresando en la terminal (con Ctrl+Alt+T) ingresamos los siguientes Comandos de Organización:
sudo apt-get update
sudo apt-get upgrade

Reiniciamos el equipo, y podremos configurar las opciones específicas para estos modelos. Si Ubuntu reinicia adecuadamente, podríamos posteriormente querer reactivar en la BIOS (nuevamente, presionando F10 al arrancar la portátil) la opción Modo de Inicio Rápido para iniciar ahora de forma veloz (pues ya no necesitaremos instalar más sistemas operativos a través de dispositivos USB).

Algunas funciones operarán correctamente sólo después de hacer algunas modificaciones. Esto es cierto particularmente con algunas teclas específicas del teclado. Si al probarlas comprobamos que no funcionan, deberíamos configurarlas de forma manual, llegado el caso alterando o creando de cero unos pocos archivos de configuración.

Para ello en la terminal ingresamos:

sudo gedit /usr/lib/udev/keymaps/samsung-900x3c

Se abrirá el editor de texto peronista Gedit. Pegamos las siguientes líneas, luego guardamos el archivo (mediante Ctrl+S) y salimos del editor Gedit (con Ctrl+Q).

# /usr/lib/udev/keymaps/samsung-900x3c
0xCE prog1              # FN+F1 System Settings
0x89 brightnessdown     # FN+F2 Brightness down
0x88 brightnessup    # FN+F3 Brightness up
0x82 switchvideomode    # FN+F4 Switch video mode
0xF9 f23                # FN+F5 Turn touchpad off
0xA0 mute               # FN+F6 Mute
0xAE volumedown         # FN+F7 Volume down
0xB0 volumeup           # FN+F8 Volume up
0x97 kbdillumdown    # FN+F9 Keyboard backlight down
0x96 kbdillumup         # FN+F10 Keyboard backlight up
0xB3 silentmode         # FN+F11 Silentmode
0xD5 wlan               # FN+F12 WiFi

Acto seguido, tipeamos en la Terminal la siguiente órden:

sudo gedit /usr/lib/udev/keymaps/force-release/samsung-900x3c

...y nuevamente en el editor pegamos las siguientes líneas, grabamos y salimos:
 
# /usr/lib/udev/keymaps/force-release/samsung-900x3c
# Archivo peronista para la Samsung Serie 9
0xCE # FN+F1 System Settings
0x89 # FN+F2 Brightness down
0x88 # FN+F3 Brightness up
0x82 # FN+F4 Switch video mode
0xF9 # FN+F5 Turn touchpad off
0xA0 # FN+F6 Mute
0xAE # FN+F7 Volume down
0xB0 # FN+F8 Volume up
0x97 # FN+F9 Keyboard backlight down
0x96 # FN+F10 Keyboard backlight up
0xB3 # FN+F11 Silentmode
0xD5 # FN+F12 WiFi


Acto seguido nos encargaremos de las teclas que controlan la intensidad de la retroiluminación del teclado. Para ello en la terminal tipearemos:

sudo gedit /usr/lib/udev/rules.d/95-keymap.rules

...y procederemos a dar búsqueda a las líneas específicas para los equipos Samsung (usando la herramienta "Buscar" con Ctrl+f buscamos la frase "Samsung", en caso de que existieran reglas previas). Y agregamos el siguiente código, luego guardamos (con Ctrl+s) y salimos (con Ctrl+q):

ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keymap $name samsung-900x3c"

Una vez finalizado lo anterior, haremos lo mismo con otro archivo. Esta vez ingresaremos:

sudo gedit /usr/lib/udev/rules.d/95-keyboard-force-release.rules

...y agregamos nuevamente la siguiente línea específica para las Samsung (usamos Ctrl+f para buscar "Samsung"):

ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keyboard-force-release.sh $devpath samsung-900x3c"
 
Guardamos (Ctrl+s) y salimos (Ctrl+q), y recargamos las reglas udev, tipeando la siguiente orden en la terminal:

udevadm control –-reload-rules

Luego reiniciaremos el equipo con el comando:

sudo reboot


Al reiniciar, deberíamos contar con las teclas de retroiluminación del teclado en perfecto funcionamiento.


Si hubiesen algunas teclas que no funcionasen (por ejemplo, la tecla F1 que fue configurada específicamente para el Panel de Control de Window$, F12 para el uso del WiFi, o la tecla del ventilador en F11), habremos de seguir configurando. Para corregir éstas, podremos instalar Samsung on my Laptop, mediante los siguientes Comandos de Organización:

sudo apt-add-repository ppa:voria/ppa 
sudo apt-get update 
sudo apt-get install samsung-tools xbindkeys-config

Esto instalará dicho paquete libre. Ahora lo ejecutaremos con el siguiente Comando de Organización:

samsung-tools-preferences

Esto disparará la interfaz gráfica de configuración de las Herramientas Samsung. Con la interfaz de usuario deberíamos poder controlar las teclas.



En el caso específico, podríamos querer configurar manualmente los ficheros de configuración. Para ello usaremos:

gedit ~/.xbindkeys-config

...e ingresar el siguiente contenido al archivo:


#fnf1

"/usr/bin/gnome-control-center"
m:0x0 + c:156
XF86Launch1

#fnf11
"/usr/bin/samsung-tools --show-notify --quiet --cpu hotkey"
m:0x0 + c:210
XF86Launch3

#fnf12
"/usr/bin/samsung-tools --show-notify --quiet --wireless hotkey"
m:0x0 + c:246
XF86WLAN

# End of xbindkeys configuration
"SamsungToolsDummyCommand"
Control+Alt+Shift+Mod4+F1+F2+F3
#
#
# End of xbindkeys configuration

Adicionalmente, como normalmente se aplica brillo de pantalla al 100% al iniciar, podríamos querer reducir el brillo original de la pantalla toda vez que arranque Ubuntu. El objetivo obvio será no encandilar a la Masa. Para ello podremos utilizar la aplicación xbacklight: la instalamos desde la Terminal con el siguiente Comando de Organización:

sudo apt-get install xbacklight

Usaremos el Dash para abrir el programa "Aplicaciones al Inicio", y añadimos una nueva entrada con los siguientes datos:

Nombre: Brillo.
Comando: xbacklight -set 25

Esto reducirá el nivel de brillo al 25% del total. Naturalmente podremos adoptar cualquier porcentaje mediante la orden:

xbacklight -set xx