六、解除安裝¶
這章在講什麼:怎麼把 Guidant AI 從這台機器上整套移除。
這件事比較像「把辦公室退租」而不是「把電腦裡的軟體反安裝」——退租之後,留在裡面的東西全部一起清掉,沒有回收桶可以撿。
什麼時候看:確定不再使用、要把機器還回去、或是想清空重裝時。
🔴 這個操作會永久刪除所有資料,無法復原。 執行前請先確認資料確實不再需要,或已完成備份。
「永久刪除」的意思是:專案、稽核紀錄、使用者帳號、所有上傳過的檔案全部消失,沒有任何辦法救回來。不是丟到某個暫存區,是真的沒了。
6.1 執行前先備份¶
即使確定要移除,仍強烈建議先做一份備份——需要回頭的情形比想像中常見。
下面三段各備份一樣東西,建議三段都做。
這幾行在做什麼:第一段把資料庫整包倒出來壓縮成一個檔;第二段複製兩個設定檔;第三段複製檢測 Agent 的對接金鑰。請把 <您的備份位置> 換成實際要放備份的目錄。
# 資料庫
sudo docker exec guidant-db pg_dump -U cmmgr -d guidant_ai | gzip > guidant-final-backup.sql.gz
# 設定檔(🔴 內含加密金鑰,沒有它備份中的加密資料永遠解不開)
sudo cp /srv/guidant-ai/guidant.env <您的備份位置>/
sudo cp /srv/guidant-ai/.env <您的備份位置>/
# 檢測 Agent 對接金鑰(有接 Agent 才需要;沒有它重裝後所有 Agent 都要重新註冊)
sudo cp -a /srv/guidant-ai/pki/agent/ <您的備份位置>/agent/
成功長什麼樣:畫面上沒有任何錯誤訊息,而且備份位置裡出現 guidant-final-backup.sql.gz、guidant.env、.env 這幾個檔(有接 Agent 的話還會多一個 agent/ 目錄)。
🔴 設定檔那兩個檔千萬別漏。 資料庫備份裡有一部分內容是加密過的,解密用的鑰匙就放在
guidant.env裡。只備份資料庫、沒備份設定檔,等於把保險箱搬走卻把鑰匙丟了——那些資料永遠打不開。檢測 Agent(Agent) 是安裝在貴單位其他主機上的小程式,負責替本系統做主機檢測、或替本系統保管檔案。「對接金鑰」是本系統與這些 Agent 互相認證身分用的憑證。
6.2 執行¶
這一步在做什麼:啟動解除安裝流程。注意它不會立刻開始刪除,會先問過您。
會發生什麼¶
畫面會先列出將要刪除的東西與各自的大小,讓您看得到代價:
════════════════════════════════════════════════════════════
🔴 這個操作會永久刪除下列內容,無法復原
════════════════════════════════════════════════════════════
① 資料庫(所有專案、稽核紀錄、使用者帳號)
docker volume guidant_guidant-pgdata 約 1.2G
② 物件儲存(使用者上傳的所有檔案:證據、報告、附件)
docker volume guidant_guidant-seaweedfs-data 約 3.4G
③ 資料目錄(記錄檔、HTTPS 憑證、設定檔與加密金鑰)
/srv/guidant-ai 約 200M
④ 六個服務容器與 docker 網路
不會刪除:docker image(要重裝時不必再載入 3GB 映像檔)
物件儲存 是專門用來存放檔案的服務,功能上類似公司內部的雲端硬碟。使用者上傳的證據、報告、附件都放在這裡。
docker volume 是 Docker 用來存放資料的儲存區,可以想成掛在容器上的一顆硬碟。容器本身砍掉重建,volume 裡的資料還在——但這次是連 volume 一起刪。
接著要求完整輸入一串確認字串:
輸入 y 不算數——刻意要求長字串,因為 y 會被習慣性按下。任何其他輸入都視為取消,不會刪除任何東西。
成功長什麼樣:完整輸入那串字之後,畫面逐項顯示刪除進度,最後回報完成。
取消長什麼樣:打錯字、直接按 Enter、或按 Ctrl+C,都會結束流程並且什麼都沒刪。這是安全的,可以放心試。
6.3 會保留的東西¶
| 不會被刪掉的 | 為什麼要留著 |
|---|---|
| Docker 映像檔(安裝時載入的那 3 GB 程式本體) | 解除安裝多半是為了重裝。重新載入 3 GB 的映像檔沒有意義——重跑 sudo ./install.sh 就是全新安裝(重新產生密碼、憑證與資料庫) |
| 您自己放在資料目錄裡的檔案 | 清理時只逐項刪除安裝時建立的內容,不對整個目錄下遞迴刪除指令。您額外放在該目錄下的檔案會被保留(並印出告警) |
6.4 限制¶
結論:只能在終端機前面親手執行,不能寫進自動化流程。
具體來說,不可在非互動環境執行(管線、cron、CI)。這種情形會直接拒絕,且沒有「用環境變數跳過確認」的旁路——能被腳本自動觸發的刪庫指令太危險。
非互動環境 指的是沒有人坐在螢幕前的自動執行場合,例如排程工作(cron)或自動化管線。這類環境沒有辦法回答「要繼續請輸入⋯」這種提問。
請在終端機直接執行。
6.5 移除之後要重裝¶
這一步在做什麼:從出貨包重新裝一套全新的系統。
就是一次全新安裝。注意下面四件事:
- 會產生全新的密碼與憑證,舊的設定檔已被刪除。
- 機器碼不會變(只要沒換機器、沒重新產生
/etc/machine-id),所以原本的授權檔可以直接再次匯入,不需要重新向原廠申請。 - 檢測 Agent 對接金鑰會重新產生(舊的隨資料目錄一起刪除)。原本已註冊的 Agent 會全部離線並需逐台重新註冊——除非您有備份那個目錄,在重裝完成後還原回去。
- 資料需要從備份還原時,請在安裝完成之後還原,並確保使用同一份
guidant.env(否則備份中的加密資料解不開)。這個情形建議聯繫原廠協助。
機器碼 是系統依這台機器的身分算出來的一串識別碼,授權檔就是綁在它上面。只要還是同一台機器,重裝之後機器碼一樣,舊授權照樣能用。