linux 軟體安裝用編譯還是用rpm?
01-26
編譯安裝的好處除了自選模塊/路徑,還有什麼?
處理依賴關係麻煩,升級麻煩,批量管理更是麻煩。
提問不太嚴謹,rpm 包也是可以自己寫 spec,編譯、打包的。
生產環境中,都是需要使用包管理,打二進位包分發的,不大可能每台伺服器都自己編譯。
至於是使用官方源的包,還是自己維護的源的包,這個就看需要了。自己編譯程序而不接入包管理,在生產環境這樣做是比較髒的,自己私下玩玩那就隨意了。編譯的好處還是你可以自己根據硬體和需求調整相應參數,比如編譯內核和資料庫,nginx等
1.看場景,自己玩選rpm省事,生產環境編譯2.看規模,規模小隨便選,規模大的生產環境優先選擇編譯然後打包,再通過RPM等報管理器來安裝3.看用途,基礎依賴果斷rpm,應用程序優先選擇自行編譯4.看並發量,並發高性能有要求選擇自行編譯,並發低性能要求低rpm選rpm是為了方便,效率,基礎依賴,選編譯是為了性能,為了自主調整。
1、各發行版Linux有不同軟體管理方式,見下圖。
而我的提問中顯然rpm只能針對redhat系列。
2、李寒 提出可自行製作rpm包,於是我自己製作了。
參考一堂課玩轉rpm包的製作-wjlkoorey258-ChinaUnix博客3、自製rpm包特點
其實rpm包製作過程中也跟源碼編譯安裝一樣,也是需要configure的。故,可以自定義配置參數(當然,使用rpm -ivh --prefix=xxx也能指定安裝路徑)。至於依賴關係也是要在spec 文件中的Requires 指定。在spec文件中,可以把安裝前,安裝後,卸載後,各個階段要做的都指定。例如,安裝完nginx後,添加/etc/init.d/nginx 啟動文件,nginx 目錄許可權等等,卸載nginx後保留nginx的配置文件等。------------------------------------------------------------------------------------------------------------------使用rpmbuild 製作rpm包需要編寫spec文件,可以採用另一種更加智能的方式fpm ,以後再補充。2015-07-24 自己提問,經過一些學習慣,(上面是2015-09-06自己總結回答,2015-12-16才發布,且沒有寫完整)
看你自己怎麼選擇咯,你開心就好
自己編譯可以針對硬體進行優化,然而利用包管理直接安裝還有好多方式
推薦閱讀: