Archivo de la etiqueta: update

Una breve actualización general

Hola a todos, he vuelto después de un largo tiempo sin publicar nada por acá; no estaba muerto y desgraciadamente tampoco andaba de parranda.

Decidí por primera vez, en un tiempo aún más largo, que es momento de publicar un post un tanto más personal de actualización. Y es que desde que definí el tema que seguiría este blog, al principio y por mucho tiempo lo considere únicamente como un medio de consulta; que ha funcionado bastante bien, pero creo que justamente ese crecimiento implica que las cosas tendrán que ir cambiando poco a poco.

Y por cosas, me refiero a los otros instrumentos que utilizo para difundir y compartir sobre computación, software libre y tecnología; como Gitlab y mi página web, hasta ahora cada uno de estas herramientas se han relacionado poco y cada una parece tener un rumbo especial.

En los últimos años mi vida a dado varios giros; unos más bruscos que otros, y ahora creo tener un panorama más amplio y un enfoque más claro de lo que busco en diferentes aspectos principalmente en lo que quiero en mi vida profesional, que en consecuencia me ha llevado a pensar qué rumbo tendrán estas publicaciones.

Quiero compartir un poco sobre estos giros; en parte porque creo que puede ser una buena experiencia y reflexión, y para mí han sido una serie de experiencias que cambiaron mi perspectiva sobre muchas cosas.

A finales del año pasado deje el trabajo en el que estaba. Al principio todo parecía ir de maravilla; pero al final tuve varios desencantos bastante fuertes que se sumaron a otras experiencias similares que voy a resumir más adelante. Así que con toda la presión que significa el desempleo; al final me decidí a hacerlo.

Aproximadamente un mes después me encontré con mi entonces tutor de la licenciatura; tenía más de un año de haber registrado mi proyecto de tesis y tenía hecho todo el proyecto, teníamos las pruebas, tenía casi la mitad de la tesis hecha y por más de un año no había podido hacer mucho.

Aprendí a la mala que no es posible hacer una tesis con solo dos horas diarias.

Un trabajo de calidad, de la importancia y el significado que tiene una tesis, difícilmente puede realizarse con todo el esmero y calidad que merece con solo dos horas diarias. Cuando menos es un trabajo de medio tiempo. Idealmente es un trabajo de tiempo completo.

Cada vez veo más memes y comentarios acerca de la terrible cultura laboral que tenemos aquí en México. Como aquél que dice

mexico-pais-donde-no-pagarte-las-horas-extras-se-le-llama-ponerse-la-camiseta-id-ggdcg

Y es que es solo uno de los factores que hacen a nuestra cultura laboral terrible. Quizá este y el problema salarial sean los factores más escandalosos en nuestra cultura laboral, pero no son los únicos aspectos negativos; quizá solo son dos aspectos de los más rezagados en cuanto a derecho laboral.

Al principio te venden los empleos con las mejores proposiciones: horarios flexibles, bonos, valoración del desempeño, buen ambiente, etc. En cuanto te contratan los problemas suelen salir al aire inmediatamente; pero llegamos con una imagen que nos hace ignorarlos y creer que son parte del ambiente de trabajo.

Hace alrededor de 13 años tuve mi primer trabajo. Era menor de edad, mi situación familiar era complicada y conseguí un empleo en una cocina. Trabajaba duro haciendo de todo. Picaba verduras, preparaba las aguas, ayudaba a preparar la comida; salía a repartir, tomar pedidos, hacer limpieza…

Y entre todas esas actividades yo pensaba en mi ingenuidad: cuando termine la prepa me va a ir mejor. Durante el bachillerato tuve al rededor de cuatro empleos más; todos los dejé por que me exigían más tiempo del que estaba dispuesto a darles (no porque fuera un vago, sino porque me interesaba tomar mis clases y hacer mi tarea). Y en todo caso, ¿el esparcimiento no es un derecho humano? ¿una persona; independientemente de su situación económica, no tendría derecho a disfrutar de un tiempo para ella misma?

