rpm 是個安裝包組織規範和實現;yum、dnf是管理組織各種rpm包的更高階的組織規範和實現
抽象吧 :-)
白話就是:
rpm包向linux宣告自己:能提供什麼?需要依賴什麼?如何具體執行部署動作?以及提供一些其他亂七八糟的資訊。
rpm規範厲害的地方就於特別的靈活:它可以自動處理,也可以手工處理;它可以包含什麼,也可以排除什麼 ...
那如何實現虛擬安裝呢?最簡單的方式就是:手工處理,只做宣告,想宣告什麼就寫什麼。
看例子,為了安裝某倉庫提供的nfs-ganesha軟體包,而本系統倉庫無法正常安裝相關依賴,就可以製作個虛擬rpm包,以便滿足安裝依賴要求:
Summary: nfs-ganesha-V2.8-table-depends-v3.0 Name: nfs-ganesha-V2.8-table-depends-v3.0 Version: 3 Release: 0 License: GPL Group:Development/Tools AutoReqProv: no AutoReq: yes AutoProv: no Requires: nfs-utils-devel userspace-rcu Provides: libnfsidmap.so.0()(64bit) liburcu-bp.so.1()(64bit) %description This is nfs-ganesha-V2.8-table-depends %build %install %files %post touch /tmp/abc-asdfasd