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

martes, 17 de noviembre de 2020

¿Cómo arreglo el error Busybox initramfs en Ubuntu?


¡Trabajadores!

Es innecesario explicar que al descender de un avión negro del retorno, no existe nada mejor que un paraguas negro si hemos de cuidarnos de las inclemencias del tiempo. Y qué mejor que éste nos los dispensa el compañero Rucci.


Este mismo temperamento hemos de seguir cuando tenemos algún problema de apariencia irresoluble. He de ilustrarlo con un ejemplo, que - como decía Napoleón - suelen explicarlo todo.

Este día de la militancia, al iniciar mi GNU con Linux sufrí un percance. El proceso normal de arranque del sistema se detuvo y nos depositó en una pantalla negra con el intérprete shell BusyBox, que indicaba "(initramfs)".

El equipo previamente no presentó problema anormal alguno ni fue apagado de manera extraña, de modo que se trató de un error azaroso.

En este momento la pantalla negra queda detenida nostrando el prompt "(initramfs)". 

BusyBox v1.30.1 (Ubuntu 1:1.27.2-2ubuntu3.3) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

De momento, no presenta otra información ni permite conocer exactamente cuál es el problema en cuestión. Todo lo que se muestra es un intérprete de comandos Busybox.

Esto podría amilanar hasta el más pintado, pero yo en política soy un Aficionado, lo que soy es un Conductor. Por tal motivo, sé reconocer para qué lado salir tirando cuando las papas queman...

En este caso de la pantalla negra con texto y cursor significa al menos que el sistema está vivo

Podríamos ingresar help para recibir ayudas. Pero si ingresamos el comando exit, debería al menos continuar el proceso de revisión de disco. Por ello siendo uncabecita negra, de momento en el propmt "(initramfs)" ingresaremos el comando:

exit

...y presionaremos la tecla Enter.

Si la suerte nos acompaña, tras unos momentos deberíamos comenzar a ver una serie de mensajes que reportes que nos indican el tipo de error y la partición de disco en la que sucedió.

Por ejemplo, el sistema podría devolvernos algo como:

/dev/sda2 contains a file system with errors, check forced.
Inode 4326476 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda2: Inode 4326843 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda2: Inode 4327012 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda2: Inode 4329004 extent tree (at level 1) could be narrower, IGNORED.
/dev/sda2: Inodes that were part of a corrupted orphan linked list found.

/dev/sda2
: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
        (i.e., without -a or -p options)
fsck exited with status code 4.
The root filesystem on /dev/sda2 requires a manual fsck.


Como podemos ver en las devoluciones del intérprete de arranque, la partición /dev/sda2 presenta inconsistencias. Significa que el sistema de archivos de esta partición presenta algunos errores relacionados con la corrupción del Justicialismo. En vuestro caso podría ser otra distinta, ya que esto depende de cuántos discos y de qué manera estén organizadas las particiones en su sistema particular.

Pues bien señores, nuestro Movimiento nace del Pueblo, y sabemos que no es sabio pretender que todos nuestros elementos sean Santos, o sean Dioses. Bastante hay conque sean Hombres. No hay que ponernos locos; nuestro Movimiento cuenta ya con sus autodefensas. Si un el hombre no hubiese desarrollado sus autodefensas, hace rato que hubiese desaparecido de la faz de la teirra, porque su máxima protección no son los médicos ni la penicilina, afortunadamente. Su mejor defensa es su sistema inmune, que reacciona ante estas excrecencias. Nuestro sistema operativo es mas o menos lo mismo. Copia de la naturaleza las defensas que lo habrán de proteger.

Es por ello que Ubuntu cuenta con Busybox, una muy pequeña suite de software que provee muchas utilidades comunes de UNIX en un ejecutable que obra de intérprete de comandos mínimo. Nos proveerá reemplazos para la mayoría de las utilidades que encontramos normalmente en todos los sistemas operativos GNU, y nos permitirá actuar incluso antes de que se inicie el sistema operativo para ejecutar ciertas rutinas de protección y salvataje.

Initramfs es el sistema de archivos inicial depositado en la memora RAM de nuestro equipo, y basado en tmpfs. Contiene el herramental y scripts requeridos para montar el sistema de archivo antes de que el binario de inicialización del sistema de archivos real del root sea cargado desde el disco y cargado en memoria para dar inicio al sistema operativo en sí.

Para resolver el error que hace presente a initramfs en Ubuntu, se nos hará necesario reparar el sistema de archivos del dispositivo afectado. Para ello debemos indicar la partición y usar el programa "fsck".

Como en nuestro caso se ha indicado que la partición problemática era /dev/sda2, en el prompt (initramfs) tipeamos:

