Cet assistant ne fonctionne que lorsque PUPPY/TOUTOU tourne depuis un lecteur USB.

Le type de mémoire utilisé par les lecteurs USB ne peut supporter qu'environ 1 000 000 lectures/écritures d'opérations. Cela crée un problème en exécutant n'importe quel programme, et particulièrement un système d'exploitation, depuis un lecteur USB. Le problème est : comment éviter à  l'USB de fréquentes écritures ?

PUPPY/TOUTOU résoud ce problème en utilisant unionfs (ou aufs, celà  dépend de la version de PUPPY/TOUTOU). C'est expliqué ici, voir la section à  propos de PUPMODE 13.  Unionfs  permet de garder tous les changements du système de fichiers dans la RAM. Par exemple, supposez que vous ayez un fichier sur votre lecteur USB et que vous modifiez ce fichier. Quand vous modifiez le fichier, PUPPY/TOUTOU en réalité copie d'abord le fichier en RAM et garde ensuite le fichier modifié dans la RAM. Ainsi, toutes les modifications du système de fichiers sont en réalité stockées dans la RAM.

Cela résout le problème de fréquentes écritures en mémoire USB. Mais tout de même, à  un certain moment nous devons "sauvegarder" tous les changements de la RAM vers la mémoire USB. Sinon les changements seront perdus après le reboot.


Il y a plusieurs façons d'organiser la sauvegarde de la RAM vers l'USB. La chose la plus naturelle est de sauvegarder régulièrement, toutes les 30 minutes. C'est l'option par défaut. Les deux autres options sont :
La deuxième option est utile quand vous testez quelques modifications (comme l'installation d'un nouveau programme) et pas sûr que vous apprécierez le résultat, vous pourriez alors vouloir revenir en arrière. Désactivez seulement la sauvegarde de la RAM vers USB et tous les changements seront perdus après le reboot. Et si vous aimez vraiment les changements que vous avez faits, vous pouvez toujours activer la sauvegarde, donc vos changements persisteront après le reboot.


Les "options avancées" sont nécessaires pour la sauvegarde des prétendus fichiers whiteout.
Attention : les options avancées seront réinitialisées après le reboot.
Une brève explication des fichiers whiteout:
  1. Les fichiers whiteout simples. Les fichiers whiteout sont nécessaires quand vous voulez effacer un fichier sur l'USB. En même temps, dans PUPPY/TOUTOU le fichier n'est pas réellement effacé, mais au lieu de cela le "fichier whiteout" spécial est créé dans le disque virtuel, qui indique au système qu'il devrait ignorer ce fichier "effacé" et le rendre invisible. Qu'est-ce qui arrive à  ce "fichier whiteout" pendant la sauvegarde ? En réalité le plus naturel serait d'effacer ce fichier de l'USB laquelle serait "blanchie". Après que ce fichier ait été effacé, le "fichier whiteout" lui-même n'est désormais plus nécessaire, aussi donc nous l'effaçons simplement .. Cependant, ce n'est pas toujours la chose juste à  faire. Le problème étant que quelques fichiers du fichier-système de PUPPY/TOUTOU viennent des "squashs". Les squashs sont des fichiers-systèmes compressés en lecture-seule. En réalité vous ne pouvez pas effacer le fichier sur le squash, car le squash est en lecture- seule. Si vous voulez vraiment vous débarrasser d'un tel fichier, tout ce que vous pouvez faire est de créer un whiteout pour cela. Maintenant, la question est, voulons-nous que ce whiteout soit conservé quand nous sauvegarderons des fichiers de la RAM vers l'USB ? Si nous ne le faisons pas, alors le fichier "effacé" depuis le squash réapparaà®tra après le reboot. Par défaut les fichiers whiteout ne sont pas sauvegardés.
  2. Les fichiers whiteout Dir-opaque. Le fichier .wh. __ dir_opaque indique au système d'ignorer tous les fichiers dans les dossiers possibles portant le même nom dans l'arborescence basse du fichier-système. De même, les fichiers dir_opaque ne sont pas sauvegardés par défaut.