X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/d885fdf05f6a0733bfb3e570fbe8446aa3870488..210ddf04dfb13f135255a8c4b88201f778fcbb46:/blog/tags/debian/index.html diff --git a/blog/tags/debian/index.html b/blog/tags/debian/index.html index 282a4ce8db..bc9a185ccc 100644 --- a/blog/tags/debian/index.html +++ b/blog/tags/debian/index.html @@ -1809,6 +1809,1881 @@ and remove the failing query. Nothing big, but very annoying.

+
+ +
+
+ Idea for storing LTSP configuration in LDAP +
+
+ 2010-07-11 22:00 +
+ +
+ +

Vagrant mentioned on IRC today that ltsp_config now support +sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin +clients, and that this can be used to fetch configuration from LDAP if +Debian Edu choose to store configuration there.

+ +

Armed with this information, I got inspired and wrote a test module +to get configuration from LDAP. The idea is to look up the MAC +address of the client in LDAP, and look for attributes on the form +ltspconfigsetting=value, and use this to export SETTING=value to the +LTSP clients.

+ +

The goal is to be able to store the LTSP configuration attributes +in a "computer" LDAP object used by both DNS and DHCP, and thus +allowing us to store all information about a computer in one place.

+ +

This is a untested draft implementation, and I welcome feedback on +this approach. A real LDAP schema for the ltspClientAux objectclass +need to be written. Comments, suggestions, etc?

+ +
+# Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
+#
+# Fetch LTSP client settings from LDAP based on MAC address
+#
+# Uses ethernet address as stored in the dhcpHost objectclass using
+# the dhcpHWAddress attribute or ethernet address stored in the
+# ieee802Device objectclass with the macAddress attribute.
+#
+# This module is written to be schema agnostic, and only depend on the
+# existence of attribute names.
+#
+# The LTSP configuration variables are saved directly using a
+# ltspConfig prefix and uppercasing the rest of the attribute name.
+# To set the SERVER variable, set the ltspConfigServer attribute.
+#
+# Some LDAP schema should be created with all the relevant
+# configuration settings.  Something like this should work:
+# 
+# objectclass ( 1.1.2.2 NAME 'ltspClientAux'
+#     SUP top
+#     AUXILIARY
+#     MAY ( ltspConfigServer $ ltsConfigSound $ ... )
+
+LDAPSERVER=$(debian-edu-ldapserver)
+if [ "$LDAPSERVER" ] ; then
+    LDAPBASE=$(debian-edu-ldapserver -b)
+    for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk '{print $5}'|sort -u) ; do
+	filter="(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))"
+	ldapsearch -h "$LDAPSERVER" -b "$LDAPBASE" -v -x "$filter" | \
+	    grep '^ltspConfig' | while read attr value ; do
+	    # Remove prefix and convert to upper case
+	    attr=$(echo $attr | sed 's/^ltspConfig//i' | tr a-z A-Z)
+	    # bass value on to clients
+	    eval "$attr=$value; export $attr"
+	done
+    done
+fi
+
+ +

I'm not sure this shell construction will work, because I suspect +the while block might end up in a subshell causing the variables set +there to not show up in ltsp-config, but if that is the case I am sure +the code can be restructured to make sure the variables are passed on. +I expect that can be solved with some testing. :)

+ +

If you want to help out with implementing this for Debian Edu, +please contact us on debian-edu@lists.debian.org.

+ +

Update 2010-07-17: I am aware of another effort to store LTSP +configuration in LDAP that was created around year 2000 by +PC +Xperience, Inc., 2000. I found its +files on a +personal home page over at redhat.com.

+ +
+
+ + + + Tags: debian, debian edu, english, ldap, nuug. + +
+
+
+ +
+
+ Combining PowerDNS and ISC DHCP LDAP objects +
+
+ 2010-07-14 23:45 +
+ +
+ +

For a while now, I have wanted to find a way to change the DNS and +DHCP services in Debian Edu to use the same LDAP objects for a given +computer, to avoid the possibility of having a inconsistent state for +a computer in LDAP (as in DHCP but no DNS entry or the other way +around) and make it easier to add computers to LDAP.

+ +

I've looked at how powerdns and dhcpd is using LDAP, and using this +information finally found a solution that seem to work.

+ +

