From dbca998ce52d78ce5e525e0d799adc83d580f66a Mon Sep 17 00:00:00 2001 From: Alan Hicks Date: Sat, 1 May 2010 14:17:18 -0400 Subject: Making room for new chapter and a few minor modifications. --- chapter_17.xml | 237 +++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 153 insertions(+), 84 deletions(-) (limited to 'chapter_17.xml') diff --git a/chapter_17.xml b/chapter_17.xml index ea3035c..4da780b 100644 --- a/chapter_17.xml +++ b/chapter_17.xml @@ -3,119 +3,188 @@ "/usr/share/xml/docbook/xml-dtd-4.5/docbookx.dtd"> -Keeping Track of Updates +Package Management + + +Package management is an essential part of any Linux distribution. +Every piece of software included by Slackware, along with many +third-party tools are distributed as source code that can be compiled, +but compiling all those thousands of different applications and +libraries is tedious and time consuming. That's why many people prefer +to install pre-compiled software packages. In fact, when you installed +Slackware, the setup program primarily +worked by running package management tools on a list of packages. Here +we'll look at the various tools used for handling Slackware packages. +
-The -stable Branch +<application>pkgtool</application> -Whenever a new version of Slackware is released, the Slackware team will, -as needed, release updated packages to fix serious security vulnerabilities -and particularly nasty bugs. Therefore, it's important to keep up with all -of the patches for your version of Slackware, which is referred to as the -"-stable" branch. There is also a "-current" branch, which is where we do -our development work toward the next stable release (and as such, there are -often intrusive changes there), but unless you're willing to work with a -possibly broken system and are able to fix things on your own, we strongly -recommend that you stick with the "-stable" branch. +The simplest way to perform package maintenance tasks is to invoke +pkgtool(8), a menu-driven interface to some of +the other tools. pkgtool allows you to +install or remove packages as well as view the contents of those +packages and the list of currently installed packages in a +user-friendly ncurses interface. -Since -stable updates aren't distributed on the disks, you'll need to obtain -them from the Internet. Many people and organizations offer mirrors from -which you can download the entire Slackware tree (or only the -patches/ directory) in any number of ways. While some -mirrors offer web access, the most common ways of obtaining updates are via -ftp and/or rsync servers. The Slackware project maintains a small list -(organized by country) of known mirrors. If you're unsure which mirror you -should use, simply consult -http://www.slackware.com/getslack/ -for suggestions. If you have a major university near you, there's a good -chance that they offer a mirror of numerous open source projects, and -Slackware may be among them. The only real requirement for a mirror is that -it be complete, but usually it's best to use a mirror near where you live in -order to achieve the fastest transfer times and use the least amount of -Internet resources. +PICTURE OF PKGTOOL MAIN SCREEN. +FILL THIS IN!!!!!! +FILL THIS IN!!!!!! +FILL THIS IN!!!!!! +FILL THIS IN!!!!!! +FILL THIS IN!!!!!! +FILL THIS IN!!!!!! +FILL THIS IN!!!!!! +FILL THIS IN!!!!!! +FILL THIS IN!!!!!! +FILL THIS IN!!!!!! +FILL THIS IN!!!!!! -So how do you know when there are updates? The best way is to consult the -ChangeLog.txt on any up-to-date mirror. You can always -find the latest changelogs for the "-current" and most recent "-stable" -branch on the Slackware Project's web page, but if you're running an older -version of Slackware, you'll need to check a mirror. +pkgtool is a convenient and easy way to +perform the most basic tasks, but for more advanced work more flexible +tools are needed. -darkstar:~# wget -O - \ -ftp://slackware.osuosl.org/pub/slackware/slackware-13.0/ChangeLog.txt \ -| less -Sun Jan 24 20:22:46 UTC 2010 -patches/packages/httpd-2.2.14-i486-1_slack12.1.tgz: Upgraded. - This fixes a couple of security bugs when using mod_proxy_ftp. - For more information, see: - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3094 - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3095 - (* Security fix *) -
-Security Update Mailing List +Installing, Removing, and Upgrading Packages + + +While pkgtool scores points for convenience, +installpkg(8) is much more capable of +handling odd tasks, such as quickly installing a single package, +installing an entire disk set of packages, or scripting an install. +installpkg takes a list of packages to +install, and simply installs them without asking any questions. Like +all Slackware package management tools, it assumes that you know what +you're doing and doesn't pretend to be smarter than you. In its +simplest form, installpkg simply takes a +list of packages to install, and does exactly what you would expect. + + +darkstar:~# installpkg blackbox-0.70.1-i486-2.txz +Verifying package blackbox-0.70.1-i486-2.txz. +Installing package blackbox-0.70.1-i486-2.txz: +PACKAGE DESCRIPTION: +# blackbox (Blackbox window manager) +# +# Blackbox is that fast, light window manager you have been looking for +# without all those annoying library dependencies. +# +# Also included in this package is the bbkeys utility for controlling +# keyboard shortcut commands from within Blackbox. +# +# The Blackbox home page is http://blackboxwm.sourceforge.net +# +Package blackbox-0.70.1-i486-2.txz installed. + + +You can of course install multiple packages at a time, and in fact use +shell wild cards. The following installs all of the "N" series +packages from a mounted CD-ROM. + + +darkstar:~# installpkg /mnt/cdrom/slackware/n/*.txz + + +Removing a package is every bit as easy as installing one. As you might +expect, the command to do this is +removepkg(8). Simply tell it which packages +to remove, and removepkg will check the +contents of the package database and remove all the files and +directories for that package with one caveat. If that file is included +in multiple installed packages, it will be skipped and if a directory +has new files in it, the directory will be left in place. Because of +this, removing packages takes a good while longer than installing them. + + +darkstar:~# removepkg blackbox-0.70.1-i486-2.txz + -While the Slackware team does release updated bugfix-only packages (i.e. -not security fixes) occasionally, you're probably most interested in -security fixes for vulnerabilities discovered after the -stable release. -The Slackware Project maintains a mailing list that will notify you of any -updated packages for such serious issues. In order to subscribe to the -mailing list, send an e-mail to majordomo@slackware.com -with the words 'subscribe slackware-security' in the body of the message. -The majordomo will be happy to add your name to the list, and when new -packages are released, it will mail an advisory to you. +Finally, upgrading is just as easy with (you guessed it), +upgradepkg(8) which first installs a new +package, then removes whatever files and directories are left-over from +the old package. One important thing to remember is that +upgradepkg doesn't check to see if the +previously installed package has a higher version number than the "new" +package, so it can also be used to downgrade to older versions. + + + + +darkstar:~# upgradepkg blackbox-0.70.1-i486-2.txz + ++============================================================================== +| Upgrading blackbox-0.65.0-x86_64-4 package using +./blackbox-0.70.1-i486-2.txz ++============================================================================== + +Pre-installing package blackbox-0.70.1-i486-2... + +Removing package +/var/log/packages/blackbox-0.65.0-x86_64-4-upgraded-2010-02-23,16:50:51... + --> Deleting symlink /usr/share/blackbox/nls/POSIX + --> Deleting symlink /usr/share/blackbox/nls/US_ASCII + --> Deleting symlink /usr/share/blackbox/nls/de + --> Deleting symlink /usr/share/blackbox/nls/en + --> Deleting symlink /usr/share/blackbox/nls/en_GB +... +Package blackbox-0.65.0-x86_64-4 upgraded with new package +./blackbox-0.70.1-i486-2.txz. + + +All of these tools have useful arguments. For example, the +--root to installpkg will install +packages into an arbitrary directory. The --dry-run argument +will instruct upgradepkg to simply tell you +what it would attempt without actually making any changes to the +system. For complete details, you should (as always) refer to the man +pages.
-Upgrading Slackware Versions +Package Compression Formats -Now that we've gone this far, you should feel reasonably competent in your -ability to manage your Slackware system. But what do we do with it when -there's a new release? Updating from one release of Slackware to another -is a lot more complicated than simply updating a few packages. Each release -changes a lot of things, and while many of these changes are small, some of -them can completely break your system if you haven't prepared for them and/or -don't understand what is changing and why. While some Linux distributions -provide highly automated tools that attempt to handle every tiny detail for -you, Slackware takes a much more hands-on approach to things. +We won't go in depth into the details of package formats, but a few +words should be given here. In the past, all Slackware packages were +compressed with the gzip(1) compression +utility, which was a good compromise between compression speed and +size. Recently, new compression schemes have been added and the +package management tools have been upgraded to handle these. Today, +official Slackware packages are compressed with the +xz utility and end with .txz extensions. +Older packages (and many third party packages) still use the .tgz +extension. +
+ +
+<application>slackpkg</application> + -The very first thing you should do before attempting an upgrade is the one -that many people neglect: decide if it's really necessary to upgrade. If -the old system is stable and doing everything you want it to do, there may -be no need to do an operating system upgrade at all. Assuming you decide -to do the upgrade, then the second thing you should do is read the -CHANGES_AND_HINTS.TXT file on your upgrade discs or -a mirror. This file is updated during the development period before every -release, and it lists lots of helpful hints and tips to aid you in dealing -with the changes. Finally, read the UPGRADE.TXT file -before proceeding. After doing these things, you may decide that it's less -trouble and potential for problems to backup your configuration files and -data and do a fresh installation of the new Slackware release rather than -attempt a possibly tricky upgrade. However, if you still wish to continue, -make backups of your data and configuration files first. At a minimum, -it's good practice to backup the /etc and /home -directories. This will give you a chance to perform a reinstall if something -goes wrong with the upgrade. + The slackpkg is an automated tool for +management of Slackware Linux Packages. It was in /extra for +the release of slackware-12.1, and since the release of +slackware-12.2 it is included in the ap/ series of a base +installation. + + + For more information see the man pages for +slackpkg(8) and slackpkg.conf(5). - -Since every new version of Slackware has a few differences, giving complete -instructions here is not only futile but potentially misleading. You should -always consult the documentation included on your Slackware disks or your -favorite mirror. +Homepage: http://www.slackpkg.org/
-- cgit v1.2.3