Де саме зберігаються програми та файли в нестійкій живій системі?


8

Нещодавно мені потрібно було протестувати різні параметри завантаження ядра за допомогою живої системи, і мені довелося встановити програму для перевірки системної інформації про кожне завантаження (у мене не було наявного USB-накопичувача, а компакт-диск був більш надійним вибором на той момент).

Після декількох інсталяцій я почав замислюватися, де програма насправді "збережена", оскільки компакт-диск не має стійкої області, а також можна створити USB-накопичувачі без одного. Крім того, можна завантажувати файли або робити скріншоти з непостійною системою живлення та тимчасово зберігати їх у каталогах користувачів.

Де фактично збережені ці файли? Чи завантажуються вони в оперативну пам'ять, тому максимально доступна пам'ять для живої системи - це фактично ємність оперативної пам'яті машини? Чи встановлені програми зберігаються в кеш-пам'яті процесора чи в іншому місці повністю? Або ця інформація, можливо, записана на порожньому просторі носія CD? Це, очевидно, не може бути нерозподіленим місцем на жорсткому диску, оскільки живі системи також працюють з повністю зашифрованими або навіть повністю без встановлених жорстких дисків.

Відповіді:


10

Каже, непостійний. Тому вони не «зберігаються» (продовжують існувати) між перезавантаженнями. Що відбувається, так це те, що частина ОЗУ використовується як диск ОЗУ. По суті, частина вашої оперативної пам’яті використовується для імітації диска. Це все, що потрібно, насправді. Ось чому ви можете створювати файли на своєму / home / ubuntu під час сеансу LiveCD. Вони просто не виживуть (= зберігаються) після перезавантаження.

У мене немає підручника LiveCD, але спробуйте ввести df -hнаступний раз в термінал і шукайте /точку монтування. Подивіться на пристрій. Це, швидше за все, буде щось на кшталт tmpfs. (Цей один лайнер повинен дати вам лінію, яка вас цікавить df -h | grep \/$:)

Деякі читають про диски оперативної пам’яті .


3
Сьогодні це, швидше за все, aufsчи якась інша файлова система накладання - їх простіше налаштувати, ніж класичну tmpfsконфігурацію.
Марк

11

Жива система, що постачається разом з Ubuntu ISO, - це установка Ubuntu в стисненому файлі, який називається filesystem.squashfs. Цей файл має файлову систему SquashFS 1, яка порівнянна з файловою системою ISO компакт-дисків та DVD-дисків, яку можна монтувати та використовувати. 2

Цей файл знаходиться в /casper/каталозі компакт-диска. Ви можете навіть змонтувати цей файл так само, як і ISO-файли.

Цей файл встановлюється та завантажується в пам'ять під час завантаження, щоб використовуватись як жива система. Але повний файл не завантажується одразу, а лише необхідні частини / програми за запитом.

Жива система може створювати / змінювати файли носія за допомогою постійного файлу . Вперте файл , який використовується в Ubuntu називається casper-rwі містить файлову систему , як ext3або ext4що можуть бути перезаписані. У завантажувальному USB він знаходиться в корені диска.

Цей casper-rwфайл є збереження союзу встановлений в якості накладається файлової системи, що означає , як тільки для читання filesystem.squashfsі читання / запису casper-rwвстановлено на /. Будь-які файли, які були змінені або створені, зберігаються в цій файловій системі, що записується casper-rw. Таким чином, ефективно створюється ілюзія, що Live CD можна записати, де насправді їх немає.

Отже, відповідаючи на ваші запитання -

Де фактично збережені ці файли?

Відповідь наведена вище.

Чи завантажуються вони в оперативну пам'ять, тому максимально доступна пам'ять для живої системи - це фактично ємність оперативної пам'яті машини?

Я думаю, memoryви посилаєтесь на Космос. Ваше запитання: «Отже, максимально доступний простір для живої системи є акустично ємністю оперативної пам’яті машини»?

Ні. Максимально доступний обсяг пам’яті для живої системи - це розмір постійного файлу (якщо такий є) + простір заміни (якщо вони вже є) + оперативна пам’ять (його потрібно використовувати як сховище до перезавантаження)

Чи встановлені програми зберігаються в кеш-пам'яті процесора чи в іншому місці повністю?

Якщо ви встановите програму в системі Live без постійного файлу , вони будуть у вашій пам'яті. Якщо перезавантажити, все буде втрачено. Однак якщо ви використовуєте casper-rwстійкий файл, вони будуть збережені у цьому файлі та будуть доступні після наступної перезавантаження (за умови, що ви не видалили цей файл )

Або ця інформація, можливо, записана на порожньому просторі носія CD?

Ні, це не пише на компакт-диску. Як пояснено у попередній відповіді.

Сподіваюся, ви отримаєте свої відповіді.


Примітки:

  1. SquashFS - це файлова система лише для читання, яка дозволяє стискати цілі файлові системи або окремі каталоги, записувати їх на інші пристрої / розділи або в звичайні файли, а потім монтувати їх безпосередньо (якщо пристрій) або за допомогою пристрою із зворотним циклом (якщо це файл). Джерело

  2. Ви можете встановити його за допомогою таких команд sudo mount ./filesystem.squashfs /mnt -o loop

  3. З’єднання з'єднання - це спосіб об'єднання декількох каталогів у один, який, як видається, містить їх об'єднаний вміст. Джерело


Casper - привітний маленький привид файлової системи.
кіт

1
Дякую за детальне пояснення. Я не бачив, щоб ви додали відповіді на окремі запитання у своїй відповіді. Це пояснює це досить добре. Однак я не до кінця зрозумів розділ про casper -rw, особливо значення "Таким чином, ефективно створюється ілюзія, що Live CD можна записати, де насправді їх немає.", Але, мабуть, мені просто доводиться читати далі що. Однак ви відповіли на питання, оскільки постійний файл недоступний на носії компакт-дисків, а своп-файл може логічно існувати лише в оперативній пам'яті, саме там інформація зберігалася в моєму випадку.
Прототип700

1
Я пояснюю Ілюзійну частину. Файли читання / лише встановлені на /. Ви бачите їх , як /usr/, /var/, і /homeт.д. в Live CD, ви не можете створювати, змінювати файли, гне своє. Так, ви можете створювати, змінювати, але це зникне так, як вони є насправді в оперативній пам'яті. Це те саме в Live USB без збереження файлу чи casper-rwфайлу
Anwar

1
Але в Live USB з файлом збереження цей теж встановлений /. Отже, коли ви створюєте файл у своєму /homeкаталозі, він фактично зберігається у casper-rwфайлі, але ви думаєте, що це вміст компакт-диска. Якщо ви відкриєте casper-rw, ви отримаєте всі змінені / оновлені файли там у відповідному місці. Оскільки це встановлюється над оригінальним лише для читання, таким чином створюється Ілюзія
Anwar

2
Інша справа, що ваша приказка "Файл swap може логічно існувати лише в оперативній пам'яті", невірна. Swap - це розділ або файл, що зберігається на диску та встановлюється для використання під час завантаження. Прекрасна річ, якщо ваш диск вже має розділ Swap, ваш живий ubuntu розпізнає його та використовуватиме його. Але так, він є непостійним і очищається при перезавантаженні @ Prototype700
Anwar
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.