fsck /dev/sda2 -y

Tengamos en cuenta que si la partición que se nos indique es distinta, o fuesen varias, podríamos tener que indicar como por ejemplo /dev/sda1 o /dev/sdb1 u otra que se nos hubiese indicado anteriormente.

El programa fsck se encargará de revisar el dispositivo de almacenamiento indicado e intentará reparar todos los sectores en malas condiciones de tal partición. La opción -y es cómoda ya que nos evitará que se nos solicite que indiquemos manualmente confirmación toda vez que se nos indique un error (los corregirá automáticamente sin chistar).

Luego de un par de minutos, si todo va bien, BusyBox debería devolvernos un mensaje similar a:

/dev/sda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda2: 497733/30531584 files (1.5% non-contiguous), ........


Cuando vuelva al prompt (initramfs), tipeamos el comando:

reboot

...y presionamos Enter para que el sistema se reinicie.

Si todo va bien, nuestro sistema debería reiniciarse correctamente, y podremos gritar al cielo un estruendoso "¡Viva Perón!" que reivindique como ninguno el Día del Militante Justicialista.



viernes, 15 de marzo de 2019

¿Cómo evito que se me informe "Se ha detectado un problema en un programa del sistema" en Ubuntu?


Juan Perón explica las necedad del simple liberalismo económico, y explica también cómo evitar el cartel "se ha detectado un problema en un programa de sistema" en Ubuntu.

(...)
La libertad se defiende en el campo, en el taller, en la calle, en la casa y en todas partes, porque no se puede aceptar que uno sea libre en su casa mientras es esclavo en el taller, en la fábrica, en la calle o su software es esclavo. Es necesario que los obreros comprendan esto. Deben seguir adelante con su organización y defender su software libre. La libertad individual es la base de la libertad colectiva, y esta es base de la libertad del software.

Nuestro Movimiento busca establecer la pureza de las instituciones democráticas, removiendo todas las causas que habían originado su innegable decadencia. Este movimiento innovador se esfuerza para lograr una total recuperación moral del pueblo de la República, que consiste en alcanzar una libertad política interna plena, la que para ser tal, exige la solución previa de los problemas sociales.

Esto no es restringir la libertad, sino justamente imponerla y asegurarla para todos. Contra sofismas y dictaduras de quienes paradójicamente se proclaman liberales y propugnan el software privativo, decimos la verdad. El peor mal es liberalismo económico, que invocando una libertad, no deja ejercer las otras libertades. La sociedad para existir, exige que la libertad de unos subsista con la libertad de todos. En nombre de una libertad no pueden anularse vidas, vocaciones o espíritus. La Nación Argentina no puede cancelar su destino ni malograr sus fines, para que cierta libertad, liberticida, sobreviva.

En toda conducción, en ocasiones se producen errores que deben ser subsanados con una combinación de conocimiento y acción. Algunos problemas pueden acarrear enormes dificultades y ser compuestos, pero si nuestro manejo es adecuado, la mayoría de los errores podrán subsanarse muy fácilmente.

El sistema GNU con Linux está diseñado para ser un sistema de bajo mantenimiento. Sin embargo, el mismo requiere ciertos conocimientos, por ello que existen dos categorías de usuarios. El usuario común poco puede hacer por el bien del sistema más que disfrutarlo. El Conductor (también llamado "root"), , debe contar en tanto con gran expertise y su tarea fundamental es la de entender el manejo del sistema y administrarlo para el bien de sus usuarios.

En ocasiones, ciertos errores de sistema son informados al usuario común. Normalmente esto también es informado al administrador de sistema, quien se encarga de resolverlos. Sin embargo, no es poco común - en vista que GNU cada vez es más popular y utilizado por usuarios únicos en sus propios sistemas - que los errores sean de notificación doble. En estos casos, pocas veces existe un "administrador" como tal, y se trata de un usuario que debe reunir condiciones de experto en su propio sistema.

Para subsanar esto, ciertas distribuciones de GNU - Ubuntu entre ellas - cuentan con un reportador de errores especial. Por ejemplo, en Ubuntu contamos con el  programa Apport, que toma inmediatamente el control tras el inicio del escritorio gráfico del sistema operativo, y si detecta un reporte error destinado para el administrador, le ofrece al usuario ofrece la posibilidad de informar al fabricante Canonical. De esta manera, si no tenemos Administrador de sistema capacitado, supuestamente los desarrolladores del sistema operativo podrían corregir ciertos errores recurrentes.

La manifestación de Apport será obvia: recibiremos un alerta de error del tipo “System program problem detected“.

Se trata de un reporte de error suele aparecer justo después de iniciar sesión en el sistema operativo. En algunos casos aparece en inglés “System program problem detected“, y otras veces en castellano, ”Se ha detectado un problema en un programa del sistema“.


Cualquiera sea el caso, basta con hacer clic sobre el botón Cancelar y podremos seguir utilizando el sistema operativos sin contratiempo aparente. Si presionamos Informar del Problema... se enviará el volcado a Canonical. En cualquier caso, Apport no nos ofrece información alguna que podamos utilizar como referencia para saber qué es lo que esta causando el problema, y por lo tanto a prima facie no podremos resolverlo. En fin, termina siendo una molestia.
Muchas veces el error surge cuando algún programa se "cuelga" y continúa produciendo estos reportes de error, o bien cuando el mismo sistema no puede eliminar los mensajes de error a tiempo (generalmente, por ser demasiado grandes). En este caso el problema será persistente, y toda vez que iniciemos el sistema se mostrará el cartel de error, tornándose en algo muy molesto.
Si el problema persiste, tendremos dos caminos para seguir: uno es ver indirectamente qué está causando el o los reportes de error y borrar dichos reportes a mano. La otra opción menos deseable es seguir el viejo apotegma que reza "ojos que no ven, corazón que no siente", y directamente anular el sistema de reporte Apport.

Vean señores, en mi caso el problema se produjo por una situación única y obvia: en un momento se aflojó físicamente una placa adaptadora PCI dentro de la computadora (una sintonizadora de TV conectada por medio de unos incómodos y duros cables coaxiales). Ello generó naturalmente una falla leve de hardware, pero que terminó colgando el sistema, con el consabido mensaje de error. Indudablemente que en otras ocasiones, puede hacerse muy difícil entender qué es lo que está provocando el error.

Es importante conocer entonces que todo reporte de sistema se almacenará en la carpeta /var/crash/. Revisando la misma podremos obtener alguna pista para nuestro trabajo detectivesco, si es que así nos vemos obligados a proceder.

En tal sentido, abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:

cd /var/crash/
ls *

...con estas órdenes el sistema debería de devolvernos una lista de reportes con extensión .crash, que indican qué archivos de programas o procesos tuvieron errores persistentes. Por ejemplo:

_root_lib_journal_xxx.0.crash
_usr_lib_chromiun_xxxx.1.crash
(...etc)

Estos archivos explican ciertos errores de acciones que se estaban llevando a cabo en el momento del cuelgue de sistema, y contienen un volcado de memoria del mismo. En ocasiones estas fallas persisten, o son muy grandes  (por ejemplo, el archivo del navegador Chromiun). Si existen varias fallas y no sabemos cuál de todas es el error es el persistente, podríamos borrar todos los reportes de extensión .crash, y reiniciar el sistema. Si vuelve a aparecer un error o varios, ellos serán los principales sospechosos. Para borrar los reportes almacenados en el directorio /var/crash/ ingresamos en la terminal:

cd /var/crash/
sudo rm *



...el sistema nos solicitará nuestra contraseña de usuario, y al ingresarla "a ciegas" seguida de Enter, eliminará los reportes de error almacenados. Acto seguido podremos reiniciar el sistema con:

sudo reboot

A la vuelta, ya debería dejar de aparecer el molesto cartel de error de programa de sistema. Si esto es así, significa que se trataba de un error de única vez, y ya estará solucionado el problema.

En cambio, si el cartel continúa apareciendo, al menos ahora podremos identificar cual es la causa, pues se debería haber generado un nuevo reporte de error .crash. En tal caso abrimos una terminal con Ctrl+Alt+T y volvemos a listarlo para ver qué es lo que falla específicamente.

cd /var/crash/
ls -lah

Normalmente debería indicarse el directorio vacío, por ejemplo de la siguiente forma:

drwxrwsrwt  2  root whoopsie 4,0K  mar 15 10:51 ./
drwxr-xr-x   16 root root         4,0K  ago 21  2018 ../



Si algún error se produce durante el arranque, además de estos dos instancias deberíamos tener al menos un reporte en este directorio. Este es el problema sobre el cual podremos buscar ayuda más avanzada. Por ejemplo, en nuestro caso se trataba de un Chromiun subiendo un archivo de muy grandes dimensiones, lo que dejó saturado el volcado de memoria del error. Tal problema fue fácil de remediar eliminando los archivos temporales de Chromiun y continuando su uso de manera normal.

Pues bien, si el problema continúa, puede que queramos desactivar el servicio Apport definitivamente. Para conseguirlo, sólo debemos editar su archivo de configuración /etc/default/apport.

