Custom Debian Distributions

The missing link between developers and users

This was hold at the Firenze World Vision 2004 in the user oriented official part.

24. September 2004

Abstract

After the Open Source World Conference Custom Debian Distributions did a really great spin of. An extensive documentation now describes the goals and techniques very detailed. This talk covers an overview about the current state and the latest development issues.

Here you can find the MagicPoint source including the necessary MagicPoint style of the talk.
Also the pre-formated slides are available.

Custom Debian Distributions

The missing link between developers and users

(page 1)

Overview

(page 2)

What is Debian?

  • Linux is just the kernel of your operating system.
  • You need a lot of applications around.
  • Those collections of software around the Linux kernel is called operating system or distribution.
  • Companies who build such distributions are called distributors.
  • They make money by selling their distribution in boxes, doing support and training.
  • You might know Mandrake, RedHat, SuSE^H^H^H^HNovell and others.
  • Debian is just one of them.
(page 3)
Sorry.
That was wrong.
(page 4)

What is Debian? (next try)

The Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system that we have created is called
Debian GNU/Linux,
or simply Debian for short.
Moreover, work is in progress to provide Debian for other kernels, including in particular the Hurd and NetBSD. There have even been discussions of a possible port to Windows.
(page 5)

What are Custom Debian Distributions?

  • Debian contains nearly 10000 binary packages
  • General users interested in a subset of those packages
  • Care for special groups of target users with different skills and interests
  • Not only handy collections of specific program packages but care for easy installation and configuration for the intended purpose.
  • No fork from Debian

→ Basic idea: Do not make a separate distribution but make Debian fit for special purpose instead

(page 6)

Motivation

  • Support of target users with common profile:
    • Less technical competence
    • Not able to install upstream programs with acceptable effort
    • No interest in administration
    • Interest in defined subset of available free software
    • Need for easy usage
    • Defined security profile
    • Language barrier
  • Support of administrators with common profile:
    • Limited time frame
    • Seeking for time saving in often repeated tasks
    • Lack of specialist knowledge
(page 7)

Status of specialised free software

  • Hard to install
  • Hard to maintain
  • Need for special configuration
  • Sometimes hard to use because (lack of user interface)
  • Strange Licenses
  • Orphaned upstream
  • Porting issues (architectures, byte order, 32 vis 64 bit)
  • Parallel development of the same functionality
  • Used tools or back ends are not intended for those applications

→ Lack of an integrated framework

(page 8)

General problem

  • Free Software development is kind of evolutionary process
  • Needs a critical mass of supporters which are
    • programmers
    • users
  • Specialised software has a limited set of users (specialists)
  • Results in a limited set of programmers
  • We have to attract both groups to get it working ...

→ We are the missing link between upstream developers and users

(page 9)

Existing Custom Debian Distributions

(page 10)

Debian - adaptable for any purpose?

  • Developed by about 1000 volunteers
  • Flexible, not bound on commercial interest
  • Strict rules (policy) glue all things together
  • Common interest of each individual developer to get the best operating system for himself
  • Developers have children in real life or work in the field of medicine etc.
  • In contrast to employees of companies every single Debian developer has the freedom and ability to realize his vision
  • Do-O-Cracy = "The doer decides"
(page 11)

Why not just forking from Debian?

  • Separate distribution would cost extra effort
    • Would be hardly better than Debian
    • Continuous work to keep base system, installer etc up to date
    • Nearly impossible to get security fixes as fast as Debian
    → Forking would be a bad idea.
  • Integration into Debian has advantages
    • Huge user base all over the world thus becoming public on the back of Debian
    • Secure and stable system without extra effort
    • Bug Tracking System for free
    • Infra structure (HTTP-, FTP-, Mailserver, PKI, ...) for free
  • Bringing back something to Debian
    • Enhancing quality of packages by making them more user friendly
(page 12)

Meta Packages - Users point of view

  • Collection of specific software
    • No research for available software necessary
    • User is not forced to browse the whole package list of Debian
    • Easy comparison between software covering the same task
    • Safety against accidental removal of dependencies
    • Conflicts to incompatible packages
    • Easy installation
    • Low effort for administration
  • Documentation packages
    • Packaging and creating of relevant documentation
    • Translation
(page 13)

Handling of meta packages

  • No special help by usual package handling tools
  • Tricks to obtain informations about meta packages
    (Mentioned in Custom Debian Distributions paper)
  • Target of future development
    • Searching for existing meta packages
    • Overview about dependencies
    • Enhancing tools like aptitude, synaptic, etc.
    • Special tasksel section
    • Web tools which keep meta package information up to date
    • Find a set of keywords for each Custom Distribution and write a tool to search comfortable
    • Make use of Debian Package Tags
(page 14)

User roles

  • Role based user menu system
  • User with role <cdd> is provided with additional menu
  • Do not bother other users with those additional menus
  • Implemented in current Debian-Med packages
  • Roles system is implemented by flexible plugins
(page 15)

Developing meta packages

  • The package cdd-dev provides development tools
    • Examples and templates to fill in dependencies
    • Verification of dependencies inside distribution
    • Simple method to provide user menus
    • Verification of dependencies
    • Creates <cdd>-common package
  • Package <cdd>-common: user roles configuration
  • Usage of these tools is strongly recommended
  • Debian-Med packages provide a working example
(page 16)

Documentation & Translation

(page 17)

Communication

(page 18)

What is a (customised) live CD?

  • Boot an operating system
  • Autodetect hardware
  • Copy writable data to RAM disk and mount it writable
  • Configure and start services
  • Contain all applications for a certain task ready to run
  • User is able to
    • Work with his special applications
    • Carry his own environment around
    • Demonstrate (or even show off using) his fine system
  • Leave the local harddisk untouched
(page 19)

Further usage of live CDs

  • Frisbee
  • Coffee coaster
  • Prevent birds to fly into your window
  • Stencil for circles with two different radius sizes
  • Installer for your system
    → Ups, sorry this breaks the definition above because we did not want to touch the local hard disk.
    Well, it works as all the other possibilities but this is not what I want to talk about today.
(page 20)

Selection of Debian based live CDs

(page 21)

Mastering a live CD - the right way™

  • Today Knoppix-Remastering:
    Get Knoppix-ISO and remove files
    → Makes no sense even with bittorrent
  • Tomorrow Knoppix-Mastering:
    "Basic-Knoppix" in chroot and adding packages
    → Integrate Knoppix build system into Debian
    • Might be an Custom Distribution for itself
    • Creation and customisation of live CDs from native Debian mirror
      • debootstrap
      • Install Knoppix stuff into chroot environment
      • Customise chroot environment for intended purpose
      • Create ISO image from chroot environment
      • Make use of debix
        → Portable to other architectures (PowerPC)
(page 22)

To do

  • Enhance tools for handling meta packages
  • Fix tasksel to present list of CDDs
  • Debian Package Tags
  • Integrate live CD build system into Debian
(page 23)

Future

(page 24)

Further Information

(page 25)

Homepage Andreas Tille