UniFi Network — 更新第三方非主控台 UniFi Network 應用程式(Linux — 進階)

本文章提供透過 APT(進階套件工具)在 Debian 或 Ubuntu 系統上,將 UniFi Network 應用程式更新至現行穩定版本的步驟。如果在執行本文所述之流程時發生問題,請參考此社群貼文中提供的指令碼,包括在 Ubuntu 18.04 和 16.04 以及 Debian 8/9 上安裝 UniFi Network 軟體。


需求

為了透過 APT 更新 UniFi Network 應用程式,必須使用 Linux 文字編輯器 vinano 建立來源檔案或編輯現有 sources.list 檔案中的行。儲存庫結構應屬於永久性,但是如果有任何變更時,將會在社群之發布區域中的 UniFi Network 軟體版本發布貼文中指出。

在將UniFi Network 應用程式升級之前,請先確定已將UniFi Network 資料庫備份。必須確保使用者具有 sudo 權限。欲深入了解如何將使用者新增至 sudo 清單,請參閱此 Debian 文章


UniFi Network APT 步驟

1.使用以下命令,在開始之前安裝需要的套件:

sudo apt-get update && sudo apt-get install ca-certificates apt-transport-https

2.使用以下命令新增來源清單:

echo 'deb https://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list

3.新增 GPG 金鑰。想要新增 GPG 金鑰時,請使用下述兩種方法的其中之一(建議使用方法 A)。在使用以下命令時,假設已安裝 sudowget,在此處可以找到更多與 sudo 有關的資訊,在此處可以找到更多與 wget 有關的資訊。

使用者提示:如果是 Ubuntu 18.04,在步驟 4 中安裝 UniFi 之前,請先執行以下命令。

wget -qO - https://www.mongodb.org/static/pgp/server-3.4.asc | sudo apt-key add -
echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt-get update

請在此社群貼文中參考社群在 Ubuntu 16.04 和 18.04 上安裝 UniFi Network 應用程式的指令碼範例。

(方法 A) 將以下受信任金鑰安裝至 /etc/apt/trusted.gpg.d

sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg

(方法 B) 使用 apt-key。

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 06E85760C0A52C50

4.安裝與升級 UniFi Network 應用程式。

:在某些發行版上,可能會在此步驟中安裝不相容的 Java 版本。建議在進行此步驟之前,先執行以下命令,禁止 Ubuntu 自動安裝 Java 11。如果之後想要復原此動作時,請將「hold」換成「unhold」。

sudo apt-mark hold openjdk-11-*

使用以下命令安裝與升級 UniFi Network 應用程式:

sudo apt-get update && sudo apt-get install unifi -y

5.可能不需要此步驟,視您使用的 Linux 發行版而定。如果發行版不具備 MongoDB,且儲存庫中未提供時,請參閱 MongoDB 安裝指南。您可以在此處找到 Ubuntu 的最新安裝指南,並在此處找到 Debian 的最新安裝指南。建議至少使用 MongoDB 2.6.10。某些使用者已經變更後端,以成功使用 MongoDB 3。

6.現在應可在電腦配置的近端或公用 IP 位址存取 UniFi Network 應用程式,方式是在瀏覽器的導覽列中輸入該 IP 位址(建議使用 Chrome)。若未啟動,則使用以下命令:sudo service unifi start

其他實用命令包括:

  • 想要停止 UniFi 服務時:sudo service unifi stop
  • 想要重新啟動 UniFi 服務時:sudo service unifi restart
  • 想要查看 UniFi 服務的狀態時:sudo service unifi status


強烈建議繼續使用穩定版本,但是,如果不想這麼做,則按一下此處,展開與查看可能的套件名稱以及表格中的代號。

「Testing」係指次世代版本,尚未公開發布。「Stable」係指現行的穩定版本,即本文所述的 Ubiquiti 支援版本。「Old Stable」是由新的現行穩定版本取代的上一個穩定版本。

套件名稱 代號 已封存代號
oldstable unifi-5.10 已封存及不再支援這些代號
stable unifi-5.11 已封存及不再支援這些代號
testing * unifi3、unifi4、unifi-5.3、unifi-5.4、unifi-5.5、unifi-5.6、unifi-5.7、unifi-5.8、unifi-5.9

*testing 目前是空的


紀錄檔位置

執行任何故障排除都需要紀錄檔。在此處可以找到:

  • /usr/lib/unifi/logs/server.log
  • /usr/lib/unifi/logs/mongod.log

如果在以 Unix/Linux 為基礎的系統上執行應用程式,則需要超級使用者(sudo)權限才能存取紀錄檔。

使用者注意事項和提示

由於使用者協作,而新增這些注意事項。按一下以展開。

  • 社群貼文分享一些在 Ubuntu 18.04 和 16.04 以及 Debian 8/9 上安裝 UniFi Network 軟體時使用的指令碼。
  • 如果安裝在 VM 或無頭伺服器中,則可能會發生熵問題。此問題可能是從服務啟動/重新啟動緩慢,到服務完全失敗不等。解決方法是安裝 haveged。這是與主題有關之教學的外部連結。
  • 從 UniFi Network 5.6.x 版開始,UniFi 服務不再以根的形式執行。表示無法繫結至具有特殊權限的連接埠(<1024)。如果嘗試使用這些連接埠,則應用程式將無法啟動。
  • 以下影響 APT 1.5 以後版本(Ubuntu 17.10 和 Debian Sid 或更新版本)。apt-secure man page 的最新版本指出:從 1.5 版開始,必須先確認 Release 檔案中包含的儲存庫資訊變更,APT 才能繼續套用來自於該儲存庫的更新,表示從主要版本更新至下一個版本(例如 5.5.x 至 5.6.x)時,apt-get update 將會導致錯誤。
    • 想要解決此問題,請使用以下方式執行命令:apt-get update --allow-releaseinfo-change
    • 如果收到錯誤,則表示與其他選項搭配使用時無法理解命令,使用者已回報發出以下兩個命令可以解決問題:發出 apt clean,並按下 Enter,接著發出 apt-get update,然後按下 Enter。
  • UniFi Network 應用程式安裝在 Debian 和 Ubuntu 上時不會有 GUI,因為是以服務形式執行。請使用服務命令,啟動、停止和重新啟動 UniFi Network 應用程式。
  • 如果在 DNS 伺服器上看到以下錯誤,使用者回報強制系統會使用 8.8.8.8 做為 DNS 伺服器,而非 ISP,以解決此問題。
  • 目前 Ubiquiti 不支援 arm64,因此無法透過儲存庫取得。需要下載和手動安裝。
  • 新增 GPG 金鑰中,方法 B資料出處:外部連結。以下命令允許限制性防火牆後的使用者匯入 GPG 金鑰:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 06E85760C0A52C50
  • 由於 Java 8 的相依性,在使用 UniFi Network 5.7.X 時,可能需要一些額外的步驟。若需要詳細資訊,請參閱此社群貼文
  • 在 16.04 之前的 Ubuntu 版本中,命令 apt-getapt