Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 /15 Design and Implementation of the Custom Debian Distributions Toolkit (CDDT) 17 February 2006 Sergio Talens-Oliag II Open Source World.

Similar presentations


Presentation on theme: "1 /15 Design and Implementation of the Custom Debian Distributions Toolkit (CDDT) 17 February 2006 Sergio Talens-Oliag II Open Source World."— Presentation transcript:

1 1 /15 Design and Implementation of the Custom Debian Distributions Toolkit (CDDT) 17 February 2006 Sergio Talens-Oliag sto@debian.org II Open Source World Conference Málaga 2006

2 2 /15 What is Debian? ● The Debian Project is an association of individuals who have made common cause to create a free operating system. ● This operating system is based on the Linux Kernel and the GNU tools and is called Debian GNU/Linux, or simply Debian for short. ● There is work in progress to support other Unix like kernels (Hurd, kFreeBSD,...)

3 3 /15 Derived Debian Distributions ● Operating System Distributions based on Debian: – deb package format – apt repositories with reduced package lists – Local packages and custom versions of official ones – Custom installers (PGI, Anaconda for Debian, etc.) ● Problems: – Duplication of the infrastructure already in Debian – Packages don't have to be Policy Compliant – Local changes don't come back to Debian

4 4 /15 Custom vs Derived Distributions ● Custom Debian Distributions are distributions derived from Debian that are 100% Debian. ● No fork from Debian: do not make a separate distribution but make Debian fit for special purpose needs instead. ● All CDD contribute to Debian and all Debian improvements contribute to all Custom Debian Distributions.

5 5 /15 Current Technologies ● Meta packages: – Dependencies on other Debian packages (essential): ● Use "Depends" for packages addressing an area of interest ● Use "Recommends" for further interesting packages ● Use "Suggests" for less important or non-free packages – Menu entries (recommended) – Configuration stuff (optional): ● debconf questions (pre-seeding) ● cfengine scripts – Special meta package: -common

6 6 /15 What is the CDDT? ● A toolkit that tries to standardize the way developers define their CDD and provides tools to distribute, install, update and manage the customized system ● The basic idea behind the toolkit is to allow the distribution of CDD in source or in binary form using a single deb package that contains a description of the CDD and all the meta data needed to install or generate an installer for it

7 7 /15 What has to be done to build and maintain a CDD ● Package selection: definition of tasks and their package dependencies ● Installation system: d-i support for CDD, pre- seeding, task selection and initial configuration ● System configuration: scripts to generate and maintain custom configuration files on package installation and upgrades ● Distribution maintenance: package and configuration updates, bug tracking, etc.

8 8 /15 The CDD Description ● For the toolkit, a CDD is defined as a set of tasks that can be used to install and configure packages on the system for a given purpose ● A task definition has to include: – a list of packages or tasks that have to be installed to provide the task's functionality – the information needed to configure those packages: pre-seeding (only useful for first installations) and scripts that generate and maintain the customized configuration files

9 9 /15 Sample Description Task: office-srv Architecture: all Description: Office Server Software for a typical Office Server Install-Task: true Include: incl/server-tasks Task: office-srv Task-Depends: base-srv, print-srv, web-srv Task: office-srv Depends: rsync, screen, ssh

10 10 /15 Toolkit packages: cddt-tools ● The package includes various programs: – cddt, originally designed to be the main developer tool, the current version parses the CDD description, generates dependency trees and prints them to build meta packages. In the future it will build and install the packages directly, now they are built manually using a cdbs rules file that calls a debhelper like script and are installed using apt – cddt-fakeapt, useful to test package installs, upgrades and removals on a fake environment – cddt-pkgtool, cddt-mkedeb, gettext tools, etc.

11 11 /15 Toolkit packages: cddt-runtime (1) ● The package includes various programs: – cddt.sh: shell script library that includes functions to implement front ends (using zenity, dialog or text), functions to load and replace variables on template files, functions to install files and templates, functions to enable and disable scripts using links, etc. – cddt-divert: installs and removes customized files. The program keeps copies of the original and replacement files and detects if a customized file has been modified.

12 12 /15 Toolkit packages: cddt-runtime (2) – cddt-apt / cddt-dpkg: execute the scripts installed on /etc/cddt/apt-scripts.d/ before and after dpkg. Before, revert customizations for packages that are going to be removed or upgraded. After, install customizations for new or upgraded packages – /etc/network/if-*.d/10cddt-net: execute the scripts installed on /etc/cddt/net-scripts.d/ when network interfaces are brought up or down – update-apt-scripts.d, update-net-scripts.d: enable or disable scripts on /etc/cddt/(apt|net)-scripts/

13 13 /15 Other packages ● cddt-installer: udeb to be included on d-i with one or more CDD udeb, used to choose the tasks to install, apply the corresponding pre-seedings and install any hooks needed for the second stage installer. Current systems use hand made udeb ; this package is not implemented yet and its design has to be reviewed because the etch d-i has removed the second stage installer ● cddt-doc: Documentation related to the system, not fully updated right now

14 14 /15 More information about the CDDT Mailing list debian-custom@lists.debian.org Trac Project https://mixinet.net/projects/cddt/ CDDT packages and papers http://people.debian.org/~sto/cddt/ lliurex-cdd packages apt-src http://lliurex.net/zlx/ zlxNEXT lliurexhttp://lliurex.net/zlx/

15 15 /15 That's all, folks !


Download ppt "1 /15 Design and Implementation of the Custom Debian Distributions Toolkit (CDDT) 17 February 2006 Sergio Talens-Oliag II Open Source World."

Similar presentations


Ads by Google