私はGentooユーザーで、新しいカーネルが出たときにカーネル設定ファイルをコピーするのに少し疲れました。構成ファイルをgenkernelに直接パイプすることが可能かどうか疑問に思います。このような:
sudo genkernel --install --clean --kernel-config=$(gunzip/proc/config.gz) --menuconfig all
またはこれ:
zcat /proc/config.gz | sudo genkernel --install --clean --kernel-config=- --menuconfig all
ただし、パイプ/シェルスクリプトにはうまくいかないため、操作できません。どんなアイデアがありますか?
編集:$(gunzip /proc/config.gz)
それを使って話してくださいgzip: /proc/config: No such file or directory
。しかし、zcat /proc/config.gz
私の設定はすべて印刷されるので、これは間違っています。
ベストアンサー1
シェル呼び出しが正しくありません。
$(gunzip /proc/config.gz)
-> /proc/config.gzを/proc/configに変更しようとします。 stdoutには何も送信されませんが、この場合は新しいファイルを作成できないため、stderrが実行されます/proc
(例no such file or directory error
:)。
genkernel
ファイル記述子を読み取るように構成に指示する必要があります(ショートカットを標準入力としてサポートしていません)。したがって、2つのオプションがあります。-
- 管路:
zcat /proc/config.gz | zcat /proc/config.gz | sudo genkernel --install\ --clean --kernel-config=/dev/stdin --menuconfig すべて
- プロセスの代替:
sudo genkernel --install --clean\ --kernel-config=<(zcat /proc/config.gz) --menuconfig すべて
/etc/kernels/
私は後者をお勧めしますが、基本的にgenkernelはすべてのカーネル設定を次の場所に保存してそこからインポートできることを指摘したいと思います。
sudo genkernel --install --clean\ --kernel-config=/etc/kernels/kernel-config-$(uname -m)-$(uname -r)\ --メニュー構成全体
(設定オプションを変更して同じカーネルを再構築すると、意図的にそのディレクトリの古いファイルが上書きされます。)