Categorías
Linux

Montar imagen creada con clonezilla

Hace poco vimos una entrada de como montar una imagen que estuviera en fichero tipo .img, el problema es que algunas veces la imagen la podemos haber realizado con herramientas como el clonezilla, por lo que los ficheros resultantes no son simples .img. Para montar una imagen creada mediante clonezilla, hay que dar unos pasos previos para conseguir el fichero .img desde el cual podamos hacer el montaje.

Primero necesitamos instalar parclone si no lo tenemos ya. Lo haremos mediante apt-get install partclone a continuacion, creamos el fichero .img vacio mediante touch /tmp/particion.img (yo lo he generado en la carpeta tmp pero debereis cambiarlo a la ruta que vosotros querais)

Ahora es el momento de ejecutar el comando que convertirá los ficheros del clonezilla en fichero .img. Nos interesan los ficheros que terminan con ptcl-img.ga.aa ..ab ,etc que son los que contienen las imagenes del disco o particicion, para ello pondremos la ruta con un * al final para que los abarque todos. En nuestro ejemplo empiezasn por sda… porque la imagen se sacó del sda, en vuestro caso puede ser sdb,sdc, etc.

cat /rutadondetengaislosficherosdelclonezilla/sda1.ext4-ptcl-img.gz* | gunzip -c | partclone.restore –restore_raw_file -C -s – -O /tmp/particion.img

luego los descomprimimos, y los restauramos con el partclone sobre el fichero particion.img que hemos creado. Dependiendo del tamaño de los ficheros puede que tome un buen rato. Una vez acabe partclone, ya tenemos un fichero .img que podemos montar. Si medianate el montaje tenemos algún problema, podremos seguir lo que vimos en la entrada Montar imagenes en el sistema de ficheros, puesto que algunas veces al montar ficheros .img, debemos de conocer donde empiezan sus particiciones.

Nota: El parámetro –restore_raw_file hará que la imagen se descomprima como si fuera el disco o partición de destino y el tamaño a ocupar puede ser realmente grande. Podemos probar a no ponerlo, y si podemos montarlo sin problemas ok. Sino, deberemos conseguir un disco con espacio igual o mayor que el disco o partición que tenía nuestra imagen de clonezilla y utilizar el partclone con el parámetro –restore_raw_file.

Categorías
Hardware Linux

Borrar disco para dejarlo como nuevo desde linux

Si quieres borrar un disco de manera segura, y dejarlo «como nuevo» para utilizar en cualquier otro sistema, con esos sencillos commandos de linux lo podras conseguir.

Vamos a utilizar los siguientes comandos: dd, shred, sfdisk y wipefs. Con ellos sobreescribiremos todo el disco para asegurar la perdida de datos. Luego, eliminaremos las particiones que tenga el disco y finalmente borraremos el sistema de ficheros remanente que pueda quedar.

En el siguiente script, podeis observar los comandos y sus parámetros suponiendo que el disco sea /dev/sdb, solo tendríais que ajustarlo a al nombre del dispositivo que quisieseis eliminar.

//En el script suponemos que la unidad
//a eliminar es la sdb si fuese otra
//en vuestro caso cambiar sdb por la unidad correspondiente
//Primero borramos los datos de 
dd if=/dev/zero of=/dev/sdb bs=512 count=1

//si se quiere de una forma mas segura lo haremos con shred
//este paso es opcional
shred -n 5 -vz /dev/sdb

//ahora borraremos las tablas de particiones, tanto si son mbr o gpt

wipefs -af /dev/sdb

Recordad que el segundo paso (el uso de shred) es opcional ya que con dd ya se deberia sobreescribir toda la info, pero con shred, tendremos más seguridad de que los datos son eliminados. De todos modos, si eres un paranoico de la seguridad, utiliza los dos!!, cuando más azucar mas dulce.

Siguiendo los pasos descritos en el script, tendremos un disco como «nuevo», para volver a ser utilizado en cualquier sistema.

Categorías
Linux

Listar ficheros filtrando por tamaño en linux

Si quereis tener un listado de los ficheros que, por ejemplo, ocupan más de 500MB a partir de una ubicación, a continuación vais a ver de que modo se puede realizar.

Mediante el comando find, podemos obtener un listado de los ficheros que nos interesan.

find . -type f -size +500M

En el ejemplo, podemos ver como, el find busca en la carpeta actual «.» y subcarpetas, solo ficheros «type -f» con un tamaño mayor a 500 MBs, «size +500M» .

Como ejemplo, aqui veis un listado de ficheros mayores de 500MBs, el problema que podemos ver, es que primero, no sabemos cuanto ocupa cada fichero, segundo, no sabemos la ruta completa de todo el fichero.

