-<p>This is a
-<a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">followup</a>
-on my
-<a href="http://people.skolelinux.org/pere/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html">previous
-work</a> on
-<a href="http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html">merging
-all</a> the computer related LDAP objects in Debian Edu.</p>
-
-<p>As a step to try to see if it possible to merge the DNS and DHCP
-LDAP objects, I have had a look at how the packages pdns-backend-ldap
-and dhcp3-server-ldap in Debian use the LDAP server. The two
-implementations are quite different in how they use LDAP.</p>
-
-To get this information, I started slapd with debugging enabled and
-dumped the debug output to a file to get the LDAP searches performed
-on a Debian Edu main-server. Here is a summary.
-
-<p><strong>powerdns</strong></p>
-
-<a href="http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend">Clues
-on how to</a> set up PowerDNS to use a LDAP backend is available on
-the web.
-
-<p>PowerDNS have two modes of operation using LDAP as its backend.
-One "strict" mode where the forward and reverse DNS lookups are done
-using the same LDAP objects, and a "tree" mode where the forward and
-reverse entries are in two different subtrees in LDAP with a structure
-based on the DNS names, as in tjener.intern and
-2.2.0.10.in-addr.arpa.</p>
-
-<p>In tree mode, the server is set up to use a LDAP subtree as its
-base, and uses a "base" scoped search for the DNS name by adding
-"dc=tjener,dc=intern," to the base with a filter for
-"(associateddomain=tjener.intern)" for the forward entry and
-"dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa," with a filter for
-"(associateddomain=2.2.0.10.in-addr.arpa)" for the reverse entry. For
-forward entries, it is looking for attributes named dnsttl, arecord,
-nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord, mxrecord,
-txtrecord, rprecord, afsdbrecord, keyrecord, aaaarecord, locrecord,
-srvrecord, naptrrecord, kxrecord, certrecord, dsrecord, sshfprecord,
-ipseckeyrecord, rrsigrecord, nsecrecord, dnskeyrecord, dhcidrecord,
-spfrecord and modifytimestamp. For reverse entries it is looking for
-the attributes dnsttl, arecord, nsrecord, cnamerecord, soarecord,
-ptrrecord, hinforecord, mxrecord, txtrecord, rprecord, aaaarecord,
-locrecord, srvrecord, naptrrecord and modifytimestamp. The equivalent
-ldapsearch commands could look like this:</p>
-
-<blockquote><pre>
-ldapsearch -h ldap \
- -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
- -s base -x '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
- cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
- rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
- nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
- rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
-
-ldapsearch -h ldap \
- -b dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no \
- -s base -x '(associateddomain=2.2.0.10.in-addr.arpa)'
- dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
- hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
- srvrecord naptrrecord modifytimestamp
-</pre></blockquote>
-
-<p>In Debian Edu/Lenny, the PowerDNS tree mode is used with
-ou=hosts,dc=skole,dc=skolelinux,dc=no as the base, and these are two
-example LDAP objects used there. In addition to these objects, the
-parent objects all th way up to ou=hosts,dc=skole,dc=skolelinux,dc=no
-also exist.</p>
-
-<blockquote><pre>
-dn: dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no
-objectclass: top
-objectclass: dnsdomain
-objectclass: domainrelatedobject
-dc: tjener
-arecord: 10.0.2.2
-associateddomain: tjener.intern
-
-dn: dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no
-objectclass: top
-objectclass: dnsdomain2
-objectclass: domainrelatedobject
-dc: 2
-ptrrecord: tjener.intern
-associateddomain: 2.2.0.10.in-addr.arpa
-</pre></blockquote>
-
-<p>In strict mode, the server behaves differently. When looking for
-forward DNS entries, it is doing a "subtree" scoped search with the
-same base as in the tree mode for a object with filter
-"(associateddomain=tjener.intern)" and requests the attributes dnsttl,
-arecord, nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord,
-mxrecord, txtrecord, rprecord, aaaarecord, locrecord, srvrecord,
-naptrrecord and modifytimestamp. For reverse entires it also do a
-subtree scoped search but this time the filter is "(arecord=10.0.2.2)"
-and the requested attributes are associateddomain, dnsttl and
-modifytimestamp. In short, in strict mode the objects with ptrrecord
-go away, and the arecord attribute in the forward object is used
-instead.</p>
-
-<p>The forward and reverse searches can be simulated using ldapsearch
-like this:</p>
-
-<blockquote><pre>
-ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
- '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
- cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
- rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
- nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
- rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
-
-ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
- '(arecord=10.0.2.2)' associateddomain dnsttl modifytimestamp
-</pre></blockquote>
-
-<p>In addition to the forward and reverse searches , there is also a
-search for SOA records, which behave similar to the forward and
-reverse lookups.</p>
-
-<p>A thing to note with the PowerDNS behaviour is that it do not
-specify any objectclass names, and instead look for the attributes it
-need to generate a DNS reply. This make it able to work with any
-objectclass that provide the needed attributes.</p>
-
-<p>The attributes are normally provided in the cosine (RFC 1274) and
-dnsdomain2 schemas. The latter is used for reverse entries like
-ptrrecord and recent DNS additions like aaaarecord and srvrecord.</p>
-
-<p>In Debian Edu, we have created DNS objects using the object classes
-dcobject (for dc), dnsdomain or dnsdomain2 (structural, for the DNS
-attributes) and domainrelatedobject (for associatedDomain). The use
-of structural object classes make it impossible to combine these
-classes with the object classes used by DHCP.</p>
-
-<p>There are other schemas that could be used too, for example the
-dnszone structural object class used by Gosa and bind-sdb for the DNS
-attributes combined with the domainrelatedobject object class, but in
-this case some unused attributes would have to be included as well
-(zonename and relativedomainname).</p>
-
-<p>My proposal for Debian Edu would be to switch PowerDNS to strict
-mode and not use any of the existing objectclasses (dnsdomain,
-dnsdomain2 and dnszone) when one want to combine the DNS information
-with DHCP information, and instead create a auxiliary object class
-defined something like this (using the attributes defined for
-dnsdomain and dnsdomain2 or dnszone):</p>
-
-<blockquote><pre>
-objectclass ( some-oid NAME 'dnsDomainAux'
- SUP top
- AUXILIARY
- MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAMERecord $
- DNSTTL $ DNSClass $ PTRRecord $ HINFORecord $ MINFORecord $
- TXTRecord $ SIGRecord $ KEYRecord $ AAAARecord $ LOCRecord $
- NXTRecord $ SRVRecord $ NAPTRRecord $ KXRecord $ CERTRecord $
- A6Record $ DNAMERecord
- ))
-</pre></blockquote>
-
-<p>This will allow any object to become a DNS entry when combined with
-the domainrelatedobject object class, and allow any entity to include
-all the attributes PowerDNS wants. I've sent an email to the PowerDNS
-developers asking for their view on this schema and if they are
-interested in providing such schema with PowerDNS, and I hope my
-message will be accepted into their mailing list soon.</p>
-
-<p><strong>ISC dhcp</strong></p>
-
-<p>The DHCP server searches for specific objectclass and requests all
-the object attributes, and then uses the attributes it want. This
-make it harder to figure out exactly what attributes are used, but
-thanks to the working example in Debian Edu I can at least get an idea
-what is needed without having to read the source code.</p>
-
-<p>In the DHCP server configuration, the LDAP base to use and the
-search filter to use to locate the correct dhcpServer entity is
-stored. These are the relevant entries from
-/etc/dhcp3/dhcpd.conf:</p>
-
-<blockquote><pre>
-ldap-base-dn "dc=skole,dc=skolelinux,dc=no";
-ldap-dhcp-server-cn "dhcp";
-</pre></blockquote>
-
-<p>The DHCP server uses this information to nest all the DHCP
-configuration it need. The cn "dhcp" is located using the given LDAP
-base and the filter "(&(objectClass=dhcpServer)(cn=dhcp))". The
-search result is this entry:</p>
-
-<blockquote><pre>
-dn: cn=dhcp,dc=skole,dc=skolelinux,dc=no
-cn: dhcp
-objectClass: top
-objectClass: dhcpServer
-dhcpServiceDN: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
-</pre></blockquote>
-
-<p>The content of the dhcpServiceDN attribute is next used to locate the
-subtree with DHCP configuration. The DHCP configuration subtree base
-is located using a base scope search with base "cn=DHCP
-Config,dc=skole,dc=skolelinux,dc=no" and filter
-"(&(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))".
-The search result is this entry:</p>
-
-<blockquote><pre>
-dn: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
-cn: DHCP Config
-objectClass: top
-objectClass: dhcpService
-objectClass: dhcpOptions
-dhcpPrimaryDN: cn=dhcp, dc=skole,dc=skolelinux,dc=no
-dhcpStatements: ddns-update-style none
-dhcpStatements: authoritative
-dhcpOption: smtp-server code 69 = array of ip-address
-dhcpOption: www-server code 72 = array of ip-address
-dhcpOption: wpad-url code 252 = text
-</pre></blockquote>
-
-<p>Next, the entire subtree is processed, one level at the time. When
-all the DHCP configuration is loaded, it is ready to receive requests.
-The subtree in Debian Edu contain objects with object classes
-top/dhcpService/dhcpOptions, top/dhcpSharedNetwork/dhcpOptions,
-top/dhcpSubnet, top/dhcpGroup and top/dhcpHost. These provide options
-and information about netmasks, dynamic range etc. Leaving out the
-details here because it is not relevant for the focus of my
-investigation, which is to see if it is possible to merge dns and dhcp
-related computer objects.</p>
-
-<p>When a DHCP request come in, LDAP is searched for the MAC address
-of the client (00:00:00:00:00:00 in this example), using a subtree
-scoped search with "cn=DHCP Config,dc=skole,dc=skolelinux,dc=no" as
-the base and "(&(objectClass=dhcpHost)(dhcpHWAddress=ethernet
-00:00:00:00:00:00))" as the filter. This is what a host object look
-like:</p>
-
-<blockquote><pre>
-dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
-cn: hostname
-objectClass: top
-objectClass: dhcpHost
-dhcpHWAddress: ethernet 00:00:00:00:00:00
-dhcpStatements: fixed-address hostname
-</pre></blockquote>
-
-<p>There is less flexiblity in the way LDAP searches are done here.
-The object classes need to have fixed names, and the configuration
-need to be stored in a fairly specific LDAP structure. On the
-positive side, the invidiual dhcpHost entires can be anywhere without
-the DN pointed to by the dhcpServer entries. The latter should make
-it possible to group all host entries in a subtree next to the
-configuration entries, and this subtree can also be shared with the
-DNS server if the schema proposed above is combined with the dhcpHost
-structural object class.
-
-<p><strong>Conclusion</strong></p>
-
-<p>The PowerDNS implementation seem to be very flexible when it come
-to which LDAP schemas to use. While its "tree" mode is rigid when it
-come to the the LDAP structure, the "strict" mode is very flexible,
-allowing DNS objects to be stored anywhere under the base cn specified
-in the configuration.</p>
-
-<p>The DHCP implementation on the other hand is very inflexible, both
-regarding which LDAP schemas to use and which LDAP structure to use.
-I guess one could implement ones own schema, as long as the
-objectclasses and attributes have the names used, but this do not
-really help when the DHCP subtree need to have a fairly fixed
-structure.</p>
-
-<p>Based on the observed behaviour, I suspect a LDAP structure like
-this might work for Debian Edu:</p>
-
-<blockquote><pre>
-ou=services
- cn=machine-info (dhcpService) - dhcpServiceDN points here
- cn=dhcp (dhcpServer)
- cn=dhcp-internal (dhcpSharedNetwork/dhcpOptions)
- cn=10.0.2.0 (dhcpSubnet)
- cn=group1 (dhcpGroup/dhcpOptions)
- cn=dhcp-thinclients (dhcpSharedNetwork/dhcpOptions)
- cn=192.168.0.0 (dhcpSubnet)
- cn=group1 (dhcpGroup/dhcpOptions)
- ou=machines - PowerDNS base points here
- cn=hostname (dhcpHost/domainrelatedobject/dnsDomainAux)
-</pre></blockquote>
-
-<P>This is not tested yet. If the DHCP server require the dhcpHost
-entries to be in the dhcpGroup subtrees, the entries can be stored
-there instead of a common machines subtree, and the PowerDNS base
-would have to be moved one level up to the machine-info subtree.</p>
-
-<p>The combined object under the machines subtree would look something
-like this:</p>
-
-<blockquote><pre>
-dn: dc=hostname,ou=machines,cn=machine-info,dc=skole,dc=skolelinux,dc=no
-dc: hostname
-objectClass: top
-objectClass: dhcpHost
-objectclass: domainrelatedobject
-objectclass: dnsDomainAux
-associateddomain: hostname.intern
-arecord: 10.11.12.13
-dhcpHWAddress: ethernet 00:00:00:00:00:00
-dhcpStatements: fixed-address hostname.intern
-</pre></blockquote>
-
-</p>One could even add the LTSP configuration associated with a given
-machine, as long as the required attributes are available in a
-auxiliary object class.</p>
+<p>I'm still running upgrade testing of the
+<a href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">Lenny
+Gnome and KDE Desktop</a>, but have not had time to spend on reporting the
+status. Here is a short update based on a test I ran 20101118.</p>
+
+<p>I still do not know what a correct migration should look like, so I
+report any differences between apt and aptitude and hope someone else
+can see if anything should be changed.</p>
+
+<p>This is for Gnome:</p>
+
+<p>Installed using apt-get, missing with aptitude</p>
+
+<blockquote><p>
+ apache2.2-bin aptdaemon at-spi baobab binfmt-support
+ browser-plugin-gnash cheese-common cli-common cpp-4.3 cups-pk-helper
+ dmz-cursor-theme empathy empathy-common finger
+ freedesktop-sound-theme freeglut3 gconf-defaults-service gdm-themes
+ gedit-plugins geoclue geoclue-hostip geoclue-localnet geoclue-manual
+ geoclue-yahoo gnash gnash-common gnome gnome-backgrounds
+ gnome-cards-data gnome-codec-install gnome-core
+ gnome-desktop-environment gnome-disk-utility gnome-screenshot
+ gnome-search-tool gnome-session-canberra gnome-spell
+ gnome-system-log gnome-themes-extras gnome-themes-more
+ gnome-user-share gs-common gstreamer0.10-fluendo-mp3
+ gstreamer0.10-tools gtk2-engines gtk2-engines-pixbuf
+ gtk2-engines-smooth hal-info hamster-applet libapache2-mod-dnssd
+ libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
+ libart2.0-cil libatspi1.0-0 libboost-date-time1.42.0
+ libboost-python1.42.0 libboost-thread1.42.0 libchamplain-0.4-0
+ libchamplain-gtk-0.4-0 libcheese-gtk18 libclutter-gtk-0.10-0
+ libcryptui0 libcupsys2 libdiscid0 libeel2-data libelf1 libepc-1.0-2
+ libepc-common libepc-ui-1.0-2 libfreerdp-plugins-standard
+ libfreerdp0 libgail-common libgconf2.0-cil libgdata-common libgdata7
+ libgdl-1-common libgdu-gtk0 libgee2 libgeoclue0 libgexiv2-0 libgif4
+ libglade2.0-cil libglib2.0-cil libgmime2.4-cil libgnome-vfs2.0-cil
+ libgnome2.24-cil libgnomepanel2.24-cil libgnomeprint2.2-data
+ libgnomeprintui2.2-common libgnomevfs2-bin libgpod-common libgpod4
+ libgtk2.0-cil libgtkglext1 libgtksourceview-common
+ libgtksourceview2.0-common libmono-addins-gui0.2-cil
+ libmono-addins0.2-cil libmono-cairo2.0-cil libmono-corlib2.0-cil
+ libmono-i18n-west2.0-cil libmono-posix2.0-cil
+ libmono-security2.0-cil libmono-sharpzip2.84-cil
+ libmono-system2.0-cil libmtp8 libmusicbrainz3-6
+ libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libopal3.6.8
+ libpolkit-gtk-1-0 libpt-1.10.10-plugins-alsa
+ libpt-1.10.10-plugins-v4l libpt2.6.7 libpython2.6 librpm1 librpmio1
+ libsdl1.2debian libservlet2.4-java libsrtp0 libssh-4
+ libtelepathy-farsight0 libtelepathy-glib0 libtidy-0.99-0
+ libxalan2-java libxerces2-java media-player-info mesa-utils
+ mono-2.0-gac mono-gac mono-runtime nautilus-sendto
+ nautilus-sendto-empathy openoffice.org-writer2latex
+ openssl-blacklist p7zip p7zip-full pkg-config python-4suite-xml
+ python-aptdaemon python-aptdaemon-gtk python-axiom
+ python-beautifulsoup python-bugbuddy python-clientform
+ python-coherence python-configobj python-crypto python-cupshelpers
+ python-cupsutils python-eggtrayicon python-elementtree
+ python-epsilon python-evolution python-feedparser python-gdata
+ python-gdbm python-gst0.10 python-gtkglext1 python-gtkmozembed
+ python-gtksourceview2 python-httplib2 python-louie python-mako
+ python-markupsafe python-mechanize python-nevow python-notify
+ python-opengl python-openssl python-pam python-pkg-resources
+ python-pyasn1 python-pysqlite2 python-rdflib python-serial
+ python-tagpy python-twisted-bin python-twisted-conch
+ python-twisted-core python-twisted-web python-utidylib python-webkit
+ python-xdg python-zope.interface remmina remmina-plugin-data
+ remmina-plugin-rdp remmina-plugin-vnc rhythmbox-plugin-cdrecorder
+ rhythmbox-plugins rpm-common rpm2cpio seahorse-plugins shotwell
+ software-center svgalibg1 system-config-printer-udev
+ telepathy-gabble telepathy-mission-control-5 telepathy-salut tomboy
+ totem totem-coherence totem-mozilla totem-plugins
+ transmission-common xdg-user-dirs xdg-user-dirs-gtk xserver-xephyr
+ zip
+</p></blockquote>
+
+Installed using apt-get, removed with aptitude
+
+<blockquote><p>
+ arj bluez-utils cheese dhcdbd djvulibre-desktop ekiga eog
+ epiphany-extensions epiphany-gecko evolution-exchange
+ fast-user-switch-applet file-roller gcalctool gconf-editor gdm gedit
+ gedit-common gnome-app-install gnome-games gnome-games-data
+ gnome-nettool gnome-system-tools gnome-themes gnome-utils
+ gnome-vfs-obexftp gnome-volume-manager gnuchess gucharmap
+ guile-1.8-libs hal libavahi-compat-libdnssd1 libavahi-core5
+ libavahi-ui0 libbind9-50 libbluetooth2 libcamel1.2-11 libcdio7
+ libcucul0 libcurl3 libdirectfb-1.0-0 libdmx1 libdvdread3
+ libedata-cal1.2-6 libedataserver1.2-9 libeel2-2.20 libepc-1.0-1
+ libepc-ui-1.0-1 libexchange-storage1.2-3 libfaad0 libgadu3
+ libgalago3 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
+ libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
+ libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
+ libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtk-vnc-1.0-0
+ libgtkhtml2-0 libgtksourceview1.0-0 libgtksourceview2.0-0
+ libgucharmap6 libhesiod0 libicu38 libisccc50 libisccfg50 libiw29
+ libjaxp1.3-java-gcj libkpathsea4 liblircclient0 libltdl3 liblwres50
+ libmagick++10 libmagick10 libmalaga7 libmozjs1d libmpfr1ldbl libmtp7
+ libmysqlclient15off libnautilus-burn4 libneon27 libnm-glib0
+ libnm-util0 libopal-2.2 libosp5 libparted1.8-10 libpisock9
+ libpisync1 libpoppler-glib3 libpoppler3 libpt-1.10.10 libraw1394-8
+ libsdl1.2debian-alsa libsensors3 libsexy2 libsmbios2 libsoup2.2-8
+ libspeexdsp1 libssh2-1 libsuitesparse-3.1.0 libsvga1
+ libswfdec-0.6-90 libtalloc1 libtotem-plparser10 libtrackerclient0
+ libvoikko1 libxalan2-java-gcj libxerces2-java-gcj libxklavier12
+ libxtrap6 libxxf86misc1 libzephyr3 mysql-common rhythmbox seahorse
+ sound-juicer swfdec-gnome system-config-printer totem-common
+ totem-gstreamer transmission-gtk vinagre vino w3c-dtd-xhtml wodim
+</p></blockquote>
+
+<p>Installed using aptitude, missing with apt-get</p>
+
+<blockquote><p>
+ gstreamer0.10-gnomevfs
+</p></blockquote>
+
+<p>Installed using aptitude, removed with apt-get</p>
+
+<blockquote><p>
+[nothing]
+</p></blockquote>
+
+<p>This is for KDE:</p>
+
+<p>Installed using apt-get, missing with aptitude</p>
+
+<blockquote><p>
+ autopoint bomber bovo cantor cantor-backend-kalgebra cpp-4.3 dcoprss
+ edict espeak espeak-data eyesapplet fifteenapplet finger gettext
+ ghostscript-x git gnome-audio gnugo granatier gs-common
+ gstreamer0.10-pulseaudio indi kaddressbook-plugins kalgebra
+ kalzium-data kanjidic kapman kate-plugins kblocks kbreakout kbstate
+ kde-icons-mono kdeaccessibility kdeaddons-kfile-plugins
+ kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
+ kdeedu kdeedu-data kdeedu-kvtml-data kdegames kdegames-card-data
+ kdegames-mahjongg-data kdegraphics-kfile-plugins kdelirc
+ kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
+ kdepim-kfile-plugins kdepim-kio-plugins kdessh kdetoys kdewebdev
+ kdiamond kdnssd kfilereplace kfourinline kgeography-data kigo
+ killbots kiriki klettres-data kmoon kmrml knewsticker-scripts
+ kollision kpf krosspython ksirk ksmserver ksquares kstars-data
+ ksudoku kubrick kweather libasound2-plugins libboost-python1.42.0
+ libcfitsio3 libconvert-binhex-perl libcrypt-ssleay-perl libdb4.6++
+ libdjvulibre-text libdotconf1.0 liberror-perl libespeak1
+ libfinance-quote-perl libgail-common libgsl0ldbl libhtml-parser-perl
+ libhtml-tableextract-perl libhtml-tagset-perl libhtml-tree-perl
+ libio-stringy-perl libkdeedu4 libkdegames5 libkiten4 libkpathsea5
+ libkrossui4 libmailtools-perl libmime-tools-perl
+ libnews-nntpclient-perl libopenbabel3 libportaudio2 libpulse-browse0
+ libservlet2.4-java libspeechd2 libtiff-tools libtimedate-perl
+ libunistring0 liburi-perl libwww-perl libxalan2-java libxerces2-java
+ lirc luatex marble networkstatus noatun-plugins
+ openoffice.org-writer2latex palapeli palapeli-data parley
+ parley-data poster psutils pulseaudio pulseaudio-esound-compat
+ pulseaudio-module-x11 pulseaudio-utils quanta-data rocs rsync
+ speech-dispatcher step svgalibg1 texlive-binaries texlive-luatex
+ ttf-sazanami-gothic
+</p></blockquote>
+
+<p>Installed using apt-get, removed with aptitude</p>
+
+<blockquote><p>
+ amor artsbuilder atlantik atlantikdesigner blinken bluez-utils cvs
+ dhcdbd djvulibre-desktop imlib-base imlib11 kalzium kanagram kandy
+ kasteroids katomic kbackgammon kbattleship kblackbox kbounce kbruch
+ kcron kdat kdemultimedia-kappfinder-data kdeprint kdict kdvi kedit
+ keduca kenolaba kfax kfaxview kfouleggs kgeography kghostview
+ kgoldrunner khangman khexedit kiconedit kig kimagemapeditor
+ kitchensync kiten kjumpingcube klatin klettres klickety klines
+ klinkstatus kmag kmahjongg kmailcvt kmenuedit kmid kmilo kmines
+ kmousetool kmouth kmplot knetwalk kodo kolf kommander konquest kooka
+ kpager kpat kpdf kpercentage kpilot kpoker kpovmodeler krec
+ kregexpeditor kreversi ksame ksayit kshisen ksig ksim ksirc ksirtet
+ ksmiletris ksnake ksokoban kspaceduel kstars ksvg ksysv kteatime
+ ktip ktnef ktouch ktron kttsd ktuberling kturtle ktux kuickshow
+ kverbos kview kviewshell kvoctrain kwifimanager kwin kwin4 kwordquiz
+ kworldclock kxsldbg libakode2 libarts1-akode libarts1-audiofile
+ libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
+ libavahi-core5 libavc1394-0 libbind9-50 libbluetooth2
+ libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0
+ libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
+ libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0 libicu38
+ libiec61883-0 libindex0 libisccc50 libisccfg50 libiw29
+ libjaxp1.3-java-gcj libk3b3 libkcal2b libkcddb1 libkdeedu3
+ libkdegames1 libkdepim1a libkgantt0 libkleopatra1 libkmime2
+ libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
+ libksieve0 libktnef1 liblockdev1 libltdl3 liblwres50 libmagick10
+ libmimelib1c2a libmodplug0c2 libmozjs1d libmpcdec3 libmpfr1ldbl
+ libneon27 libnm-util0 libopensync0 libpisock9 libpoppler-glib3
+ libpoppler-qt2 libpoppler3 libraw1394-8 librss1 libsensors3
+ libsmbios2 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90
+ libtalloc1 libxalan2-java-gcj libxerces2-java-gcj libxtrap6 lskat
+ mpeglib network-manager-kde noatun pmount tex-common texlive-base
+ texlive-common texlive-doc-base texlive-fonts-recommended tidy
+ ttf-dustin ttf-kochi-gothic ttf-sjfonts
+</p></blockquote>
+
+<p>Installed using aptitude, missing with apt-get</p>
+
+<blockquote><p>
+ dolphin kde-core kde-plasma-desktop kde-standard kde-window-manager
+ kdeartwork kdebase kdebase-apps kdebase-workspace
+ kdebase-workspace-bin kdebase-workspace-data kdeutils kscreensaver
+ kscreensaver-xsavers libgle3 libkonq5 libkonq5-templates libnetpbm10
+ netpbm plasma-widget-folderview plasma-widget-networkmanagement
+ xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
+ xscreensaver-screensaver-bsod
+</p></blockquote>
+
+<p>Installed using aptitude, removed with apt-get</p>
+
+<blockquote><p>
+ kdebase-bin konq-plugins konqueror
+</p></blockquote>