[conspire] flakey SMART drive(s), FrankenDebian, oh my!

Rick Moen rick at linuxmafia.com
Tue Dec 18 16:31:57 PST 2018


Quoting Michael Paoli (Michael.Paoli at cal.berkeley.edu):

> >Package: *
> >Pin: release a=unstable
> >Pin-Priority: 50
> >
> >This says assign a priority of 50 (where higher is greater priority, and
> >normal is 100) to any package from the -unstable branch.  Thus, no
> >packages will get pulled from that branch by default, in normal use of
> >apt-get.
> >
> >Now, add an -unstable line to /etc/apt/sources.list:
> >
> >deb ftp://ftp.us.debian.org/debian/ testing main contrib non-free
> >deb ftp://ftp.us.debian.org/debian/ unstable main non-free contrib
> >deb http://security.debian.org/ testing/updates main contrib non-free
> >deb http://security.debian.org/ stable/updates main contrib non-free
> >
> >Good luck.
> 
> Oooh, yes, good luck!  ;-)  That would be a FrankenDebian:
> https://wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian

Although it's been since 2005 since I wrote that, I'm 99% sure that the
'stable' on that fourth line is some sort of weird typo (should have
been 'unstable') -- because it really doesn't make sense.  The aim was
to post a prototype sources.list file that includes regular and security
update sources for -testing and -unstable.  So, should have been:

deb ftp://ftp.us.debian.org/debian/ testing main contrib non-free
deb ftp://ftp.us.debian.org/debian/ unstable main non-free contrib
deb http://security.debian.org/ testing/updates main contrib non-free
deb http://security.debian.org/ unstable/updates main contrib non-free

That particular edit error from 2005 (that I failed to catch in 2018
requoting) was effectively harmless in the sense that the
security.debian.org repos would not have _housed_ any security updates
in the stable/updates collection that updated the Sid=unstable packages
from line two.  The system in question wouldn't have gotten
unstable-branch security updates until the admininstrator spotted and
corrected the error, but would have gotten testing-branch ones, which 
amounts to just about the same thing.

Anyway, I've been strongly cautioning against combining Debian-stable
sources with ones from Debian-testing or Debian-unstable sources since
about a decade before that DontBreakDebian wiki page got created, as
CABAL regulars will recall.

The main point of my re-post was to illustrate how, through a basic
application of package-pinning, one can trivially make -unstable
versions of (e.g.,) GNOME and KDE packages installable on a -testing
system even when those notorious dependency hairballs are held up by the
quarantining of one of their endless numbers of lib dependencies.

I hope my point was understood -- just as I've been hoping it was
understood each of the many times I've made it over a couple of decades.
One of the few very typically American things about me is that I keep 
irrationally wanting to believe in progress, and keep hoping that if I
keep trying to teach new (and other) Linux users useful things, one day
some of them will sink in, and we won't keep being stuck at Linux 101.

> What is *generally* (strongly) advised:
> Don't mix Debian distributions (in Debian terminology, Debian stable,
> testing, unstable, sid, etc. are Debian "distributions").

I think this is misleadingly overstated to a degree that I must 
rebut it.

-testing and -unstable are only barely distinguisable rolling
distributions.  They are substantively in fact the _same_ distribution,
with the sole difference that -testing gets populated every night by 
-unstable packages that satisfy the requirements of an automated build
script as a 'quarantining' measure against breakage, notably including 
automatic verification that the build hosts successfully completed
compilation (and package assembly) on a number of supported CPU
platforms.  So, in most cases the -unstable and -testing versions of a
package, at any given time, are exactly the same.  When they are not, 
because (e.g.) some piddly little lib required as a package dependency
fails compilation on the mipsel arch, the latest -testing version will
be the immediately preceding one, e.g., gnucash 1:3.3-1 instead of
1:3.3-2.

Don't take my word for it.  Check a selection of packages' version
numbers in unstable=sid and testing (currently 'Buster').  You'll see
that what I write is correct.  

_That_ (especially when done with package-pinning to prevent use of
the unstable branch except as specifically requested)) is not a FrankenDebian.
And, I will note that the
https://wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian 
link you posted (correctly) does _not_ warn against using sources.list
lines for -testing and -unstable.  It (correctly) warns against using
-stable lines with either or both of the other two.

There are excellent reasons why someone running a -testing system might
wish to carefully enable _optional, as needed and specified_ access to
the -unstable repositories.  I was very clear about how and why.

If you disagree, then I think you are mistaken.

I'm sorry about the edit error -- though, honestly, I think you of _all_
people should have spotted it as such.





More information about the conspire mailing list