The talk is intended to people who are interested in the philosophy for
Custom Debian Distributions and the technique which is used to manage
those projects. It is explained in detail why this are no forks from
Debian but reside completely inside the Debian GNU/Linux distribution
and which advantages can by gathered by this approach. The concept of
meta-packages and user role based menus is explained.
Custom Debian Distributions
|
(page 1) |
Overview
- What are Custom Debian Distributions?
- Debian - adaptable for any purpose?
- Technology
- Future
|
(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 and others.
- Debian is just one of them.
|
(page 3) |
Sorry.
That was wrong.
|
(page 4) |
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 than Linux
kernels, primarily for the Hurd. Other possible kernels are BSD and
even ports to MS Windows are planed.
- Web of trust
- Differences to other distributions
|
(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) |
Looking beyond
- Commercial Linux distributors sell certain products
- Enterprise (Corporate Server - Mandrake, Advanced Server - Red Hat, Enterprise Server - SuSE)2
- Workstation or home editions, Office desktops
- Special task products
- Mail server (SuSE Linux Openexchange Server)
- Firewall (Multi Network Firewall - Mandrake, SuSE Firewall on CD)
- Cluster (Mandrake Clustering)
- Content Management System (Red Hat)
- Portal Server (Red Hat)
- These products address specific user interests
→ Debian uses Custom Distributions
|
(page 7) |
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
- Support of administrators with common profile:
- Limited time frame
- Seeking for time saving in often repeated tasks
- Lack of specialist knowledge
|
(page 8) |
Status of specialized free software
- Hard to install
- Hard to maintain
- Hard to use because of lacking GUI
- Strange Licenses
- Orphaned upstream
- Porting issues (architectures, byte order, 32 vis 64 bit)
- Data format not exchangeable
- Parallel development of the same functionality
- Used tools or back ends are not intended for those
applications
→ Lack of an integrated framework
|
(page 9) |
General problem
- Free Software development is kind of evolutionary process
- Needs a critical mass of supporters which are
- Specialized 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 10) |
History of Custom Debian Distributions (1)
- Debian-Junior
- Start: beginning of 2000
- Initiator: Ben
Armstrong <synrg@debian.org>
- First Custom Distributions - in fact the idea of Custom
Distributions was born
- Released in the current stable Debian code name Woody
- Debian-Med
- Start: beginning of 2002
- Initiator: Andreas
Tille <tille@debian.org>
- Adapted ideas from Debian-Junior and added some stuff
- Debian-Edu
- Start: just starting
- Initiator: Raphaël
Hertzog <hertzog@debian.org>
- Bringing back a fork from Debian
- Demudi
- Start: not really started yet
- Initiator: Marco
Trevisani <marco@centrotemporeale.it>
- Bringing back a fork from Debian
|
(page 11) |
History of Custom Debian Distributions (2)
- Debian-Desktop
- Start: October 2002
- Initiator: Colin Walters <walters@debian.org>
- Many common issues with other Custom Distributions
- Debian-Lex
- Start: April 2003
- Initiator: Jeremy Malcolm <Jeremy@Malcolm.id.au>
- Debian for lawyers
- Debian-NP
- Start: July 2003
- Initiator: Benjamin Mako Hill <mako@debian.org>
- Debian for Nonprofit Organizations
- Other possible projects:
- debian-accessibility
(suggested by Mario Lang)
- Authorities
- Office
- Enterprise / accounting
- ???
|
(page 12) |
Debian-Junior
Debian for children from 1 to 99
- Make Debian an OS that children of all ages will want
to use
- Making it so nice that they like it
- Making it a playground for children experiments
- Not only providing games but care for their quality
- Main target are young children, teens should become comfortable
with using Debian without any special modifications
|
(page 13) |
Debian-Med
Debian in Health Care
- Integrated software environment for all medical tasks
- Special care for the quality of program packages in the field of medicine
which are integrated in Debian yet
- Building packages of medical software which are missing inside Debian and
inclusion of those packages
- Caring for a general infrastructure for medical users
- Efforts to increase the quality of third party software
|
(page 14) |
Debian-Edu
Debian for educational purposes
- Make Debian the best distribution available for educational
use
- Federate many initiatives around education (which are partly based on
forks of Debian)
- Integrate changes from the French Debian Education distribution
into Debian
- Cooperate with Debian based SkoleLinux in Norway
- Cooperate with other education-related projects (like Seul, Ofset, KdeEdu)
- Just started, mailing list and web site in preparation
|
(page 15) |
DeMuDi
Debian Multimedia Distribution
- Currently not announced as official Custom Distribution but
coordinator is in touch
- Oriented toward music and multimedia
- Make GNU/Linux a platform of choice for the musician
and the multimedia artist
- Part of a project funded by the European Community, called
AGNULA
- Initiator is not yet Debian developer but you are able to work on Debian
without being an official developer
|
(page 16) |
Debian-Desktop
Debian GNU/Linux for everybody
- best possible operating system for home and corporate workstation use
- Motto: "Software, which just works"
- Desktops like Gnome and KDE should coexist well in Debian and
work optimal
- Easy usage for beginners without restrictions of flexibility
for experts
- Easy configuration (hardware-detection)
- Internationalisation
|
(page 17) |
Debian-Lex
Debian GNU/Linux for Lawyers
- lex originates from latin word for law
- Complete system for all tasks in legal practice
- Add value to existing packages by providing customised templates for lawyers
- OpenOffice.org
- SQL-Ledger
- Sample database schema for PostgreSQL.
|
(page 18) |
Debian-NP
Debian GNU/Linux for Nonprofit Organizations
- Adresses requirements of small non-profit organizations
- Desktop use in non-profit organizations
- Non-profits often familiar with Free Software
- Many common tasks with other Custom Distributions
- Specialized uses:
- Fund raising
- Developing membership lists
- Conference organisation
|
(page 19) |
Debian Accessibility Project
Debian for blind and visually impaired people
- Debian accessible to people with disabilities
- Special care for
- Screen readers
- Screen magnification programs
- Software speech synthesizers
- Speech recognition software
- Scanner drivers and OCR software
- Specialized software like edbrowse (web-browse in the spirit of line-editors)
- Making text-mode interfaces available
- Providing screen reader functionality during installation
|
(page 20) |
Why not just forking from Debian?
|
(page 21) |
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
- Thus single developers have influence on development - they
just have to do it
|
(page 22) |
Technology (1): Meta Packages
- 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
- Adapted configuration inside meta packages
- Care for special needs of project users
- Documentation packages
- Packaging and creating of relevant documentation
- Translation
|
(page 23) |
Handling of meta packages
- Overview over
- Command line tools
- Text user interfaces
- Graphical user interfaces
- Web interfaces
- Hints for administration
- Future development
|
(page 24) |
Command line tools
apt-cache
Search for relevant keywords in package descriptions
~> apt-cache search med | grep '^med-'
|
→ Not really straightforward currently
grep-dctrl
~> grep-dctrl -r ': med-' /var/lib/dpkg/available | grep -v '^[ SIMAVF]' | grep -v '^Pri'
|
→ Also a bit cryptic
auto-apt
~> sudo auto-apt update
~> auto-apt -x -y run
|
&rarr Cool! But you do not really want it on a production machine ...
|
(page 25) |
Text user interfaces
dselect
- Provides no special help for installing meta packages
tasksel
- Debian Task Installer
- End-user section contains entry for each Custom Distribution
- Easy installation
aptitude
- Better replacement for dselect
- Searching for and grouping of packages
|
(page 26) |
Graphical user interfaces
gnome-apt
- Package -> Search -> "junior-*"
- Reasonable overview about meta packages of project
synaptic
- Synaptic's filters are a great tool here.
kpackage
- Similliar to both above regarding features
- For KDE lovers
|
(page 27) |
Web interfaces
Web search
Package Tracking System
→ Also not really straightforward currently
but becoming comfortable with the Package Tracking System is an
extra plus here :-)
/usr/share/doc/junior-doc/examples/scripts/list-junior
→ Not yet a tool but a start of it
|
(page 28) |
Future handling of meta packages
- Obviously there are no nifty tools as you might know them from
Debian available yet.
- Tools which grep the apt cache directly for meta packages have
to be written.
- Policy agreement about additional flag for debian/control file
- Find a set of keywords for each Custom Distribution and write a
tool to search comfortable
- Make use of Debian Package Tags
|
(page 29 |
Tools to develop meta packages
- Building a meta package is more or less equal for each meta
package
- Those stuff should be parameterised and supported by tools to
- Make it easier
- Reduce probability of bugs
- There is no common agreement about this but at least Debian-Med
is using the med-common-dev for package
building
- Each Debian-Med package build-depends from this package which
provides templates and tools for meta package building and some
examples
|
(page 30) |
Technology (2): User menus
- Define a list of sub project users using debconf to manage groups like junior
and med in /etc/group
- These users are provided with an extra menu
- Do not bother other users with those additional menus
- Provide script update-subproject to
update user menus after new package installation or additions
of users to those groups
- Current Debian-Med packages give an idea of the look and
feel
|
(page 31) |
User menu tools
Package med-common contains debconf scripts to configure project users
|
(page 32) |
General menu rewrite
- Currently Debian menu system is completely rewritten
- Debian packages update general menu after installation
automatically
- Key features like user roles and translation will be added
- Plan: Meta packages contain role specific menu entries which
are updated on a per user basis
- Enabling clean administration of multi user systems
|
(page 33) |
Documentation
- All Custom Distributions care especially for documentation and
translation because target users have big need for this
- Have a close look on <project>-doc
packages!
- Ben Armstrong has started a Debian Subproject HOWTO:
It explains how to start and maintain a Custom Debian Distribution
in general
|
(page 34) |
To do
- Create a common mailing list (#160229)
- Update tasksel (#186085)
- Debian Package Tags
- Integrate Knoppix build system into Debian
- Might be an Custom Distribution for itself
- Enabling easy creation and customisation of Knoppix derivatives from native Debian mirror
- debootstrap
- Install Knoppix stuff into chroot environment
- Customize chroot environment for intendet purpose
- Create ISO image from chroot environment
- Make use of Jigdo
- Fabian Franz is working on this stuff
|
(page 35) |
Future
- First Custom Distributions evolved
- Tools for better support have to be developed
- Spreading the idea to developers and users
- Provide customized Knoppix CDs of projects
|
(page 36) |
Further Information
|
(page 37) |