RSS

“Deep Freeze casero” para GNU/Linux

24 Abr

En un GNU/Linux basado en Debian (como Ubuntu), podemos crear un par de sencillos scripts para obtener una funcionalidad similar al conocido “Deep Freeze”: que la computadora vuelva a su estado original cada vez que se reinicia. Mejor aún: cada vez que se reinicia, o cuando nosotros queramos.
(Ya que estamos, tenía la duda: se dice queramos y no querramos. Fuente.) En fin, paso a explicar.
El abominable Tux de las nieves.

  1. Suponemos que hay un usuario “pruebas”, recién creado, cuyo “home” (/home/pruebas) queremos resguardar.
  2. Vamos a guardar el estado actual de /home/pruebas. Abrimos una terminal. Escribimos:
    sudo gedit /root/guardar.sh
    Eso nos abre el editor de textos, para que creemos el archivo guardar.sh que se guardará en /root (podría guardarse en otra carpeta). En este archivo escribimos:

    #!/bin/bash
    rm -f /root/respaldo.tar
    tar -cpPf /root/respaldo.tar /home/pruebas

    (La primera línea borra cualquier respaldo anterior si es que hubiera alguno. La segunda crea una copia).
    Guardamos y salimos. Luego le asignamos permiso de ejecución al archivo:
    sudo chmod 744 /root/guardar.sh
    De este modo cualquier usuario con permiso de hacer sudo podrá crear una copia de seguridad del estado actual del usuario “pruebas”, en el momento que desee.
  3. Ahora vamos a preparar el script que recuperará el estado original de la sesión del usuario “pruebas”. Desde la terminal:
    sudo gedit /root/recuperar.sh
    En ese archivo escribimos:

    #! /bin/bash
    rm -fR /home/pruebas
    tar -xpPf /root/respaldo.tar

    y de nuevo le esignamos permiso de ejecución, desde la terminal:
    sudo chmod 755 /root/recuperar.sh
  4. El script está listo. Cada vez que queramos volver al usuario “pruebas” a su estado original ejecutamos desde un terminal:
    sudo /root/recuperar.sh (El usuario “pruebas” no debe estar logueado).
  5. ¡Listo! Si queremos que funcione como el famoso Deep Freeze, solamente tenemos que hacer que se ejecute al iniciar GNU/Linux.

Fuentes: 1 2 Imagen

Aviso: Uso este script hace años en la escuela en donde trabajo, siempre con buenos resultados. Pero de ninguna manera me hago cargo de pérdidas de información u otros daños que su uso pudiera ocasionar.

 
14 comentarios

Publicado por en 24/04/2011 en Utilidades

 

Etiquetas: , , , ,

