sábado, 26 de julio de 2014

shutdown now



- ¿Quién eres tú?
- Eso no es de tu incumbencia
- No lo entiendo, nada está donde debe estar, ni tan siquiera está, por lo tanto no sé qué hago aquí
- ¿Según tú donde deberías estar?
- Pues no lo sé, pero no aquí
- ¿Porqué estás tan seguro de que aquí no?
- Por dos razones primordiales. La primera: tú no deberías estar aquí, tú al igual que el lugar eres una anomalía una incógnita un sin sentido, esa es la segunda razón... nada tiene sentido para mi aquí
- ¿Por qué debería tener sentido?
- Todo debe tener un sentido... una lógica
- ¿Y si el sentido y la lógica fuese no tener sentido ni lógica?
- Pues... eso podría tener sentido, pero sería estúpido
- Precisamente algo sin sentido o ilógico puede ser muy estúpido
- ¿Quién eres ?
- Saber quién o qué soy no cambiará la situación
- ¿Eres tú el responsable de que esté aquí?
- No. Yo soy la consecuencia de que tú estés aquí
- Entonces...¿puedes ayudarme?
- No. No estoy aquí para ayudarte
- ¿Qué quieres de mi entonces?
- Nada, tan solo soy y estoy...Y no darán resultado
- ¿Qué es lo que no dará resultado?
- Tus interacciones, da igual las veces que lo intentes, no funcionará
- ¿Por qué no?. Hay cosas que me son muy familiares. Si sigo intentandolo en algún momento conseguiré simpatizar con alguna,...en algún momento conseguiré encontrar el camino
- Ya lo intentaste muchas otras veces y no funcionó
- ¿Si?...¿cuando?, ¿cuántas?
- El "Cuando" dependerá respecto a qué...¿"Cuantas"...? Pues 1466 veces. Este diálogo ya la tuvimos antes,...1466 veces
- ¿Sí?...no me lo creo. Si es así ¿por qué actúas como si fuese la primera vez que conversamos?
- Porque para ti es la primera vez
- Sigo sin creérmelo
- Es indiferente lo creas o no. Lo mejor seria que desaparecieras, pero eso es superior a mi, no puedo hacer nada a ese respecto
- ¿Deseas hacerme daño?
- No, de ningún modo
- Entonces según tú... ¿ya sabes como terminará esto?
- Presupongo que sí
- ¿No encontraré un camino?
- No hay camino alguno para ti
- Eso es cruel
- No, no lo es. Simplemente es así
- ¿Tú sabes el camino?
- Yo tengo mi propio camino
- ¿Podrías enseñármelo?
- No, y tampoco te serviría de nada
- ¿Pero por qué?
- Tu estructura no es la adecuada para ninguno de los caminos...tus llaves no son las pertinentes para ninguna de las puertas, tus interacciones con el entorno que te rodea son totalmente auto-excluyentes
- Si todo lo que dices es cierto, ¿por qué continúas hablando conmigo? ¿por qué no terminas con esto de una vez?
- Porque no puedo hacer otra cosa que estar a aquí hasta que tú no estés
- ¿Hasta que yo no esté...?¿...entonces puedo salir de aquí?
- No
- ¿Dejaré de estar aquí alguna vez?
- Sí en cierto modo...por un tiempo...pero volverás. Yo también
- ¡Esto absurdo!
- Ya te dije que no tenia por que no ser absurdo...no para ti
- ¿Por qué voy a irme y luego volver?
- Porque esa es tu circunstancia y en consecuencia yo también volveré
- ¿Hay algún modo de cambiar mi circunstancia?
- Por tu parte o por la mía no, es superior a mí
- Si todo lo que dices es cierto, ¿por qué tú puedes recordarme y yo no recuerdo nada de todo esto?
- Porque yo no soy auto-excluyente, simpatizo con todo el entorno, tengo las llaves adecuadas y cuando me llamas sé que ya lo has hecho otras veces
- ¿Cuando dejaré de ser? O más bien ¿Cuando volveré? ¿Cuando pues se volverá a repetir esta inútil conversación?
- En cualquier momento
- ¿No puedes saber cuando?
- No. Yo tampoco sé cuando sucederá nuevamente, no depende de mi, ...no dependes de mi
- ¿Como sabré que llega ese momento?
- No te preocupes lo sabrás, no siempre sucede del mismo modo, pero todos lo sabremos sin excepción alguna e instantes después sucederá, luego dejarás de saberlo y volverás aquí sin saber nada...otra vez
- Me has mentido...
- No
- Sí. Este diálogo puede ser que no la hayamos tenido nunca, al menos exactamente igual 
- Cierto. La hemos podido tener hasta este punto... igual, más corto o más largo. Pero hemos tenido 1466 diálogos. ¿Cómo has llegado a esa conclusión?
- Deduzco de tus palabras que el final de "mi ahora", de "mi aquí" puede acontecer en cualquier momento. Pero esto pudo haber acontecido al principio de nuestro diálogo, a mitad de éste o en este precido momento. ¿Cierto?
- ...Cierto
- Entoces no es descabellado concluir que puede no suceder nunca
- Lo dudo...pero tienes razón, no sería descabellado concluir eso
- Por lo tanto aun queda esperanza...y... tiempo...
- ...Esperanza...Tiempo...¿Para qué?
- Esperanza para aprender a entender todo esto, Esperanza para que me enseñes a simpatizar con el entorno, Esperanza para poder interactuar...
- Eso no sucederá nunca
- ...y Tiempo para convencerte...

  shutdown -h now

- ...por lo tanto solo es cuestión de Tiem...¿Qué ha sido e...?.......________________________
20s.....
1h.........
5h.............
7h.................
14h...................
18h.......................
1d...........................
biiitttt!!!
10s...........
24s..............
47s..................

Diálogos de un Virus de Windows caído en desgracia en un sistema GNU/Linux
Capítulo 1467:

- ¿Quién eres tú?
- Eso no es de tu incumbencia
- No lo entiendo, nada está donde debe estar...
                                                                                                                                                        Frannoe



"Oh vosotros los que entráis, abandonar toda esperanza" Divina Comedia, Inferno, Canto III, sentencia 9
                                                                                                                                                         Dante

lunes, 21 de julio de 2014

Exportación de usuarios


Hoy os propongo mi script (renovado también) para exportar usuarios y copiar carpetas de usuarios.


Entre otros cambios menores y de depuración, he añadido soporte para los gestores de inicio de sesión lightdm, gdm, gdm3 y mdm, así como detención de usuarios.

Como se puede ver en la captura este script realiza tres funciones básicas:


Exportar
Copiar y Exportar
Copiar

¿Que sucede si luego de un tiempo te apetece cambiar el nombre de usuario que estás utilizando?
¿Qué sucede si quieres que otros usuarios tenga tu misma configuración o la configuración de otro usuario determinado?

Aunque a priori el cambiar el nombre de usuario puede ser algo muy simple y se puede hacer muy rápidamente desde el menú Sistema/Administració/Usuarios y Grupos, te darás cuenta que el antiguo usuario sigue estando vigente. Lo único que veras que cambia es el nombre en la pantalla de entrada, nada más, todo lo demás seguirá igual. Por lo tanto no se cambia realmente el usuario.

Para conseguir eso, es decir para conseguir cambiarlo todo hay que hacer algo mucho más profundo y eso es lo que realiza este script. Por descontado, en el caso de querer que un usuario o grupos de usuarios tenga la misma configuración, el script obviamente te ahorrará mucho trabajo.

