跳轉到內容

社群 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 CLI

[編輯 | 編輯原始碼]

在您的計算機上安裝 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 伺服器後,必須出於安全原因重新生成兩個金鑰

  1. 重新生成的 SSH 金鑰。
    systemctl stop sshd
    rm -f /etc/ssh/ssh_host_*
    dpkg-configure openssh-server
    systemctl start sshd
    
  2. 重新生成 Apache 用於 TLS 連線的蛇油證書,在沒有合適的 Let's Encrypt 證書的情況下。
    make-ssl-cert generate-default-snakeoil --force-overwrite
    systemctl restart apache2
    
華夏公益教科書