Clonar un disco con errores

Cuando los sistemas funcionan a diario es normal que con el tiempo los discos empiezan a dar errores, para ello tenemos a un buen aliado que se llama S.M.A.R.T. que nos avisa cuando la salud de un disco duro no es buena y cuando empiezan a salir errores, la recomendación es parar el disco y reemplazarlo.

Esta vez el disco que tengo tiene las configuraciones enteras de un sistema operativo y reinstalar y reconstruir el sistema operativo desde 0 sería mucho trabajo, así que la opción por la que he optado es clonar el disco duro a otro disco duro que no tiene errores (comprobado con badblocks!).

Al hacer el dd se me ha cortado a medio proceso porque se ha encontrado con la parte del disco defectuosa, así que he tenido que añadir un par de opciones para omitir los errores y seguir con el clonado:

# dd if=/dev/sda |pv |dd of=/dev/sdb conv=noerror,sync

El disco duro que estoy tratando de recuperar, realmente tiene varios sectores defectuosos que con dd no hay forma de clonar, así que he tenido que usar otra herramienta gddrescue

# apt-get install gddrescue
# ddrescue -d -r3 /dev/sda /dev/sdb clonacion.log

Con el -d le decimos a ddrescue que haga un acceso directo al disco e ignore el cache del kernel (clonación bit a bit)
Con el -r3 le indicamos que pruebe hasta 3 veces la lectura de los sectores defectuosos

Después de un buen rato finalmente el disco ha sido clonado con éxito y el …

Vim: mostrar barra de %

Hace unos días que instalé debian 9 y vim no tenía el comportamiento que me gustaba, en un post anterior expliqué como sacar por ejemplo el modo mouse que al seleccionar te activaba el mode visual.

Hace días quise activar la barra de % de lectura del fichero y también el nombre del fichero, pero no conseguía que se aplicase la configuración y tenía que usar el set ruler cada vez que abría el fichero. Hoy porfin en el mismo fichero que editábamos en el post referenciado, se me ha ocurrido comentar una línea

# vi /usr/share/vim/vim80/defaults.vim
set history=200         " keep 200 lines of command line history
set ruler               " show the cursor position all the time
set showcmd             " display incomplete commands
"set wildmenu           " display completion matches in a status line

El set wildmenu era el que no me permitía que apareciese el ruler por defecto.

Addicionalmente, la barra inferior, me gusta tenerla de color blanco para que se diferencie del fondo negro con el que suelo trabajar, para ello modifico el fichero de configuración de /etc/vim/vimrc y al final añado lo siguiente

# vi /etc/vim/vimrc
set modeline
set ls=2

Y listos! :)…

LXC: Montar un directorio del host en un contenedor

Ésto hace tiempo lo documenté para openvz, pero con lxc cambia un poco la cosa. Voy a saco y pongo lo que se tiene que hacer hehe

Montas el punto de montaje que quieres, en mi caso estoy montando un dav con davfs2 (apt-get install davfs2) en el host en un punto de montaje:

# mkdir /mnt/dav_capa8
# mount -t davfs -o gid=www-data,uid=www-data https://cloud.capa8.net/remote.php/webdav/ /mnt/dav_capa8/

Previamente he puesto las credenciales en /etc/davfs2/secrets del acceso al webdav

y luego así se lo paso al contenedor:

# pct set 102 -mp0 /mnt/dav_capa8,mp=/mnt/dav_capa8

Reinicio el contenedor y el nuevo mountpoint ya está accesible

Sólo me falta comprobar si el usuario www-data que es quien tiene que escribir en éste punto de montaje tiene permisos suficientes.

Para que se monte el davfs al iniciar el sistema, editaremos el fichero /etc/fstab y la última línea:

# vi /etc/fstab
/dev/pve/root / ext4 errors=remount-ro 0 1
/dev/pve/swap none swap sw 0 0
proc /proc proc defaults 0 0
/dev/sdb1 /var/lib/vz2 ext4 defaults 0 0
https://cloud.capa8.net/remote.php/webdav/ /mnt/dav_capa8/ davfs noauto,user 0  0

Convertir pdf a jpg

Normalmente cuando tengo que editar un pdf lo abro con inkscape, pero esta vez me encuentro un pdf que son unos planos y la conversión con inkscape se lo toma con la calmísima, así que total como sólo necesito una imagen, voy a convertir el contenido del pdf a imagen y me ahorro varias horas de espera…

¿Cómo?

# convert -verbose -density 150 -trim plano.pdf -quality 100 -flatten -sharpen 0x1.0 plano.jpg

Ahora a cargarlos en el inkscape como imagen y a redimensionar a mi gusto :)

EOF…

radicale: servidor de CalDAV

