{"id":311,"date":"2025-07-17T06:11:27","date_gmt":"2025-07-17T13:11:27","guid":{"rendered":"https:\/\/www.cmsws.com\/blog\/?p=301"},"modified":"2025-10-11T06:43:17","modified_gmt":"2025-10-11T13:43:17","slug":"upgrading-debian","status":"publish","type":"post","link":"https:\/\/www.cmsws.com\/blog\/upgrading-debian\/","title":{"rendered":"Upgrading between major versions of Debian"},"content":{"rendered":"\n<p>Here I will document the process of upgrading from each major version release to the next.<\/p><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-right counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.cmsws.com\/blog\/upgrading-debian\/#Upgrade_from_Debian_9_stretch_to_Debian_10_buster\" >Upgrade from Debian 9 (stretch) to Debian 10 (buster)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.cmsws.com\/blog\/upgrading-debian\/#Upgrade_from_Debian_10_buster_to_Debian_11_bullseye\" >Upgrade from Debian 10 (buster) to Debian 11 (bullseye)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.cmsws.com\/blog\/upgrading-debian\/#Upgrade_from_Debian_11_bullseye_to_Debian_12_bookworm\" >Upgrade from Debian 11 (bullseye) to Debian 12 (bookworm)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.cmsws.com\/blog\/upgrading-debian\/#Upgrade_from_Debian_12_bookworm_to_Debian_13_trixie\" >Upgrade from Debian 12 (bookworm) to Debian 13 (trixie)<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<p>Between each version, there are subtle differences to watch for in each line of code.  When a release is archived, the hostname changes and the &lt;&#8230;&gt; paths are removed.  Some have naming convention changes.<\/p>\n\n\n\n<p>Also, it is a good idea to know the different between &#8216;apt upgrade&#8217; and &#8216;apt full-upgrade&#8217;.  &#8216;upgrade&#8217; will do its best to upgrade all available packages without uninstalling existing packages.  &#8216;full-upgrade&#8217; will forcibly remove packages to make sure all upgrades are installed.  This can sometimes generate chaos in your system and do things that you would not normally have done.  Installed programs might disappear.  And other things might stop working due to missing dependencies.<\/p>\n\n\n\n<p>Before proceeding with any distribution upgrade between major release versions, make sure your current installation is fully up-to-date.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt upgrade\nsudo apt full-upgrade\nsudo apt --purge autoremove<\/code><\/pre>\n\n\n\n<p>Once you have performed all the above actions, if there were any core OS updates applied be sure to restart your system for those to take effect.  Once you have done this, you can move on with the following instructions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Upgrade_from_Debian_9_stretch_to_Debian_10_buster\"><\/span>Upgrade from Debian 9 (stretch) to Debian 10 (buster)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>***<em>Buster is now found in the archive repo.<\/em>***<\/p>\n\n\n\n<p>Update your source file: <strong><em>&#8216;\/etc\/apt\/source.list&#8217;<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deb http:\/\/archive.debian.org\/debian\/ buster main contrib non-free\ndeb http:\/\/archive.debian.org\/debian-security buster\/updates main contrib non-free\ndeb http:\/\/archive.debian.org\/debian\/ buster-updates main contrib non-free\n\ndeb-src http:\/\/archive.debian.org\/debian\/ buster main contrib non-free\ndeb-src http:\/\/archive.debian.org\/debian-security buster\/updates main contrib non-free\ndeb-src http:\/\/archive.debian.org\/debian\/ buster-updates main contrib non-free<\/code><\/pre>\n\n\n\n<p><strong>Run the update &amp; upgrade process<\/strong><\/p>\n\n\n\n<p>Refresh the cache and apply the updates.  Restart after this step completes.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update<br>sudo apt full-upgrade <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Upgrade_from_Debian_10_buster_to_Debian_11_bullseye\"><\/span>Upgrade from Debian 10 (buster) to Debian 11 (bullseye)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Update your source file: <strong><em>&#8216;\/etc\/apt\/source.list&#8217;<\/em><\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>deb http:\/\/deb.debian.org\/debian\/ bullseye main contrib non-free\ndeb http:\/\/deb.debian.org\/debian\/ bullseye-updates main contrib non-free\ndeb http:\/\/security.debian.org\/debian-security bullseye-security main contrib non-free\n\ndeb-src http:\/\/deb.debian.org\/debian\/ bullseye main contrib non-free\ndeb-src http:\/\/deb.debian.org\/debian\/ bullseye-updates main contrib non-free\ndeb-src http:\/\/security.debian.org\/debian-security bullseye-security main contrib non-free<\/code><\/pre>\n\n\n\n<p><strong>Run the update &amp; upgrade process<\/strong><\/p>\n\n\n\n<p id=\"block-50923a6c-cf64-4d42-adec-e95e4ec48bdb\">Refresh the cache and apply the updates.  Restart after this step completes.<\/p>\n\n\n\n<pre id=\"block-b16ec234-63a1-4b2f-baaf-586ad20a7810\" class=\"wp-block-code\"><code>sudo apt update\nsudo apt full-upgrade<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"block-d305afd4-81e6-47c7-8a86-a1d8d46d7772\"><span class=\"ez-toc-section\" id=\"Upgrade_from_Debian_11_bullseye_to_Debian_12_bookworm\"><\/span>Upgrade from Debian 11 (bullseye) to Debian 12 (bookworm)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p id=\"block-db74c8ae-48c9-46a8-a181-77b31242a666\">Update your source file: <strong><em>&#8216;\/etc\/apt\/source.list&#8217;<\/em><\/strong><\/p>\n\n\n\n<pre id=\"block-dc868fcf-1dcb-4d2c-87b7-03f8ea46fb8c\" class=\"wp-block-code\"><code>deb http:\/\/deb.debian.org\/debian\/ bookworm main contrib non-free\ndeb http:\/\/deb.debian.org\/debian\/ bookworm-updates main contrib non-free\ndeb http:\/\/security.debian.org\/debian-security bookworm-security main contrib\n\ndeb-src http:\/\/deb.debian.org\/debian\/ bookworm main contrib non-free\ndeb-src http:\/\/deb.debian.org\/debian\/ bookworm-updates main contrib non-free\ndeb-src http:\/\/security.debian.org\/debian-security bookworm-security main contrib non-free<\/code><\/pre>\n\n\n\n<p id=\"block-2be7bea0-4d5a-4d0a-9edc-6bcd5b7f4177\"><strong>Run the update &amp; upgrade process<\/strong><\/p>\n\n\n\n<p id=\"block-dcb24928-0ea4-464b-87da-9026b5b93c08\">Refresh the cache and apply the updates.  Restart after this step completes.<\/p>\n\n\n\n<pre id=\"block-ba56d3c2-edcf-4299-9cb8-4b6e258a90f4\" class=\"wp-block-code\"><code>sudo apt update<br>sudo apt full-upgrade<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"block-d305afd4-81e6-47c7-8a86-a1d8d46d7772\"><span class=\"ez-toc-section\" id=\"Upgrade_from_Debian_12_bookworm_to_Debian_13_trixie\"><\/span>Upgrade from Debian 12 (bookworm) to Debian 13 (trixie)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p id=\"block-db74c8ae-48c9-46a8-a181-77b31242a666\">Update your source file: <strong><em>&#8216;\/etc\/apt\/source.list&#8217;<\/em><\/strong><\/p>\n\n\n\n<pre id=\"block-dc868fcf-1dcb-4d2c-87b7-03f8ea46fb8c\" class=\"wp-block-code\"><code>deb http:\/\/deb.debian.org\/debian\/ trixie main contrib non-free\ndeb http:\/\/deb.debian.org\/debian\/ trixie-updates main contrib non-free\ndeb http:\/\/security.debian.org\/debian-security trixie-security main contrib\n\ndeb-src http:\/\/deb.debian.org\/debian\/ trixie main contrib non-free\ndeb-src http:\/\/deb.debian.org\/debian\/ trixie-updates main contrib non-free\ndeb-src http:\/\/security.debian.org\/debian-security trixie-security main contrib non-free<\/code><\/pre>\n\n\n\n<p id=\"block-2be7bea0-4d5a-4d0a-9edc-6bcd5b7f4177\"><strong>Run the update &amp; upgrade process<\/strong><\/p>\n\n\n\n<p id=\"block-dcb24928-0ea4-464b-87da-9026b5b93c08\">Refresh the cache and apply the updates.  Restart after this step completes.<\/p>\n\n\n\n<pre id=\"block-ba56d3c2-edcf-4299-9cb8-4b6e258a90f4\" class=\"wp-block-code\"><code>sudo apt update<br>sudo apt full-upgrade<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here I will document the process of upgrading from each major version release to the next. Between each version, there are subtle differences to watch for in each line of code. When a release is archived, the hostname changes and the &lt;&#8230;&gt; paths are removed. Some have naming convention changes. Also, it is a good idea to know the different [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,1],"tags":[],"class_list":["post-311","post","type-post","status-publish","format-standard","hentry","category-linux","category-misc"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.cmsws.com\/blog\/wp-json\/wp\/v2\/posts\/311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cmsws.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cmsws.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cmsws.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cmsws.com\/blog\/wp-json\/wp\/v2\/comments?post=311"}],"version-history":[{"count":1,"href":"https:\/\/www.cmsws.com\/blog\/wp-json\/wp\/v2\/posts\/311\/revisions"}],"predecessor-version":[{"id":321,"href":"https:\/\/www.cmsws.com\/blog\/wp-json\/wp\/v2\/posts\/311\/revisions\/321"}],"wp:attachment":[{"href":"https:\/\/www.cmsws.com\/blog\/wp-json\/wp\/v2\/media?parent=311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cmsws.com\/blog\/wp-json\/wp\/v2\/categories?post=311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cmsws.com\/blog\/wp-json\/wp\/v2\/tags?post=311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}