mirror of
git://slackware.nl/current.git
synced 2025-01-30 08:38:10 +01:00
75a4a592e5
Mon Apr 25 13:37:00 UTC 2011 Slackware 13.37 x86_64 stable is released! Thanks to everyone who pitched in on this release: the Slackware team, the folks producing upstream code, and linuxquestions.org for providing a great forum for collaboration and testing. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. As always, thanks to the Slackware community for testing, suggestions, and feedback. :-) Have fun!
148 lines
5.6 KiB
HTML
148 lines
5.6 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta name="generator" content="HTML Tidy, see www.w3.org" />
|
|
<title>Slackware Package Management</title>
|
|
<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" />
|
|
<link rel="HOME" title="Slackware Linux Essentials" href="index.html" />
|
|
<link rel="PREVIOUS" title="Saving Files" href="emacs-saving-files.html" />
|
|
<link rel="NEXT" title="Package Utilities"
|
|
href="package-management-package-utilities.html" />
|
|
<link rel="STYLESHEET" type="text/css" href="docbook.css" />
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
</head>
|
|
<body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"
|
|
alink="#0000FF">
|
|
<div class="NAVHEADER">
|
|
<table summary="Header navigation table" width="100%" border="0" cellpadding="0"
|
|
cellspacing="0">
|
|
<tr>
|
|
<th colspan="3" align="center">Slackware Linux Essentials</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="10%" align="left" valign="bottom"><a href="emacs-saving-files.html"
|
|
accesskey="P">Prev</a></td>
|
|
<td width="80%" align="center" valign="bottom"></td>
|
|
<td width="10%" align="right" valign="bottom"><a
|
|
href="package-management-package-utilities.html" accesskey="N">Next</a></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<hr align="LEFT" width="100%" />
|
|
</div>
|
|
|
|
<div class="CHAPTER">
|
|
<h1><a id="PACKAGE-MANAGEMENT" name="PACKAGE-MANAGEMENT"></a>Chapter 18 Slackware Package
|
|
Management</h1>
|
|
|
|
<div class="TOC">
|
|
<dl>
|
|
<dt><b>Table of Contents</b></dt>
|
|
|
|
<dt>18.1 <a href="package-management.html#PACKAGE-MANAGEMENT-OVERVIEW">Overview of
|
|
Package Format</a></dt>
|
|
|
|
<dt>18.2 <a href="package-management-package-utilities.html">Package Utilities</a></dt>
|
|
|
|
<dt>18.3 <a href="package-management-making-packages.html">Making Packages</a></dt>
|
|
|
|
<dt>18.4 <a href="package-management-making-tags-and-tagfiles.html">Making Tags and
|
|
Tagfiles (for setup)</a></dt>
|
|
</dl>
|
|
</div>
|
|
|
|
<p>A software package is a bundle of related programs that are ready for you to install.
|
|
When you download a source code archive, you have to configure, compile, and install it
|
|
by hand. With a software package, this has already been done for you. All that you have
|
|
to do is install the package. Another handy feature of using software packages is that it
|
|
is very easy to remove and upgrade them, if you so desire. Slackware comes with programs
|
|
for all your package management needs. You can install, remove, upgrade, make, and
|
|
examine packages very easily.</p>
|
|
|
|
<p>There's a myth that's been going around ever since RedHat debuted RedHat Package
|
|
Manager, that Slackware has no package management tool. This simply couldn't be further
|
|
from the truth. Slackware has always included a package manager, even before RedHat
|
|
existed. While not as full-featured or as ubiquitous as rpm (or for that matter deb), <tt
|
|
class="COMMAND">pkgtool</tt> and its associated programs are every bit as good at
|
|
installing packages as rpm. The truth about <tt class="COMMAND">pkgtool</tt> is not that
|
|
it doesn't exist, but that it doesn't do any dependency checking.</p>
|
|
|
|
<p>Apparently many people in the Linux community think that a packager manager must by
|
|
definition include dependency checking. Well, that simply isn't the case, as Slackware
|
|
most certainly does not. This is not to say that Slackware packages don't have
|
|
dependencies, but rather that its package manager doesn't check for them. Dependency
|
|
management is left up to the sysadmin, and that's the way we like it.</p>
|
|
|
|
<div class="SECT1">
|
|
<h1 class="SECT1"><a id="PACKAGE-MANAGEMENT-OVERVIEW"
|
|
name="PACKAGE-MANAGEMENT-OVERVIEW">18.1 Overview of Package Format</a></h1>
|
|
|
|
<p>Before learning the utilities, you should become familiar with the format of a
|
|
Slackware package. In Slackware, a package is simply a tar archive file that has been
|
|
compressed with <tt class="COMMAND">gzip</tt>. Packages are built to be extracted in the
|
|
root directory.</p>
|
|
|
|
<p>Here is a fictitious program and its example package:</p>
|
|
|
|
<table border="0" bgcolor="#E0E0E0" width="100%">
|
|
<tr>
|
|
<td>
|
|
<pre class="SCREEN">
|
|
./
|
|
usr/
|
|
usr/bin/
|
|
usr/bin/makehejaz
|
|
usr/doc/
|
|
usr/doc/makehejaz-1.0/
|
|
usr/doc/makehejaz-1.0/COPYING
|
|
usr/doc/makehejaz-1.0/README
|
|
usr/man/
|
|
usr/man/man1
|
|
usr/man/man1/makehejaz.1.gz
|
|
install/
|
|
install/doinst.sh
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>The package system will extract this file in the root directory to install it. An
|
|
entry in the package database will be created that contains the contents of this package
|
|
so that it can be upgraded or removed later.</p>
|
|
|
|
<p>Notice the <tt class="FILENAME">install/</tt> subdirectory. This is a special
|
|
directory that can contain a postinstallation script called <tt
|
|
class="FILENAME">doinst.sh</tt>. If the package system finds this file, it will execute
|
|
it after installing the package.</p>
|
|
|
|
<p>Other scripts can be embedded in the package, but those are discussed more in detail
|
|
in <a href="package-management-making-packages.html#PACKAGE-MANAGEMENT-MAKEPKG">Section
|
|
18.3.2</a> below.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="NAVFOOTER">
|
|
<hr align="LEFT" width="100%" />
|
|
<table summary="Footer navigation table" width="100%" border="0" cellpadding="0"
|
|
cellspacing="0">
|
|
<tr>
|
|
<td width="33%" align="left" valign="top"><a href="emacs-saving-files.html"
|
|
accesskey="P">Prev</a></td>
|
|
<td width="34%" align="center" valign="top"><a href="index.html"
|
|
accesskey="H">Home</a></td>
|
|
<td width="33%" align="right" valign="top"><a
|
|
href="package-management-package-utilities.html" accesskey="N">Next</a></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td width="33%" align="left" valign="top">Saving Files</td>
|
|
<td width="34%" align="center" valign="top"> </td>
|
|
<td width="33%" align="right" valign="top">Package Utilities</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|