Hace ya unos meses que me persiguen para integrar el calendario de varias herramientas, como owncloud (nextcloud), egroupware, thunderbird y el móvil pero ninguno de los dos primeros las versiones que tengo instaladas permiten compartir el calendario públicamente para que las otras herramientas puedan acceder a él. Así que sólo nos queda o tirar de googlecalendar o montar nuestro propio sistema de CalDAV.

Primero de todo remarcar que vamos a tener los calendarios en 2 modos, sólo lectura y otros de escritura y lectura, el motivo es que algunos calendarios van a ser públicos y otros privados, los públicos no se van a poder modificar y los entregaremos en formato ics, los privados si :)

Vamos a ello

Aunque radicale está en los repositorios de debian, vamos a descargarnos la última versión de su página web.

root@radicale-dav:~# apt-get install apache2

Instalaremos python-setuptools y apache2-utils para crear passwords y usuarios a nuestros calendarios

root@radicale-dav:~# apt-get install python-setuptools apache2-utils

Ahora descargamos radicale y lo instalamos

root@radicale-dav:~# cd /var/www
root@radicale-dav:/var/www# wget -c --no-check-certificate https://pypi.python.org/packages/source/R/Radicale/Radicale-1.1.1.tar.gz
root@radicale-dav:/var/www# tar xvzf Radicale-1.1.1.tar.gz
root@radicale-dav:/var/www# mv Radicale-1.1.1 radicale

Ahora creamos un sitio donde vamos a almacenar el fichero de configuración

root@radicale-dav:/var/www/radicale# mkdir /etc/radicale
root@radicale-dav:/var/www/radicale# cp config /etc/radicale/

Y ahora lo modificamos y dejamos algunas líneas como indico

root@radicale-dav:/var/www/radicale# vi /etc/radicale/config
hosts = 127.0.0.1:5232
daemon = True
base_prefix = /
type = filesystem
filesystem_folder = /var/www/radicale_collections

Creamos el usuario que va a hacer funcionar radicale y creamos el directorio donde se van a guardar los calendarios de los usuarios

root@radicale-dav:/var/www# 

dlna: cliente en debian (sólo audio)

Ya empezamos con las abreviaciones estas tan odiosas que usamos los informáticos, pues DLNA es una cosa que poco a poco van teniendo cada vez mas televisores y proyectores y uno de los primeros dispositivos que lo usó fue el chromecast de google, quien tenga alguno sabrá la maravilla que es éste servicio.

En pocas palabras sirve para mandar contenidos multimedia entre dispositivos, por ejemplo vídeos y audios.

La forma que hasta el momento he usado es el uso de una extensión de chrome para streamear al chromecast, me permite reproducir pestañas del navegador en el televisor, pero también youtube y netflix si detectan que hay un dispositivo dlna me da la opción de mandar el contenido al chromecast. Con el móvil android mas de lo mismo.
En resumen que puedo ver y escuchar lo que tengo en el portátil y en el móvil en el televisor y mi móvil pasa a ser otro mando de mi televisor. Vamos que chromecast es uno de los culpables porque mi tonto televisor tenga mucha guerra y una nueva vida :) -lo de usar el televisor para ver la TDT es agua pasada!-

Hace unos meses me percaté que dlna no era una cosa exclusiva de chromecast, sino que estaba cada vez mas en televisores e incluso proyectores. Así que me olí algún tipo de estandarización y efectivamente, dlna son las siglas de digital living network alliance, algo muy similar a lo que usan ya nuestras impresoras con el upnp. Empecé a buscar …

El analfabetismo digital, la lacra del siglo XXI

En la antiguedad los que tenían acceso a los libros tenían el poder y la sabiduría de someter a los que no la tenían, durante la edad media el acceso a los mismos estaba al alcance de unos pocos y sometían al resto de la población mediante el miedo y la desinformación, no les interesaba en absoluto que la gente fuese capaz de pensar por si misma y llegar a sublebarse, la mejor forma de hacerlo era privarles el acceso a los libros.

Todo cambió con la invención de la imprenta de Guttenberg alrededor del año 1450, en el que se podían replicar mecánicamente textos escritos. Pero había una limitación, que la gente no sabía leer ni escribir, el llamado analfabetismo, según la wikipedia:

“El analfabetismo para algunos es simplemente la incapacidad de leer y escribir que se debe generalmente a la falta de enseñanza de las mismas capacidades. Avala esta definición el hecho de que en los países que tienen una escolarización obligatoria el analfabetismo es minoritario.

Según las Naciones Unidas una persona analfabeta es aquella que no puede ni leer ni escribir un breve y simple mensaje relacionado con su vida diaria. Aunque la educación básica (primaria y secundaria) cada vez llega a más lugares, muchos jóvenes, por diversas razones, no asisten a la escuela y por lo tanto, algunos de ellos no saben leer ni escribir.”

