Краткий ликбез по UNIX-идеологии файловых систем.

 
+
-
edit
 

Balancer

администратор
★★★★☆
St.MPA3b:
На 1 вопрос мне так и не ответили - что такое точка монтировки?
 


В UNIX-системах вся файловая система - единая. Нет деления на буквы диски, как в DOS и Windows до сих пор, и отдельные корневые ресурсы, как в Windows сделано сейчас для новых устройств ("Мой компьютер", "Сетевое окружение", "PocketPC", "Смартфон" и т.д. - тем более, что большинство софта с такой структурой работать не может - картинку на смартфоне не посмотришь через ACDSee, пока не скопируешь в основную файловую систему). Есть единый корень системы ("/") и в нём - куча каталогов, реальных и виртуальных.

Скажем, /home/ (под Windows было бы в духе C:\home\ ) обычно указывает на жёсткий диск. /proc/ - пример "виртуальной" файловой системы. Туда выводится сводная информация по всем процессам системы и по основным системным ресурсам. Например, /proc/cpuinfo содержит информацию о процессоре:
code text
  1. # cat /proc/cpuinfo
  2. processor       : 0
  3. vendor_id       : GenuineIntel
  4. cpu family      : 15
  5. model           : 1
  6. model name      : Intel(R) Celeron(R) CPU 1.70GHz
  7. stepping        : 3
  8. cpu MHz         : 2040.954
  9. cache size      : 128 KB
  10. fdiv_bug        : no
  11. hlt_bug         : no
  12. f00f_bug        : no
  13. coma_bug        : no
  14. fpu             : yes
  15. fpu_exception   : yes
  16. cpuid level     : 2
  17. wp              : yes
  18. flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm up
  19. bogomips        : 4085.40


(cat - это команда вывода файла на экран, аналог DOS'овской type).

Т.е. с виду это совершенно обычный файл, но он хранится не на диске, его по запросу формирует ядро файловой системы.

Некоторые параметры можно не только читать, а менять. Сохраняешь в "псевдофайл" число - и система уже использует его.

Так вот, все внешние устройства (жёсткие диски и их разделы, CD/DVD-ROM'ы, сеть) точно также монтируются (подсоединяются) под теми или иными именами. И имена эти - не предопределены. Каталог, начиная с которого начинается другая файловая система (в широком смысле этого слова) назвается "точкой монтирования".

Скажем, у меня вся локальная сеть смонтирована в каталог /mnt/net/

Т.е. /mnt/ - это ещё обычный каталог на обычно винчестере, который подключен к корневому каталогу "/". В этом каталоге, /mnt/, делается ещё один, пустой - net. Так вот, когда к нему ничего не подключено - он пустой. Но я монтирую туда сетевое окружение, и теперь /mnt/net/ - это корень сетевого окружения. В нём есть, например, /mnt/net/TAIS_PC/ - компьютер моей жены. /mnt/net/TAIS_PC/Drv_C/Documents and Settings/Tais/Desktop/ - это каталог с её десктопом. Любой файл оттуда я могу открыть любой программой, которая ничего даже знать не будет про сети.
 
LT Bredonosec #21.10.2006 23:14
+
-
edit
 
вообще-то монтирование есть и в хрюше, и так же можно подрубить хоть другой винт хоть другой комп в папку, но с сетевым монтированием сам не игрался (только папки и винты монтировал), потому не буду утверждать, что всё работает так же.
 
RU Dem_anywhere #22.10.2006 02:35
+
-
edit
 

Dem_anywhere

аксакал

Вообще говоря в винде такая же фигня тоже есть - \\.
например dir \\.\D:\ вполне работает
А через \\.\PHYSICALDRIVE<x> и \\.\TAPE<x> имеем доступ понятно к чему.
Еще \\.\pipe\pipename и \\.\mailslot\[path\]name
И т.д....
 
+
-
edit
 

Balancer

администратор
★★★★☆
Диски монтировать в XP можно. У самого так четыре субустройства в мультикардридере отмаплены на папки.

Но это и близко не относится к возможностям UNIX-систем.

- Как в Windows отмапить на папку сетевое окружение?
- PocketPC?
- Информацию о процессах?
- SSHFS с другой машины?
- FTP (на папку, а не на букву диска - такими решениями пользовался, хотя и неудобно)
- Отобразить одну папку в другой (bind)
- Отобразить в папке файл с любой монолитной FS (ISO9660, SquashFS и т.п.)
 
LT Bredonosec #22.10.2006 20:05
+
-
edit
 
Balancer> - Отобразить одну папку в другой (bind)
- в смысле? Отобразить содержимое этой папки внутри другой? так это то же монтирование. Или что-то другое?
 
+
-
edit
 

Balancer

администратор
★★★★☆
Balancer>> - Отобразить одну папку в другой (bind)
Bredonosec> - в смысле? Отобразить содержимое этой папки внутри другой? так это то же монтирование. Или что-то другое?

Да, именно оно. Разве Windows такому научилась? ИМХО, кроме SUBST, когда папка монтируется на букву диска, иного варианта нет. В пределах одного раздела на NTFS можно симлинк сделать. Но это не совсем то.
 
LT Bredonosec #22.10.2006 21:54
+
-
edit
 
Balancer>>> - Отобразить одну папку в другой (bind)
Bredonosec>> - в смысле? Отобразить содержимое этой папки внутри другой? так это то же монтирование. Или что-то другое?
Balancer> Да, именно оно. Разве Windows такому научилась? ИМХО, кроме SUBST, когда папка монтируется на букву диска, иного варианта нет. В пределах одного раздела на NTFS можно симлинк сделать. Но это не совсем то.
- Хм.. что диски можно в папку монтировать - точно знаю. Что папку можно монтировать на букву - тоже, да и ты подтверждаешь. Насчет монтирования папок в папку - по-моему, тоже было.
(можно, конечно, залезть на руборду и выяснить точно - даж знаю где, но последние полтора месяца нет желания туда заходить вообще, потому пока настаивать не буду. :) )
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru