使用diod尝试Plan9的9Protocol

3 min

language: ja bn en es hi pt ru zh-cn zh-tw

大家好,我是无能。

这次,我将尝试Plan9协议,它是由Plan9为分布式操作系统开发的,而Plan9本身则诞生于UNIX的诞生地贝尔实验室。

引言

作为分布式操作系统,Plan9的配置更为简单,因为它将所有资源都视为文件
因此,为了使用资源,它似乎通过在各个文件系统上远程操作来实现CPU资源的分布式。例如,可以连接/bin目录,或者对于/dev,无需添加代码即可共享设备。
例如,现在,如果将cups作为Common Unix Printing System,并共享指向队列目录的/var/spool/cups,就可以轻松地从打印服务器进行打印。
与通过端口管理相比,通过将其挂载到文件系统上,应该能够更轻松地运行。

我将尝试其中使用的Plan9 Protocol
实际上,目前根据维基百科的资料,在BSD和GNU/Linux上可用的有qemudiod。由于我已经在用qemu,所以这次我将尝试使用更具UNIX风格的diod作为其文件服务器。

diod的安装

diod的Github在这里,但可以通过包管理器轻松安装。
apt

sudo apt isntall diod  

yay

yay -S diod  

这样就完成了安装。

服务器启动、挂载

Github上的README.md中写有操作方法,我将照做。
这次,我将把服务器的/media/ncp/files 目录挂载到客户端的/mnt/9p

此外,由于它在564/TCP上运行,因此需要从服务器使用ufw进行allowServer

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在某种程度上已变得司空见惯,并拥有不同的文件系统。
由于这种分歧,在不同操作系统之间构建分布式操作系统似乎不太现实。
例如,对于FreeBSDpkg和用户自由安装的软件组的配置文件位于/usr/loacl/etc,而GNU/Linux则位于/etc
此外,FreeBSD中不存在/proc/sys,但GNU/Linux中存在。
当然,由于存在相互兼容的部分,因此可以说在某些情况下是可行的。

就这次而言,如果从存储空间较小的VPS上结合使用Wireguard,可以轻松扩展存储,并且具有一定的实用性。
此外,说到其他文件服务器,我用过Samba等一些,但我认为这个可能是最简单、最快的。

稍微跑题一下,当我重新阅读OpenBSD的Theo de Raadt的采访文章,并再次阅读OpenBSD的维基百科时,发现

重视开源和文档

其中提到,即使是如此古老的系统,我之所以能如此轻松地进行测试,正是因为过去有人创建了文档。
比起复杂,更倾向于简单,这是我再次感受到文档重要性的一天。

那么。下次再见。

Related Posts