El punto es que hasta hace unos años, mis empleos casi siempre eran de medio tiempo; pero por diversas causas, llegaba un punto en el que se empezaban a convertir en trabajos de tiempo completo. Algunos de ellos los dejé también por malas condiciones laborales, principalmente el que no te den el material o la preparación necesaria para desempeñar tus tareas y por su puesto las clásicas condiciones para que te paguen a tiempo y de forma integra.

Quizá a algunos les suene extraño que exija preparación; pues se supone que se contrata personal ya capacitado para realizar sus tareas. Pero dependiendo que hagas, puede ser necesario recibir capacitación o preparación, y tu empleador debe cubrir esos gastos. De hecho en software esto es muy común, puesto que las tecnologías avanzan; así como las metodologías de uso de las plataformas y de desarrollo también cambian, todos los profesionales de las TIC y campos afines tienen derecho a recibir preparación continua por parte de su empleador (su empleador no se tiene que convertir en escuela, pero puede pagar cursos en línea, contratar consultores o a entrenadores).

Además, puesto que el tiempo de preparación es destinado a realizar sus actividades, esas horas de estudio deberían de alguna forma formar parte de las horas productivas de los empleados. De esta forma, ese tiempo no impactaría de forma directa en el tiempo personal de los empleados; y así lo puede aprovechar de otras maneras, incluyendo aprendiendo otras tecnologías que le parecen atractivas en lo personal.

De lo contrario, solo le quitamos su valioso tiempo a las personas; parece que los empleadores creen que las personas aparecen y desaparecen del universo cuando entran y salen de los espacios de trabajo; pues esas personas tienen que invertir su tiempo en dormir, transportarse de su hogar al espacio de trabajo, se tienen que preparar para salir de su casa y al regresar del trabajo; hay un gran numero de actividades que consumen una parte significativa de un día y ni siquiera forman parte de la jornada laboral.

Y si encima tienes que llegar a casa a aprender un montón de cosas de forma autodidacta, a revisar pendientes, resolver bomberazos (no me hagan empezar con los bomberazos, cualquier problema urgente o situación no prevista, es muestra de una estructura débil de la organización y su mala administración en uno o más niveles) o hacer reportes; solo se extiende el espacio de trabajo y la jornada laboral de esa persona y su vida se convierte en su vida laboral.

Creo que en cierto punto, la mayoría de las personas pasamos por esa etapa; en la que nuestra vida es nuestra vida laboral. Y eso no es sano. Al principio puede parece ser lo mejor; todo promete, pero luego las cosas se quedan en promesas. A veces  dan probaditas, como aumentos, o vacaciones o un puesto. Pero cuando lo analizas fríamente, te das cuenta de que casi siempre (en mi experiencia siempre, pero les daré el beneficio de la duda; aunque no mi confianza); es puro atole con el dedo.

Por allí escuchas que pese a tu aumento, sigues estando por abajo del promedio salarial de otras personas en tu mismo puesto. O que van a dividir tu aumento entre varias personas. Descubres que tus logros y propuestas se mancharon con el nombre de alguien arriba de ti; que solo está allí por que como tú ha habido mucho otros que cayeron en su trampa y algunos siguen esperando que se cumplan sus promesas.

Promesas vacías que se mezclan con eterno ruido de las ciudades. Al final, te encuentras con un montón de metas sin cumplir, ¿y todo a cambio de qué? La experiencia siempre es buena y se agradece, porque al final nos dan conocimiento. Pero como dicen no solo de amor vive el hombre.

Y aunado a todo esto, siempre he sentido que mi salario jamás ha reflejado el valor de mi trabajo. Y por un margen importante, aún considerando todas las prestaciones que he llegado a tener (que tampoco es que sean muchas). Al final, con toda mi preparación, cuando pongo en retrospectiva mi vida laboral; he alcanzado puestos y nombramientos bastante altos pese mi edad y otros factores, pero la realidad es que mis condiciones laborales han cambiado muy poco en los últimos 13 años. Así que ¿porqué debería seguir ese camino?

