Customizing

Benjamin Mako Hill [email protected] [email protected] http://mako.yukidoke.org

Based on a talk given at: New York Linux Use Group – 2004-11-17 Debian GNU/Linux Project

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org 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 • 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

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org The World of Debian Customizers

The most recognizable include:

● Knoppix

● Linspire/Lindows

● MEPIS

● Ubuntu

● UserLinux

● Xandros

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org 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;

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org One Size Does Not Fit All

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org To Fork or Not To Fork

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org 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

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org Selecting Packages

● Task packages

● Metapackages

● Debtags

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org Package Selection Details ● Meta-Packages

S o u r c e : u s e r l i n u x - e m t e r p r i s e - d e s k t o p S e c t i o n : u s e r l i n u x P r i o r i t y : o p t i o n a l M a i n t a i n e r : B r u c e P e r e n s < b r u c e @ p e r e n s . c o m > S t a n d a r d s - V e r s i o n : 3 . 5 . 8 P a c k a g e : u s e r l i n u x - d e s k t o p A r c h i t e c t u r e : a l l D e p e n d s : b a s h , c u p s y s , c u p s y s - c l i e n t , e c l i p s e - s d k , e p i p h a n y , e v o l u t i o n , g a i m , g f a x , g h f a x v i e w e r , g i m p , g i m p - d a t a - e x t r a s , g i m p - m a n u a l , g i m p - p e r l , g i m p - p y t h o n , g i m p p r i n t - d o c , g i m p p r i n t - l o c a l e s , g n o m e , g n o m e - c o n t r o l - c e n t e r , g n o m e - c o r e , g n o m e - c u p s - m a n a g e r , g n o m e - g a m e s , g n o m e - m e d i a , g n o m e - s y s t e m - m o n i t o r , g n o m e - s y s t e m - t o o l s , g n o m e - t e r m i n a l , g n o m e - u t i l s , g t h u m b , h y l a f a x - c l i e n t , h y l a f a x - d o c , h y l a f a x - s e r v e r , k e r n e l - i m a g e - 2 . 6 - 3 8 6 , m o z i l l a , m y s p e l l - d i c t i o n a r y , o o q s t a r t - g n o m e , o p e n o f f i c e . o r g , o p e n o f f i c e . o r g - h e l p , o p e n o f f i c e . o r g - h y p h e n a t i o n , o p e n o f f i c e . o r g - m i m e l n k , o p e n o f f i c e . o r g - t h e s a u r u s , p a n , p l a n n e r , r h y t h m b o x , s a m b a , s m b c l i e n t , s m b f s , t o m c a t 4 , t o t e m , u s e r m i n - p o s t g r e s q l , w i n e , w i n e - d o c , w i n e - u t i l s , w i n e s e t u p t k , x - t t c i d f o n t - c o n f , x c h a t D e s c r i p t i o n : I n s t a l l s t h e U s e r L i n u x d e s k t o p s o f t w a r e p a c k a g e s . U s e r L i n u x i s a l o g i c a l s u b s e t o f t h e D e b i a n s y s t e m . I n s t a l l i n g t h i s p a c k a g e w i l l c a u s e a l l o f t h e s o f t w a r e p a c k a g e s t h a t a r e a s t a n d a r d p a r t o f t h e U s e r L i n u x d e s k t o p s y s t e m t o b e i n s t a l l e d .

Debtags

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org Configuring Packages

● Debconf preseeding

● Low-priority (or unasked) Debconf Questions

● cfengine tweaks

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org Debconf Examples

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org cfengine Tweaks

e d i t f i l e s :

{ $ ( f t p ) / e t c / p a s s w d

A u t o C r e a t e E m p t y E n t i r e F i l e P l e a s e A p p e n d I f N o S u c h L i n e " f t p : x : $ ( u i d ) : $ ( g i d ) : A n o n y m o u s F T P : $ ( f t p ) : / b i n / s y n c " }

{ $ ( f t p ) / e t c / g r o u p

A u t o C r e a t e E m p t y E n t i r e F i l e P l e a s e A p p e n d I f N o S u c h L i n e " f t p : : $ ( g i d ) : " }

{ $ ( f t p ) / e t c / s h a d o w

A u t o C r e a t e E m p t y E n t i r e F i l e P l e a s e A p p e n d I f N o S u c h L i n e " f t p : N P : 6 4 4 5 : : : : : : " }

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org Replacing Packages

● Shared package repositories

● Version Control Magic

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org 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.

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org 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.

Benjamin Mako Hill Barcelona LUG: Customizing Debian http://mako.yukidoke.org