emacs/var/elfeed/db/data/94/943dca0e39bb1ff6166d0631a47050c7a29497f2
2022-01-03 12:49:32 -06:00

141 lines
6.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>I am currently running Debian Unstable (aka “Debian Sid”) on three
machines. I think it is an excellent choice for anyone looking to use
Debian while still deploying a rolling release Operating System. As my
priorities are changing, I want to transition to the stable branch.
With Debian Buster expected some time in mid-2019, here is my plan for
enacting such change.</p>
<h2>A bit of context first</h2>
<p>I was an Arch Linux user prior to migrating to Debian some ~16 months
ago. Debians unstable branch was the natural choice for making the
switch as seamless as possible. I did not want to disrupt my setup. It
was dependent on some of the features that were available in the newer
package versions provided by Arch.</p>
<p>So here I am about 1.5 years later. Fully satisfied with the decision I
made. Debian Sid has been excellent thus far.</p>
<p>That granted, I find the much-vaunted advantages of a rolling release
distribution to be context-dependent. It matters what software you rely
on and whether any new features are integral to your workflow.</p>
<p>Put simply, if you want to run a KDE Plasma or a GNOME desktop with all
the new niceties, then rolling release or something closer to the
bleeding edge is the way to go. If, however, you do not care about
newer technologies like Wayland, and are running a custom working
environment such as my BSPWM (see <a href="https://gitlab.com/protesilaos/dotfiles">my
dotfiles</a>), then the
maintenance overhead of a rolling distro outweighs the potential
benefits of having the latest version of everything.</p>
<p>Most tools I rely on are CLI programs. These do not change much. For
example, I use <code>neomutt</code> as my mail client. All the features I need are
already available. If <code>neomutt</code> were to retain its feature set forever,
I would still be happy with it. Same with <code>newsboat</code>, <code>taskwarrior</code>
(executable is <code>task</code>), <code>tmux</code>… And the list goes on.</p>
<h2>The plan for switching to Debian Buster</h2>
<p class="critical">This is <strong>highly experimental.</strong> I am <strong>not an expert in Debian</strong>
system administration. <strong>I do not recommend you try this.</strong> Especially
not on mission critical systems.</p>
<p>Debian Buster (aka Debian 10) is expected a bit less than a year from
now. This is the right moment to prepare for the transition from
Unstable to the next Stable. It gives my systems enough time to
gradually settle in the state of the current Debian Testing branch and
keep track of it while it enters the feature freeze.</p>
<p>The plan hinges on APT and involves some basic pinning preferences. I
want to run a <em>mixed distribution</em> that includes sources from both
<code>testing</code> and <code>unstable</code>.</p>
<p>These are my apt sources:</p>
<pre><code># Security updates (stable)
deb http://security.debian.org/debian-security stable/updates main contrib non-free
deb-src http://security.debian.org/debian-security stable/updates main contrib non-free
# Debian Testing
deb http://ftp.gr.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.gr.debian.org/debian/ testing main contrib non-free
# Debian Unstable
deb http://ftp.gr.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.gr.debian.org/debian/ unstable main contrib non-free
</code></pre>
<p>And here are the corresponding preferences:</p>
<pre><code>Package: *
Pin: release a=testing
Pin-Priority: 500
Package: *
Pin: release a=unstable
Pin-Priority: 200
</code></pre>
<p>These instruct <code>apt</code> to keep track of packages from the <code>testing</code> branch
and only look at <code>unstable</code> when requested packages are not available
there. Given enough time, it will make my Debian Unstable systems
indistinguishable from Debian Testing.</p>
<p>The inclusion of the <code>debian-security</code> sources is for those cases where
a package has migrated directly from <code>unstable</code> to <code>stable</code>. Examples
that come to mind are the latest <code>firefox-esr</code> and <code>thunderbird</code>.</p>
<p>When the feature freeze starts, I will effectively be running Debian
Testing, which is the pre-release of the next stable distribution.</p>
<p>Then the idea is to follow the announcements about when Debian 10 will
become available. A few days prior to its official release, I will edit
my <code>apt</code> sources again to look like this:</p>
<pre><code>deb http://ftp.gr.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.gr.debian.org/debian/ stable main non-free contrib
deb http://security.debian.org/debian-security stable/updates main contrib non-free
deb-src http://security.debian.org/debian-security stable/updates main contrib non-free
# stable-updates, previously known as 'volatile'
deb http://ftp.gr.debian.org/debian/ stable-updates main contrib non-free
deb-src http://ftp.gr.debian.org/debian/ stable-updates main contrib non-free
</code></pre>
<p>Notice that I added a few more entries, which I adapted from the default
options that are provided on a clean Debian 9 install. <em>These are
subject to change.</em></p>
<p>Once I have the new sources in place, I will remove the aforementioned
pinning rules. I only want to track <code>stable</code>.</p>
<h2>Learning by doing</h2>
<p>Debian does not officially support any graceful move from Unstable to
Stable. <em>This is highly experimental.</em> I have backups in place in case
something goes awry.</p>
<p>The truth is I have had no issues whatsoever with Debian Sid. But that
is partly due to my diligence with system administration. It takes time
and dedication; resources that could be managed more efficiently. Given
that my main tools do not need to be on the bleeding edge, such
commitment offers a marginal benefit at best.</p>
<p>The afore-described venture would presumably fail miserably if I were
running major software groups that update frequently, such as GNOME or
KDE. All I now have on my systems apart from the core packages is BSPWM
and related extras, my CLI tools, Firefox and Thunderbird, and Xfce as a
backup Desktop Environment (before I had GNOME and MATE).</p>
<p>I expect the transition to the next Debian Stable to be smooth because I
am not trying to rush things and downgrade packages in bulk. What is
basically happening is a self imposed package freeze in anticipation of
the official introduction of Debian 10. Some manual downgrades may
still be required, but these should be limited in scope or at least
easier to figure out.</p>