{"id":321,"date":"2010-01-29T02:17:44","date_gmt":"2010-01-29T00:17:44","guid":{"rendered":"http:\/\/www.shukko.com\/x3\/?p=321"},"modified":"2010-01-29T02:17:44","modified_gmt":"2010-01-29T00:17:44","slug":"slackware-package-management","status":"publish","type":"post","link":"https:\/\/www.shukko.com\/x3\/2010\/01\/29\/slackware-package-management\/","title":{"rendered":"Slackware Package Management"},"content":{"rendered":"<p>Easy Update and Package Management for Slackware 13<\/p>\n<p><strong>Introduction<\/strong><\/p>\n<p>If you haven&#8217;t played with Slackware within the past couple of years, you may still believe that the word \u201ceasy\u201d doesn&#8217;t go well with the words \u201cupdate\u201d and \u201cpackage management\u201d.\u00a0 But, two fairly new utilities, \u201cslackpkg\u201d and \u201csbopkg\u201d, may help to change your mind.<\/p>\n<p><strong>Initial Setup<\/strong><\/p>\n<p>When you first install Slackware, you&#8217;ll be given the option of installing all packages that are in the official Slackware repository.\u00a0 This is recommended practice, since it will eliminate any dependency problems you may encounter if you were to just pick and choose packages.\u00a0 (Besides, there&#8217;s not a whole lot in the official repository, so it won&#8217;t take up much disk space.)<\/p>\n<p>Before you can update your system, you&#8217;ll need to edit the \u201c\/etc\/slackpkg\/mirrors\u201d file, in order to choose a download mirror.\u00a0 Find the appropriate section for your version of Slackware, and un-comment the appropriate line for the mirror that you wish to use.\u00a0 (Note that you can only choose one mirror at a time.\u00a0 Also note that some mirrors work better than others, so you may have to try a couple to get satisfactory results.)<\/p>\n<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n# Slackware current<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n# Finland,<br \/>\n# ftp:\/\/ftp.funet.fi\/pub\/mirrors\/ftp.slackware.com\/pub\/slackware-current\/<br \/>\n# Belgium, 2x1Gbit<br \/>\n# http:\/\/ftp.belnet.be\/packages\/slackware\/slackware-current\/<br \/>\n# ftp:\/\/ftp.belnet.be\/packages\/slackware\/slackware-current\/<br \/>\n# Bulgaria, 5Mbit<br \/>\n. . .<br \/>\n. . .<br \/>\n# USA, 155Mbps<br \/>\nftp:\/\/carroll.cac.psu.edu\/pub\/linux\/distributions\/slackware\/slackware-current\/<br \/>\n# Taiwan, 1Gbit<br \/>\n# ftp:\/\/ftp.isu.edu.tw\/pub\/Linux\/Slackware\/slackware-current\/<br \/>\n, , ,<br \/>\n, , ,<\/p>\n<p>In this case, I&#8217;ve chosen a mirror for the \u201ccurrent\u201d branch, which is Slackware parlance for the \u201ctesting\u201d branch.\u00a0 If you&#8217;re more conservative, or you&#8217;re running a mission critical setup where you can&#8217;t afford to experiment, you&#8217;ll probably want to use a mirror for your specific, stable version of Slackware.<\/p>\n<p>#<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n# Slackware 13.0<br \/>\n#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n# Finland,<br \/>\nftp:\/\/ftp.funet.fi\/pub\/mirrors\/ftp.slackware.com\/pub\/slackware-13.0\/<br \/>\n# Belgium, 2x1Gbit<br \/>\n# http:\/\/ftp.belnet.be\/packages\/slackware\/slackware-13.0\/<br \/>\n# ftp:\/\/ftp.belnet.be\/packages\/slackware\/slackware-13.0\/<br \/>\n# Bulgaria, 5Mbit<br \/>\n# http:\/\/mirrors.unixsol.org\/slackware\/slackware-13.0\/<br \/>\n# ftp:\/\/mirrors.unixsol.org\/slackware\/slackware-13.0<br \/>\n. . .<br \/>\n. . .<\/p>\n<p>slackpkg<\/p>\n<p>This is an official Slackware package management utility.\u00a0 Enter \u201cslackpkg\u201d without any arguments or options, and you&#8217;ll get a list of the different available options.\u00a0 But, if you&#8217;ve installed all of the official Slackware packages during initial installation, there will only be three options that you&#8217;ll normally need to worry about.<\/p>\n<p>To completely update your Slackware system, enter the following three commands:<\/p>\n<p># slackpkg update<br \/>\n# slackpkg install-new<br \/>\n# slackpkg upgrade-all<\/p>\n<p>If any new or updated packages are found, you&#8217;ll see an ncurses display.\u00a0 You can either hit the \u201cEnter\u201d key to install or update everything, or use the spacebar to deselect anything that you don&#8217;t want to install.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_1.gif\" border=\"0\" alt=\"slackware\" \/><\/p>\n<p>There&#8217;s still no automatic dependency resolution, but you&#8217;ll rarely run into problems.\u00a0 The only times I&#8217;ve had a problem were when a new package compression scheme was implemented, and when a new \u201cmirrors\u201d file was installed.\u00a0 In the first case, I just chose to install the new compression utility before trying to update anything else.\u00a0 In the second case, I just needed to switch over to the new \u201cmirrors\u201d file and edit it appropriately.<\/p>\n<p>When a new version of Slackware gets released, you&#8217;ll receive a new copy of the \u201cmirrors\u201d file along with your normal updates.\u00a0 This new file will reference a mirror for the new version.\u00a0 Upgrading to the new version is as simple as running the above three commands.\u00a0 (Really, it&#8217;s the simplest version upgrade system that you&#8217;ll find anywhere.)<\/p>\n<p><strong>sbopkg<\/strong><\/p>\n<p>Since there aren&#8217;t a whole lot of packages in the official Slackware repository, you&#8217;ll most likely want to install a third-party repository.\u00a0 One of the best is \u201cslackbuilds.org\u201d.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_2.gif\" border=\"0\" alt=\"slackware\" \/><br \/>\nWith Slackbuilds, you&#8217;ll download the source code for a package, along with an appropriate build script.\u00a0 Run the script, and you&#8217;ll both compile and install the package.\u00a0 The advantage, is that you can edit the script in order to optimize the compiled executable file for your machine&#8217;s processor.\u00a0 The disadvantage, is that Slackbuilds doesn&#8217;t give you a centralized way to keep track of what you have installed, or to update all of your installed packages at once.<\/p>\n<p>The \u201csbopkg\u201d utility is a third-party utility that eliminates this disadvantage.\u00a0 Even thought it&#8217;s still in beta, I&#8217;ve found it to be quite functional.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_3.gif\" border=\"0\" alt=\"slackware\" \/><\/p>\n<p>The first thing you&#8217;ll want to do after installing \u201csbopkg\u201d, is to ensure that you&#8217;re plugged into the correct repository for your version of Slackware.<br \/>\n<img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_a1.gif\" border=\"0\" alt=\"slackware\" \/><\/p>\n<p>Next, sync your machine with the repository.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_4.gif\" border=\"0\" alt=\"slackware\" \/><\/p>\n<p>Then, either select new packages to install. . .<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_4b.gif\" border=\"0\" alt=\"slackware\" \/><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_4c.gif\" border=\"0\" alt=\"slackware\" \/><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_4d.gif\" border=\"0\" alt=\"slack\" \/><\/p>\n<p>. . . or, choose to update the packages that you&#8217;ve already installed.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_4a.gif\" border=\"0\" alt=\"slackware\" \/><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_5.gif\" border=\"0\" alt=\"slackware\" \/><\/p>\n<p>Either way, the next step will be to process the queue.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_6.gif\" border=\"0\" alt=\"slack\" \/><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_8.gif\" border=\"0\" alt=\"slackware\" \/><\/p>\n<p>Since sbopkg is still under heavy development, expect to see it updated quite often.\u00a0 Under the \u201cUtilities\u201d menu, you&#8217;ll find the way to get the latest version.\u00a0 It won&#8217;t install it for you, but it will download it so that you can install it with the \u201cpkgtool\u201d utility later.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.beginlinux.com\/images\/slack\/slackware_package_management_9.gif\" border=\"0\" alt=\"slackware\" \/><\/p>\n<p>As with the official Slackware utilities, there&#8217;s no dependency resolution.\u00a0 So, for example, if you choose a package that uses the gtk image libraries, which aren&#8217;t installed by default on Slackware, you&#8217;ll get an error message when you try to build the package.\u00a0 You&#8217;ll then need to search for and install any packages that are needed to resolve the dependencies.<\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>Slackware is a good, solid, reliable distro.\u00a0 These new package management utilities make it even better.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Easy Update and Package Management for Slackware 13 Introduction If you haven&#8217;t played with Slackware within the past couple of years, you may still believe that the word \u201ceasy\u201d doesn&#8217;t go well with the words \u201cupdate\u201d and \u201cpackage management\u201d.\u00a0 But, two fairly new utilities, \u201cslackpkg\u201d and \u201csbopkg\u201d, may help to change your mind. Initial Setup [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-321","post","type-post","status-publish","format-standard","hentry","category-kategerisiz"],"_links":{"self":[{"href":"https:\/\/www.shukko.com\/x3\/wp-json\/wp\/v2\/posts\/321","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shukko.com\/x3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shukko.com\/x3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shukko.com\/x3\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shukko.com\/x3\/wp-json\/wp\/v2\/comments?post=321"}],"version-history":[{"count":1,"href":"https:\/\/www.shukko.com\/x3\/wp-json\/wp\/v2\/posts\/321\/revisions"}],"predecessor-version":[{"id":322,"href":"https:\/\/www.shukko.com\/x3\/wp-json\/wp\/v2\/posts\/321\/revisions\/322"}],"wp:attachment":[{"href":"https:\/\/www.shukko.com\/x3\/wp-json\/wp\/v2\/media?parent=321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shukko.com\/x3\/wp-json\/wp\/v2\/categories?post=321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shukko.com\/x3\/wp-json\/wp\/v2\/tags?post=321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}