Un sistema recovery para que me dejen en paz

Foro para discutir sobre la documentación en linux (libros, ebooks, documentos, editoriales, autores, etc), así como temas publicados en el sitio.
Responder
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1807
Registrado: Dom Oct 10, 2004 7:00 am

Un sistema recovery para que me dejen en paz

Mensaje por neurus » Dom Abr 27, 2014 10:57 am

Hace un tiempo se posteó algo similar. Sin embargo, además de ser demasiado vueltero, la idea de hacerlo con dd no me resultaba demasiado convincente.

Hoy me trajeron una máquina que había sido íntegramente encriptada por un troyano. Obviamente, los archivos se perdieron. Pero como la máquina es de un amigo, además de amonestarlo con explicaciones del tipo: ¿viste esos cartelitos que dicen que te ganaste un millón de dólares? ¡Son mentira!. No hay que darle click a cualquier cosa. No hay antivirus que te proteja de eso.

En fin, decidí tirarle una imagen Windows Seven + MSOffice 2010 (la máquina es bastante modesta). No, yo no evangelizo. Todos los que me conocen saben que uso Linux. Que no necesito antivirus. Que el resto use lo que le venga en gana.

Y me planteé hacerle un sistema de recuperación, para que la próxima vez simplemente lo arregle él.

Cuento en qué consiste:

Partición Windows /dev/sda1
Partición Documentos /dev/sda2
Partición Linux (Debian) /dev/sda3

No voy a contar cómo instalar Windows, o cómo cambiar sus variables de entorno para que use por defecto el disco D: como entorno de usuario (si alguien está interesado, que busque los comandos SET y SETX en google).

1- En Debian -mínimo, ni siquiera hace falta interfaz gráfica- instalo partimage, sudo y dialog (únicas aplicaciones extra necesarias).

2- Configuro Sudo (visudo, agregar la línea usuario ALL=(ALL:ALL) NOPASSWD:ALL)

3- Configuro autologin: edito como root /etc/inittab, reemplazando la línea 1:23:respawn:/sbin/getty 38400 tty1 por

1:2345:respawn:/sbin/getty --autologin usuario --noclear tty1.

4- armo la imagen de Windows: partimage -b -z1 save /dev/sda1 nombreimagen (la imagen debe estar en la home del usuario, por lo que lo más cómodo es hacer un cd a /home/usuario antes de empezar). Si tienen tiempo y paciencia, pueden usar -z2 o -z3, que son niveles mayores de compresión (claro que tarda más en crear la imagen).

Para armar la imagen, también se puede ejecutar partimage sin argumentos, y seguir los pasos en una interfaz similar al viejo Norton Ghost.

5- Armo este script (digamos que lo llamo restaurar) :

Código: Seleccionar todo

#!/bin/sh
dialog --yesno "¿Desea reinstalar su sistema principal?" 0 0;\
case $? in
0)
echo "sudo partimage -b restore /dev/sda1 nombreimagen && sudo reboot";;
1)
echo "sudo reboot";;
255)
exit;;
esac
Le doy permisos de ejecución como usuario: chmod u+x restaurar; sudo mv restaurar /usr/local/bin. Y, por las dudas: chown usuario /usr/local/bin/restaurar .

Nota: para evitar accidentes, el script del post sólo lanza un "echo". Para que el script haga lo que tiene que hacer, hay que quitar echo y las comillas de los ítems 0) y 1).

6- Edito directamente grub.cfg (esto no hay que hacerlo en un sistema que se actualizará a menudo, pero es lo más rápido en un sistema que sólo está allí para usar partimage): nano /boot/grub/grub.cfg

Cambio el '0' por lo que corresponda (casi siempre 2):

Código: Seleccionar todo

if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

La próxima vez que el sistema no tolere más al usuario, éste debe escoger Linux, o Debian (lo que diga la primera entrada de grub), esperar que termine de cargar el sistema (unos cinco segundos), escribir "restaurar", dar enter, esperar unos quince minutos y la máquina se reiniciará en Windows, como si Juan Usuario nunca hubiera hecho de las suyas.

Esto no es una revolución. Pero al menos sé que no me volverán a llamar hasta que realmente tengan algo dañado. Algo que no sea el cerebro.

