Customizing Debian

Benjamin Mako Hill

mako@canonical.com

mako@debian.org

http://mako.yukidoke.org

Ubuntu

Debian GNU/Linux Project

Based on a talk given at:

New York Linux Use Group – 2004-11-17

The World of Debian Customizers

There are 115 distributions derived from Debian.

AbulÉdu • Adamantix • AGNULA GNU/Linux Audio Distribution • ANTEMIUM Linux • Arabbix • ARMA aka Omoikane GNU/Linux • ASLinux • Auditor Security Linux • Augustux • B2D Linux • BEERnix • Biadix • BIG LINUX • Bioknoppix • BlackRhino • Bluewall GNU/Linux • Bonzai Linux • BrlSpeak • Càtix • CensorNet • Clusterix • ClusterKNOPPIX • Condorux • Damn Small Linux • Danix • DebXPde • eduKnoppix • ERPOSS • ESware • Euronode • FAMELIX • Feather Linux • Flonix • Vital Data Forensic or Rescue Kit (FoRK) • Freeduc-cd • GEOLivre Linux • Gibraltar Firewall • GNIX-Vivo • Gnoppix Linux • gnuLinEx • GNU/Linux Kinneret • GNUstep Live CD • grml • Guadalinex • Helix • Hiweed Linux • Impi Linux • Julex • K-DEMar • Kaella • Knoppix Linux Azur • Kalango Linux • KANOTIX • KlusTriX • knopILS • Knoppel • Knoppix • Knoppix 64 • Knoppix STD • KnoppiXMAME • KnoppMyth • Kurumin Linux • LAMPPIX • Libranet GNU/Linux • LIIS Linux • LinEspa • Linspire • Linux Live Game Project • Linux Loco • LinuxDefender Live! CD • Linuxin • LiVux • Local Area Security Linux (L.A.S.) • Luinux • Luit Linux • MAX: Madrid_Linux • Mediainlinux • MEPIS Linux • Metadistro-Pequelin • MIKO GNYO/Linux • Morphix • Munjoy Linux • Nature's Linux • NordisKnoppix • OGo Knoppix • Oralux • Overclockix • Quantian • Penguin Sleuth • PHLAK • PilotLinux • Progeny Debian • Rays Linux • ROSLIMS Live CD • Salvare • Santa Fe Linux • Shabdix GNU/Linux • Skolelinux • Slavix • Slix • Slo-Tech Linux • Soyombo Mongolian Linux • SULIX • Tablix on Morphix • Tilix Linux • TupiServer Linux • Ubuntu Linux • UserLinux • WHoppiX • X-evian • Xfld • Xandros Desktop OS • Xarnoppix • ZoneCD • Zopix

The World of Debian Customizers

The most recognizable include:

Knoppix

Linspire/Lindows

MEPIS

Ubuntu

UserLinux

Xandros

Debian: Ultra Quick Facts

Debian contains what is 15,000+ packages (and adding 5 each day);

Debian consists of 1,000 official volunteers;

Debian includes the work of many companies and organizations;

Debian is 100% free software;

Debian has very good package management;

One Size Does Not Fit All

To Fork or Not To Fork

Goals of Customizers Overview

The goals and problems of customizers include:

Custom software selection

Custom software configuration

Software replacement

Custom installers/environments

Plus:

Gain from others work

Share your work

Selecting Packages

Task packages

Metapackages

Debtags

Package Selection Details

Meta-Packages

Source: userlinux-emterprise-desktop

Section: userlinux

Priority: optional

Maintainer: Bruce Perens <bruce@perens.com>

Standards-Version: 3.5.8

Package: userlinux-desktop

Architecture: all

Depends: bash, cupsys, cupsys-client, eclipse-sdk, epiphany, evolution, gaim,

gfax, ghfaxviewer, gimp, gimp-data-extras, gimp-manual, gimp-perl, gimp-python,

gimpprint-doc, gimpprint-locales, gnome, gnome-control-center, gnome-core,

gnome-cups-manager, gnome-games, gnome-media, gnome-system-monitor, gnome-system-tools,

gnome-terminal, gnome-utils, gthumb, hylafax-client, hylafax-doc, hylafax-server,

kernel-image-2.6-386, mozilla, myspell-dictionary, ooqstart-gnome, openoffice.org,

openoffice.org-help, openoffice.org-hyphenation, openoffice.org-mimelnk,

openoffice.org-thesaurus, pan, planner, rhythmbox, samba, smbclient, smbfs, tomcat4,

totem, usermin-postgresql, wine, wine-doc, wine-utils, winesetuptk, x-ttcidfont-conf,

xchat

Description: Installs the UserLinux desktop software packages.

UserLinux is a logical subset of the Debian system. Installing this package

will cause all of the software packages that are a standard part of the

UserLinux desktop system to be installed.

Debtags

Configuring Packages

Debconf preseeding

Low-priority (or unasked) Debconf Questions

cfengine tweaks

Debconf Examples

cfengine Tweaks

editfiles:

{ $(ftp)/etc/passwd

AutoCreate

EmptyEntireFilePlease

AppendIfNoSuchLine "ftp:x:$(uid):$(gid):Anonymous FTP:$(ftp):/bin/sync"

}

{ $(ftp)/etc/group

AutoCreate

EmptyEntireFilePlease

AppendIfNoSuchLine "ftp::$(gid):"

}

{ $(ftp)/etc/shadow

AutoCreate

EmptyEntireFilePlease

AppendIfNoSuchLine "ftp:NP:6445::::::"

}

Replacing Packages

Shared package repositories

Version Control Magic

Creating Custom Installers/Environments

Examples:

Progeny uses Anaconda, the Redhat installer, to install their Debian based system.

Knoppix, Morphix, etc. are "Live" distributions meant to be run off a CD.

Summary

Problem: Debian is great -- But can't be everything everyone wants it to be at once.

Answer: Balance the global and local in creating infrastructure to:

Select software

Configure software

Replace software

Install and run software in different ways

Result:

A complex and varied set of approaches.

A single united goal of inter-project and inter-distribution collaboration and Total World Domination.

2004-06-03T08:52:33