{"id":9025,"date":"2024-10-27T08:24:29","date_gmt":"2024-10-27T15:24:29","guid":{"rendered":"https:\/\/jasonsblog.ddns.net\/?p=9025"},"modified":"2024-10-27T08:24:29","modified_gmt":"2024-10-27T15:24:29","slug":"how-to-run-debian-sid-relatively-safely","status":"publish","type":"post","link":"https:\/\/jasonsblog.ddns.net\/index.php\/2024\/10\/27\/how-to-run-debian-sid-relatively-safely\/","title":{"rendered":"How To Run Debian Sid (Relatively) Safely"},"content":{"rendered":"\n<p>As an experiment because VMware Workstation has issues with some of the latest GNU\/Linux distributions, I&#8217;ve been running Debian Stable, Debian Testing and Debian Unstable. And running Unstable can be extremely interesting if you try to use full-upgrade or dist-upgrade as at the moment it will delete a lot of KDE components and break the system leaving you to log into XFCE. But since Debian Testing is just a few days behind Debian Unstable, it&#8217;s an easier option if you want newer than stock Debian that isn&#8217;t as easy to break. And with the Xanmod kernel I&#8217;m running the latest kernel with all versions, and only a version or two newer than Testing and Unstable. But this write up on running Unstable is pretty good and I learned the Testing repository trick with setting update preferences if an Unstable package is broken. But the main thing is to just use upgrade.<\/p>\n\n\n\n<p><a href=\"https:\/\/linuxconfig.org\/how-to-run-debian-sid-relatively-safely\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/linuxconfig.org\/how-to-run-debian-sid-relatively-safely<\/a><\/p>\n\n\n<div class=\"wp-block-ub-divider ub_divider ub-divider-orientation-horizontal\" id=\"ub_divider_14f56cc7-2840-458a-aa76-ccaaa59a2ef7\"><div class=\"ub_divider_wrapper\" style=\"position: relative; margin-bottom: 2px; width: 100%; height: 2px; \" data-divider-alignment=\"center\"><div class=\"ub_divider_line\" style=\"border-top: 2px solid #ccc; margin-top: 2px; \"><\/div><\/div><\/div>\n\n\n<p>6 June 2020 by Nick Congleton<\/p>\n\n\n\n<p>Debian Sid often scares away new users. It\u2019s called \u201cUnstable\u201d after all, and it\u2019s named after the mean kid in Toy Story that broke all his toys. It\u2019s got to be horrible, right? Well, that\u2019s not the case, most of the time. Sid is no more unstable than the likes of Arch Linux, and with a little planning and common sense, you can run Sid on your desktop with relative safety.<\/p>\n\n\n\n<p><strong>In this tutorial you will learn:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>How to Set Up Apt-Listbugs<\/li>\n\n\n\n<li>How to Avoid Making FrankenDebian<\/li>\n\n\n\n<li>How to Use Ubuntu PPAs Sparingly<\/li>\n\n\n\n<li>How to Plan Your Upgrades<\/li>\n<\/ul>\n\n\n\n<p><a href=\"https:\/\/linuxconfig.org\/wp-content\/uploads\/2019\/02\/debian-sid-safety.avif\"><\/a><\/p>\n\n\n\n<p>Use Debian Sid Safely.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Software Requirements and Conventions Used<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Category<\/th><th>Requirements, Conventions or Software Version Used<\/th><\/tr><\/thead><tbody><tr><td>System<\/td><td>Debian Sid<\/td><\/tr><tr><td>Software<\/td><td>N\/A<\/td><\/tr><tr><td>Other<\/td><td>Privileged access to your Linux system as root or via the <code>sudo<\/code> command.<\/td><\/tr><tr><td>Conventions<\/td><td><strong>#<\/strong> \u2013 requires given <a href=\"https:\/\/linuxconfig.org\/linux-commands\" target=\"_blank\" rel=\"noreferrer noopener\">linux commands<\/a> to be executed with root privileges either directly as a root user or by use of <code>sudo<\/code> command<br><strong>$<\/strong> \u2013 requires given <a href=\"https:\/\/linuxconfig.org\/linux-commands\" target=\"_blank\" rel=\"noreferrer noopener\">linux commands<\/a> to be executed as a regular non-privileged user<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">How to Set Up Apt-Listbugs<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>Like most rolling-release Linux distributions, Sid doesn\u2019t just brake randomly because it feels like it. Breakage usually comes from a bad update. While there is no true substitute for subscribing to and reading developer mailing lists, not everyone has the time for that. Thankfully, Apt tracks known bugs, and there\u2019s a convenient tool that will tell you if there are any bugs present in your incoming upgrade and allow you to choose to stop it before breaking something.<\/p>\n\n\n\n<p>Apt-listbugs works automatically in the install process. You don\u2019t need to configure anything, and you don\u2019t need to manually run it. Simply install the package, and run your updates as usual. If there is a bug present, apt-listbugs will pause the upgrade, and present you with the bug and the affected package. There, you can choose to continue anyway or stop. It\u2019s almost always a good idea to stop, unless you\u2019re certain the bug is minor an won\u2019t impact your system. From there, you can choose to wait to upgrade your system again, in the hopes that the bug is resolved, or you can use Apt pinning to switch to the Testing version of the package until the bug is fixed. Either way is a solid option, and you should evaluate on a case-by-case basis.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">$ sudo apt install apt-listbugs apt-listchanges<\/pre>\n\n\n\n<p>Apt-listchanges is another convenient tool that tells you any important changes to a package. It can\u2019t hurt to include that too.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Avoid Making FrankenDebian<\/h2>\n\n\n\n<p>FrankenDebian is a term coined in the distribution\u2019s own documentation for when users combine multiple Debian releases or even add in Ubuntu repositories. The Debian devs caution against doing it at all, but there are actually instances when it\u2019s perfectly fine to combine releases. It can even bail you out of bugs, like described above.<\/p>\n\n\n\n<p>Debian Testing and Sid often run very closely with one another, unless a release freeze is in progress. Because of this, it\u2019s a good idea to keep the Testing release available on a Sid system and use Apt pinning to prefer Sid. In case you run into a problematic package, you can prefer the version from Testing, avoiding the broken one in Sid until it\u2019s fixed. Generally, broken packages don\u2019t make it into Testing, as the problems are worked out in Sid. A good example of an <code>\/etc\/apt\/sources.list<\/code> file would look something like the one below.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">deb http:\/\/ftp.us.debian.org\/debian\/ sid main contrib non-free\ndeb-src http:\/\/ftp.us.debian.org\/debian\/ sid main\n \ndeb http:\/\/ftp.us.debian.org\/debian\/ testing main contrib non-free\ndeb-src http:\/\/ftp.us.debian.org\/debian\/ testing main<\/pre>\n\n\n\n<p>Then, set up your <code>\/etc\/apt\/preferences<\/code> to pin back Testing.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Package: *\nPin: release a=unstable\nPin-Priority: 1000\n \nPackage: *\nPin: release a=testing\nPin-Priority: 100<\/pre>\n\n\n\n<p>From there, you can add in specific entries from Testing with a <code>Pin-Priority<\/code> higher than <code>1000<\/code> to prefer them over their Unstable counterparts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How to Use Ubuntu PPAs Sparingly<\/h3>\n\n\n\n<p>Here\u2019s where things get really crazy. You should avoid using Ubuntu PPAs and any repositories designed for Ubuntu whenever possible, but there are instances where it <em>can<\/em> work. Ubuntu is based on Debian Sid, so software versions in both Sid and the latest two versions of Ubuntu usually match up fairly well. That means that there\u2019s a chance packages in Ubuntu PPAs will be compatible with Sid.<\/p>\n\n\n\n<p>This <strong>does not<\/strong> mean that you should go adding all sorts of Ubuntu PPAs to Sid because \u201cClose enough.\u201d It means that if there\u2019s a PPA that houses a single application without a bunch of libraries or dependencies also in it, you can usually use the PPA for the application. The second you start pulling in libraries and new versions of components and dependencies, you\u2019re practically guaranteed to break your system.<\/p>\n\n\n\n<p>Graphical extras like themes and icons are also a good example of when using a PPA on Debian can be okay. A theme isn\u2019t going to come with system libraries. It\u2019s just a theme, and even if it somehow breaks, your system as a whole will be fine.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Plan Your Upgrades<\/h2>\n\n\n\n<p>Debian Sid follows most of the rules of a rolling-release distribution. When running a rolling-release, there are some general good practice strategies that you should employ to avoid breaking your system when updating. Some of this is Debian-specific, though, since Sid does do things differently. Planning your updates can seriously help you avoid trouble.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Avoid Dist-Upgrade<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>It might be tempting to use <code>apt dist-upgrade<\/code> to force more complete updates and stop packages from being held back. Well, those packages are usually held back for a reason, and <code>dist-upgrade<\/code> makes choices for you, removing packages to make the new ones work. That\u2019s why using it regularly can be a seriously bad idea. One poorly timed <code>dist-upgrade<\/code> can rip out vital system components and break everything permanently. There\u2019s really no advantage to using it, so just don\u2019t.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Update Regularly<\/h3>\n\n\n\n<p>Like most rolling-release distributions, it\u2019s not a good idea to let Debian Sid fall too far out of date. When a rolling distro falls too far behind, there\u2019s bound to be incompatible packages. The leap forward may end up being too much. That can lead to dependency conflicts that can\u2019t be resolved or downright breakage.<\/p>\n\n\n\n<p>Update Sid around once a week to be sure that everything stays current. Of course, the one exception here is a bug. If you see a bug come up from apt-listbugs, you can wait a bit longer or resort to pinning to clear it up.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Avoid Updates Near A Stable Release<\/h3>\n\n\n\n<p>There\u2019s another uniquely Debian problem that can pop up with Sid. Before each stable release of Debian, Testing freezes completely for several months, with no new updates. Sid tends to slow down too because the Debian developers are busy preparing the new release. Then, once the new version launches, all of the back changes flood into Testing and Sid. The result is a boatload of instability. Avoid updating Sid for at least a week following a new Debian release. They only come around every two years or so, meaning this isn\u2019t a terribly common problem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">CONCLUSION<\/h2>\n\n\n\n<p>Using Debian Sid is a good way to get a rolling-release Debian experience. You\u2019ll generally have newer packages than Ubuntu, but with about the same level of system stability. No strategy is perfect, and it\u2019s always possible for things to go wrong. That\u2019s why this is only ever a good option on desktops, and you should never run Sid on something absolutely mission critical.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As an experiment because VMware Workstation has issues with some of the latest GNU\/Linux distributions, I&#8217;ve been running Debian Stable, Debian Testing and Debian Unstable. And running Unstable can be extremely interesting if you try to use full-upgrade or dist-upgrade as at the moment it will delete a lot of KDE components and break the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-9025","post","type-post","status-publish","format-standard","hentry","category-tech"],"blocksy_meta":[],"featured_image_src":null,"author_info":{"display_name":"Jason","author_link":"https:\/\/jasonsblog.ddns.net\/index.php\/author\/jturning\/"},"_links":{"self":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/9025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/comments?post=9025"}],"version-history":[{"count":1,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/9025\/revisions"}],"predecessor-version":[{"id":9026,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/posts\/9025\/revisions\/9026"}],"wp:attachment":[{"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/media?parent=9025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/categories?post=9025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jasonsblog.ddns.net\/index.php\/wp-json\/wp\/v2\/tags?post=9025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}