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