Где именно программы и файлы сохраняются в нестабильной действующей системе?
Недавно мне нужно было протестировать различные варианты загрузки ядра с работающей системой, и мне пришлось устанавливать программу для проверки системной информации при каждой загрузке (у меня не было USB-накопителя, и компакт-диск был более надежным выбором в тот момент).
После нескольких инсталляций я начал задаваться вопросом, где программа на самом деле "сохраняется", поскольку на компакт-диске нет постоянной области, а также можно создавать USB-накопители без нее. Кроме того, можно загружать файлы или делать скриншоты с непостоянной действующей системой и временно сохранять их в пользовательских каталогах.
Где эти файлы на самом деле сохранены? Они загружены в ОЗУ, поэтому максимальный объем доступной памяти для работающей системы фактически равен объему ОЗУ машины? Установленные программы хранятся в кэше процессора или где-то еще целиком? Или эта информация, возможно, записана на пустом месте носителя CD? Очевидно, это не может быть нераспределенное пространство на жестком диске, поскольку работающие системы также работают с полностью зашифрованными или даже полностью без установленных жестких дисков.
2 ответа
Это говорит непостоянно. Таким образом, они не "сохраняются" (продолжают существовать) между перезагрузками. Что происходит, так это то, что часть ОЗУ используется как ОЗУ. По сути, часть вашей оперативной памяти используется для имитации диска. Это все, что нужно, на самом деле. Вот почему вы можете создавать файлы в вашем / home / ubuntu во время сеанса LiveCD. Они просто не выживут (= сохранятся) после перезагрузки.
У меня нет под рукой LiveCD, но попробуйте набрать df -h
в следующий раз в терминале и искать /
точка крепления. Посмотри на устройство. Скорее всего это будет что-то вроде tmpfs
, (Этот лайнер должен дать вам интересующую вас строку: df -h | grep \/$
)
Некоторое чтение о RAM дисках.
Действующая система, поставляемая с Ubuntu ISO, представляет собой установку Ubuntu в сжатом файле filesystem.squashfs
, Этот файл имеет файловую систему SquashFS 1, которая сопоставима с файловой системой ISO компакт-дисков и DVD-дисков, которые можно монтировать и использовать. 2
Этот файл находится в /casper/
каталог компакт-диска. Вы даже можете монтировать этот файл так же, как вы можете монтировать файлы ISO.
Этот файл монтируется и загружается в память во время загрузки для использования в качестве работающей системы. Но полный файл загружается не сразу, а только необходимые части / программы по запросу.
Live System может создавать / изменять файлы мультимедиа с помощью постоянного файла. Постоянный файл, используемый в Ubuntu, называется casper-rw
и содержат файловую систему, как ext3
или же ext4
которые доступны для записи. В загрузочном USB это находится в корне диска.
это casper-rw
файл постоянства монтируется как объединенная файловая система, что означает, что оба доступны только для чтения filesystem.squashfs
и чтение / запись casper-rw
установлены на /
, Любые файлы, которые были изменены или созданы, сохраняются в этой доступной для записи файловой системе casper-rw
, Таким образом, эффективно создается иллюзия, что Live CD доступен для записи, а на самом деле это не так.
Итак, отвечая на ваши вопросы -
Где эти файлы на самом деле сохранены?
Ответ дан выше.
Они загружены в ОЗУ, поэтому максимальный объем доступной памяти для работающей системы фактически равен объему ОЗУ машины?
Я полагаю, по memory
Вы имеете в виду пространство. Ваш вопрос: "Итак, максимально доступное пространство для работающей системы - это объем оперативной памяти машины"?
Максимально доступное хранилище для работающей системы - это размер постоянного файла (если он есть) + пространство подкачки (если они уже существуют) + оперативная память (его необходимо использовать в качестве хранилища до перезагрузки).
Установленные программы хранятся в кэше процессора или где-то еще целиком?
Если вы установите программу в систему Live без постоянного файла, они будут в вашей памяти. Если вы перезагрузитесь, все будет потеряно. Однако, если вы используете casper-rw
постоянный файл, они будут сохранены в этом файле и будут доступны после следующей перезагрузки (при условии, что вы не удалили этот файл)
Или эта информация, возможно, записана на пустом месте носителя CD?
Нет, он не записан на компакт-диске. Как объяснено в предыдущем ответе.
Надеюсь, вы получите ответы.
Заметки:
SquashFS - это файловая система только для чтения, которая позволяет сжимать целые файловые системы или отдельные каталоги, записывать их на другие устройства / разделы или в обычные файлы, а затем монтировать их напрямую (если это устройство) или использовать устройство с обратной связью (если это файл). Источник
Вы можете смонтировать его с помощью команд, таких как
sudo mount ./filesystem.squashfs /mnt -o loop
Объединение монтирования - это способ объединения нескольких каталогов в один, который содержит объединенное содержимое. Источник