Gentooオーバーレイを追加しましたhttp://gpo.zugaina.org/。私のebuildの1つであるrecMD5は、私が追加していないにもかかわらず、elibc_FreeBSDフラグを使用しているとマークされています。私も遭遇した答えパック。パッケージにuseフラグを追加するだけでよいようですが、その目的が何であるかを知りたいです。
私もエラーが発生します
euse -E elibc_FreeBSD
エラー: 'elibc_FreeBSD'フラグの使用がブロックされているため、make.confに追加しないでください。
答え1
少し背景知識
歴史的に、一部のFreeBSDユーザーはLinuxユーザーとうまくいきませんでした。長年にわたってそれまで最初からLinux、Gentooはその子孫の1つであり、ユーザーは[使用]を選択しない限り、システムの実際のソースコードにアクセスできません。FreeBSDポートシステム。このため、FreeBSDユーザーは自分たちが優秀だと思いましたが、GentooとPortageが成熟するにつれて、下図のような戦闘のための舞台が用意されました(わかるようにGは逆になっています)。
Portageで使用されている設定と非常によく似たebuild
、ポート同じルールを持っている。これが最大の依存性チェックであるため、依存性チェックをリンクしました。見たら第5章第5節、ポート管理は、面倒な日から苦痛なことまで何でも考慮することができることがわかります。したがって、以下に説明するフラグとプロジェクトは、ポートメカニズムをPortageに置き換えることによってこの問題を軽減しようとします。バラよりフラグの仕組みもっと学ぶ。
Gentooをメタディストリビューションと呼ぶ理由
読んでくださいグレブ:22、~の一部GエントエルLinux第二改善する人プロジェクト、仕様セクションには次のように指定されています。
キーワードスニペット
各キーワードには、ARCH、USERLAND、LIBC、およびKERNELパラメーターを明示的または暗黙的に指定する必要があります。
アーチ
x86, amd64, コバルト, mips64, arm, hppa, ia64, ppc64, sparcコア
Linux, selinux, openbsd, freebsd, netbsd, macosxユーザーエリア
グヌ、BSDLIBC
glibc, openbsd, freebsd, netbsd, macosx(上記の例は完全ではありません。たとえば、HurdはHurdについて知っていることがほとんどないため含まれていません。)
完全に指定されたキーワードは「ARCH-KERNEL-USERLAND-LIBC」と同じであるため、例えば、「ppc-fbsd-gnu-glibc」は、FreeBSDカーネルとGNUユーザー空間を実行するppcアーキテクチャに対応するGentooシステムglibcを表します。システムCライブラリ。
elibc
Environment_LIBCの略語で、次のことを示します。LIBCキーワードスニペット。 LIBCこれはC標準ライブラリをLinuxで実装したものです。標準ライブラリは上記のすべてのキーワードに依存するため、システム全体のベースと変数の継承(Gentooのパッケージベース)を介して設定されます(への/etc/portage/make.profile
シンボリックリンクは/usr/portage/profiles
設定に使用されますeselect profiles
)。
ecyoung@bedroom-gentoo ~ $ sudo emerge -av glibc
Password:
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] sys-libs/glibc-2.20-r2:2.2::gentoo USE="gd (multilib) -debug (-hardened) -nscd -profile (-selinux) -suid -systemtap -vanilla" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No]
上記の製品を生産するにはLIBC、私のプロフィールには以下が含まれるか継承されます。
- アーチ-AMD64
- コア- Linux
- ユーザーエリア- グヌ
- LIBC- glibc
Gentooを非常に強力にするのは、このGLEPで説明されているキーワードと環境変数USEフラグです。このシステムは、私がGentooをデフォルトのディストリビューションとして選択した主な理由であり、ここにタグ付けされたすべての質問を読んで/または答えようとする理由です/gentoo
。
キーワードと環境変数が各パッケージの USE フラグと混在すると、メタ配布が生成されます。パッケージをコンパイルする方法は無限ではありませんが、Gentooシステムのすべてのパッケージが何らかの方法でUSEフラグの影響を受けることを保証できます。
フラグの仕組み
FreeBSDをインストールするには、次のものを使用する必要があります。FreeBSDが提供するマニュアルFreeBSDをインストールして新しくインストールするときに使用してください。WikiのGentoo FreeBSDガイドライン。これにより、FreeBSDに次の機能が追加されます。
Gentoo/FreeBSDはFreeBSDに基づくGentooシステムです。次の変更がある FreeBSD です。
- Portageはポートを置き換えます。
- 基本システムはPortageとして管理されます。
- ./contrib と ./crypto のソフトウェアは Gentoo Linux バージョンに置き換えられました。
- rcシステムはOpenRCに置き換えられました。
- ポーテージをサポートするために、Python、wget、bashが基本システムに含まれています。
- FreeBSDのブートローダがプライマリシステムから削除されました(刑務所に役立ちます)。
懸念している2つのパッケージの管理者は、FreeBSDシステムでパッケージをコンパイルするためのオプションを追加しました。 FreeBSDシステムを使用していない場合、この変更は影響しません。 Portageはこれを表示して、フラグがマスクされていることを知らせます。。何も変更する必要はありません。 FreeBSDとLinuxの違いの簡単な説明(つまり、簡単な説明を意味する)については、以下を参照してください。HTGの説明:LinuxとBSDの違いは何ですか?。