"/boot/grub/menu.lstの新しいバージョンが利用可能です"オプションをプリセットする方法

"/boot/grub/menu.lstの新しいバージョンが利用可能です"オプションをプリセットする方法

追加しましたbiosdevname=1そして私の他の設定のいくつか/etc/default/grubUbuntu 16.04で。カーネルアップデートがあるたびに、次の質問を受け取ります。

Found kernel: /boot/vmlinuz-4.15.0-136-generic
Found kernel: /boot/vmlinuz-4.15.0-135-generic
A new version of /boot/grub/menu.lst is available, but the version installed currently has
been locally modified.

  1. install the package maintainer's version
  2. keep the local version currently installed
  3. show the differences between the versions
  4. show a side-by-side difference between the versions
  5. show a 3-way difference between available versions
  6. do a 3-way merge between available versions (experimental)
  7. start a new shell to examine the situation

What would you like to do about menu.lst? 2

アップデートが必要なコンピュータは約60台あります。アンシプール既存のグルーブのデフォルト値を維持するには、手動で各システムに移動して「2」を選択する必要がありました。

aptに「常に上書き」または「常に保存」を指示するdpkg環境変数があることを知っていますが、単一のパッケージを選択するように指示する方法はありません。

私はどのように知っています簡単私のものを「常に保つ」/etc/default/grub構成?

答え1

この問題を提供するプログラムと呼ばれますdpkgaptDebianシリーズシステムでは、パッケージのインストール後半に呼び出されます。を使用して設定オプションを渡すことができます-o Dpkg::Options::="OPTIONS"。 (強制構成 - 前)実行をdpkg有効にするには、--force-confold次のコマンドを使用します。

apt-get install -o Dpkg::Options::="--force-confold" …

これにより無効になります。みんな構成ファイルの変更。--force-confdefこれを未変更の構成と組み合わせて構成を更新できます。

apt-get install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" …

また見なさい:apt-get は、インストール中に設定ファイルの現在のバージョンを自動的に保持します。

答え2

@jiwopeneの答えは良いですが、効果があります。パッケージごとシステムでアップグレードが実行されました。構成ファイルに古く、廃止されたオプションがある場合は、アップグレードされたソフトウェアの一部が実行されないため、これは私の質問ではありません。他のパッケージは警告メッセージ(例:)でのみログファイルを入力します。sshdこれにより、postfix中央ロギング(データベースのインデックス作成、ストレージ、検索のパフォーマンスなど)に不要なオーバーヘッドが発生する可能性があります。結局、私は以下のスクリプトを使用しました。 @jiwopeneで述べたオプションを適用しますが、アップグレードのみを指定します。Linux 一般パック。次に、autoremove同じオプションを使用して古いカーネルを削除します。

一部のシステムでは、インストールされているプロファイルを上書きするかどうかを尋ねるテキストモードダイアログボックス(インストールされているパッケージからインポートされたと仮定)が表示され、指定されたオプションを無視するように見えるため、環境DEBIAN_FRONTEND=noninteractive変数が必要です。dialogdpkg

#!/bin/bash
# disable any dialog prompts
export DEBIAN_FRONTEND=noninteractive

# check if linux-generic package is installed here
dpkg -l linux-generic &>/dev/null

# if so, upgrade linux-generic package only and force-keep any config files
if [ "$?" -eq 0 ]; then
   apt-get install -y --only-upgrade -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" linux-generic

   # next, autoremove the old kernels and again force-keep grub config
   apt-get -y autoremove -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
fi

関連情報