許多新手混淆術語配方,包裝和應用程序。應用程序只是一個運行並執行某些操作的程序。它可能是一個單獨的二進制可執行映像,例如hello world示例,或者它可能由幾個二進制可執行文件以及一組共享庫,模塊和配置文件(如Apache)組成。
在Linux中,術語「包」有它自己的特殊含義。一個包可以被看作是「相關文件的集合」,包含任何你想要的東西。有幾種流行的軟件包格式,最流行的是.deb(Debian)和.rpm(Redhat軟件包管理器)。嵌入式開發人員喜歡的另一種格式是.ipk,它基本上是一種更適合嵌入式的輕量級封裝格式。幾乎任何熟悉Linux的人都已經對軟件包進行了操作。基於Debian的發行版使用apt-get和其他實用程序來添加和刪除系統中的軟件包。 Fedora和其他人使用yum和/或rpm工具。對於使用.ipk的嵌入式系統,使用opkg *來管理軟件包。
openembedded和Yocto Project術語中的「recipe」是一個以.bb結尾的特殊文件,其中包含描述如何構建某些內容的元數據,通常是圖像或應用程序或共享庫。默認情況下,食譜會生成多個包,但可以生成更多包(甚至不包含任何包)。例如,典型配方會生成二進制包,doc包,包含頭文件和共享庫(如果適用)的-dev包,以及-dbg包含帶調試符號的二進制文件。
如果您在openembedded或Yocto Project下構建應用程序,則會自動構建一個包含您的應用程序的包。這取決於你如何使用該軟件包。
您爲應用程序編寫用戶空間代碼。軟件包不是編碼問題,而是**系統集成**或**維護**來提供和安裝文件。 – sawdust