<html><head></head><body><div style="color:#000; background-color:#fff; font-family:Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px"><div id="yiv7044743454"><div id="yui_3_16_0_ym19_1_1529614524958_12405"><div id="yui_3_16_0_ym19_1_1529614524958_12404" style="color:#000;background-color:#fff;font-family:Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px;"><div id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7606"><span id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7791">Now that my afternoon coffee, my sources.list was already close to your suggestions. <br clear="none"></span></div><div id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7965"><span id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7791">Change the mirror names.  <br></span></div><div id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_9552"><span id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7791">My file had "testing" instead of "stable".</span></div><div id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_8087"><span id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7791"><br clear="none"></span></div><div id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7887">Two of my lines are now an exact match</div><div id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_8088">  <br clear="none"></div><div id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_8117">Somehow, I am missing contrib and non-free from your suggestion.<br clear="none"><span id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7791"></span></div><div dir="ltr" id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7886"><span id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7791">deb http://deb.debian.org/debian stable-updates main contrib non-free</span></div><div dir="ltr" id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_9556"><br clear="none"><span id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7791"></span></div><div id="yui_3_16_0_ym19_1_1529614524958_12406" dir="ltr"><div id="yui_3_16_0_ym19_1_1529614524958_12599"><span id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7791">Before I proceed,  can you explain /etc/debian_version and /etc/issue.  I expect those are the real cause of my situation.</span></div><div id="yui_3_16_0_ym19_1_1529614524958_12600"><br><span id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7791"></span></div><div dir="ltr" id="yui_3_16_0_ym19_1_1529614524958_12603"><span id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7791">I will also look at various packages and check the revisions against what is in the current stable and testing.  In the case of firefox, it is really very old.  I do understand that attempting to go to an older version could cause a variety of difficulties.<br></span></div></div><div class="yiv7044743454qtdSeparateBR" id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7607"><div id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7790"><br clear="none"></div><div id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7885"><br clear="none"></div><br clear="none"></div><div class="yiv7044743454yqt3201485593" id="yiv7044743454yqt69072"></div></div></div></div><div id="yui_3_16_0_ym19_1_1529614524958_13074" class=".yiv7044743454yahoo_quoted">  <div id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7621" style="font-family:Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:13px;"> <div id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7620" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div dir="ltr" id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_7619"> <font id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_8027" face="Arial" size="2"> </font><hr size="1"> <b><span style="font-weight:bold;">From:</span></b> Rick Moen <rick@linuxmafia.com><br clear="none"> <b><span style="font-weight:bold;">To:</span></b> conspire@linuxmafia.com <br clear="none"> <b><span style="font-weight:bold;">Sent:</span></b> Thursday, June 21, 2018 1:43 PM<br clear="none"> <b><span style="font-weight:bold;">Subject:</span></b> Re: [conspire] How to update packages when Deb is behind?<br clear="none">  </div> <div class="yiv7044743454y_msg_container" id="yiv7044743454yui_3_16_0_ym19_1_1529614524958_8148"><br clear="none">Paul -- <br clear="none"><br clear="none">Now that I've had some coffee and opportunity to ponder this matter a<br clear="none">bit, I would still advise caution and a bit of detective work to<br clear="none">guesstimate what condition you're system's in and how it got that way,<br clear="none">but can outline a couple of alternative paths forward.  Which one you<br clear="none">should take might hinge on some details of your intentions.<br clear="none"><br clear="none">To review, you installed from (some) Debian-installing media in 2015.<br clear="none">Somehow between then and now, you've ended up with a system that thinks<br clear="none">it's following the Debian 'testing' rolling-distribution track<br clear="none">(currently Debian 10 'buster'), rather than the Debian 'stable'<br clear="none">release-oriented track (currently Debian 9 'stretch').  You either do or<br clear="none">do not rely on one of the big Desktop Environments such as GNOME3, a <br clear="none">potential complicating factor.  (The Official Debian ISOs, if used to<br clear="none">install a desktop system, default to GNOME3 as the path of least<br clear="none">resistance, but that is hardly the only or IMO best way to run desktop<br clear="none">Linux using Debian.)<br clear="none"><br clear="none">(Late update while writing this:  You now are mentioning that it's<br clear="none">LXDE.)<br clear="none"><br clear="none">Adding to the uncertainties on my end, I'm still a bit unclear on<br clear="none">whether you've done much in the way of routine software updating on this<br clear="none">system since 2015.  Reviewing again (and showing my bias towards simple<br clear="none">and reliable command-line tools, though there are other ways), an admin<br clear="none">might do this merely by carrying out these two commands as the root<br clear="none">user, once every week or so, to update the entire system to the latest<br clear="none">for the track specified in /etc/apt/sources.list:<br clear="none"><br clear="none"># apt-get update<br clear="none"># apt-get dist-upgrade<br clear="none"><br clear="none">(Note for Linux beginners reading along.  The '#' is not something to<br clear="none">type, but is a documentation convention meaning 'Type this thing at a<br clear="none">shell prompt where you are the root user', leveraging the tradition <br clear="none">that the root user's shell prompt normally ends in a '#" character.<br clear="none">Likewise, '$' in the same place would mean 'Type this thing at a shell<br clear="none">prompt where you are a normal user', with the same rationale.)<br clear="none"><br clear="none">apt-get's 'update' operation refreshes the catalogues of software<br clear="none">available for installation on the various remote apt sources referenced<br clear="none">in sources.list.  Its 'dist-upgrade' is one of a couple of operations <br clear="none">to bring all of the system's installed software up to date with the<br clear="none">referenced apt sources referenced in sources.list.<br clear="none"><br clear="none">Both commands will yield voluminous output.  Any time progress stops to<br clear="none">advise you of something and seek your feedback, you are strongly advised<br clear="none">to pay close attention.  The maximally cautious approach would be to<br clear="none">also do the commands within a subshell launched by the 'script' tool,<br clear="none">which by default logs all terminal I/O to file 'typescript' in the<br clear="none">current directory.  (ctrl-d or 'exit' closes the subshell, as usual.)<br clear="none"><br clear="none"><br clear="none">Pick a Strategy<br clear="none">---------------<br clear="none"><br clear="none">Here is where you can/should assess what you're system's been doing and<br clear="none">what you wish to do with it going forward:  Basically, you can either<br clear="none">flesh out the existing sources.list and converge your system to the <br clear="none">constantly evolving 'testing' track, or you can attempt to converge <br clear="none">it to the release-oriented 'stable' track.<br clear="none"><br clear="none">You basically need to pick ones of those two options.  _If_ the current <br clear="none">installed software versions are significantly more recent than those in <br clear="none">Debian 9 'stretch' (current Stable), then an attempt to converge to<br clear="none">Stable won't go well -- because, in short, downgrading in Debian <br clear="none">isn't officially supported and can be done only with a good bit of work.<br clear="none">Making the attempt to converge onto Stable requires just editing<br clear="none">sources.list to have contents appropriate for Stable, and then doing the<br clear="none">aforementioned apt-get dance.<br clear="none"><br clear="none">If you want to attempt the Stable converging, and things seem amiss at<br clear="none">the end of doing so, fortunately, you would then still have the option<br clear="none">to change your mind and converge onto Testing, instead.  <br clear="none"><br clear="none">Or, of course, you could decide that Testing is what you had in mind all<br clear="none">along, just flesh out source.list to show full contents appropriate for<br clear="none">Testing, and do the apt-get dance.  It should be that simple, but note<br clear="none">caveats below.<br clear="none"><br clear="none">sources.list Examples<br clear="none">---------------------<br clear="none"><br clear="none">Here are typical source.list contents for Stable:<br clear="none"><br clear="none">  deb <a rel="nofollow" shape="rect" target="_blank" href="http://deb.debian.org/debian">http://deb.debian.org/debian </a>stable main contrib non-free<br clear="none">  deb <a rel="nofollow" shape="rect" target="_blank" href="http://deb.debian.org/debian">http://deb.debian.org/debian </a>stable-updates main contrib non-free<br clear="none">  deb <a rel="nofollow" shape="rect" target="_blank" href="http://security.debian.org/debian-security/">http://security.debian.org/debian-security/ </a>stable/updates main contrib non-free<br clear="none">  #deb-src <a rel="nofollow" shape="rect" target="_blank" href="http://deb.debian.org/debian">http://deb.debian.org/debian </a>stable main contrib non-free<br clear="none">  #deb-src <a rel="nofollow" shape="rect" target="_blank" href="http://deb.debian.org/debian">http://deb.debian.org/debian </a>stable-updates main contrib non-free<br clear="none">  #deb-src <a rel="nofollow" shape="rect" target="_blank" href="http://security.debian.org/debian-security/">http://security.debian.org/debian-security/ </a>stable/updates main contrib non-free<br clear="none"><br clear="none">Unless you are doing significant building of packages from source code<br clear="none">packages, just leave the three deb-src lines commented out.<br clear="none"><br clear="none">The equivalent sources.list for Testing is just the same, except with<br clear="none">track name 'testing' where track name 'stable' occurs above:<br clear="none"><br clear="none">  deb <a rel="nofollow" shape="rect" target="_blank" href="http://deb.debian.org/debian">http://deb.debian.org/debian </a>testing main contrib non-free<br clear="none">  deb <a rel="nofollow" shape="rect" target="_blank" href="http://deb.debian.org/debian">http://deb.debian.org/debian </a>testing-updates main contrib non-free<br clear="none">  deb <a rel="nofollow" shape="rect" target="_blank" href="http://security.debian.org/debian-security/">http://security.debian.org/debian-security/ </a>testing/updates main contrib non-free<br clear="none">  #deb-src <a rel="nofollow" shape="rect" target="_blank" href="http://deb.debian.org/debian">http://deb.debian.org/debian </a>testing main contrib non-free<br clear="none">  #deb-src <a rel="nofollow" shape="rect" target="_blank" href="http://deb.debian.org/debian">http://deb.debian.org/debian </a>testing-updates main contrib non-free<br clear="none">  #deb-src <a rel="nofollow" shape="rect" target="_blank" href="http://security.debian.org/debian-security/">http://security.debian.org/debian-security/ </a>testing/updates main contrib non-free<br clear="none"><br clear="none"><br clear="none">Use of Track Names; Use of Mirror Hostnames<br clear="none">-------------------------------------------<br clear="none"><br clear="none">Some examples urge using in sources.list the named branches named for Toy<br clear="none">Story characters (stretch, buster, etc.) instead of the track names<br clear="none">(stable, testing, etc.) -- and long, tedious arguments can be found<br clear="none">about this on the Internet.  I would say use a track name consistently<br clear="none">unless and until you have a good reason to do otherwise, and are clear<br clear="none">on what you're doing and why.  (You really don't want to wake up one day <br clear="none">to realise you're now on an EOLed Debian branch that you hammered into<br clear="none">sources.list five years ago and forgot about.)<br clear="none"><br clear="none">Your current sources.list uses hostname mirrors.ocf.berkeley.edu (where<br clear="none">the above examples use deb.debian.org.  Nothing wrong with that.<br clear="none">Possibly around the time you first installed, some piece of software<br clear="none">guesstimated that mirrors.ocf.berkeley.edu is a pretty fast Debian repo<br clear="none">mirror from your location.  FWIW, the deb.debian.org appears to be the<br clear="none">newest of a series of schemes to use geolocation and load-balancing,<br clear="none">etc. for apt requests.  See:  <a rel="nofollow" shape="rect" target="_blank" href="http://deb.debian.org/">http://deb.debian.org/</a><br clear="none"><br clear="none">So, e.g., doing a search-and-replace in the apt-get examples to<br clear="none">substitute mirrors.ocf.berkeley.edu for deb.debian.org would work fine.<br clear="none"><br clear="none"><br clear="none">Anyway:<br clear="none"><br clear="none">Caveats<br clear="none">-------<br clear="none"><br clear="none">1.  Gosh, be super-careful with sources.list contents.  Doing crazy<br clear="none">things with that file is probably the most common express lane for<br clear="none">screwing up a Debian system, and the ways to fux0r it are legion but<br clear="none">include:<br clear="none"><br clear="none">(a) throwing in questionable unofficial apt sources without serious<br clear="none">contemplation<br clear="none"><br clear="none">(b) mixing in lines from both the Stable and Testing branches.<br clear="none">While Unstable=sid and the Testing branch are extremely close in their <br clear="none">package versions, the same is not true of the (wide, problematic) gap in<br clear="none">package versions between those two tracks and the Stable one.<br clear="none"><br clear="none">The Testing track is something of a software mirage, actually.  One<br clear="none">might argue that it's merely a filtered version of the Unstable=sid<br clear="none">rolling-distribution track, which is the reason the package versions are<br clear="none">just about identical.  Procedurally, what happens is that package<br clear="none">maintainers upload their new package source releases, and the Debian<br clear="none">build masters then build them for all supported architectures and, if<br clear="none">compilation completes, propagates the binary packages out to the master<br clear="none">repos where they immediately appear in the Unstable track (Toy Story<br clear="none">name always pinned to 'sid', the name of the neighbour kid who breaks <br clear="none">toys).  Each night on the Debian repo infrastructure boxes, a<br clear="none">quarantining script also runs that applies some automated quality<br clear="none">criteria to all newly released packages popping into Unstable.<br clear="none">If those criteria are met, then the package likewise pops into the<br clear="none">Testing rolling release.  If not, then the new & shiny release of that<br clear="none">package will be installable for systems tracking Unstable, but not yet<br clear="none">those tracking Testing.<br clear="none"><br clear="none">The above is why:<br clear="none"><br clear="none">2.  The Testing branch can create some package maintenance bobbles for <br clear="none">systems relying on complex package-dependency snarls such as the big<br clear="none">Desktop Environments.  While I was writing this, you clarified that <br clear="none">your system relies on LXDE.  LXDE is by far not the worst<br clear="none">package-dependency hairball.<br clear="none"><br clear="none">I'm guessing that LXDE is on your system courtesy of presence of a<br clear="none">metapackage called 'task-lxde-desktop'.  See:<br clear="none"><a rel="nofollow" shape="rect" target="_blank" href="https://packages.debian.org/testing/task-lxde-desktop">https://packages.debian.org/testing/task-lxde-desktop</a><br clear="none">That, in turn, depends on metapackage 'lxde'.  See:<br clear="none"><a rel="nofollow" shape="rect" target="_blank" href="https://packages.debian.org/testing/lxde">https://packages.debian.org/testing/lxde</a><br clear="none"><br clear="none">The 'dep' lines on those Web pages indicate hard package dependencies,<br clear="none">and some dependencies have dependencies, et cetera, et cetera.<br clear="none"><br clear="none">The 'bobbles' can come on one fine day when you attempt the apt-get<br clear="none">dance, and suddenly LXDE package foo cannot be currently upgraded to the<br clear="none">newest version in Testing because package libbar version N is required<br clear="none">but only version N-1 is available in Testing.  This typically happens<br clear="none">because the latest release of package foo recently cleared quarantining<br clear="none">into Testing, but related and required new version of dependency library<br clear="none">libbar had quality problems and thus made it into Unstable but not yet<br clear="none">into Testing.<br clear="none"><br clear="none">This bobble can typically be overcome by waiting a couple of days and<br clear="none">trying the apt-get dance again.  _Or_ you can (carefully) do a trick <br clear="none">and add Unstable branches into sources.list but ensure that they are<br clear="none">normally unused unless specifically invoked in a custom apt-get command<br clear="none">option, by setting a low 'pin-priority' for that apt source.<br clear="none"><br clear="none">I'll not cover that now, because this follow-up is already long enough,<br clear="none">but I can do so if you're interested.<div class="yiv7044743454yqt9079636997" id="yiv7044743454yqtfd65717"><br clear="none"><br clear="none"><br clear="none">_______________________________________________<br clear="none">conspire mailing list<br clear="none"><a rel="nofollow" shape="rect" ymailto="mailto:conspire@linuxmafia.com" target="_blank" href="mailto:conspire@linuxmafia.com">conspire@linuxmafia.com</a><br clear="none"><a rel="nofollow" shape="rect" target="_blank" href="http://linuxmafia.com/mailman/listinfo/conspire">http://linuxmafia.com/mailman/listinfo/conspire</a><br clear="none"></div><br clear="none"><br clear="none"></div> </div> </div>  </div></div></body></html>