<p>The &quot;Development and improvement&quot; subsection of section 2.5.1
talks about the need of an improved boot initialisation sequence. The
<a href="http://alioth.debian.org/projects/initscripts-ng/
target="_blank">initscripts-ng</a> project has been started with the goal to
create a better init system.</p>

<p>The integration of the <span class="Code">amd64</span> architecture into the official archive <a href="http://lists.debian.org/debian-devel-announce/2006/02/msg00007.html" target="_blank">is underway as part of the mirror split</a>, and <a href="http://lists.debian.org/debian-devel-announce/2006/03/msg00014.html" target="_blank">the first package has been uploaded</a>. Within the next few weeks, <span class="Code">amd64</span> will thus become an official Debian architecture, and it shall be released as part of Debian <span class="Code">etch</span>, the next stable release.</p>

<p>The <span class="Code">debedit</span> tool referenced in the second to last paragraph of section 5.9.2 has been added to the <span class="Code">devscripts</span> package in version 2.9.3 (i.e. in <span style="font-style: italic;">etch</span>). It is called <span class="Code">deb-reversion</span>, not <span class="Code">debedit</span>, however. <br/>
</p>

<p>Even though <span class="Code">amd64</span> is not (yet) an official architecture, the Debian security team <a href="http://www.debian.org/News/2005/20050811" target="_blank">has declared</a> <span style="text-decoration: underline;"></span>that it will support <a href="http://lists.debian.org/debian-devel-announce/2005/06/msg00005.html" target="_blank">the <span style="font-style: italic;">sarge</span> release of the Debian AMD64 port</a>, which was released shortly after the official <span style="font-style: italic;">sarge</span> release.</p>
<p> </p>

<p>Joey Hess <a target="_blank" href="http://lists.debian.org/debian-devel-announce/2005/09/msg00006.html">announced</a> the full security support for the Debian <span style="font-style: italic;">testing</span> release. Even though still inofficial, this makes Debian <span style="font-style: italic;">testing</span> a viable alternative to the <span style="font-style: italic;">stable</span> release, for those with needs for greater currency of software. </p>

<p>The official title of the book written by David B. Harris, Benjamin Mako Hill <a href="520-jaldhar">and Jaldhar H. Vyas</a> is <span style="text-decoration: underline;">Debian GNU/Linux 3.1 Bible</span>, not 3.X as I wrote in my book. At the time of writing, the authors had not settled for a title.</p>

<p>The <span class="Code">debbugs</span> maintainers are on a roll and have added the ability to block bugs with other bugs. &quot;Blocking&quot; is the official term, though the concept may also be described as &quot;bug dependencies.&quot; More information is available in <a target="_blank" href="http://azure.humbug.org.au/~aj/blog/2005/08/12#2005-08-12-postdc5">this blog entry by Anthony Towns</a>, and <a href="http://kitenet.net/~joey/blog/entry/bts_blockers_support-2005-08-12-15-43.html" target="_blank">this one by Joey Hess</a>.</p>

<p>The Debian bug tracking system now allows users to attach their own tags to bug reports. You can find the juicy details in the <a target="_blank" href="http://lists.debian.org/debian-devel-announce/2005/09/msg00002.html">announcement mail</a>.</p>

<p>Jurij Smakov <span style="font-style: italic;">et al.</span> have published the <a onclick="window.open(this.href, '_blank'); return false;" href="http://kernel-handbook.alioth.debian.org/">Debian Linux Kernel Handbook,</a> which documentswill help in documenting the internals of the Debian Linux Kernel build process. The document is still work in progress.</p>
<p>Even though the kernel team does not use kernel-package, the document surely contains a great amount of useful or interesting information.<br /></p>

<p>Biella Coleman, a Ph.D. from Chicago University (see <a href="http://www.onlinepolicy.org/about/bio/coleman.shtml" target="_blank">a short biography</a>), has the <a href="http://lists.debian.org/debian-project/2005/08/msg00206.html" target="_blank">announced the release</a> of a chapter from her <a target="_blank" href="http://papers.ssrn.com/sol3/papers.cfm?abstract_id=805287">dissertation on the ethics and politics of the free software movement</a>. The chapter, titled &quot;Three ethical moments in Debian: the making of an ethical hacker part III&quot;, is the result of years of research with and within the Debian project. It is a recommended read&nbsp; for anyone interested in the inner workings of the Debian community, and complements the description of the community in chapter 2.4 on pages 46ff. You can download the chapter from <a target="_blank" href="http://papers.ssrn.com/sol3/papers.cfm?abstract_id=805287">this page</a>. </p>

