Какова концепция дисков в системах Unix?

Какова концепция дисков в системах Unix?

В Windows у нас есть диски C, на которых установлено все программное обеспечение, и другие разделы, например, D, E и т. д., для хранения наших данных. Теперь, когда мы по какой-то причине переустанавливаем Windows, мы снова устанавливаем все на C, и наши данные хранятся в безопасности и к ним можно получить доступ без каких-либо проблем.

Теперь в ОС типа Unix каждому пользователю дается домашний каталог (я думаю, что в Windows тоже есть что-то подобное), и мы можем помещать наши данные только в эту часть системы (так я думаю). Теперь как кто-то может получить эффект Windows, где в определенной части жесткого диска пользователь может поместить свои данные и при переустановке системы Unix/Linux восстановить эти данные?

решение1

В UNIX/Linux имеются различные устройства, представляющие собой физические диски, например, в Linux:

/dev/sda  -  Would designate SCSI drive with ID of 0 or lately more commonly ID:0 on SATA.
/dev/sdb  -  Would be secondary device, etc

При установке Linux вас спросят, куда его установить, и вы можете указать /dev/sdaдиск с ОС, а также указать /dev/sdbместо, в /homeкотором будет выполнено форматирование и монтирование (если вы этого захотите).

Вы создадите разделы на диске ОС, обозначив один для файловых систем swap, /boot, /, что по сути создаст устройства, /dev/sda1, 2, 3которые будут выглядеть для вашей системы как физические устройства и будут доступны для ОС в виде каталогов.

Таким образом, в этой настройке /dev/sdaбудет эквивалент C:\диска Windows и /dev/sdbбудет эквивалентом диска с данными, какое бы буквенное обозначение вы ни выбрали.

Поэтому, если вы решите переустановить Linux, единственное, о чем вам следует позаботиться, — это не переформатировать /dev/sdbразделы, которые вы на нем создали, чтобы данные, хранящиеся на этом драйвере, остались нетронутыми.

Аналогичную концепцию можно применить, если в системе только один диск, но это будет немного более сложная концепция, которую Windows также поддерживает, но чаще всего не использует.

решение2

Я просто добавляю сюда информацию — другие люди уже ответили лучше, но я не смог вместить дополнительную информацию в комментарии.

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

«Диск C:» — это по сути термин CP/M (CP/M была 8-битной операционной системой, которая в значительной степени использовала DOS, кхм,заимствованныйиз). Во времена дискет «диск» и «файловая система» были эквивалентны: либо ваш дисковод содержал дискету с одной файловой системой, либо он был неотформатирован (или пуст). Легко сделать ссылку и подумать, что эти два слова — синонимы.

Фактически, C:это первый читаемый раздел на первом диске. Диски D:, E:, F:и т. д. — это другие файловые системы на том же диске или на других. Исключение сделано для съемных устройств, к которым можно обратиться с помощью специального программного обеспечения (например FORMAT, FDISK).

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

Эта парадигма буква диска → раздел работает как структура данных «лес». Каждая буква — это одно отдельное дерево в группе. Вот как это выглядит:

  • Диск 128 (первый жесткий диск — невидим для вас)
    • Раздел 1,C:
    • Файлы и папки в разделеC:\*
    • Раздел 2,D:
    • Файлы и папки в разделеD:\*
  • Диск 129 (второй жесткий диск — также невидимый)
    • Раздел 3,E:
    • Файлы и папки в разделеE:\*
  • Диск 2 (какой-то съемный носитель)
    • Буква дискаF:
    • (если в приводе находится отформатированный носитель) Файлы и папки вF:\*

Система хранения файлов Unix работает как единое дерево. Один раздел является корнем дерева (отсюда и термин), а другие разделы являютсясмонтированный(привиты) на 'точки монтирования' ниже и становятся частями одного и того же дерева файлов. Это упрощенный вид того, как это выглядит (обратите внимание на один корень):

  • Корневая файловая система ( /)
    • Общие материалы ( /usr)
    • Местные вещи ( /usr/local)
    • Домашние каталоги пользователей ( /usr)
    • Больше местных вещей ( /var)
    • Еще больше местных вещей ( /opt)
    • Навесные устройства ( /mntздесь по традиции размещаются съемные устройства)

Отвечая на ваш вопрос: Unix всегда разделяет программы и данные (не обязан, но опыт показал, что это Очень Хорошая Идея, и теперь структура каталогов стандартизирована). Он также разделяет (для компьютеров, совместно использующих установку по сети) сеть-общийпрограммы и данные (в разделе /usr) и компьютерные*-локальные* программы и данные (в разделе /usr/local, /var, /opt, и т.д.), а такжепользовательпрограммы и данные (часто в /home).

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

Если вы хотите переустановить Unix и сохранить свои файлы, вам необходимо убедиться, что /homeона смонтирована как отдельная файловая система (отдельный раздел), и дать указание установщику новой ОС не трогать этот раздел во время установки.

Мы также используем тот же трюк, чтобы сделать наши домашние каталоги доступными для нескольких дистрибутивов Linux на одном компьютере (например, если мы их тестируем) или для совершенно разных Unix. Однажды я запустил OpenBSD, FreeBSD и Linux на одном диске с одной и той же /homeфайловой системой, общей для всех трех.

решение3

В unix все файлы представлены в единой иерархии. Чтобы сделать файлы на томе (диске или разделе) доступными, томсмонтированныйв определенном месте файловой иерархии, т. е. в каталоге.

Файловая система, содержащая операционную систему (или, по крайней мере, ее ключевую часть), монтируется в каталоге /, корневом каталоге. Эта файловая система называется корневой файловой системой.

Довольно распространено хранить пользовательские данные на отдельном томе. Этот том монтируется на /home. Если вам нужна такая конфигурация, запросите отдельный /homeраздел при установке системы (большинство установщиков делают это просто).

Историческая причина выбора другого дизайна заключается в том, что unix был разработан с учетом фиксированных дисков и многопользовательских систем, тогда как Windows унаследовал этот аспект от DOS (и до него CP/M), которая работала на компьютерах только с дискетами. Добавление или удаление диска в системе unix или перемещение данных выполнялось системными администраторами; было бы болезненно, если бы изменение организации диска изменило пути, по которым осуществлялся доступ к файлам. В системе только с дискетами было важно знать, на каком диске находится ваш файл, поэтому пути типа a:myfile.txtимели смысл.

Смотрите такжеЧто подразумевается под монтированием устройства в Linux?иКакие точки монтирования существуют в типичной системе Linux?

решение4

Только быстро:

Понятие «гора»:http://fosswire.com/post/2007/04/unix-fundamentals-mount-points/

Структура каталога (или папки) Linux:http://www.thegeekstuff.com/2010/09/linux-file-system-structure/

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

Отвечая на ваш вопрос более конкретно, при установке вашей системы Linux вы можете захотеть создать дополнительный раздел и смонтировать его в папке /home. Таким образом, когда кто-то что-то записывает в /homeпапку (или в любую из ее подпапок), это будет сохранено в указанном дополнительном разделе.

Добро пожаловать в Linux!

Связанный контент