The old setup required three LDAP objects for a given computer. +One forward DNS entry, one reverse DNS entry and one DHCP entry. If +we switch powerdns to use its strict LDAP method (ldap-method=strict +in pdns-debian-edu.conf), the forward and reverse DNS entries are +merged into one while making it impossible to transfer the reverse map +to a slave DNS server.

+ +

If we also replace the object class used to get the DNS related +attributes to one allowing these attributes to be combined with the +dhcphost object class, we can merge the DNS and DHCP entries into one. +I've written such object class in the dnsdomainaux.schema file (need +proper OIDs, but that is a minor issue), and tested the setup. It +seem to work.

+ +

With this test setup in place, we can get away with one LDAP object +for both DNS and DHCP, and even the LTSP configuration I suggested in +an earlier email. The combined LDAP object will look something like +this:

+ +
+  dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
+  cn: hostname
+  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
+  ldapconfigsound: Y
+
+ +

The DNS server uses the associateddomain and arecord entries, while +the DHCP server uses the dhcphwaddress and dhcpstatements entries +before asking DNS to resolve the fixed-adddress. LTSP will use +dhcphwaddress or associateddomain and the ldapconfig* attributes.

+ +

I am not yet sure if I can get the DHCP server to look for its +dhcphost in a different location, to allow us to put the objects +outside the "DHCP Config" subtree, but hope to figure out a way to do +that. If I can't figure out a way to do that, we can still get rid of +the hosts subtree and move all its content into the DHCP Config tree +(which probably should be renamed to be more related to the new +content. I suspect cn=dnsdhcp,ou=services or something like that +might be a good place to put it.

+ +

If you want to help out with implementing this for Debian Edu, +please contact us on debian-edu@lists.debian.org.

+ +
+
+ + + + Tags: debian, debian edu, english, ldap, nuug. + +
+
+
+ +
+
+ What are they searching for - PowerDNS and ISC DHCP in LDAP +
+
+ 2010-07-17 21:00 +
+ +
+ +

This is a +followup +on my +previous +work on +merging +all the computer related LDAP objects in Debian Edu.

+ +

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.

+ +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. + +

powerdns

+ +Clues +on how to set up PowerDNS to use a LDAP backend is available on +the web. + +

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.

+ +

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:

+ +
+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
+
+ +

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.

+ +
+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
+
+ +

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.

+ +

The forward and reverse searches can be simulated using ldapsearch +like this:

+ +
+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
+
+ +

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.

+ +

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.

+ +

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.

+ +

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.

+ +

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).

+ +

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):

+ +
+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
+    ))
+
+ +

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.

+ +

ISC dhcp

+ +

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.

+ +

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:

+ +
+ldap-base-dn "dc=skole,dc=skolelinux,dc=no";
+ldap-dhcp-server-cn "dhcp";
+
+ +

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:

+ +
+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
+
+ +

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:

+ +
+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
+
+ +

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.

+ +

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:

+ +
+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
+
+ +

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. + +

Conclusion

+ +

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.

+ +

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.

+ +

Based on the observed behaviour, I suspect a LDAP structure like +this might work for Debian Edu:

+ +
+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)
+
+ +

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.

+ +

The combined object under the machines subtree would look something +like this:

+ +
+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
+
+ +

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.

+ +
+
+ + + + Tags: debian, debian edu, english, ldap, nuug. + +
+
+
+ +
+
+ Circular package dependencies harms apt recovery +
+
+ 2010-07-27 23:50 +
+ +
+ +

I discovered this while doing +automated +testing of upgrades from Debian Lenny to Squeeze. A few packages +in Debian still got circular dependencies, and it is often claimed +that apt and aptitude should be able to handle this just fine, but +some times these dependency loops causes apt to fail.

+ +

An example is from todays +upgrade +of KDE using aptitude. In it, a bug in kdebase-workspace-data +causes perl-modules to fail to upgrade. The cause is simple. If a +package fail to unpack, then only part of packages with the circular +dependency might end up being unpacked when unpacking aborts, and the +ones already unpacked will fail to configure in the recovery phase +because its dependencies are unavailable.

+ +

In this log, the problem manifest itself with this error:

+ +
+dpkg: dependency problems prevent configuration of perl-modules:
+ perl-modules depends on perl (>= 5.10.1-1); however:
+  Version of perl on system is 5.10.0-19lenny2.
+dpkg: error processing perl-modules (--configure):
+ dependency problems - leaving unconfigured
+
+ +

