Gentoo Linux HardenedシステムにKDEをインストールしています。公式のGentoo Wikiでは、KDEデスクトッププロファイルを適用してを発行してからemerge -NDu --with-bdeps=y @world
パッケージkdebase-meta
をインストールすることをお勧めします。しかし、私は強化されたプロファイルを使用しており、一度に1つのプロファイルしか選択できません。
これまで、Portage設定ファイル(/etc/portage/make.conf、/etc/portage/package.useなど)にKDEプロファイルのグローバルおよびパッケージ固有のUSEフラグを手動で正常に適用しました。 Gentoo開発チームが設定ファイルを変更するにつれて、このハッキングが長期的に維持するのが難しくなる可能性があることを心配しました。 Portageの更新を受信するたびに、USEフラグとファイル構成が変更された場合に備えて、再適用してdesktop
構成する必要があります。desktop/kde
Gentoo Linuxで同時に複数のPortageプロファイルを有効にする別の方法はありますか?
答え1
カスケードの使用
プロフィールが許可します。従属、useflagsを手動で設定する必要はありません。
すべてのプロファイルは、複数のサブプロファイルで構成されるカスケード/スタック可能プロファイルです。
同じページには、この質問に答える必要性をカバーする章もあります。
結合された構成ファイル
Gentooリポジトリに正確な要件を満たすプロファイルがない場合は、複数のプロファイルをカスタムプロファイルにまとめることができます。たとえば、拡張構成ファイルを default/linux/amd64/17.0/desktop/plasma/systemd や default/linux/amd64/17.0/hardened などのデスクトップシステム構成ファイルと組み合わせます。すでにカスタムリポジトリを設定していることが予想されます。
Wikiページでは、リポジトリを設定し、最終的に設定ファイルを生成する方法への追加リンクが表示されます。
どのように
以下は、no-multilib/plasma/systemd
私が設定した方法の要約です(必要に応じて調整)。
1. リポジトリのディレクトリ構造を作成します。
mkdir -p /usr/portage/local/{metadata,profiles/default/linux/amd64/17.0/no-multilib/plasma/systemd}
2. 親定義
/usr/portage/local/profiles/default/linux/amd64/17.0/no-multilib/plasma/systemd/parent
次の内容を含めるように編集してください。
/usr/portage/profiles/default/linux/amd64/17.0/desktop/plasma/systemd
/usr/portage/profiles/default/linux/amd64/17.0/no-multilib
ドキュメントは相対パスを使用しますが、負の再帰../../..
レベルが少し混乱していることに注意してください。/usr/portage
システムの周りを移動する予定がない場合は、絶対パスも同様に機能します。
低い優先順位を見つけました。したがって、最初のプロファイルでフラグまたは設定がオン/オフに設定され、次の行でその逆が発生すると、次の行のプロファイル設定が適用されます。たとえば、plasma
構成ファイルを使用すると、いくつかのmulti-lib
設定を指定できます。どこに設定できますか?徳上行血漿まず、いくつかのパッケージはまだ次のようにビルドしようとします。徳(さまざまな興味深いビルドの失敗を提供します)この行の順序を調整する必要があるかもしれません。
3. リポジトリメタデータの設定
編集する/usr/portage/local/metadata/layout.conf
。自動同期は、emerge --sync
このリポジトリを同期しないように指示します。
masters = gentoo
auto-sync = false
おなじみの名前を定義します。これはこのリポジトリ内のすべてのエントリの接頭辞になりますeselect profile list
。/usr/portage/local/profiles/repo_name
:
local
プロフィールがどこにあるかを教えてくれ/usr/portage/local/profiles/profiles.desc
ます。eselect
最初のフィールドはアーチ、2番目のプロファイル名、3番目のフィールド安定または実験的:
amd64 default/linux/amd64/17.0/no-multilib/plasma/systemd stable
4. Portageに新しいリポジトリについて知らせます。
/etc/portage/repos.conf/local.conf
以下を含むように作成および編集:
[local]
location = /usr/portage/local
5. 輪郭を設定して指を交差させる
~# eselect profile list
[...]
[55] local:default/linux/amd64/17.0/no-multilib/plasma/systemd (stable)
~# eselect profile set 55
~# emerge --update --newuse --deep --ask --verbose @world
メンテナンス容易
設定するのは少し面倒ですが、メンテナンスは簡単です。構成ファイルの使用フラグと設定は、常に基本ツリーと同期されます。設定ファイルのバージョンを更新する必要がある場合でも、大きな問題はありません。たとえば、Gentooツリーに新しい設定ファイルのバージョンがある場合:
~# cd /usr/portage/local/profiles/default/linux/amd64
~# cp -av 17.0 18.0
~# vi 18.0/no-multilib/plasma/systemd/parent
/usr/portage/profiles/default/linux/amd64/18.0/desktop/plasma/systemd
/usr/portage/profiles/default/linux/amd64/18.0/no-multilib
~# vi /usr/portage/local/profiles/profiles.desc
amd64 default/linux/amd64/18.0/no-multilib/plasma/systemd stable
~# eselect [...]
答え2
質問
ご存知のように、Gentooは一度に1つのプロファイル設定のみを許可します。私のものからわかるようにeselect profile list
:
[1] default/linux/amd64/13.0
[2] default/linux/amd64/13.0/selinux
[3] default/linux/amd64/13.0/desktop
[4] default/linux/amd64/13.0/desktop/gnome
[5] default/linux/amd64/13.0/desktop/gnome/systemd
[6] default/linux/amd64/13.0/desktop/kde *
[7] default/linux/amd64/13.0/desktop/kde/systemd
[8] default/linux/amd64/13.0/desktop/plasma
[9] default/linux/amd64/13.0/desktop/plasma/systemd
[10] default/linux/amd64/13.0/developer
[11] default/linux/amd64/13.0/no-multilib
[12] default/linux/amd64/13.0/systemd
[13] default/linux/amd64/13.0/x32
[14] hardened/linux/amd64
[15] hardened/linux/amd64/selinux
[16] hardened/linux/amd64/no-multilib
[17] hardened/linux/amd64/no-multilib/selinux
[18] hardened/linux/amd64/x32
[19] hardened/linux/musl/amd64
[20] hardened/linux/musl/amd64/x32
[21] default/linux/uclibc/amd64
[22] hardened/linux/uclibc/amd64
解決策
プロファイルを強化(マイリストの14)に設定したら、KDEプロファイルのファイルを確認する必要があります。 (これを行うには、テキストエディタなしで少しの書き込みが必要です。)
cd /usr/portage/profiles/targets/desktop/kde
nano -w make.defaults
nano -w parent
- 今すぐ見なければなりません
/usr/portage/profiles/targets/desktop/
。 nano -w make.defaults
メモを使って手順2のUSEフラグをコピーし、手順3parent
でディスプレイをオンにします..
。これは、1つのディレクトリの上に移動することを意味します。ステップ5のUSEフラグをコピーします。最後のステップにemerge -v app-portage/ufed && ufed
。これで、コピーされたUSEフラグを設定できます/etc/portage/make.conf
。このプロセスを繰り返す必要があるかもしれません。
/usr/portage/profiles/desktop/kde/package.use
/usr/portage/profiles/desktop/package.use
これら2つのファイルに記載されているパッケージを/etc/portage/package.use
。
同期中はファイルを/etc/portage
上書きせず、USEフラグは達成しようとしている/etc/portage/make.conf
動作を模倣します。よりマニュアルのPortageファイルセクションより多くの情報を知りたいです。デフォルトでは、/etc/portage
Portageは選択した設定ファイルを読み取る前に設定を使用するため、Portageの上書きが強化された設定ファイルに追加されます。構成ファイルのUSEフラグは同期するたびに更新される可能性があるため、これが問題であることがわかっているため、package.use
各同期後にフラグが追加されていることを確認する必要があります。通常、構成ファイルは頻繁に更新されません。