14 Respuestas a ““Deep Freeze casero” para GNU/Linux

  1. ignorante

    25/04/2011 at 12:04

    Sólo se guardan los documentos y la configuración del usuario. Y además no es automático así que tiene que venir el usuario con permiso de sudo a hacer las cosas.

     
  2. profejuanse

    25/04/2011 at 12:11

    Lo primero que decís es cierto: sólo se guarda lo que está en la “home” del usuario: sus documentos y configuración. Pero es lo único que el usuario puede cambiar, sin permiso de root. Los cambios que produzca el usuario root no se guardan. Yo lo uso en una escuela, en donde los estudiantes no tienen permiso de root.
    Respecto a que no es automático: al final del post digo lo siguiente.
    “Si queremos que funcione como el famoso Deep Freeze, solamente tenemos que hacer que se ejecute al iniciar GNU/Linux.”
    Es decir: puede utilizarse en forma automática o no, según las preferencias del usuario.
    Gracias por comentar.

     
  3. ignorante

    25/04/2011 at 12:49

    Me parece que hay 2 cosas diferentes.
    Una cosa es el deep freze que tiene como objetivo que los virus, troyanos, programas spyware, extensiones del navegador y programas en general que instale un usuario de windows no obliguen a reinstalar windows cada tanto por degradación del rendimiento o inseguridad. Permite volver a un estado “bueno” al reiniciar.

    El deep freeze permite freezar el sistema y no freezar la carpeta mis documentos y documents and settings, lo que es exactamente lo contrario a lo que el script que publicaste hace. Freeza la home del usuario y no freeza el sistema.

    Ese programa, existe porque usar windows con una cuenta de usuario limitado es imposible. Un usuario limitado no puede instalar programas y muchos programas directamente no andan si el usuario no es administrador. Windows desde XP trata de solucionar eso, aún en 7 no lo logró del todo, sobre todo por los programas viejos que no están adaptados y la inercia de la cultura de los programadores de aplicaciones de windows que piensan que pueden escribir en las carpetas windows y archivos de programa.

    En linux, el deep freez lo tenés por default. Todo usuario que no esté en sudores (no adminstrador) no puede modificar el sistema y sí puede modificar la configuración de su usuario para cuando ejecuta sus programas. Sería un deep freeze dejando mis documentos y documents and settings sin freezar.

    Tu script apunta a que cada tanto se resetee la configuración de ese usuario. Eso puede tener algún sentido (si los usuarios hacen muchos cambios de confoguración) pero no tiene nada que ver con el uso que se le da al deep freeze en windows.

     
  4. profejuanse

    25/04/2011 at 15:50

    Al menos, es exactamente el mismo uso que yo le daba al Deep Freeze en Windows. Me explico. Trabajo en una escuela en donde las mismas PC son utilizadas por estudiantes que tienen entre 4 y 18 años.
    Cuando había Windows, teníamos Deep Freeze, para que un estudiante, por error o mala intención, no perjudicara al resto. Cuando migramos a GNU/Linux sabíamos que, como vos decís, el sistema estaba a salvo “por default”, pero no así la carpeta home de cada usuario.
    Este script vino a reemplazar al Deep Freeze, al menos para el uso que nosotros le dábamos.
    Por lo tanto, es errónea tu afirmación de que “no tiene nada que ver con el uso que se le da al DF en Windows”. En todo caso, no tiene nada que ver con el uso que vos le das al Deep Freeze.
    También reconozco que el título del post no es adecuado, debería decir algo así como “Script que reemplaza una de las funcionalidades que tiene el Deep Freeze”.
    Te pido disculpas si el título del post te desorientó. Gracias por comentar.

     
  5. elproferoman

    06/10/2011 at 22:31

    Genial solución… la voy a implementar en mi colegio.

    Gracias Profejuanse!

     
    • Juan Marquez

      07/10/2011 at 10:07

      Gracias a vos por leerlo. Me alegro de que sea útil. Saludos.

       
  6. rolfox

    07/10/2011 at 10:50

    Así es… está buena tu idea.
    Salu2
    Rolfo

     
  7. preguntador

    21/11/2011 at 3:22

    hola podrias decir el paso 5
    “¡Listo! Si queremos que funcione como el famoso Deep Freeze, solamente tenemos que hacer que se ejecute al iniciar GNU/Linux.”

    por que se tendría que ejecutar antes de iniciar sesión

     
    • Juan Marquez

      21/11/2011 at 9:16

      ¡Hola! Gracias por comentar.
      ¿Podrías decirnos qué distribución estás usando, así te indicamos cómo ejecutar el script antes de iniciar sesión?

      Una observación: uno dedica tiempo a compartir estas cosas solamente por la gratificación de saber que a otros les fue útil. Sería lindo que pudieras decirnos en dónde vas a aplicar esto. Si querés conservar el anonimato, nomás contanos algo así como “Me llamo Juan, y lo voy a usar en una escuela de Rosario”, por ejemplo. Gracias.

       
  8. preguntador

    01/12/2011 at 23:35

    hola e vuelto estaba usando lubuntu
    no vine antes por que agregar el scrip a rc.local casi destruyo mi sistema

    te contare cree los dos script permisos de ejecución y blablabla y lo guarde en /bin
    como estaban guardando el respaldo en root entonces lo ejecute con sudo como dio error en un archivo gvfs reinicie en modo recuperación y ejecute el escript de respaldo luego agregue el script de recuperación a rc.local al reiniciar en modo normal no recupero nada y dejo de funcionar todo el escritorio
    despues de varios intentos me di cuenta de que el script en rc.local solo borraba el /home/usuario pero no descomprimía el tar ahora me doy cuenta de que al parecer era problema de permisos por guardar la copia en /root, pero no e echo las pruebas aun

    al final elimine la linea en /etc/rc.local y ejecute el script de recuperación en forma manual y volvió a funcionar todo

    y para que lo quiero para nada de momento es solo para hacer unas pruebas de software y que el equipo que voy a usar de pruebas no se llene de cosas luego otras cosas

    perdona pero es que voy un poco leento

    saludos

     
    • Juan Marquez

      03/12/2011 at 8:12

      Bueno, parece que ya has podido hacer que el script se ejecute al iniciar GNU/Linux.
      Te hago una advertencia: puesto así, el script copia toda la /home/usuario cada vez que se inicia. Esto incrementa drásticamente el uso del disco en cada reinicio. No soy experto en hardware, pero me parece que, con un uso tan intensivo podría verse perjudicado el rendimiento del disco a largo plazo (que se rompa antes).
      Saludos.

       
  9. Don Quito

    18/11/2013 at 15:26

    ¡Hola! Te hago una consulta: armé el script en una terminal con ubuntu 12.04 y pareciera que funciona para lo que es configuración de aplicaciones, pero no así para los archivos del escritorio. Necesitaría que el escritorio permanezca siempre igual, no obstante la recuperación de la carpeta de inicio no parece tomar en cuenta la adición de archivos en el desktop. ¿Alguna idea de por qué sucede esto? ¡Grcias!

     
    • Juan Marquez

      18/11/2013 at 18:35

      No, ni idea. Hasta donde yo entiendo, el escritorio debería permanecer siempre igual. Es decir: si tu escritorio es una subcarpeta de tu carpeta home ( /home/tuUsuario/Escritorio o /home/tuUsuario/Desktop ), no debería ser tratada especialmente, es una carpeta más, y por lo tanto debería permanecer intacta. Saludos.

       

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: