本文章提供透過 APT(進階套件工具)在 Debian 或 Ubuntu 系統上,將 UniFi Network 應用程式更新至現行穩定版本的步驟。如果在執行本文所述之流程時發生問題,請參考此社群貼文中提供的指令碼,包括在 Ubuntu 18.04 和 16.04 以及 Debian 8/9 上安裝 UniFi Network 軟體。
需求
為了透過 APT 更新 UniFi Network 應用程式,必須使用 Linux 文字編輯器 vi 或 nano 建立來源檔案或編輯現有 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)。在使用以下命令時,假設已安裝 sudo
和 wget
,在此處可以找到更多與 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-get
是apt
。