Как я постоянно монтирую отдельный раздел как папку в отдельном домашнем разделе?

Ядро видит физическую память и предоставляет представление процессам. Если Вы когда-нибудь задавались вопросом, как процесс может иметь 4 ГБ пространства памяти, если Ваша целая машина получила только 512 МБ RAM, вот почему. Каждый процесс имеет свое собственное пространство виртуальной памяти. Адреса в том адресном пространстве отображаются или на физических страницах или на области подкачки. Если к области подкачки, они должны будут быть подкачаны назад в физическую память, прежде чем Ваш процесс сможет получить доступ к странице для изменения ее.

Пример от Torvalds в ответе XQYZ (DOS highmem) не слишком неправдоподобен, хотя я не соглашаюсь о его заключении, что PAE обычно является плохой вещью. Это решило определенные проблемы и имеет его достоинства - но все это спорно. Например, реализатор библиотеки не может чувствовать реализацию как легкую, в то время как пользователь той библиотеки может чувствовать эту библиотеку как очень полезную и простую в использовании. Torvalds является реализатором, таким образом, он обязан сказать, о чем говорит заявление. Для конечного пользователя это решает проблему, и это - то, о чем заботится конечный пользователь.

Поскольку один PAE помогает решить другую проблему прежней версии на машинах на 32 бита. Это позволяет ядру отображать полных 4 ГБ памяти и работы вокруг дыры памяти BIOS, которая существует на многих машинах и заставляет чистое ядро на 32 бита без PAE "видеть" только 3.1 или 3,2 ГБ памяти, несмотря на физических 4 ГБ.

Так или иначе для ядра на 64 бита это - симметричное отношение между физической страницей и виртуальными страницами (оставляющий в стороне область подкачки и другие детали). Однако ядро PAE отображается между указателем на 32 бита в адресном пространстве процесса и адресом на 36 битов в физической памяти. Больше бухгалтерии необходимо здесь. Ключевое слово: "Расширенная Таблица страниц". Но это - несколько больше вопроса о программировании. Это - основное различие. Больше бухгалтерии по сравнению с полным линейным адресным пространством. Для PAE это - блоки 4 ГБ, как Вы упомянули.

Кроме этого и PAE и 64 бита допускают большие страницы (вместо стандартных страниц на 4 КБ в 32 битах).

Глава 3 Объема, 1 из Руководства процессора Intel имеет некоторый обзор и Главу 3 Объема 3 А ("управление памятью Защищенного режима") имеет больше деталей, если Вы хотите читать на нем.

Мне кажется, что это - большое различие, которое, кажется, проигнорировано многими людьми.

Вы правы. Однако большинство людей является пользователями, не реализаторами. Вот почему они не будут заботиться. И, пока Вы не требуете огромных объемов памяти для своего приложения, многие люди не заботятся (тем более, что существуют слои совместимости).

7
13.04.2017, 15:36
3 ответа

TL, DR: Я рекомендую символьные ссылки.

При монтировании раздела к точке монтирования, которая не находится в корневом разделе, необходимо заботиться, чтобы смонтировать раздел хоста сначала и размонтировать раздел хоста сначала. Например, если у Вас есть отдельные разделы для /, /home и /home/htorque/Documents, затем необходимо смонтироваться /home прежде /home/htorque/Documents. Если Вы перечисляете разделы в /etc/fstab, затем достаточно перечислить /home прежде /home/htorque/Documents, так как записи смонтированы в порядке во время начальной загрузки. Таким образом вложенные точки монтирования не являются проблемой в нормальном функционировании.

Вложенные точки монтирования могут быть проблемой при необычных обстоятельствах. Предположим диск, содержащий один из катастрофических отказов раздела, или Вы делаете обслуживание, такое как размонтирование файловой системы для перемещения его в другой диск. Вы не можете размонтироваться /home если Вы не размонтировали разделы, точка монтирования которых находится на нем. Если /home не смонтирован во время начальной загрузки, потому что его файловая система повреждена, затем /home/htorque/Documents не будет смонтирован также. Если Вы решаете переименовать /home/torque/Documents, необходимо будет размонтировать раздел сначала. Кроме того, если в любой точке /home/htorque/Documents не смонтирован и Вы случайно отбрасываете файл в том каталоге, затем файл загадочно исчезнет, когда Вы затем смонтируетесь /home/htorque/Documents.

Один случай, где Вы не сможете (удобно) использовать точки монтирования в соответствии со своим корневым каталогом, - то, если он шифруется и монтируется, когда Вы входите в систему, например, способ, которым Ubuntu использует ecryptfs, если Вы просите свой корневой каталог быть зашифрованными. Необходимо было бы смонтировать другие разделы вручную (или из сценария входа в систему) впоследствии, и стараться размонтировать их перед тем, чтобы выходить из системы.

Ограничение, которое может или не может быть релевантным, - то, что, если Вы хотите, чтобы Ваш корневой каталог не был публично читаем, но Вы действительно хотите, например, Ваша музыка, чтобы быть публично читаемыми, затем путь к Вашему музыкальному каталогу не должен проходить Ваш корневой каталог. Это - другой аргумент против точек монтирования в соответствии с Вашим корневым каталогом в определенном cirsumstance.

Свяжите монтирование, не купит Вас очень здесь. Они полезны, когда символьная ссылка не сделает, например, при необходимости в файлах, чтобы быть доступными в chroot. Но они комбинируют тяжелое обслуживание точек монтирования с некоторыми оборотными сторонами символьных ссылок (файлы также существуют в другом месте) плюс собственные оборотные стороны (несколько канонических путей к файлу требуют специального ухода при выполнении резервных копий, среди прочего).

Таким образом, я рекомендую создать разделы, смонтированные непосредственно на корневом разделе (не обязательно непосредственно под корневым каталогом) и создать символьные ссылки. Или можно настроить другой путь для тех каталогов в ~/.config/user-dirs.dirs.

4
27.01.2020, 20:16
  • 1
    В то время как я не рассмотрел бы ни одного из необычных обстоятельств, Вы упоминаете настоящую проблему в моем случае, по-моему, этот ответ объясняет лучше всего, о чем необходимо думать при следовании тем маршрутом. Учитывая, что моя базовая цель состоит в том, чтобы уменьшить сложность моего хаоса раздела, я думаю, что три ответа передумали. ;) –  htorque 05.12.2011, 23:15

Символьные ссылки намного легче, чем другие подходы, но я не назвал бы их "чистым" подходом - Если Вы удаляете символьную ссылку, например, Вы только удаляете ссылку, не файл, на который она указывает, приводя к тому, что похоже на непоследовательное поведение. Можно использовать, например, связывают, монтируется:

mount --bind /media/my-disk /home/user/Documents

Это обычно неотличимо от реальной вещи.

9
27.01.2020, 20:16

Символьные ссылки для subdirs дома являются безусловно самым чистым подходом.

В то время как я думаю, что Вы могли использовать наложение файловой системы, это будет намного более сложно для инициализации каталогов при создании нового пользователя - необходимо было бы создать новые ответвления для каждого каталога или использовать псевдо ссылки (которые эффективно мало отличаются от символьных ссылок).

1
27.01.2020, 20:16

Теги

Похожие вопросы