A new approach to cover interests of specialised 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) |
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 specialised 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
- 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 10) |
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 11) |
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 12) |
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)
- In fact SkoleLinux now is more or less Debian-Edu
- Integrate changes from the French Debian Education distribution
into Debian
- Cooperate with other education-related projects (like SEUL/edu, Ofset, KdeEdu)
- Very active
- Integration of LliureX, LinEX, Guadalinex, ... ?
|
(page 13) |
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 14) |
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
- Latest move: Care about more up to date software
|
(page 15) |
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 16) |
Debian-NP
Debian GNU/Linux for Nonprofit Organisations
- Addresses requirements of small non-profit organisations
- Desktop use in non-profit organisations
- Non-profits often familiar with Free Software
- Many common tasks with other Custom Distributions
- Specialised uses:
- Fund raising
- Developing membership lists
- Conference organisation
- Morphix based Live CD
|
(page 17) |
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 synthesisers
- Speech recognition software
- Scanner drivers and OCR software
- Specialised software like edbrowse (web-browse in the spirit of line-editors)
- Making text-mode interfaces available
- Providing screen reader functionality during installation
|
(page 18) |
Debian-Enterprise
Debian GNU/Linux for Enterprise Computing
- Apply the UserLinux Manifesto
- World class enterprise operating system
- Industry driven shared-cost development model
- Vigorously defends its distinctive trademarks and branding
- Develops extensive and professional quality documentation
- Provides engineer certification through partner organisations
- Certifies the Debian Enterprise GNU/Linux operating system to specific industry
|
(page 19) |
Other possible CDDs
- Debian-eGov
→ Government issues, administration, authorities office, accounting
- Debian-Geo
→ Geographic information systems (GIS)
- Debian-Physics
→ Simulation, statistics, numerics
- Debian-Bio
→ Care for biology related stuff which is currently in Debian-Med
- ???
→ Suggestions?
|
(page 20) |
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 21) |
Why not just forking from Debian?
|
(page 22) |
Meta Packages - Developers point of view
A meta package is a Debian package which contains:
- Dependencies from other Debian packages
- Depend from packages to do a certain task
- Recommend further interesting packages
- Suggest others or non-free packages
- User menu entries (recommended)
- in /etc/cdd/<cdd>/menu/<pkg-name>
- maintained via role based tools
Configuration (optional)
- debconf questions or pre-seeding
- cfengine scripts
- Special meta package: <cdd>-common
|
(page 23) |
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 24) |
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
- 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 25) |
User roles
- Role based user menu system
- User with role <cdd> is provided with additional
menu
- Currently implemented: UNIX group based role system
- Define a list of users in group
<cdd> in /etc/group
- Using debconf questions in
<cdd>-common Package
- Users in this group get extra menu
- Do not bother other users with those additional menus
- Either user has to call update-menus or this can be done in package
postinst script
- Implemented in current Debian-Med packages
- Roles system is implemented by flexible plugins
|
(page 26) |
Tools to develop meta packages
- The package cdd-dev provides development tools
- Scan packages list for available packages
- Build control files from meta packages according to templates
- Build menu entries for user menus in meta packages
- Contains examples how to build meta packages
- cdd-gen-control
- Builds debian/control file
from templates in tasks directory
- Checks sources.list file for
available packages
- cdd-install-helper
- Moves menu files from menu
directory into right place
- Moves documentation files from docs directory into right place
- Creates <cdd>-common package
- Take care for general config file /etc/cdd/<cdd>/<cdd>.conf
- Usage of these tools is strongly recommended
- Debian-Med packages provide a working example
|
(page 27) |
Common dependency package
Using cdd-dev introduces
dependency from cdd-common
- Creates common registry for all CDDs in /etc/cdd
- Configuration file /etc/cdd/cdd.conf
- Set DBBACKEND (currently only unixgroups implemented)
- Settings can be overridden by /etc/cdd/<cdd>/<cdd>.conf
- cdd-role: add/remove roles in registered CDD
- cdd-update-menus: add menu to all CDD users
(users have to call update-menus
if not done in postinst script)
- cdd-user: add/remove user to role of a registered CDD
|
(page 27) |
Quick intro into building meta packages
$ cp -a /usr/share/doc/cdd-dev/examples/tasks .
$ cat tasks/README
$ edit tasks/task1
Description: short description
long description as in any debian/control file
Depends: dependency1, dependency2, ...
→ For each meta package this skeleton of a
debian/control entry is needed
- see /usr/share/doc/cdd-dev/examples/tasks
|
(page 28) |
The packaging directory
$ cp -a /usr/share/doc/cdd-dev/examples/debian .
$ cat debian/README
$ edit debian/control.stub
change the variables to match your CDD
$ edit debian/rules
change the variable _CDD_ to your
CDD
$ make -f debian/rules dist
- you get your tar.gz source which you can copy anywhere and do
$ debuild
→ In principle you are ready.
|
(page 29) |
The common meta package (optional)
$ cp -a /usr/share/doc/cdd-dev/examples/common .
$ cat common/README
$ edit common/conf common/control common/common.1
change the variables to match your CDD
→ Initialisation of role based menu system
- meta packages will automatically depend from common package
- installs auto-apt helper
- strongly suggested
|
(page 30) |
The meta package menus (optional)
$ cp -a /usr/share/doc/cdd-dev/examples/menu .
$ cat menu/README
$ edit menu/task1
Edit the example to legal menu entries of the
dependencies of this meta package
$ cp menu/task1 menu/<meta package name>
→ Provides role based user entries for each meta package
- when the relevant entry in the menu
directory is missing a warning is issued for the respective meta
package
|
(page 31) |
Menu for any dependency (optional)
$ cp -a /usr/share/doc/cdd-dev/examples/docs .
$ cat docs/README
$ edit docs/task1/dep1
Provide information about package which
depends from meta package but does not contain a useful menu
entry
$ cp docs/task1/dep1 docs/task1/<dependant
pkg>
$ cp -a docs/task1 docs/<meta package name>
→ Provide a menu entry for any of the dependencies even if it is only calling a viewer with relevant documentation
|
(page 32) |
Documentation & Translation
|
(page 33) |
Communication
|
(page 34) |
To do
- Create common web page about general CDD issues
- 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
- Customise chroot environment for intended purpose
- Create ISO image from chroot environment
- Make use of debix
- Fabian Franz is working on this stuff
|
(page 35) |
Future
|
(page 36) |
Further Information
|
(page 37) |