The perl/perl-modules circular dependency is already +reported as a bug, and will +hopefully be solved as soon as possible, but it is not the only one, +and each one of these loops in the dependency tree can cause similar +failures. Of course, they only occur when there are bugs in other +packages causing the unpacking to fail, but it is rather nasty when +the failure of one package causes the problem to become worse because +of dependency loops.

+ +

Thanks to +the +tireless effort by Bill Allombert, the number of circular +dependencies +left in Debian +is dropping, and perhaps it will reach zero one day. :)

+ +

Todays testing also exposed a bug in +update-notifier and +different behaviour between +apt-get and aptitude, the latter possibly caused by some circular +dependency. Reported both to BTS to try to get someone to look at +it.

+ +
+
+ + + + Tags: debian, english, nuug. + +
+
+
+ +
+
+ Some notes on Flash in Debian and Debian Edu +
+
+ 2010-09-04 10:10 +
+ +
+ +

In the Debian +popularity-contest numbers, the adobe-flashplugin package the +second most popular used package that is missing in Debian. The sixth +most popular is flashplayer-mozilla. This is a clear indication that +working flash is important for Debian users. Around 10 percent of the +users submitting data to popcon.debian.org have this package +installed.

+ +

In the report written by Lars Risan in August 2008 +(«Skolelinux +i bruk – Rapport for Hurum kommune, Universitetet i Agder og +stiftelsen SLX Debian Labs»), one of the most important problems +schools experienced with Debian +Edu/Skolelinux was the lack of working Flash. A lot of educational +web sites require Flash to work, and lacking working Flash support in +the web browser and the problems with installing it was perceived as a +good reason to stay with Windows.

+ +

I once saw a funny and sad comment in a web forum, where Linux was +said to be the retarded cousin that did not really understand +everything you told him but could work fairly well. This was a +comment regarding the problems Linux have with proprietary formats and +non-standard web pages, and is sad because it exposes a fairly common +understanding of whose fault it is if web pages that only work in for +example Internet Explorer 6 fail to work on Firefox, and funny because +it explain very well how annoying it is for users when Linux +distributions do not work with the documents they receive or the web +pages they want to visit.

+ +

This is part of the reason why I believe it is important for Debian +and Debian Edu to have a well working Flash implementation in the +distribution, to get at least popular sites as Youtube and Google +Video to working out of the box. For Squeeze, Debian have the chance +to include the latest version of Gnash that will make this happen, as +the new release 0.8.8 was published a few weeks ago and is resting in +unstable. The new version work with more sites that version 0.8.7. +The Gnash maintainers have asked for a freeze exception, but the +release team have not had time to reply to it yet. I hope they agree +with me that Flash is important for the Debian desktop users, and thus +accept the new package into Squeeze.

+ +
+
+ + + + Tags: debian, debian edu, english, multimedia, video, web. + +
+
+
+ +
+
+ Software updates 2010-10-24 +
+
+ 2010-10-24 22:45 +
+ +
+ +

Some updates.

+ +

My gnash pledge to +raise money for the project is going well. The lower limit of 10 +signers was reached in 24 hours, and so far 13 people have signed it. +More signers and more funding is most welcome, and I am really curious +how far we can get before the time limit of December 24 is reached. +:)

+ +

On the #gnash IRC channel on irc.freenode.net, I was just tipped +about what appear to be a great code coverage tool capable of +generating code coverage stats without any changes to the source code. +It is called +kcov, +and can be used using kcov <directory> <binary>. +It is missing in Debian, but the git source built just fine in Squeeze +after I installed libelf-dev, libdwarf-dev, pkg-config and +libglib2.0-dev. Failed to build in Lenny, but suspect that is +solvable. I hope kcov make it into Debian soon.

+ +

Finally found time to wrap up the release notes for a +new alpha release of Debian Edu, and just published the second +alpha test release of the Squeeze based Debian Edu / +Skolelinux +release. Give it a try if you need a complete linux solution for your +school, including central infrastructure server, workstations, thin +client servers and diskless workstations. A nice touch added +yesterday is RDP support on the thin client servers, for windows +clients to get a Linux desktop on request.

+ +
+
+ + + + Tags: debian, debian edu, english, multimedia. + +
+
+
+ +
+
+ Debian in 3D +
+
+ 2010-11-09 16:10 +
+ +
+ +