<p>In section 5.11.10, the <span class="Code">popularity-contest</span> package is introduced as a programme sending email to a central server that aggregates the data and generates statistics. Future versions of popularity-contest can optionally use the HTTP protocol as well and thus do not require a mail transport agent (such as <span class="Code">exim4</span>) to be installed on every system that gathers statistics.</p>

<p>The first item in the list on page 260 in section 5.12.2 speaks of a change in the naming scheme of the Debian kernel packages. Starting with the 2.6.12 kernel packages, the Debian Kernel Team has started using <span class="Code">linux-*</span> for the packages containing Linux kernel files.</p>

<p>Chapter 9.2.1 discusses the structure of Debian source packages. Following the release of Debian <span style="font-style: italic;">sarge</span>, a new package format will replace the current one. The new format, dubbed &quot;Wig and Pen&quot; (version 2.0) is fully compatible with the current format (1.0), but adds the ability for multiple tarballs to encapsulate different aspects of the package (feature branches). In particular, it is now possible to distribute the Debian-specific files in a separate tarball rather than encapsulating them in a patch.</p>
<p> More information about the new source package format may be found on the <a target="_blank" href="http://www.dpkg.org/NewSourceFormat">dpkg.org website</a>.</p>

<p>The semi-official Debian Wiki at <a target="_blank" href="http://wiki.debian.net">http://wiki.debian.net</a> now has a successor over at <a target="_blank" href="http://wiki.debian.org">http://wiki.debian.org</a>, which would finally make the Debian Wiki an official resource.</p>

<p>In chapter 5.7.2, <span class="Code">postfix-tls</span> is used in an example to show how diverted files work. The package is also used in various other parts of the book. While the package exists in <span style="font-style: italic;">sarge</span>, it has been removed from the archive for <span style="font-style: italic;">etch</span>. Its functionality has been integrated into the <span class="Code">postfix</span> package. The theory of diverted files continues to hold.</p>

<p>Chapter 5.4 introduces APT, and the Debian way of installing, removing, and
upgrading packages. The traditional front-end to APT, <span
class="Code">apt-get</span>, may in the future be replaced by <span
class="Code">aptitude</span>, which implements most of the command-line
options of <span class="Code">apt-get</span> (see p. 195f) and is thus
a viable drop-in replacement. The sarge release notes recommend using <span
class="Code">aptitude</span> instead of <span class="Code">apt-get</span>, as
it "makes safer decisions about package installations than running <span
class="Code">apt-get</span> directly."

<p>Section 10.6.9 states that single bug subscriptions are not yet possible and promises for this (frequently requested) feature to be available soon. Thanks to the work of Joachim Breitner, Don Armstrong, Pascal Hakim, Anthony Towns, and Colin Watson (hope I have not left anyone out), it is now possible to subscribe to single bug reports. Please see the <a target="_blank" href="http://lists.debian.org/debian-devel-announce/2005/07/msg00014.html">developer announcement</a> and the <a href="http://www.debian.org/Bugs/Developer#subscribe" target="_blank">documentation</a> for more information.</p>

<p>Following the release of <span style="font-style: italic;">sarge</span>, the Debian debbugs team has added the ability to track package versions instead of just single packages with the Debian bug tracking system. This has been a feature much requested, which should greatly facilitate the period leading up to an official Debian release.<br/>
</p>
<p>Details of the added and changed features and commands can be found in <a href="http://lists.debian.org/debian-devel-announce/2005/07/msg00010.html" target="_blank">the announcement</a>.<br/>
</p>

<p>The first text paragraph on page 373 in section 7.5.1 talks about the archive key, which was signed by one of the FTP masters, Anthony Towns. Later in the paragraph, Anthony suddenly becomes James. It should just say Anthony all along</p>

