{"id":104,"date":"2005-08-22T22:26:00","date_gmt":"2005-08-22T22:26:00","guid":{"rendered":"http:\/\/bitpost.com\/news\/?p=14"},"modified":"2006-01-10T23:31:50","modified_gmt":"2006-01-11T04:31:50","slug":"cant-stop-progress","status":"publish","type":"post","link":"https:\/\/bitpost.com\/news\/2005\/cant-stop-progress\/","title":{"rendered":"Rolling on with Fedora Core 4"},"content":{"rendered":"<p>Linux user space is composed of a thousand small interrelated &#8220;packages&#8221;.  It&#8217;s fairly easy these days to install any of the better linux distros &#8211; they typically &#8220;Just Work&#8221; out of the box &#8211; and all those packages play nicely together.<\/p>\n<p>Once you have your linux machine running, you&#8217;re going to be tempted  by all the cool stuff to do &#8211; Office apps, browsers, DVD players, all the programming languages, router capabilities, web servers, mail servers, PVR &#8211; and eventually you&#8217;ve got a pretty tricked out OS with lots of goodies.<\/p>\n<p>But you need to keep it updated with the latest fixes when you connect to the internet, or you&#8217;ll eventually get your machine hacked.  And who wants to be without the latest features?  But you probably don&#8217;t have time to micromanage that update process.  Even if you try, inevitably, you&#8217;ll be burned by package dependency problems.  All those small packages that count on each other are being updated simultaneously, and which versions are safe and stable and play nicely together?<\/p>\n<p>That&#8217;s where package managers come in.  They determine the latest stable package updates and install them for you, typically while you&#8217;re sleeping.  Some very helpful folks work very hard to keep packages synched up like that for us all.  These sites of updated and synchronized packages are called repositories.  All you have to do, at the top level, is select your target repositories, see what&#8217;s available in them, and grab what you want &#8211; everything you want will be installed and kept up-to-date, with all the dependencies calculated for you.  Sounds like nirvana, right?  Well, we&#8217;re getting closer anyway&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eventually any linux tweaker worth her salt will run into conflicts.  It&#8217;s a generally good rule of thumb to consider that most everyone&#8217;s a volunteer down at the linux corral, from the bottom to the top &#8211; kernel hackers, user space developers, package maintainers, and those maintaining the repositories themselves (the saints).  And every single bit of it is moving, sometimes at a snail&#8217;s pace for more stable parts, and sometimes fast enough to break your neck &#8211; with every package in motion, it can get pretty crazy.<\/p>\n<p>My experiences with keeping gentoo and Fedora distributions up-to-date have been great.  They are both distributions interested in the latest and greatest stuff, yet popular enough to remain quite stable a healthy amount of the time.  When I do run into a dependency problem, google usually has the answer.<\/p>\n<p>While gentoo attempts to always be on top of things, Fedora cycles &#8211; every six months or so, Fedora releases a new &#8220;core&#8221;, which gives you a new baseline from which to start updating again.  When I get a new core, it seems to break things that were working for me, by (for example) installing a new version of a basic package like perl.  I think the general strategy is that you can plan out your updates, expecting some challenges as you go through it, but things should hum along until the next big core update.  I haven&#8217;t decided if that&#8217;s good or bad yet.  I&#8217;m trying to convince myself it&#8217;s good without much success.<\/p>\n<p>On to my Fedora Core 4 adventure.  yum is supposed to be able to &#8220;upgrade&#8221;, which means move across cores, if you set it up right, and try to pull the upgrade trigger when the stars are perfectly aligned.  Well, I apparently missed the window.  I got frustrated enough playing with broken deps that I punted &#8211; against my better judgement I took some IRC wanker&#8217;s advice and I used the install CD&#8217;s to upgrade.  You&#8217;re supposed to be able to do it, but it&#8217;s sort of the brute force method compared to pulling off a yum upgrade, which respects your current installation more.  So what broke?  pam_mysql was moved, apparently, so after the install I didn&#8217;t have it.  This broke my cyrus IMAP mail server, which used it for authentication.  In addition, cyrus yet AGAIN updated the database backend without any easy update path (cyrus I HATE you).  The new version of perl didn&#8217;t have any of my custom packages installed.  This ensured that my custom build of Apache stopped working, which of course took out all my web sites.  I limped through an apache rebuild, bypassing all perl\/slashcode modules, and all my non-perl websites popped back up.  I had a heck of a time getting all the perl modules reinstalled that I needed for slashcode &#8211; slashcode is no longer very active (at least publicly, unless you go poke around in CVS) and I kept getting CPAN dependency problems.  Finally I realized that I needed a CPAN &#8220;refresh index&#8221;, then I could pull off &#8220;install Bundle::Slash&#8221; again.  Fortunately, I kept around the CVS snapshot I previously used &#8211; I don&#8217;t have the strength to do a slashcode CVS upgrade right now &#8211; I mean, check out the crazy half-assed <SLASH HREF=\"http:\/\/cvs.sourceforge.net\/viewcvs.py\/slashcode\/slash\/sql\/mysql\/upgrades?view=markup\" ID=\"33c14971649b00f3f8011e72a43f71fc\" TITLE=\"\" TYPE=\"link\">update path<\/SLASH> you have to follow.  \ud83d\ude1b  So reinstalling that wiped out all my more recent updates, but got the slashcode sites back up.  And the icing on the cake: mythtv is getting closer to &#8220;going live&#8221;.  Party on Garth&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[],"tags":[],"class_list":["post-104","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9M11L-1G","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts\/104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/comments?post=104"}],"version-history":[{"count":0,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts\/104\/revisions"}],"wp:attachment":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/media?parent=104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/categories?post=104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/tags?post=104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}