+ +

3D printing is just great. I just came across this Debian logo in +3D linked in from +the +thingiverse blog.

+ +
+
+ + + + Tags: 3d-printer, debian, english. + +
+
+
+ +
+
+ Gnash buildbot slave and Debian kfreebsd +
+
+ 2010-11-20 07:20 +
+ +
+ +

Answering +the +call from the Gnash project for +buildbot slaves to test the +current source, I have set up a virtual KVM machine on the Debian +Edu/Skolelinux virtualization host to test the git source on +Debian/Squeeze. I hope this can help the developers in getting new +releases out more often.

+ +

As the developers want less main-stream build platforms tested to, +I have considered setting up a Debian/kfreebsd +machine as well. I have also considered using the kfreebsd +architecture in Debian as a file server in NUUG to get access to the 5 +TB zfs volume we currently use to store DV video. Because of this, I +finally got around to do a test installation of Debian/Squeeze with +kfreebsd. Installation went fairly smooth, thought I noticed some +visual glitches in the cdebconf dialogs (black cursor left on the +screen at random locations). Have not gotten very far with the +testing. Noticed cfdisk did not work, but fdisk did so it was not a +fatal problem. Have to spend some more time on it to see if it is +useful as a file server for NUUG. Will try to find time to set up a +gnash buildbot slave on the Debian Edu/Skolelinux this weekend.

+ +
+
+ + + + Tags: debian, debian edu, english, nuug. + +
+
+
+ +
+
+ Lenny->Squeeze upgrades, apt vs aptitude with the Gnome and KDE desktop +
+
+ 2010-11-20 22:50 +
+ +
+ +

I'm still running upgrade testing of the +Lenny +Gnome and KDE Desktop, but have not had time to spend on reporting the +status. Here is a short update based on a test I ran 20101118.

+ +

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.

+ +

This is for Gnome:

+ +

Installed using apt-get, missing with aptitude

+ +

+ 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 +

+ +Installed using apt-get, removed with aptitude + +

+ 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 +

+ +

Installed using aptitude, missing with apt-get

+ +

+ gstreamer0.10-gnomevfs +

+ +

Installed using aptitude, removed with apt-get

+ +

+[nothing] +

+ +

This is for KDE:

+ +

Installed using apt-get, missing with aptitude

+ +

+ 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 +

+ +

Installed using apt-get, removed with aptitude

+ +

+ 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 +

+ +

Installed using aptitude, missing with apt-get

+ +

+ 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 +

+ +

Installed using aptitude, removed with apt-get

+ +

+ kdebase-bin konq-plugins konqueror +

+ +
+
+ + + + Tags: debian, debian edu, english. + +
+
+
+ +
+
+ Migrating Xen virtual machines using LVM to KVM using disk images +
+
+ 2010-11-22 11:20 +
+ +
+ +

Most of the computers in use by the +Debian Edu/Skolelinux project +are virtual machines. And they have been Xen machines running on a +fairly old IBM eserver xseries 345 machine, and we wanted to migrate +them to KVM on a newer Dell PowerEdge 2950 host machine. This was a +bit harder that it could have been, because we set up the Xen virtual +machines to get the virtual partitions from LVM, which as far as I +know is not supported by KVM. So to migrate, we had to convert +several LVM logical volumes to partitions on a virtual disk file.

+ +

I found +a +nice recipe to do this, and wrote the following script to do the +migration. It uses qemu-img from the qemu package to make the disk +image, parted to partition it, losetup and kpartx to present the disk +image partions as devices, and dd to copy the data. I NFS mounted the +new servers storage area on the old server to do the migration.

