跳轉到內容

GNU Health/補丁和補丁集

來自華夏公益教科書,開放的書籍,開放的世界



關於 GNU Health 補丁集

[編輯 | 編輯原始碼]

從版本 2.2.1 開始,將為 GNU Health 穩定版本(次要版本號為偶數,例如 1.2.3)釋出補丁集。

假設以下場景:健康中心 GNU SOLIDARIO 醫院安裝了 2.2.0 版本。在生產環境中執行伺服器數週後,發現了一個影響 health_service 模組的錯誤。這不是一個嚴重錯誤,但應該儘快解決。

與此同時,錯誤已報告並已修復和記錄。GNU SOLIDARIO 醫院的系統管理員有兩個選擇

  1. 使用補丁工具下載並應用單個補丁。
  2. 等待並應用最新的補丁集。

將是上下文決定使用哪種方法,但一般來說,除非你是在緊急修復錯誤的背景下,否則你應該使用補丁集方法。

一些一般性想法

  • 補丁和補丁集不需要重新進行整個安裝過程。指令碼通常很小,一般來說安裝時間很短。
  • 補丁集適用於次要版本號(例如 2.0.x、2.2.x)。

每當生成一個補丁集時,就會發佈一個新的 GNU Health 版本,其補丁級別編號與補丁集的編號一致。

補丁與補丁集

[編輯 | 編輯原始碼]

本節討論了補丁和補丁集背後的通用概念,以及何時使用其中一種或另一種。

一般來說,補丁是修復程式或其元件的一部分程式碼。在 GNU Health 中,補丁是一個在 Mercurial 特定 Changeset 中生成的“補丁檔案”。補丁檔案(diff)修改程式碼的特定部分,而不是替換整個檔案。它使用 Patch 命令進行應用。如前所述,補丁與特定 Changeset 相關聯,但不一定與最新的補丁級別編號(版本號的第三個部分,例如 1.2.3)相關聯。

補丁的優點

  • 它們立即可用:如果這是一個嚴重錯誤,你可以立即對其進行修補,無需等待補丁集。
  • 非常具體:由於這種高度的特殊性,很多時候你可以在 GNU Health 中對一個正在執行的系統進行修補,而不會影響可用性。

補丁的缺點

  • 需要更多技術知識
  • 非常具體
  • 處理二進位制檔案(如 LibreOffice 報告)時更加繁瑣
  • 需要跟蹤其他未應用的補丁

補丁的高度特殊性既是優點也是缺點。因此它對操作員依賴性很大。我們建議除非是必須立即應用的嚴重錯誤,否則避免使用補丁。

補丁集

[編輯 | 編輯原始碼]

補丁集的作用級別高於補丁,處理的是整個檔案而不是程式碼塊。它們以壓縮的 ŧar 檔案形式打包。

應用補丁集也是一項選擇性操作,因為只有 GNU Health 核心的一部分被修改。

補丁集的優點

  • 具體
  • 可以在應用補丁後重新應用
  • 應用該時間段內所有補丁,包括隨著時間的推移收集的非嚴重補丁
  • 更容易進行週期性安裝/更新過程
  • 與特定 GNU Health 版本(補丁級別編號)相關聯

補丁集的缺點

  • 不像補丁那樣立即生效。雖然緊急修復補丁的時間不應超過 24 小時。

新補丁集釋出的標準

[編輯 | 編輯原始碼]
  1. 標記為緊急/阻塞的錯誤
  2. 重要的安全問題
  3. 非嚴重錯誤的數量

應用補丁集

[編輯 | 編輯原始碼]

本章適用於 GNU Health3.0 版本。

從 GNU Health 3.0 開始,我們有一個新工具,GNU Health 控制中心。GNU Health 控制中心簡化了常見的管理任務,如備份或系統更新。要檢查 Tryton 和 GNU Health 核心和模組的狀態,以及保持系統更新,請訪問 GNU Health 控制中心 部分。

訪問 GNU Health 控制中心,獲取有關如何安裝補丁集的文件。

手動應用補丁集(不支援)

[編輯 | 編輯原始碼]

以下方法允許你在標準 GNU Health 安裝中應用補丁集,而無需使用官方工具(gnuhealth-control)。手動安裝不檢查最新的 Tryton 更新,更復雜,不應使用。請使用 GNU Health 控制中心工具,除非你瞭解你在做什麼。

  • 閱讀 Savannah 中與補丁集相關的說明。根據補丁的不同,你可能需要更新模組。
  • 停止 GNU Health 例項。
  • 備份你的核心和資料庫(始終,無論補丁多麼小)。
  • 使用 gnuhealth 帳戶登入。
  • 不要更改目錄。 停留在你的 $HOME。驗證你是否位於/home/gnuhealth.
  • 下載與你的主版本號和次版本號匹配的最新補丁集。例如,如果你使用的是 3.0.x 版本
wget http://ftp.gnu.org/gnu/health/gnuhealth_patchset-3.0.latest.tar.gz
  • 解壓縮補丁集
tar -xzvf gnuhealth_patchset-3.0.latest.tar.gz
  • 重新啟動伺服器。

中央認證 · 升級

華夏公益教科書