home *** CD-ROM | disk | FTP | other *** search
/ Dream 46 / Amiga_Dream_46.iso / bo / extras / doc / FAQ / debian-faq.info < prev    next >
Text File  |  1997-05-01  |  133KB  |  2,789 lines

  1. <!--
  2. Warning: don't edit this file. It has been generated by typeset
  3. The next compilation will silently overwrite all changes.
  4. -->
  5.  
  6. 
  7. File: debian-faq.info Node: Top, Up: (DIR)Top, Previous: (DIR)Top, Next: Meta-Qestions
  8.  
  9. The Debian GNU/Linux FAQ
  10.  
  11.  
  12.  
  13. * Menu:
  14.  
  15. * Meta-Qestions::               Meta-questions
  16. * Defs::                        Definitions and Overview 
  17. * Hardware::                    Hardware Requirements 
  18. * Compatibility::               Compatibility issues 
  19. * Software::                    Software available in the Debian system 
  20. * pms::                         Basics of the Debian Package Management System
  21. * PkgTools::                    The Debian Package Management Tools
  22. * GetDeb::                      Getting and Installing Debian GNU/Linux
  23. * Uptodate::                    Keeping Your Debian System Up To Date 
  24. * Kernel::                      Debian and the kernel 
  25. * Customizing::                 Customizing your installation of Debian GNU/Linux 
  26. * Support::                     Getting support for Debian Linux 
  27. * Bugs::                        The Debian Bug Report System
  28. * Contributing::                Contributing to the Debian project 
  29. * Redistributing::              Redistributing Debian GNU/Linux in a commercial product
  30. * Future::                      What kind of changes should I expect to see in the next major release of Debian Linux? 
  31. 
  32. File: debian-faq.info Node: Meta-Qestions, Up: Top, Previous: Top, Next: DocumentFormats
  33.  
  34. Meta-questions
  35.  
  36.  
  37.  
  38. * Menu:
  39.  
  40. * DocumentFormats::             In what format is this document written?        
  41. * latest::                      Where do I get the latest version of this document?   
  42. * feedback::                    Where do I send questions, corrections, etc. about this document?
  43. * copyright::                   (How) Can I redistribute this file?
  44. * sources::                     What information resources were used to obtain the questions and answers presented here?
  45. 
  46. File: debian-faq.info Node: DocumentFormats, Up: Meta-Qestions, Previous: Meta-Qestions, Next: latest
  47.  
  48. In what format is this document written?        
  49.  
  50.  This document was written using the Linuxdoc-SGML DTD. The Linuxdoc-SGML
  51.  system (now called SGML-Tools)  can be used to create files in a variety of
  52.  other formats, e.g., GNU info, HTML, LaTeX, TeX .dvi format,  and
  53.  PostScript (TM) files. sdc (SGML Document Compiler)  is an alternative
  54.  system that in some cases produces better output than  SGML-Tools.
  55.  SGML-Tools and sdc are available as Debian packages.
  56. 
  57. File: debian-faq.info Node: latest, Up: Meta-Qestions, Previous: DocumentFormats, Next: feedback
  58.  
  59. Where do I get the latest version of this document?   
  60.  
  61.  The latest version of this document can be viewed in HTML format at the 
  62.  Debianhome page ( http://www.debian.org/FAQ/ ) .
  63.  
  64.  It is also available in HTML, PostScript, GNU info and plain text format at
  65.  the Debian FTP Server ( ftp://ftp.debian.org/debian/ )  and any of its 
  66.  mirrors ( http://www.debian.org/ftplist.html )  in the directory doc/FAQ/.
  67.  
  68.  The original SGML files used to create this document are available in
  69.  debian-doc's source package. The linuxdoc-sgml package  contains tools to
  70.  transform this document into one or more other formats, as required by the
  71.  user:  GNU info files, HTML, LaTeX, TeX .dvi format, and PostScript.
  72. 
  73. File: debian-faq.info Node: feedback, Up: Meta-Qestions, Previous: latest, Next: copyright
  74.  
  75. Where do I send questions, corrections, etc. about this document?
  76.  
  77.    Comments on this document are welcome. Please send e-mail to 
  78.  debian-faq@lists.debian.org.
  79. 
  80. File: debian-faq.info Node: copyright, Up: Meta-Qestions, Previous: feedback, Next: sources
  81.  
  82. (How) Can I redistribute this file?
  83.  
  84.  This document is copyright 1996, 1997 by SPI (see section Software in the
  85.  Public Interest (14.3.1)).
  86.  
  87.  Permission is granted to make and distribute verbatim copies of this
  88.  document provided the copyright notice and this permission notice are
  89.  preserved on all copies.
  90.  
  91.  Permission is granted to copy and distribute modified versions of this
  92.  document under the conditions for verbatim copying, provided that the
  93.  entire resulting derived work is distributed under the terms of a
  94.  permission notice identical to this one.
  95.  
  96.  Permission is granted to copy and distribute translations of this document
  97.  into another language, under the above conditions for modified versions,
  98.  except that  this permission notice may be included in translations
  99.  approved by the Free Software Foundation instead of in the original
  100.  English.
  101. 
  102. File: debian-faq.info Node: sources, Up: Meta-Qestions, Previous: copyright, Next: Defs
  103.  
  104. What information resources were used to obtain the questions and answers presented here?
  105.  
  106.  This FAQ previously was maintained by  J.H.M. Dassen  (
  107.  jdassen@wi.LeidenUniv.nl) and  Chuck Stickelman  (stick@richnet.net). 
  108.  
  109.  Parts of the information came from 
  110.  
  111.  
  112.  o  The Debian-1.1 release announcement. by Bruce Perens.
  113.  o  The Linux FAQ ( http://www.cl.cam.ac.uk/users/iwj10/linux-faq/ )  by  
  114.     IanJackson ( http://www.chiark.greenend.org.uk/~ijackson/ ) .
  115.  o  The Debian Mailing List Archives ( http://www.debian.org/support.html ) 
  116.     
  117.  o  The dpkg programmers' manual and the Debian policy manual (12.1)
  118.  o  The many developers, volunteers, and beta testers.
  119.  o  The flaky memories of its authors.
  120.  
  121.  The authors would like to thank all those who helped make this document
  122.  possible.
  123. 
  124. File: debian-faq.info Node: Defs, Up: Top, Previous: Meta-Qestions, Next: WhatIsDebian
  125.  
  126. Definitions and Overview 
  127.  
  128.  
  129.  
  130. * Menu:
  131.  
  132. * WhatIsDebian::                What is Debian GNU/Linux? 
  133. * linux::                       OK, now I know what Debian is...what is Linux!?
  134. * difference::                  What is the difference between Debian and other Linux distributions? 
  135. * GNU::                         How does the Debian project fit in or compare with the Free Software Foundation's GNU project? 
  136. * pronunciation::               How does one pronounce Debian and what does this word mean?  
  137. 
  138. File: debian-faq.info Node: WhatIsDebian, Up: Defs, Previous: Defs, Next: linux
  139.  
  140. What is Debian GNU/Linux? 
  141.  
  142.  Debian GNU/Linux is a particular distribution of the Linux operating
  143.  system, and numerous packages that run on it.   In principle, users could
  144.  obtain the Linux kernel via the Internet or  from elsewhere, and compile it
  145.  themselves.  They could then obtain source code for many  applications in
  146.  the same way, compile the programs, then install them into their systems. 
  147.  For complicated programs, this process can be not only time-consuming but
  148.  error-prone.  To avoid it, users often choose to obtain the operating
  149.  system and the application packages from one of the Linux distributors.  
  150.  What distinguishes the various Linux distributors are the software,
  151.  protocols, and practices they use for packaging, installing, and tracking
  152.  applications packages on users' systems, combined with installation and
  153.  maintenance tools,  documentation, and other services.  
  154.  
  155.  Debian GNU/Linux is the result of a volunteer effort to create a free,
  156.  high-quality Unix-compatible operating system, complete with a suite of
  157.  applications.  The idea of a free Unix-like system  originates from the GNU
  158.  project, and many of the applications that make  Debian GNU/Linux so useful
  159.  were developed by the GNU project.
  160.  
  161.  Debian was created by Ian Murdock in 1993, initially under the sponsorship
  162.  of the Free Software Foundation's GNU project. Today, Debian's developers
  163.  think of it as a direct descendent of  the GNU project.
  164.  
  165.  Debian GNU/Linux is  
  166.  
  167.  
  168.  o  full featured:  Debian includes more than 900 software packages at
  169.     present.  Users can select which packages to install;  Debian provides a
  170.     tool for this purpose.  You can find a list and descriptions  of the
  171.     packages currently available in Debian  at any of the  Debian mirror
  172.     sites. 
  173.  o  free to use and redistribute:  There is no consortium  membership or
  174.     payment required to participate in its distribution and development. All
  175.     packages that are formally part of Debian GNU/Linux are free to
  176.     redistribute, usually under terms specified by the GNU General  Public
  177.     License. The Debian FTP archives also carry approximately 100 software 
  178.     packages (in the non-free and contrib directories at the FTP archives),
  179.     which are distributable under specific terms included with  each
  180.     package. 
  181.  o  dynamic:  With about 160 volunteers constantly  contributing new and
  182.     improved code, Debian is evolving rapidly. New releases are planed to be
  183.     made about every three months, and the FTP archives are updated daily.
  184.  
  185.  Though Debian itself is free software, it is a base upon which value-added 
  186.  Linux distributions can be built. By providing a reliable, full-featured 
  187.  base system, Debian provides Linux users with increased compatibility,  and
  188.  allows Linux distribution creators to eliminate duplication-of-effort  and
  189.  focus on the things that make their distribution special.
  190. 
  191. File: debian-faq.info Node: linux, Up: Defs, Previous: WhatIsDebian, Next: difference
  192.  
  193. OK, now I know what Debian is...what is Linux!?
  194.  
  195.  In short, Linux is the kernel of a Unix-like operating system.  It was
  196.  originally designed for 386/486/Pentium PCs; now, ports to other systems, 
  197.  including multi-processor systems, are under development. Linux is written 
  198.  by Linus Torvalds and many computer scientists around the world.  
  199.  
  200.  Besides its kernel, a Linux system usually has: 
  201.  
  202.  
  203.  o  a file system that follows the Linux Filesystem Hierarchy Standard   ( 
  204.     http://www.pathname.com/fhs/ ) .
  205.  o  a wide range of Unix utilities, many of which have been developed by the
  206.     GNU project and the Free Software Foundation.
  207.  
  208.  The combination of the Linux kernel, the filesystem, the GNU and FSF 
  209.  utilities, and the other utilities are designed to achieve compliance with
  210.  the POSIX (IEEE 1003.1) standard; see source code compatibility (4.2).
  211.  
  212.  For more information about Linux, see Michael K. Johnson's INFO-SHEET ( 
  213.  ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/INFO-SHEET )  and META-FAQ ( 
  214.  ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/META-FAQ ) .
  215. 
  216. File: debian-faq.info Node: difference, Up: Defs, Previous: linux, Next: GNU
  217.  
  218. What is the difference between Debian and other Linux distributions? 
  219.  
  220.  Three key features distinguish Debian from other Linux distributions:
  221.  
  222.  The Debian package maintenance system:
  223.     The entire system, or any individual component of it, can be upgraded in
  224.      place without reformatting, without losing custom configuration files,
  225.     and  (in most cases) without rebooting the system.  Most Linux
  226.     distributions available today have some kind of package maintenance
  227.     system; the  Debian package maintenance system (6) is unique and
  228.     particularly robust.  
  229.  Open development:
  230.     Whereas other Linux distributions are developed by individuals, small,
  231.     closed groups, or commercial vendors, Debian is the only Linux
  232.     distribution that is being developed cooperatively by many individuals 
  233.     through the Internet, in the same spirit as Linux and other free
  234.     software.   More than 120 volunteer package maintainers are working on
  235.     over 700 packages  and improving Debian GNU/Linux.  The Debian
  236.     developers  contribute to the project not by writing new applications
  237.     (in most cases), but by packaging existing software according to the
  238.     standards of the project,  by communicating bug reports to upstream
  239.     developers, and by providing user support.  See also additional
  240.     information on  how to become a contributor (14.1).
  241.  The Bug Tracking System:
  242.     The geographical dispersion of the Debian developers required
  243.     sophisticated  tools and quick communication of bugs and bug-fixes to
  244.     accelerate the  development of the system.   Users are encouraged to
  245.     send bugs in a formal style, which are quickly  accessible by WWW
  246.     archives or via e-mail. See additional information in this FAQ on the
  247.     management of the  Bug Log (13).
  248.  
  249. 
  250. File: debian-faq.info Node: GNU, Up: Defs, Previous: difference, Next: pronunciation
  251.  
  252. How does the Debian project fit in or compare with the Free Software Foundation's GNU project? 
  253.  
  254.  The Debian system builds on the ideals of free software first championed by
  255.  the Free Software Foundation  ( http://www.gnu.ai.mit.edu/ )  and in
  256.  particular by Richard Stallman.  FSF's powerful system development tools,
  257.  utilities, and applications are also a key part of the Debian system.
  258.  
  259.  The Debian Project is a separate entity from the FSF, however we
  260.  communicate regularly and cooperate on various projects. The FSF explicitly
  261.  requested that we call our system "Debian GNU/Linux", and we are happy to
  262.  comply with that request.
  263.  
  264.  The FSF's long-standing objective is to develop a new operating system
  265.  called GNU based on HURD ( ( 
  266.  http://www.gnu.ai.mit.edu/software/hurd/hurd.html ) ),
  267. 
  268. File: debian-faq.info Node: pronunciation, Up: Defs, Previous: GNU, Next: Hardware
  269.  
  270. How does one pronounce Debian and what does this word mean?  
  271.  
  272.  The project name is pronounced Deb'-ian, with a short e, and emphasis on 
  273.  the first syllable.  This word is a contraction of the names of Debra and
  274.  Ian Murdock, who founded the project.  (Dictionaries seem to offer some
  275.  ambiguity in the pronunciation of Ian (!), but Ian prefers ee'-an.)
  276. 
  277. File: debian-faq.info Node: Hardware, Up: Top, Previous: Defs, Next: architectures
  278.  
  279. Hardware Requirements 
  280.  
  281.  
  282.  
  283. * Menu:
  284.  
  285. * architectures::               On what architectures/systems does Debian GNU/Linux run?  
  286. * boot disks::                  What hardware is assumed by the stock Debian GNU/Linux boot disks?  
  287. * disk space::                  What amount of disk space is recommended?  
  288. * partitioning::                How should I partition my drive?  
  289. * large disks::                 Are very large disks supported?  
  290. * PCMCIA::                      (How) Does Debian provide PCMCIA support?  
  291. 
  292. File: debian-faq.info Node: architectures, Up: Hardware, Previous: Hardware, Next: boot disks
  293.  
  294. On what architectures/systems does Debian GNU/Linux run?  
  295.  
  296.    Debian GNU/Linux includes complete source-code for all of the included
  297.  programs, so it should work on all systems which are supported by the Linux
  298.  Kernel; see the  Linux FAQ ( http://www.cl.cam.ac.uk/users/iwj10/linux-faq/
  299.   )  for details.
  300.  
  301.  The current Debian GNU/Linux release contains a complete, binary
  302.  distribution for the i386 architecture; this covers PCs based on
  303.  Intel-compatible processors, including Intel's80386, 80486, Pentium, and
  304.  Pentium Pro, and compatible processors by AMD, Cyrix and others.
  305.  
  306.  The development of binary distributions of Debian 1.3 for the m68k
  307.  architecture (Motorola 680x0 processors for x>=2; with MMU) is currently
  308.  underway, and ports to Alpha, SPARC, and MIPS processors are expected to
  309.  follow.
  310. 
  311. File: debian-faq.info Node: boot disks, Up: Hardware, Previous: architectures, Next: disk space
  312.  
  313. What hardware is assumed by the stock Debian GNU/Linux boot disks?  
  314.  
  315.  The configuration file used to build Debian GNU/Linux'   standard
  316.  distribution kernel assumes an 80386 CPU,  and includes support for PCMCIA
  317.  cards  SCSI cards for which there  exist Linux drivers. Support for network
  318.  interface card is provided by loadable modules, so there is no need to
  319.  compile these drivers into the kernel.
  320. 
  321. File: debian-faq.info Node: disk space, Up: Hardware, Previous: boot disks, Next: 3.3.1
  322.  
  323. What amount of disk space is recommended?  
  324.  
  325.  A generous installation, sufficient to accommodate a few users, X Window
  326.  System software, and several large applications, might require disk
  327.  partitions at least as large as: 
  328.  
  329.  
  330.  o  50 MBytes for the root directory (/)
  331.  o  500 MBytes for /usr
  332.  o  50 MBytes for swap space 
  333.  o  50 MBytes for each home directories
  334.  o  100 MBytes for /tmp
  335.  o  100 MBytes for /var
  336.  
  337.  The optimum disk space allocated for swap depends critically on the way the
  338.  system will be used.  Many people just choose to set aside twice as much
  339.  disk space as they have RAM space.  Systems with large RAM may not need so
  340.  much swap space, especially if there are only a few users. The installation
  341.  process supports systems with no swap space.
  342.  
  343. * Menu:
  344.  
  345. * 3.3.1::                       But how much RAM and disk space are absolutely essential?
  346. 
  347. File: debian-faq.info Node: 3.3.1, Up: disk space, Previous: disk space, Next: partitioning
  348.  
  349. But how much RAM and disk space are absolutely essential?
  350.  
  351.  These minimal requirements are sufficient for a system without X11 and only
  352.  1 or 2 users: 
  353.  
  354.  
  355.  o  15 MBytes of disk space for the base system;  this provides a
  356.     minimally-functioning Unix system, but includes  no application programs
  357.     and no network support.
  358.  o  100 MBytes of disk space for a standard system running applications  on
  359.     the console (i.e., without an X11 interface).
  360.  o  150 MBytes of disk space for a standard system running  applications
  361.     with the X Window System.
  362.  o  300 MBytes and more for all the optional programs (You probably  do not
  363.     need all of these programs.)
  364.  
  365.  Debian Linux can be installed on systems with only 4 MBytes of RAM. The
  366.  latest installation disks are especially organized to provide an easy
  367.  installation path for machines with small memories.   Some users report
  368.  success at using Debian Linux to convert PCs  having limited RAM (and disk
  369.  space) into X terminals.  An 80386-based system with only 4 MBytes of RAM
  370.  and 40 MBytes disk space has been used to run Debian Linux in this way;
  371.  i.e., both  networking and basic X11 server functions operated
  372.  satisfactorily. This mode of operation even works if 1 MByte of the RAM is
  373.  used as a ramdisk when the machine is booted, implying that only 3 Mbytes
  374.  of RAM is absolutely essential for using Debian Linux on a PC in order to
  375.  use it as an X server.  This mode of operation requires a swap partition;
  376.  without it, the system will not even go into multi-user mode.
  377. 
  378. File: debian-faq.info Node: partitioning, Up: Hardware, Previous: disk space, Next: large disks
  379.  
  380. How should I partition my drive?  
  381.  
  382.  Partitioning a drive has the disadvantage that drive space can be used much
  383.  less flexibly than an unpartitioned drive.  Most users find, however, that
  384.  this disadvantage is more than offset by the  fact that damage to a
  385.  filesystem on a partitioned disk is usually limited to a single partition.
  386.  Furthermore, backups of a partitioned hard disk  can be more easily managed
  387.  because the files that change most  frequently are likely to be localized
  388.  to a single partition.
  389.  
  390.  A user with a 1.6 GByte drive has concluded after a survey of Debian users
  391.  that it is reasonable to design a partitioning scheme that closely follows
  392.  the Filesystem Hierarchy Standard ( http://www.pathname.com/fhs/ ) . For
  393.  his 1.6 GByte disk, he chose these partitions:  
  394.  
  395.  
  396.  o  30 MBytes for the root directory (/)
  397.  o  450 MBytes for /usr
  398.  o  50 MBytes for swap space
  399.  o  1000 MBytes for home directories (some of this could be used for 
  400.     /usr/local/)
  401.  o  0 MBytes for /tmp; make /tmp  a symbolic link to /var/tmp
  402.  o  40 MBytes for /var
  403.  
  404.  It is possible to use a swap file instead of a swap partition. However this
  405.  usually is a bad solution, so we suggest to use a swap partition.
  406. 
  407. File: debian-faq.info Node: large disks, Up: Hardware, Previous: partitioning, Next: PCMCIA
  408.  
  409. Are very large disks supported?  
  410.  
  411.  There is an upper limit on the size of the disk partition that is used for
  412.  booting.  This limit applies to all operating systems, not just Linux.
  413.  Basically, the BIOSs typically available  on PCs cannot access disk
  414.  partitions larger than 1024 cylinders or tracks. Thus, any operating system
  415.  used on a PC cannot be booted from  a disk partition larger than 1 GByte. 
  416.  It is worth emphasizing that this restriction only applies to the partition
  417.  from which Linux is booted. Other partitions can be larger.  One solution
  418.  to this limitation is to place the directory /boot/ (and usually the whole
  419.  root partition)  in its own (very small) partition, entirely within the
  420.  first 1024 blocks of the disk.
  421.  
  422.  Support for large non-bootable partitions varies with the driver.  
  423.  Detailed information is provided in the  Large-Disk mini-HOWTO.
  424.  
  425.  The Linux kernel includes the Multi-Device disk driver ('md'), which
  426.  provides plain concatenation of drives (called linear mode) or striping
  427.  support (also known as RAID 0) in software.
  428. 
  429. File: debian-faq.info Node: PCMCIA, Up: Hardware, Previous: large disks, Next: Compatibility
  430.  
  431. (How) Does Debian provide PCMCIA support?  
  432.  
  433.  Utilities that provide PCMCIA card services have been developed by David
  434.  Hinds.  These utilities are provided in Debian by the package 
  435.  pcmcia-cs-KKK_VVV-RRR.deb, where the components 'VVV' and 'RRR' follow the
  436.  usual conventions on Debian package names (6.3), and the component 'KKK'
  437.  refers to the kernel version for which the pcmcia-cs package was built.
  438.  
  439.  The pcmcia-modules-KKK package must be rebuilt for systems not using the
  440.  default Debian kernel.  The pcmcia-source_VVV-RRR.deb package is provided
  441.  for users who need to recompile the PCMCIA modules or utilities.  It
  442.  unpacks the source files for the PCMCIA utilities into the 
  443.  /usr/src/modules/pcmcia-cs/ directory.  See the 
  444.  /usr/src/modules/pcmcia-cs/README.gz file; it contains instructions for
  445.  rebuilding the PCMCIA packages.
  446.  
  447.  PCMCIA cards that include IDE drives have to be supported by the kernel.
  448.  The version of the kernel distributed with the Debian installation disks
  449.  includes support for such  PCMCIA cards.  That is,  its .config file
  450.  includes the line: CONFIG_BLK_DEV_IDE_PCMCIA=y. 
  451. 
  452. File: debian-faq.info Node: Compatibility, Up: Top, Previous: Hardware, Next: other distribs
  453.  
  454. Compatibility issues 
  455.  
  456.  
  457.  
  458. * Menu:
  459.  
  460. * other distribs::              How compatible is Debian with other distributions of Linux?  
  461. * other Unices::                How source code compatible is Debian with other Unix systems?  
  462. * other packages::              Can I use Debian packages (.deb files) on my RedHat/Slackware/... Linux system? Can I use RedHat packages (.rpm files) on my Debian GNU/Linux system?  
  463. * a.out::                       Is Debian able to run my old a.out programs?  
  464. * 4.5::                         Can Debian be used to compile a.out programs? 
  465. * non-Debian programs::         How should I install a non-Debian package?  
  466. * termcap::                     Why can't I compile programs that require libtermcap?  
  467. * AccelX::                      Why can't I install AccelX?  
  468. * 4.9::                         Why do I get Can't find libX11.so.6 errors when I try to run foo?
  469. * 4.10::                        Can I install and compile a kernel without some Debian-specific tweaking?
  470. 
  471. File: debian-faq.info Node: other distribs, Up: Compatibility, Previous: Compatibility, Next: other Unices
  472.  
  473. How compatible is Debian with other distributions of Linux?  
  474.  
  475.  Debian developers communicate with other Linux distribution creators  in an
  476.  effort to maintain binary compatibility across Linux distributions.  Most
  477.  commercial Linux products run as well under Debian as they do on the system
  478.  upon which they were built. 
  479.  
  480.  Debian GNU/Linux adheres strictly to the  Linux File System Structure ( 
  481.  http://www.pathname.com/fhs/ )  (now known as the FHS).   However, there is
  482.  room for interpretation in some of the rules within this standard, so there
  483.  may be differences between a  Debian system and other Linux systems.
  484. 
  485. File: debian-faq.info Node: other Unices, Up: Compatibility, Previous: other distribs, Next: other packages
  486.  
  487. How source code compatible is Debian with other Unix systems?  
  488.  
  489.  For most applications Linux source code is compatible with other  Unix
  490.  systems. It supports almost everything that is available in System V Unix
  491.  systems and the free and commercial BSD- derived systems. However in the
  492.  Unix business such claim has nearly no value because there is no way to
  493.  prove it. In the software development area complete compatibility is
  494.  required instead of compatibility in about most cases. So years ago the
  495.  need for standards arose, and nowadays POSIX.1 (IEEE Standard 1003.1-1990)
  496.  is one of the major standards for source code compatibility in Unix-like
  497.  operating systems.
  498.  
  499.  Linux is intended to adhere to POSIX.1, but the POSIX standards cost real
  500.  money and the POSIX.1 (and FIPS 151-2) certification is quite expensive;
  501.  this made it more difficult for the Linux developers to work on complete
  502.  POSIX conformance. The certification costs make it unlikely that Debian
  503.  will get an official conformance certification even if it completely passed
  504.  the validation suite. (The validation suite is now freely available, so it
  505.  is expected that more people will work on POSIX.1 issues.)
  506.  
  507.  Unifix GmbH (Braunschweig, Germany) developed a Linux system that has been
  508.  certified to conform to FIPS 151-2 (a superset of POSIX.1). This technology
  509.  is available in Unifix' own distribution called Unifix Linux 2.0 and in
  510.  Lasermoon's Linux-FT ( http://www.lasermoon.co.uk/linux-ft/linux-ft.html ) 
  511.  . Currently Unifix merges its patches into the Linux kernel, gcc and other
  512.  tools; so it is expected that their fixes towards POSIX.1 conformance will
  513.  be available in Debian (and other distributions).
  514. 
  515. File: debian-faq.info Node: other packages, Up: Compatibility, Previous: other Unices, Next: a.out
  516.  
  517. Can I use Debian packages (.deb files) on my RedHat/Slackware/... Linux system? Can I use RedHat packages (.rpm files) on my Debian GNU/Linux system?  
  518.  
  519.  Different Linux distributions use different package formats and different
  520.  package management programs.  
  521.  
  522.  You probably can:
  523.     A program to unpack a Debian package  onto a Linux host that is been
  524.     built from a `foreign' distribution is available, and will generally
  525.     work, in the sense that files will be unpacked.  The converse is
  526.     probably also true, that is, a program to unpack a RedHat or Slackware
  527.     package on a host that is based on Debian Linux will probably succeed in
  528.     unpacking the package and placing most files in their intended
  529.     directories.  This is largely a consequence of the existence (and broad
  530.     adherence to) the Linux File System Standard.
  531.  You probably do not want to:
  532.     Most package managers write  administrative files when they are used to
  533.     unpack an archive.  These administrative files are generally not
  534.     standardized.  Therefore, the effect of unpacking a Debian package on a
  535.     `foreign' host will have unpredictable (certainly not useful) effects 
  536.     on the package manager on that system.  Likewise, utilities from other 
  537.     distributions might succeed in unpacking their archives on Debian
  538.     systems, but will probably cause the Debian package management system to
  539.     fail when the time comes to upgrade or remove some packages, or even
  540.     simply to report exactly what packages are present on a system.
  541.  A better way:
  542.     The Linux File System Standard (and therefore  Debian GNU/Linux)
  543.     requires that subdirectories under /usr/local/ be  entirely under the
  544.     user's discretion.  Therefore, users can unpack  `foreign' packages into
  545.     this directory, and then manage their configuration,  upgrade and
  546.     removal individually.
  547.  
  548. 
  549. File: debian-faq.info Node: a.out, Up: Compatibility, Previous: other packages, Next: 4.5
  550.  
  551. Is Debian able to run my old a.out programs?  
  552.  
  553.  To execute a program whose binary is in a.out (i.e., QMAGIC or ZMAGIC)
  554.  format,  
  555.  
  556.  
  557.  o  Make sure your kernel has a.out support built into it, either directly
  558.     (CONFIG_BINFMT_AOUT=y) or as a  module (CONFIG_BINFMT_AOUT=m). 
  559.     (Debian's kernel-image package contains  the module binfmt_aout.)   
  560.  
  561.     If your kernel supports a.out binaries by a module, then be sure that
  562.     the binfmt_aout module is loaded.  You can do this at boot time by
  563.     entering the line binfmt_aout into the file /etc/modules.  You can do it
  564.     from the command line by  executing the command insmod
  565.     DIRNAME/binfmt_aout.o where  DIRNAME is the name of the directory where
  566.     the modules that have been built for the version of the kernel now
  567.     running are stored. On a system with the 2.0.27 version of the kernel,  
  568.     DIRNAME is likely to be /lib/modules/2.0.27/fs/.
  569.  o  install the package libc4. 
  570.  o  If the program you want to execute is an a.out X client, then install
  571.     the xcompat package.
  572.  
  573.  If you have a commercial application in a.out format, now would  be a good
  574.  time to ask them to send you an ELF upgrade.
  575. 
  576. File: debian-faq.info Node: 4.5, Up: Compatibility, Previous: a.out, Next: non-Debian programs
  577.  
  578. Can Debian be used to compile a.out programs? 
  579.  
  580.  To compile programs in the a.out binary format, 
  581.  
  582.  
  583.  o  install the Debian a.out developer's packages, which are 
  584.  
  585.     
  586.     -- libc4-dev
  587.     -- aout-binutils
  588.     -- aout-librl
  589.     -- aout-gcc
  590.  o  place the a.out tools ahead of the ELF tools in your path.  That is,
  591.     execute the command export PATH=/usr/i486-linuxaout/bin:$PATH (This is
  592.     not essential, just advantageous.) If you are only going to do this
  593.     once, you could execute: PATH=/usr/i486-linuxaout/bin:$PATH make
  594.     [target]. 
  595. 
  596. File: debian-faq.info Node: non-Debian programs, Up: Compatibility, Previous: 4.5, Next: termcap
  597.  
  598. How should I install a non-Debian package?  
  599.  
  600.  Files under the directory /usr/local/ are not under the control of the
  601.  Debian package management system.  Therefore, it is good practice  to place
  602.  the source code for your program in /usr/local/src/.  For example, you
  603.  might extract the files for a package named foo.tar into the directory 
  604.  /usr/local/src/foo.  After you compile them, place the binaries in 
  605.  /usr/local/bin/, the libraries in /usr/local/lib/, and the configuration
  606.  files in /usr/local/etc/.  
  607.  
  608.  If your programs and/or files really must be placed in some other
  609.  directory, you could still store them in /usr/local/, and build the
  610.  appropriate symbolic links from the required location  to its location in 
  611.  /usr/local/, e.g., you could make the link 
  612.  
  613.  ln -s /usr/local/bin/foo /usr/bin/foo
  614.  
  615.  In any case, if you obtain a package whose copyright allows redistribution,
  616.  you should consider making a Debian package of it, and uploading it for the
  617.  Debian system.  Guidelines for becoming a package developer are included in
  618.  the  Debian policy manual (12.1).
  619. 
  620. File: debian-faq.info Node: termcap, Up: Compatibility, Previous: non-Debian programs, Next: AccelX
  621.  
  622. Why can't I compile programs that require libtermcap?  
  623.  
  624.  Debian uses the terminfo database and the ncurses library of terminal
  625.  interface routes, rather than the termcap database and the termcap library.
  626.   Users who are compiling programs that require some knowledge of the
  627.  terminal interface should replace references to libtermcap with references
  628.  to libncurses.
  629.  
  630.  To support binaries that have already been linked with the termcap library,
  631.  and for which you do not have the source, Debian provides a package called 
  632.  termcap-compat.  This provides both libtermcap.so.2 and /etc/termcap. 
  633.  Install this package if the program fails to run with the error message 
  634.  can't load library 'libtermcap.so.2', or complains about a missing 
  635.  /etc/termcap file.
  636. 
  637. File: debian-faq.info Node: AccelX, Up: Compatibility, Previous: termcap, Next: 4.9
  638.  
  639. Why can't I install AccelX?  
  640.  
  641.  AccelX uses the termcap library for installation. See about termcap (4.7)
  642.  above.
  643. 
  644. File: debian-faq.info Node: 4.9, Up: Compatibility, Previous: AccelX, Next: 4.10
  645.  
  646. Why do I get Can't find libX11.so.6 errors when I try to run foo?
  647.  
  648.  This error message could mean that the program is in a.out format. In this
  649.  case you need to install the xcompat package.
  650. 
  651. File: debian-faq.info Node: 4.10, Up: Compatibility, Previous: 4.9, Next: Software
  652.  
  653. Can I install and compile a kernel without some Debian-specific tweaking?
  654.  
  655.  Yes.  But you have to understand the Debian policy with respect to headers.
  656.  
  657.  
  658.  The Debian C libraries are built with the most recent stable  releases of
  659.  the gcc headers.  For example, the Debian-1.2 release used version 5.4.13
  660.  of the headers.  This practice contrasts with the Linux  kernel source
  661.  packages distributed at all Linux FTP archive sites,  which uses even more
  662.  recent versions of the headers.  The kernel headers  distributed with the
  663.  kernel source are located in  /usr/include/linux/include/.
  664.  
  665.  If you need to compile a program with kernel headers that are newer than
  666.  those provided by libc5-dev, then you must add  -I/usr/src/linux/include/
  667.  to your command line when compiling. This came up at one point, for
  668.  example, with the packaging of the  automounter daemon (amd).  When new
  669.  kernels changed some  internals dealing with NFS, amd needed to know about
  670.  them.  This required the inclusion of the latest kernel headers.
  671. 
  672. File: debian-faq.info Node: Software, Up: Top, Previous: Compatibility, Next: 5.1
  673.  
  674. Software available in the Debian system 
  675.  
  676.   
  677.  
  678. * Menu:
  679.  
  680. * 5.1::                         What types of applications and development software are available for Debian GNU/Linux?
  681. * 5.2::                         Who wrote all that software?
  682. * 5.3::                         How can I get a current list of programs that have been packaged for the Debian project?
  683. * 5.4::                         What is missing from Debian GNU/Linux?
  684. * 5.5::                         (How) Does Debian support Java?
  685. * dirtree::                     What are all those directories (stable/development/non-free/contrib/project) at the Debian FTP archives?
  686. * 5.7::                         Is source code included with the system?
  687. * 5.8::                         How can I check that I am using a Debian system? 
  688. * 5.9::                         How can I tell what version of the Debian system I am using?
  689. * nonEngl::                     How does Debian support non-English languages? 
  690. * 5.11::                        What about the US export regulation limitations?
  691. 
  692. File: debian-faq.info Node: 5.1, Up: Software, Previous: Software, Next: 5.2
  693.  
  694. What types of applications and development software are available for Debian GNU/Linux?
  695.  
  696.  Like most Linux distributions, Debian GNU/Linux provides: 
  697.  
  698.  
  699.  o  the major GNU applications for software development,  file manipulation,
  700.     and text processing, including gcc, libc,  g++, make, texinfo, gnuplot,
  701.     the Bash shell and numerous upgraded  Unix utilities,
  702.  o  Perl and its libraries,
  703.  o  TeX, LaTeX, and dvips,
  704.  o  the X Window System, which provides a networked graphical user 
  705.     interface for Linux, and numerous X applications,
  706.  o  a full suite of other networking applications, including WWW servers,
  707.     browsers, and development tools.
  708.  
  709.   Nearly 700 packages, ranging from news servers and readers to sound
  710.  support, FAX programs, database and spreadsheet programs, image processing
  711.  programs, communications, net, and mail utilities, Web servers, and  even
  712.  ham-radio programs are included in the distribution. Another 50 software
  713.  suites are available as Debian packages, but are not formally part of
  714.  Debian due to license restrictions.
  715. 
  716. File: debian-faq.info Node: 5.2, Up: Software, Previous: 5.1, Next: 5.3
  717.  
  718. Who wrote all that software?
  719.  
  720.  
  721.  o  For each package the authors of this program are credited in the file 
  722.     /usr/doc/PACKAGE/copyright, where PACKAGE is to be substituted with the
  723.     package's name. (Packages conforming to an older Debian Packaging
  724.     Standard have this in the file /usr/doc/copyright/PACKAGE instead.)
  725.  o  Maintainers who package this software for the Debian Linux system are
  726.     listed in the Debian control file (6.4) that comes  with each package.
  727. 
  728. File: debian-faq.info Node: 5.3, Up: Software, Previous: 5.2, Next: 5.4
  729.  
  730. How can I get a current list of programs that have been packaged for the Debian project?
  731.  
  732.  A complete list is available from any of the  Debian mirrors.
  733.  
  734.  The file indices/Packages-Master-i386.gz provides a list, including short
  735.  descriptions, of all packages that are available for computers with 80386
  736.  (or more advanced) chips. The file indices/Packages-Master-m68k.gz provides
  737.  a similar list of packages that are available for computers with Motorola
  738.  68k0x0 CPUs.
  739.  
  740.  The WWW interface to the Debian packages conveniently summarizes the
  741.  packages in each of about twenty sections of the Debian archive, as well as
  742.  the 10 most recently uploaded packages.
  743. 
  744. File: debian-faq.info Node: 5.4, Up: Software, Previous: 5.3, Next: 5.5
  745.  
  746. What is missing from Debian GNU/Linux?
  747.  
  748.  A list of packages which are most urgently needed for Debian is maintained
  749.  by Sven Rudolph.  For more details, see the section on contributing to the
  750.  Debian project (14.1).
  751. 
  752. File: debian-faq.info Node: 5.5, Up: Software, Previous: 5.4, Next: dirtree
  753.  
  754. (How) Does Debian support Java?
  755.  
  756.  The Java Development Kit from Sun is currently available as a Debian
  757.  package (jdk_VVV-RRR.deb).  The JDK will allow you to run  Java programs
  758.  and applets, and write your own.  If your kernel is  properly configured
  759.  (see below), the JDK will allow you to  run Java programs just like other 
  760.  executables.  The JDK package also includes a number of demo programs.
  761.  
  762.  Debian's kernel is configured with Java support built in as a module (i.e.,
  763.  CONFIG_BINFMT_JAVA=m).  Users who wish to build their own  custom kernel (
  764.  10.1) can of course omit this if  they choose.  Once module support is
  765.  available in the kernel, you need to make sure the module is loaded.  You
  766.  can do it at boot time by inserting the line binfmt_java in the file  
  767.  /etc/modules. Alternatively, you can install the module from the command
  768.  line by executing the command insmod DIRNAME/binfmt_java.o where  DIRNAME
  769.  is the name of the directory where the modules that have been built for the
  770.  version of the kernel now running are stored. On a system with the 2.0.0
  771.  version of the kernel,  DIRNAME is likely to be /lib/modules/2.0.0/fs/. You
  772.  can check that a module is loaded using the command lsmod.
  773.  
  774.  Running a Java applet requires a browser with the capability to  recognize
  775.  and execute them.  The Netscape browser that can be installed  as a Debian
  776.  package will run Java applets.  (The Netscape source code  is not publicly
  777.  available.  The Debian netscape package provides  a wrapper which aids the
  778.  installation and management of Netscape on a Debian system.  This is
  779.  actually a good example of the integration of commercial packages with the
  780.  Debian system.)
  781.  
  782.  A final note of mixed blessings:   Sun's licensing policies on the JDK are
  783.  becoming more restricted with time, so this package may not be available as
  784.  part of Debian soon. It is possible that it may be available in the same
  785.  way that Netscape is available for Debian Linux.  Better news is that a
  786.  number of programs are  currently being developed with may provide
  787.  attractive publicly-available  alternatives.
  788. 
  789. File: debian-faq.info Node: dirtree, Up: Software, Previous: 5.5, Next: 5.6.1
  790.  
  791. What are all those directories (stable/development/non-free/contrib/project) at the Debian FTP archives?
  792.  
  793.  The software that has been packaged for Debian GNU/Linux is available in
  794.  one of several directory trees on each Debian mirror site.
  795.  
  796. * Menu:
  797.  
  798. * 5.6.1::                       Top-level Directories
  799. * 5.6.2::                       Sub-directories
  800. 
  801. File: debian-faq.info Node: 5.6.1, Up: dirtree, Previous: dirtree, Next: 5.6.2
  802.  
  803. Top-level Directories
  804.  
  805.  The Major Package Trees:
  806.     
  807.     o  Debian-1.3/: This directory contains the packages which formally
  808.        constitute the most recent release of the Debian Linux system.   The
  809.        contents of this directory do not change.   
  810.     o  Debian-1.3-updates/: Updates to the current release are in this
  811.        directory. 
  812.     o  Debian-1.3.x/, a.k.a. stable/: A copy of the current release with the
  813.        updates applied.  The minor number is changed whenever new updates
  814.        are added.  
  815.     o  non-free/:  This directory contains packages  whose distribution is
  816.        restricted in a way which requires that distributors take careful
  817.        account of the specified copyright requirements.   For example, some
  818.        packages have licenses which prohibit commercial distribution. 
  819.        Others can be redistributed but are in fact shareware  and not
  820.        freeware.  The licenses of each of these packages must be studied,
  821.        and possibly negotiated, before the packages are included in any
  822.        redistribution (e.g., in a CD-ROM).  
  823.     o  contrib/: This directory contains packages which  are freely
  824.        distributable, but do not meet the policy requirements for 
  825.        distribution by the Debian project for some reason, e.g., the
  826.        packages have some unusual restriction on modification by other
  827.        users, or are only available in binary form.  For such packages, the
  828.        project cannot given the user any means to assure that they are free
  829.        of Trojan horses, and  cannot port them to other architectures. 
  830.        Binary-only packages which are not freely redistributable are placed
  831.        in the non-free directory. 
  832.  Supplementary directories:
  833.     
  834.     o  tools/:  DOS utilities for creating boot disks, partitioning your
  835.        disk drive, compressing/decompressing files, and booting Linux. 
  836.     o  upgrades/: Files needed for upgrading a debian-0.93 system (based on 
  837.        a.out binary format files) to Debian-1.1 (or later,  based on ELF
  838.        binary files). Included are instructions for upgrading (either
  839.        manually using dpkg, or more automatically, using dselect), along
  840.        with a copy of the particular version of the package management 
  841.        tool, dpkg that must be used in a.out systems to  start the upgrade, 
  842.        and a list of files that will be needed in order to do the upgrade. 
  843.     o  doc/:  Documentation, instructions on how to submit  bug reports. 
  844.  Of particular interest to developers:
  845.     
  846.     o  development/:  A snapshot  of the current development system.  Users
  847.        are welcome to use and test these packages, but are  warned about
  848.        their state of readiness. 
  849.     o  project/experimental/: This directory contains packages and tools
  850.        which are being developed specifically for the Debian project, and
  851.        are still in the testing stage.  Users are welcome to use and test
  852.        these packages, but warned about their state of readiness.  
  853.     o  private/project/Incoming/:  Packages that have been uploaded by
  854.        developers, and which are awaiting placement in the directory
  855.        hierarchy by the distribution maintainer.   
  856.     o  indices/:  Various lists, including the  Packages-Master file. 
  857.  
  858. 
  859. File: debian-faq.info Node: 5.6.2, Up: dirtree, Previous: 5.6.1, Next: 5.7
  860.  
  861. Sub-directories
  862.  
  863.  Within each of the major directory trees (stable/, non-free/, contrib/, and
  864.  development/, but  not project/experimental/), which is too small to
  865.  subdivide),  the binary packages reside in sub-directories whose names
  866.  indicate the  chip architecture for which they were compiled:   
  867.  
  868.  
  869.  o  binary/, which is normally a link to binary-i386/. 
  870.  o  binary-all/, for packages which are architecture-independent.  These
  871.     include, for example, Perl scripts. 
  872.  o  binary-i386/, for packages which execute on 80x86 machines. 
  873.  o  binary-m68k/, for packages which execute on machines based on one  of
  874.     the Motorola 680x0 processors.  Currently this is done mainly for  Atari
  875.     and Amiga computers, and also for some VME based industry standard 
  876.     boards.  There is no port of Linux to the old m68k based Macintoshes,
  877.     because Apple did not supply the needed hardware information. 
  878.  o  binary-sparc/, for packages which execute on Sun Sparcstations. 
  879.  o  binary-alpha/, for packages which execute on DEC Alpha machines.
  880. 
  881. File: debian-faq.info Node: 5.7, Up: Software, Previous: dirtree, Next: 5.8
  882.  
  883. Is source code included with the system?
  884.  
  885.  Source code is included for everything in the Debian system.  Most of the
  886.  license terms of programs in the system require that  source code be
  887.  distributed along with the programs, or that an offer to provide the source
  888.  code accompany the programs.  
  889.  
  890.  Source code may or may not be available for packages in the  contrib and
  891.  non-free directories, which are not formally part of the Debian system.
  892. 
  893. File: debian-faq.info Node: 5.8, Up: Software, Previous: 5.7, Next: 5.9
  894.  
  895. How can I check that I am using a Debian system? 
  896.  
  897.  The existence of the program dpkg shows that you should be able to install
  898.  Debian packages on your system. 
  899.  
  900.  In order to make sure that your system has been installed from the real
  901.  Debian base disks check for the existence of /etc/debian_version.
  902. 
  903. File: debian-faq.info Node: 5.9, Up: Software, Previous: 5.8, Next: nonEngl
  904.  
  905. How can I tell what version of the Debian system I am using?
  906.  
  907.  There is a file, /etc/debian_version, which contains a single one-line
  908.  entry giving the version number of the release, as defined by the package 
  909.  base.
  910.  
  911.  Users should be aware, however, that the Debian system consists of many
  912.  parts, each of which can be updated (almost) independently. Each Debian
  913.  release contains well defined and unchanging contents.  Updates are
  914.  separately available.  For a one-line description of the installation
  915.  status of package foo, use the command dpkg --list foo.  (With no
  916.  arguments, this command prints out versions of all installed packages.) 
  917.  For a more verbose description, use dpkg --status foo.
  918. 
  919. File: debian-faq.info Node: nonEngl, Up: Software, Previous: 5.9, Next: 5.11
  920.  
  921. How does Debian support non-English languages? 
  922.  
  923.  
  924.  o  Debian GNU/Linux is distributed with keymaps for nearly two dozen 
  925.     keyboards, and with utilities (in the kbd package) to install, view, 
  926.     and modify the tables. The installation prompts the user to specify the
  927.     keyboard he will use. 
  928.  o  Support for French-, German-, Italian- and Spanish-language manual pages
  929.     is provided through the manpages-fr, manpages-de, manpages-it and 
  930.     manpages-es packages.  To access an NLS manual page, the user must set
  931.     LC_MESSAGES to the appropriate string.  In the case of the
  932.     German-language manual pages, LC_MESSAGES must be set to 'de_DE'.  The 
  933.     man program will then search for German manual pages under 
  934.     /usr/man/de_DE/.  
  935. 
  936. File: debian-faq.info Node: 5.11, Up: Software, Previous: nonEngl, Next: pms
  937.  
  938. What about the US export regulation limitations?
  939.  
  940.  US laws place restrictions on the export of defense articles, which
  941.  includes some types of cryptographic software. PGP and ssh fall into this
  942.  category.
  943.  
  944.  To prevent anyone from taking unnecessary legal risks, certain Debian
  945.  GNU/Linux packages are only available from a non-US site  ( 
  946.  ftp://os.inf.tu-dresden.de:/pub/debian-non-US/ ) , there is a list of
  947.  mirror sites  ( ftp://os.inf.tu-dresden.de/pub/debian-non-US/README.mirrors
  948.   )  
  949. 
  950. File: debian-faq.info Node: pms, Up: Top, Previous: Software, Next: package
  951.  
  952. Basics of the Debian Package Management System
  953.  
  954.  
  955.  
  956. * Menu:
  957.  
  958. * package::                     What is a Debian package?
  959. * deb-format::                  What is the format of a Debian binary package?
  960. * pkgname::                     Why are Debian package file names so long? 
  961. * CtlFile::                     What is a Debian control file?
  962. * conffile::                    What is a Debian conffile?
  963. * PrePost::                     What is a Debian preinst, postinst, prerm, and postrm script?  
  964. * 6.7::                         What is a Required/Important/Standard/Optional/Extra package?  
  965. * virtual::                     What is a Virtual Package?
  966. * depends::                     What is meant by saying that a file Depends/Recommends/Suggests/Conflicts/Replaces/Provides another package ?
  967. * 6.10::                        What is meant by Pre-Depends? 
  968. * 6.11::                        What is meant by unknown/install/remove/purge/hold in the package status?
  969. * 6.12::                        Where will I get detailed info on creating Debian packages?
  970. 
  971. File: debian-faq.info Node: package, Up: pms, Previous: pms, Next: deb-format
  972.  
  973. What is a Debian package?
  974.  
  975.  Packages generally contain all of the files necessary to implement a set of
  976.  related commands or features.  There are two types of Debian packages: 
  977.  
  978.  
  979.  o  Binary packages, which contain executables, configuration  files,
  980.     man/info pages, copyright information, and other documentation.   These
  981.     packages  are distributed in a Debian-specific  archive format (6.2);
  982.     they are usually distinguished  by having a '.deb' file extension.
  983.     Binary packages can be unpacked using the Debian utility dpkg; details
  984.     are given in its manual page. 
  985.  o  Source packages, which consist of a .dsc file describing the source
  986.     package (including the names of the following files), a .orig.tar.gz
  987.     file that contains the original unmodified source in gzip-compressed tar
  988.     format and usually a  .diff.gz file that contains the Debian-specific
  989.     changes to the  original source.  The utility dpkg-source packs and
  990.     unpacks Debian source archives; details are provided in its manual page.
  991.     
  992.  
  993.  Installation of software by the package system uses dependencies which are
  994.  carefully designed by the package maintainers.  These dependencies are
  995.  documented  in the control file associated with each package.  For example,
  996.  the package containing the GNU C compiler (gcc) depends on the package 
  997.  binutils which includes the linker and assembler.  If a user attempts to
  998.  install gcc without having first installed binutils, Debian's package
  999.  system will send an error message that it also needs binutils, and will
  1000.  install gcc only if the user agrees  to install binutils first.  (However,
  1001.  this facility can be  overridden by the insistent user.)  See more details
  1002.  on package dependencies (6.9) below.
  1003.  
  1004.  Debian's packaging tools can be used to: 
  1005.  
  1006.  
  1007.  o  manipulate and manage packages or parts of packages, 
  1008.  o  aid the user in the break-up of packages that must be transmitted 
  1009.     through a limited-size medium such as floppy disks,
  1010.  o  aid developers in the construction of package archives, and
  1011.  o  aid users in the installation of packages which reside on a remote FTP
  1012.     site.
  1013. 
  1014. File: debian-faq.info Node: deb-format, Up: pms, Previous: package, Next: pkgname
  1015.  
  1016. What is the format of a Debian binary package?
  1017.  
  1018.  A Debian package, or a Debian archive file, contains the  executable files,
  1019.  libraries, and documentation associated with a particular  suite of program
  1020.  or set of related programs.  Normally, a Debian archive  file has a
  1021.  filename that ends in .deb.
  1022.  
  1023.  The internals of this Debian binary packages format are described in the 
  1024.  deb(5) manual page. This internal format is subject to change, therefore
  1025.  always use dpkg-deb(8) for manipulating .deb files.
  1026. 
  1027. File: debian-faq.info Node: pkgname, Up: pms, Previous: deb-format, Next: CtlFile
  1028.  
  1029. Why are Debian package file names so long? 
  1030.  
  1031.  The Debian binary package file names conform to the following convention:
  1032.  foo_VersionNumber-DebianRevisionNumber.deb
  1033.  
  1034.  Note that foo is supposed to be the package name. As a check, one can learn
  1035.  the package name associated with a  particular Debian archive file (.deb
  1036.  file) in one of these ways: 
  1037.  
  1038.  
  1039.  o  inspect the Packages file in the directory where it was stored in a
  1040.     Debian FTP archive site.  This file contains a stanza describing each
  1041.     package; the first field in each stanza is the formal Package Name.
  1042.  o  use the command dpkg --info foo_VVV-RRR.deb.  This sends a message to
  1043.     STDOUT which gives, among other things, the Package Name corresponding
  1044.     to the archive file being unpacked.
  1045.  
  1046.  The VVV component is the version number specified by the  upstream
  1047.  developer.  There are no standards in place here, so the version  number
  1048.  may have formats as different as 960428 and 2.7.2.l.3.
  1049.  
  1050.  The RRR component is the Debian revision number, and is  specified by the
  1051.  Debian developer (or an individual user if he chooses to build the package
  1052.  himself).  This number corresponds to the revision level of the Debian
  1053.  package (which includes the Debian-specific Makefile, called  debian/rules,
  1054.  as well as the Debian control file, usually called debian/control).  Thus,
  1055.  a new revision level usually signifies changes in the Debian Makefile, the
  1056.  Debian control file, the installation  or removal scripts, or in the
  1057.  configuration files used with the package.
  1058. 
  1059. File: debian-faq.info Node: CtlFile, Up: pms, Previous: pkgname, Next: conffile
  1060.  
  1061. What is a Debian control file?
  1062.  
  1063.  Specifics regarding the contents of a Debian control file are provided in
  1064.  the dpkg programmer's manual ( 
  1065.  ftp://ftp.debian.org/debian/doc/package-developer/programmer.ps.gz ) . 
  1066.  Briefly, a sample control file is shown below for the Debian package hello:
  1067.  
  1068.  
  1069.  
  1070.      Package: hello
  1071.      Version: 1.3-13
  1072.      Architecture: i386
  1073.      Depends: libc5 (>= 5.2.18)
  1074.      Installed-Size: 31
  1075.      Maintainer: Ian Jackson <ian@chiark.greenend.org.uk>
  1076.      Description: The classic greeting, and a good example
  1077.       The GNU hello program produces a familiar, friendly greeting.  It
  1078.       allows nonprogrammers to use a classic computer science tool which
  1079.      
  1080.       would otherwise be unavailable to them.
  1081.       .
  1082.       Seriously, though: this is an example of how to do a Debian
  1083.      package.
  1084.       It is the Debian version of the GNU Project's `hello world'
  1085.      program
  1086.       (which is itself an example for the GNU Project).
  1087.  
  1088.  The Package field gives the package name.  This is the name by which the
  1089.  package can be manipulated by the package tools, and usually similar to but
  1090.  not necessarily the same as the first component string in the Debian
  1091.  archive file name.
  1092.  
  1093.  The version field gives both the upstream developer's  version number and
  1094.  (in the last component) the revision level of the Debian package of this
  1095.  program as explained in  (6.3). 
  1096.  
  1097.  The Architecture field specifies the chip for which this particular binary
  1098.  was compiled.
  1099.  
  1100.  The Depends field gives a list of packages that have to be installed in
  1101.  order to install this package successfully.
  1102.  
  1103.  The Installed-Size indicates how much disk space the installed package 
  1104.  will consume. This is intended to be used by installation front-ends in 
  1105.  order to show whether there is enough disk space available to install the 
  1106.  program .
  1107.  
  1108.  The Maintainer field gives the e-mail address of the person who is 
  1109.  currently responsible for maintaining this package.
  1110.  
  1111.  The Description field gives a brief summary of the package's features.
  1112. 
  1113. File: debian-faq.info Node: conffile, Up: pms, Previous: CtlFile, Next: PrePost
  1114.  
  1115. What is a Debian conffile?
  1116.  
  1117.  Conffiles are listings of configuration files, usually placed in  /etc,
  1118.  that the package management system will not overwrite when a package is
  1119.  upgraded. This ensures that local values for the contents of these files
  1120.  will be preserved, and is a critical feature enabling the in-place upgrade
  1121.  of packages on a running system.
  1122.  
  1123.  To determine exactly which files are preserved during an upgrade, run dpkg
  1124.  --status package.
  1125. 
  1126. File: debian-faq.info Node: PrePost, Up: pms, Previous: conffile, Next: 6.7
  1127.  
  1128. What is a Debian preinst, postinst, prerm, and postrm script?  
  1129.  
  1130.  These files are executable scripts which are automatically run before or
  1131.  after a package is installed. Along with a file named control, all of these
  1132.  files are part  of the control section of a Debian archive file.
  1133.  
  1134.  The individual files are: 
  1135.  
  1136.  preinst
  1137.     This script executes before that  package  will be unpacked from its
  1138.     Debian archive  (.deb) file. Many 'preinst' scripts stop services for
  1139.     packages which are being  upgraded until their installation or upgrade
  1140.     is completed  (following the successful execution of the 'postinst'
  1141.     script).
  1142.  postinst
  1143.     This script typically completes any required configuration of the
  1144.     package foo once foo has been unpacked  from its Debian archive (.deb)
  1145.     file.   Often, 'postinst' scripts ask the user for input, and/or warn
  1146.     the user that if he accepts default values, he should remember to go
  1147.     back and re-configure that package as the situation warrants.  Many
  1148.     'postinst' scripts then execute any commands  necessary to start or
  1149.     restart a service once a new package has been  installed or upgraded.  
  1150.     Itis a good idea to check the contents of the 'postinst' script for any
  1151.     configuration advice, when trying out a package for the first time.
  1152.  prerm
  1153.     This script typically stops any daemons which are associated with a
  1154.     package.  It is executed before the removal of files associated with the
  1155.     package.  
  1156.  postrm
  1157.     This script typically modifies links or other files associated with foo.
  1158.     (See notes on Virtual packages (6.8).)
  1159.  
  1160.  
  1161.  Currently all of the control files can be found in /var/lib/dpkg/info. The
  1162.  files relevant to package foo begin with the name  foo and have file
  1163.  extensions of preinst,  postinst, etc., as appropriate.  The file foo.list
  1164.  in that directory lists all of the files that were installed with the
  1165.  package foo. (Note that the location of these files is a dpkg internal; you
  1166.  should not  rely on it.)
  1167. 
  1168. File: debian-faq.info Node: 6.7, Up: pms, Previous: PrePost, Next: virtual
  1169.  
  1170. What is a Required/Important/Standard/Optional/Extra package?  
  1171.  
  1172.  Each Debian package is assigned a priority by the distribution maintainers,
  1173.  as an aid to the package management system.  The priorities  are:
  1174.  
  1175.  
  1176.  o  Required packages are necessary for the proper  functioning of the
  1177.     system.  This inludes all tools that are necessary to repair system
  1178.     defects. You must not remove these packages or your system may become
  1179.     totally broken and you may probably not even be able to use dpkg to put
  1180.     things back.  Systems with only the Required packages are probably
  1181.     unusable, but they do have enough functionality to allow the sysadmin to
  1182.     boot and install more software. 
  1183.  o  Important packages should be found on any Unix-like system.   Other
  1184.     packages which the system will not run well or be usable without  will
  1185.     be here.   This does NOT include Emacs or X11 or TeX or any other large 
  1186.     applications.  These packages only constitute the bare infrastructure. 
  1187.  o  Standard packages are standard on any Linux system, including a
  1188.     reasonably small but not too limited character-mode system.   This is
  1189.     what will install by default if users do not select anything else.   It
  1190.     does not include many large applications, but it does include Emacs 
  1191.     (this is more of a piece of infrastructure than an application) and  a
  1192.     reasonable subset of TeX and LaTeX (if this turns out to be possible 
  1193.     without X). 
  1194.  o  Optional packages include all those that you might reasonably  want to
  1195.     install if you did not know what it was or do not have specialized 
  1196.     requirements.  This includes X11, a full TeX distribution, and lots of
  1197.     applications.
  1198.  o  Extra packages conflict with others with higher priorities, or are only
  1199.     likely to be useful if you already know what they are or have
  1200.     specialized requirements.
  1201. 
  1202. File: debian-faq.info Node: virtual, Up: pms, Previous: 6.7, Next: depends
  1203.  
  1204. What is a Virtual Package?
  1205.  
  1206.  A virtual package is a generic name that applies to any one of a group of
  1207.  packages, all of which provide similar basic functionality. For example,
  1208.  both the tin and trn programs are both news readers, and should therefore
  1209.  satisfy any dependency of a program that required a news reader on a system
  1210.  in order to work or to be useful. They are therefore both said to provide
  1211.  the virtual package called news-reader.
  1212.  
  1213.  Similarly, smail and sendmail both provide the functionality of a mail
  1214.  transport agent.  They are therefore said to provide the virtual package,
  1215.  mail transport agent. If either one is installed, then any program
  1216.  depending on the  installation of a mail-transport-agent will be satisfied
  1217.  by  the existence of this virtual package.
  1218.  
  1219.  Debian provides a mechanism so that, if more than one package which 
  1220.  provide the same virtual package is installed on a system,  then system
  1221.  administrators can set one as the preferred package. The relevant command
  1222.  is update-alternatives, and is described further in the section on 
  1223.  diversions (11.8). 
  1224. 
  1225. File: debian-faq.info Node: depends, Up: pms, Previous: virtual, Next: 6.10
  1226.  
  1227. What is meant by saying that a file Depends/Recommends/Suggests/Conflicts/Replaces/Provides another package ?
  1228.  
  1229.  The Debian package system has a range of package dependencies which are
  1230.  designed to indicate (in a single flag) the level at which  Program A can
  1231.  operate independently of the existence of Program B on  a given system: 
  1232.  
  1233.  
  1234.  o  Package A depends on Package B if B absolutely must  be installed in
  1235.     order to run A.  In some cases, A depends not only  on B, but on a
  1236.     version of B.  In this case, the version dependency is usually a lower
  1237.     limit, in the sense that A depends on any version of B more recent  than
  1238.     some specified version.
  1239.  o  Package A recommends Package B, if the package maintainer judges that
  1240.     most users would not want A without also having the  functionality
  1241.     provided by B.
  1242.  o  Package A suggests Package B if B contains files that  are related to
  1243.     (and usually enhance) the functionality of A.
  1244.  o  Package A conflicts with Package B when A will not  operate if B is
  1245.     installed on the system.  Most often, conflicts are cases where A
  1246.     contains files which are an improvement over those in B. Conflicts are
  1247.     often combined with replaces.
  1248.  o  Package A replaces Package B when files installed by B are removed and
  1249.     (in some cases) over-written by files in A.
  1250.  o  Package A provides Package B when all of the files and functionality of
  1251.     B are incorporated into A.  This mechanism provides a way for users with
  1252.     constrained disk space to get only that part of package A which they
  1253.     really need.
  1254.  
  1255.  More detailed information on the use of these terms can be found in the  
  1256.  Debianprogrammer's manual.
  1257. 
  1258. File: debian-faq.info Node: 6.10, Up: pms, Previous: depends, Next: 6.11
  1259.  
  1260. What is meant by Pre-Depends? 
  1261.  
  1262.  Pre-Depends is a special dependency.
  1263.  
  1264.  In the case of most packages, dpkg will unpack its archive file (i.e., its 
  1265.  .deb file) independently of whether or not the files on which it depends
  1266.  exist on the system.  Simplistically, unpacking means  that dpkg will
  1267.  extract the files from the archive file that were meant to be installed on
  1268.  your filesystem, and put them in place.  If those packages depend on the
  1269.  existence of some other packages on your system, dpkg will refuse to
  1270.  complete the installation by executing its configure action until the other
  1271.  packages are installed.
  1272.  
  1273.  However, for some packages, dpkg will refuse even to unpack them until
  1274.  certain dependencies are resolved.  Such packages are said to Pre-depend on
  1275.  the presence of some other packages. The Debian project provided this
  1276.  mechanism to support the safe upgrading of systems from a.out format to ELF
  1277.   format, where the order in which packages were unpacked was critical.
  1278.  
  1279.  More detailed information on the use of these terms can be found in the  
  1280.  Debianprogrammer's manual.
  1281. 
  1282. File: debian-faq.info Node: 6.11, Up: pms, Previous: 6.10, Next: 6.12
  1283.  
  1284. What is meant by unknown/install/remove/purge/hold in the package status?
  1285.  
  1286.  These want flags tell what the user wanted to do with a package (as
  1287.  indicated either by the user's actions in  the Select section of dselect,
  1288.  or by the user's direct invocations of dpkg).  Their meanings are: 
  1289.  
  1290.  
  1291.  o  unknown  - the user has not said whether he wants the package
  1292.  o  install  - the user wants the package installed or upgraded
  1293.  o  remove   - the user wants the package removed, but does not want to 
  1294.     remove any existing configuration files.
  1295.  o  purge    - the user wants the package to be removed completely,
  1296.     including configuration files.
  1297.  o  hold     - the user wants this package not to be processed, i.e., he
  1298.     wants to keep the current version with the current status whatever that
  1299.     is.
  1300. 
  1301. File: debian-faq.info Node: 6.12, Up: pms, Previous: 6.11, Next: PkgTools
  1302.  
  1303. Where will I get detailed info on creating Debian packages?
  1304.  
  1305.  See the dpkg programmer's manual and the Debian policy manual (12.1)
  1306. 
  1307. File: debian-faq.info Node: PkgTools, Up: Top, Previous: pms, Next: 7.1
  1308.  
  1309. The Debian Package Management Tools
  1310.  
  1311.  
  1312.  
  1313. * Menu:
  1314.  
  1315. * 7.1::                         What program(s) does Debian provide for managing its packages?
  1316. * 7.2::                         Debian claims to be able to update a running program; how is this accomplished?
  1317. * 7.3::                         How can I tell what packages are already installed on a Debian system?
  1318. * ContentsFile::                How can I find out what package produced a particular file?
  1319. 
  1320. File: debian-faq.info Node: 7.1, Up: PkgTools, Previous: PkgTools, Next: dselect
  1321.  
  1322. What program(s) does Debian provide for managing its packages?
  1323.  
  1324.  
  1325.  
  1326. * Menu:
  1327.  
  1328. * dselect::                     dselect
  1329. * dpkg::                        dpkg 
  1330. * dpkg-deb::                    dpkg-deb
  1331. * dpkgsplt::                    dpkg-split
  1332. 
  1333. File: debian-faq.info Node: dselect, Up: 7.1, Previous: 7.1, Next: dpkg
  1334.  
  1335. dselect
  1336.  
  1337.  This program is a menu-driven interface to the  Debian package management
  1338.  system.  It is particularly useful for  first-time installations and
  1339.  large-scale upgrades.  dselect can  
  1340.  
  1341.  
  1342.  o  guide the user as he/she chooses among packages to install or remove, 
  1343.     ensuring that no packages are installed that conflict with one another,
  1344.     and that all packages required to make each package work properly are
  1345.     installed;
  1346.  o  warn the user about inconsistencies or incompatibilities in their
  1347.     selections;
  1348.  o  determine the order in which the packages must be installed; 
  1349.  o  automatically perform the installation or removal; and 
  1350.  o  guide the user through whatever configuration process are required for
  1351.     each package.  
  1352.  
  1353.  dselect begins by presenting the user with a menu of 7 items, each of which
  1354.  is a specific action. The user can select one of the actions by  using the
  1355.  arrow keys to move the highlighter bar, then pressing the ENTER key to
  1356.  select the highlighted action.  
  1357.  
  1358.  What the user sees next depends on the action he selected.  If he selects
  1359.  any option but Access or Select, then  dselect will simply proceed to
  1360.  execute the specified action: e.g., if the user selected the action Remove,
  1361.  then dselect would proceed to remove all of the files selected for removal
  1362.  when the user last chose the Select action.  
  1363.  
  1364.  Both the Access menu item and the Select menu item lead to additional
  1365.  menus.  In both cases, the menus are presented as split screens; the top
  1366.  screen gives a scrollable list of choices, while the bottom screen gives a
  1367.  brief explanation (info) for  each choice.
  1368.  
  1369.  Extensive on-line help is available:  Use the '?' key to get to a help
  1370.  screen, then use the '.' key to see each of the several pages of help one
  1371.  screen at a time.
  1372.  
  1373.  Some users find it easier to navigate dselect when it is  colorized.  To
  1374.  see color screens in dselect, be sure that  you have executed:  export
  1375.  TERM=linux before invoking dselect.
  1376.  
  1377.  The order in which the actions are presented in the first dselect menu
  1378.  represents the order in which a user would normally choose  dselect to
  1379.  install packages.  However, a user can pick any of the main menu choices as
  1380.  often as needed (including not at all, depending on what one wants to do). 
  1381.  
  1382.  
  1383.  
  1384.  o  Begin by choosing an Access Method.  This is the method by which the
  1385.     user plans on accessing Debian packages; e.g., some users have Debian
  1386.     packages available on CD-ROM, while others plan to fetch them using
  1387.     anonymous ftp. The selected Access Method is  stored after  dselect
  1388.     exits, so if it does not change, then this option need not be invoked
  1389.     again. 
  1390.  o  Then Update the list of available packages.  To do this, dselect reads
  1391.     the file Packages.gz which should be included in the top level of the
  1392.     directory where the Debian packages to be installed are stored.  (But if
  1393.     it is not there, dselect will offer to make it for you.) 
  1394.  o  Select specific packages for installation on his system. 
  1395.  
  1396.     After choosing this menu item, the user is first presented with a full
  1397.     screen of help; he can exit it (and any help screen) by pressing the
  1398.     SPACEBAR.  Better (for first time users) is to read all of the help
  1399.     screen, but repeatedly pressing the '.' key to fetch one page of help
  1400.     after another.  Once the user exits the Help screen, he sees the
  1401.     split-screen menu for choosing packages to install (or remove). The top
  1402.     screen is a relatively narrow window into the list of Debian's nearly
  1403.     700 packages; the bottom screen is a window into info about the package
  1404.     or group of packages which are highlighted in the top.
  1405.  
  1406.     First-time users are often confused by these aspects of the Select
  1407.     screen: 
  1408.  
  1409.     
  1410.     -- Deselecting a packages:   One can specify which packages should be
  1411.        removed (previously called deselecting an item) by highlighting a
  1412.        package  name or the label for a group of packages (e.g., All)  and
  1413.        then pressing either: 
  1414.  
  1415.        
  1416.        *  the '-' key.  This removes most of the files associated with the
  1417.           package, but preserves the files listed as configuration files (
  1418.           6.5) and other configuration information.
  1419.        *  the '_' key.  This removes every file  that is part of the
  1420.           package.  
  1421.  
  1422.         Note that if you deselect All Packages your system will be reduced
  1423.        to the initial installed base packages.  This is  probably what you
  1424.        wanted.   
  1425.     -- Putting a package on hold (by pressing '='): This effectively tells 
  1426.        dselect not to upgrade a package even if the version currently
  1427.        installed on your system is not as recent as the version that is
  1428.        available in the Debian repository you are using (this was specified
  1429.        when you set the Access Method).  (The version that is available in
  1430.        the repository is given in the file Packages.gz that is read when the
  1431.        Update menu choice is activated.) 
  1432.  
  1433.        Putting a package on unhold (by pressing ':'):  This  is the default,
  1434.        and means that the packages will be upgraded if a newer  version is
  1435.        available.
  1436.     -- The order in which the packages are presented:  The default order is
  1437.        to present packages by Priority; within each priority, packages are 
  1438.        presented in order of the directory (a.k.a. section) of the archive
  1439.        in which they are stored.  Given this sort order, some packages in 
  1440.        section A (say) may be presented first, followed by some packages in 
  1441.        section B, followed by more packages (of lower priority) in section
  1442.        A.   Users can select a different presentation order by using the 'o'
  1443.        key to cycle between various options for sorting the packages.   
  1444.     -- Meanings of the labels at the top of the screen: The labels at the
  1445.        top can be expanded by using the 'v' (verbose) key.   This action
  1446.        pushes much of the text that formerly fit onto the display  off to
  1447.        the right.  To see it, press the right arrow; to scroll back to the
  1448.        left, press the left arrow.   
  1449.     -- What to do with a package conflict/dependency screen: If a user
  1450.        selects (for installation or removal) a package, e.g., foo.deb that
  1451.        depends on or recommends another package, e.g., blurf.deb, then 
  1452.        dselect will place the user in a sub-screen of the main selection
  1453.        screen.   This process begins by presenting the user with a
  1454.        full-screen Help file, which can be escaped by pressing SPACEBAR. 
  1455.        Thereafter, the user can choose among the related packages, accepting
  1456.        the suggested actions (to install or not), or rejecting them.  To do
  1457.        the latter, press SHIFT-D; to return to the former, press SHIFT-U. 
  1458.        In any case, the user can save his selections and return to the main
  1459.        selection screen by pressing SHIFT-Q.
  1460.  o  Users returning to the main menu can then select the Install menu item
  1461.     to unpack and configure  the selected packages.  Alternatively, users
  1462.     wishing to remove files can choose the Remove menu item.  At any point,
  1463.     users can choose Quit to exit dselect; users' selections are preserved
  1464.     by dselect.
  1465. 
  1466. File: debian-faq.info Node: dpkg, Up: 7.1, Previous: dselect, Next: dpkg-deb
  1467.  
  1468. dpkg 
  1469.  
  1470.  This is the main package management program. dpkg can be invoked with many
  1471.  options.  Some common uses are: 
  1472.  
  1473.  
  1474.  o  Find out all the options:  dpkg --help. 
  1475.  o  Print out the control file (and other information) for a specified 
  1476.     package: dpkg --info foo_VVV-RRR.deb     
  1477.  o  Install a package (including unpacking and configuring) onto the file
  1478.     system of the hard disk: dpkg --install foo_VVV-RRR.deb.     
  1479.  o  Unpack (but do not configure) a Debian archive into the file system of
  1480.     the hard disk: dpkg --unpack foo_VVV-RRR.deb.  Note that this  operation
  1481.     does not necessarily leave the package in a usable  state; some files
  1482.     may need further customization to run properly.   This command removes
  1483.     any already-installed version of the program and  runs the preinst (6.6)
  1484.      script associated with the package.     
  1485.  o  Configure a package that already has been unpacked:   dpkg --configure
  1486.     foo.  Among other things, this action runs the postinst (6.6) script
  1487.     associated with  the package. It also updates the files listed in the 
  1488.     conffiles for this package. Notice that the 'configure' operation takes
  1489.     as its argument a package name (e.g., foo), not the name of a Debian
  1490.     archive file (e.g., foo_VVV-RRR.deb).     
  1491.  o  Extract a single file named blurf (or a group of files named blurf* from
  1492.     a Debian archive: dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf - blurf*
  1493.        
  1494.  o  Remove a package (but not its configuration files):   dpkg --remove foo.
  1495.         
  1496.  o  Remove a package (including its configuration files):   dpkg --purge foo
  1497.     .     
  1498.  o  List the installation status of packages containing the string  foo*: 
  1499.     dpkg--list 'foo*'.
  1500. 
  1501. File: debian-faq.info Node: dpkg-deb, Up: 7.1, Previous: dpkg, Next: dpkgsplt
  1502.  
  1503. dpkg-deb
  1504.  
  1505.  This program manipulates Debian archive(.deb) files.  Some common uses are:
  1506.  
  1507.  
  1508.  
  1509.  o  Find out all the options:  dpkg-deb --help.
  1510.  o  Determine what files are contained in a Debian  archive file:  dpkg-deb
  1511.     --contents foo_VVV-RRR.deb)
  1512.  o  Extract the files contained in a named Debian archive into a user
  1513.     specified directory:  dpkg-deb --extract foo_VVV-RRR.deb tmp extracts
  1514.     each of the files in foo_VVV-RRR.deb into the  directory tmp/.  This is
  1515.     convenient for examining the contents  of a package in a localized
  1516.     directory, without installing the package into the root file system.
  1517.  
  1518.   More information is given in the manual page dpkg-deb(1). 
  1519. 
  1520. File: debian-faq.info Node: dpkgsplt, Up: 7.1, Previous: dpkg-deb, Next: 7.2
  1521.  
  1522. dpkg-split
  1523.  
  1524.  This program splits large  package into smaller files (e.g., for writing
  1525.  onto a set of floppy disks),  and can also be used to merge a set of split
  1526.  files back into a single file. It can only be used on a Debian system,
  1527.  since it calls the program  dpkg-deb to parse the debian package file into
  1528.  its component records. For example, to split a big .deb file into N parts, 
  1529.  
  1530.  
  1531.  
  1532.  o  Execute the command dpkg-split --split foo.deb.   This will produce N
  1533.     files each of approximately 460 KBytes long in the current directory.
  1534.  o  Copy those N files to floppy disks.
  1535.  o  Copy the contents of the floppy disks onto the hard disk of your choice
  1536.     on the other machine.
  1537.  o  Join those part-files together using dpkg-split --join "foo*".
  1538. 
  1539. File: debian-faq.info Node: 7.2, Up: PkgTools, Previous: 7.1, Next: 7.3
  1540.  
  1541. Debian claims to be able to update a running program; how is this accomplished?
  1542.  
  1543.  Debian GNU/Linux provides a program called the  start-stop-daemon which is
  1544.  used by installation scripts to start daemons at boot time or to stop
  1545.  daemons when the kernel runlevel is changed (e.g., from multi-user to
  1546.  single-user or to halt). The start-stop-daemon command is also used when a
  1547.  new package  containing a daemon is installed, to stop running daemons, and
  1548.  restart  them as necessary, e.g., when a package is being installed with an
  1549.  updated configuration script.
  1550. 
  1551. File: debian-faq.info Node: 7.3, Up: PkgTools, Previous: 7.2, Next: ContentsFile
  1552.  
  1553. How can I tell what packages are already installed on a Debian system?
  1554.  
  1555.  To learn the status of all the packages installed on a Debian system,
  1556.  execute the command dpkg --list.  This prints out a one-line summary for
  1557.  each package, giving a 2-letter status symbol, the package name, the
  1558.  version which is installed, and a very brief description.
  1559.  
  1560.  To learn the status of packages whose names match the string any pattern
  1561.  beginning with foo by executing the command  dpkg --list 'foo*'
  1562.  
  1563.  To get a more verbose report for a particular package, execute the command:
  1564.   dpkg --status foo.
  1565. 
  1566. File: debian-faq.info Node: ContentsFile, Up: PkgTools, Previous: 7.3, Next: GetDeb
  1567.  
  1568. How can I find out what package produced a particular file?
  1569.  
  1570.  To identify the package that produced the file named foo execute either:
  1571.  
  1572.  
  1573.  o  dpkg --search filename.   
  1574.  
  1575.     This searches for filename in installed packages. (This is (currently)
  1576.     equivalent to searching all of the files having the file extension of 
  1577.     .list  in the directory /var/lib/dpkg/info/.)
  1578.  o  grep foo Contents, or zgrep foo Contents.gz. 
  1579.  
  1580.     This searches for files which contain the substring foo  in their full
  1581.     path names.  The files Contents and Contents.gz  reside in the major
  1582.     package directories (stable, non-free, contrib, development) at a Debian
  1583.     FTP site.  A Contents file refers only to the packages  in the
  1584.     subdirectory tree where it resides.  Therefore, a user  might have to
  1585.     search more than one Contents files to  find the package containing the
  1586.     file foo.
  1587.  
  1588.     This method has the advantage over dpkg --search in that it will find
  1589.     files in packages that are not currently installed on your system.
  1590. 
  1591. File: debian-faq.info Node: GetDeb, Up: Top, Previous: PkgTools, Next: 8.1
  1592.  
  1593. Getting and Installing Debian GNU/Linux
  1594.  
  1595.  
  1596.  
  1597. * Menu:
  1598.  
  1599. * 8.1::                         Where/how can I get the Debian installation disks?
  1600. * cdrom::                       How do I get and install the Debian from CD-ROM?
  1601. * floppy::                      How can I get/install the Debian from a set of floppy disks?
  1602. * anonftp::                     How can I get and install Debian directly from a remote ftp site?
  1603. * atape::                       How can I get and install Debian from a tape?
  1604. * version::                     What is the latest version of Debian?
  1605. 
  1606. File: debian-faq.info Node: 8.1, Up: GetDeb, Previous: GetDeb, Next: cdrom
  1607.  
  1608. Where/how can I get the Debian installation disks?
  1609.  
  1610.  You can get the installation disks by downloading the appropriate files
  1611.  from the Debian FTP site:  ( ftp://ftp.debian.org/debian/ )  and its 
  1612.  mirrors ( http://www.debian.org/ftplist.html ) .
  1613.  
  1614.  Please follow the instructions given in the Installation Guide. It is
  1615.  available in the files  install.txt (ASCII) and install.html (HTML).
  1616.  
  1617.  Some special cases are mentioned below.
  1618. 
  1619. File: debian-faq.info Node: cdrom, Up: GetDeb, Previous: 8.1, Next: floppy
  1620.  
  1621. How do I get and install the Debian from CD-ROM?
  1622.  
  1623.  Linux supports the ISO 9660 (CD-ROM) file system with Rock Ridge extensions
  1624.   (formerly known as High Sierra).  Several vendors provide Debian in this
  1625.  format; these vendors have directly supported the Debian project: 
  1626.  
  1627.  
  1628.  o  iConnect Corp.: i-Connect.Net provides the master FTP system used by
  1629.     Debian developers, and its network connection and system administration.
  1630.     They provide our 168 developers with free accounts on a system that is
  1631.     exclusively for our use, and they run our DNS domain. They also maintain
  1632.     several Debian packages.  Use the following contact info to order their
  1633.     CD-ROM: 
  1634.  
  1635.     
  1636.     -- WWW:  ( http://www.i-connect.net/i-connect/services/cdrom.html ) 
  1637.     -- E-Mail (sales): sales@i-connect.net
  1638.     -- E-Mail (help): help@i-connect.net
  1639.     -- Phone from inside the US: 1-503-641-8774
  1640.     -- Phone from outside the US: +1-503-641-8774
  1641.     -- Postal address: 
  1642.  
  1643.        
  1644.                   iConnect Corp.
  1645.                   14355 SW Allen Blvd., Suite 140
  1646.                   Beaverton, OR 97005
  1647.                  
  1648.  o  Flexible Software:  This company maintains 8 Debian packages, and puts a
  1649.     lot of manpower into supporting users on the debian-user mailing list
  1650.     and refining the system design with our developers. They have carefully
  1651.     documented the development of one  of the two methods used to upgrade
  1652.     from Debian 0.93 to Debian 1.1. 
  1653.  
  1654.     
  1655.     -- E-Mail (sales): dwarf@polaris.net
  1656.     -- Postal address: 
  1657.  
  1658.        
  1659.                   Flexible Software
  1660.                   1000 McCrackin Road
  1661.                   Tallahassee, FL 32308
  1662.                  
  1663.  
  1664.       
  1665. 
  1666. File: debian-faq.info Node: floppy, Up: GetDeb, Previous: cdrom, Next: anonftp
  1667.  
  1668. How can I get/install the Debian from a set of floppy disks?
  1669.  
  1670.  Copy the Debian packages onto formatted floppy disks.  Either a DOS,  the
  1671.  native Linux ext2, or the minix format will  do; one just has to use a
  1672.  mount command appropriate to the floppy being used.
  1673.  
  1674.  Using floppy disks has these complications: 
  1675.  
  1676.  
  1677.  o  Short MS-DOS filenames: If you are trying to place Debian package files
  1678.     onto MS-DOS formatted disks, you will find that their names  are
  1679.     generally too long, and do not conform to the MS-DOS 8.3 filename 
  1680.     limitation.  To overcome this, Debian developers make all of their
  1681.     packages available by 8.3 filenames  in separate msdos subdirectories ( 
  1682.     stable/msdos-i386/, non-free/msdos-i386/,  contrib/msdos-i386/, and 
  1683.     development/msdos-i386/). The files in these  subdirectories are merely
  1684.     symbolic links to the Debian archive files;  they only differ from the
  1685.     files in the binary-i386/, etc.  directories by having shorter file
  1686.     names.
  1687.  o  Large file sizes:  Some packages are larger than 1.44 MBytes, and  will
  1688.     not fit onto a single floppy disk.  To solve this problem, use the  
  1689.     dpkg-split (7.1.4) tool, available in the  tools directory at  ( 
  1690.     ftp://ftp.debian.org/debian/ )  and its  mirrors ( 
  1691.     http://www.debian.org/ftplist.html ) .
  1692.  
  1693.  You must have support in the kernel for floppy disks in order to read and 
  1694.  write to floppy disk; most kernels come with floppy drive support  included
  1695.  in them.
  1696.  
  1697.  To mount a floppy disk under the mount point /floppy (a directory which 
  1698.  should have been created during installation), use: 
  1699.  
  1700.  
  1701.  o  mount -t msdos /dev/fd0 /floppy/ if the floppy disk is in drive A: and
  1702.     has an MS-DOS filesystem, 
  1703.  o  mount -t msdos /dev/fd1 /floppy/ if the floppy disk is in drive B: and
  1704.     has an MS-DOS filesystem, 
  1705.  o  mount -t ext2 /dev/fd0 /floppy/ if the floppy disk is in drive A: and
  1706.     has an ext2 (i.e., a normal Linux)  filesystem.
  1707. 
  1708. File: debian-faq.info Node: anonftp, Up: GetDeb, Previous: floppy, Next: atape
  1709.  
  1710. How can I get and install Debian directly from a remote ftp site?
  1711.  
  1712.  Install the Debian tool dpkg-ftp (9.2).  This package is currently
  1713.  installed in the directory development/binary-all/net at  ( 
  1714.  ftp://ftp.debian.org/debian/ )  and its  mirrors ( 
  1715.  http://www.debian.org/ftplist.html ) . For details on installing a package,
  1716.  see notes on dpkg (7.1.2).
  1717.  
  1718.  Then invoke the program dselect, which will call dpkg-ftp for you, guide
  1719.  you through the selection of packages, then install the packages, without
  1720.  every downloading the packages themselves to your machine. This method is
  1721.  designed to save the user both disk space and time. Note that no special
  1722.  kernel configuration is needed to access and install Debian packages by
  1723.  this method.
  1724.  
  1725.  To use this service of dselect, you will need to know: 
  1726.  
  1727.  
  1728.  o  the fully qualified domain name of the anonymous ftp site you plan to
  1729.     use.
  1730.  o  the directory which contains the files you want to install, or the
  1731.     subdirectories which contain files you want to install.  This directory
  1732.     must contain a file called Packages (or its compressed equivalent,
  1733.     Packages.gz).
  1734. 
  1735. File: debian-faq.info Node: atape, Up: GetDeb, Previous: anonftp, Next: version
  1736.  
  1737. How can I get and install Debian from a tape?
  1738.  
  1739.  At present, installing packages directly from tape is not supported. One
  1740.  can however, use tar, cpio, or afio to copy Debian archive files onto a
  1741.  tape, then copy them onto your local  disk for installation.  In the same
  1742.  vein, floppy disks  containing tar files would have to be copied onto a 
  1743.  local disk before they could be managed with the Debian package tools.
  1744. 
  1745. File: debian-faq.info Node: version, Up: GetDeb, Previous: atape, Next: Uptodate
  1746.  
  1747. What is the latest version of Debian?
  1748.  
  1749.  Currently there are three versions of Debian:  
  1750.  
  1751.  
  1752.  o  1.3: this is stable software,  and will not change. 
  1753.  o  1.3.x, a.k.a. stable, a.k.a : this  is stable software, but it may
  1754.     change when major fixes are incorporated.
  1755.  o  the development version; .  This is the version currently under
  1756.     development; it is updated continuously.  You can retrieve packages from
  1757.     the development archive on  any Debian FTP site and use them to upgrade
  1758.     your system at any time.  
  1759.  
  1760.     It is planned that this will become a new Debian release about three
  1761.     months after the last release.
  1762. 
  1763. File: debian-faq.info Node: Uptodate, Up: Top, Previous: GetDeb, Next: 9.1
  1764.  
  1765. Keeping Your Debian System Up To Date 
  1766.  
  1767.  
  1768.  
  1769. * Menu:
  1770.  
  1771. * 9.1::                         How can I upgrade my Debian 0.93 (or earlier) distribution, based on a.out format binaries, to 1.1 (or later), based on ELF binaries?
  1772. * 9.2::                         How can I keep my Debian system current?
  1773. * 9.3::                         Must I go into single user mode in order to upgrade a package?
  1774. * 9.4::                         Do I have to keep all those .deb archive files on my disk?
  1775. * 9.5::                         How can I keep a log of the packages I added to the system?
  1776. 
  1777. File: debian-faq.info Node: 9.1, Up: Uptodate, Previous: Uptodate, Next: 9.2
  1778.  
  1779. How can I upgrade my Debian 0.93 (or earlier) distribution, based on a.out format binaries, to 1.1 (or later), based on ELF binaries?
  1780.  
  1781.  The directory upgrades/ contains files needed by users upgrading  from
  1782.  Debian 0.93R6 to Debian 1.1 (or later).  There are two ways to upgrade: 
  1783.  
  1784.  
  1785.  o  the manual way, installing the packages by hand. Instructions are in 
  1786.     upgrade_manual.doc.  You will also need the files  UpGrade, base_list,
  1787.     and dpkg-*.deb.
  1788.  o  using dselect to upgrade all the packages en masse. Instructions are in 
  1789.     upgrade_dselect.doc.  You will also need dpkg-*.deb.
  1790.  
  1791.  Note that the version of dpkg in this directory has the  a.out binary
  1792.  format.  The versions of dpkg in the development  and stable trees have the
  1793.  ELF format.
  1794. 
  1795. File: debian-faq.info Node: 9.2, Up: Uptodate, Previous: 9.1, Next: 9.3
  1796.  
  1797. How can I keep my Debian system current?
  1798.  
  1799.  One could simply execute an anonymous ftp call to a Debian archive, then
  1800.  peruse the directories until he finds the desired file, and then fetch it,
  1801.  and finally install it using dpkg.  Note that dpkg  will install upgrade
  1802.  files in place, even on a running system.   Sometimes, a revised package
  1803.  will require the installation of a newly revised version of another
  1804.  package, in which case the installation will fail until/unless the other
  1805.  package is installed.
  1806.  
  1807.  Many people find this approach much too time-consuming, since Debian
  1808.  evolves so quickly---typically, a dozen or more new packages are uploaded
  1809.  every week.  This number is larger just before a new major release.  To
  1810.  deal with this avalanche, many people prefer to use an automated programs. 
  1811.  Three different packages are available for this purpose: 
  1812.  
  1813.  
  1814.  o  dpkg-ftp. This is an access method for dselect. It can be invoked from
  1815.     within dselect, thereby allowing a user the ability to download files 
  1816.     and install them directly in one step.  To do this, bring up the  
  1817.     dselect program, choose option 0 (Choose the access method to use),
  1818.     highlight the option ftp then specify the remote hostname and directory.
  1819.       dpkg-ftp will then automatically download the files that are selected
  1820.     (either in this session of dselect or earlier ones). 
  1821.  
  1822.     Note that, unlike the mirror program,   dpkg-ftp does not grab
  1823.     everything at a mirror site. Rather, it downloads only those files which
  1824.     you have selected (when first starting up dpkg-ftp), and which need to
  1825.     be updated.
  1826.  
  1827.     dpkg-ftp is available in the directory  stable/binary-all/net/ on any
  1828.     Debian archive.
  1829.  o  mirror.  This Perl script, and its (optional) manager program called 
  1830.     mirror-master, can be used to fetch user-specified parts of a directory
  1831.     tree from a specified host via anonymous ftp.   mirror is particularly
  1832.     useful for downloading large volumes of software.  After the first time
  1833.     files have been downloaded from a site, a file called .mirrorinfo is
  1834.     stored on the local host.  Changes to the remote filesystem are tracked
  1835.     automatically by mirror, which compares this file to a similar file on
  1836.     the remote system and downloads only changed files.   
  1837.  
  1838.     The mirror program is generally useful for updating local copies of
  1839.     remote directory trees.  The files fetched need not be Debian files.
  1840.     (Since mirror is a Perl script, it can also run on non-Unix systems.)
  1841.     Though the mirror program provides mechanisms for excluding files whose
  1842.     names match user-specified strings, this program is most useful when the
  1843.     objective is to download whole directory trees, rather than selected
  1844.     packages.
  1845.  
  1846.     The mirror program has been packaged for Debian, and is found in the
  1847.     directory stable/binary-all/net in the Debian FTP archive.
  1848.  o  dftp.  This Perl script can  be used to fetch user-specified Debian
  1849.     packages from a specified host.   It begins by downloading the
  1850.     Packages.gz files for the directories  specified by the user (e.g.
  1851.     stable, contrib, non-free) and presents him  with a list of packages. 
  1852.     These are placed in various sections: new upgrades, downgrades, new
  1853.     packages, ignored upgrades, and ignored packages.  The user then selects
  1854.     the packages he wants  and dftp downloads and installs them.  This makes
  1855.     it very easy to have your Debian system 100% current all the time
  1856.     without downloading packages that you are not going to install.   
  1857.  
  1858.     dftp can be used to call dselect (7.1.1), thereby providing an
  1859.     integrated way to fetch and update the Debian packages on one's system. 
  1860.     When the installation is finished, another dftp  command can be used to
  1861.     remove the package archive (.deb) files. Changes to the remote
  1862.     filesystem are tracked automatically by  dftp, which compares the local
  1863.     Packages.gz file to the files on  the remote system.
  1864.  
  1865.     The dftp program is available as a script in the directory project/misc
  1866.     in the Debian FTP archive.
  1867. 
  1868. File: debian-faq.info Node: 9.3, Up: Uptodate, Previous: 9.2, Next: 9.4
  1869.  
  1870. Must I go into single user mode in order to upgrade a package?
  1871.  
  1872.  No.  Packages can be upgraded in place, even in running systems. Debian has
  1873.  a start-stop-daemon program that is invoked to stop, then restart running
  1874.  process if necessary during a package upgrade. 
  1875. 
  1876. File: debian-faq.info Node: 9.4, Up: Uptodate, Previous: 9.3, Next: 9.5
  1877.  
  1878. Do I have to keep all those .deb archive files on my disk?
  1879.  
  1880.  No.  If you have downloaded the files to your disk (which is not absolutely
  1881.  necessary (see dpkg-ftp (9.2) or dftp (9.2))),  then after you have
  1882.  installed the packages, you can remove them from your system.
  1883. 
  1884. File: debian-faq.info Node: 9.5, Up: Uptodate, Previous: 9.4, Next: Kernel
  1885.  
  1886. How can I keep a log of the packages I added to the system?
  1887.  
  1888.  dpkg keeps a record of the packages that have been unpacked, configured,
  1889.  removed, and/or purged, but does not (currently) keep a log of terminal
  1890.  activity that occured while a package was being so manipulated. Some users
  1891.  overcome this simply by using tee: 
  1892.  
  1893.  
  1894.      dpkg -iGOEB -R stable/binary non-free/binary contrib/binary | \
  1895.          tee -a /root/dpkg.log
  1896.  
  1897.  The same command written using long options: 
  1898.  
  1899.  
  1900.      dpkg --install --refuse-downgrade --selected-only \
  1901.        --skip-same-version --auto-deconfigure \
  1902.        --recursive stable/binary non-free/binary contrib/binary | \
  1903.          tee -a /root/dpkg.log
  1904. 
  1905. File: debian-faq.info Node: Kernel, Up: Top, Previous: Uptodate, Next: custker
  1906.  
  1907. Debian and the kernel 
  1908.  
  1909.  
  1910.  
  1911. * Menu:
  1912.  
  1913. * custker::                     What tools does Debian provide to build custom kernels? 
  1914. * cusboot::                     How can I make a custom boot floppy?
  1915. * 10.3::                        What special provisions does Debian provide to deal with modules?
  1916. * 10.4::                        Can I safely de-install an old kernel, and if so how?
  1917. 
  1918. File: debian-faq.info Node: custker, Up: Kernel, Previous: Kernel, Next: cusboot
  1919.  
  1920. What tools does Debian provide to build custom kernels? 
  1921.  
  1922.  Users who wish to (or must) build a custom kernel are encouraged to
  1923.  download the package kernel-package_VVV_all.deb (it is stored in section 
  1924.  misc at the Debian FTP archives).  This package contains  the script to
  1925.  build the kernel package, and provides the capability to  create a Debian
  1926.  kernel-image package just by running the command  make-kpkg kernel_image in
  1927.  the top-level kernel source directory. Help is available by executing the
  1928.  command make-kpkg --help, and through the manual page for make-kpkg(8).
  1929.  
  1930.  Users must separately download the source code for the most recent  kernel
  1931.  (or the kernel of their choice) from their favorite Linux archive site.
  1932.  
  1933.  To build a custom kernel, users must have these packages installed: gcc, 
  1934.  libc5-dev, bin86, binutils, gawk, make, gzip, and grep.
  1935.  
  1936.  Executing the command dpkg --install kernel-package_VVV_all.deb sets up the
  1937.  directory /usr/src/linux-VVV/, and sets up the link /usr/src/linux to point
  1938.  to the  directory /usr/src/linux-VVV/ containing the kernel sources.
  1939.  
  1940.  Detailed instructions for using the package are given in the file 
  1941.  /usr/doc/kernel-package/README.  Briefly, one should: 
  1942.  
  1943.  
  1944.  o  Unpack the kernel sources, and cd to the newly created  directory.
  1945.  o  Modify the kernel configuration using one of these commands: 
  1946.  
  1947.     
  1948.     -- make config  (for a tty one-line-at-a-time-interface).
  1949.     -- make menuconfig  (for an ncurses-based menu driven interface). Note
  1950.        that to use this option, the ncurses3.0-dev package  must be
  1951.        installed.
  1952.     -- make xconfig  (for an X11 interface). Using this option requires that
  1953.        relevant X packages be installed.
  1954.  
  1955.      Any of the above steps generates a new .config in the top-level kernel
  1956.     source directory.
  1957.  o  Execute the command: make-kpkg -r Custom.N kernel_image, where N is a
  1958.     revision number assigned by the user. The new Debian archive thus formed
  1959.     would have revision Custom.1, e.g., kernel-image-2.0.27-Custom.1.deb for
  1960.     the Linux kernel 2.0.27. 
  1961.  o  Install the package created. 
  1962.  
  1963.     
  1964.     -- Run dpkg --install /usr/src/kernel-image_VVV-Custom.N.deb  to install
  1965.        the kernel itself.  The installation script will: 
  1966.  
  1967.        
  1968.        *  run the boot loader, LILO (if it is installed), 
  1969.        *  install the custom kernel in /boot/vmlinuz_VVV-Custom.N, and set
  1970.           up appropriate symbolic links to the most recent kernel version.
  1971.        *  prompt the user to make a boot floppy.  This boot floppy will 
  1972.           contain the raw kernel only.  See additional notes for making a  
  1973.           customboot floppy (10.2).
  1974.     -- To employ a secondary boot loaders (e.g., loadlin), copy  this image
  1975.        to other locations (e.g., an MS-DOS partition).
  1976. 
  1977. File: debian-faq.info Node: cusboot, Up: Kernel, Previous: custker, Next: 10.3
  1978.  
  1979. How can I make a custom boot floppy?
  1980.  
  1981.  This task is greatly aided by the Debian package  boot-floppies_VVV-RRR.deb
  1982.  , normally found in the  binary/devel section of the Debian FTP archive. 
  1983.  Shell scripts in this package produce boot floppies in the SYSLINUX format.
  1984.   These are  MS-DOS formatted floppies whose master boot records have been
  1985.  altered so that they boot Linux directly (or whatever other operating
  1986.  system has been defined in the syslinux.cfg file on the floppy). Other
  1987.  shell scripts in this package produce emergency root disks and  can even
  1988.  reproduce the base disks.
  1989.  
  1990.  When the boot-floppies package is installed, it produces files which reside
  1991.  in /usr/src/boot-floppies/, including the three scripts, called bootdisk.sh
  1992.  , rootdisk.sh, and  basedisk.sh.  Users of these scripts are encouraged to
  1993.  read  them and customize as appropriate.  In particular, one should include
  1994.  the kernel of your choice when invoking the bootdisk.sh script.  Be aware
  1995.  that this kernel cannot be used to load the root disk into a RAMDISK unless
  1996.  it was compiled with CONFIG_RAMDISK=y, and  CONFIG_INITRD=y.
  1997.  
  1998.  To write the kernel-image-2.0.27 package to the 1.44 MByte disk in drive A:
  1999.  run this command: 
  2000.  
  2001.  
  2002.      ./bootdisk.sh /usr/src/kernel-image-2.0.27_1.00.deb /dev/fd0 1440
  2003.  
  2004.  Be sure to include the editor and whatever other tools you prefer  when
  2005.  building your custom root disk with ./rootdisk.sh.
  2006.  
  2007.  Some people found that the boot and root disks make good emergency
  2008.  floppies.
  2009. 
  2010. File: debian-faq.info Node: 10.3, Up: Kernel, Previous: cusboot, Next: 10.4
  2011.  
  2012. What special provisions does Debian provide to deal with modules?
  2013.  
  2014.  Debian's modconf package provides a shell script  (/usr/sbin/modconf) which
  2015.  can be used to customize the  configuration of modules.  This script
  2016.  presents a menu-based interface, prompting the user for particulars on the
  2017.  loadable device drivers  in his system.  The responses are used to
  2018.  customize the file /etc/conf.modules (which lists aliases, and other
  2019.  arguments that must be used in conjunction with various modules), and 
  2020.  /etc/modules (which lists the modules that must be loaded at boot time).
  2021.  
  2022.  Like the (new) Configure.help files that are now available to support the
  2023.  construction of custom kernels, the modconf package comes with a  series of
  2024.  help files (in /usr/lib/modules_help/) which provide detailed information
  2025.  on appropriate arguments for each of the modules.
  2026. 
  2027. File: debian-faq.info Node: 10.4, Up: Kernel, Previous: 10.3, Next: Customizing
  2028.  
  2029. Can I safely de-install an old kernel, and if so how?
  2030.  
  2031.  Yes.  The kernel-image-NNN.prerm script checks to see whether the kernel
  2032.  you are currently running is the same as the kernel you are trying to
  2033.  de-install.  Therefore you can remove unwanted kernel image packages using
  2034.  this command:
  2035.  
  2036.  dpkg --purge --force-remove-essential kernel-image-NNN 
  2037. 
  2038. File: debian-faq.info Node: Customizing, Up: Top, Previous: Kernel, Next: 11.1
  2039.  
  2040. Customizing your installation of Debian GNU/Linux 
  2041.  
  2042.  
  2043.  
  2044. * Menu:
  2045.  
  2046. * 11.1::                        How can I ensure that all programs use the same paper size?
  2047. * 11.2::                        How can I configure an X11 program's application defaults ?
  2048. * 11.3::                        Every distribution seems to have a different boot-up method.  Tell me about Debian's.
  2049. * 11.4::                        It looks as if Debian does not use rc.local to customize the boot process; what facilities are provided?
  2050. * 11.5::                        How does the package management system deal with packages that contain configuration files for other packages?
  2051. * divert::                      How do I override a file installed by a package so that a different version can be used instead? 
  2052. * 11.7::                        How can I have my locally-built package included in the list of available packages that the package management system knows about?
  2053. * diverse::                     Some users like mawk, others like gawk; some like vim, others like elvis; some like trn, others like tin; how does Debian support diversity?
  2054. 
  2055. File: debian-faq.info Node: 11.1, Up: Customizing, Previous: Customizing, Next: 11.2
  2056.  
  2057. How can I ensure that all programs use the same paper size?
  2058.  
  2059.  The file /etc/papersize contains the name of the system-wide default paper
  2060.  size (i.e. letter or A4). It can be overwritten using the PAPERSIZE
  2061.  environment variable. For details see the manual page papersize(5).
  2062. 
  2063. File: debian-faq.info Node: 11.2, Up: Customizing, Previous: 11.1, Next: 11.3
  2064.  
  2065. How can I configure an X11 program's application defaults ?
  2066.  
  2067.  Debian's X11 installation expects you to leave the files in 
  2068.  /usr/X11R6/lib/X11/app-defaults/ unchanged. If you want to customise X
  2069.  applications globally, put your customizations in /etc/X11/Xresources. This
  2070.  file is marked as a configuration file, so its contents will be preserved
  2071.  during upgrades.
  2072. 
  2073. File: debian-faq.info Node: 11.3, Up: Customizing, Previous: 11.2, Next: 11.4
  2074.  
  2075. Every distribution seems to have a different boot-up method.  Tell me about Debian's.
  2076.  
  2077.  Like all Unices, Debian boots up by executing the program init. The
  2078.  configuration file for init (which is /etc/inittab) specifies that the
  2079.  first script to be executed should  be /etc/init.d/boot.  This script
  2080.  checks and mounts file systems, loads modules, starts the network services 
  2081.  (by calling the script /etc/init.d/network), sets the clock, performs other
  2082.  initialization, and then runs all of the scripts (except those with a '.'
  2083.  in the filename) in /etc/rc.boot/.   The latter script sets the default
  2084.  keyboard, recovers lost editor files,  and configures the serial ports.
  2085.  
  2086.  After completing the boot process, init executes all start scripts in a
  2087.  directory specified by the default runlevel (this runlevel  is given by the
  2088.  entry for id in /etc/inittab).   Like most System V compatible Unices,
  2089.  Linux has 7 runlevels:  
  2090.  
  2091.  0 (halt the system), 1 (single-user mode),  2 through 5 (various multi-user
  2092.  modes), and 6 (reboot the system). Debian systems come with id=2, which
  2093.  indicates that the default  runlevel will be '2' when the multi-user state
  2094.  is entered, and the scripts in /etc/rc2.d/ will be run.
  2095.  
  2096.  In fact, the scripts in any of the directories, /etc/rcN.d/ are just
  2097.  symbolic links back to scripts in /etc/init.d/.  However, the names of the
  2098.  files in each of the /etc/rcN.d/ directories are selected to indicate the 
  2099.  way the scripts in /etc/init.d/  will be run.  Specifically, before
  2100.  entering any runlevel, all the scripts beginning with 'K' are run; these
  2101.  scripts kill services.  Then all the scripts beginning with 'S' are run;
  2102.  these scripts  start services.  The two-digit number following the 'K' or
  2103.  'S' indicates the order in which the script is run.  Lower numbered scripts
  2104.  are executed first.
  2105.  
  2106.  This approach works because the scripts in /etc/init.d/ all take an
  2107.  argument which can be either 'start', 'stop', or 'reload', and will then do
  2108.  the task indicated by the argument. For example, with the argument 'reload'
  2109.  the command  /etc/init.d/sendmail reload sends the sendmail daemon a 
  2110.  signal to reread its configuration file. These scripts can be used even
  2111.  after a system has been booted to control various processes.
  2112. 
  2113. File: debian-faq.info Node: 11.4, Up: Customizing, Previous: 11.3, Next: 11.5
  2114.  
  2115. It looks as if Debian does not use rc.local to customize the boot process; what facilities are provided?
  2116.  
  2117.  Suppose a system needs to execute script foo on start-up, or on entry to a
  2118.  particular (System V) runlevel.  Then the system administrator should: 
  2119.  
  2120.  
  2121.  o  Enter the script foo into the directory /etc/init.d/.
  2122.  o  Run the Debian command update-rc.d with appropriate arguments, to set up
  2123.     links between the (command-line-specified) directories rc?.d and 
  2124.     /etc/init.d/foo.  Here, '?' is a number from 0 through 6 and corresponds
  2125.     to each of the System V runlevels.  
  2126.  o  Reboot the system.
  2127.  
  2128.  The command update-rc.d will set up links between files in the directories
  2129.  rc?.d and the script in /etc/init.d/. Each link will begin with a 'S' or a
  2130.  'K', followed by a number, followed by the name of the script.  Scripts
  2131.  beginning with 'S' in  /etc/rcN.d/ are executed when runlevel N is entered.
  2132.  Scripts beginning with a 'K' are executed when leaving runlevel N.
  2133.  
  2134.  One might, for example, cause the script foo to execute at boot-up, by
  2135.  putting it in /etc/init.d/ and installing the links with update-rc.d foo
  2136.  defaults 19.  The argument 'defaults' refers  to the default runlevels,
  2137.  which are 2 through 5.  The argument '19' ensures  that foo is called
  2138.  before any scripts containing numbers 20  or larger.
  2139. 
  2140. File: debian-faq.info Node: 11.5, Up: Customizing, Previous: 11.4, Next: divert
  2141.  
  2142. How does the package management system deal with packages that contain configuration files for other packages?
  2143.  
  2144.  Some users wish to create, for example, a new server by installing a group
  2145.  of Debian packages and a locally generated package consisting of
  2146.  configuration files.  This is not generally a good idea, because dpkg will
  2147.  not know about those configuration files if they are in a different
  2148.  package,  and may write conflicting configurations when one of the  initial
  2149.  group of packages is upgraded.
  2150.  
  2151.  Instead, create a local package that modifies the configuration files of
  2152.  the group of Debian packages of interest.  Then  dpkg and the rest of the
  2153.  package management system will see  that the files have been modified by
  2154.  the local sysadmin  and will not try to overwrite them when those packages
  2155.  are upgraded.
  2156. 
  2157. File: debian-faq.info Node: divert, Up: Customizing, Previous: 11.5, Next: 11.7
  2158.  
  2159. How do I override a file installed by a package so that a different version can be used instead? 
  2160.  
  2161.  Suppose a sysadmin or local user wishes to use a program login-local rather
  2162.  than the program login provided by the  Debian login package.   Do not: 
  2163.  
  2164.  
  2165.  o  Overwrite /bin/login with login-local.  
  2166.  
  2167.   The package management system will not know about this change, and will
  2168.  simply overwrite your custom /bin/login whenever login (or any package that
  2169.  provides /bin/login) is installed or updated.
  2170.  
  2171.  Rather, do 
  2172.  
  2173.  
  2174.  o  Execute dpkg-divert --divert /bin/login.debian /bin/login in order to
  2175.     cause all future installations of the Debian login packages to write the
  2176.     file /bin/login to /bin/login.debian instead.  
  2177.  o  Then execute cp login-local /bin/login to move your own locally-built
  2178.     program into place.
  2179.  
  2180.  Some details are given in the usage statement for dpkg-divert (which can be
  2181.  viewed using the command dpkg-divert --help). Additional details are given
  2182.  in the  Debian programmer's manual.
  2183. 
  2184. File: debian-faq.info Node: 11.7, Up: Customizing, Previous: divert, Next: diverse
  2185.  
  2186. How can I have my locally-built package included in the list of available packages that the package management system knows about?
  2187.  
  2188.  You can do this in either of two ways: 
  2189.  
  2190.  
  2191.  o  Use dselect, and reselect the access method. You will be  asked for a
  2192.     directory where your local packages reside. 
  2193.  o  Execute the command dpkg-scanpackages BIN_DIR OVERRIDE_FILE [PATHPREFIX]
  2194.     > Packages.new where: 
  2195.  
  2196.     
  2197.     -- BIN-DIR is a directory where Debian archive files (which usually have
  2198.        an extension of .deb) are stored.
  2199.     -- OVERRIDE_FILE is a file that is edited by the distribution
  2200.        maintainers and is usually stored on a Debian FTP archive at  
  2201.        indices/override.main.gz for the Debian packages in  the main
  2202.        distribution.
  2203.     -- PATHPREFIX is an optional string that can be prepended to the
  2204.        Packages.new file being produced.
  2205.  
  2206.      Once you have built the file Packages.new, tell the package  management
  2207.     system about it by using the command  dpkg --update-avail Packages.new. 
  2208.      
  2209. 
  2210. File: debian-faq.info Node: diverse, Up: Customizing, Previous: 11.7, Next: Support
  2211.  
  2212. Some users like mawk, others like gawk; some like vim, others like elvis; some like trn, others like tin; how does Debian support diversity?
  2213.  
  2214.  There are several cases where two packages provide two different versions
  2215.  of a program, both of which provide the same core functionality.  Users
  2216.  might prefer one over another out of habit, or because the user interface
  2217.  of one package is somehow more pleasing than the interface of another. 
  2218.  Other users on the same system might make a different choice.
  2219.  
  2220.  Debian uses a virtual package system to allow system administrators to
  2221.  choose (or let users choose) their  favorite tools when there are two or
  2222.  more that provide the same basic  functionality, yet satisfy package
  2223.  dependency requirements without specifying a particular package.
  2224.  
  2225.  For example, there might exist two different versions of newsreaders on a
  2226.  system.  The news server package might 'recommend' that there exist some
  2227.  news reader on the system, but the choice of tin or trn is left up to the
  2228.  individual user.  This is satisfied by having both the tin and trn packages
  2229.  provide the virtual package news-reader.  Which program is invoked is
  2230.  determined by a link pointing from a file with the virtual package name 
  2231.  /etc/alternatives/news-reader to the selected file, e.g., /usr/bin/trn.
  2232.  
  2233.  A single link is insufficient to support full use of an alternate program;
  2234.  normally, manual pages, and possibly other supporting files must be
  2235.  selected as well.  The Perl script  update-alternatives provides a way of
  2236.  ensuring that all the files associated with a specified package are
  2237.  selected as a system  default.
  2238. 
  2239. File: debian-faq.info Node: Support, Up: Top, Previous: Customizing, Next: DebianDocs
  2240.  
  2241. Getting support for Debian Linux 
  2242.  
  2243.  
  2244.  
  2245. * Menu:
  2246.  
  2247. * DebianDocs::                  What other documentation exists on and for a Debian system? 
  2248. * resources::                   Are there any on-line resources for discussing Debian? 
  2249. * MailingListConduct::          What is the code of conduct for the mailing lists? 
  2250. * Searchtools::                 Is there a quick way to search for information on Debian GNU/Linux? 
  2251. 
  2252. File: debian-faq.info Node: DebianDocs, Up: Support, Previous: Support, Next: resources
  2253.  
  2254. What other documentation exists on and for a Debian system? 
  2255.  
  2256.  
  2257.  o  Installation instructions for the current release:  see    ( 
  2258.     http://www.debian.org/1.1/install.html ) . 
  2259.  o  dpkg programmer's manual and Debian policy manual 
  2260.  
  2261.     
  2262.     -- The dpkg programmer's manual ( 
  2263.        ftp://ftp.debian.org/debian/doc/package-developer/programmer.ps.gz ) 
  2264.         is the primary documentation on the technical aspects of creating
  2265.        Debian binary and source packages. 
  2266.  
  2267.        The Debian policy manual ( 
  2268.        ftp://ftp.debian.org/debian/doc/package-developer/policy.ps.gz ) 
  2269.        documents the policy requirements for a package to be included in
  2270.        Debian.
  2271.  
  2272.        These documents are also included in the latest dpkg-dev package.
  2273.  
  2274.       
  2275.  o  Documentation on installed Debian packages:   Most packages have files
  2276.     that are unpacked into  /usr/doc/ and /usr/doc/examples/.    
  2277.  o  Documentation on the Linux project: The Debian package 
  2278.     doc-linux_VVV-RRR.deb installs all of the most recent versions of the
  2279.     HOWTOs and mini-HOWTOs from the  Linux Documentation Project. This
  2280.     package is in the stable/binary-all/doc/ section  in the FTP archives.  
  2281.     
  2282.  o  Unix-style 'man' pages:  Most commands have  manual pages written in the
  2283.     style of the original Unix 'man' files. They are referenced by the
  2284.     section of the 'man' directory where they reside:  e.g., foo(3) refers
  2285.     to a manual page which resides in /usr/man/man3/, and it can be called
  2286.     by executing the command:  man 3 foo, or just man foo if section 3 is
  2287.     the only one containing a page on foo. One can learn which directory of 
  2288.     /usr/man/ contains a certain manual page by executing man -w foo. 
  2289.  
  2290.     New Debian users should note that the 'man' pages of many general system
  2291.      commands are not available until they install these packages (both of
  2292.     which are normally stored in the stable/binary-all/doc/ directory of the
  2293.     Debian FTP archive: 
  2294.  
  2295.     
  2296.     -- manpages_VVV-RRR.deb (see support for non-English languages (5.10)).
  2297.     -- man_VVV-RRR.deb, which contains the man program  itself, and other
  2298.        programs for manipulating the manual pages.   
  2299.  o  GNU-style 'info' pages:  User documentation for many commands,
  2300.     particularly GNU tools, is available not in 'man' pages, but in 'info' 
  2301.     files which can be read by the GNU tool info or by running  M-x info
  2302.     within GNU Emacs. Its main advantage over the original 'man' pages are
  2303.     that it is a hypertext system.  It does not require the WWW, however; 
  2304.     info can be run from a plain text console.  It was designed by Richard
  2305.     Stallman and preceded the WWW.   The program that manipulates `info'
  2306.     files is installed as a separate package info_VVV-RRR.deb, usually
  2307.     stored in  the directory stable/binary-all/doc/ on the FTP archive.  
  2308. 
  2309. File: debian-faq.info Node: resources, Up: Support, Previous: DebianDocs, Next: MailingListConduct
  2310.  
  2311. Are there any on-line resources for discussing Debian? 
  2312.  
  2313.  There are several Debian-related mailing lists: 
  2314.  
  2315.  
  2316.  o  debian-announce@lists.debian.org (moderated). (Usually) major system
  2317.     announcements.  On average, fewer than one message per week are posted
  2318.     here. 
  2319.  o  debian-changes@lists.debian.org. Announcements of new package uploads
  2320.     for the Debian system.  This list may carry several announcements in a
  2321.     day.      
  2322.  o  debian-user@lists.debian.org . A mailing list where users can ask for
  2323.     and receive advice on the use or configuration of Debian packages or
  2324.     other aspects of Debian Linux. This list is an invaluable learning
  2325.     resource; there can be 50 messages a day or more on this list.      
  2326.  o  debian-sparc@lists.debian.org . This list is for those involved in
  2327.     porting Debian software to the SPARC platform. 
  2328.  o  debian-alpha@lists.debian.org . This list is for those involved in
  2329.     porting Debian software to DEC alpha platforms. 
  2330.  o  debian-68k@lists.debian.org . This list is for those involved in porting
  2331.     Debian software to Motorola 680x0 platforms; currently this means the
  2332.     Atari and Amiga only. 
  2333.  o  debian-talk@lists.debian.org . 
  2334.  
  2335.  To subscribe to debian-X (for X in announce, changes, user, talk),  send
  2336.  mail to  debian-X-request@lists.debian.org with the word subscribe in  the
  2337.  Subject: header. If you have a forms-capable World Wide Web browser, you
  2338.  can subscribe to debian-announce and debian-user by using the  WWW form ( 
  2339.  http://www.rahul.net/perens/Debian/MailingLists.html ) .  You can also
  2340.  un-subscribe using that form.
  2341.  
  2342.  The list manager's e-mail address is  listmaster@lists.debian.org
  2343.  
  2344.  Archives of the Debian mailing lists are available via WWW at  ( 
  2345.  http://www.debian.org/Lists-Archives/ )  and via FTP from  ( 
  2346.  ftp://ftp.debian.org/debian/debian-lists/ ) .
  2347.  
  2348.  Users can address questions to individual package maintainers, since their
  2349.  e-mail addresses are provided in the Debian control file (see section 
  2350.  Debiancontrol file (6.4)) that is included within each package.  One can
  2351.  also learn the maintainers'  names and e-mail addresses by searching the
  2352.  Packages file, since this file is just a concatenation of all the available
  2353.  package control files  in a particular directory tree. To extract a control
  2354.  file from a  particular Debian package, use the command, 
  2355.  
  2356.  
  2357.      dpkg --info packageName_VVV-RRR.deb
  2358.  
  2359.  Another related mailing list, debiangame, is being run by Gary Moore  ( ( 
  2360.  mailto:gary@ssc.com ) ) at the University of Washington.  As the name
  2361.  suggests, it is devoted to the discussion of games that have been (or might
  2362.  be) packaged for Debian. To subscribe, send mail to 
  2363.  listproc@u.washington.edu, putting in the message body:  
  2364.  
  2365.  
  2366.        subscribe debiangame FirstName LastName
  2367.  
  2368.   Both FirstName and LastName are required for ListProc.
  2369.  
  2370.  Users should post non-Debian-specific questions to one of the Linux Usenet
  2371.  groups, which are named comp.os.linux.* or linux.*.  Specialized Systems
  2372.  Consultants (a.k.a. SSC) maintains a  list of Linux, Unix, X, and
  2373.  networking newsgroups ( http://www.ssc.com/linux/news.html )  on their WWW
  2374.  site.
  2375. 
  2376. File: debian-faq.info Node: MailingListConduct, Up: Support, Previous: resources, Next: Searchtools
  2377.  
  2378. What is the code of conduct for the mailing lists? 
  2379.  
  2380.  When using the Debian mailing lists, please follow these rules: 
  2381.  
  2382.  
  2383.  o  Do not flame; it is not polite.  Besides the people developing Debian
  2384.     are all volunteers, donating their time, energy and money in an attempt
  2385.     to bring the Debian project together.
  2386.  o  Do not use foul language; some people receive the lists via packet
  2387.     radio, where swear words are illegal.
  2388.  o  Make sure that you are using the proper list.
  2389.  o  Do not try posting unless you are subscribed.  Posting by 
  2390.     non-subscribers was turned off to make the mailing lists usable. Thus,
  2391.     only postings from e-mail addresses matching those of a subscriber  are
  2392.     accepted. If you often post from other addresses than the one  you
  2393.     subscribe with, mail the list manager listmaster@lists.debian.org with
  2394.     the subject please add subscriber alias.
  2395.  o  See section reporting bugs (13.2) for notes on reporting bugs.
  2396. 
  2397. File: debian-faq.info Node: Searchtools, Up: Support, Previous: MailingListConduct, Next: Bugs
  2398.  
  2399. Is there a quick way to search for information on Debian GNU/Linux? 
  2400.  
  2401.    There are a variety of search engines that serve documentation related to
  2402.  Debian. 
  2403.  
  2404.  
  2405.  o   Verism's search site.  To obtain information on how to submit a debian
  2406.     bug report, enter the words debian bug submit and search for all of
  2407.     these words.  
  2408.  o   DejaNews news search service.  To find out what experiences people have
  2409.     had with finding drivers for Western Digital controllers, try searching
  2410.     on this phrase: 
  2411.  
  2412.     
  2413.         linux & WD
  2414.  
  2415.      This tells DejaNews to report any postings containing both the  string
  2416.     linux AND the string WD When I used it, I discovered that my WD card
  2417.     (which I have only had for 6 months) has been declared outmoded by
  2418.     Adaptec, now that they have bought WD. So there are no drivers
  2419.     available.  (Bless Adaptec's hearts.) 
  2420.  o   The AltaVista Search Engine can also be used to search Usenet (although
  2421.     it appears to be not quite as up to date as DejaNews). For example,
  2422.     searching on the string "cgi-perl" gives a more detailed explanation of
  2423.     this package than the brief description field in its control file. 
  2424. 
  2425. File: debian-faq.info Node: Bugs, Up: Top, Previous: Support, Next: Buglogs
  2426.  
  2427. The Debian Bug Report System
  2428.  
  2429.  
  2430.  
  2431. * Menu:
  2432.  
  2433. * Buglogs::                     Are there logs of known bugs?
  2434. * bugrpt::                      How do I report a bug in Debian?
  2435. 
  2436. File: debian-faq.info Node: Buglogs, Up: Bugs, Previous: Bugs, Next: bugrpt
  2437.  
  2438. Are there logs of known bugs?
  2439.  
  2440.  The Debian Linux distribution has a bug tracking system which files 
  2441.  details of bugs reported by users and developers. Each bug is given a 
  2442.  number, and is kept on file until it is marked as having been dealt with. 
  2443.  
  2444.  Copies of this information are available at  ( http://www.debian.org/Bugs/ 
  2445.  ) .
  2446.  
  2447.  A mail server provides access to the bug tracking system database via
  2448.  e-mail.  In order to get the instructions send an e-mail to
  2449.  request@bugs.debian.org with "help" in the body.
  2450. 
  2451. File: debian-faq.info Node: bugrpt, Up: Bugs, Previous: Buglogs, Next: Contributing
  2452.  
  2453. How do I report a bug in Debian?
  2454.  
  2455.  If you have found a bug in Debian, please read the instructions for
  2456.  reporting a bug in Debian.  These instructions can be obtained in one of
  2457.  several ways: 
  2458.  
  2459.  
  2460.  o  By anonymous ftp.  Debian mirror sites contain the instructions in the
  2461.     file doc/bug-reporting.txt.  
  2462.  o  From the WWW.  A copy of the instructions is shown at  ( 
  2463.     http://www.debian.org/Bugs/Reporting.html ) 
  2464.  o  On any Debian system with the doc-debian package installed. The
  2465.     instructions are in the file /usr/doc/debian/bug-reporting.txt.  
  2466.  
  2467.  Use these mail addresses for bugs: 
  2468.  
  2469.  
  2470.  o  submit@bugs.debian.org:  for general bug reports.  Expect to get an
  2471.     automatic acknowledgement of your bug report.  It will also be
  2472.     automatically given a bug tracking number, entered into the bug log  and
  2473.     forwarded to the debian-devel mailing list.
  2474.  o  maintonly@bugs.debian.org:  to send bug reports to the maintainer only.
  2475.     It will not be forwarded to the debian-devel mailing list. For example,
  2476.     if one were to identify a bug that was common to many programs, then
  2477.     rather than entering dozens of bug reports, one might prefer to send
  2478.     individual bugs to maintonly, then send a summary report to 
  2479.     debian-devel.
  2480.  o  quiet@bugs.debian.org:  to submit bug reports to the bug log only, 
  2481.     without having them sent either to debian-devel or to the maintainer.
  2482. 
  2483. File: debian-faq.info Node: Contributing, Up: Top, Previous: Bugs, Next: contrib
  2484.  
  2485. Contributing to the Debian project 
  2486.  
  2487.  Donations of time (to develop new packages, maintain existing packages, or
  2488.  provide user support), resources (to mirror the FTP and WWW archives), and
  2489.  money (to pay for new testbeds as well as hardware for the archives) can
  2490.  help the project.
  2491.  
  2492. * Menu:
  2493.  
  2494. * contrib::                     How can I become a Debian software developer?
  2495. * 14.2::                        How can I contribute resources to the Debian project?
  2496. * SupportingOrganizations::     How can I contribute financially to the Debian project? 
  2497. 
  2498. File: debian-faq.info Node: contrib, Up: Contributing, Previous: Contributing, Next: 14.1.1
  2499.  
  2500. How can I become a Debian software developer?
  2501.  
  2502.  The development of Debian is open to all, and new users with the right
  2503.  skills and/or the willingness to learn are needed to maintain existing
  2504.  packages which have been orphaned by their previous maintainers, to develop
  2505.  new packages, and to provide user support.
  2506.  
  2507.  To develop a Debian package, you should: 
  2508.  
  2509.  
  2510.  o  (of course) download Debian and install it on your  system.
  2511.  o  find a program you would like to package that is not presently part of
  2512.     Debian.  In this regard, the  Work Needing and Prospective Packages
  2513.     document (available as  
  2514.     /debian/doc/package-developer/prospective-packages.txt at the Debian FTP
  2515.     server) should serve as a useful guide. 
  2516.  o  Subscribe to debian-devel. 
  2517.  
  2518.     To do this execute    
  2519.  
  2520.     
  2521.                 mail debian-devel-REQUEST@lists.debian.org -s Subscribe
  2522.  
  2523.      That is, send mail to the above address with the subject set to
  2524.     'Subscribe'.
  2525.  o  Publish your plan in debian-devel. 
  2526.  
  2527.     Send a mail to debian-devel that explains what you plan to do. So other 
  2528.     developers can give some hints.
  2529.  o  Set up your PGP key. 
  2530.  
  2531.     Install the PGP package; read /usr/doc/pgp/; generate a  public-secret
  2532.     key pair by typing pgp -kg and answering the questions.  (Be prepared to
  2533.     write some arbitrary text  when asked.  PGP generates its true random
  2534.     numbers by measuring the  intervals between your keystrokes.)
  2535.  o  Shake hands with the project administration: 
  2536.  
  2537.     Send an e-mail to  new-maintainer@debian.org
  2538.  
  2539.     with this content: 
  2540.  
  2541.     
  2542.     --  what you have done,
  2543.     --  who you are, 
  2544.     --  request for an account on master,
  2545.     --  request to be subscribed to debian-private (the developers-only 
  2546.        mailing list). 
  2547.     --  your PGP key, obtained by executing 'pgp -kxa'.
  2548.  o  Make the programs:  .deb, .diff, .tar.gz, .changes. 
  2549.  
  2550.     Use the hello*deb and dpkg*deb packages as guides, and read the policy
  2551.     manual and dpkg programmers manual.
  2552.  o  Upload the files to 
  2553.  
  2554.     
  2555.     -- ftp://master.debian.org/home/Debian/ftp/private/project/Incoming/
  2556.        using your user-name and password, or
  2557.     -- ftp://ftp.chiark.greenend.org.uk/ using anonymous ftp. 
  2558.  
  2559.        For instructions to upload to chiark, read this file at chiark: 
  2560.        /pub/debian/private/project/README.how-to-upload. chiark then sends
  2561.        the files it gets to master.
  2562.  
  2563. * Menu:
  2564.  
  2565. * 14.1.1::                      Are there additional information resources for developers?
  2566. 
  2567. File: debian-faq.info Node: 14.1.1, Up: contrib, Previous: contrib, Next: 14.2
  2568.  
  2569. Are there additional information resources for developers?
  2570.  
  2571.  Besides debian-devel, there are these mailing lists: 
  2572.  
  2573.  
  2574.  o  The SPARC port developers list:  debian-sparc@lists.debian.org.
  2575.  o  The Alpha port developers list: debian-alpha@lists.debian.org.
  2576.  o  The Motorola 680x0 port developers list: debian-68k@lists.debian.org.
  2577.  o  The dpkg development list: debian-dpkg@lists.debian.org.
  2578.  o  Debian for Hams: debian-hams@lists.debian.org.
  2579.  o  Debian package maintainers only: debian-private@lists.debian.org.
  2580.  
  2581.  To subscribe to debian-devel, or other developers' list, send a message to 
  2582.  listmaster@lists.debian.org with a one-line explanation of what you would
  2583.  like to test or develop.
  2584. 
  2585. File: debian-faq.info Node: 14.2, Up: Contributing, Previous: contrib, Next: SupportingOrganizations
  2586.  
  2587. How can I contribute resources to the Debian project?
  2588.  
  2589.  Since the project aims to make a substantial body of software rapidly and
  2590.  easily accessible throughout the globe, mirrors are urgently needed. It is
  2591.  desirable but not absolutely necessary to mirror all of the archive. The
  2592.  current components amount to just over 1.4 GBytes, broken down roughly as
  2593.  follows:
  2594.  
  2595.  
  2596.  o  non-free: 120 MBytes.
  2597.  o  contrib: 30 MBytes.
  2598.  o  Debian-1.3 (including updates): 850 MBytes.
  2599.  o  unstable: 450 MBytes.
  2600.  
  2601.  Most of the mirroring is accomplished entirely automatically by scripts, 
  2602.  without any human intervention.  However, the occasional glitch or system
  2603.  change occurs which requires human intervention.
  2604.  
  2605.  If you have a high-speed connection to the Internet, the resources to
  2606.  mirror all or part of the distribution, and are willing to take the time
  2607.  (or find someone) who can provide regular maintenance of the system, then
  2608.  please contact Bruce Perens (E-Mail:  bruce@pixar.com; Voice (work): 
  2609.  510-215-3502).
  2610. 
  2611. File: debian-faq.info Node: SupportingOrganizations, Up: Contributing, Previous: 14.2, Next: SPI
  2612.  
  2613. How can I contribute financially to the Debian project? 
  2614.  
  2615.  One can make individual donations to one of two organizations that are
  2616.  critical to the development of the Debian project.
  2617.  
  2618. * Menu:
  2619.  
  2620. * SPI::                         Software in the Public Interest
  2621. * FSF::                         Free Software Foundation
  2622. 
  2623. File: debian-faq.info Node: SPI, Up: SupportingOrganizations, Previous: SupportingOrganizations, Next: FSF
  2624.  
  2625. Software in the Public Interest
  2626.  
  2627.  Software in the Public Interest (SPI) is a non-profit organization  formed
  2628.  when FSF withdrew their sponsorship of Debian.  We are currently 
  2629.  incorporating as an IRS 501(c)(3) non-profit organization. The purpose  of
  2630.  the organization is to develop and distribute free software. Our goals are
  2631.  very much like those of FSF, and we encourage programmers to use the GNU
  2632.  General Public License on their programs. However, we have a slightly
  2633.  different focus in that we are building and distributing a Linux system
  2634.  that diverges in many technical details from the GNU system planned by FSF.
  2635.  We still communicate with FSF, and we cooperate in sending them changes to
  2636.  GNU software and in asking our users to donate to FSF and the GNU project. 
  2637.                        
  2638.  
  2639.  SPI can be reached at: 
  2640.  
  2641.  
  2642.  o  E-Mail:  bruce@pixar.com
  2643.  o  Postal address:  
  2644.  
  2645.     
  2646.             Software in the Public Interest
  2647.             P.O. Box 70152
  2648.             Pt. Richmond, CA 94807-0152
  2649.            
  2650.  o  Phone: 510-215-3502 (Bruce Perens at work)
  2651. 
  2652. File: debian-faq.info Node: FSF, Up: SupportingOrganizations, Previous: SPI, Next: Redistributing
  2653.  
  2654. Free Software Foundation
  2655.  
  2656.  At this time there is no formal connection between Debian and the Free
  2657.  Software Foundation. However, the Free Software Foundation is responsible
  2658.  for some of the most important software components in Debian, including the
  2659.  GNU C compiler, GNU Emacs, and much of the C run-time library that is used
  2660.  by all programs on the system. FSF pioneered much of what free software is
  2661.  today: they wrote the General Public License that is used on much of the
  2662.  Debian software, and they invented the "GNU" project to create an entirely
  2663.  free Unix system. Debian should be considered a descendent of the GNU
  2664.  system.
  2665.  
  2666.  When you make a donation to FSF, please be sure to tell them that you are a
  2667.  Debian user. Please contact them at:
  2668.  
  2669.  
  2670.  o  E-mail: gnu@prep.ai.mit.edu
  2671.  o  Postal address: 
  2672.  
  2673.     
  2674.             Free Software Foundation
  2675.             59 Temple Place - Suite 330
  2676.             Boston, MA  02111-1307
  2677.             USA
  2678.            
  2679.  o  Phone number: +1-617-542-5942
  2680.  o  Fax (including Japan): +1-617-542-2652
  2681.  o  Free Dial Fax (in Japan): 0031-13-2473 (KDD), 0066-3382-0158 (IDC)
  2682.  o  On the WWW :  ( http://www.gnu.ai.mit.edu/ ) 
  2683. 
  2684. File: debian-faq.info Node: Redistributing, Up: Top, Previous: Contributing, Next: 15.1
  2685.  
  2686. Redistributing Debian GNU/Linux in a commercial product
  2687.  
  2688.  
  2689.  
  2690. * Menu:
  2691.  
  2692. * 15.1::                        Can I make and sell Debian CDs?
  2693. * 15.2::                        Can Debian be packaged with non-free software?
  2694. * 15.3::                        I am making a special Linux distribution for a vertical market. Can I use Debian GNU/Linux for the guts of a Linux system and add my own applications on top of it?
  2695. * 15.4::                        Can I put my commercial program in a Debian package so that it installs effortlessly on any Debian system?
  2696. 
  2697. File: debian-faq.info Node: 15.1, Up: Redistributing, Previous: Redistributing, Next: 15.2
  2698.  
  2699. Can I make and sell Debian CDs?
  2700.  
  2701.  Go ahead. You do not need permission to distribute anything we have 
  2702.  released, so that you can master your CD as soon as the beta-test ends. You
  2703.  do not have to pay us anything. We will, however, publish a list of CD
  2704.  manufacturers who donate money, software, and time to the Debian project,
  2705.  and we will encourage users to buy from manufacturers who donate, so it is
  2706.  good advertising to make donations. Of course all CD manufacturers must
  2707.  honor the licenses of the programs in Debian. For example, many of the
  2708.  programs are licensed under the GPL, which requires you to distribute their
  2709.  source code.      
  2710. 
  2711. File: debian-faq.info Node: 15.2, Up: Redistributing, Previous: 15.1, Next: 15.3
  2712.  
  2713. Can Debian be packaged with non-free software?
  2714.  
  2715.  Yes. While all the main components of Debian are free software, we provide
  2716.  a non-free directory for programs that are not freely redistributable. CD
  2717.  manufacturers may be able to distribute the programs we have placed in that
  2718.  directory, depending on the license terms or their private arrangements
  2719.  with the authors of those software packages. CD manufacturers can also
  2720.  distribute the non-free software they get from other sources on the same
  2721.  CD. This is nothing new: free and commercial software are distributed on
  2722.  the same CD by many manufacturers now. Of course we still encourage
  2723.  software authors to release the programs they write as free software.
  2724. 
  2725. File: debian-faq.info Node: 15.3, Up: Redistributing, Previous: 15.2, Next: 15.4
  2726.  
  2727. I am making a special Linux distribution for a vertical market. Can I use Debian GNU/Linux for the guts of a Linux system and add my own applications on top of it?
  2728.  
  2729.  Yes. For example, one person is building a Linux for Hams distribution,
  2730.  with specialized programs for Radio Amateurs. He is starting with Debian as
  2731.  the base system, and adding  programs to control the transmitter, track
  2732.  satellites, etc. All of the programs he adds are packaged with the Debian
  2733.  package system so that his users will be able to upgrade easily when he
  2734.  releases subsequent CDs. 
  2735.  
  2736.  Debian also provides a mechanism to allow developers and system
  2737.  administrators to install local versions of selected files in such a way
  2738.  that they will not be overwritten when other packages are upgraded.  This
  2739.  is discussed further in the question on diversions (11.6).
  2740. 
  2741. File: debian-faq.info Node: 15.4, Up: Redistributing, Previous: 15.3, Next: Future
  2742.  
  2743. Can I put my commercial program in a Debian package so that it installs effortlessly on any Debian system?
  2744.  
  2745.  Go right ahead. The package tool is free software.
  2746. 
  2747. File: debian-faq.info Node: Future, Up: Top, Previous: Redistributing, Next: 16.1
  2748.  
  2749. What kind of changes should I expect to see in the next major release of Debian Linux? 
  2750.  
  2751.  
  2752.  
  2753. * Menu:
  2754.  
  2755. * 16.1::                        Increased security
  2756. * 16.2::                        More Support for non-English users
  2757. * 16.3::                        More architectures
  2758. 
  2759. File: debian-faq.info Node: 16.1, Up: Future, Previous: Future, Next: 16.2
  2760.  
  2761. Increased security
  2762.  
  2763.  Debian now has Shadow password.
  2764.  
  2765.  In addition, the Linux library of Pluggable Authentication Modules  ( ( 
  2766.  http://parc.power.net/morgan/Linux-PAM/ ) ;  a.k.a. libpam) that allow
  2767.  sysadmins to choose authorization modes on an application-specific basis
  2768.  will be available, and initially set to authenticate via shadow password.
  2769. 
  2770. File: debian-faq.info Node: 16.2, Up: Future, Previous: 16.1, Next: 16.3
  2771.  
  2772. More Support for non-English users
  2773.  
  2774.  Debian already has some  support for non-English users (5.10). We hope to
  2775.  find people who provide support for even more languages.
  2776.  
  2777.  Some programs already support internationalization, so we need message 
  2778.  catalogs. Many programs still must be internationalized.
  2779.  
  2780.  The GNU Translation Project  ( ftp://prep.ai.mit.edu/pub/gnu/ABOUT-NLS ) 
  2781.  works on internationalizing the GNU programs. 
  2782. 
  2783. File: debian-faq.info Node: 16.3, Up: Future, Previous: 16.2, Next: (DIR)Top
  2784.  
  2785. More architectures
  2786.  
  2787.  Currently a complete Debian release is only available for the i386 
  2788.  architecture. Complete Debian system on other architectures are expected
  2789.  soon.