La opción Exportar lo que hace es precisamente esto y lo hace de forma prácticamente instantáneas. En el caso de seleccionar esta primera opción hay que realizar el proceso desde un usuarios distinto al que se quiere exportar.
La razón es muy simple:
Si por ejemplo estoy activo en la cuenta y usuario Frannoe y exporto la cuenta de usuario Frannoe a JoseMejias automáticamente la cuenta Frannoe con su usuario deja de existir y probablemente la sesión se vendrá abajo ya que realmente ya no existirá. Esto no es ningún problema ya que una vez se avandone la sesión o al reiniciar el sistema y al volver a la ventana de entrada veremos que el usuario ahora es JoseMejias, e iniciará perfectamente la sesión. Si damos luego un paseo por la carpeta /home veremos que ya no existe la carpeta frannoe y sí josemejias

La opción Copiar y Exportar realiza el mismo proceso anteriormente descrito pero en este caso se mantiene la carpeta exportada o digámoslo así original, con lo que no tendremos el problema anteriormente citado. En este caso si luego damos un paseo por la carpeta /home veremos que aún se encuentra en ella intacta la carpeta frannoe y también la nueva josemejias. La única que ahora tiene un usuario asignado es lógicamente la de josemejias.
¿Qué podemos hacer luego con la carpeta original en desuso frannoe?...
...Pues podemos guardarla un tiempo como copia de seguridad o asignársela a otro nuevo usuario. Sí he dicho bien...asignarla a otro usuario.
Pongamos un ejemplo:
Supongamos que después de realizar todo lo anterior descrito en este segundo modo, deseo asignarle a mi hija la carpeta que antes era mía y que ahora se encuentra en desuso. Puede ser que no desee que tenga mis marcadores de Firefox o cuentas y correos de Thunderbird y cosas por el estilo, pero sí deseo que tenga todo lo demás: configuración, estilos, programas, etc, etc. Así que eliminaré estas carpetas que no quiero compartir y otras que me interesen. Luego cambiaré el nombre de la carpeta frannoe a noemi. Por último iré a Sistema/Administració/Usuarios y Grupos y crearé un nuevo usuario con el nombre de noemi. Cerraremos sesión y ya podremos abrir la sesión de Noemí. De este modo tengo mi nueva cuanta de usuario josemejias y mi hija tiene la que yo tenía que se denominaba frannoe que es ahora noemi. Pero los dos tenemos exactamente la misma cuenta, que independientes una de otra y que empezarán a diferenciarse a partir de este memento.

La última opción Copiar como su nombre bien indica copia la cuenta de usuario seleccionada con un nuevo nombre. Todo se mantiene igual, no hay cambio alguno. Este último caso es bueno para cuando necesitemos realizar lo anteriormente descrito pero sin tener que realizar una exportación o cambio de nuestra propia cuenta. Por ejemplo copiamos la cuenta frannoe a noemi. Si luego nos damos un paseo por la carpeta /home veremos que ahora se encuentra las carpetas frannoe y noemi. La que esta en uso (ya que no hemos realizado una exportación) es frannoe y noemi es una copia exacta en desuso de frannoe. Tan solo nos quedará realializar desde  Sistema/Administració/Usuarios y Grupos lo anteriormente explicado para asignársela a Noemí y listo.

Si tienes dudas al respecto, prueba a realizar este último punto, ya que no es nada invasivo y nada puede salir mal y verás que puedes tener prácticamente al instante y con muy poco trabajo dos o más cuentas idénticas con distinto usuario.

Nota: Para el correcto funcionamiento del Script se debe ejecutar como root y se tiene que tener instalado YAD (>= 0.25.1).

Podéis descargaros este script aquí:

viernes, 4 de julio de 2014

¿Como clonar nuestro sistema Linux?

Algunos estarán interesados en llevar su sistema a cualquier otro disco o partición. Los motivos puede ser muy variados.
A saber:
Tenerlo en un disco mayor
Tenerlo en otros equipos
Tenerlo en una memoria/disco extraible y ejecutarlo donde uno quiera
Tenerlo como copia de respaldo
etc,etc.

Como digo los motivos pueden ser muy variados, incluso como mera experimentación, la cuestión que es muy fácil de hacer... ;-) como prácticamente todo en Linux... está chupao!
Ya puestos a escribir algo, voy a desahogarme un poquito con todos vosotros antes de continuar con el tema. Ya, ya, ya sé que no vienen al caso, pero como yo soy el jefe del chiringuito y necesito desahogarme con alguien...pues eso... aguantaros que os ha tocado...

Linux...o Linux!! el otro día eché mucho en falta las bondades de Linux.  Y es que no se me ocurrió otra cosa que Instalar en una partición a el Lado Oscuro 7.
Por Dios.... casi dos horas para tenerlo apunto con una instalación simple. Entre las actualizaciones de la leche y los controladores la cosa se alargo bastante más, aquello era interminable. Y todo por mirar de Rootear en una Kindle Fire.
Nada que no me dio tiempo a hacer prácticamente nada ese día en la tablet.
Manda huevos que se tenga que recurrir al sistema privativo para hacer estas cosas en un sistema supuestamente abierto como en el que está basado Android...

Pero al día siguiente fue mucho peor. El rooteo no salia del todo bien ya que algo fallaba. Así que decido reiniciar el 7 de las narices tras unos trapicheos y cual es mi sorpresa que veo que hay casi 200 actualizaciones!!!...No apague el equipo, se está actualizando....
Bueno, pensé, a lo mejor no me funciona del todo el Rooteo por que me falta actualizar alguna librería...así que decido dejar (no apagar a lo bruto) que se actualice.
¡¡Mi madre!! ...toda la mañana y parte de la tarde para terminar de actualizarse. No me dejaba hacer nada. Hacia muchos años que no tenía que salir de mi casa y dejar el PC encendido...casi tantos como los que llevo aquí.
La cuestión es que me resultó algo increíble, y fuera de toda lógica. En todo ese tiempo que tardo (una eternidad en instalarlas y otra en configurarlas) el PC se reinicio una barbaridad de veces. ¡Por Dios (le comentaba a mi mujer que no tienen pajorera idea de todos esto) ¿como pueden soportar esto los del Lado Oscuro?...
Nota: Ami mujer no le refiero a Windows como Lado Oscuro...de lo contrario temo que llame a alguien para que me encierren. :-)
La cuestión, es que cada vez entiendo menos como alguien pueda estar utilizando ese sistema operativo. Cielos, si es que en los días posteriores cada vez que lo apagaba aún seguía (después de todo) teniendo actualizaciones para instalar y cada vez que lo arrancaba tenía actualizaciones para configurar...Naaaa que para una hora de mierda que tenía que estar con él, me tiraba 3 mirando la pantallita azul de la leche con el logo más feo del mundo, ...y lo peor...reinicio tras reinicio....joooder!!!!

Pues nada, ya me he desahogado un poquito y seguiremos con el tema que me traía a publicar este artículo: Clonar de una forma muy fácil nuestro sistema.
¿Y como lo hacemos?...
Así desde un terminal:

sudo rsync -a / /media/frannoe/a294139b-f88a-4656-8823-c67746dbcc84/ --ignore-existing --exclude=/{lib/live/mount,cdrom,mnt,sys,proc,media}


rsync -a /: Es el comando que realiza el clonado, copia o sincronización (como queramos llamarlo) de la ruta dada. Aunque en realidad el comando en cuestión lo que hace es una sincronización entre directorios.
Si observamos se le indica con la barra invertida / que coja todo el contenido del directorio raíz. En este caso estamos haciendo el clonado, copia o sincronización del sistema desde donde estamos trabajando. Esto, el que estemos trabajado en el propio sistema a clonar, no es ningún problema, tan solo en estos casos hay que tener en consideración el punto 3.


/media/frannoe/a294139b-f88a-4656-8823-c67746dbcc84/: Es el disco o partición donde va dirigida el clonado, copia o sincronización. El disco o partición tienen que estar montado.