Sé que mi caso no es el de todos; pese a la realidad asquerosa de nuestra cultura laboral (pues la he confirmado con todos mis conocidos), aún es posible que una buena vida laboral trabajo, sea el resultado de una buena trayectoria escolar. Pero en todo caso, lo más importante es no dejar de aprender; porque solo el conocimiento nos hace íntegros y nos hace libres; la mejor forma de explotar tu libre albedrío es con un panorama amplio que solo el conocimiento puede aportar, para así llegar a metas más altas.

Ahora sé que quiero dedicarme por completo a la academia; donde si bien muchos de estos problemas están presentes, y existen otras formas de injusticia laboral, me he identificado mucho con el equipo con el que desarrollé mi tesis y en los últimos meses he estado colaborando con ellos en una forma que me es muy agradable.

Al final, me siento muy satisfecho y contento de haber alcanzado esta meta que me puse hace tantos años en medio de una situación complicada, titularme ha sido lo mejor que me ha pasado en mucho mucho tiempo. Una parte de mi quisiera haber tenido la oportunidad de trabajar en mi tesis tiempo completo y haber realizado más pruebas, más versiones del proyecto y un texto con resultados más contundentes; pero tuve que tomar una decisión y al final estoy satisfecho con mi trabajo.

Así que, con la nueva visión y objetivos que tengo planteados; como comenté al principio, también tengo un nuevo panorama. Así que; qué sigue, que va a pasar con este blog y las otras herramientas.

El blog puede que no tenga cambios mayores; hasta ahora me ha gustado como a ido creciendo y los recursos que ofrece, así que trataré de publicar al menos cada una o dos semanas como hacía hace tiempo. Lo que si pienso cambiar es el estilo del blog, me gusta pero la letra es muy pequeña y tengo la impresión de que tiene una experiencia ya gastada.

La página web sí pienso reformarla un poco. Redistribuir el contenido y reflejar los objetivos de este proyecto de divulgación y promoción de forma más clara en su portal. Con este post, también me doy cuenta que el sitio web es quizá uno de los lugares inapropiados para poner los consejos y hints que pretendo compartir (por ejemplo, en este post acabo de contar cómo es que un trabajo de tiempo completo y un proyecto de tesis son muy difíciles de tener en paralelo; más una pequeña vociferación sobre cultura laboral en México). Así que esa sección va a desaparecer de la página y aparecerán en formato de historias o fábulas aquí en el blog.

También, desde diciembre tengo unos vídeos sobre armado de computadoras en los que explico de forma general los componentes de la PC que armo en los videos: vamos desde qué es el software, hasta los orígenes del teclado y el funcionamiento de un monitor. No estoy seguro de cuando podrá estar lista toda la serie (son cuatro videos), pero es posible que lance los primeros antes de septiembre (tengo varios proyectos; ¿entienden mi problema en participar en proyectos con horarios indeterminados espontáneos?)

Y lo que sí va a estar apareciendo a partir de hoy (o el lunes en el pero caso), es que voy a empezar a publicar las notas sobre un curso de Android en el que estoy participando actualmente. Esto es algo que había querido hacer hace unos años; pero por distintos motivos, no es sino hasta ahora que tuve la oportunidad de colaborar en un curso llamado “Programación de Dispositivos Móviles” para la licenciatura en Ciencias de la Computación que ofrece la Facultad de Ciencias de la UNAM.

El número de borradores para este blog también ha ido creciendo durante todo este tiempo; como siempre, encuentro un tema interesante en el proyecto en el que este trabajando y empiezo a planear un post; pero por muchos de los factores que describí en párrafos anteriores, me quedaba corto el tiempo y tuve que dejar inconclusas todas esas publicaciones, pero espero en las próximas semanas también comenzar a retomarlos.

