care and feeding of debian

der.hans plug-discuss@lists.plug.phoenix.az.us
Tue, 3 Sep 2002 21:12:24 -0700 (MST)


moin, moin,

here's something I wrote up concerning the care and feeding of debian for
people not versed in 'the way of debian[TM]' :).

Please feel free to send me suggestions and critiques, especially if I've
left out something important, which is quite likely.

***

NOTE: much of this requires an active connection to the Internet.
NOTE: many commands require root privileges.
NOTE: login using your personalized account, then use 'su' to gain root
privileges when needed.

Upgrading
Setup /etc/apt/sources.list ( see below for how ), then use "apt-get
update" to get the current listing of available packages. Use "apt-get
-u dist-upgrade" to update to the latest version of everything you have
installed.

If during the dist-upgrade you get errors with packages not being available,
rerun the update.

"dpkg --configure -a" and "apt-get -f install" will fix most other problems
that might come up during a dist-upgrade.

debian supports several different 'distributions', stable, testing and
unstable. See below for more on the different dists and which to track.

Installing and removing packages
To install a package, use "apt-get install", e.g. "apt-get install
apache". Don't forget to do an update first to make sure you have the most
recent list of available packages.

To remove a package use "apt-get remove", e.g. "apt-get remove katomic". If
you want to remove the configuration files as well as the package, for
instance when the package configuration is in a bad state, use the "--purge"
option for "apt-get remove", e.g. "apt-get --purge remove at".

To install from a dist you're not tracking ( see documentation on
/etc/apt/preferences below ) use the "-t" option to "apt-get install" and
say which "distribution" you want to choose from, e.g. "apt-get -t testing
install konqueror".

Changing configurations
If a package used debconf for configuration ( most do at this point ) you
can use "dpkg-reconfigure", e.g. "dpkg-reconfigure apache", to reconfigure
the options set at installtime.

package sources
/etc/apt/sources.list holds the locations for package repositories you
use. If used with /etc/apt/preferences, then it's fine to include multiple
debian "distributions". See "man sources.list" for info on how to configure
it by hand or use gtk-sources or aptconf to configure it.

apt_preferences
The preferences for apt are an important evolution in software
packaging. The primary use is to pin a specific debian distribution. A
pin-priority allows getting package lists from multiple dists, yet only
installing from one. See the apt_preferences man page for more info. Use the
'-t' option to apt-get to choose a specific distribution, e.g. 'apt-get -t
testing install gnucash'.

Which package and versions
Use 'dpkg -S' to find out what package a file is from, e.g. 'dpkg -S
httpd.conf'. Use 'apt-cache search' to look look through installable
packages, e.g. 'apt-cache search game | less'. Use 'apt-cache show'
to get information about an installable package, e.g. 'apt-cache show
falconseye'. Use 'dpkg -l' to find out what version of a package is
installed, e.g. 'dpkg -l vim'.

'distributions'
debian uses a distribution concept to provide testing for a release and
track releases. The current release is called 'stable', the release being
tested and working it's way towards stable release is naturally called
'testing'. The no man's land of possibly experimental packaging is called
'unstable', aka Sid, the maniacal kid from Toy Story who delighted in
breaking toys. testing release names are traditionally taken from Toy Story
and stay with the dist as it's promoted to the stable release and finally
replaced by the subsequent stable release after it.

Alternatives
Many programs have multiple implementations providing the same
functionality, such as vim, nvi, and elvis for 'vi'. The alternatives
system allows for multiple programs to be installed, but still have one
of them be the 'official' implementation for the functionality. This
also allows for pseudo commands like 'editor' and 'window-manager'. Use
'update-alternatives' to admin the alternatives soft-link farm.

Administration tips
Many scripts for managing things like the run-level soft-link farms,
inetd.conf, and debian's alternatives system start with the word 'update',
e.g. update-rc.d, update-inetd, and update-alternatives.

Reporting bugs
An important part of using debian is reporting bugs and wishlist items. Use
'reportbug' to report bugs. It automagically grabs dependency and version
information important for the package maintainer. http://bugs.debian.org/
followed by a package name is a short cut to the bug list for the package,
e.g. http://bugs.debian.org/konqueror.

Documentation
The 'apt-howto' package has further documentation about the
apt system. Package documentation goes in /usr/share/doc, e.g.
/usr/share/doc/apache.

Misc.
As programs are installed the original packages get stored in
/var/cache/apt/archives. They are not automagically deleted. Run 'apt-get
clean' once in a while to delete old package files.

apt-get can install specific release of a package with the equals sign, e.g.
'apt-get install vim=7.1.018'. The part of the release number after the dash
is the debian package number for that particular source package release.

***

I'm hoping that GUI tools will simplify all this, but in the meantime I want
a document I can point people at to get them started.

For those debianites on the list, let's figure out how to turn this into a
song, then we can chant it at the InstallFests and in the classes ;-).

ciao,

der.hans
-- 
#  https://www.LuftHans.com/
#  "The purpose of IT is to seamlessly and transparently provide the other
#  9/10's of the [iceberg] for people who need to work with chunks
#  of floating ice." -- Strata Rose Chalup