このページの目次
Gentoo パッケージ管理オペレーションマニュアル
Portage は Gentoo のパッケージ管理システムです。主要な概念: ebuild (ビルドスクリプト), emerge (CLI), USE フラグ (コンパイル時の機能スイッチ), world set (ユーザーが明示的にインストールしたパッケージ), @system (基本システムセット)。
ステータス確認
# インストール済みパッケージ
# パッケージ情報
# アップグレード可能なパッケージの確認
&&
# USE フラグ
|
# world set
# 依存関係分析
インストールとアンインストール
# インストール
# アンインストール
# アップグレード
# overlay からインストール
# ダウンロードのみでインストールしない
USE フラグ管理
# 一時的に有効化/無効化 (単発の emerge)
USE="gtk -qt5"
# パッケージレベルの USE (永続化)
# /etc/portage/package.use/<name> または /etc/portage/package.use を編集
# グローバル USE (永続化)
# /etc/portage/make.conf を編集:
# USE="gtk -qt5"
# 特定の USE フラグがどのパッケージに影響するかを確認
# USE フラグ変更後に影響を受けるパッケージを再コンパイル
Keyword と Mask
# ~amd64 (testing) の特定パッケージを許可
# 特定バージョンを許可
# ** (すべての keyword、ライブ ebuild を含む) を許可
# Mask (インストール/アップグレードの阻止)
# Unmask (グローバル mask の解除)
設定更新 (dispatch-conf)
# emerge 後に CONFIGURATION FILES の更新通知がある場合:
# ショートカットキー: u=use-new, z=zap-new(新しい設定を破棄), m=merge-interactive, q=quit
# 保留中の設定を表示
# 自動化 (非対話式)
トラブルシューティングとメンテナンス
# 同期
# 壊れた依存関係の修復
# @world の再構築 (メジャーバージョンアップ後)
# Python ターゲットアップグレード後
# クリーンアップ
# ビルドログの確認
# システムの一貫性チェック
# overlay の問題をチェック
|
# guru などの overlay が競合を引き起こす場合、一時的に無効化:
# emerge -avuDN @world --exclude="*::guru"
Overlay 管理
# 有効な overlay のリスト
|
# overlay の追加 (eselect-repository)
# overlay の同期
Profile とコンパイラ
# Profile の切り替え
# GCC バージョンの切り替え
# Python バージョン
# ビルド環境の確認
早見表: make.conf の主要設定
# /etc/portage/make.conf の主要項目:
# MAKEOPTS="-j16" # 並列コンパイル数 (≈CPU コア数)
# EMERGE_DEFAULT_OPTS="--jobs=4 --load-average=16" # 並列 emerge タスク
# ACCEPT_LICENSE="*" # すべてのライセンスを受諾 (本番環境では注意)
# L10N="en-US zh-CN" # ローカライズ
# VIDEO_CARDS="amdgpu radeonsi" # グラフィックカードドライバー
# INPUT_DEVICES="libinput" # 入力デバイス
# CPU_FLAGS_X86="aes avx avx2 ..." # コンパイラ最適化 (cpuid2cpuflags)