Alrededor de los años ’40 se crea el primer ordenador, accesible sólo a grandes corporaciones, debido a su tamaño y precio, …

Anotaciones: editar un vídeo con un audio externo

Tengo una videocamera que graba en formato MTS desenlazado, en trozos de 32 minutos y una pequeña grabadora que graba en formato WAV, así que tengo que montar todo esto para que caze :P

Enlazar los vídeos y pasarlos a formato avi

$ ffmpeg -i 00009.MTS -vcodec libxvid -acodec libmp3lame -deinterlace -ab 192k -qscale 0 tros1.avi
$ ffmpeg -i 00010.MTS -vcodec libxvid -acodec libmp3lame -deinterlace -ab 192k -qscale 0 tros2.avi
$ ffmpeg -i 00011.MTS -vcodec libxvid -acodec libmp3lame -deinterlace -ab 192k -qscale 0 tros3.avi
$ ffmpeg -i 00012.MTS -vcodec libxvid -acodec libmp3lame -deinterlace -ab 192k -qscale 0 tros4.avi

Fusionar (concatenar) los trozos

$ avimerge -o video_complet.avi -i tros1.avi tros2.avi tros3.avi tros4.avi

Esto no sé porque, pero aunque los vídeos los audios estan alineados correctamente al fusionarlos pues se jode el invento :(

Convertir el wav a mp3

$ ffmpeg -i 032417-173825.WAV -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio.mp3

Cortar el audio
Con el audacity, control+k para eliminar el trozo seleccionado y exportamos el audio en formato mp3 a 192k

Fusionar el audio y el vídeo
Con el Openshot, mucha paciencia y los dedos cruzados a que vayan a la misma velocidad…

ROUND 2
Pues como de costumbre cuando trabajas con audios y vídeos… las cosas no siempre son tan sencillas xD así que en el round 2 al no conseguir un vídeo entero porque el audio queda descompensado, voy a partir el audio en trozos de 5 minutos y lo voy a montar con el openshot.

para …

Reflexionando sobre las alternativas: ¿deben profesionalizarse?

A todo el mundo le gustan los productos y servicios de proximidad, el concepto de algo producido aquí mismo, sin intermediarios, con una atención inigualable, es genial y casi siempre tenemos que ir a buscar éste trinomio a las alternativas, pero normalmente estas pecan o por caras o por poco fiables.

Llevo ya muchos años en el entorno de movimientos sociales que es básicamente donde nacen las alternativas, pero muchas, algunas con un gran potencial, se quedan a medio camino y básicamente por no saber salir del entorno donde se crearon y por miedo de tomar lo necesario del llamado capitalismo contra el que se intenta luchar.

El sistema capitalista puede gustar mas o menos, puede ser bueno o malo, pero hay una cosa clara, y es que éste funciona y por muy en contra que estemos, ahora es lo que rige éste planeta.

En las alternativas, se tiene miedo al momento de pedir de cobrar por alguna cosa, algunos le cambian el nombre y lo llaman aportación económica, kafeta, etc. otros lo disfrazan con otro tipo de moneda (moneda social) no controlada por los malos malotes que hay en el gobierno y en los bancos (si, éstos que nacieron única y exclusivamente para joder al grueso de la sociedad).

La realidad de ésta farsa de autoengaño sólo consigue una cosa, que las alternativas se basen en un voluntariado. Personas que tienen sus trabajos “en el sistema” que destinan su poco tiempo libre. Las que no tienen sus trabajos “en …

El tiempo en la consola

Navegando por las redes sociales me he encontrado una entrada curiosa:

Brutal alias per tenir el temps a la consola:
alias weather='curl -s wttr.in | sed -n "1,7p"'

Así que me he puesto a jugar :P la ciudad por defecto que me detecta es Madrid, pero no me gusta esta geolocalización:

$ curl -s wttr.in/Barcelona | sed -n "1,7p"
Weather for City: Barcelona, Spain

    \  /       Partly cloudy
  _ /"".-.     14 – 15 °C     
    \_(   ).   ↖ 11 km/h      
    /(___(__)  10 km          
               0.0 mm 

Además lo quiero en otro idioma que no sea inglés (en catalán no se deja, snif):

$ curl -H "Accept-Language: es" -s wttr.in/Barcelona | sed -n "1,7p"
El tiempo en: Barcelona, Spain

    \  /       Parcialmente nublado
  _ /"".-.     14 – 15 °C     
    \_(   ).   ↖ 11 km/h      
    /(___(__)  10 km          
               0.0 mm 

En ésta cuenta de twitter hay mas información sobre ésta página.

Tontería del día :)…