設定ファイルをgenkernelにパイプ

設定ファイルをgenkernelにパイプ

私は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つのオプションがあります。-

  1. 管路:
zcat /proc/config.gz | zcat /proc/config.gz | sudo genkernel --install\
--clean --kernel-config=/dev/stdin --menuconfig すべて
  1. プロセスの代替:
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)\
--メニュー構成全体

(設定オプションを変更して同じカーネルを再構築すると、意図的にそのディレクトリの古いファイルが上書きされます。)

おすすめ記事