建立 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

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