Buildroot 包管理 [英] Buildroot package management

查看:37
本文介绍了Buildroot 包管理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 buildroot 创建一个在我的 ARM 平台上运行的 rootfs.

I'm using buildroot to create a rootfs running on my ARM platform.

我想在我的平台上有一个包管理器来轻松安装包,比如 ubuntu 中的 apt-get.

I'd like to have a package manager on my platform to easily install packages, like apt-get in ubuntu.

我找到了 opkg,可以简单地将其添加到 buildroot 构建中,但是我找不到有关如何查找存储库的任何信息.

I found opkg, who can be simply added to the buildroot build, but I can't find any information about how to find a repository.

此外,在网上阅读了一些关于此的内容,我还了解到 buildroot 不包含包管理器.opkg 不是包管理器吗?或者只是某种前端来获取包?

Also, reading some stuff on the web about this, I also read that buildroot didn't include a package manager. Isn't opkg a package manager? Or just some kind of frontend to fetch packages?

我真的不明白包管理器是由什么组成的,我也没有找到任何关于此的信息.

I don't really understand what a package manager consist of, and I don't find any information about this.

有人能解释一下实现这种管理器真正需要什么吗,或者在哪里可以找到这些信息?

Could someone explain what is really needed to implement that kind of manager, or where to find such informations?

推荐答案

opkg 不是包管理器吗?或者只是某种前端来获取包?

Isn't opkg a package manager? Or just some kind of frontend to fetch packages?

opkg 基于 ipkg.看起来它试图提供 apt-get 的所有功能.

有人能解释一下实现这种管理器真正需要什么吗,或者在哪里可以找到这些信息?

Could someone explain what is really needed to implement that kind of manager, or where to find such information?

包管理器提供了许多不同的功能.随着它们的发展,为最终用户添加了不同层次的易用性.通常,它们开始于 Linux 桌面服务器 空间,并已移植到 嵌入式 系统中使用.

Package managers provide many different features. As they have evolved, different layers of ease for the end user has been added. Generally, they started in the Linux desktop or server space and have been ported for use in embedded systems.

一些差异;嵌入式系统通常是单一任务.包管理系统允许用户挑选安装的内容.通常,嵌入式系统可能不希望用户挑选包.当然,这取决于应用程序.

Some differences; an embedded system is usually single tasked. A package management system allows the user to pick and choose what is installed. Often, an embedded system might not want to allow a user to pick and choose packages. Of course, it depends on the applications.

一些包管理功能,

  1. 构建和修补.
  2. 包依赖项,因此包数据库.
  3. 包迁移.
  4. 包专业化.
  5. 自动下载
  6. 最大限度地减少下载时间/带宽.

Rpmdpkgipkg 通常只满足第 1-4 项.Buildroot 甚至不这样做,只有第一项真正相关.原因是 Buildroot 旨在为永远不会更新的固定系统构建软件.拥有带有网络更新包迁移的文件系统是没有意义的,因为设备中没有网络连接或外部存储.此外,Buildroot 试图做到最小化,而这些额外的功能是有代价的.

Rpm, dpkg, ipkg are typically only fulfilling items 1-4. Buildroot doesn't even do this, only item one is really relevant. The reason is that Buildroot is intended to build software for a fixed system that will never be updated. It doesn't make sense to have a file system with network update and package migration, it there is not network connection or external storage in the device. Also, Buildroot tries to be minimal and these extra features have a cost.

LTIB 提供一个系统来创建项目 1-3,但不提供网络下载.此外,开箱即用,它在 RPM 大小方面效率很低.第 4 项,导致典型的开发部署包.为了构建库,您需要头文件来编译依赖包.典型的LTIB rpm 包括所有头文件.制作排除这些标题手册页面等的子包是一件容易的事.

LTIB provide a system to create items 1-3, but not the network download. Also, out of the box, it is rather in-efficient in RPM size. Item 4, leads to typical devel and deploy packages. In order to build a library, you need header files to compile dependent packages. A typical LTIB rpm includes all the header files. It is an easy task to make sub-packages that exclude these headers and man pages, etc.

OpenWrt 适用于路由器,但如果您需要图形声音和其他功能,这些软件包可能会不可用.有各种文件系统构建器,但由于变化的数量,每个都有成本和收益.正如有许多 Linux 桌面服务器发行版,也有许多具有不同包管理选项的根文件系统构建器.您必须评估您的应用程序和系统的优势.

OpenWrt works well for routers, but if you need graphics, sound and other features the packages may not be available. There are various file system builders, but due to the amount of variations, each has costs and benefits. Just as there are many Linux desktop and server distributions, there are many root filesystem builder with different package management options. You have to evaluate the strengths for you application and system.

这篇关于Buildroot 包管理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