日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Yocto动态软件包管理(Runtime Package Management)之:rpm和dnf

發布時間:2023/12/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Yocto动态软件包管理(Runtime Package Management)之:rpm和dnf 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面會一步步教你如何使用Yocto的動態rpm軟件包管理功能,以及相應的dnf工具。

  • 更改build/conf/local.conf,添加如下代碼:
PACKAGE_CLASSES = "package_rpm" PACKAGE_FEED_URIS = "http://<local-machine-ip>:5678" EXTRA_IMAGE_FEATURES += " package-management "
  • 選擇一個鏡像(rootfs)編譯,比如 core-image-full
$ bitbake core-image-full
  • 編譯完成后,創建包索引:
$ bitbake package-index
  • 創建一個簡單的包管理服務器
$ cd build/tmp/deploy/rpm $ python -m SimpleHTTPServer 5678 #python2 或者 $ python -m http.server 5678 #python3
  • 把core-image-full鏡像部署到相應的嵌入式目標板上后,啟動系統然后更新包索引(請確保目標板和包管理服務器建立網絡連接):
$ dnf makecache
  • 此時,只有在包索引中列出的包可用,因此我們需要構建一些不同的東西,比如Vim:
$ bitbake vim $ bitbake package-index
  • 在目標板上面更新包索引并安裝軟件包:
$ dnf makecache $ dnf info vim $ dnf install vim
  • 如果要刪除軟件包,使用如下命令:
$ dnf erase vim

為何這種動態包管理僅能用于開發階段?

在開發階段,我們更感興趣的是安裝軟件包,這樣就無需構建和更新整個鏡像文件(rootfs),所以完全不擔心該軟件包將持續多長時間或提供給誰。但是,在使用過程中還有很多其他重要問題需要考慮,例如:

  • HTTP 服務器是否安全?(本文中的服務器顯然是不安全的)
  • 包依賴關系鏈是否正確實現?
  • 是否滿足所有包版本的包依賴關系鏈?
  • 如果一個軟件包被更新,所有依賴關系鏈都必須更新嗎?

在開發階段,我們更多地考慮安裝缺少的軟件包。但是在產品生產和發布階段,最重要的是正確和安全的更新軟件包,顯然本文中的方法并不是很適用。

總結

以上是生活随笔為你收集整理的Yocto动态软件包管理(Runtime Package Management)之:rpm和dnf的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。