建立 Fuchsia 套件存放區

ffx repository 指令可以建立及管理 在主機電腦上進行 Fuchsia 套件存放區。

概念

當 Fuchsia 裝置需要執行新軟體或更新現有軟體時,裝置會從 Fuchsia 套件伺服器要求並下載 Fuchsia 套件,這是可以在主機上啟動 (和停止) 的服務。Fuchsia 套件伺服器 然後向日本的使用者提供 Fuchsia 包裹 已設定 Fuchsia 套件存放區 相同的虛擬機器

Fuchsia 套件存放區對應至主體機器的目錄。 處理 Fuchsia 裝置發出的要求時,Fchsia 套件伺服器會 ,當他們找到 Fuchsia 套件時,就會 從這個目錄選取套件因此,這個目錄通常 要產生並儲存與 。

建立新的 Fuchsia 套件存放區後,您需要將套件存放區註冊到 Fuchsia 裝置 (或多個裝置),這樣裝置才能從該套件存放區下載 Fuchsia 套件。Fuchsia 裝置只能從已註冊的 Fuchsia 套件存放區下載 Fuchsia 套件。

最後,您可以設定 Fuchsia 套件伺服器,讓伺服器從同一個主機電腦上的多個 Fuchsia 套件存放區提供服務,並將每個套件存放區專門用於特定用途 (例如將穩定套件與實驗套件分開)。

建立套件存放區

如要在主機上建立新的 Fuchsia 套件存放區, :

  1. 建立新的存放區:

    ffx repository add-from-pm <PM_REPO_PATH> [-r <REPO_NAME>]

    更改下列內容:

    • PM_REPO_PATH:儲存 Fuchsia 套件的目錄路徑。
    • REPO_NAME:新存放區的使用者定義名稱。
      • 如未指定此標記,則指令會將新的存放區命名為 devhost 根據預設。

    下列範例指令會建立一個名為 my-repo 的新存放區:

    $ ffx repository add-from-pm ~/my-fuchsia-packages -r my-repo
    

    建立新存放區後,這個指令會靜默退出,不會產生任何輸出內容。

  2. 確認新存放區已建立完成:

    ffx repository list

    這個指令會輸出類似以下的輸出內容:

    $ ffx repository list
    +----------+------+--------------------------------------------------------+
    | NAME     | TYPE | EXTRA                                                  |
    +==========+======+========================================================+
    | my-repo* | pm   | /usr/alice/my-fuchsia-packages                         |
    +----------+------+--------------------------------------------------------+
    
  3. 將新存放區設為預設:

    ffx repository default set <REPO_NAME>

    REPO_NAME 替換為存放區的名稱。

    下列範例指令會將 my-repo 設為預設存放區:

    $ ffx repository default set my-repo
    

    設定預設存放區後,這個指令會在沒有輸出的情況下結束,不顯示任何訊息。

    如要讓 Fuchsia 裝置開始從這個新存放區下載 Fuchsia 套件,您必須將這個存放區註冊到裝置

將套件存放區註冊到 Fuchsia 裝置

如要讓 Fuchsia 裝置從主機上的 Fuchsia 套件存放區下載套件,請執行下列操作:

  1. 讓 Fuchsia 裝置連線至新的存放區:

    ffx target repository register [-r <REPO_NAME>] --alias fuchsia.com --alias chromium.org

    REPO_NAME 替換為要 Fuchsia 裝置的存放區名稱 連線。如未指定此標記,則指令會選取預設存放區。

    以下範例會將目前的 Fuchsia 裝置設為連線至 fuchsia.com 中的預設存放區 (my-repo):

    $ ffx target repository register --alias fuchsia.com --alias chromium.org
    

    註冊存放區後,這個指令會在沒有輸出的情況下結束,不顯示任何訊息。

  2. 確認新存放區是否已註冊:

    ffx target repository list

    這個指令會輸出類似以下的內容:

    $ ffx target repository list
    +---------+------------------------+
    | REPO    | TARGET                 |
    +=========+========================+
    | my-repo | fuchsia-f80f-f974-a123 |
    |         |   alias: chromium.org  |
    |         |   alias: fuchsia.com   |
    +---------+------------------------+
    

取消註冊套件存放區

如要從裝置取消註冊 Fuchsia 套件存放區,請執行下列指令:

ffx target repository deregister [-r <REPO_NAME>]

REPO_NAME 替換為已註冊的存放區名稱。如果這個標記是 如未指定,指令會選取預設存放區。

下列範例指令會取消註冊 my-repo 存放區:

$ ffx target repository deregister -r my-repo

註銷存放區後,這個指令會以無輸出的方式結束。

移除套件存放區

如要移除 Fuchsia 套件存放區,請執行下列指令:

ffx repository remove <REPO_NAME>

REPO_NAME 替換為存放區名稱。

下列範例指令會移除 my-repo 存放區:

$ ffx repository remove my-repo

移除存放區後,這個指令會直接結束,不會顯示任何輸出內容。

啟動 Fuchsia 套件伺服器

要從 Fuchsia 套件存放區提供套件 就必須在主體機器上執行 Fuchsia 套件伺服器 執行虛擬機器

如要啟動 Fuchsia 套件伺服器,請執行下列指令:

ffx repository server start

這個指令會輸出類似以下的內容:

$ ffx repository server start
server is listening on [::]:8083

如需其他選項,請參閱「啟動套件伺服器」。

停止 Fuchsia 套件伺服器

如要停止 Fuchsia 套件伺服器,請執行下列指令:

ffx repository server stop

這個指令會輸出類似以下的輸出內容:

$ ffx repository server stop
server stopped

如需更多選項,請參閱: 停止執行套件伺服器