Re: 問題ID:28687

この質問の投稿一覧へ

なし Re: 問題ID:28687

msg# 1.3.1.1.1.1
depth:
5
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2020-5-11 20:11 | 最終変更
sokura  新米   投稿数: 4
重ね重ねご意見ありがとうございます。
改めて色々調べて自分の認識を確認し、まとめます。
まず最初の認識としては
mrproperを実行する=oldconfigで参照するファイルすら削除される
なのでoldconfigが実行出来ることが疑問でした
つまり「現在のカーネルをビルドした時の設定」とやらもmrproperは削除するのではないのかと考えていました。
その理由としては、問題28687のページの参考URL先のmrproperの説明として
「カーネルコンフィグレーションで生成した全てのファイルを削除する」とあるからです。
ですが、oldconfigが参照する.configは、/boot配下にあるファイルのコピーであり
mrproperで削除されるのはあくまでカーネルソースが展開される/usr/src/linux内のファイルのみであるとするなら合点がいきます。
これならmrproperで全て削除しても、/bootのコンフィグデータを持ってくればoldconfigが可能であり、現在の内容で問題ないかのように見えます。
ですが、そうなると別の疑問が浮かびます。それは、「現在のカーネル設定を引き継ぐ」のに何故「make clean」では誤りなのか
という点です。
現在の設定を引き継ぐ以上、.configを削除する必要はなく、mrproperで全削除してわざわざ/boot配下のコンフィグデータをコピーして.configを作成することは二度手間です。
もし「不要なものを残したままビルドを行うよりは、二度手間でも全削除して改めて.configをコピーすればよい」という方針であるなら
そもそもcleanの存在意義とはなんでしょうかとなりますし、じゃあcleanとmrproperはどう使い分ければ良いのだろうと考えていました。
なので現在の設定を引き継ぐにも関わらず、どうして.configを消去しているんだろうと考えておりましたが、ここでやっと大変なことに気付いてしまいました。

仰る通り、選択肢にcleanありませんね・・・。
よく見たらclearでした
そりゃこの選択肢の中ではmrproperから始まる選択肢が正しいとなりますね・・・。

ずーーっとcleanだと思っていて、何故cleanが誤りなんだろうと考えていました。
なんということでしょう。
笑ってもらって構いません。
私の投稿をご覧になっている方にはご迷惑をおかけし、申し訳ありませんでした。
私の勘違いでした。

そして更によく見るとclearの選択肢はその後の流れも、install→modules_installとなっていてこの点でも誤りということが分かりますね。
なんということでしょう。
私の投稿をご覧になっている方にはご迷惑をおかけし、大変申し訳ありませんでした。

ですが、解答が間違っていないことは理解したものの「現在の設定を引き継ぐのにcleanではなくmrproperを実行する手順を解答としている」
明確な理由が不明なことには変わりません。

「mrproperでは削除されるがcleanでは削除されないファイル」というのは.config以外にもあるのでしょうか。
それならまだ理解出来ますが。

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.