package management 的基本概念
时间:2007-02-17 来源:PHP爱好者
一個人自己用的系統, 跟多個人共同管理的系統, 考慮與方式是很不一樣的.
之前我曾在這版建議過一些階段性步驟, 以學習 package management 的基本概念.
若真的有按建議去學習過的朋友, 不妨來思考一下 tarball 安裝方式的卻點有哪些不足之處.
比方說:
* 各 packages 及 libraries 之間的相依性如何為護及保證?
* 如何維護與查詢/驗證 packages 的各項資訊?(啥版本? 裝哪去了? 改了哪些? 影響了哪些? 等等)
* 在多人管理的情況下如何為持統一標準?(將心比心, 先將自己代入為接管貴系統的人來思考.)
然後, 再思考一下如何解決上述問題?
* 以書面寫下詳細工作日誌?
* 以文檔格式寫日誌?
* 以數據庫來管理?
若你認為用數據庫是好的, 那麼:
* 自己開發?
* 用別人寫好的?
若用別人的, 那麼有哪些可用?
* dpkg?
* RPM?
* others?
若你選用 RPM , 那最好了解一下 RPM DB 可以幫助我們維護哪方面的資訊? 如何查詢? 如何靠之來確保 packages 之間的和協與統一?
最好了解一下 RPM spec 如何影響 binary rpm 及 rpm db 的行為?
最後, 再看看一旦系統已經導入了 RPM db, 如何善用它?
又, 若這時再混用了 tarball , 而放棄掉 rpm db 的一切優點, 將會導致甚麼結果?
* packages 資訊的完整性會否殘缺?
* packages 相依性是否遭到破壞?
* 導入 rpm db 的目的是否失去義意了?
* 那跟沒有 db 來管理有啥不同? (回想前面請你思考的 tarball 之卻點?)
若你認為 rpm db 對你來說是毫無意義的, 或說是一種限制.
那真的不必理我前面提出的各種思考.
若你認同 rpm db (或其他 package management tools)的意義.
再下來, 想想 tarball 的便利性, 是否也可透過自己的努力, 使之也可應用於 rpm db 裡? (tips: RPM spec)
若你已經開始著手自己來 build rpm 了.
最後, 請思考一下:
你自己 build 出來的 binary rpm , 一定可順利的跑在別人的系統上嗎? 有想過彼此環境上的差異嗎?
這時再反過來:
若你用的是別人 build 的 RPM, 那一定可順利跑在自己的系統上嗎? (這正是樓主碰到的問題之所在啦!)
php爱好者站 http://www.phpfans.net c/vc/c++/java.