Para solucionar estos problemas, ampliaremos nuestro comando con el parámetro «-exec ls -lh {} \;«. Con este parámetro le indicamos a find, para cada entrada que encuentres, haz un ls -lh, es decir para cada entrada que encuentres, muestra el tamaño y el path del fichero.

find . -type f -size +500M -exec ls -lh {} \;

Con lo que ahora nuestro listado de ficheros se verá tal que así.

Como podéis ver, ahora ya tenemos información del tamaño de los ficheros y de su ruta. De este modo, podremos tomar mejor nuestras decisiones respecto las acciones a tomar sobre los ficheros que cumplen nuestros criterios.

Categorías
Linux Seguridad Sin categoría

Recuperar ficheros con ddrescue

Para recuperar ficheros con ddrescue, primero deberemos instalarlo con apt-get install gddrescue (equipos basados en debian) una vez instalado, procederemos a utilizarlo del siguiente modo.

#Recuperamos el usb que tenemos como sdb en fichero /tmp/imagenrecuperada.img

ddrescue -d -r3 /dev/sdb /tmp/imagenrecuperada.img /mnt/test.logfile

Con la opción -d le decimos a ddrescue que acceda directamente al dispositivo y no utilice la cache del kernel, con -r 3 que intente hasta 3 veces si hay algun sector defectuoso que no lo lee a la primera. Esta opción se podria quitar.

Si todo sale ok nos saldra lo siguiente, donde nos indica el tamaño de la imagen recuperada etc.

Ahora ya tenemos una imagen del disco que al montarlo en el sistema de ficheros , podremos acceder a los ficheros sin problemas. Para ello deberemos «montar» la imagen en una carpeta.

Primero obtendremos de donde empieza la particion que queremos montar, para ello pondremos fdisk -l -u imagenrecuperada.img y obtendremos que cantidad es cada sector 512 y que nuestra imagen empieza en el sector 63, con lo que le tendremos que decir al comando mount que nuestro offset real es de 32256.

El comando para montarlo en carpeta(que abremos creado previamente ) es

mount -o loop,offset=32256 -t vfat /tmp/imagenrecuperada.img /tmp/ficherosarecuperar/

la opcion de loop es para cuando montamos ficheros en vez de dispositivos, el offset para indicar donde empieza nuestra particion y -t vfat para decirle que tipo de sistema de fichero es.

Hay una alternativa a este tipo de montaje que lo hace más sencillo, aquí podeis verlo (es la segunda manera de hacerlo) Montar imagenes en el sistema de ficheros

Ahora ya podemos recuperar todos nuestros ficheros. Suerte y a por ellos.

Categorías
Linux Sin categoría

Saber si un dispositivo se ha montado en RO o RW

En esta entrada veremos un script para saber si un dispositivo en concreto ( o un directorio), se ha montado en modo lectura RO o en modo escritura RW.

#este primer ejemplo nos dice si el dispositivo /dev/sdb1 está montado RO o RW, sino devolverá vacio.
grep /dev/sdb1 /proc/mounts |cut -d" " -f4|cut -d"," -f1

#en este caso lo mismo pero para un directorio
grep /media/usb /proc/mounts |cut -d" " -f4|cut -d"," -f1

Como podéis ver en los ejemplos, primero medianta grep, «filtramos» las entradas de los dispositivos montados por el valor de un dispositivo en concreto y en el segundo caso por un directorio, una vez filtramos la linea, con «cut» la cuarteamos primero por espacios y luego por las comas.

En la imagen de más abajo podéis ver un ejemplo que lo aclara aun más. Supongamos que queremos saber si la carpeta /run/user/116 esta montada como RO o RW, para ello filtraremos en el proceso de montaje mediante grep 116 /proc/mounts que nos dara tmpfs /run/user/116 tmpfs rw,nosuid,nodev,relatime, size=378280k,mode=700,uid= 116,gid=122 0 0 despues con cut -d» » -f4 dividiremos por los espacios y cogeremos el 4 elemento con lo que nos quedará rw,nosuid,nodev,relatime, size=378280k,mode=700,uid= 116,gid=122 0 0 por último volvemos a dividir, pero esta vez por la comas y nos quedamos con el primero con cut -d»,» -f1 que nos da rw que era lo que buscábamos desde un principio.

Categorías
Linux OMV

No puedes acceder por ssh a tu servidor openmediavault

