一千萬個為什麽

搜索

聲明式發行版與Kickstart有何不同?



NixOS and GuixSD both bill themselves as "declarative" and DevOps-friendly. How and in what ways are these declarative distros different than Kickstart and/or a Linux distro managed by a configuration management tool?

這種類型的聲明式Linux配置與現有技術相比有什麽優點和/或缺點?

轉載註明原文: 聲明式發行版與Kickstart有何不同?

一共有 2 個回答:

AFAIK Kickstart僅適用於OS的初始安裝,但不適用於隨後的軟件包維護升級/降級。

除非我錯過了某些東西(很可能,我沒有太多的經驗),配置管理工具所管理的Linux發行版需要操作系統的最低健康水平(至少在某些情況下,至少在某些情況下)需要能夠操作這些工具,比如執行回滾。至少NixOS似乎沒有這樣的要求(或者說它已經在操作系統級別完成了)。從關於NixOS

回滾

     

因為新配置的文件不會覆蓋舊配置文件   可以(自動)回滾到以前的配置。例如,   如果在nixos-rebuild開關之後,你會發現你不喜歡它   新的配置,你可以回去:

  $ nixos-rebuild開關 - 回滾
</代碼> 
     實際上,所有舊的系統配置都會自動顯示出來    Grub啟動菜單。所以,如果新的配置崩潰或沒有   正確啟動,您可以通過選擇較舊的版本來回滾   Grub啟動菜單中的配置。回滾速度非常快:它   不涉及大量文件必須從副本中恢復。

優點:</強>

  1. 沒有像puppet,chef,salt或ansible所需的配置管理工具

缺點:</強>

  1. Dependent: If one has written a lot of NixOps files and one decides to go to another provider then one has to rewrite all the provision scripts, while a tool like terraform is cloud agnostic
  2. No autoscaling like docker
  3. Promotion of silos, e.g. DevOps friendly. In my opinion dev should release software as well. Now one could just use docker that they use in development as well.