web-dev-qa-db-fra.com

Où sont exactement les programmes et les fichiers enregistrés sur un système live non persistant?

Récemment, j’avais besoin de tester diverses options de démarrage du noyau avec un système actif et d’installer un programme permettant de vérifier les informations système à chaque démarrage (je n’avais pas de clé USB disponible et le CD était le choix le plus fiable à ce moment-là).

Après une poignée d'installations, j'ai commencé à me demander où le programme est réellement "enregistré", car le CD n'a pas de zone persistante et qu'il est également possible de créer des clés USB sans carte. En outre, il est possible de télécharger des fichiers ou de faire des captures d'écran avec un système en direct non persistant et de les enregistrer temporairement dans les répertoires de l'utilisateur.

Où ces fichiers sont-ils réellement enregistrés? Sont-ils chargés dans la RAM, de sorte que la mémoire maximale disponible pour le système actif est en réalité la capacité RAM de la machine? Les programmes installés sont-ils stockés dans le cache de la CPU ou ailleurs? Ou bien cette information est-elle éventuellement écrite sur un espace vide du CD? De toute évidence, il ne peut pas s'agir d'un espace de disque dur non alloué, car les systèmes en direct fonctionnent également avec des systèmes entièrement chiffrés ou même complètement sans disques durs installés.

8
Prototype700

Il dit non persistant. Donc, ils ne "persistent" pas (continuent d'exister) entre les redémarrages. En réalité, une partie du RAM est utilisée comme disque RAM. Essentiellement, une partie de votre RAM est utilisée pour simuler un disque. C'est tout ce qu'il y a à faire, vraiment. C'est pourquoi vous pouvez créer des fichiers sur votre/home/ubuntu pendant une session LiveCD. Ils ne vont tout simplement pas survivre (= persister) après le redémarrage.

Je n'ai pas de LiveCD à portée de main, mais essayez de taper df -h dans le terminal la prochaine fois et cherchez le point de montage /. Regardez l'appareil. Ce sera probablement quelque chose comme tmpfs. (Cette doublure devrait vous donner la ligne qui vous intéresse: df -h | grep \/$)

Quelques lectures sur disques RAM .

10
jawtheshark

Le système live fourni avec l'image ISO d'Ubuntu est une installation Ubuntu dans un fichier compressé appelé _filesystem.squashfs_. Ce fichier a un système de fichiers de SquashFS1 qui est comparable au système de fichiers ISO de CD & DVD, qui peut être monté et utilisé.2

Ce fichier se trouve dans le répertoire _/casper/_ du CD. Vous pouvez même monter ce fichier de la même manière que vous pouvez monter des fichiers ISO.

Ce fichier est monté et chargé en mémoire lors du démarrage pour être utilisé comme système actif. Mais le fichier complet n'est pas chargé en une fois, mais uniquement les portions/programmes requis à la demande.

Un système en direct peut créer/modifier des fichiers du support à l’aide d’un fichier persistant . Le fichier persistant utilisé dans Ubuntu est nommé _casper-rw_ et contient un système de fichiers tel que _ext3_ ou _ext4_, accessible en écriture. Dans une clé USB amorçable, cela réside à la racine du lecteur.

Ce fichier de persistance _casper-rw_ est monté sur l’union en tant que système de fichiers superposé, ce qui signifie que le __ en lecture seule _filesystem.squashfs_ et en lecture/écriture _casper-rw_ sont montés sur _/_. Tous les fichiers modifiés ou créés sont enregistrés dans ce système de fichiers accessible en écriture de _casper-rw_. Ainsi, créer efficacement l’illusion que le Live CD est en écriture, alors qu’ils ne le sont pas.

Alors, répondant à vos questions -

Où ces fichiers sont-ils réellement enregistrés?

Réponse donnée ci-dessus.

Sont-ils chargés dans la RAM, de sorte que la mémoire maximale disponible pour le système actif est en réalité la capacité RAM de la machine?

Je suppose que, par memory vous faites référence à l’espace. Votre question est la suivante: "L’espace maximal disponible pour le système actif est en réalité la capacité de la RAM de la machine"?

Non. Le stockage maximal disponible pour un système actif est la taille du fichier persistant (le cas échéant) + espace de permutation (s'ils existent déjà) + RAM (il doit être utilisé comme stockage jusqu'au redémarrage )

Les programmes installés sont-ils stockés dans le cache de la CPU ou ailleurs?

Si vous installez un programme dans le système Live sans fichier persistant , ceux-ci seront dans votre mémoire. Si vous redémarrez, tout sera perdu. Toutefois, si vous utilisez un fichier persistant _casper-rw_, ceux-ci seront enregistrés dans ce fichier et seront disponibles après le prochain redémarrage ( à condition que vous n'ayez pas supprimé ce fichier )

Ou bien cette information est-elle éventuellement écrite sur un espace vide du CD?

Non, cela n’écrit pas sur le CD. Comme expliqué dans la réponse précédente.

J'espère que vous obtenez vos réponses.


Remarques:

  1. SquashFS - Il s’agit d’un système de fichiers en lecture seule qui vous permet de compresser des systèmes de fichiers entiers ou des répertoires uniques, de les écrire sur d’autres périphériques/partitions ou dans des fichiers ordinaires, puis de les monter directement (s’il s’agit d’un périphérique) ou d’utiliser un périphérique en boucle (si c'est un fichier). Source

  2. Vous pouvez le monter en utilisant des commandes telles que _Sudo mount ./filesystem.squashfs /mnt -o loop_

  3. Le montage en union est un moyen de combiner plusieurs répertoires dans un répertoire qui semble contenir leur contenu combiné. Source

10
Anwar