Has acabado de finalizar mediante ssh tu servidor openmediavault. Estás orgulloso de ver como funciona, pero al día siguiente intentas volver a entrar a tu servidor mediante ssh y ya no puedes hacerlo. Intentas con otros usuarios y tampoco funciona!!! Tránquilo, hay solución, el openmediavault (aka OMV) te ha cambiado la configuraciónde usuarios.

El OMV una vez instalado, modificado los usuarios del sistema y deshabilitado a los usuarios del grupo ssh, debido a esto ya no te deja entrar por consola. Lo que debes hacer es volver a añadir a los usuarios que te interesen al grupo ssh. A continuación tienes los pasos de como hacerlo.

1.- Primero iremos a Servicios->ssh (1) y nos aseguraremos que el servicio está habilitado (2)

2.- A continuación, iremos al apartado de Permisos de acceso, usuario (1), eligiremos el usuario que queremos cambiar (en este caso usuario (2)), he ocultado los nombres reales por seguridad. Una vez seleccionado pulsamos Editar (3) y vamos a la pestaña Grupos (4), una vez allí bajamos hasta ssh (5) y lo seleccionamos.

Por último simplemente hacemos clic en Salvar y al preguntar aplicar cambios decimos que si.

Ahora si intentais entrar por ssh, ya no os pondra problemas. Espero que os funcione.

Categorías
Linux

Reemplazar en nano

Para reemplazar en nano hay que utilizar la combinación de teclas ^w (ctrl+w) para la búsqueda y luego ^\ (Ctrl+\) para el reemplazo, el problema es que con una configuración de teclado español, es muy complicado hacer el ctrl+\, por lo que en su lugar, teneis que hacer el Alt+r. Es decir para reemplazar en nano con un teclado español, hay que seguir la combinación Ctrl+w buscar el elemento, luego Alt+r confirmar el elemento buscado y luego reeemplazar con el texto final.

Categorías
Debian Linux

Linux no arranca grub_calloc error

En una de las pasadas actualizaciones de Debian 10, había un error que estropeaba el grub2 con lo que el equipo ya no arrancaba y además daba el siguiente error. «symbol ‘grub_calloc’ not found»

El modo de solucionarlo, es sencillo, pero laborioso a la vez, aquí os dejo una guía de como hacerlo.

1.- Debeis arrancar el sistema en modo rescue o un linux en modo live. Normalmente tendreis que utilizar un pen de instalación de Debian u otra distribución. En mi caso como tenia instalado un debian 10, lo hice con el mismo usb de la instalación, pero una vez en el menú de instalación, en vez de elegir la típica instalación, elegís «Advanced options«

2.- Luego la opción «Graphical Rescue Mode«

3.- A continuación os mostrará, varias pantallas para elegir idioma, donde podeis elegir spanish para español (en la imagen está english, debereis bajar más abajo hastallegar a Spanish)

4.- Configuración de ubicación, también elegiremos españa (o el país donde os encontreis, tampoco es muy importante)

5.- Ubicación de teclado, elegiremos español (o la distribución de teclado que realmente tengais)

6.- Lo mejor es quitar el cable, para evitar que el sistema busque la red (ya que no nos va a hacer falta). Sino es posible, elegir la opción de no configurar ahora la red.

Configuración de la red, lo podemos dejar por defecto, no tiene trascendencia ya que es un valor temporal. Lo más normal es que nos ponga algo como debian o similar.

7.- Configuración del reloj, dejamos península o elegimos el que corresponda, no tendrá mayor trascendencia.

8.- Acceder al modo rescate, este paso si es importante, puesto que vamos a elegir el dispositivo (realmente la partición) que se va a utilizar como sistema de ficheros raiz. Deberiamos de saber de antemano cual es pero en la mayoría de casos será el /dev/sda1 por lo que en nuestro caso lo dejaremos por defecto.

9.- Luego abriremos la consola eligiendo «Ejecutar un intérprete de órdenes en /dev/sda1» ya que hemos elegido sda1 como nuestro dispositivo.

10.- Nos mostrará un aviso de que va a montar /dev/sda1 en / y que abrirá allí la consola. Le daremos a continuar.

11.- Ahora viene el meollo del asunto. Debermos escribir el siguiente comando.

grub-install –root-directory=/ /dev/sda

Dicho comando hará lo siguiente: volverá a instalar el grub(encargado del arranque) en el dispositivo sda, y como root directory /. Si todo sale ok, os saldrá un mensaje diciendo «Instalación terminada. No se notificó ningun error«. A continuación ya podeis salir para reiniciar. No lo hagais como yo poniendo reboot(sino os dará ese tonto error 😉), sino que teneis que salir poniendo exit.