En fin, ya saque lo que tenía que sacar. Espero encuentren interesante estas anécdotas y mis ideas. Por lo pronto, es momento de comenzar a publicar las notas del curso de Android; así que, como siempre, el límite es la imaginación.

Y tu capacidad de crédito.

 

Cómo actualizar Debian de cualquier versión anterior a Stretch ( 9 )

Saludos!

Es la primera vez que lo hago, y quizá sea la primera de algunas, pero este es un repost -editado y actualizado- donde explico cómo actualizar Debian a su versión más reciente. El post original fue publicado para explicar cómo actualizar Debian de su versión 6 a la 7 (¡publicado hace 4 años!) y después olvidé mencionar que el mismo procedimiento se puede aplicar para actualizar a 8…

Para no olvidarlo y darle presencia de nuevo al post (que al parecer fue bastante útil en su momento), hago este repost; tratando de mejorar la redacción (tuve que haber aprendido algo en 4 años ¿no?) y mejorar la explicación.

Conmemoro y celebro el lanzamiento de Debian 9 Stretch con esta guía que espero les ayude a actualizar sin problemas su sistema Debian. Ya son más de cinco o seis años desde que empecé a usar Debian en su versión 6, después de varios intentos frustrados de usar otros SO basados en Linux… Incluso, después de conocer Debian traté de usar otras distros, pero ninguna me terminó por convencer. Debian es por mucho mi amigo fiel sistema operativo favorito; pareciera que no hay nada en el horizonte que pueda hacerme cambiar de opinión a corto plazo.

Desde esta trinchera felicito y saludo a todos aquellos que hacen de este sistema operativo una realidad ¡qué viva el open source! Y bien, con lo anterior dicho, pongamos manos a la obra, que esos apt-get no se van a ejecutar solos 🙂

Trivia: ¿sabias que las versiones de Debian llevan nombres de personajes de Toy Story? Stretch es el (la) pulpo morado de la tercer película que al inicio sigue a Lotso; pero se redime al final.


Antes de empezar, toma en cuenta que no hay garantías de que la actualización sea 100% exitosa. Algunos programas pueden tener conflictos al ser actualizados y puede que tengas que resolverlos de forma manual. Sin embargo, en la mayoría de los casos (o para la mayoría de las aplicaciones que uses), no debería haber problemas con la actualización.

Recomendaría hacer un respaldo de emergencia por si las dudas…


Además, les recomiendo arduamente que si tienen acceso a una red cableada de alta velocidad… ¡Úsenla!


Con las precauciones anteriores señaladas, comenzamos:

1. Es conveniente hacer una última actualización rigurosa de la versión actual que tengamos. Esto nos ayudará a evitar conflictos con las aplicaciones instaladas tras la actualización. Para esto, corremos lo siguiente en la consola y con privilegios de administrador:

# apt-get update
# apt-get upgrade

Si todo sale bien, podemos continuar. En caso de que se presenten errores, lo mejor es revisarlos y resolverlos; o la cosa se podría poner más complicada después de actualizar.


2. Migrar repositorios