PD: es obvio, pero he visto cosas peores. Deben reemplazarse todas las ocurrencias "usuario" por el usuario por defecto del sistema; todas las ocurrencias /dev/sda1 por la partición que corresponda y las ocurrencias "nombreimagen" por el nombre que hayan escogido.

Y por si se lo preguntan: sí, también sirve para respaldar una partición Linux.

Saludos.
Avatar de Usuario
hmg79
Forista Legendario
Forista Legendario
Mensajes: 2211
Registrado: Lun Mar 31, 2008 8:00 am

Re: Un sistema recovery para que me dejen en paz

Mensaje por hmg79 » Dom Abr 27, 2014 3:21 pm

Gracias neurus esta bueno el sistema, hace rato que vengo pensando eso, pero justamente el tema de set y setx que no las conocia me detenian.-

Si los que te conocemos sabemos bien que usas el SO que necesitas y cuando lo necesitas, y yo por ejemplo que en una epoca no queria usar otra cosa que no fuese linux, hoy en día tengo que andar con windows encima originales.-

PD: Voy a imprimir esto a ver si agarro mi cacharro de pruebas y lo arno.-
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1807
Registrado: Dom Oct 10, 2004 7:00 am

Re: Un sistema recovery para que me dejen en paz

Mensaje por neurus » Dom Abr 27, 2014 9:11 pm

De hecho, en mi trabajo uso mayormente Windows. Básicamente porque no estoy solo. Cuando yo no estoy en la máquina, el que se siente debe encontrarse con algo que sepa usar. Windows funciona como una especie de común denominador en los ámbitos laborales.

Sin embargo, cuando hay que hacer operaciones más o menos complejas con bases de datos, resulta que ninguna herramienta es tan rápida y práctica como las que ofrecen los Unix. Así que tengo un cygwin portable con el que resuelvo, en bash, con sed, gawk, y demás herramientas, cuestiones que podrían llevar horas de programación en Windows.

Y tengo mi notebook con Debian, claro, para casos de emergencia, o simplemente para desintoxicarme.

En cuando a las variables de entorno de Windows, si te interesa el tema, te comento que en cmd las verás siempre igual a pesar de las que agregues. El cambio se ve dando click derecho en equipo, propiedades, administración avanzada, variables de entorno. Y creo que también hay que cambiar las rutas de los accesos directos del menú inicio.

Saludos.

PD: en el post anterior no hablé de tamaños de particiones, porque me pareció muy obvio. Pero, por si resulta útil el dato: un Windows seven, con MsOffice, antivirus (avast), Firefox y Chrome, ocupa alrededor de 16 GB (la partición es de 30, porque Juan Usuario seguramente acabará instalando programas berretas en C, personalizar la instalación es demasiado para él). El tamaño de la imagen, alrededor de 12GB, y el sistema Linux, dejándole espacio libre por las dudas, unos 2GB. Hice la partición de 20GB, para no errarle.
Avatar de Usuario
Fanton
Forista Distinguido
Forista Distinguido
Mensajes: 1339
Registrado: Jue Ene 08, 2009 8:00 am
Ubicación: Magdalena [Argentina]
Contactar:

Re: Un sistema recovery para que me dejen en paz

Mensaje por Fanton » Lun Abr 28, 2014 12:21 pm

Esta excelente neurus, por mi lado e visto muchos recovery de alrededor de 40 gb, así que los tamaños están muy bien y la verdad es un aporte grandioso. Saludos
Diplomacia, es el arte de saber lo que no se debe decir...
_________________
Hardware: Intel i5-3570k | ASUS P8H77-M |HD [500GB] [1 TB] | Ram 8 GB | GPU: Nvidia GeForce 210/1 GB
S.O. Debian@testing x86_64 Openbox
Linux user #506272
Avatar de Usuario
cronos
Forista Mayor
Forista Mayor
Mensajes: 679
Registrado: Mar Feb 21, 2006 8:00 am
Ubicación: Lima - Perú
Contactar:

Re: Un sistema recovery para que me dejen en paz

Mensaje por cronos » Vie May 02, 2014 10:32 pm

Excelente tip neurus, justo pensaba implementar algo parecido.

Saludos.
Twitter: @cronos426 | IRC/Matrix: cronos/cr0n0s
Debian Testing «bullseye» openbox/i3wm | Manjaro openbox/i3wm | FreeBSD openbox
"H4ck Your Life"
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje