套件發行

  • 程式發行時要面對:
    1. 使用者發現臭蟲;
    2. 作者想要提升功能或更新。
  • 解決方法:
    1. 若發行只提供二進位的程式時,通常只要再補上新版的二進位檔案即可。
    2. 供應商直接發表新版的程式。
    3. 以原始碼方式發行軟體,可以讓使用者檢查程式的進行,並且再利用部分原始碼。
    4. patch 命令,讓您可以只散佈兩個版本之間的差異部分。
  • 軟體的發行方法:
    1. 將所有檔案元件包裝成一個單獨的檔案套件( package )。
    2. 使用標準工具管理套件的版本編號。
    3. 在套件的檔案名稱中,加入版本編號,這樣使用者就可知道他們使用的版本。
    4. 在套件中使用子目錄,確保往後解開套件時,檔案都能放在個別的目錄。
  • 安裝與升級套件
    1. 安裝與升級之可能原因:
      1. 需要新的功能,但舊有主機的舊版套件並沒有;
      2. 舊版本的套件上面可能有安全上的顧慮;
      3. 舊版的套件執行效能不彰,或者執行的能力不能讓管理者滿足。
    2. 使用之套件的格式:
      1. 原始碼打包壓縮成 tarball 套件;
      2. 編譯好的二進位執行檔 RPM 套件;
      3. 含原始碼的 RPM,SRPM 套件。
練習題
  1. 請列舉兩項,軟體發行後需要修改的原因。
    Sol. 1. 使用者發現臭蟲;2.作者想要提升功能或更新。
  2. 軟體發行後,若要除錯或更新,比較簡單的方法為何?
    Sol. 以原始碼方式發行軟體,再以 patch 命令,發佈兩個版本之間差異部分。
  3. 軟體發行時,將所有檔案元件包裝成一個單獨的檔案,稱之為何?
    Sol. 套件( package )。
  4. 軟體發行後,升級之可能原因為何?
    Sol. 1.需要新的功能,但舊版套件沒有;2.舊版套件可能有安全的顧慮;3.舊版套件執行效能不彰。
  5. 軟體發行,安裝及升級的方式為何?
    Sol. 1.原始碼 tarball;2.編譯好的 RPM 套件;3.原始碼 RPM 之 SRPM 套件。