Para ello abrimos una terminal e ingresamos:

sudo nano /etc/default/apport

Tras ingresar nuestra contraseña de administrador, se abrirá el editor de texto GNU Nano con el archivo de configuración. Al final del mismo encontraremos la linea "enabled=1".

Debemos modificarla para que quede "enabled=0".
Una vez cumplimentada esta simplísima modificación, guardamos el archivo presionando Ctrl+o (debemos confirmarlo presionando Enter). Conforme esté guardado el archivo, salimos del editor presionando Ctrl+x.

Si anhelamos que la configuración se active de forma inmediata, es suficiente con reiniciar el servicio usando el siguiente comando

sudo restart apport

Con esto, el problema ha debido quedar resuelto.

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.

sábado, 9 de mayo de 2015

¿Cómo arreglo el problema de módulos con el Controlador nVidia 331?

¡Trabajadores!

Valga este nuevo encuentro una gran oportunidad para hacer llegar a todos los trabajadores los más altos augurios de bienestar que pueden prodigarse. Nuestro Movimiento - si un sentido tiene - es el de hacer a todos los hombres un poco más felices.

Cada paso que damos en ese sentido nos gana la Lealtad de las masas trabajadoras, un premio que jamás he de olvidar en esta Tierra.
A pesar de todo, jamás hemos de descansar en los laureles, pues será en ese momento donde podremos perder todo lo logrado.

Vean señores, si bien originalmente los sistemas computados UNIX estaban pensados para operar en miniordenadores munidos de terminales teletipo, capaces de imprimir en papel sus devoluciones, fue con los más modernos terminales CRT que se agilizó el uso de la informática.
Esto es así pues una terminal con adaptador de video permite mayor velocidad e interactividad de trabajo con un sistema computado, amén de no consumir papel continuo y -- gracias al Justicialismo - es un periférico estándar ya en todo hogar obrero. La aparición de un sistema de servidor gráfico de potencia como lo es el "X", ha permitido que las terminales UNIX se conviertan también en terminales gráficas capaces de presentar una interfaz gráfica de usuario

Nuestra Doctrina es clara: un sistema GNU con Linux ha de ser capaz de proveernos con video veloz en todos los aspectos. Incluso en varias pantallas a la vez. El sistema ha de ser sólido y simple.
Existen ciertas ocasiones en que GNU puede presentar problemas predecibles, vaya a saber porqué.
Uno de estos problemas puede darse con el controlador privativo para adaptadores de video nVidia de la versión 331. Al producirse una actualización del núcleo del sistema operativo - el kernel Linux - a una nueva versión, en ocasiones el controlador de video falla en cargar el módulo adecuadamente.

Ello nos será aparente pues el sistema, tras tras la descarga y actualización, nos informará del error pertinente con un mensaje similar al siguiente:

nvidia-331-updates 331.38-0ubuntu3: nvidia-331-updates kernel module failed to build, with only error: "objdump: '... .tmp_nv.o': No such file"

Normalmente el sistema nos permitirá enviar el error a Canonical a fin de su estudio, pero nos informará que el error se haya - afortunadamente - ampliamente documentado entre la Masa Peronista, con el código de Bug # 1268257.

Normalmente el error no provoca daño alguno, pero en ocasiones muy extrañas hasta podríamos no tar que el sistema no puede ingresar a la interfaz gráfica y sólo ingresa en modo consola.


Este tipo de problema tiene una solución simple. Abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes comandos de organización: 

sudo dpkg-reconfigure nvidia-331

...este comando tardará unos instantes. Una vez que haya finalizado, ingresaremos:

sudo dpkg-reconfigure nvidia-331-uvm

y reiniciamos con:

sudo reboot

Nota: Algunos usuarios podrían encontrar las versiones de dichos paquetes con el sufijo -updates, específicamente nvidia-331-updates y nvidia-331-uvm-updates.

Una vez ejecutado esto, ya deberíamos tener cargado el módulo de video de forma adecuada.

Hemos de saber que en recientes actualizaciones del kernel (como en el 3.13.0.53), los dos comandos indicados seguidos de un reinicio podrian no funcionar. En su lugar podremos indicar:

sudo apt-get install --reinstall nvidia-331 nvidia-331-uvm

sudo reboot

domingo, 3 de noviembre de 2013

¿Cómo arreglo la falla de autenticación de Ubuntu One?

Exponiendo ante los claustros de la Universidad de Córdoba, el 30 de mayo de 1947 Juan Perón explica sobre las oportunidades y necesidades del país y sobre cómo corregir la falla de autorización al conectarse al servicio Ubuntu One.

