# 使用OTA程序做全廠更新 ## 目的 機台可以通過線上更新,未來只要在將新軟件(core/skin/manager)上傳至OTA Server之後,所有機台只要透過重啟的方式就可以進行軟件更新 ### 第一次執行前準備事項: 請依照本機的系統執行底下操作,確保可以進行操作:# 執行命令前,請先安裝 Git (確保可執行 git 指令) 例: 您的本機若為MacOS > $ brew install git > 例: 您的本機若為Ubuntu > $ sudo apt install git ### A.將新軟件上傳至Server步驟: #### Step1. 在本機上將欲上傳之軟件進行檔名更新: core的軟件原始檔名如下: > zhap_core_nanping_capacitor_wire_components-20xx.xx.xx-cp36-cp36m-linux_x86_64.whl > 請改成 > zhap_core-latest-cp36-cp36m-linux_x86_64.whl skin的軟件原始檔名如下: > setup_skin_general_xxxxxx_no_password.sh > 請改成 > setup_skin_general_latest.sh manager的軟件原始檔名如下: > manager_server > 不用改,仍保持 > manager_server #### Step2.底下分別說明三個軟件如何上傳至Server 2.1 上傳 zhap_core 2.1.1 本機上輸入底下命令: > $ git clone https://<gitlab_ip_domain>/<廠商帳號>/zhap_core.git Ex: > $ git clone https://update.aizhenhai.com/nanping_nantong_capacitor_wire_components/zhap_core.git #### 註: 上面那行如果無法連,可改用下面這行試試 (其它 project 以此類推) > git clone https://<廠商帳號>@<gitlab_ip_domain>/<廠商帳號>/zhap_core.git Ex: > $ git clone https://nanping_nantong_capacitor_wire_components@update.aizhenhai.com/nanping_nantong_capacitor_wire_components/zhap_core.git  完成後如下圖所示.  2.1.2 繼續於本機上輸入底下命令: > $ cd zhap_core #### 註1.上傳 zhap_core-latest-cp36-cp36m-linux_x86_64.whl 檔 (其它檔案、檔名無作用) > $ cp /path/to/zhap_core-latest-cp36-cp36m-linux_x86_64.whl . #### 註2.這裡的/path/to/是指本機存放檔案的路徑 > $ git add zhap_core-latest-cp36-cp36m-linux_x86_64.whl > $ git commit -am "Update: <更新內容隨你打>" #### 註3.更新的內容可以用於網站上做確認是否有上傳成功 > $ git push 完成後如下圖所示.  2.2 上傳zhap_skin 2.2.1 本機上輸入底下命令: > $ git clone https://nanping_nantong_capacitor_wire_components@update.aizhenhai.com/nanping_nantong_capacitor_wire_components/zhap_skin.git  完成後如上圖所示. 2.2.2 繼續於本機上輸入底下命令: > $ cd zhap_skin > $ cp /path/to/setup_skin_general_latest.sh . #### 註1.上傳 setup_skin_general_latest.sh 檔 (其它檔案、檔名無作用) #### 註2.這裡的/path/to/是指本機存放檔案的路徑 > $ git add setup_skin_general_latest.sh > $ git commit -am "Update: <更新內容隨你打>" #### 註3.更新的內容可以用於網站上做確認是否有上傳成功 > $ git push 完成後如下圖所示.  2.3上傳 zhap_manager 2.3.1 本機上輸入底下命令: > $ git clone https://nanping_nantong_capacitor_wire_components@update.aizhenhai.com/nanping_nantong_capacitor_wire_components/zhap_manager.git 完成後如下圖所示.  2.3.2 繼續於本機上輸入底下命令: > $ cd zhap_manager > $ cp /path/to/manager_server . > $ cp /path/to/rec_expiry . #### 註1.上傳 manager_server, rec_expiry 檔 (其它檔名無作用) #### 註2.這裡的/path/to/是指本機存放檔案的路徑 #### 註3.rec_expiry一般來說不會更新,有必要更新會特別提醒 > $ git add manager_server #### manager_server 執行檔 > $ git add rec_expiry #### rec_expiry 執行檔,有更新才需做 > $ git commit -am "Update: <更新內容隨你打>" #### 更新的內容可以用於網站上做確認是否有上傳成功 > $ git push 完成後如下圖所示.  2.4 確認軟件是否均已上傳 2.4.1進入 > https://update.aizhenhai.com/  帳號/密碼請洽相關人員 2.4.2 登入後可以看見3個project表示core/skin/manager,並可以個別點進去看到你剛剛上傳的檔案是否有成功     ### B.如何將機台進行軟件更新: 通常在機台在進行第一次檢測系統安裝時,皆會安裝ota安裝包,請見`“導針檢測系統安裝手冊(離線版本)“`step4,安裝完畢後,在機台的`/opt/zhenhai/ota`路徑下會產生兩個腳本(`ota_client.sh`/`ota_download.sh`) ``` OTA的工作原理是: 每隔兩小時,背景程式便會自動到ota server上查詢是否有最新軟件的存在,若有,則下載最新軟件,並於下次開機時執行該 service 「一次」,就是去做更新的動作. 因此更新時,需要預留一段時間(先等ota_download.sh下載軟件),然後再進行電腦重啟,才會成功更新. ``` 如果要在機器運作時手動進行更新時,則要先下底下命令,先下載ota server上最新軟件 > $ bash ./ota_download.sh 再進行軟件更新的動作 > $ sudo service zhap_ota restart #### C.注意事項: 1.若使用git clone上傳更新軟件失敗,遇到底下問題時: ``` ! [rejected] master -> master (fetch first) error: 推送一些引用到 'https://update.aizhenhai.com/Zhenhai/zhap_core.git' 失敗 提示:因為遠端版本庫包含您本機尚不存在的提交,而導致更新被拒絕。這通常是因為另外 提示:一個版本庫已向該引用進行了推送。再次推送前,您可能需要先整合遠端變更 提示:(如 'git pull ...')。 提示:詳見 'git push --help' 中的 'Note about fast-forwards' 小節。 ``` 解決辦法: 將git clone所產生的zhap_core整個刪掉(ex: /Users/Mac/zhap_core),再重新執行一次 2.若機台重啟時不想執行ota軟件更新,則可以對機台`/opt/zhenhai/ota`底下的腳本改檔名(原始檔名分別為`ota_client.sh`/`ota_download.sh`) Ex: > $ sudo mv ota_client.sh ota_client_off.sh > 完成後如下圖 
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.