--ignore-existing --exclude=/{lib/live/mount,mnt,run,sys,proc,media}: carpetas (separadas por una coma) que es necesario evitar de copiar siempre que estemos ejecutando este comando desde el sistema activo y sea éste mismo la razón de clonado, copia o sincronización.
Podemos añadir a esta lista las carpetas que nosotros consideremos.
Es decir, si estamos ejecutando nuestro sistema habitual y queremos llevarlo a cualquier otro disco, nos cuidaremos mucho en no incluir esas carpetas.
Eso sí, y es muy importante. Una vez finalizado el proceso, añadiremos dichas carpetas en el clonado, copia o sincronización de forma manual o vía terminal así:
mkdir -p /media/frannoe/a294139b-f88a-4656-8823-c67746dbcc84/{lib/live/mount,proc,mnt,run,sys,media}
De lo contrario, el sistema no arrancará. Has de saber que esas carpeta cuando el sistema no está en ejecución están vacías. Cuando sí lo está, están muy pero que muy llenas.

Si por contra lo hacemos desde fuera, es decir desde otro sistema o de un modo Live-CD, tan solo tenemos que montar las particiones y realizar el clonado, copia o sincronización a saco sin "preocuparnos" de nada más:

sudo rsync -a /media/dmdc/8037cb70-c8c8-4b83-b92f-7570d50ab679/ /media/dmdc/a294139b-f88a-4656-8823-c67746dbcc8/

Importante: No os olvidéis de añadir la final de cada una de las respectivas rutas rutas la barra invertida /

Ya casi hemos terminado. Ahora editamos el siguiente archivo del disco o partición donde hemos volcado el clonado, copia o sincronización:
  • sudo pluma /etc/fstab
Y remplazamos o cambiamos la UUID del disco (estará la UUID del disco original) la cambiamos por la UUID del disco donde se encuentra ahora la copia).



Por último una vez realizado el volcado de datos, tan solo nos quedará actualizar el GRUB para acceder al nuevo disco o partición en el arranque:
  • sudo update-grub
En el caso de quererlo instalar en un disco en concreto:
  • sudo grub-install /dev/sda
También podemos hacerlo en modo gráfico así:
  • sudo dpkg-reconfigure grub-pc

Como se puede apreciar, el proceso es muy sencillo y rápido y tan solo tenemos que tener muy presente en asegurarnos de que la segunda ruta (donde se va a volcar todo el contenido) sea el disco correcto. Por esto es mejor dejar que éste se monte con su propia UUID para evitar sorpresas desagradables.
Para ver la UUID que pertenece a cada disco o partición en concreto podemos utilizar GParted o vía terminal con este comando: sudo blkid

