Linuxサーバーの管理は、繰り返しタスクを実行する必要がある場合、特に面倒な作業のように感じる可能性があります。
サーバーの更新はそれらのタスクの1つです。サーバーにセキュリティ更新プログラムを自動的にインストールすることを選択できますが、メンテナンスタスクから完全に解放されるわけではありません。
なんで?カーネルのセキュリティ更新にはUbuntuサーバーの再起動が必要なためです。
Linodeなどのクラウドサービスの1つでUbuntuサーバーを使用している場合は、システムの再起動が必要であることが通知されます。
***システムの再起動が必要です***
サーバーを再起動せずに、カーネルの更新を含むすべての更新をインストールする方法があると言ったらどうなりますか。これは、ライブカーネルパッチまたはライブパッチと呼ばれます。
ライブパッチとは何ですか?
ライブパッチは、システムを再起動せずに、実行中のLinuxカーネルにセキュリティ修正を適用するプロセスです。
このプロセスは非常に複雑でリスクが高いため、Linuxディストリビューションでデフォルトで使用できるものではありません。
以前のLinuxシステム管理者は、カーネルへのホットパッチを作成するために多くの手動作業を行う必要がありました。ライブパッチのサポートは、バージョン4.0からLinuxカーネル自体に追加されました。つまり、Ubuntuシステムはライブパッチをサポートしている必要があります。
ただし、Ubuntuで次のコマンドを使用することで、いつでもサポートされていることを確認できます。
cat /boot/config-$(uname -r) | grep LIVEPATCH
Y
が表示された場合 、それはあなたのカーネルがライブパッチをサポートしていることを意味します。
次に、ライブカーネルパッチについて考えてみましょう。ライブパッチサービスが必要です。 Linuxカーネルのライブパッチを可能にするツールがいくつかあります。 OracleのkspliceやSUSEのkGraftやUbuntuのLivepatchのように。
ライブパッチは、KernelCareなどの企業によってサービスとして販売されていることに注意してください。 Ubuntuでは、Ubuntuアカウントごとに最大3台のサーバーを無料で利用できます(後で説明します)。
ここでの議論はUbuntuに関するものなので、Ubuntu自体によるライブパッチサービスを使用することをお勧めします。
Ubuntuサーバーでのライブパッチの有効化
CanonicalLivepatchServiceのWebページにアクセスします。
まだアカウントを持っていない場合は、UbuntuOneでアカウントを作成する必要があります。
ログインすると、アカウントのトークンと、ライブパッチを有効にするサーバーで使用する必要のあるいくつかのコマンドが表示されます。
このトークンを取得したら、Ubuntuサーバーにログインします。
最初にライブパッチツールをインストールします:
sudo snap install canonical-livepatch
次に、UbuntuOneアカウントからコピーしたトークンを使用してライブカーネルパッチを有効にします。
sudo canonical-livepatch enable ad108xxxxxxxxxxxxxxxxxxxxxxxxx
それでおしまい。ライブパッチを有効にしたので、サーバーの再起動について心配する必要はありません。サーバーの稼働時間を想像してみてください。
稼働時間について言えば、システム管理者の国歌UptimeFunkを共有しましょう。 SUSELinuxのとても親しみやすくて面白いパロディービデオです。
再起動せず、パッチを当てるだけです:)