社群 FreedomBox/構建磁碟映像
本指南解釋如何為社群部署製作準備就緒的 FreedomBox 映像。應用程式安裝在基礎 FreedomBox 映像之上,並建立一個完全安裝的 FreedomBox 的磁碟映像。
由於單板計算機通常不滿足社群部署 FreedomBox 的系統要求,因此通常選擇 i386 或 amd64 架構的桌上型電腦。本指南將假設選擇了 amd64 架構,但相同的說明也適用於 i386。
FreedomBox 作業系統通常以磁碟映像的形式分發,可以從官方網站下載。
下載並驗證適用於桌上型電腦安裝的映像的 GPG 簽名。
如果網站無法訪問,可以使用名為freedom-maker的工具自己構建磁碟映像。請按照 freedom-maker 的 ReadMe 檔案中的說明構建 amd64 映像。
使用命令列工具 dd 或名為 balenaetcher 的 GUI 工具將映像刻錄到 USB 磁碟。將 USB 磁碟插入 amd64 架構的備用計算機,並在啟動時從 BIOS 設定中選擇它。
在 FreedomBox 中建立一個新的管理員使用者並安裝所需的應用程式。
在您的計算機上安裝 virtualbox。在 Debian 上,以下命令有效
$ sudo apt install virtualbox
我們將使用 VirtualBox 提供的命令列實用程式 VBoxManage 從這裡進行進一步的操作。將 amd64 映像轉換為 VirtualBox 能夠理解的格式
$ VBoxManage convertdd <freedombox-image-name>.img <freedombox-image-name>.vdi --format VDI
使用 GUI 應用程式將此磁碟映像匯入 VirtualBox。
將來賓埠 443 轉發到您的主機,以便能夠從瀏覽器訪問 FreedomBox Web 介面。
轉發埠 22 以便從您的主機進行 ssh 訪問。
基礎映像的大小僅為 3.7 GiB。您可能需要將磁碟映像擴充套件到更大的大小,例如 8 GiB,以便能夠安裝應用程式。
$ VBoxManage modifyhd <freedombox-image-name>.vdi --resize 8192
注意:請注意 --resize 的引數。可以進一步擴充套件,但使用 VBoxManage 尚不能縮小磁碟映像。
FreedomBox 尚未知道有額外的磁碟空間可用。在 Web 介面中,轉到系統 -> 儲存,然後單擊“擴充套件根分割槽”按鈕以擴充套件根分割槽以填充整個磁碟。
為虛擬機器分配至少 2 個 CPU 核心和 2 GiB 記憶體。
在 FreedomBox 中建立一個新的管理員使用者並安裝所需的應用程式。
設定完成後,將 VirtualBox 映像轉換回原始磁碟映像。
$ VBoxManage clonehd <freedombox-image-name>.vdi <freedombox-image-name>.img --format RAW
使用 dd 命令將上面準備好的磁碟映像複製到將用於在社群中提供 FreedomBox 的每臺計算機的硬碟中。啟動新的 FreedomBox 伺服器後,必須出於安全原因重新生成兩個金鑰
- 重新生成的 SSH 金鑰。
systemctl stop sshd rm -f /etc/ssh/ssh_host_* dpkg-configure openssh-server systemctl start sshd
- 重新生成 Apache 用於 TLS 連線的蛇油證書,在沒有合適的 Let's Encrypt 證書的情況下。
make-ssl-cert generate-default-snakeoil --force-overwrite systemctl restart apache2