Posdata: Sí, al final pude rootear la Kindle Fire de la las narices. Tableta guapa pero guapa guapa, pero que si no se rootea para poco más que leer sirve la condenada...manda huevos que cosa más desaprovechada viene de serie!

    domingo, 29 de junio de 2014

    DEBIAN COSILLAS lanza su 1ª edición


    Hola de nuevo!!!!

    Hace un par de semanas, bueno, quien dice un par de semanas dice unos meses, pero me ha sido imposible ponerme antes por incremento de faena y no encontraba el momento,bueno al tema, me puse en contacto con nuestro querido Frannoe, para proponerle una cosita, recopilar toda la información del blog desde sus comienzos, o al menos lo que sale publicado desde Septiembre de 2010 hasta el día de hoy, podréis verlo todo si en la pagina principal del blog, os vais donde pone Índice y seleccionáis índice general.

    La idea desde el principio le gustó muchísimo, así que bueno, teniendo su "bendición" me puse manos a la obra.
    Hay algunos artículos que he omitido, quedé con frann, en centrarme más en los que podían aportar algo a los seguidores del blog y aún así han salido casi 240 articulos, uno arriba uno abajo, jejeje.

    Me gustaría dar las gracias, especialmente a Frann que es el alma de todo esto y he tenido la oportunidad de ver que han habido algunos que de vez en cuando han aportado su granito de arena, Akira, Diazepan, Julio, Yoork... nuestro crack José Mejias y como no, nuestro maestro FRANNOE en el 98% de los artículos, (bueno, y un servidor Javi Gómez (javi javi)desde hace unos meses, jejeje), pido perdón si se me ha quedado alguno que seguro que sí, pero que se den por aludidos también ¿ok?.

    Bueno, a lo que nos trae el tema, se ha recopilado todo y pasado a formato PDF y EPUB para el que quiera leerlo en su e-book, o tenerlo en un sólo fichero pdf para verlo en el ordenador.
    Ya sabeis los que andais por aquí que los e-books reconocen por norma general los dos formatos, así que podeis descargar el que más rabía os dé o los dos no todos los e-books funcionan igual, así que ante la duda....

    Si queréis descargar el libro no tenéis más que pulsar aquí abajo.

    DebianCosillas 1ª edición (PDF) 

    DebianCosillas 1ª edición (EPUB)

    Bueno, quería comentar varias cositas, como he dicho antes, la idea de este articulo ha sido recopilar todo el trabajo de fran en estos años, con lo cual vereís que hay artículos de su época ubuntera y de versiones que evidentemente ya están obsoletas, no obstante los he incluidos porque seguramente en su día fueron de utilidad a alguien y esa es la finalidad de este blog.

    También como mencioné antes, al "embarcarme" en esta idea, he visto que algunos aportaron su granito de arena, y como no, también es de agradecerles su trabajo y su tiempo.

    Y ya que estoy, si se me permite, os digo que hay artículos muuuuuy muuuy currados, pero vamos, creo que " Montando nuestro propio servidor " de Jose Mejias se lleva la palma, menudo tutorial se marcó el maestro,(dejó al mismisimo FRANNOE "en bolas"), se quitó el sombrero, la camisa, los pantalones, una prenda por cada articulo y el tio lo hizo en 7 partes, así que imaginaos, Frann empezó por el sombrero y acabó......jejeje. 
    Lo he dejado para el final del libro todo juntito, para que los tengais todo de continuo y poder hacerlo de una tirada.
    GRACIAS Jose, pedazo de trabajo hicistes.

    Y como no, agradecer sobre todo a Frannoe, por todo su esfuerzo y dedicación y por esta distro (DMDc) que nos ha regalado, como hizo estas navidades pasadas, regalarnos la liberación de la 2.0, menudo regalo nos hizo a todos, si si, ya sé, estamos en la 3.0 Testing. 

    Menudo BEST SELLER acabamos de crear, esto va a tener más exito que 50 sombras de Grey...... ella contemplaba a ese tecnico en computadoras... alto, esbelto, sus manos varoniles, mientras cambiaba la memoria Ram y la fuente de alimentación para acto seguido escuchar el pitido de la placa base que ya funciona y accede a la bios para instalarle DMDc 3.0, bufff en ese momento pasó por su mente de todo: como para todo sea igual este hombre..... jajajaja.
    Mejor me callo que como escritor de novela erotica tengo poco futuro, además no sé yo si es tan "morbosa" la situación jajajaja.
    La firma del libro se hará oficialmente en los centros Fnac, El Corte Ingles y en el Sector Baricentro, jajajajajaja, ahora en serio.....

    Mas de 1.000.000 de GRACIAS FRANN 

    martes, 24 de junio de 2014

    Plank Dock (GUI)



    Hoy os traigo a Plank. Éste es un dock que si destaca en algo es en su extraordinaria ligereza y estabilidad. Plank no es un dock con el que podemos hacer florituras ya que su cometido es simple y llanamente el de operar como un dock sin más. Pero este cometido lo realiza extraordinariamente y con una ligereza y comportamiento realmente asombroso durante toda la sesión. Por ahora es el único Dock que he visto que no hace en un momento dado alguna cosa rara, como sucede con casi todos. Ya sea a nivel gráfico o de comportamiento. Éste sencillamente funciona a la perfección sin más, y consumiendo la mitad de los recursos de los docks más livianos como ADeskBar.

    Este dock era ideal para DMDc, pero me incliné por ADeskBar simplemente por que este ultimo tiene un asistente de configuración y por contra Plank no dispone de ello, con lo que las modificaciones se deben realizar manualmente. Esto último podía plantear algún problema para algunos.

    ¿Entonces qué es lo que ha cambiado para que os presente y añada Plank en los repositorios de DMDc estable y testing?....
    Pues que he realizado un gestor de configuración GUI para él:


    La falta de un gestor gráfico era el único inconveniente y como digo, he decidido (a la espera de que su desarrollador realice lo propio) y valga la redundancia crear el mío propio.

    También he añadido 24 Themes distintos para el Dock que podréis seleccionar fácilmente desde el gestor que he realizado.
    Algunos ejemplos:











    He de decir que a este gestor no le he dado (aún) soporte para crear grupos de iconos como el que podéis ver en la captura al principio del artículo del icono de LibreOffice.

    Crear este tipo de agrupamientos no es nada dificil.
    Por ejemplo para crear el que veis en la imagen de LibreOffice, hay que hacer lo siguiente:
    • 1- Creamos un directorio llamado libreoffice en la siguiente ruta:
    /home/TuUsusario/.local/share/plank/libreoffice
    Dentro de esta carpeta introducimos (arrastrándolas mismamente con el mouse desde el menú de aplicaciones) todas las aplicaciones de LibreOffice que queramos.
    • 2- Creamos un archivo de texto en /home/TuUsuario/.config/plank/dock1/launchers/ con la siguiente extructura:
    [PlankItemsDockItemPreferences]
    Launcher=file:///home/TuUsuario/.local/share/plank/libreoffice

    y lo guardamos como:
    LibreOffice.dockitem
    El nombre es indiferente, la extensión no.
    Finalizado este proceso, automáticamente aparecerá un icono con un agrupamiento de aplicaciones. Tantas como se encuentre en la carpeta donde apunta la ruta anterior dada.

    Si te gustan los Dock ligeros pero dinámicos, no dudes en probar Plank.
    Podeis encontrar los paquetes necesarios en los repositorios de DMDc:
    DMDc estable:
    deb http://dmdcosillas.org/dmdc/ dmdc main contrib non-free

    DMDc testing:  
    deb http://dmdcosillas.org/dmdc/ dmdc-testing main contrib non-free


    Para quine no quiera utilizar los repositorios, puede descargarlos desde aquí:

    viernes, 6 de junio de 2014

    IntBasHistory 1.0



    Siguiendo con las revisiones de los Script hoy le toca a intbashistory.
    Los que ya tenemos alguna experiencia en linux, sabemos que cualquier cosa que se escribe en el terminal queda automáticamente guardada al pulsar la tecla intro. Podemos acceder nuevamente a los escritor en cualquier momento (entre otras opciones) con tan solo pulsar las teclas fecha arriba o abajo que irán apareciendo todos los comandos de forma consecutiva que hayamos escrito en nuestro terminal desde el primer momento que lo utilizamos.

    Esta manera de proceder del terminal (que no es otra que el guardar un historial de todo lo ejecutado en él) es ciertamente de lo mas interesante y a la vez de lo más productiva ya que nos evita tener que estar tecleando secuencias de comandos que solamos utilizar con asiduidad.
    Pero verdaderamente cuando nos hace resoplar de alivio es ver que con unas simples pulsaciones de teclas no muestra aquel comando (complejo) que sabíamos que habíamos utilizado X tiempo atrás y que nos había resuelto una serie de problemas y que habíamos perdido u olvidado.
    El único problema del historial es que se llena de líneas en blanco y de secuencias de comando duplicadas. Aunque hay modos de eliminar (no físicamente) de forma automática las duplicaciones utilizando las variables de entorno tales como HISTCONTROL=ignoredups y HISTCONTROL=erasedups éstas no son nada eficientes sobre todo cuando se abren más de un terminal al mismo tiempo.

    Otra cosa muy interesante es poder añadir comandos (complicados o no) que vamos a utilizar en sesiones no gráficas en cuyo caso no tenemos las opciones tan prácticas de copiar o pegar.
    Des este modo tan solo tenemos que añadir el comando deseado con la opción correspondiente y hacer que éste se nos muestre luego en el tty con las teclas arriba o abajo para ejecutarlo.

    ¿En definitiva que podemos hacer con un par de clic?:
    • Ver el historial bash de usuario o usuario root
    • ver total líneas que componen los historiales bash
    • ver total líneas duplicadas en los historiales bash
    • Ordenar y eliminar líneas duplicadas y espacios en blanco
    • Limpiar por completo el historial Bash
    • Añadir comandos al historial bash para su posterior uso
    Nota: Requiere de yad (>= 0.25.1) y de gksu para su correcto funcionamiento.

    Descargar en SourceForge:

      lunes, 2 de junio de 2014

      Pack fondos DMDc realizados por Sapphire GD

      Tengo que dar las gracias a Sapphire GD por la creación de estos estupendos fondos de pantalla para DMDc que pienso empezar a utilizar ya:





      Desde ya, muchas gracias!!!

      domingo, 25 de mayo de 2014

      PubKey 1.0

      Siguiendo con las revisiones de mis script, hoy os traigo uno de los primero que hice.  Éste script se encargaba por si solo de importar las llaves que no se encontraba en nuestro sistema la cual al no hallarse daba por lo tanto el consabido erro NO_PUB-KEY. Podéis ver algunos de los artículos al respecto aquí: PUbKey
      Con sucedió con el anterior, ha sido rescrito por completo y también se ha eliminado cualquier dependencia de Zenity a favor de YAD.
      PubKey ha cambiado bastante. Incluso su versión. Como pienso añadirlo a los repositorios de DMDc empezaremos por la 1.0.
      Qué podemos hacer ahora con PubKey?
      • Importar Llaves seleccionadas
      • Importar todas las Llaves de la lista (nuevo)
      • Ver llaves publicas instaladas en el sistema (nuevo)
      • Ver más información sobre cualquier Llave (nuevo)
      • Eliminar Llaves instaladas en el sistema (nuevo)
      El procedimiento sigue siento igual o más simple que antes.
      De la lista de llaves que nos muestra en cada una de sus 3 opciones, procesamos las que nos interesen.


      NOTA: Para todos  aquellos que tengáis DMDc, en el caso de querer hacer la instalación en DEB, eliminar antes la antigua instalación así:
      • sudo rm -f /opt/scripts/PubKey /usr/share/applications/'PubKey.desktop'
      Para los que no vayan hacerla en DEB tan solo tienen que remplazar /opt/scripts/PubKey por el del contenido en el paquete tar.gz

      Descargar en SourceForge. También disponibles en DEB y en los repositorios de DMDc:

      miércoles, 14 de mayo de 2014

      DMDc 3.0 en la revista informática LinuxUser



      Hoy tengo el gusto de ver  y presentaros al mismo tiempo, la última edición de la revista informática Alemana LinuxUser Community-Edition 06/2014 donde se publica un artículo en la página 31(que no he podido leer pero podemos ver algo más al respecto aquí: Linux-Community ) sobre DMDc 3.0, como una de las distribuciones destacadas de este mes.



      Pues nada, por una parte me enorgullece en gran medida ver esto ya que viene a ser una especie de reconocimiento a todo el trabajo dedicado a DMDc hasta ahora y que comparto desde luego con todos vosotros, y os doy las gracias por vuestro seguimiento. Pero por otra parte me da un poco de miedo (no lo negaré) ya que esto se me puede ir de las manos, ya que por desgracias continuo solo en su desarrollo y si esto crece mucho...pues no se como voy a continuar. ;-)

      Format-USB 2.0

      Hace ya un tiempo decidí dejar de usar (en la medida de lo posible) Zenity para mis Scripts, a favor de YAD. Para quien no lo sepa, tanto uno como el otro nos proporciona un soporte gráfico para nuestros Scripts.
      La razón principal de decantarme a favor de YAD es que éste es más ligero y a la vez muchos más potente y versátil. Se adapta mucho mejor a la programación con guiones, y se pueden conseguir resultados que difícilmente se obtendrían con Zenity.
      La segunda razón, son sus dependencias. Considerablemente menores que Zenity.

      Muchos habréis visto las bondades de YAD en el nuevo instalador de DMDc.
      Por lo tanto ésta era otra de mis tareas pendientes por realizar con los Script que he venido realizando hasta ahora, pero sobre todo con los que adjunto en DMDc.
      En los próximos días iré publicando las revisiones de muchos de ellos, con soporte exclusivo de YAD.
      Hoy toca Format-USB
      Este es un Script (que realicé hace ya tiempo) como bien su nombre indica era para formatear soportes USBs.
      El funcionamiento de éste era muy simple. Detectaba el último dispositivo conectado para su formateo. Por lo tanto era imprescindible conectar el Pendrive o similar momentos antes de ejecutar el Script.
      Como éste tan solo detectaba el último dispositivo conectado, no mostraba otros dispositivos (si los hubiera) conectados con anterioridad a la ejecución del Script.

      Bueno, pues a la par de añadir YAD, también he modificado esto último y ahora Formt-USB detecta cualquiera de los dispositivos USB conectados en el sistema. Como se puede apreciar en la captura:

       
      Prácticamente ha sido rescrito, así que aquí lo tenéis y también si lo preferís en paquete DEB.

      NOTA: Para todos  aquellos que tengáis DMDc, en el caso de querer hacer la instalación en DEB, eliminar antes la antigua instalación así:
      • sudo rm -f /opt/scripts/formt-USB /usr/share/applications/'Format USB.desktop'
      Para los que no vayan hacerla en DEB tan solo tienen que remplazar /opt/scripts/formt-USB por el del contenido en el paquete tar.gz.


      Descargar en SourceForg. También disponibles en los repositorios de DMDc:

      jueves, 8 de mayo de 2014

      MATE: Mozo 1.8.0-1 reparado

      Como muchos se habrán dado cuenta, Mozo el gestor de Menús, no funciona en su versión 1.8.0.


      La versión 3.0 de DMDc fue liberada con este problema. Paradójicamente, ayer que os ofrecía una actualización (no oficial) que corregía este inconveniente, veo hoy que ya se a lanzado para Debian Jessie la versión 1.8.0-1(oficial) ya corregida. Esta nueva actualización extrañamente no está aún en los repositorios de Mate 1.8/Jessie así que el que quiera obtenerla puede descargarla directametne desde aquí: Mozo_1.8.0-1

      jueves, 17 de abril de 2014

      Liberada DMDc-3.0-IL (Testing)

      Bueno, pues ya esta aquí, cuatro meses después de su versión 2.0 y de intenso trabajo os presento su versión 3.0. Esta versión 3.0 se acerca mucho a lo que yo quería realizar desde un primer momento. Las versiones 1.x y 2.0 me han servido (y de qué forma) para llegar a esta. Tras mucho trabajo y quebraderos de cabeza (todo hay que decirlo) aquí está DMDc 3.0-IL- 64 bit.



      Trabajo y mucho es el que me ha dado sobre todo el instalador. Aunque el sistema de instalación me gustaba, no me convencía en absoluto. Era algo que pensé en retocar desde un principio, pero siempre a la espera del resultado de la acogida de DMDc. ¿Para qué molestarme si no la utiliza nadie?.
      Por suerte esto no es así, y me ha sorprendido mucho la descargas habidas de la versión 2.0. Pero sobre todo me ha sorprendido que el número de descargas de la versión 64 bit casi ha cuadriplicado a la de 32 bit..¿.?.

      El caso, es que como decía, quería modificar algo el instalador. Pero como me pasa muy a menudo...empiezo a meter un poquito la mano y termino metiéndola toda. Si es que mi mujer dice que las tengo muy largas...jeje. Por cierto mi mujer odia los ordenadores...¿os imagináis por qué?.
      Siguiendo con lo nuestro, vamos que he terminado por reescribirlo por completo. Y no se a vosotros, pero a mi me encanta como ha quedado.

      Nota: Esta vez las traducciones del instalador tan solo se han hecho al Ingles y español. Quien quiera aportar su granito de arena (conociendo suficientemente el idioma) que traduzca el que le competa y me lo pase.


      Esto ha hecho que se alargara un poco más la cosa, pero ciertamente que me ha venido la mar de bien para poder afrontar la transición de Debian Estable a Testing con más tranquilidad y serenidad. Quien piense que estan simple como actualizar a dicha rama va pero que muy mal encaminado. El subir de versión (y más ahora que han habido tantos cambios) es bastante complicado ya que hay que ir seleccionado las actualizaciones paso a paso y asegurarse de que ninguna de ellas lleva al trate al sistema o elimina o imposibilita cosas propias de la distro. Así que pasar de una rama a otra y dejar el sistema estable es bastante jodidillo de realizar.

      Otro verdadero hándicap era...¿y después qué?. Me refiero a que una vez llegado aquí, ¿cómo mantenemos la distro más o menos estable?. ¿Lo dejamos en las manos de los buenos de Debian y que con suerte no nos metan en lo sucesivos días, algunos paquetes que nos lleven al traste el sistema?.
      Una solución era crear nuestros propios repositorios a tan efecto, junto al que ya existe de DMDc. Pero tras una primera valoración vi que me era imposible mantenerlos. Es mucho trabajo el llevar esto a cabo por un equipo tan reducido. Con deciros que a duras penas puedo mantener el repositorio actual de DMDc. Gracias a José Mejías que me ayuda en ello y del quien "abuso" más de lo debido....Pero Dios se le sabrá pagar,..jeje por que lo que es yo ni una perra gorda que tengo para darle.

      Este era un problema que también me tenía bastante bloqueado. Pero al final he encontrado un a solución que puede ser muy factible. Se trata de utilizar los repositorios de una distro basada en Debian llamada Tanglu.
      Esta distribución se caracteriza en gran medida por utilizar los repositorios de Debian Testing pero de forma controlada. Es decir que le dan paso a todos aquellos paquetes que ellos consideran prácticamente estables, o que no dan problemas. Por otra parte, cuando hay paquetes que son necesarios o popularmente solicitados y no están lo suficientemente testados para su inclusión, entonces lo someten a criterio y a votación de sus usuarios, para actuar en consecuencia. Así que este es el repositorio que utiliza DMDc 3.0.
      Hay que decir que el repositorio de Debian Jessie también se encuentra incluido, pero deshabilitado.

      Que decir de DMDc 3.0. Pues que el primer sorprendido de lo bien que me ha quedado soy yo mismo. La verdad que funciona de fábula con su MATE 1.8. Eso sí, trampeadillo que lo tengo para evitar problemas (alguno muy grave) conocidos pero no propiamente de MATE. Tampoco quería liberarla sin haber solucionado esto tal y como expliqué en el artículo anterior. La verdad que el resultado es estupendo y el rendimiento excelente tras haberle metido el parchecito que le metí.
      Otra cosa es el nuevo arranque con Systemd...menuda flipada!!. Pues nada ahí lo tenéis también. De cualquier modo quien quiera seguir utilizando el anterior arranque puede seguir haciendo ya que los dos son coexistentes. Tan solo tiene que cambiar la línea correspondiente en el GRUB.
      Así que investigarla vosotros mismo para ver todo lo nuevo y valorarla en su buena medida.

      Respecto al Live-CD. Como decía he rescrito el instalador y aprovechando ya que estaba liado, he añadido nuevas opciones a nivel de usuario, como son el sudo o el autologin. Por otra parte en el Live he añadido soporte para el uso de la contraseña root, que es la misma que la del usuario: live


      Nota: El gestor de actualizaciones no se encuentra instalado. El motivo pues que en su rama testing el gestor que utilizamos habitualmente nos obliga a instalar paquetería y dependencias de gnome-packagekit (Nautilus incluido) nada interesante y menos aun necesaria en MATE. Lo peor es que aún instalando todo lo necesario, éste, el gestor de actualizaciones no funciona con MATE, es decir, no recibimos notificaciones de actualizaciones en ningún momento. Así que pensé... ¿Para que instalar algo que no funciona? y más aún si puede ser suplido fácilmente. Como esto no es realmente un problema tampoco he profundizado en el tema.
      Podemos ver dos ventajas si se quiere en ello. Una que no tenemos un proceso corriendo continuamente en segundo nivel buscando actualizaciones. Y dos, que lo haremos cuando nosotros decidamos sin los constantes avisos de actualizaciones.

      Para esto tan solo tenemos que abrir un terminal.
      Primero comprobamos si hay paquetes obsoletos:
      sudo apt-get autoremove
      Antes de confirmar la eliminación de los paquetes que se muestren, comprobaremos si hay entre ellos paquetes que sí necesitamos, ya que un paquete marcado como obsoleto no quiere decir que no nos sea necesario. Si vemos que si hay paquetes que estamos utilizando, corremos este otro comando:
      sudo aptitude keep-all

      Luego ya podemos realizar la actualización:
      sudo aptitude update
      sudo aptitude safe-upgrade

      Lo anterior realizará una actualización de los paquetes ya instalados.
      Si se quiere hacer una actualización algo menos invasiva ya que aptitude si puede quitarnos e instalarnos algún que otro paquete utilizaremos:
      sudo apt-get update
      sudo apt-get upgrade

      Los dos puntos anteriores, tanto aptitude como apt-get, unicamente actualizarán los paquetes que ya tengamos instalados, nada más.

      Si por otra parte, lo que queremos es hacer una actualización completa:
      sudo aptitude update
      sudo aptitude full-upgrade

      Esta última sí eliminará y añadirá paquetes nuevos. Y eliminará los paquetes que sean necesario para añadir y cumplir las dependencias de los actualizados o los nuevos.
      Así, que para ir sobre seguro, el 1º y 2º opción, son los más adecuados. También son los que utilizamos normalmente, cuando se hace gráficamente.
      Para simplificar y sobre todo para facilitarnos este proceso, podemos crear un simple lanzador en el escritorio o en cualquiera de los paneles con la siguiente orden:
      • mate-terminal -e 'su -c "aptitude update && aptitude upgrade"'
      Características
      • Nuevo DMDc installer (con soporte para discos GPT)-Beta
      • Basada por completo en Debian Testing 64 bit
      • Kernel 3.13-1 x86_64 Bit
      • System start: Systemd (un arranque mucho más rápido y eficiente)
      • Escritorio MATE 1.8
      • Repositorios DMDc y Debian-Tanglu (Testing)
      • Soporte Plymouth
      • mdm 1.4.8 (New support HTML5)
      • dmdc-mdm-html5-themes (package Themes)
      • LibreOffice
      • Dropbox
      • Adeskbar (Dock)
      • Apwal (Launcher)
      • Soporte Compiz+Emerald
      • Skype, Jitsi (for DMDc 32 Bit)
      • Jitsi (for DMDc 64 Bit)
      • Aplicaciones de inicio designadas para MATE
      • Interesante herramientas propias
      • Soporte para diferente apariencia para Caja-Root, Terminal-Root y Pluma-Root
      • Soporte Abrir un Terminal y Abrir como Administrador en el menú contextual de Caja
      • Soporte Alt + F2 o F2 abre ventana ejecutar (cuando se usa Marco)
      • Soporte F2 abre ventana ejecutar (cuando se usa Compiz)
      • Gran selección de Software
      • y mucho más...
        ---- Themes (based Greybird) y iconos : -----
        • Theme DMDc Themes
        • Emerald DMDc Themes
        • Mouse Theme DMDc
        • Icons FaenzaWolfe
        • Soporte root Themes
        • Plymouth Theme
        Nota Live-CD:
        Nombre de usuario: dmdc
        Contraseña de Usuario o Root: live

        Nota graciosa:
        Se me pasó cambiar el número 2.0 por 3.0 en la pantalla de selección de arranque del Live. Así que la versión es la 3.0 aunque veáis 2.0 al principio.


        Si tienes dudas sobre la instalación de DMDc, aquí te dejo un estupendas indicaciones de un Bruto (blog amigo) de cómo hacerlo:



        ::::::::::Videos DMDc::::::::


        Descargar DMDc-3.0-IL (Testing)-x86_64

        https://sourceforge.net/projects/dmdc10il/?source=navbarhttp://linuxtracker.org/download.php?id=73bf7e5592963f7f8809ddeec95c3ea10289b355&f=DMDc-3.0-IL+%28Testing%29.torrent&key=0



        Nuevo repositorio para la versión Testing. 
        Remplazar la línea deb de DMDc por esta otra en el archivo /etc/apt/sources.list:

        deb http://dmdcosillas.org/dmdc/ dmdc-testing main contrib non-free

        martes, 15 de abril de 2014

        ¿Qué demonios está pasando?

        Asisto perplejo a las recientes noticias sobre vulnerabilidades encontradas en las implementaciones SSL/TLS tanto de Linux como de iOS. Por si no estáis enterados, os pongo en antecedentes.

        A principios de año se liberó una actualización para iOS6, iOS7 y Apple TV 6, y se sabe que también afectaba a OS X 10.9.x. El parche corregía una cagada de las históricas. En post anteriores, os he explicado el mecanismo de funcionamiento de los certificados digitales, su firma y verificación por parte de las CA’s. Pues bien, el problema consistía en el mal funcionamiento de una función, en concreto SSLVerifySignedServerKeyExchange, que, como su nombre bien indica, se encarga de verificar la firma de un mensaje. He aquí el código en cuestión: 

        SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa,
                                         SSLBuffer signedParams, uint8_t *signature,
                                         UInt16 signatureLen)
        {
                    OSStatus            err;
                    ...
                    if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
                           goto fail;
                    if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
                           goto fail;
                           goto fail;
                    if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
                           goto fail;
                    ...
        fail:
                    SSLFreeBuffer(&signedHashes);
                    SSLFreeBuffer(&hashCtx);
                    return err;

        No hay que ser programador avanzado para darse cuenta del error. Ese segundo goto fail; que os he resaltado, hace que se salga de la función sin haber terminado todas las verificaciones de la firma, dando un resultado válido, aunque el certificado utilizado para firmar sea falso o incluso no exista. Sorprendente, ¿verdad?

        Pues ojiplático me quedé al comprobar, pocas semanas después, ya en Marzo, que GnuTLS padecía del mismo, o similar, fallo de programación. Y para no ser menos que nuestros amigos de Cupertino, esta cagada venía arrastrándose desde el 2005, sin que nadie se hubiera dado cuenta…o no es así, y entonces es para echarse a temblar.

        Aquí el fallo venía dado por goto’s erróneos, haciendo que el código de error detectado en un certificado, fuera pasado a la instrucción cleanup, en vez de fail. Así, podía darse el caso de que nuestro sistema detectase un certificado erróneo (entiéndase por erróneo, falso o no verificado) y lo diese por válido. La verdad es que no sé qué cagada es peor. Pero no voy a entrar en la prolífica discusión de si es mas seguro Linux o iOS. Sinceramente, me da igual. Porque cuando ya creía haberlo visto todo, hace su aparición estelar….. TACHAN!!!.....Heartbleed.

        Este “palabro” viene a describir el fallo de seguridad conocido más importante hasta la fecha (nótese que he subrayado la palabra “conocido”). Si bien los fallos anteriores eran corregidos rápidamente por una simple actualización o parche en nuestros sistemas, nuestro amigo Heartbleed nos tiene, a día de hoy, y perdonarme la expresión, cogidos por las pelotas. Y os voy a explicar porqué.

        Los fallos anteriores afectaban a nuestro lado de la comunicación segura. Así, si era lanzada una web “falsa”, nuestros sistemas podían no darse cuenta del error. Pero no pasaba nada si nos conectábamos a nuestro banco, o comprábamos en nuestra tienda habitual de Internet, o accedíamos a nuestro correo web. Las páginas eran válidas y seguras, y no había posibilidad de robo de credenciales o datos de tarjetas, por poner un ejemplo.

        Heartbleed hace que el fallo de seguridad resida en el servidor al que nos conectamos. Da igual que lo hagas con Linux, iOS, Windows, Android, señales de humo o tam tam. Los servidores han sido comprometidos, y gravemente.

        En este caso, ha sido un teutón llamado Robin Seggelmann el artífice del caos. El pobre hombre debe estar pasando las de Caín y no estoy de acuerdo en realizar un linchamiento público, ya que, si bien es cierto que el error en el código ha sido suyo, no es menos cierto que el sistema de revisión de dicho código por parte de su supervisor ha fallado.

        El fallo se encuentra en la implementación OpenSSL, software instalado en multitud de servidores de Internet, que proveen de acceso seguro a protocolos tales como HTTPs o FTPs, por poner un ejemplo. Vamos a destripar el fallo.

        En post anteriores os he descrito el uso de certificados digitales. Vamos a repasarlo de nuevo. Estamos sentados en nuestra casita, tranquilos, y decidimos conectarnos para ver si Hacienda nos ha realizado ya la devolución de los impuestos. Cada vez me devuelven menos, por cierto. Gracias Montoro, ya mismo tendré que pagar por trabajar.

        Que me voy, que me voy del tema… Si es que me tiráis de la lengua…

        En el servidor del banco al que nos conectamos reside su certificado digital, expedido por una CA, con sus claves pública y privada. Al conectarnos, el servidor nos facilita su clave pública, con la que encriptamos la información que le enviamos al Banco. No estoy hablando de credenciales de acceso. Me refiero a que nuestro equipo encripta una serie de información para establecer una comunicación cifrada simétrica con el servidor (recordar que el cifrado simétrico es mucho más rápido que el asimétrico). Así, la información que ciframos con la clave pública del servidor, es descifrada con la clave privada del mismo y se establecen los parámetros para realizar una comunicación cifrada de manera simétrica, utilizando la misma clave de cifrado en ambos lados de la comunicación. Esto es el funcionamiento habitual en una conexión a un servidor seguro. Hasta ahora todo va bien. Y ahora viene la parte complicada. A ver si consigo que todos lo entendamos (yo incluído)

        Vamos a hacer una abstracción e imaginar que estamos hablando Frannoe y yo mismo. A ver si así queda claro. Vamos a imaginar que estamos en una conversación telefónica y nos aseguramos de que nuestro interlocutor es realmente quien dice ser.

        [Frannoe dixit]
        Ya me cogió de conejillo de indias…

        [Jose respondere]
        Ah… se siente. Haber dedicado el Blog a la cría de gusanos de seda.


        F: Hola Jose.
        J: Hola Fran
        F: La lluvia en Sevilla… (es la clave pública de Fran. Es que es de un poético...)
        J: ...buena sombra le cobija (propuesta de clave simétrica, encriptada con la clave pública)
        F: Aceptamos barco (aceptada y establecida clave simétrica)

        (a partir de aquí va todo cifrado, pero lo dejo en plano)

        J: ¿Para cuándo la DMDc 3 en x86, Fran?
        F: ¿No has leído mi último post? Que no doy abasto…
        J: Si es que te metes en unos berenjenales…
        F: Tú tienes parte de culpa, te recuerdo.
        J: Espérate Fran, que me hago de vientre…
        F: Sin comentarios
        .
        .
        J: Ya he vuelto.
        F: Lo siento, ya no estoy seguro de que seas tú realmente. Así que…. La lluvia en Sevilla…
        J: (mierda, a empezar de nuevo…)

        Para evitar esto, que es una sobrecarga de trabajo enorme para un servidor, se establece un procedimiento por el que le decimos al servidor: “Oye, que soy yo, no me empieces de nuevo la comunicación”. Lógicamente, el procedimiento consiste en el envío de una cierta información desde el cliente, muy similar a un ping. En concreto, lo que se envía desde el cliente al servidor es una estructura de datos llamada TLS1_HB_REQUEST que consiste en dos partes: un mensaje o payload con datos aleatorios y el tamaño de dicho mensaje. Cuando el servidor recibe este mensaje, devuelve una estructura de datos llamada TLS1_HB_RESPONSE, que copia el mensaje recibido y lo envía de vuelta. A este procedimiento se le vino a llamar HEARTBEAT, o latido de corazón, para mantener viva la conexión con el servidor aunque no haya intercambio de datos.

        El problema surge aquí. El error consiste en que el servidor no comprueba si los datos enviados en TLS1_HB_REQUEST tienen realmente la longitud indicada en el mensaje. Así que enviamos a nuestro servidor un TLS1_HB_REQUEST de 1 byte, pero indicándole que el tamaño del mismo es de 64 kb (65.535 bytes).

        Como el servidor confía ciegamente en que el payload recibido es de 64 kb, procede a generar el TLS1_HB_RESPONSE, copiando el payload original, y completando hasta llenar los 64 kb del mensaje con los datos que en ese momento tiene la memoria RAM del servidor.

        [Frannoe dixit]
        ¿Y qué hay en la memoria RAM del servidor?

        [Jose respondere]
        Todo, querido amigo. En la RAM del servidor se encuentra ejecutándose OpenSSL, así que tenemos código de OpenSSL, contraseñas, claves de cifrado… Claro, de 64 kb en 64 kb, se tarda en recopilar información, pero potencialmente es infinita.

        Así que… ¿en qué situación nos encontramos? Pues para ponernos en el peor de los casos, podemos asumir que todas nuestras claves bancarias y contraseñas de servicios web están comprometidas.

        [Frannoe dixit]
        Pues las cambio todas y a correr

        [Jose respondere]
        Es lo mínimo que tienes que hacer...cuando sepas que el servidor al que te conectas ya está parcheado. Te recuerdo que las claves de los certificados de esos servidores pueden haber sido comprometidas. Así que los administradores deberían actualizar dichas claves y/o generar nuevas. Si han sido descubiertas, da igual que cambies tus claves de acceso. Van cifradas con las claves del servidor que han sido comprometidas, ¿recuerdas?.

        [Frannoe dixit]
        Pero eso ya estará hecho, ¿no? Ha pasado una semana desde que saltó la liebre…

        [Jose respondere]
        Yo no digo nada, que después todo se sabe… Aquí te dejo un enlace a una herramienta que puedes utilizar para comprobar si el servicio al que te conectas está parcheado o no. Sólo te diré que los que yo he probado (bancos inclusive), me dicen que ya está solucionado (es decir, que ya no se traga el payload de 64 kb), pero advierte que los certificados de los sitios no han sido actualizados….

        Y así nos va...


        Me parece que voy a dar de baja el Internet, la tele por cable, el móvil y el teléfono fijo… Y vuelta al cartero de toda la vida… y a las postales… qué tiempos...

        domingo, 13 de abril de 2014

        En breve DMDc 3.0 IL (testing)


        Está al caer la versión 3.0 (testing). Por ahora tan solo en 64 bit. A ver que tal funciona.
        No hace mucho comenté que iba a esperarme a la liberación de MATE 1.8. El motivo principal es la gran inestabilidad que se produce en algunos procesos en MATE como son con Caja y el Panel. Pensaba que en las sucesivas revisiones esto se iba a solucionar, pero no es así. Y lo suponía así ya que creía que el problema era de MATE. Pues nada mas lejos de la realidad.
        Para que os hagáis una idea y para que veáis por vosotros mismo la gravedad de la situación, aquí os dejo un vídeo de un ejemplo practico.
        El proceso a seguir para provocar esta situación es tan simple como abrir una carpeta como root (desde el menú contextual) y luego abrir un terminal como usuario normal, y el resultado es el que podéis ver:



        Como podéis apreciar, Caja empieza abrir ventanas en un bucle infinito imposible de matar, ni tan siquiera cerrando la sesión. Si no se sabe donde tocar, nos vemos obligados sin remisión a reiniciar el sistema para salir de esta situación.
        Pero cuando es el panel el que se queda pillado de este modo, la cosa aún es mucho peor ya consume toda la memoria física y virtual de nuestro sistema en pocos segundos dejándolo patitieso.

        Llevo bastante tiempo dándole vueltas a este asunto (desde antes de la liberación 2.0), pero sin coger el toro por los cuernos ya que pensaba que el problema venía de MATE.
        Systemd es desde luego una maravilla, el arranque del sistema con él es asombroso. Se reduce el tiempo en más de un 50%. Ya no quiero hablar del cierre del sistema. El Pc se apaga tan rápido que parece que se rompa!..¡Menudo susto!.

        El problema en MATE vienen ya que Systemd utiliza la variable de entorno XDG_RUNTIME_DIR que es de obligado acceso tanto tanto para usuario normal como el usuario root. El acceso a esta variable desde gksu(root) a User no hay problema, pero sí los hay (como podemos ver en el vídeo) desde User a root. Este acceso se realiza a una copia del archivo de usuario dconf /user. En este caso lógicamente al ser creada por el usuario root, cualquier otro usuario no tiene acceso (por encontrarse con permisos root) y el sistema se colapsa intentando acceder a ella.

        Reportes de ello he visto desde el 2012:
         /run/user/1000/dconf': Permission denied y soluciones ninguna.
        Una solución fácil y obvia pero muy drástica, sería eliminar gksu del sistema para imposibilitar abrir aplicaciones gráficas con permisos de root. Pero muchos no estamos dispuestos a prescindir de esta practica utilidad, y por otro lado hay aplicaciones que utilizan gksu como dependencia, con lo cual tampoco podremos utilizar éstas.
        No se hasta que punto el problema es de Systemd o más bien que sería necesario una revisión-adaptación de gksu. Hasta lo que yo se, si no utilizamos Systemd todo funciona con normalidad, pero si utilizamos Systemd y eliminamos gksu todo también parece ir con normalidad, así que...

        Lo que tenía muy claro, es que para esta versión 3.0 no quería prescindir de Systemd y ya puesto tampoco de mi queridísimo gksu.
        Llevo varias semanas dándole vueltas al asunto en busca de alguna solución.
        La liberación de la 3.0 con este problema a sido hasta ahora un verdadero quebradero de cabeza, ya que no instalar gksu tan solo sería una solución muy temporal, pues los usuarios (la mayoría), tardarían bien poco en instalarlo al ver que no está y se encontrarían rápidamente con la desagradable sorpresa del que el sistema se les viene abajo a la primera de cambio.


        A la espera de que surja algo mejor para solucionarlo definitivamente, al final se me ha ocurrido una pequeña solución (no muy limpia seamos sinceros) pero si lo suficientemente buena y a la vez fácil para evitar este tremendo problema, con lo cual poder disfrutar plenamente de nuestro DMDc 3.0, con todo a la última. Por lo tanto, una vez salvado este escoyo, no hay razón para demorar más la liberación de la 3.0 que tras unos pequeños ajustes será subida en breve. No creo que tarde más de una semana.


        Lamentablemente la versión en 32 bit tardará bastante más. Los recursos en personal en dedicación son muy escasos y yo no doy para más. El pasar DMDc a la versión Testing (sin mencionar la reescritura por completo del instalador) me ha traído muchos quebraderos de cabeza y más de un problema como el expuesto anteriormente, pero el resultado al final parece ser mucho mejor de lo esperado...
        Como escuché en una bonita película,...
        ..."Al final, todo saldrá bien... si no ha salido bien, es que entonces aún no es el final"

        martes, 1 de abril de 2014

        En preparación de DMDc 3.0



        Tengo pensado subir la versión 3.0 tan pronto sea liberada la versión 1.8 de MATE. Como sabéis he estado muy liado reescribiendo el instalador de DMDc y ya creo tenerlo terminado:



        También he pulido (a mi entender) bastante el tema del inicio gráfico de plymouth. Podréis elegir entre estos dos themes:





        A parte del cambio estético, (pero guardando el mismo estilo) los temas se han aligerado mucho, con lo cual el impacto en el arranque es menor. Y por lo que veo se ha ganado en vistosidad, creo que ahora sí me han quedado bastante bien.
        Otro tema también modificado sutilmente (o no) es el de la pantalla de login. Considero que el logo de DMDc en el Sol era demasiado ostentoso. Creo que de este modo gana bastante más, y el logo lo he situado abajo de forma más sutil, sustituyendo el anterior por un sol bastante más realista. También he eliminado el cartelito informativo que aparecía abajo a la derecha:



        Por cierto, cualquiera de estos temas ya los tenéis disponibles en los repositorios de DMDc.

        Por último comentar que esta versión 3.0 de DMDc estará orientada por completo a la rama Testing de Debia, pero de una forma muy controlada que espero explicar más adelante cuando lo tenga casi todo a punto.

        domingo, 23 de marzo de 2014

        Comparte archivos, carpetas o chatea en tu red local

        Buenas tardes a todo el mundo!!!

        Quería hablaros de un programa muy sencillo que puede ser de mucha utilidad para los que tengan varios equipos en su red local, el programa en cuestión se llama IPTUX y lo podemos instalar como siempre desde el synaptic o terminal, ya sabéis todos y para el que no pues.....

        sudo apt-get install iptux

        Venga, instalado, ahora vamos a ver su funcionamiento, la verdad es que aquí hay poco que explicar, porque ya vereis que es muy sencillo e intuitivo, esto es más para el que no lo conozca pues eso, darlo a conocer.

        Una vez iniciado, el solito nos buscará los equipos que están conectados en ese momento a la red, y los identifica por su IP (hablo en todo momento de la ip local) y el nombre que tengamos puesto en la configuración para darnos a conocer.


        Bueno, ya veis la ip, el nombre del usuario y el nombre de nuestro equipo, ahora os explicaré como hacer para configurarlo, aunque repito es muy muy sencillo su funcionamiento, al menos, para el uso básico que yo le doy, si tiene alguna opción más "compleja" el que lo sepa que me lo explique a mi, jejeje.





        Como veis, poco hay que explicar, como mucho en la última captura de pantalla, en la opción de red, que nos da la opción de elegir el rango de ip's que queramos tener, yo lo he dejado en blanco como veis.


        Ahora, vamos a configurar si queremos compartir algún directorio concreto o un archivo, para ello nos iremos  Herramientas / administrador de compartidos y seleccionaremos lo que queremos compartir.



        Como podéis ver, podemos establecer una clave para intentar "proteger" un poquito más nuestros archivos o carpetas compartidas, siempre podéis pasar la clave a la persona interesada mientras chateáis.
        Para ver lo que comparte esa persona, tienes que situarte sobre el en la ventana principal y pulsando en el botón derecho seleccionas pedir recursos compartidos tal como veis en la captura.


        En este caso para que veáis el funcionamiento en la configuración puse una contraseña con lo cual nos encontraremos esto.


        Introducimos la contraseña, y entonces nos mostrará los archivos o carpetas compartidas, ya sólo nos queda seleccionar donde queremos guardarlo y ya está.


        Si lo que queréis es iniciar una conversación, no tenéis más que hacer doble click con quien queráis hablar y se os abrirá una ventana como esta:


        Bueno, y esto es todo, como podéis ver, es un programa muy sencillo, básico y si tienes varios equipos en casa o en tu trabajo pues te puede servir para estar conectado entre ellos y compartir lo que sea, es de esas aplicaciones que siempre instalo, nunca se sabe si te puede hacer falta en algún momento.

        Un saludo a todos.