+ +
+#!/bin/sh
+
+# Based on
+# http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
+
+set -e
+set -x
+
+if [ -z "$1" ] ; then
+    echo "Usage: $0 <hostname>"
+    exit 1
+else
+    host="$1"
+fi
+
+if [ ! -e /dev/vg_data/$host-disk ] ; then
+    echo "error: unable to find LVM volume for $host"
+    exit 1
+fi
+
+# Partitions need to be a bit bigger than the LVM LVs.  not sure why.
+disksize=$( lvs --units m | grep $host-disk | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
+swapsize=$( lvs --units m | grep $host-swap | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
+totalsize=$(( ( $disksize + $swapsize ) ))
+
+img=$host.img
+#dd if=/dev/zero of=$img bs=1M count=$(( $disksize + $swapsize ))
+qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
+
+parted $img mklabel msdos
+parted $img mkpart primary linux-swap 0 $disksize
+parted $img mkpart primary ext2 $disksize $totalsize
+parted $img set 1 boot on
+
+modprobe dm-mod
+losetup /dev/loop0 $img
+kpartx -a /dev/loop0
+
+dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=1M
+fsck.ext3 -f /dev/mapper/loop0p1 || true
+mkswap /dev/mapper/loop0p2
+
+kpartx -d /dev/loop0
+losetup -d /dev/loop0
+
+ +

The script is perhaps so simple that it is not copyrightable, but +if it is, it is licenced using GPL v2 or later at your discretion.

+ +

After doing this, I booted a Debian CD in rescue mode in KVM with +the new disk image attached, installed grub-pc and linux-image-686 and +set up grub to boot from the disk image. After this, the KVM machines +seem to work just fine.

+ +
+
+ + + + Tags: debian, debian edu, english. + +
+
+
+ +
+
+ Lenny->Squeeze upgrades of the Gnome and KDE desktop, now with apt-get autoremove +
+
+ 2010-11-22 14:15 +
+ +
+ +

Michael Biebl suggested to me on IRC, that I changed my automated +upgrade testing of the +Lenny +Gnome and KDE Desktop to do apt-get autoremove when using apt-get. +This seem like a very good idea, so I adjusted by test scripts and +can now present the updated result from today:

+ +

This is for Gnome:

+ +

Installed using apt-get, missing with aptitude

+ +

+ apache2.2-bin + aptdaemon + baobab + binfmt-support + browser-plugin-gnash + cheese-common + cli-common + cups-pk-helper + dmz-cursor-theme + empathy + empathy-common + 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-system-log + gnome-themes-extras + gnome-themes-more + gnome-user-share + gstreamer0.10-fluendo-mp3 + gstreamer0.10-tools + gtk2-engines + gtk2-engines-pixbuf + gtk2-engines-smooth + hamster-applet + libapache2-mod-dnssd + libapr1 + libaprutil1 + libaprutil1-dbd-sqlite3 + libaprutil1-ldap + libart2.0-cil + 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 + libdiscid0 + libelf1 + libepc-1.0-2 + libepc-common + libepc-ui-1.0-2 + libfreerdp-plugins-standard + libfreerdp0 + libgconf2.0-cil + libgdata-common + libgdata7 + 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 + libgpod-common + libgpod4 + libgtk2.0-cil + libgtkglext1 + 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 + libpt2.6.7 + libpython2.6 + librpm1 + librpmio1 + libsdl1.2debian + libsrtp0 + libssh-4 + libtelepathy-farsight0 + libtelepathy-glib0 + libtidy-0.99-0 + media-player-info + mesa-utils + mono-2.0-gac + mono-gac + mono-runtime + nautilus-sendto + nautilus-sendto-empathy + p7zip-full + pkg-config + python-aptdaemon + python-aptdaemon-gtk + python-axiom + python-beautifulsoup + python-bugbuddy + python-clientform + python-coherence + python-configobj + python-crypto + python-cupshelpers + python-elementtree + python-epsilon + python-evolution + python-feedparser + python-gdata + python-gdbm + python-gst0.10 + python-gtkglext1 + 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 + 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 +

+ +

Installed using apt-get, removed with aptitude

+ +

+ cheese + ekiga + eog + epiphany-extensions + evolution-exchange + fast-user-switch-applet + file-roller + gcalctool + gconf-editor + gdm + gedit + gedit-common + gnome-games + gnome-games-data + gnome-nettool + gnome-system-tools + gnome-themes + gnuchess + gucharmap + guile-1.8-libs + libavahi-ui0 + libdmx1 + libgalago3 + libgtk-vnc-1.0-0 + libgtksourceview2.0-0 + liblircclient0 + libsdl1.2debian-alsa + libspeexdsp1 + libsvga1 + rhythmbox + seahorse + sound-juicer + system-config-printer + totem-common + transmission-gtk + vinagre + vino +

+ +

Installed using aptitude, missing with apt-get

+ +

+ gstreamer0.10-gnomevfs +

+ +

Installed using aptitude, removed with apt-get

+ +

+[nothing] +

+ +

This is for KDE:

+ +

Installed using apt-get, missing with aptitude

+ +

+ ksmserver +

+ +

Installed using apt-get, removed with aptitude

+ +

+ kwin + network-manager-kde +

+ +

Installed using aptitude, missing with apt-get

+ +

+ arts + dolphin + freespacenotifier + google-gadgets-gst + google-gadgets-xul + kappfinder + kcalc + kcharselect + kde-core + kde-plasma-desktop + kde-standard + kde-window-manager + kdeartwork + kdeartwork-emoticons + kdeartwork-style + kdeartwork-theme-icon + kdebase + kdebase-apps + kdebase-workspace + kdebase-workspace-bin + kdebase-workspace-data + kdeeject + kdelibs + kdeplasma-addons + kdeutils + kdewallpapers + kdf + kfloppy + kgpg + khelpcenter4 + kinfocenter + konq-plugins-l10n + konqueror-nsplugins + kscreensaver + kscreensaver-xsavers + ktimer + kwrite + libgle3 + libkde4-ruby1.8 + libkonq5 + libkonq5-templates + libnetpbm10 + libplasma-ruby + libplasma-ruby1.8 + libqt4-ruby1.8 + marble-data + marble-plugins + netpbm + nuvola-icon-theme + plasma-dataengines-workspace + plasma-desktop + plasma-desktopthemes-artwork + plasma-runners-addons + plasma-scriptengine-googlegadgets + plasma-scriptengine-python + plasma-scriptengine-qedje + plasma-scriptengine-ruby + plasma-scriptengine-webkit + plasma-scriptengines + plasma-wallpapers-addons + plasma-widget-folderview + plasma-widget-networkmanagement + ruby + sweeper + update-notifier-kde + xscreensaver-data-extra + xscreensaver-gl + xscreensaver-gl-extra + xscreensaver-screensaver-bsod +

+ +

Installed using aptitude, removed with apt-get

+ +

+ ark + google-gadgets-common + google-gadgets-qt + htdig + kate + kdebase-bin + kdebase-data + kdepasswd + kfind + klipper + konq-plugins + konqueror + ksysguard + ksysguardd + libarchive1 + libcln6 + libeet1 + libeina-svn-06 + libggadget-1.0-0b + libggadget-qt-1.0-0b + libgps19 + libkdecorations4 + libkephal4 + libkonq4 + libkonqsidebarplugin4a + libkscreensaver5 + libksgrd4 + libksignalplotter4 + libkunitconversion4 + libkwineffects1a + libmarblewidget4 + libntrack-qt4-1 + libntrack0 + libplasma-geolocation-interface4 + libplasmaclock4a + libplasmagenericshell4 + libprocesscore4a + libprocessui4a + libqalculate5 + libqedje0a + libqtruby4shared2 + libqzion0a + libruby1.8 + libscim8c2a + libsmokekdecore4-3 + libsmokekdeui4-3 + libsmokekfile3 + libsmokekhtml3 + libsmokekio3 + libsmokeknewstuff2-3 + libsmokeknewstuff3-3 + libsmokekparts3 + libsmokektexteditor3 + libsmokekutils3 + libsmokenepomuk3 + libsmokephonon3 + libsmokeplasma3 + libsmokeqtcore4-3 + libsmokeqtdbus4-3 + libsmokeqtgui4-3 + libsmokeqtnetwork4-3 + libsmokeqtopengl4-3 + libsmokeqtscript4-3 + libsmokeqtsql4-3 + libsmokeqtsvg4-3 + libsmokeqttest4-3 + libsmokeqtuitools4-3 + libsmokeqtwebkit4-3 + libsmokeqtxml4-3 + libsmokesolid3 + libsmokesoprano3 + libtaskmanager4a + libtidy-0.99-0 + libweather-ion4a + libxklavier16 + libxxf86misc1 + okteta + oxygencursors + plasma-dataengines-addons + plasma-scriptengine-superkaramba + plasma-widget-lancelot + plasma-widgets-addons + plasma-widgets-workspace + polkit-kde-1 + ruby1.8 + systemsettings + update-notifier-common +

+ +

Running apt-get autoremove made the results using apt-get and +aptitude a bit more similar, but there are still quite a lott of +differences. I have no idea what packages should be installed after +the upgrade, but hope those that do can have a look.

+ +
+
+ + + + Tags: debian, debian edu, english. + +
+
+
+ +
+
+ Why isn't Debian Edu using VLC? +
+
+ 2010-11-27 11:30 +
+ +
+ +

In the latest issue of Linux Journal, the readers choices were +presented, and the winner among the multimedia player were VLC. +Personally, I like VLC, and it is my player of choice when I first try +to play a video file or stream. Only if VLC fail will I drag out +gmplayer to see if it can do better. The reason is mostly the failure +model and trust. When VLC fail, it normally pop up a error message +reporting the problem. When mplayer fail, it normally segfault or +just hangs. The latter failure mode drain my trust in the program.

+ +

But even if VLC is my player of choice, we have choosen to use +mplayer in Debian +Edu/Skolelinux. The reason is simple. We need a good browser +plugin to play web videos seamlessly, and the VLC browser plugin is +not very good. For example, it lack in-line control buttons, so there +is no way for the user to pause the video. Also, when I +last +tested the browser plugins available in Debian, the VLC plugin +failed on several video pages where mplayer based plugins worked. If +the browser plugin for VLC was as good as the gecko-mediaplayer +package (which uses mplayer), we would switch.

+ +

While VLC is a good player, its user interface is slightly +annoying. The most annoying feature is its inconsistent use of +keyboard shortcuts. When the player is in full screen mode, its +shortcuts are different from when it is playing the video in a window. +For example, space only work as pause when in full screen mode. I +wish it had consisten shortcuts and that space also would work when in +window mode. Another nice shortcut in gmplayer is [enter] to restart +the current video. It is very nice when playing short videos from the +web and want to restart it when new people arrive to have a look at +what is going on.

+ +
+
+ + + + Tags: debian, debian edu, english, multimedia, video, web. + +
+
+
+ +
+
+ Now accepting bitcoins - anonymous and distributed p2p crypto-money +
+
+ 2010-12-10 08:20 +
+ +
+ +

With this weeks lawless +governmental +attacks on Wikileak and +free +speech, it has become obvious that PayPal, visa and mastercard can +not be trusted to handle money transactions. +A blog post from +Simon +Phipps on bitcoin reminded me about a project that a friend of +mine mentioned earlier. I decided to follow Simon's example, and get +involved with BitCoin. I got +some help from my friend to get it all running, and he even handed me +some bitcoins to get started. I even donated a few bitcoins to Simon +for helping me remember BitCoin.

+ +

So, what is bitcoins, you probably wonder? It is a digital +crypto-currency, decentralised and handled using peer-to-peer +networks. It allows anonymous transactions and prohibits central +control over the transactions, making it impossible for governments +and companies alike to block donations and other transactions. The +source is free software, and while the key dependency wxWidgets 2.9 +for the graphical user interface is missing in Debian, the command +line client builds just fine. Hopefully Jonas +will get the package into +Debian soon.

+ +

Bitcoins can be converted to other currencies, like USD and EUR. +There are companies accepting +bitcoins when selling services and goods, and there are even +currency "stock" markets where the exchange rate is decided. There +are not many users so far, but the concept seems promising. If you +want to get started and lack a friend with any bitcoins to spare, +you can even get +some for free (0.05 +bitcoin at the time of writing). Use +BitcoinWatch to keep an eye +on the current exchange rates.

+ +

As an experiment, I have decided to set up bitcoind on one of my +machines. If you want to support my activity, please send Bitcoin +donations to the address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b. Thank you!

+ +
+
+ + + + Tags: bitcoin, debian, english, personvern, sikkerhet. + +
+
+
+ +
+
+ Some thoughts on BitCoins +
+
+ 2010-12-11 15:10 +
+ +
+ +

As I continue to explore +BitCoin, I've starting to wonder +what properties the system have, and how it will be affected by laws +and regulations here in Norway. Here are some random notes.

+ +

One interesting thing to note is that since the transactions are +verified using a peer to peer network, all details about a transaction +is known to everyone. This means that if a BitCoin address has been +published like I did with mine in my initial post about BitCoin, it is +possible for everyone to see how many BitCoins have been transfered to +that address. There is even a web service to look at the details for +all transactions. There I can see that my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b +have received 16.06 Bitcoin, the +1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3 +address of Simon Phipps have received 181.97 BitCoin and the address +1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt +of EFF have received 2447.38 BitCoins so far. Thank you to each and +every one of you that donated bitcoins to support my activity. The +fact that anyone can see how much money was transfered to a given +address make it more obvious why the BitCoin community recommend to +generate and hand out a new address for each transaction. I'm told +there is no way to track which addresses belong to a given person or +organisation without the person or organisation revealing it +themselves, as Simon, EFF and I have done.

+ +

In Norway, and in most other countries, there are laws and +regulations limiting how much money one can transfer across the border +without declaring it. There are money laundering, tax and accounting +laws and regulations I would expect to apply to the use of BitCoin. +If the Skolelinux foundation +(SLX +Debian Labs) were to accept donations in BitCoin in addition to +normal bank transfers like EFF is doing, how should this be accounted? +Given that it is impossible to know if money can across the border or +not, should everything or nothing be declared? What exchange rate +should be used when calculating taxes? Would receivers have to pay +income tax if the foundation were to pay Skolelinux contributors in +BitCoin? I have no idea, but it would be interesting to know.

+ +

For a currency to be useful and successful, it must be trusted and +accepted by a lot of users. It must be possible to get easy access to +the currency (as a wage or using currency exchanges), and it must be +easy to spend it. At the moment BitCoin seem fairly easy to get +access to, but there are very few places to spend it. I am not really +a regular user of any of the vendor types currently accepting BitCoin, +so I wonder when my kind of shop would start accepting BitCoins. I +would like to buy electronics, travels and subway tickets, not herbs +and books. :) The currency is young, and this will improve over time +if it become popular, but I suspect regular banks will start to lobby +to get BitCoin declared illegal if it become popular. I'm sure they +will claim it is helping fund terrorism and money laundering (which +probably would be true, as is any currency in existence), but I +believe the problems should be solved elsewhere and not by blaming +currencies.

+ +

The process of creating new BitCoins is called mining, and it is +CPU intensive process that depend on a bit of luck as well (as one is +competing against all the other miners currently spending CPU cycles +to see which one get the next lump of cash). The "winner" get 50 +BitCoin when this happen. Yesterday I came across the obvious way to +join forces to increase ones changes of getting at least some coins, +by coordinating the work on mining BitCoins across several machines +and people, and sharing the result if one is lucky and get the 50 +BitCoins. Check out +BitCoin Pool +if this sounds interesting. I have not had time to try to set up a +machine to participate there yet, but have seen that running on ones +own for a few days have not yield any BitCoins througth mining +yet.

+ +

Update 2010-12-15: Found an interesting +criticism of bitcoin. Not quite sure how valid it is, but thought +it was interesting to read. The arguments presented seem to be +equally valid for gold, which was used as a currency for many years.

+ +
+
+ + + + Tags: bitcoin, debian, english, personvern, sikkerhet. + +
+
+
+ +
+
+ How to test if a laptop is working with Linux +
+
+ 2010-12-22 14:55 +
+ +
+ +

The last few days I have spent at work here at the University of oslo testing if the new +batch of computers will work with Linux. Every year for the last few +years the university have organized shared bid of a few thousand +computers, and this year HP won the bid. Two different desktops and +five different laptops are on the list this year. We in the UNIX +group want to know which one of these computers work well with RHEL +and Ubuntu, the two Linux distributions we currently handle at the +university.

+ +

My test method is simple, and I share it here to get feedback and +perhaps inspire others to test hardware as well. To test, I PXE +install the OS version of choice, and log in as my normal user and run +a few applications and plug in selected pieces of hardware. When +something fail, I make a note about this in the test matrix and move +on. If I have some spare time I try to report the bug to the OS +vendor, but as I only have the machines for a short time, I rarely +have the time to do this for all the problems I find.

+ +

Anyway, to get to the point of this post. Here is the simple tests +I perform on a new model.

+ + + +

By now I suspect you are really curious what the test results are +for the HP machines I am testing. I'm not done yet, so I will report +the test results later. For now I can report that HP 8100 Elite work +fine, and hibernation fail with HP EliteBook 8440p on Ubuntu Lucid, +and audio fail on RHEL6. Ubuntu Maverik worked with 8440p. As you +can see, I have most machines left to test. One interesting +observation is that Ubuntu Lucid has almost twice the framerate than +RHEL6 with glxgears. No idea why.

+ +
+
+ + + + Tags: debian, debian edu, english. + +
+

RSS Feed

@@ -1821,6 +3696,13 @@ and remove the failing query. Nothing big, but very annoying.

Archive