-1

私は素朴なプログラマーです。私の質問はばかげているかもしれません。それでも、私の質問は頭痛の種になります。以下の質問があります。

モニター画面に hello を出力するようなタスクを実行しているとします。では、このタスクをパッケージとアプリケーションのどちらに書き込むのがよいでしょうか? しかし、パッケージが必要な場合は、ビルドのレシピに含める必要があります。

質問:
1. Linux でのパッケージとアプリケーションの違いは何ですか?
2. タスクをパッケージに書き込むか、アプリケーションに書き込むかを決定する方法は? つまり、タスクがLinuxでパッケージまたはアプリケーションであるべきである決定要因は何ですか?

よろしく
Linux学習者。

4

1 に答える 1

1

多くの初心者は、レシピ、パッケージ、アプリケーションという用語を混同しています。アプリケーションは、単に実行して何かを行うプログラムです。これは、hello world の例のような単一のバイナリ実行可能イメージである場合もあれば、複数のバイナリ実行可能ファイルと、Apache などの共有ライブラリ、モジュール、構成ファイルのコレクションで構成される場合もあります。

Linux では、「パッケージ」という用語には独自の特別な意味があります。パッケージは、必要なものを含む「関連ファイルのコレクション」と考えることができます。いくつかの一般的なパッケージ形式があり、最も一般的なのは .deb (Debian) と .rpm (Redhat Package Manager) です。組み込み開発者に人気のあるもう 1 つの形式は .ipk です。これは、基本的に組み込みに適した軽量のパッケージ形式です。Linux に詳しい人なら誰でも、パッケージを操作したことがあるはずです。Debian ベースのディストリビューションは、システムからパッケージを追加および削除するために apt-get およびその他のユーティリティを使用します。Fedora などは、yum や rpm ユーティリティを使用します。.ipk を使用する組み込みシステムでは、パッケージの管理に opkg* を使用します。

openembedded および Yocto Project の用語での「レシピ」は、.bb で終わる特殊なファイルであり、何か (通常はイメージ、アプリケーション プログラム、または共有ライブラリ) をビルドする方法を説明するメタデータが含まれています。デフォルトでは、レシピは複数のパッケージを生成しますが、さらに多くの (またはまったく生成しないこともあります)。たとえば、典型的なレシピは、バイナリ パッケージ、doc パッケージ、ヘッダーと共有ライブラリ (該当する場合) を含む -dev パッケージ、および -dbg をビルドします。デバッグ シンボルを含むバイナリを含むパッケージ。

openembedded または Yocto Project でアプリケーションをビルドすると、アプリケーションを含むパッケージが自動的にビルドされます。そのパッケージをどのように使用するかはあなた次第です。

于 2013-10-01T19:07:20.370 に答える