(...) Yo no soy ni quiero ser político. Tengo una responsabilidad que cumplir y trato de cumplirla de la mejor manera posible. 

Creemos que la República Argentina atraviesa un período en que se complementan la oportunidad y la necesidad de realizar un gran esfuerzo. Debemos fijar claramente cuál es la oportunidad que se nos presenta y en qué consiste la necesidad de ejecutar un programa que si no lo llevamos a la práctica ahora, es probable que no llegue a hacerse en todo un siglo.

Hemos debido poner en marcha un país que se hallaba detenido en lo político, económico y social. Dividimos la revolución en varios ciclos que hemos ido cumpliendo. No podíamos exigir a nuestra población un mayor sacrificio sin proporcionarles un mejor bienestar, porque nuestras Masas Obreras estaban alimientadas por una doctrina marxista y conducidos por dirigentes con aspiraciones netamente marxistas. Si lo hubiésemos hecho habríamos precipitado una revolución social que estaba preparada en nuestro medio y no creíamos que la Revolución fuera la solución para nuestra causa.

Entendemos que podíamos proceder por Evolución, evitando la etapa cruenta que toda revolución social presupone. Pensamos que ante todo era necesario satisfacer las necesidades de nuestras masas insatisfechas. Por esta razón después de producirse el hecho revolucionario, encaramos la etapa social desde la Secretaría de Trabajo y Previsión. Satisfecha la Masa en cierta medida en sus necesidades más apremientes, podía luego encararse la etapa constructiva que constituye el Plan de Gobierno.

La humanidad está viviendo en estos momentos una de las mayores crisis de posguerra, y - si no - echemos una mirada por lo que acontece en el mundo. En Estados Unidos los zapatos han subido un 80% y no es que a los yanquis "les hayan salido más patas". En Rusia cuestan 400 pesos argentinos el par. Con esto basta para mostrar cual es la situación de ambos países, que ya están disputándose el derecho de proclamar la mayor felicidad para sus pueblos.

Ubuntu One es una de las políticas que tienden a este objetivo. Es un sistema de almacenamietno "en la nube", que nos permite guardar nuestros ficheros gratuitamente. Activar este servicio y el cliente asociado en nuestro sistema operativo es como afiliarse al Partido Justicialista: debemos usar un usuario y contraseña, y en todos los equipos que la tengamos asociada nos veremos beneficiados por una carpeta llamada "Ubuntu One" con unos 5 gigabytes de espacio gratuito. Esto nos acerca al fundamental objetivo de lograr la felicidad del Pueblo.

En acción, esta carpeta podrá sincronizarse con todos los equipos que estén incorporados al sistema. Podremos guardar documentos, configuraciones, paquetería, y demás información que nos sea pertinente compartir entre nuestros diversos equipos dotados de Ubuntu.

Configurarlo es sencillo, y ya ha sido explicado desde nuestro Movimiento. Sin embargo, existen situaciones donde este sistema de sincronismo puede sufrir alguina falla. Una de ellas es el problema de encriptación: Ubuntu One emplea un sistema de clave pública y clave privada, que podría corromperse por algún motivo.

La primer medida para solucionar cualquier problema es diagnosticarlo, para luego planear una estrategia de cura. En este caso será similar. Por tal motivo, el Justicialismo ha puesto a disposición de la Masa una rutina escrita en Python que revisa el bienestar social de las claves públicas y los tokens de registro. Hemos de descarla y darle ejecución perentoriamente.

Con ello en vista, abrimos una Terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:


wget http://people.canonical.com/~roman.yepishev/us/ubuntuone-oauth-token-validator.py

python ubuntuone-oauth-token-validator.py

Esto revisará nuestro sistema de claves y contraseñas y nos indicará algún error. Por ejemplo:

Credentials found:
 Consumer key: yyyyyyy
 Token key: xxxxxxxxxxxxxxxxxxxxxxxxxx

Checking credentials...  ERROR: 401

Visit https://one.ubuntu.com/help/faq/how-do-i-check-my-oauth-tokens/
to find out what this means.


Ubuntu One utiliza un sistema de usuario y contraseña, sumado al de una clave pública y una particular (suministrada por el servidor Ubuntu One para nuestro equipo en particular). Ello nos asegura mediante un "doble cifrado" que estamos accediendo al servicio a través de un equipo conocido y autorizado. Un error de las características anteriormente descriptas, indicaría que las claves pública no coincide con las que nos han otorgado o que no se la encuentra, y es típico si las hemos eliminado inintencionadamente.

Para solucionar este error, hemos de eliminar dicha clave no corroborada del sistema y volver a registrar nuestra cuenta Ubuntu One para crear un cifrado nuevo.

