]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2010/06/06.rss
Generated.
[homepage.git] / blog / archive / 2010 / 06 / 06.rss
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
3 <channel>
4 <title>Petter Reinholdtsen - Entries from June 2010</title>
5 <description>Entries from June 2010</description>
6 <link>http://people.skolelinux.org/pere/blog/</link>
7
8
9 <item>
10 <title>KDM fail at boot with NVidia cards - and no one try to fix it?</title>
11 <link>http://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html</guid>
13 <pubDate>Tue, 1 Jun 2010 17:05:00 +0200</pubDate>
14 <description>&lt;p&gt;It is strange to watch how a bug in Debian causing KDM to fail to
15 start at boot when an NVidia video card is used is handled. The
16 problem seem to be that the nvidia X.org driver uses a long time to
17 initialize, and this duration is longer than kdm is configured to
18 wait.&lt;/p&gt;
19
20 &lt;p&gt;I came across two bugs related to this issue,
21 &lt;a href=&quot;http://bugs.debian.org/583312&quot;&gt;#583312&lt;/a&gt; initially filed
22 against initscripts and passed on to nvidia-glx when it became obvious
23 that the nvidia drivers were involved, and
24 &lt;a href=&quot;http://bugs.debian.org/524751&quot;&gt;#524751&lt;/a&gt; initially filed against
25 kdm and passed on to src:nvidia-graphics-drivers for unknown reasons.&lt;/p&gt;
26
27 &lt;p&gt;To me, it seem that no-one is interested in actually solving the
28 problem nvidia video card owners experience and make sure the Debian
29 distribution work out of the box for these users. The nvidia driver
30 maintainers expect kdm to be set up to wait longer, while kdm expect
31 the nvidia driver maintainers to fix the driver to start faster, and
32 while they wait for each other I guess the users end up switching to a
33 distribution that work for them. I have no idea what the solution is,
34 but I am pretty sure that waiting for each other is not it.&lt;/p&gt;
35
36 &lt;p&gt;I wonder why we end up handling bugs this way.&lt;/p&gt;
37 </description>
38 </item>
39
40 <item>
41 <title>Togsatsing på norsk, mot sykkel</title>
42 <link>http://people.skolelinux.org/pere/blog/Togsatsing_p__norsk__mot_sykkel.html</link>
43 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Togsatsing_p__norsk__mot_sykkel.html</guid>
44 <pubDate>Wed, 2 Jun 2010 23:45:00 +0200</pubDate>
45 <description>&lt;p&gt;Det står dårlig til med toget når en finner på å la det
46 &lt;a href=&quot;http://www.aftenposten.no/nyheter/iriks/article3677060.ece&quot;&gt;kappkjøre
47 med sykkel&lt;/a&gt;... Jeg tror det trengs strukturendringer for å få
48 fikset på togproblemene i Norge.&lt;/p&gt;
49
50 &lt;p&gt;Mon tro hva toglinje mellom Narvik og Tromsø ville hatt slags
51 effekt på området der?&lt;/p&gt;
52 </description>
53 </item>
54
55 <item>
56 <title>Sitesummary tip: Listing computer hardware models used at site</title>
57 <link>http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html</link>
58 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html</guid>
59 <pubDate>Thu, 3 Jun 2010 12:05:00 +0200</pubDate>
60 <description>&lt;p&gt;When using sitesummary at a site to track machines, it is possible
61 to get a list of the machine types in use thanks to the DMI
62 information extracted from each machine. The script to do so is
63 included in the sitesummary package, and here is example output from
64 the Skolelinux build servers:&lt;/p&gt;
65
66 &lt;blockquote&gt;&lt;pre&gt;
67 maintainer:~# /usr/lib/sitesummary/hardware-model-summary
68 vendor count
69 Dell Computer Corporation 1
70 PowerEdge 1750 1
71 IBM 1
72 eserver xSeries 345 -[8670M1X]- 1
73 Intel 2
74 [no-dmi-info] 3
75 maintainer:~#
76 &lt;/pre&gt;&lt;/blockquote&gt;
77
78 &lt;p&gt;The quality of the report depend on the quality of the DMI tables
79 provided in each machine. Here there are Intel machines without model
80 information listed with Intel as vendor and no model, and virtual Xen
81 machines listed as [no-dmi-info]. One can add -l as a command line
82 option to list the individual machines.&lt;/p&gt;
83
84 &lt;p&gt;A larger list is
85 &lt;a href=&quot;http://narvikskolen.no/sitesummary/&quot;&gt;available from the the
86 city of Narvik&lt;/a&gt;, which uses Skolelinux on all their shools and also
87 provide the basic sitesummary report publicly. In their report there
88 are ~1400 machines. I know they use both Ubuntu and Skolelinux on
89 their machines, and as sitesummary is available in both distributions,
90 it is trivial to get all of them to report to the same central
91 collector.&lt;/p&gt;
92 </description>
93 </item>
94
95 <item>
96 <title>A manual for standards wars...</title>
97 <link>http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html</link>
98 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html</guid>
99 <pubDate>Sun, 6 Jun 2010 14:15:00 +0200</pubDate>
100 <description>&lt;p&gt;Via the
101 &lt;a href=&quot;http://feedproxy.google.com/~r/robweir/antic-atom/~3/QzU4RgoAGMg/weekly-links-10.html&quot;&gt;blog
102 of Rob Weir&lt;/a&gt; I came across the very interesting essay named
103 &lt;a href=&quot;http://faculty.haas.berkeley.edu/shapiro/wars.pdf&quot;&gt;The Art of
104 Standards Wars&lt;/a&gt; (PDF 25 pages). I recommend it for everyone
105 following the standards wars of today.&lt;/p&gt;
106 </description>
107 </item>
108
109 <item>
110 <title>Upstart or sysvinit - as init.d scripts see it</title>
111 <link>http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html</link>
112 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html</guid>
113 <pubDate>Sun, 6 Jun 2010 23:55:00 +0200</pubDate>
114 <description>&lt;p&gt;If Debian is to migrate to upstart on Linux, I expect some init.d
115 scripts to migrate (some of) their operations to upstart job while
116 keeping the init.d for hurd and kfreebsd. The packages with such
117 needs will need a way to get their init.d scripts to behave
118 differently when used with sysvinit and with upstart. Because of
119 this, I had a look at the environment variables set when a init.d
120 script is running under upstart, and when it is not.&lt;/p&gt;
121
122 &lt;p&gt;With upstart, I notice these environment variables are set when a
123 script is started from rcS.d/ (ignoring some irrelevant ones like
124 COLUMNS):&lt;/p&gt;
125
126 &lt;blockquote&gt;&lt;pre&gt;
127 DEFAULT_RUNLEVEL=2
128 previous=N
129 PREVLEVEL=
130 RUNLEVEL=
131 runlevel=S
132 UPSTART_EVENTS=startup
133 UPSTART_INSTANCE=
134 UPSTART_JOB=rc-sysinit
135 &lt;/pre&gt;&lt;/blockquote&gt;
136
137 &lt;p&gt;With sysvinit, these environment variables are set for the same
138 script.&lt;/p&gt;
139
140 &lt;blockquote&gt;&lt;pre&gt;
141 INIT_VERSION=sysvinit-2.88
142 previous=N
143 PREVLEVEL=N
144 RUNLEVEL=S
145 runlevel=S
146 &lt;/pre&gt;&lt;/blockquote&gt;
147
148 &lt;p&gt;The RUNLEVEL and PREVLEVEL environment variables passed on from
149 sysvinit are not set by upstart. Not sure if it is intentional or not
150 to not be compatible with sysvinit in this regard.&lt;/p&gt;
151
152 &lt;p&gt;For scripts needing to behave differently when upstart is used,
153 looking for the UPSTART_JOB environment variable seem to be a good
154 choice.&lt;/p&gt;
155 </description>
156 </item>
157
158 <item>
159 <title>Skolelinux er laget for sentraldrifting, naturligvis</title>
160 <link>http://people.skolelinux.org/pere/blog/Skolelinux_er_laget_for_sentraldrifting__naturligvis.html</link>
161 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Skolelinux_er_laget_for_sentraldrifting__naturligvis.html</guid>
162 <pubDate>Wed, 9 Jun 2010 12:30:00 +0200</pubDate>
163 <description>&lt;p&gt;Det er merkelig hvordan myter om Skolelinux overlever. En slik
164 myte er at Skolelinux ikke kan sentraldriftes og ha sentralt plasserte
165 tjenermaskiner. I siste Computerworld Norge er
166 &lt;a href=&quot;http://www.idg.no/computerworld/article169432.ece&quot;&gt;IT-sjef
167 Viggo Billdal i Steinkjer intervjuet&lt;/a&gt;, og forteller uten
168 blygsel:&lt;/p&gt;
169
170 &lt;blockquote&gt;&lt;p&gt;Vi hadde Skolelinux, men det har vi sluttet med. Vi testet
171 om det lønte seg med Microsoft eller en åpen plattform. Vi fant ut at
172 Microsoft egentlig var totalt sett bedre egnet. Det var store
173 driftskostnader med Skolelinux, blant annet på grunn av
174 desentraliserte servere. Det var komplisert, så vi gikk vekk fra det
175 og bruker nå bare Windows.&lt;/p&gt;&lt;/blockquote&gt;
176
177 &lt;p&gt;En &lt;a
178 href=&quot;https://init.linpro.no/pipermail/skolelinux.no/bruker/2010-June/009101.html&quot;&gt;rask
179 sjekk&lt;/a&gt; mot den norske brukerlista i Skolelinuxprosjektet forteller
180 at Steinkjers forsøk foregikk fram til 2004/2005, og at Røysing skole
181 i Steinkjer skal ha vært svært fornøyd med Skolelinux men at kommunen
182 overkjørte skolen og krevde at de gikk over til Windows. Et søk på
183 nettet sendte meg til
184 &lt;a href=&quot;http://www.dn.no/multimedia/archive/00090/Dagens_it_nr__18_90826a.pdf&quot;&gt;Dagens
185 IT nr. 18 2005&lt;/a&gt; hvor en kan lese på side 18:&lt;/p&gt;
186
187 &lt;blockquote&gt;&lt;p&gt;Inge Tømmerås ved Røysing skole i Steinkjer kjører ennå
188 Microsoft, men forteller at kompetanseutfordringen med Skolelinux ikke
189 var så stor. ­ Jeg syntes Skolelinux var utrolig lett å drifte uten
190 forkunnskaper. Men man må jo selvsagt ha tilgang på ekstern kompetanse
191 til installasjoner og maskinvarefeil, sier Tømmerås.&lt;/p&gt;&lt;/blockquote&gt;
192
193 &lt;p&gt;Som systemarkitekten bak Skolelinux, kan jeg bare riste på hodet
194 over påstanden om at Skolelinux krever desentraliserte tjenere.
195 Skolelinux-arkitekturen er laget for sentralisert drift og plassering
196 av tjenerne lokalt eller sentralt alt etter behov og nettkapasitet.
197 Den er modellert på nettverks- og tjenerløsningen som brukes på
198 Universitetet i Tromsø og Oslo, der jeg jobber med utvikling av
199 driftstjenester. Dette er det heldigvis noen som har fått med seg, og
200 jeg er glad for å kunne sitere fra en kommentar på den overnevnte
201 artikkelen. Min venn og gamle kollega Sturle Sunde forteller der:
202
203 &lt;blockquote&gt;
204 &lt;p&gt;I Flora kommune køyrer vi Skulelinux på skular med alt frå 15 til
205 meir enn 500 elevar. Dei store skulane har eigen tenar, for det er
206 mest praktisk. Eg, som er driftsansvarleg for heile nettet, ser
207 sjeldan dei tenarane fysisk, men at dei står der gjer skulane mindre
208 avhengige av eksterne linjer som er trege eller dyre. Dei minste
209 skulane har ikkje eigen tenar. Å bruke sentral tenar er heller ikkje
210 noko problem. Småskulane klarar seg fint med 1 mbit-linje til ein
211 sentral tenar eller tenaren på ein større skule.&lt;/p&gt;
212
213 &lt;p&gt;Det beste med Skulelinux er halvtjukke klientar. Dei treng ikkje
214 harddisk og brukar minimalt med ressursar på tenaren fordi dei køyrer
215 programma lokalt. Eit klasserom med 30 sju-åtte år gamle maskiner har
216 mykje meir CPU og RAM totalt enn nokon moderne tenar til under
217 millionen. Det trengst to kommandoar på den sentrale tenaren for å
218 oppdatere alle klientane, både tynne og halvtjukke. Vi har ingen
219 problem med diskar som ryk heller, som var eit problem før fordi
220 elevane sat og sparka i maskinene. Og dei krev lite bandbreidde i
221 nettet, so det er fullt mogleg å køyre slike på småskular med trege
222 linjer mot tenaren på ein større skule.&lt;/p&gt;
223
224 &lt;p&gt;Flora kommune har nesten 800 Linux-maskiner i sitt skulenett, og
225 ein person som tek seg av drift av heile nettet, inkludert tenarar,
226 klientar, operativsystem, programvare, heimekontorløysing og
227 administrasjon av brukarar.&lt;/p&gt;
228
229 &lt;p&gt;No skal det seiast at vi ikkje køyrer rein Skulelinux ut av
230 boksen. Vi har gjort ein del tilpassingar mot noko Novell-greier som
231 var der frå før, og som har komplisert installasjonen vår. Etter at
232 oppsettet var gjort har løysinga vore stabil og kravd minimalt med
233 arbeid.&lt;/p&gt;
234 &lt;/blockquote&gt;
235
236 &lt;p&gt;Jeg vet at Narvik, Harstad og Oslo er kommuner der Skolelinux
237 sentraldriftes med sentrale tjenere. Det forteller meg at Steinkjers
238 IT-sjef neppe bør skylde på Skolelinux-løsningen for sine 5 år gamle
239 minner.&lt;/p&gt;
240 </description>
241 </item>
242
243 <item>
244 <title>Automatic upgrade testing from Lenny to Squeeze</title>
245 <link>http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</link>
246 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</guid>
247 <pubDate>Fri, 11 Jun 2010 22:50:00 +0200</pubDate>
248 <description>&lt;p&gt;The last few days I have done some upgrade testing in Debian, to
249 see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs
250 have been discovered and reported in the process
251 (&lt;a href=&quot;http://bugs.debian.org/585410&quot;&gt;#585410&lt;/a&gt; in nagios3-cgi,
252 &lt;a href=&quot;http://bugs.debian.org/584879&quot;&gt;#584879&lt;/a&gt; already fixed in
253 enscript and &lt;a href=&quot;http://bugs.debian.org/584861&quot;&gt;#584861&lt;/a&gt; in
254 kdebase-workspace-data), and to get a more regular testing going on, I
255 am working on a script to automate the test.&lt;/p&gt;
256
257 &lt;p&gt;The idea is to create a Lenny chroot and use tasksel to install a
258 Gnome or KDE desktop installation inside the chroot before upgrading
259 it. To ensure no services are started in the chroot, a policy-rc.d
260 script is inserted. To make sure tasksel believe it is to install a
261 desktop on a laptop, the tasksel tests are replaced in the chroot
262 (only acceptable because this is a throw-away chroot).&lt;/p&gt;
263
264 &lt;p&gt;A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
265 currently always fail because udev refuses to upgrade with the kernel
266 in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
267 is created. The bug report
268 &lt;a href=&quot;http://bugs.debian.org/566000&quot;&gt;#566000&lt;/a&gt; make me suspect
269 this problem do not trigger in a chroot, but I touch the file anyway
270 to make sure the upgrade go well. Testing on virtual and real
271 hardware have failed me because of udev so far, and creating this file
272 do the trick in such settings anyway. This is a
273 &lt;a href=&quot;http://www.linuxquestions.org/questions/debian-26/failed-dist-upgrade-due-to-udev-config_sysfs_deprecated-nonsense-804130/&quot;&gt;known
274 issue&lt;/a&gt; and the current udev behaviour is intended by the udev
275 maintainer because he lack the resources to rewrite udev to keep
276 working with old kernels or something like that. I really wish the
277 udev upstream would keep udev backwards compatible, to avoid such
278 upgrade problem, but given that they fail to do so, I guess
279 documenting the way out of this mess is the best option we got for
280 Debian Squeeze.&lt;/p&gt;
281
282 &lt;p&gt;Anyway, back to the task at hand, testing upgrades. This test
283 script, which I call &lt;tt&gt;upgrade-test&lt;/tt&gt; for now, is doing the
284 trick:&lt;/p&gt;
285
286 &lt;blockquote&gt;&lt;pre&gt;
287 #!/bin/sh
288 set -ex
289
290 if [ &quot;$1&quot; ] ; then
291 desktop=$1
292 else
293 desktop=gnome
294 fi
295
296 from=lenny
297 to=squeeze
298
299 exec &amp;lt; /dev/null
300 unset LANG
301 mirror=http://ftp.skolelinux.org/debian
302 tmpdir=chroot-$from-upgrade-$to-$desktop
303 fuser -mv .
304 debootstrap $from $tmpdir $mirror
305 chroot $tmpdir aptitude update
306 cat &gt; $tmpdir/usr/sbin/policy-rc.d &amp;lt;&amp;lt;EOF
307 #!/bin/sh
308 exit 101
309 EOF
310 chmod a+rx $tmpdir/usr/sbin/policy-rc.d
311 exit_cleanup() {
312 umount $tmpdir/proc
313 }
314 mount -t proc proc $tmpdir/proc
315 # Make sure proc is unmounted also on failure
316 trap exit_cleanup EXIT INT
317
318 chroot $tmpdir aptitude -y install debconf-utils
319
320 # Make sure tasksel autoselection trigger. It need the test scripts
321 # to return the correct answers.
322 echo tasksel tasksel/desktop multiselect $desktop | \
323 chroot $tmpdir debconf-set-selections
324
325 # Include the desktop and laptop task
326 for test in desktop laptop ; do
327 echo &gt; $tmpdir/usr/lib/tasksel/tests/$test &amp;lt;&amp;lt;EOF
328 #!/bin/sh
329 exit 2
330 EOF
331 chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
332 done
333
334 DEBIAN_FRONTEND=noninteractive
335 DEBIAN_PRIORITY=critical
336 export DEBIAN_FRONTEND DEBIAN_PRIORITY
337 chroot $tmpdir tasksel --new-install
338
339 echo deb $mirror $to main &gt; $tmpdir/etc/apt/sources.list
340 chroot $tmpdir aptitude update
341 touch $tmpdir/etc/udev/kernel-upgrade
342 chroot $tmpdir aptitude -y dist-upgrade
343 fuser -mv
344 &lt;/pre&gt;&lt;/blockquote&gt;
345
346 &lt;p&gt;I suspect it would be useful to test upgrades with both apt-get and
347 with aptitude, but I have not had time to look at how they behave
348 differently so far. I hope to get a cron job running to do the test
349 regularly and post the result on the web. The Gnome upgrade currently
350 work, while the KDE upgrade fail because of the bug in
351 kdebase-workspace-data&lt;/p&gt;
352
353 &lt;p&gt;I am not quite sure what kind of extract from the huge upgrade logs
354 (KDE 167 KiB, Gnome 516 KiB) it make sense to include in this blog
355 post, so I will refrain from trying. I can report that for Gnome,
356 aptitude report 760 packages upgraded, 448 newly installed, 129 to
357 remove and 1 not upgraded and 1024MB need to be downloaded while for
358 KDE the same numbers are 702 packages upgraded, 507 newly installed,
359 193 to remove and 0 not upgraded and 1117MB need to be downloaded&lt;/p&gt;
360
361 &lt;p&gt;I am very happy to notice that the Gnome desktop + laptop upgrade
362 is able to migrate to dependency based boot sequencing and parallel
363 booting without a hitch. Was unsure if there were still bugs with
364 packages failing to clean up their obsolete init.d script during
365 upgrades, and no such problem seem to affect the Gnome desktop+laptop
366 packages.&lt;/p&gt;
367 </description>
368 </item>
369
370 <item>
371 <title>Åpne trådløsnett er et samfunnsgode</title>
372 <link>http://people.skolelinux.org/pere/blog/_pne_tr_dl_snett_er_et_samfunnsgode.html</link>
373 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/_pne_tr_dl_snett_er_et_samfunnsgode.html</guid>
374 <pubDate>Sat, 12 Jun 2010 12:45:00 +0200</pubDate>
375 <description>&lt;p&gt;Veldig glad for å oppdage via
376 &lt;a href=&quot;http://yro.slashdot.org/story/10/06/11/1841256/Finland-To-Legalize-Use-of-Unsecured-Wi-Fi&quot;&gt;Slashdot&lt;/a&gt;
377 at folk i Finland har forstått at åpne trådløsnett er et samfunnsgode.
378 Jeg ser på åpne trådløsnett som et fellesgode på linje med retten til
379 ferdsel i utmark og retten til å bevege seg i strandsonen. Jeg har
380 glede av åpne trådløsnett når jeg finner dem, og deler gladelig nett
381 med andre så lenge de ikke forstyrrer min bruk av eget nett.
382 Nettkapasiteten er sjelden en begrensning ved normal browsing og enkel
383 SSH-innlogging (som er min vanligste nettbruk), og nett kan brukes til
384 så mye positivt og nyttig (som nyhetslesing, sjekke været, kontakte
385 slekt og venner, holde seg oppdatert om politiske saker, kontakte
386 organisasjoner og politikere, etc), at det for meg er helt urimelig å
387 blokkere dette for alle som ikke gjør en flue fortred. De som mener
388 at potensialet for misbruk er grunn nok til å hindre all den positive
389 og lovlydige bruken av et åpent trådløsnett har jeg dermed ingen
390 forståelse for. En kan ikke eksistensen av forbrytere styre hvordan
391 samfunnet skal organiseres. Da får en et kontrollsamfunn de færreste
392 ønsker å leve i, og det at vi har et samfunn i Norge der tilliten til
393 hverandre er høy gjør at samfunnet fungerer ganske godt. Det bør vi
394 anstrenge oss for å beholde.&lt;/p&gt;
395 </description>
396 </item>
397
398 <item>
399 <title>Lenny-&gt;Squeeze upgrades, removals by apt and aptitude</title>
400 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</link>
401 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</guid>
402 <pubDate>Sun, 13 Jun 2010 09:05:00 +0200</pubDate>
403 <description>&lt;p&gt;My
404 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html&quot;&gt;testing
405 of Debian upgrades&lt;/a&gt; from Lenny to Squeeze continues, and I&#39;ve
406 finally made the upgrade logs available from
407 &lt;a href=&quot;http://people.skolelinux.org/pere/debian-upgrade-testing/&quot;&gt;http://people.skolelinux.org/pere/debian-upgrade-testing/&lt;/a&gt;.
408 I am now testing dist-upgrade of Gnome and KDE in a chroot using both
409 apt and aptitude, and found their differences interesting. This time
410 I will only focus on their removal plans.&lt;/p&gt;
411
412 &lt;p&gt;After installing a Gnome desktop and the laptop task, apt-get wants
413 to remove 72 packages when dist-upgrading from Lenny to Squeeze. The
414 surprising part is that it want to remove xorg and all
415 xserver-xorg-video* drivers. Clearly not a good choice, but I am not
416 sure why. When asking aptitude to do the same, it want to remove 129
417 packages, but most of them are library packages I suspect are no
418 longer needed. Both of them want to remove bluetooth packages, which
419 I do not know. Perhaps these bluetooth packages are obsolete?&lt;/p&gt;
420
421 &lt;p&gt;For KDE, apt-get want to remove 82 packages, among them kdebase
422 which seem like a bad idea and xorg the same way as with Gnome. Asking
423 aptitude for the same, it wants to remove 192 packages, none which are
424 too surprising.&lt;/p&gt;
425
426 &lt;p&gt;I guess the removal of xorg during upgrades should be investigated
427 and avoided, and perhaps others as well. Here are the complete list
428 of planned removals. The complete logs is available from the URL
429 above. Note if you want to repeat these tests, that the upgrade test
430 for kde+apt-get hung in the tasksel setup because of dpkg asking
431 conffile questions. No idea why. I worked around it by using
432 &#39;&lt;tt&gt;echo &gt;&gt; /proc/&lt;em&gt;pidofdpkg&lt;/em&gt;/fd/0&lt;/tt&gt;&#39; to tell dpkg to
433 continue.&lt;/p&gt;
434
435 &lt;p&gt;&lt;b&gt;apt-get gnome 72&lt;/b&gt;
436 &lt;br&gt;bluez-gnome cupsddk-drivers deskbar-applet gnome
437 gnome-desktop-environment gnome-network-admin gtkhtml3.14
438 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0
439 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
440 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
441 serpentine swfdec-mozilla update-manager xorg xserver-xorg
442 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
443 xserver-xorg-input-kbd xserver-xorg-input-mouse
444 xserver-xorg-input-synaptics xserver-xorg-input-wacom
445 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
446 xserver-xorg-video-ati xserver-xorg-video-chips
447 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
448 xserver-xorg-video-dummy xserver-xorg-video-fbdev
449 xserver-xorg-video-glint xserver-xorg-video-i128
450 xserver-xorg-video-i740 xserver-xorg-video-imstt
451 xserver-xorg-video-intel xserver-xorg-video-mach64
452 xserver-xorg-video-mga xserver-xorg-video-neomagic
453 xserver-xorg-video-nsc xserver-xorg-video-nv
454 xserver-xorg-video-openchrome xserver-xorg-video-r128
455 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
456 xserver-xorg-video-rendition xserver-xorg-video-s3
457 xserver-xorg-video-s3virge xserver-xorg-video-savage
458 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
459 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
460 xserver-xorg-video-tga xserver-xorg-video-trident
461 xserver-xorg-video-tseng xserver-xorg-video-v4l
462 xserver-xorg-video-vesa xserver-xorg-video-vga
463 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9
464 xulrunner-1.9-gnome-support&lt;/p&gt;
465
466 &lt;p&gt;&lt;b&gt;aptitude gnome 129&lt;/b&gt;
467
468 &lt;br&gt;bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd
469 djvulibre-desktop finger gnome-app-install gnome-mount
470 gnome-network-admin gnome-spell gnome-vfs-obexftp
471 gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
472 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
473 libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
474 libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20
475 libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common
476 libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common
477 libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0
478 libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0
479 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
480 libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0
481 libgtksourceview-common libgtksourceview1.0-0 libgucharmap6
482 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10
483 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
484 libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2
485 libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10
486 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8
487 libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1
488 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10
489 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
490 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
491 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
492 openoffice.org-writer2latex openssl-blacklist p7zip
493 python-4suite-xml python-eggtrayicon python-gnome2-desktop
494 python-gnome2-extras python-gtkhtml2 python-gtkmozembed
495 python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
496 swfdec-mozilla totem-gstreamer update-manager wodim
497 xserver-xorg-video-cyrix xserver-xorg-video-imstt
498 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
499 zip&lt;/p&gt;
500
501 &lt;p&gt;&lt;b&gt;apt-get kde 82&lt;/b&gt;
502
503 &lt;br&gt;cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
504 kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
505 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
506 kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
507 kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
508 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
509 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
510 xserver-xorg-input-kbd xserver-xorg-input-mouse
511 xserver-xorg-input-synaptics xserver-xorg-input-wacom
512 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
513 xserver-xorg-video-ati xserver-xorg-video-chips
514 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
515 xserver-xorg-video-dummy xserver-xorg-video-fbdev
516 xserver-xorg-video-glint xserver-xorg-video-i128
517 xserver-xorg-video-i740 xserver-xorg-video-imstt
518 xserver-xorg-video-intel xserver-xorg-video-mach64
519 xserver-xorg-video-mga xserver-xorg-video-neomagic
520 xserver-xorg-video-nsc xserver-xorg-video-nv
521 xserver-xorg-video-openchrome xserver-xorg-video-r128
522 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
523 xserver-xorg-video-rendition xserver-xorg-video-s3
524 xserver-xorg-video-s3virge xserver-xorg-video-savage
525 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
526 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
527 xserver-xorg-video-tga xserver-xorg-video-trident
528 xserver-xorg-video-tseng xserver-xorg-video-v4l
529 xserver-xorg-video-vesa xserver-xorg-video-vga
530 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9&lt;/p&gt;
531
532 &lt;p&gt;&lt;b&gt;aptitude kde 192&lt;/b&gt;
533 &lt;br&gt;bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd
534 djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
535 ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
536 kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
537 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
538 kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
539 kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
540 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
541 kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
542 kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
543 kghostview khelpcenter khexedit kiconedit kitchensync klatin
544 klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
545 kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
546 krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
547 ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
548 kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
549 kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
550 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
551 libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2
552 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
553 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
554 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0
555 libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
556 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
557 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
558 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
559 libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
560 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2
561 libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools
562 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
563 libxerces2-java-gcj libxtrap6 mpeglib networkstatus
564 openoffice.org-writer2latex pmount poster psutils quanta quanta-data
565 superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
566 texlive-common texlive-doc-base texlive-fonts-recommended
567 xserver-xorg-video-cyrix xserver-xorg-video-imstt
568 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
569 xulrunner-1.9&lt;/p&gt;
570
571 </description>
572 </item>
573
574 <item>
575 <title>Officeshots taking shape</title>
576 <link>http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</link>
577 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</guid>
578 <pubDate>Sun, 13 Jun 2010 11:40:00 +0200</pubDate>
579 <description>&lt;p&gt;For those of us caring about document exchange and
580 interoperability, &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;OfficeShots&lt;/a&gt;
581 is a great service. It is to ODF documents what
582 &lt;a href=&quot;http://browsershots.org/&quot;&gt;BrowserShots&lt;/a&gt; is for web
583 pages.&lt;/p&gt;
584
585 &lt;p&gt;A while back, I was contacted by Knut Yrvin at the part of Nokia
586 that used to be Trolltech, who wanted to help the OfficeShots project
587 and wondered if the University of Oslo where I work would be
588 interested in supporting the project. I helped him to navigate his
589 request to the right people at work, and his request was answered with
590 a spot in the machine room with power and network connected, and Knut
591 arranged funding for a machine to fill the spot. The machine is
592 administrated by the OfficeShots people, so I do not have daily
593 contact with its progress, and thus from time to time check back to
594 see how the project is doing.&lt;/p&gt;
595
596 &lt;p&gt;Today I had a look, and was happy to see that the Dell box in our
597 machine room now is the host for several virtual machines running as
598 OfficeShots factories, and the project is able to render ODF documents
599 in 17 different document processing implementation on Linux and
600 Windows. This is great.&lt;/p&gt;
601 </description>
602 </item>
603
604 <item>
605 <title>Vinmonopolet bryter loven åpenlyst - og flere planlegger å gjøre det samme</title>
606 <link>http://people.skolelinux.org/pere/blog/Vinmonopolet_bryter_loven__penlyst___og_flere_planlegger___gj_re_det_samme.html</link>
607 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Vinmonopolet_bryter_loven__penlyst___og_flere_planlegger___gj_re_det_samme.html</guid>
608 <pubDate>Wed, 16 Jun 2010 11:00:00 +0200</pubDate>
609 <description>&lt;p&gt;&lt;a href=&quot;http://www.dagbladet.no/2010/06/16/nyheter/innenriks/streik/arbeidsliv/12157858/&quot;&gt;Dagbladet
610 melder&lt;/a&gt; at Vinmonopolet med bakgrunn i vekterstreiken som pågår i
611 Norge for tiden, har bestemt seg for med vitende og vilje å bryte
612 sentralbanklovens paragraf 14 ved å nekte folk å betale med
613 kontanter, og at flere butikker planlegger å følge deres eksempel.
614 Jeg synes det er hårreisende hvis de slipper unna med et slikt
615 soleklart lovbrudd, og lurer på hva slags muligheter jeg vil ha hvis
616 jeg blir nektet å handle med kontanter. Jeg handler i hovedsak med
617 kontanter selv, da jeg anser det som en borgerrett å kunne handle
618 anonymt uten at det blir registrert. For meg er det et angrep på mitt
619 personvern å nekte å ta imot kontant betaling.&lt;/p&gt;
620
621 &lt;p&gt;&lt;a href=&quot;http://www.lovdata.no/all/tl-19850524-028-003.html#14&quot;&gt;Paragrafen
622 i sentralbankloven&lt;/a&gt; lyder:&lt;/p&gt;
623
624 &lt;blockquote&gt;
625 &lt;p&gt;§ 14. Tvungent betalingsmiddel&lt;/p&gt;
626
627 &lt;p&gt;Bankens sedler og mynter er tvungent betalingsmiddel i Norge. Ingen
628 er pliktig til i én betaling å ta imot mer enn femogtyve mynter av
629 hver enhet.&lt;/p&gt;
630
631 &lt;p&gt;Sterkt skadde sedler og mynter er ikke tvungent
632 betalingsmiddel. Banken gir nærmere forskrifter om erstatning for
633 bortkomne, brente eller skadde sedler og mynter.&lt;/p&gt;
634
635 &lt;p&gt;Selv om en avtale inneholder klausul om betaling av en
636 pengeforpliktelse i gullverdi, kan skyldneren frigjøre seg med tvungne
637 betalingsmidler uten hensyn til denne klausul.&lt;/p&gt;
638 &lt;/blockquote&gt;
639
640 &lt;p&gt;Det er med bakgrunn i denne lovet ikke tillatt å nekte å ta imot
641 kontakt betaling. Det er en lov jeg har sans for, og som jeg mener må
642 håndheves strengt.&lt;/p&gt;
643 </description>
644 </item>
645
646 <item>
647 <title>Calling tasksel like the installer, while still getting useful output</title>
648 <link>http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</link>
649 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</guid>
650 <pubDate>Wed, 16 Jun 2010 14:55:00 +0200</pubDate>
651 <description>&lt;p&gt;A few times I have had the need to simulate the way tasksel
652 installs packages during the normal debian-installer run. Until now,
653 I have ended up letting tasksel do the work, with the annoying problem
654 of not getting any feedback at all when something fails (like a
655 conffile question from dpkg or a download that fails), using code like
656 this:
657
658 &lt;blockquote&gt;&lt;pre&gt;
659 export DEBIAN_FRONTEND=noninteractive
660 tasksel --new-install
661 &lt;/pre&gt;&lt;/blockquote&gt;
662
663 This would invoke tasksel, let its automatic task selection pick the
664 tasks to install, and continue to install the requested tasks without
665 any output what so ever.
666
667 Recently I revisited this problem while working on the automatic
668 package upgrade testing, because tasksel would some times hang without
669 any useful feedback, and I want to see what is going on when it
670 happen. Then it occured to me, I can parse the output from tasksel
671 when asked to run in test mode, and use that aptitude command line
672 printed by tasksel then to simulate the tasksel run. I ended up using
673 code like this:
674
675 &lt;blockquote&gt;&lt;pre&gt;
676 export DEBIAN_FRONTEND=noninteractive
677 cmd=&quot;$(in_target tasksel -t --new-install | sed &#39;s/debconf-apt-progress -- //&#39;)&quot;
678 $cmd
679 &lt;/pre&gt;&lt;/blockquote&gt;
680
681 &lt;p&gt;The content of $cmd is typically something like &quot;&lt;tt&gt;aptitude -q
682 --without-recommends -o APT::Install-Recommends=no -y install
683 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
684 ~pimportant&lt;/tt&gt;&quot;, which will install the gnome desktop task, the
685 laptop task and all packages with priority standard , required and
686 important, just like tasksel would have done it during
687 installation.&lt;/p&gt;
688
689 &lt;p&gt;A better approach is probably to extend tasksel to be able to
690 install packages without using debconf-apt-progress, for use cases
691 like this.&lt;/p&gt;
692 </description>
693 </item>
694
695 <item>
696 <title>Idea for a change to LDAP schemas allowing DNS and DHCP info to be combined into one object</title>
697 <link>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</link>
698 <guid isPermaLink="true">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</guid>
699 <pubDate>Thu, 24 Jun 2010 00:35:00 +0200</pubDate>
700 <description>&lt;p&gt;A while back, I
701 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html&quot;&gt;complained
702 about the fact&lt;/a&gt; that it is not possible with the provided schemas
703 for storing DNS and DHCP information in LDAP to combine the two sets
704 of information into one LDAP object representing a computer.&lt;/p&gt;
705
706 &lt;p&gt;In the mean time, I discovered that a simple fix would be to make
707 the dhcpHost object class auxiliary, to allow it to be combined with
708 the dNSDomain object class, and thus forming one object for one
709 computer when storing both DHCP and DNS information in LDAP.&lt;/p&gt;
710
711 &lt;p&gt;If I understand this correctly, it is not safe to do this change
712 without also changing the assigned number for the object class, and I
713 do not know enough about LDAP schema design to do that properly for
714 Debian Edu.&lt;/p&gt;
715
716 &lt;p&gt;Anyway, for future reference, this is how I believe we could change
717 the
718 &lt;a href=&quot;http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00&quot;&gt;DHCP
719 schema&lt;/a&gt; to solve at least part of the problem with the LDAP schemas
720 available today from IETF.&lt;/p&gt;
721
722 &lt;pre&gt;
723 --- dhcp.schema (revision 65192)
724 +++ dhcp.schema (working copy)
725 @@ -376,7 +376,7 @@
726 objectclass ( 2.16.840.1.113719.1.203.6.6
727 NAME &#39;dhcpHost&#39;
728 DESC &#39;This represents information about a particular client&#39;
729 - SUP top
730 + SUP top AUXILIARY
731 MUST cn
732 MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
733 X-NDS_CONTAINMENT (&#39;dhcpService&#39; &#39;dhcpSubnet&#39; &#39;dhcpGroup&#39;) )
734 &lt;/pre&gt;
735
736 &lt;p&gt;I very much welcome clues on how to do this properly for Debian
737 Edu/Squeeze. We provide the DHCP schema in our debian-edu-config
738 package, and should thus be free to rewrite it as we see fit.&lt;/p&gt;
739
740 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
741 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
742 </description>
743 </item>
744
745 <item>
746 <title>LUMA, a very nice LDAP GUI</title>
747 <link>http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</link>
748 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</guid>
749 <pubDate>Mon, 28 Jun 2010 00:30:00 +0200</pubDate>
750 <description>&lt;p&gt;The last few days I have been looking into the status of the LDAP
751 directory in Debian Edu, and in the process I started to miss a GUI
752 tool to browse the LDAP tree. The only one I was able to find in
753 Debian/Squeeze and Lenny is
754 &lt;a href=&quot;http://luma.sourceforge.net/&quot;&gt;LUMA&lt;/a&gt;, which has proved to
755 be a great tool to get a overview of the current LDAP directory
756 populated by default in Skolelinux. Thanks to it, I have been able to
757 find empty and obsolete subtrees, misplaced objects and duplicate
758 objects. It will be installed by default in Debian/Squeeze. If you
759 are working with LDAP, give it a go. :)&lt;/p&gt;
760
761 &lt;p&gt;I did notice one problem with it I have not had time to report to
762 the BTS yet. There is no .desktop file in the package, so the tool do
763 not show up in the Gnome and KDE menus, but only deep down in in the
764 Debian submenu in KDE. I hope that can be fixed before Squeeze is
765 released.&lt;/p&gt;
766
767 &lt;p&gt;I have not yet been able to get it to modify the tree yet. I would
768 like to move objects and remove subtrees directly in the GUI, but have
769 not found a way to do that with LUMA yet. So in the mean time, I use
770 &lt;a href=&quot;http://www.lichteblau.com/ldapvi/&quot;&gt;ldapvi&lt;/a&gt; for that.&lt;/p&gt;
771
772 &lt;p&gt;If you have tips on other GUI tools for LDAP that might be useful
773 in Debian Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
774
775 &lt;p&gt;Update 2010-06-29: Ross Reedstrom tipped us about the
776 &lt;a href=&quot;http://packages.qa.debian.org/g/gq.html&quot;&gt;gq&lt;/a&gt; package as a
777 useful GUI alternative. It seem like a good tool, but is unmaintained
778 in Debian and got a RC bug keeping it out of Squeeze. Unless that
779 changes, it will not be an option for Debian Edu based on Squeeze.&lt;/p&gt;
780 </description>
781 </item>
782
783 </channel>
784 </rss>