pxe と nfs からディスクレス debian linux (ubuntu 20.04) を起動します。すべてがうまく機能し、コンソールを起動できます。 apt upgrdeを実行するとエラーメッセージが表示されます。
/usr/sbin/grub-probe: error: failed to get canonical path of `10.0.0.1:/export/host1'
マウントを実行すると
10.0.0.1:/export/host1 on / type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,proto=tcp,port=2049,timeo=600,retrans=10,sec=sys,local_lock=all,addr=10.0.0.1)
df
私が見るに:
10.0.0.1:/export/host1 500G 39G 462G 8% /
私は/etc/fstab
以下を持っています:
#/swap.img none swap sw 0 0
/dev/nfs / nfs defaults 1 1
ログには何も表示されません。
答え1
ディスクレスシステムにGRUBブートローダをインストールしましたか?ブートローダはPXEサーバーにあります。ローカルGRUBパッケージのみを削除してください。
/etc/kernel/post(inst|rm).d/zz-update-grub
実行は実行時にエラーメッセージを生成するupdate-grub
ラッパーにすぎないため、すべてのカーネル更新後にエラーメッセージが表示されます。実行されるたびにローカルブートローダを使用し、NFSマウントルートファイルシステムによって難読化されるという基本的な前提があります。grub-mkconfig
grub-probe
grub-probe
何らかの理由でGRUBパッケージを維持したい場合(GRUB文書やマニュアルページに簡単にアクセスするため)、および/etc/kernel/postinst.d/zz-update-grub
削除する/etc/kernel/postrm.d/zz-update-grub
か、より良い方法で実行専用に変更することができますexit 0
。ローカルブートローダディスクがないシステムで使用できます。
(これを削除すると、次のGRUBパッケージが更新されたときにのみ再インストールされます。これをカスタムno-opスクリプトに置き換えると、DebianのGRUB統合が大幅に変更されない限り、パッケージ管理でカスタム設定を維持できます。構成ファイル小包にgrub2-common
。主な変更が発生しても、パッケージ管理でカスタムファイルを置き換える必要があるかどうかを尋ねるメッセージが表示されます。 )
まだ実行していない場合は、最新のカーネルとそのinitramfsファイルをPXEブートサーバーの適切な場所にコピーする/etc/kernel/postinst.d/
独自のスクリプトを作成することを検討することもできます。/etc/kernel/postrm.d/
それ以外の場合は、すべてのカーネル更新を手動でコピーする必要があります。これは、通常、操作が実行されるまでパッチのないカーネルに閉じ込められていることを意味します。