Los repositorios están definidos en el archivo /etc/apt/sources.list Si no tienes el disco/USB de instalación (como es mi caso), comenta (pon un # al principio de la línea) los orígenes del disco. En el resto, trata de comprobar que existen para la versión stable.

Si en el arhcivo /etc/apt/sources.list puedes ver nombres de versiones previas de Debian (lenny, squeezy, wheezy, jessie…), es recomendado sustituir el nombre que apareza por stable. De esta manera, siempre tendrás la versión más reciente; y cuando eventualmente Debian 10 sea lanzado, puedas actualizar omitiendo este paso.

De hecho, si en lugar de ver nombres de versiones de Debian; ves puros stable, ¡puedes omitir este paso!

Si quieres apuntar rigurosamente a Debian 9, en lugar de la versión previa o stable, escribe stretch.

En mi caso; obtuve el siguiente resultado:

deb http://ftp.utexas.edu/debian/ stable main non-free contrib
deb-src http://ftp.utexas.edu/debian/ stable main non-free contrib

deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free

Nota: Puedes conservar origines con nombres de versiones previas, principalmente para mantener compatibilidad, evitar y resolver problemas con ciertas aplicaciones que causen conflicto. Esto será notorio al finalizar la actualización; si llegas a tener problemas al usar algún programa previamente instalado.


Es conveniente que los mirrors sean próximos al lugar geográfico donde se encuentre el equipo a actualizar. Por ejemplo; yo vivo en México, pero a pesar de esto, la red de la UNAM es algo lenta y prefiero usar el nodo en la universidad de Texas, EE UU. Está más lejos, pero me da mucho mejor rendimiento.


3. Actualizar los paquetes

En una consola con permisos de súper usuario; (podemos añadir el comando sudo al principio de cada comando), usamos

# apt-get update

Automáticamente deberían descargarse los nuevos paquetes.  Si obtienes un error que le dice que no es posible obtener la clave para deb-multimedia; usamos el comando apt-get install deb-multimedia-keyring y acontinuacín apt-get update nuevamente.


3. Actualizar la base del sistema

En la consola, ingresamos

# apt-get upgrade

Antes de proceder; si usas lilo, es recomendable que ingreses el comando lilo en consola. Durante la actualización, lilo puede desconfigurarse, pero llamando el comando lilo la configuración debería volver a un estado correcto.


4. Actualizar el resto del sistema.

Si usas una versión antigua de Debian, de esas que aún usaban OpenOffice por omisión; es posible que tengas problemas al actualizar, pues tu sistema usa ciertas bibliotecas basadas en Java que ya no son compatibles con Debian. Es necesario permitir al proceso de instalación (o hacerlo manualmente) que se remplacen estas bibliotecas obsoletas. De hecho, recomendaría desinstalar OpenOffice por completo antes de continuar.

Si desarrollas con Java habitualmente; no te preocupes, las nuevas bibliotecas no deberían desestabilizar tus herramientas de trabajo.

Si es el caso que usas la versión 6 o una inferior, puede convenirte agregar a /etc/apt/sources.list la siguiente línea:

deb http://ftp.mx.debian.org/debian/ testing main contrib non-free

Y dar en consola los siguientes comandos (como hasta ahora, con privilegios de súper usuario)

# apt-get update
# apt-get upgrade
# aptitude purge oppenoffice.org-common oppenoffice.org
# apt-get install
# apt-get autoremove

 

Antes de continuar, deberás comentar o borrar la línea “testing” que acabamos de agregar a /etc/apt/sources.list


Para todas las versiones: ahora ingresamos en consola y con permisos de súper usuario el comando

# apt-get dist-upgrade

Tras ingresarlo, puede que el sistema se lleve varias horas reemplazando y configurando paquetes. Si no reciben ningún error; todo ha salido bien. Sólo basta llamar al comando lilo; si es que lo usas. Si te ocurre un error, no dejes de leer lo de abajo, quizá encuentres la solución a tus problemas.


¡Listo! Ahora deberías poder reiniciar tu sistema y disfrutar de Debian 9 Stretch.

5. Para comprobar que tu actualización fue exitosa; podemos ingresar en consola los comandos (una vez que hayas reiniciado):

$ lsb_release -a

La salida del comando, debería informarte que estás en Debian 9.


Cómo comenté antes, haber modificado el archivo /etc/apt/sources.list usando stable en lugar de un nombre fijo de versión, nos permite actualizar Debian de forma más flexible, por lo que en el futuro, para actualizar Debian 9 a la versión 10; debería ser posible usando este mismo tutorial saltando el punto 2 (todos los demás son importantes).


UPDATE

Agrego algunas posibles causas de error al actualizar:

  • Elimina software obsoleto incompatible (de ser posible, sino tendrás que intentar parcharlo). Puedes ayudarte del comando # aptitude search ‘~o’ Este nos dará una lista de software programas que han sido eliminados de los orígenes. Para cada uno de los programas en la lista deberemos ejecutar # apt-get purge nombre_programa
  • Elimina orígenes que no den respuesta o conflictuen con paquetes nuevos.
  • Si obtienes un 404 al hacer # apt-get update en algunos paquetes, es posible que el origen que estés usando no se haya sincronizado por completo y debas esperar hasta 24 horas tras haber obtenido el error. Si tras 24 horas aún obtienes un 404, puedes intentar:
    • Descargar el paquete (.deb) no encontrado manualmente desde otro origen e instalarlo con # dpkg -i paquete.deb
    • Cambiar de origen.

¡Debian 9 está increíble!


Vaya, hace cuatro años todavía no inventaba mi feo slogan y terminaba mis publicaciones de golpe, cómo ha pasado el tiempo… Pero ahora existe y me despido como siempre:

Que el límite sea la imaginación. Y que el proyecto Debian siga creciendo.

Debian: Cómo restaurar GRUB en un sistema multiboot

Hola a todos!

Acabo de platicarles sobre cómo solucioné el problema del arranque en Windows tras haber modificado las particiones de mi computadora. Sin embargo, esa no fue toda la historia, ocurrió otra cosa de la que quiero platicarles. Antes de apagar el sistema mientras ejecutaba el disco vivo (DVD con Kali Linux), decidí ejecutar un “update-grub2” para precisamente evitar lo que pasó con Windows pero a nivel de todos los otros sistemas operativos (antes solo Debian 8 Jessie y por cuestiones del proyecto que les comenté de videojuegos, ahora también Android 4.2.2 JellyBean en una cuarta y última partición).

Sin embargo, al montar la partición con Debian, sda2, y entrar a chroot, no podía ejecutar update-grub2, ni siquiera update-grub ni tampoco llamándolos directamente desde /mnt/usr/sbin/update-grub*

update-grub: orden no encontrada

¿Cómo solucionar este problema? Resulta que tenemos que ser mucho más específicos que sólo montar la partición donde está instalado el sistema operativo que maneja Grub (en mi caso sda2 con Debian). Hay que montar directorios adicionales y copiar un archivo de configuración, que nos permitirán eventualmente ejecutar el update-grub2 dentro de chroot. El procedimiento es el siguiente: (recuerden que necesitamos tener privilegios de súper usuario para ejecutar todos estos comandos sin problema)

  • Hacemos “fdisk -l” para identificar nuestra distribución Linux que maneja Grub (en mi caso sda2 que contiene Debian 8).
  • Luego ingresamos esta serie de comando: “mount /dev/sdXX /mnt && mount –bind /dev /mnt/dev && mount –bind /proc /mnt/proc && mount –bind /sys /mnt/sys && mount –bind /dev/pts /mnt/dev/pts && cp /etc/resolv.conf /mnt/etc/resolv.conf && chroot /mnt”. En sdXX hay que reemplazar XX con el medio y partición donde se encuentre el SO que maneja Grub (en mi caso a2, para completar sda2). Notemos que al final debimos de haber entrado a chroot sobre dicha partición.
  • Ahora que estamos en chroot, hacemos “update-grub2”, o “update-grub”. Debería correr sin problemas.
  • Salimso de chroot “exit”
  • Desmontamos todo “umount /mnt/dev/pts && umount /mnt/dev && umount /mnt/proc && umount /mnt/sys && umount /mnt”
  • Reiniciamos el equipo “reboot”.

¡Y listo! Grub debería cargar todos tus sistemas operativos como lo hayas configurado por última vez de manera exitosa.

Este método debería ser efectivo para recuperar Grub en un sistema que utiliza cualquier distribución(es) de Linux y algún(os) otro(s) SO. La única condición es que el disco vivo que usemos para restaurar, sea de una distro basada en Debian (Debian, Ubuntu, Kali, Knoppix…)

El procedimiento lo encontré tras un rato de frustración en los foros de ubuntu.

Espero les sea de utilidad.