使用 diod 測試 Plan9 的 9Protocol
您好,我是無能。
這次,我將嘗試 Plan9 協定,該協定由 Plan9 為分散式作業系統開發,而 Plan9 則誕生於 UNIX 的發源地貝爾實驗室。
前言
作為分散式作業系統,Plan9 的配置更為簡單,因為它將所有資源都視為檔案。
因此,為了使用資源,它似乎透過在每個檔案系統上遠端執行來分散 CPU 資源。例如,可以連接/bin目錄,或者對於/dev,無需添加程式碼即可共享裝置。
例如,現在的cups作為Common Unix Printing System,如果共享指向佇列目錄的/var/spool/cups,就可以輕鬆地從列印伺服器進行列印。
與透過埠管理相比,將其掛載到檔案系統上應該更容易操作。
我將嘗試其中使用的Plan9 Protocol。
實際上,目前根據維基百科的資訊,在 BSD 和 GNU/Linux 上可用的有qemu和diod,由於我已經在使用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進行allow。 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/local/etc中的設定檔,而 GNU/Linux 則使用/etc。
此外,FreeBSD中不存在/proc和/sys,但 GNU/Linux 中存在。
當然,由於存在一些相互關聯的部分,可以說在某些情況下是可行的。
就這次而言,如果從儲存空間較小的 VPS 上結合使用Wireguard,可以輕鬆擴展儲存空間,並且具有一定的實用性。
此外,談到其他檔案伺服器,我曾使用過 Samba 等一些,但我認為這可能是最簡單、最快速的。
話題稍微偏離一下,當我重新閱讀 OpenBSD 的 Theo de Raadt 的採訪文章,並再次閱讀 OpenBSD 的維基百科時,發現
重視開源和文件
其中提到,即使是如此古老的系統,我之所以能如此輕鬆地進行測試,正是因為過去有人製作了文件。
這一天,我再次感受到了文件的重性,它比複雜性更傾向於簡潔。
那麼。下次再見。