{"id":2359,"date":"2024-10-19T14:44:35","date_gmt":"2024-10-19T05:44:35","guid":{"rendered":"https:\/\/gotocloud.co.kr\/?p=2359"},"modified":"2024-10-19T14:45:04","modified_gmt":"2024-10-19T05:45:04","slug":"azure-ubuntu-22-04-virtual-machine-kernel-update","status":"publish","type":"post","link":"https:\/\/gotocloud.co.kr\/?p=2359","title":{"rendered":"Azure Ubuntu 22.04 virtual machine kernel update"},"content":{"rendered":"<p>When registering a Ubuntu-based virtual machine on the Azure Marketplace, there are times when the process cannot proceed further due to an email indicating an issue with the operating system\u2019s security verification.<\/p>\n<p>Even after using the Ubuntu image provided by Azure to install the necessary software and then publishing the image, warnings occur because the previously registered image had no security issues at the time of registration. However, if a new OS image is registered without applying security patches that occurred after the registration, it will not pass the security verification.<\/p>\n<p>Even if you perform\u00a0<code>apt update<\/code>\u00a0or\u00a0<code>apt upgrade<\/code>\u00a0on the OS image, if the patch is still not applied, you need to update the kernel. To update the kernel of an Azure Ubuntu virtual machine, follow these steps in the terminal after running the Ubuntu 22.04 virtual machine:<\/p>\n<ul>\n<li>update and upgrade packages<\/li>\n<\/ul>\n<pre style=\"padding-left: 40px;\">$ sudo apt update \r\n$ sudo apt upgrade<\/pre>\n<ul>\n<li>Install the kernel with the security patch applied. You can find the kernel version according to the patch number included in the Marketplace inspection. For example, the patch for USN-7076-1 can be found at https:\/\/ubuntu.com\/security\/notices\/USN-7076-1. Use the following command to install the kernel. Here, we are installing version 5.15.0-1072-azure as an example<\/li>\n<\/ul>\n<pre style=\"padding-left: 40px;\">$ sudo apt install linux<span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-punctuation\">{<\/span>image<span class=\"token se-code-punctuation\">,<\/span>headers<span class=\"token se-code-punctuation\">}<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-number\">5.15<\/span><span class=\"token se-code-number\">.0<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-number\">1072<\/span><span class=\"token se-code-operator\">-<\/span>azure<\/pre>\n<ul>\n<li>Check kernels installed<\/li>\n<\/ul>\n<pre style=\"padding-left: 40px;\">$ sudo awk <span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-constant\">F<\/span><span class=\"token se-code-string\">\"--class\"<\/span> <span class=\"token se-code-string\">'\/menuentry\/ &amp;&amp; \/with Linux\/ {print $1}'<\/span> <span class=\"token se-code-operator\">\/<\/span>boot<span class=\"token se-code-operator\">\/<\/span>grub<span class=\"token se-code-operator\">\/<\/span>grub<span class=\"token se-code-punctuation\">.<\/span>cfg <span class=\"token se-code-operator\">|<\/span> awk <span class=\"token se-code-string\">'{print i++ \" : \" $5,$6,$7,$8}'<\/span> <span class=\"token se-code-operator\">|<\/span> sed <span class=\"token se-code-operator\">-<\/span>e <span class=\"token se-code-string\">\"s\/'\/ \/g\"\r\n<\/span><span class=\"token se-code-number\">0<\/span> <span class=\"token se-code-operator\">:<\/span> <span class=\"token se-code-number\">6.5<\/span><span class=\"token se-code-number\">.0<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-number\">1025<\/span><span class=\"token se-code-operator\">-<\/span>azure\r\n<span class=\"token se-code-number\">1<\/span> <span class=\"token se-code-operator\">:<\/span> <span class=\"token se-code-number\">6.5<\/span><span class=\"token se-code-number\">.0<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-number\">1025<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-function\">azure<\/span> <span class=\"token se-code-punctuation\">(<\/span>recovery mode<span class=\"token se-code-punctuation\">)<\/span> \r\n<span class=\"token se-code-number\">2<\/span> <span class=\"token se-code-operator\">:<\/span> <span class=\"token se-code-number\">5.15<\/span><span class=\"token se-code-number\">.0<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-number\">1072<\/span><span class=\"token se-code-operator\">-<\/span>azure\r\n<span class=\"token se-code-number\">3<\/span> <span class=\"token se-code-operator\">:<\/span> <span class=\"token se-code-number\">5.15<\/span><span class=\"token se-code-number\">.0<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-number\">1072<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-function\">azure<\/span> <span class=\"token se-code-punctuation\">(<\/span>recovery mode<span class=\"token se-code-punctuation\">)<\/span> \r\n<span class=\"token se-code-number\">4<\/span> <span class=\"token se-code-operator\">:<\/span> <span class=\"token se-code-number\">5.15<\/span><span class=\"token se-code-number\">.0<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-number\">1066<\/span><span class=\"token se-code-operator\">-<\/span>azure\r\n<span class=\"token se-code-number\">5<\/span> <span class=\"token se-code-operator\">:<\/span> <span class=\"token se-code-number\">5.15<\/span><span class=\"token se-code-number\">.0<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-number\">1066<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-function\">azure<\/span> <span class=\"token se-code-punctuation\">(<\/span>recovery mode<span class=\"token se-code-punctuation\">)<\/span><\/pre>\n<ul>\n<li>Change the grub configuration to boot using the new kernel<\/li>\n<\/ul>\n<pre style=\"padding-left: 40px;\">$ sudo sed <span class=\"token se-code-operator\">-<\/span>i <span class=\"token se-code-string\">'s\/GRUB_DEFAULT=.*\/GRUB_DEFAULT=saved\/g'<\/span> <span class=\"token se-code-operator\">\/<\/span>etc<span class=\"token se-code-operator\">\/<\/span><span class=\"token se-code-keyword\">default<\/span><span class=\"token se-code-operator\">\/<\/span>grub \r\n$ grub<span class=\"token se-code-operator\">-<\/span>set<span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-keyword\">default<\/span> <span class=\"token se-code-string\">\"Advanced options for Ubuntu&gt;Ubuntu, with Linux 5.15.0-1072-azure\"<\/span><\/pre>\n<ul>\n<li>Check the grub update and reboot<\/li>\n<\/ul>\n<pre style=\"padding-left: 40px;\">$ sudo grub<span class=\"token se-code-operator\">-<\/span>editenv list\r\nsaved_entry<span class=\"token se-code-operator\">=<\/span>Advanced options <span class=\"token se-code-keyword\">for<\/span> Ubuntu<span class=\"token se-code-operator\">&gt;<\/span>Ubuntu<span class=\"token se-code-punctuation\">,<\/span> <span class=\"token se-code-keyword\">with<\/span> Linux <span class=\"token se-code-number\">5.15<\/span><span class=\"token se-code-number\">.0<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-number\">1072<\/span><span class=\"token se-code-operator\">-<\/span>azure \r\n$ sudo update<span class=\"token se-code-operator\">-<\/span>grub \r\n$ sudo reboot<\/pre>\n<ul>\n<li>After reboot, check the new kernel is applied<\/li>\n<\/ul>\n<pre style=\"padding-left: 40px;\">$ sudo uname <span class=\"token se-code-operator\">-<\/span>r \r\n<span class=\"token se-code-number\">5.15<\/span><span class=\"token se-code-number\">.0<\/span><span class=\"token se-code-operator\">-<\/span><span class=\"token se-code-number\">1072<\/span><span class=\"token se-code-operator\">-<\/span>azure<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>When registering a Ubuntu-based virtual machine on the Azure Marketplace, there are times when the process cannot proceed further due to an email indicating an [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2361,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[320,434,435,433],"_links":{"self":[{"href":"https:\/\/gotocloud.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/2359"}],"collection":[{"href":"https:\/\/gotocloud.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gotocloud.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gotocloud.co.kr\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gotocloud.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2359"}],"version-history":[{"count":1,"href":"https:\/\/gotocloud.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/2359\/revisions"}],"predecessor-version":[{"id":2360,"href":"https:\/\/gotocloud.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/2359\/revisions\/2360"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gotocloud.co.kr\/index.php?rest_route=\/wp\/v2\/media\/2361"}],"wp:attachment":[{"href":"https:\/\/gotocloud.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2359"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gotocloud.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2359"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gotocloud.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2359"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}