<p>The versioning scheme for pre-release upstream&nbsp; versions proposed in section 5.7.5 is not desirable: encoding the pre-release version in the Debian revision prevents a new orig.tar.gz file from being uploaded when the final release is uploaded.</p>
<p>The following rewrite should make the situation clear. It replaces the second half of the middle paragraphon page 218, starting at &quot;Within the Debian archive, it is customary...&quot;:</p>
<p style="margin-left: 40px;">One scheme could be to release <span class="Code">1.0-rc1</span> as <span class="Code">1.0-0+1.0rc1+1,</span> followed by <span class="Code">1.0-0+1.0rc1+2,</span> and then <span class="Code">1.0-1</span> when the final gets released. However, this approach has an inherent problem: for each upstream version, an <span class="Code">orig.tar.gz</span> file exists in the Debian archive; Debian revisions are released as <span class="Code">diff.gz</span> files against the <span class="Code">orig.tar.gz</span> file (see chapter 9.2.12). In the proposed scheme, the <span class="Code">orig.tar.gz</span> file will contain the <span class="Code">1.0-rc1</span> upstream release, and when the final <span class="Code">1.0</span> release is to be packaged, the <span class="Code">diff.gz</span> file for the <span class="Code">1.0-1</span> Debian release will have to encompass all upstream changes between <span class="Code">1.0-rc1</span> and <span class="Code">1.0</span> as well, which is undesirable.</p>
<p style="margin-left: 40px;">Thus, a better approach is to encode the pre-release version as part of the upstream vesion. This can be done in one of two ways: using the previous upstream version as base (let's assume <span class="Code">0.90</span>), or an obviously fake upstream version that sorts before the final release: <span class="Code">0.90+1.0rc1-1</span> or <span class="Code">0.999+1.0rc1-1</span>. Now, upon release of <span class="Code">1.0</span>, a new <span class="Code">orig.tar.gz</span> file can be uploaded to replace the previous one. With that in mind, it should be easy to infer the upstream version number from the Debian version, even in complex cases.<br /></p>

<p>Section 1.4.2 talks about anticipated changes to the Debian project and system. As should become apparent when reading section 4.3.3, such changes are <span style="font-style: italic;">not</span> to be expected in the <span style="font-style: italic;">stable</span> release of the operating system, which is one of its main selling points. Thus, if you only track <span style="font-style: italic;">stable</span> and have no interest in the surrounding project or new developments, you need not be concerned with these changes.<br/>
</p>
<p>I keep a <a href="/readers/changes">list of changes</a> online to make it easier for you to track developments since the book's release.</p>

<p>The first example on page 278 in section 6.1.4 contains a repeated instruction. You can ignore all code after the second command, <span class="Code">update-alternatives --display editor</span>, and its output.<br /></p>

<p>The item on components on the top of page 166 states that components &quot;also specify when <span class="Code">non-US</span> software is to be used.&quot;</p>
<p>This should say &quot;non-free software&quot; instead. Components cannot be used to select <span class="Code">non-US</span> software.<br /></p>

<p>The fourth paragraph of the subsection entitled &quot;The early days&quot; in &quot;A history lesson&quot; states that Debian <span style="font-style: italic;">rex</span> was released in December &quot;of the same year&quot;. This refers to the release of <span style="font-style: italic;">buzz</span> in June 1996, not the release of the Debian botch in December 1995. <span style="font-style: italic;">rex</span> was released in December 1996.</p>

<p>Deborphaner is not iterative (or recursive, depending on how you look at it). In one run it may suggest to remove a set of packages, but it fails to identify packages that would be obsolete if the user removed the packages suggested in the first run.</p>

<p>In the first paragraph of the subsection titled &quot;Obtaining source package&quot; talks about the two types of source packages in the Debian archive: packages requiring modifications prior to their inclusion in Debian, and packages included directly. The text calls the former the class of &quot;native packages&quot; and terms the latter as &quot;normal packages.&quot; It should be the other way around.</p>

<p>In chapter 5.3.7, I state:</p>
<blockquote>Since <span class="Code">dpkg</span> remembers the administrators request to install <span class="Code">postfix</span>, it will retry and automatically complete the installation as soon as the dependencies are fulfilled.</blockquote>
<p>This is not correct. dpkg sets the desired state of the <span class="Code">postfix</span> package to &quot;install&quot;, but it does not automatically configure it when <span class="Code">netbase</span> is installed.<br/>
</p>

<p>The example displaying the use of the <span class="Code">--showformat</span> option to <span class="Code">dpkg-query</span> should obviously be:<br/>
</p>
<pre># dpkg-query --show --showformat='${Package}\t${Status}\n' postfix
postfix install ok installed</pre>
<p>In the book, it unfortunately specifies <span class="Code">mc</span> as the last argument in the command line. I had previously used <span class="Code">mc</span> as an example, but switched almost all examples over to <span class="Code">postfix</span> as a tribute to my <a href="http://postfix.org" target="_blank">favourite mail server</a>, and its author, Wietse Venema.</p>

<p>The&nbsp;dwarfs-debian-guide package no longer exists in the <span style="font-style: italic;">sarge</span> archive. It has been removed in December 2003 by reason of being out of date (according to <a target="_blank" href="http://ftp-master.debian.org/removals.txt">removals.txt</a>).</p>

The last sentence of the &quot;Into the next millenium&quot; subsection should not be there. It was overlooked during the time we were waiting for <span style="font-style: italic;">sarge</span> to release.<br/>

<p>In chapter 6.3.1, I suggest to add <span class="Code">sshd</span> to the <span class="Code">/etc/inittab</span> file to be able to login to a remote system even in single-user mode:</p>
<pre># sed -i -e &quot;/^~~/ish:S:respawn:sshd -Do 'AllowUsers=root'&quot; /etc/inittab</pre>
<p>Unfortunately, there are two errors with this: first, <span class="Code">sshd</span> must be called with the complete path (to guard against trojans), and <span class="Code">init</span> must be told to reload the configuration file after the change.</p>
<p>The following corrects both problems:<br /></p>
<pre># sed -i -e &quot;/^~~/ish:S:respawn:/usr/sbin/sshd -Do 'AllowUsers=root'&quot; /etc/inittab<br /># telinit q</pre>

<p>In chapter 2.2.2, Free Software is incorrectly described as a subset of Open Source: while it is true that there are there Open Source licenses which are not FSF-Free or not approved by Debian, that is a matter of interpretation, not of principles, as the <a href="http://www.opensource.org/docs/definition.php" target="_blank">Open Source Definition</a> and the <a href="http://www.debian.org/social_contract#guidelines" target="_blank">Debian Free Software Guidelines</a> match almost word for word.</p>

<p>The last sentence of A.2.3 states that Gnoppix is the basis for the Ubuntu Live CD. This is not accurate. Andreas M&uuml;ller, the developer of Gnoppix, actually developed the Ubuntu Live CD first, and then reused this work for Gnoppix. Thus, Gnoppix is based on the Ubuntu Live CD, not <span style="font-style: italic;">vice versa</span>.</p>

The last listing on page 147 as well as the first listing on page 148 include a redirection of the form <span class="Code">1&gt;&amp;2</span>. This redirection is an error; nothing should be redirected in both cases.

<p>The item describing the <span class="Code">sysklogd</span> <span class="Code">cron.daily</span> file somehow got mangled hard:<br/>
</p>
<ol>
<li>the parenthesis before the word &quot;mainly&quot; in the first line should be closed after the filename, and before the word &quot;written.&quot;</li>
<li>the paragraph ends in an incomplete sentence which should have read: &quot;Note that permissions of other log files are not corrected if the administrator altered them.&quot;<br/>
</li>
</ol>

<p>The last paragraph of the subsection &quot;Build dependencies and cleaning&quot; abruptly ends with the word &quot;Finally&quot;. The missing sentence was: &quot;Finally, we invoke the software's installation method and tell it to install runtime files into a hierarchy rooted at <span class="Code">debian/tmp</span>.&quot;</p>

<p>In the section &quot;Logging the changes&quot; in chapter 5.9, the
following invocation of <span class="Code">dch</span> is used:<br/>
</p>
<pre>dch --version=$VERSION+0.local.1 -- Made some local changes</pre>
<p>The option <span class="Code">--version</span> displays the version
information of the tool, and does not pass its argument to <span
class="Code">dch</span> the way I had intended it. The correct long option for
<span class="Code">-v</span> is <span class="Code">--newversion</span>, and
thus the command should be:</p>
<pre>dch --newversion=$VERSION+0.local.1 -- Made some local changes</pre>

<p>The first paragraph of the section titled &quot;The developer collective&quot; refers to a section on mailinglists in chapter 10. Unfortunately, a markup character was left out in the final script. Instead of &quot;crefmailinglists,&quot; it should read &quot;chapter 10.4.1.&quot;</p>

<p>When the second paragraph in the subsection &quot;Interface mappings&quot; in section 6.7.1 states that only the first matching <span class="Code">mapping</span> is applied, it is only partially correct. <span class="Code">Mappings</span> are applied iteratively until no further mappings match.</p>

<p>In section 8.3.1, the <span class="Code">$MIRROR</span> variable set in the example is incomplete: it lacks the path to the <span class="Code">/debian</span> directory. The assignment should read:</p>
<pre># MIRROR=http://ftp.debian.org/debian<br /></pre>
<p>Regardless, you should still use <span class="Code">apt-spy</span> to determine a closer mirror!</p>

<p>The fourth item in the enumeration on page 152 introduces the <span class="Code">conf-files</span> <span class="Code">dpkg</span> state. The actual name of the state is <span class="Code">config-files instead</span>.</p>

<p>In the third example on page 403 in section 8.2.2, the option to <span class="Code">apt-show-versions</span> should be <span class="Code">--upgradeable</span> (as in the example just before), not <span class="Code">--upgraded</span>.</p>

<p>In the end of section 2.2.2, I cite Qmail as an example of non-free open source software. Here, I have made the common mistake of equating availability of source with &quot;open-source-ness&quot;. Qmail is non-free, and not Open Source by the <a target="_blank" href="http://www.opensource.org/docs/definition.php">Open Source Definition</a>, although its sources are available.</p>

<p>In subsection &quot;Into the next milennium&quot; in section 2.1, I state that Trolltech, the manufacturer of the Qt library, &quot;agreed to license the library under the GNU Public License (GPL) for non-commercial use.&quot;<br /><br />Instead, it should read: &quot;[Trolltech] agreed to license they X11/*nix library under the GNU Public License (GPL) thus making it compatible with the Debian Free Software Guidelines.&quot;</p>

<p>In the end of the forth paragraph, I claim that the <span style="font-style: italic;">woody</span> tools do not support the tilde (~) character in the version number string. The <span style="font-style: italic;">sarge</span> tools also do not support this character. Full support for the tilde character in version numbers will come with the release of Debian <span style="font-style: italic;">etch</span>.</p>
<p>Update: while sarge's <span class="Code">dpkg</span> and even <span class="Code">APT</span> support the tilde character in version strings, the majority of package- and packaging-related tools in the <span style="font-style: italic;">sarge</span> archive do not. Therefore, the tilde is not fully supported in <span style="font-style: italic;">sarge</span>, but it is in the <span style="font-style: italic;">etch</span> release.<br /></p>

<p>The third paragraph on this page talks about packages passing the package checkers as being <span style="font-style: italic;">lintian-free</span> and <span style="font-style: italic;">linda-free</span>. The correct terms are <span style="font-style: italic;">lintian-clean</span> and <span style="font-style: italic;">linda-clean</span>.</p>

<p>The paragraph after the first code snippet on page 149 in section 5.3.4 states that <span class="Code">dpkg --show</span> is more or less the same as dpkg <span class="Code">--info</span>. Instead of the <span class="Code">--show</span>, this should read <span class="Code">--status</span>, as in the code snippet.</p>

<p>In section 5.8.6, on page 229, the source machine name of the <span class="Code">scp</span> call in the code snippet should obviously be <span class="Code">remote</span>, not <span class="Code">rempte</span>.</p>

<p>In the very end of section 4.1.2, I claim that index files are named <span class="Code">Packages</span> in all cases. This is only true for binary packages. Source packages are indexed in a file called <span class="Code">Sources</span>. Thus, the index of all source packages of the <span class="Code">contrib</span> section of the <span class="Code">sid</span> archive is in the file <span class="Code">/dists/sid/contrib/source/Sources</span>.</p>
<p>Unfortunately, the error also occurs in figure 4.1 on page 105. The following is an updated figure (which also corrects <a target="_blank" href="./resolveUid/02d2c2370b30e74e4d45a59348eb410f">this error</a>):</p>
<p style="text-align: center;"><a target="_blank" href="./resolveUid/03c473ca87e89ad9cace876a8d61c8fc"><img width="200" height="109" alt="Figure 4.1 - Archive Tree" src="./resolveUid/03c473ca87e89ad9cace876a8d61c8fc" /></a></p>

<p>Footnote 43 mentions &quot;developer forums, such as the <span class="Code">#debian</span> IRC channel&quot;. Even though many developers hang out in the <span class="Code">#debian</span> channel, it is primarily a users' channel. </p>

<p>The listing in section 9.4.1 contains two small errors related to the <span class="Code">preinst</span> file:</p>
<ol>
<li>The <span class="Code">cat</span> instruction should be redirected to <span class="Code">debian/foo.preinst</span>, not <span class="Code">debian/foo/preinst</span>.</li>
<li>The version comparison within the <span class="Code">preinst</span> file should compare against <span class="Code">1.2.3-4,</span> because presumably only versions before <span class="Code">1.2.3-4</span> used a working directory in <span class="Code">/var/state</span>.</li>
</ol>

<p>The description of the <span class="Code">Pre-Depends</span> relation as part of the discussion of the <span class="Code">Depends</span> relation in section 5.7.3 is unclear. A better explanation is:</p>
<p style="margin-left: 40px;">Another relation, <span class="Code">Pre-Depends,</span> provides a tighter dependency and is only used in very special cases;<br />packages listed here need to be fully configured before the dependending package can be unpacked or configured. If a previous version of the pre-dependent package has once been configured on the system, the depending package can be unpacked (but not configured) even if the current version of the pre-dependent package has not been configured yet.<br /></p>

<p>In the first listing in section 5.4.1, the line for the <span class="Code">non-US</span> archive should be:</p>
<pre>deb http://nonus.debian.org/debian-non-US sarge/non-US main<br /></pre>
<p>This is to say: the name <span class="Code">non-US</span> is also part of the distribution.</p>

<p>The mysteries of LaTeX have caused the fifth and sixth line of the <span class="Code">squid.conf</span> file snippet to be falsely printed. In the fifth line, instead of the underlined parenthesis and 't' and 'g' characters, escaped periods should have appeared. In the sixth line, the wrapping was messed up:<br /></p>
<pre>refresh_pattern \.(u?deb|dsc|changes|(orig\.tar|diff)\.gz)$ 14400 20% 2592000<br />refresh_pattern ((Packages|Sources)(\.(gz|bz2))?|Release(\.gpg)?)$ 14300 20% 14400<br /></pre>

<p>The first command executed on the shell in the example code snippet in section 5.2.3 should copy the file <span class="Code">/var/<strong>cache</strong>/apt/archives/postfix_2.1.5-1_i386.deb</span>, not <span class="Code">/var/<strong>spool</strong>/apt/archives/postfix_2.1.5-1_i386.deb</span>.</p>

I liked Krafft's precise, straight-to-the-point writing style. He makes basic as well as advanced topics readable without coming across as either condescending or cryptic. The terse footnotes are useful and supplement the text with interesting tips and resources. This is a technical book for sure, without fluff or off-topic detours, and it's packed with information. Still, Krafft manages to impart a personal feel by sharing his observations and balanced opinions. He delivers frank assessments of the strengths, weaknesses and eccentricities of a Debian system. In fact, the book even includes an appendix on how to decide if Debian is the right GNU/Linux distribution for you.

Krafft's explanations about the reasoning and motivation behind Debian's design and implementation have been invaluable. With the help of this book, I have discovered utilities I had no idea existed. In short, it has helped me become a more informed Debian user. The Debian System is essential reading for all Debian users.

The book is for beginners with an interest in the technical aspects, just as much as it is for seasoned Debian users: not everyone is familiar with the diversity of configuration mechanisms and tools of the free distribution. Notwithstanding its distinctly theoretical approach, this tome excels with a substantial quantity of practical examples which illustrate the coherences [of the distribution] further.

This book will have something new in store for all but the most advanced Debian users. While reading [it], I was surprised to find out how much I did not know about Debian GNU/Linux, the very operating system I use [...], especially about Debian's community orientation and about some powerful Debian tools that I never knew existed.

[The book] can provide you with a wealth of knowledge to make any Debian task easier, more efficient, and relatively painless. [...] Krafft details a set of additional Debian software management tools that aid the user or administrator in maintaining a clean, streamlined system.

Kudos to Martin F. Krafft for putting together one excellent book about the concepts and techniques for the Debian Linux distribution. [...] This is one of those books that goes into complete detail about every aspect of the Debian project. A very well written book with examples and lots of information for any user that wants to learn more about the Debian project or use it as a resource alongside a standard Linux reference book to bootstrap your Linux experience with Debian.
I give The Debian System - Concepts and Techniques a big two thumbs up and two toes up!!

Charles Darwin would “get” the beauty Debian if he were alive today. Martin Krafft certainly “gets” the beauty of Debian, and he wants you to get it too, so he has written a very detailed exposition of the Debian code and community. [...] If there was one word that I would use to describe Martin's book, that word would be “meticulous.”

Martin's interesting 37-page chapter on how Debian is structured [...] will probably become a small, but important and enduring part of the stories that Debian developers will tell about themselves. [...] Martin's thorough, but succinct, summary of the Debian project will be one of the features that will cause Debian fans to keep Martin's book in a well-thumbed condition on their shelves.

Martin follows [a] general pedagogic method throughout all of the technical chapters of his book: policy; concept; techniques; and examples. I say pedagogic, not pendantic. Martin is not going to talk down to you, but he will give you puh-lenty of deep info about the Debian utilities and fundamental code structures [...]. In fact, this text certainly is suitable for a college-level course on computer system administration.

I did note that you are not a native speaker on numerous occasions. However, never was I thrown off your detailed discussion of Debian's guts. [...] Future computer book authors will have quite some difficulty reaching up to your standards. I am glad you concentrated on content, not prose. [...] Your book is a pleasure to read. Thank you!

"The Debian System" is exactly the one I'd been looking for. It's an excellent discussion of sarge (3.1), and it's full of useful information: theory, philosophy, HOWTO, and why. [...] And the best thing about it is that when it's lying open by the keyboard, the book doesn't try to close itself -- the pages lie flat. [...] Kudos to the publisher! And you, too. This is a marvelous piece of work.

Wow! I was not going to buy this book. Really not. And then an hour later I was still standing in the store, still holding it in my hands, and still reading. [The author] has put together the most complete and definitive collection of advanced Debian knowledge I've seen, it is an outstanding book.

This is probably the best book about Debian ever written, but it has a specific target audience: those who are already familiar with GNU/Linux, or at least other unices. [...] Martin F. Krafft explains [Debian GNU/Linux] with clarity in a thorough and very well written book. [...] For those with already a basic understanding of GNU/Linux and interested in debian Kraffts book will be THE indispensable companion. [...] This is definitely the best written and most intelligent IT book I have ever read.

I liked this book because, finally, an author has had the presence of mind to write a book that did not regurgitate Unix commands like 'ls' and 'vi' for the gazillionth time. [...] In summary, raise the quality of your Linux reading a few notches by purchasing this book, and raise the quality of your personal computer usage by installing debian or its derivatives.

This is the best book I've seen in many years.
It does not only cover the technical details I needed to understand as a
Debian user, but it also shows clearly the quality of the Debian system and
project.

[...] an outstanding book that is based on Debian using Linux as the kernel. [...] This excellent book has done an excellent job of targeting people familiar with Unix who are looking to understand what makes Debian different.

This excellent book has done an excellent job of targeting people familiar with Unix who are looking to understand what makes Debian different, and how to best put Debian's paradigms and tools to use. In other words, this book is intended to be a reference for the Debian system, as well as a guide for those that want to go further with the system.

The Debian System is not just a manual. It's a philosophy tome. It's a bible. It's a love letter. And whereas this should not be one's first Linux book, it should be on every Linux enthusiast's reading list, whether one is a Debian user or not.

I highly recommend The Debian System to anyone interested in how free/open source software works. I especially recommend it to intermediate Linux users, whether or not they're running a Debian-based system (though I imagine they'll want to try one by the time they're done with the book).

This is one of the most comprehensive and detailed accounts of the largest Linux distribution in existence. [...] All technical aspects of this distribution are explained with remarkable clarity of a person who is rather familiar with the system.

He does not come through as a person strongly advocating his preferred operating system - in fact, he freely admits that Debian might not be for everyone and other Linux distributions (or even other operating systems) might sometimes be more suitable for certain users and tasks.

No matter how skilled you are in administrating a Debian box and irrespective of how confident you are running the multitude of Debian commands at 4 o'clock in the morning, you are bound to learn something new. There is so much amazing information packed in this book that it is impossible for any one person to know it all. A great reference material [...].

I have always enjoyed computer books [...] The Debian System - Concepts And Techniques will go down as one of the greatest of them all - the one that I will certainly keep on the table for a long time before I put it up on the shelf, but even then, it will never be far from reach. An absolute must for all users of Debian and Debian derivatives, and a proud addition to any Linux user's book collection. Highly recommended.

The Debian System is probably one of the most complete works covering any distribution or indeed operating system, embracing the culture of the active community, key technologies and
the development model itself. It's a total
introduction to the Debian way [...]

This book is unusual in that it is much more than a technical discussion - it delves into the philosophy of the system, explains how someone becomes a recognized Debian developer and details the way that Debian is licensed. That's not to say the book doesn't get technical. It provides a very well-written, soup-to-nuts explanation of how Debian is organized; how to install, configure and modify the system; and how to administer and secure it. Excellent and highly recommended.

Krafft manages to illustrate topics such as APT pinning, which have a reputation of being complicated and daunting, in an accessible way. [...] Even long-time users will most certainly find new and interesting stuff between the covers. [...] The book has the potential to become the future Debian Bible.

Can you imagine a book about Debian GNU/Linux stretching to 600 pages? No, not covering any of the applications that ship with Debian, nor delving into general configuration of, say, X or Samba. Just pure Debian; that is to say, the book covers Debian-specific utilities only, in densely printed pages with hardly any screenshots. Yup, a book like that has just been published under the name of The Debian System - Concept and Techniques. Written by Martin Krafft, this is one of the most comprehensive and detailed accounts of the largest Linux distribution in existence.

Prospective TDS readers should understand that this book is unlike any I have read on operating systems. Readers will not have to skip pages on setting up Apache or configuring BIND, thankfully! Instead, TDS covers core system administration subjects to a degree I have not seen elsewhere. [...] Krafft takes readers on an inside tour of the how and why of Debian. Rather than just explaining a technique or tool, the author discusses the overall problem, possible ways to approach it, and Debian's solutions. He presents pros and cons for each, and then demonstrates usage with command line syntax and sample output.

Krafft is obviously a Debian enthusiast, but he is not a zealot blind to any flaws Debian might possess. He is also not afraid to praise other OS' (like NetBSD) or declare that certain misconceptions (think debconf) are invalid. When necessary he compares Debian tools or syntax to other Linux distributions, such as a chart on pp 200-201 on apt, yum, up2date, and urpmi. The book also contains a large number of footnotes with URLs for more research and additional commentary.

It is fair to say that Krafft's book has helped me decide to stay with Debian for systems that need to run Linux. I am confident that I can return to TDS when I need to solve problems, and be armed with a variety of options for doing so. I would love to see an equivalent book for FreeBSD!

For an overview of how and why Debian is different from other distributions, The Debian System: Concepts and Techniques by Martin Krafft explains it all.

This symbol means you are here.

Feedback

Ladislav Bodnar, Distrowatch:
I have always enjoyed computer books [...] The Debian System - Concepts And Techniques will go down as one of the greatest of them all - the one that I will certainly keep on the table for a long time before I put it up on the shelf, but even then, it will never be far from reach. An absolute must for all users of Debian and Debian derivatives, and a proud addition to any Linux user's book collection. Highly recommended.