12.- Al poner exit os lleva a la última pantalla, donde le podeis dar a «Reiniciar el sistema» (acordaros de quitar el pen usb) y ya podeis reiniciar para que arranque el sistema sin problemas.

Espero que os sirva de ayuda, dejad vuestros comentarios.

Categorías
Linux Synology

Pasar contenido entre dos NAS synology con rsync

Aunque se pueden crear tareas dentro del propio NAS, así como pasarlo por smb,ftp, etc, en este caso vamos a ver como pasar contendio entre dos NAS de synology utilizando rsync.

Primero deberemos activar el ssh y el servicio de rsync en los dos NAS donde queremos hacer el traspaso (el ssh no haria falta en el de destino, pero vale la pena hacerlo para si más tarde el equipo de destino se convierte en el origen)

Para activar el rsync, iremos a (1)Panel de control, luego a (2) Servicios de ficheros, (3) pulsaremos la pestaña de rsync y (4) nos aseguramos que «Habilitar servicio rsync» esta activado, sino, lo activamos y pulsamos (5) aplicar.

Ahora activaremos el ssh, para ello, iremos al panel de control otra vez(1), en el apartado de (2)Terminal y SNMP y allí marcaremos (3)»Habilitar servicio SSH» y finalmente aplicar(4).

Con estos simples pasos ya podremos pasar contenidos de un NAS a otro, recordad que podeis entrar con ssh con el usuario admin y que todas las carpetas compartidas cuelgan de la carpeta /volume1 por lo que los comandos tendrán una pinta como esta.

En el ejemplo que os muestro a continuacion, tenemos el NAS1(origen) que tiene una carpeta compartida llamada COMPARTIDO y queremos pasar una carpeta que hay dentro llamada CARPETA1, la pasaremos al NAS2 (Destino), para ello donde pone IPNASREMOTO deberemos cambiarlo por su ip real, y meteremos dicha carpeta dentro de la carpeta compartida del NAS2 llamada COMPARTIDO2

rsync --progress -r /volume1/COMPARTIDO/CARPETA1 admin@IPNASREMOTO:/volume1/COMPARTIDO2

Otro ejemplo ejemplo lo podeis ver en la imagen de más abajo.(algunos datos ocultos simplemente por privacidad).

Si os ha gustado este artículo ponedlo en los comentarios y si alguien está interesado, explicaremos como pasar ficheros de este modo sin necesidad de poner passwords ya que se utilizarán llaves ssh en su lugar.

Categorías
Linux Windows Windows10

Como comprobar integridad de ficheros descargados

Para saber si tus ficheros descargados son íntegros, es decir que nadie los ha manipulado, que no se han dañado al descargargarse, etc. debemos hacer una comprobación de integridad. Generalmente muchos sitios web ofrecen la «huella» del fichero en MD5. De este modo, si comprobamos la «huella» del fichero una vez descargado y coincide, nos aseguramos de la integridad de nuestro fichero y de este modo evitamos brechas de seguridad o tener que volver a bajarnos los ficheros. A continuación os muestro que pasos debemos seguir para conseguir la «huella» MD5 de un fichero descargado.

Sistemas Windows

Hay muchas aplicaciones para el cálculo del MD5, pero el propio windows tiene el suyo. Se llama FCIV. Si no lo tenemos descargado e instlado, se puede descargar desde este link

https://www.microsoft.com/en-us/download/confirmation.aspx?id=11533

Una vez descargado e instalado, hay que ir a la consola de comandos  y simplemente escribir

FCIV -md5 nombrefichero

Por último, solo nos queda comprobar que coincide con el MD5 aportado por el origen.

Como ejemplo vamos a probar con la aplicación de dnielectronico. Descargamos el fichero desde aquí https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1104

Una vez descargado ponemos en la linea de comandos el comando que vemos en la imagen de más abajo.

Nos dará el MD5 que lo comprobaremos con e aportado por el origen

El origen tiene como MD5: 5a56053be031060e78a87a382e9ae3d

y como podemos ver COINCIDEN, por lo que podemos estar tránquilos que lo que hemos descargado es lo mismo que nos ofrece el origen.

Sistemas Linux

En los sistemas linux(mas acostumbrados a realizar estas comprobaciones), es incluso más fácil. Todas las distribuciones poseen el comando md5sum, con el, podemos conseguir lo mismo que con el FCIV de microsoft.

Tan solo deberemos de poner md5sum NOMBREFICHERO y conseguiremos su «huella». Veamos lo en el ejemplo anterior.

Resultado de md5sum en linux

Como podeis ver, da el mismo resultado (tal y como esperabamos) y por lo tanto la misma consecuencia, nuestro fichero es idéntico al de su origen.