Тестирование 9Protocol Plan9 с помощью diod
Привет, это я, бездарь.
На этот раз я попробую протокол Plan9, разработанный Plan9 для распределенных операционных систем в Bell Labs, где зародился UNIX.
Введение
Plan9, как распределенная ОС, была проще сконфигурирована, исходя из принципа, что все ресурсы являются файлами.
Поэтому, чтобы использовать ресурсы, их, по-видимому, распределяли между процессорными ресурсами, осуществляя удаленный доступ к ним через соответствующие файловые системы. Например, можно объединять каталоги /bin, а для /dev можно совместно использовать устройства без добавления кода.
Например, сегодня, используя cups как Common Unix Printing System, можно легко печатать с принт-сервера, просто предоставив общий доступ к /var/spool/cups, который указывает на каталог очереди.
Это должно работать проще, если монтировать ресурсы в файловую систему, а не управлять ими через порты.
В этом контексте я попробую Plan9 Protocol.
На самом деле, если проверить Википедию, то на данный момент для BSD/GNU/Linux доступны qemu и diod. Поскольку qemu уже используется, на этот раз я попробую diod в качестве файлового сервера, который является истинно UNIX-подобным.
Установка diod
Github diod находится здесь, но его можно легко установить через менеджер пакетов.apt
sudo apt isntall diod
yay
yay -S diod
Таким образом, установка завершена.
Запуск сервера, монтирование
Метод описан в README.md на Github, поэтому я буду следовать ему.
На этот раз я смонтирую каталог /media/ncp/files сервера в /mnt/9p на стороне клиента.
Кроме того, поскольку он работает по 564/TCP, я разрешу его на сервере с помощью ufw. Server
sudo ufw allow 564/tcp
sudo ufw reload
sudo diod -f -d 1 -n -e /media/ncp/files/
Таким образом, запуск завершен.
Client
sudo diodmount -n 192.168.10.113:/media/ncp/files /mnt/9p
Таким образом, монтирование завершено.
Давайте проверим с помощью ls.
$ ls -la /mnt/9p/
合計 6115604
drwxr-xr-x 2 haturatu haturatu 4096 9月 2 21:58 .
drwxr-xr-x 3 root root 4096 9月 5 22:32 ..
-rw-r--r-- 1 haturatu haturatu 6262358016 9月 2 13:58 devuan.qcow2
-rwxr-xr-x 1 root root 1845 9月 2 21:58 index.php
-rw-r--r-- 1 root root 937 9月 2 21:53 style.css
Идеально. Позже мне нужно будет изменить пользователя здесь на www-data...
Размонтирование выполняется как обычно.
sudo umount /mnt/9p
Проще
Устранение сложности и простота очень приятны.
Изначально это была система как распределенная ОС, но, к сожалению, сегодня BSD/GNU/Linux стали в некотором роде привычными и имеют разные файловые системы.
Из-за этого расхождения создание распределенной ОС между разными ОС не кажется очень реалистичным.
Например, в FreeBSD pkg и группы программного обеспечения, которые пользователи могут свободно устанавливать, используют файлы конфигурации в /usr/loacl/etc, тогда как в GNU/Linux это /etc.
И в FreeBSD не существует /proc и /sys, но они есть в GNU/Linux.
Конечно, есть взаимно совместимые части, поэтому можно сказать, что это возможно в некоторых случаях.
В данном случае, если использовать Wireguard в сочетании с VPS с небольшим объемом хранилища, можно легко расширить хранилище, и это имеет определенную практическую ценность.
Кроме того, говоря о других файловых серверах, я использовал несколько, таких как Samba, но, вероятно, этот кажется мне самым простым и быстрым.
Немного отвлекаясь от темы, перечитывая интервью с Тео де Раадтом об OpenBSD и снова читая Википедию об OpenBSD, я обнаружил:
Акцент на открытом исходном коде и документации
и тот факт, что я смог так легко протестировать даже такую старую систему, объясняется тем, что в прошлом были люди, которые создавали документацию.
Это был день, когда я снова осознал важность документации, предпочитая простоту сложности.
На этом всё. До новых встреч.