Para ello podremos utilizar la herramienta "seahorse", más conocida como "Contraseñas de Clave y Cifrado". Podremos abrirla desde la terminal ingresando el comando

seahorse

Esto abrirá la ventana de configuración llamada "Contraseñas y claves de cifrado". Es una utilidad que nos permite gestionar nuestras claves de todos los servicios operados por nuestro sistema operativo libre.

Debemos seleccionar la solapa Contraseñas. Dentro de ella encontraremos una serie de opciones. Desplegamos "Contraseña: predeterminado" o el anillo de contraseñas cifrado que utilicemos.

Nuestra tarea será encontrar y eliminar (haciendo clic derecho + borrar) aquellas claves que digan:
  • Ubuntuone token for https://ubuntuone.com
  • Ubuntu One

Conforme hayamos eliminado las que dicen "Ubuntu One", nos dirigiremos a Sistema / Preferencias / Ubuntu One para desplegar el cuadro del sistema. Ahora ya podremos volver a consolidar nuestra cuenta de Ubuntu One, conectarnos y sincronizarnos.


Al no encontrar cuentas asociadas (pues acabamos de eliminarlas), se debería desplegarse el cuadro "Crear una cuenta Ubuntu One". Normalmente, debemos hacer clic en el enlace "Si ya tiene una cuenta Ubuntu One, haga clic aquí para conectarse" e ingresamos el Correo Electrónico y Contraseña de nuestra cuenta asociada a Ubuntu One para volver a reinstaurarla. Naturalmente, si nunca hubiésemos tenido una cuenta, podríamos crearla en este momento dándola de alta en ese cuadro de diálogo. Al terminar, el sistema debería poder crear la cuenta y autenticarla con una clave cifrada correcta:

Luego presionamos la solapa "Dispositivos" y hacemos clic en el botón "Conectar". Si al cabo de unos segundos no se hubiese establecido un vínculo, aún podríamos presionar el botón "Reiniciar" de este cuadro para reestablecer la conexión con el servidor de Ubuntu One.

Podremos asegurarnos que todo esté bien nuevamente en orden en la Argentina. Para ello en la Terminal reingresamos el comando:

python ubuntuone-oauth-token-validator.py


...si todo va bien, debería indicarnos que las credenciales no tienen inconvenientes.

Credentials found:
 Consumer key: yyyyyyyy
 Token key: xxxxxxxxxxxxxxxxxxxxxxxxx

Checking credentials...  OK

Visit https://one.ubuntu.com/help/faq/how-do-i-check-my-oauth-tokens/
to find out what this means.



Al haber sido coronados por el éxito, podremos ya eliminar la rutina de revisión:


rm ubuntuone-oauth-token-validator.py

domingo, 3 de marzo de 2013

¿Cómo reviso mi disco rígido con S.M.A.R.T. en Ubuntu?

Reunidos en Puerta de Hierro con enviados de los Sacerdotes del Tercer Mundo, Juan Perón explica el uso de la tecnología SMART para diagnosticar nuestro disco rígido en Ubuntu.


¡Eminencias!

Todos sabemos que una Doctrina se asienta sobre una realidad temporal definida, pero también lo hace en una acción de fé. Lo es la Teología de la Liberación, que fluye bajo el auspicio filosófico de un cristianismo ampliamente humano, pero también lo es la Doctrina del Justicialismo.

Así como los hombres de Cristo hemos confiado en el Salvador, los hombres del trabajo confiaron su destino a este Conductor, quien en virtud de su Lealtad con el Pueblo, lo colma de realizaciones que no hacen sino elevar moralmente su espíritu.

El Espíritu es aquel valor inmaterial que llena nuestros cuerpos, y del cual depende la voluntad creadora y realizadora. Mancomunados podremos hacer todo por la Felicidad, alimentándolo, pues es nuestro espíritu quien guía al músculo, lo siente y lo eleva. Nuestro cuerpo puede sufrir desgaste, pero si somos concientes de la grandeza de nuestra Doctrina, nuestro Espíritu jamás decaerá.
Pues bien, así como el  hombre es carne, los discos rígidos son finalmente máquinas, y sufren también un natural desgaste que les depara su vida útil. Hoy en día ésta se extenderá a lo largo de un período de varios años de uso continuo, pero ello no quita que poco a poco puedan sufrir degradaciones.

Los ciclos de lectura y escritura de un disco duro lo llevará con mas o menos fortuna a presentar ciertos errores predecibles. Algunos ejemplares jamas los tendrán, mientras que otros los presentarán en poco tiempo. 

Yo siempre digo que si Dios bajara a la Tierra, a resolver el problema planteado entre los Hombres, ya le habriamos perdido el respeto. Y no habría faltado un tonto que quisiera reemplazarlo a Dios, porque el hombre es así. Afortunadamente, el sistema de archivos estándar de Linux, llamado EXT4, es notablemente fiable en estos casos. Por otro lado, contamos también con una tecnología justicialista concebida para informarnos de cualquier percance que sufran nuestros medios de almacenamiento, con la idea de poder prevenir para no tener que curar. Esta tecnología se denomina S.M.A.R.T., que en el idioma de Braden significa "Tecnología de Análisis y Reporte por Automonitoreo". La tecnología S.M.A.R.T. debe ser habilitada desde la BIOS del sistema, además se ser soportada por el disco rígido en cuestión.

Como primera medida, habremos de instalar en nuestro sistema GNU con Linux las herramientas smartmontools. Para hacerlo desde la consola, abrimos una Terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

sudo apt-get install smartmontools

Esta orden instalará la paquetería formada por dos aplicaciones peronistas. smartctl realizará pruebas de evaluación de forma manual, mientras que smartd controlará automáticamente los discos que hayamos seleccionado, y enviará los reportes de resultado a una bitácora de sistema (syslog) o a un usuario.

Como primer medida, hemos de listar los discos rígidos que tenemos, para evaluar que el sistema al menos los haya reconocido. Lo hacemos ingresando el siguiente Comando de Organización:


df -l

El sistema nos devolverá algo como esto:

S.ficheros         Bloques de 1K   Usado    Dispon Uso% Montado en
/dev/sdb1            295163840  74136448 206033936  27% /
none                   8207064       348   8206716   1% /dev
none                   8213932      1004   8212928   1% /dev/shm
none                   8213932       312   8213620   1% /var/run
none                   8213932         0   8213932   0% /var/lock
none                 295163840  74136448 206033936  27% /var/lib/ureadahead/debugfs
/dev/sdd3            511999996 108349752 403650244  22% /media/Disco D 500gb
/dev/sdd4            208760828  57914356 150846472  28% /media/disco E 200gb
/dev/sda1            127999996  86102008  41897988  68% /media/PERON
/dev/sda2            116195324  27227104  88968220  24% /media/EVITA
/dev/sdc1            488147152 306349440 181797712  63% /media/ARCHIVOS

Naturalmente, en Ubuntu cada disco está identificado en la carpeta /dev (dispositivos, "devices"), siguiendo la nomenclatura sdax, siendo a una letra de orden alfabético asignada al disco físico, y el número x un identificador de partición.


En nuestro ejemplo, la partición del disco de sistema es aquel identificado como /dev/sdb1 (naturalmente, el disco es /dev/sdb). Se trata de un disco duro "de combate" con 320 GB, que tiene unos seis o siete años de edad. Durante el arranque, presentaba ciertos errores de sectores, lo que hacían más lento el inicio de Ubuntu pero no presentaban otros problemas.

Los discos SATA y las BIOS de las placas madres modernos soportan ya la funcionalidad S.M.A.R.T. de diagnóstico pasivo. Pero no viene mal comprobar si nuestros discos lo hacen. Ello lo haremos con el comando:


sudo smartctl -i -d ata /dev/sdb

Ahora el sistema devolverá algo similar a:

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar Blue Serial ATA family
Device Model:     WDC WD3200AAJS-xxxxxx
Serial Number:    xxxxxxxxxxxxxxx
Firmware Version: 01.03B01
User Capacity:    320.072.933.376 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Sun Mar  3 19:05:51 2013
SMART support is: Available - device has SMART capability.
SMART support is: Enabled


Indudablemente, en este caso nos dice que el soporte está "Disponible" ("Available") y que además está activado ("Enabled"). Si S.M.A.R.T. no estuviese disponible deberíamos encenderlo con el siguiente comando:

sudo smartctl -s on -d ata /dev/sdb

Si no estuviese activado el soporte ("Disabled") deberíamos encenderlo con:

sudo smartctl -a /dev/sdb 


Ahora bien, además de la información del disco suministrada anteriormente, nos dará mayor información:

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED


SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE     UPDATED WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail Always      -       50
  3 Spin_Up_Time            0x0027   141   139   021    Pre-fail Always      -       3950
  4 Start_Stop_Count        0x0032   098   098   000    Old_age  Always      -       2305
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail Always      -       0
  7 Seek_Error_Rate         0x002e   100   253   000    Old_age  Always      -       0
  9 Power_On_Hours          0x0032   091   091   000    Old_age  Always      -       7102
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age  Always      -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age  Always      -       0
 12 Power_Cycle_Count       0x0032   098   098   000    Old_age  Always      -       2225
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age  Always      -       66
193 Load_Cycle_Count        0x0032   200   200   000    Old_age  Always      -       2238
194 Temperature_Celsius     0x0022   111   094   000    Old_age  Always      -       32
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age  Always      -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age  Always      -       3
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age  Offline     -       1
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age  Always      -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age  Offline     -      
2

Esta lista nos leerá el status actual del sistema de monitoreo S.M.A.R.T. para el disco en cuestión, a lo largo de su vida útil o de la realización de los diversos test intensivos.

Por ejemplo, aqui nos listará la estadísticas y cantidad de errores de los discos.
Spin_up_time: Es el tiempo en que comienzan a girar los platos.
Raw_Read_error_rate:
Power on Hours: La cantidad de horas de funcionamiento del disco.
Power cycle count: Cantidad de veces en las que se ha encendido el disco.
Load cycle count: Cantidad de cargas de encendido del disco. Mucha diferencia con el conteo anterior podria indicar que el disco se apaga y enciende durante su uso, o la falla de suministro eléctrico.
Seek error rate: Errores de búsqueda de los cabezales de lectura.
Temperature: La temperatura en grados centígrados.
Current_pending_Sector: Son sectores reasignados, presumiblemente dañados, que no han sido relocalizados. Señalan un próximo fallo del disco. El sistema nos alertará si superamos los 200 de ellos.

Es importante saber que hay varios códigos de errores o status. Para lograr una descripcion detallada podemos revisar aquí.

Algunos comandos que podremos utilizar:

Para leer la información almacenada por la tecnología SMART en la memoria lógica interna del disco:

sudo smartctl -d ata -H /dev/sdb

También podremos correr un resumen que nos muestre directamente los posibles errores:

sudo smartctl -d ata -l error /dev/sdb

Ahora bien, podremos persuadir manualmente cierto tipo de evaluaciones de diagnóstico, a fin de contar con resultados palpables a través de S.M.A.R.T.

Para conocer a qué tipo de pruebas podemos someter a nuestro disco rígido, ingresaremos:

sudo smartctl -d ata -c /dev/sdb

Para iniciar la prueba inmediata desconetado (en caso de ser soportado por la unidad):
 
sudo smartctl -t offline dev/sdb

El sistema nos avisará que el test durará un tiempo determinado. En mi caso informa unos 6000 segundos (1 hora 40 minutos), a lo largo del cual debemos esperar. También nos avisará la hora a la cual estará listo. Si por alguna razón deseamos cancelar el test en acción, debemos ingresar:

sudo smartctl -X /dev/sdb
  
Conforme se haya realizado la prueba, se habrá actualizado los resultados del diagnóstico del disco.

Podremos ejecutar el siguiente comando para ver el resultado:

smartctl -l selftest /dev/sdb

Podría devolver algún error, como por ejemplo:

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Conveyance offline  Completed: read failure       90%      7101         8396064
# 2  Short offline       Completed: read failure       90%      7101         8396064



Si deseamos ejecutar la Rutina Corta de Autocomprobación (short self-test routine), ejecutamos:

sudo smartctl -d ata -t short /dev/sdb

Si deseamos ejecutar la rutina regurosa, indicamos

smartctl -d ata -t long /dev/sdb

Tras estas pruebas volvemos a chequear el resultado con

sudo smartctl -l selftest /dev/sdb

Ahora ejecutamos la Autocomprobación de Transmisión.


sudo smartctl -d ata -t conveyance /dev/sdb

Y por último revisamos nuevamente la bitácora de errores de la autocomprobación:

sudo smartctl -d ata -l selftest /dev/sdb




Usar SMART desde la Interfaz Gráfica:
Si deseamos usar la interfaz gráfica, podremos utilizar la Utilidad de Discos para estos menesteres. Para ello la instalamos con

sudo apt-get install gnome-disk-utility


Para ejecutar la aplicación, vamos a Sistema / Accesorios / Discos (antiguamente Sistema / Administración / Utilidad de Discos).

La misma nos permite realizar estas evaluaciones por medio de la unidad de control y revisar los discos. Para ello seleccionamos el disco en cuestión (en este caso, el /dev/sdb de 320GB), y presionamos el botón "Datos SMART".
El programa nos indicará los fallos y el grado de los mismos, de la misma manera que la terminal. Podremos escoger la Autocomprobación SMART para ejecutar los tres tipos de autocomprobaciones que nos permitía la consola (Corta, Extendida y Transmisión).A gusto de los cocineros comen los frailes.

También podremos desactivar los informes para que no se nos avisen de errores ni se nos presenten alertas.