1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/'
>
4 <title>Petter Reinholdtsen - Entries tagged debian
</title>
5 <description>Entries tagged debian
</description>
6 <link>http://people.skolelinux.org/pere/blog/
</link>
10 <title>The sorry state of multimedia browser plugins in Debian
</title>
11 <link>http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html
</guid>
13 <pubDate>Tue,
25 Nov
2008 00:
10:
00 +
0100</pubDate>
15 <p
>Recently I have spent some time evaluating the multimedia browser
16 plugins available in Debian Lenny, to see which one we should use by
17 default in Debian Edu. We need an embedded video playing plugin with
18 control buttons to pause or stop the video, and capable of streaming
19 all the multimedia content available on the web. The test results and
20 notes are available on
21 <a href=
"http://wiki.debian.org/DebianEdu/BrowserMultimedia
">the
22 Debian wiki
</a
>. I was surprised how few of the plugins are able to
23 fill this need. My personal video player favorite, VLC, has a really
24 bad plugin which fail on a lot of the test pages. A lot of the MIME
25 types I would expect to work with any free software player (like
26 video/ogg), just do not work. And simple formats like the
27 audio/x-mplegurl format (m3u playlists), just isn
't supported by the
28 totem and vlc plugins. I hope the situation will improve soon. No
29 wonder sites use the proprietary Adobe flash to play video.
</p
>
31 <p
>For Lenny, we seem to end up with the mplayer plugin. It seem to
32 be the only one fitting our needs. :/
</p
>
37 <title>Devcamp brought us closer to the Lenny based Debian Edu release
</title>
38 <link>http://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html
</link>
39 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html
</guid>
40 <pubDate>Sun,
7 Dec
2008 12:
00:
00 +
0100</pubDate>
42 <p
>This weekend we had a small developer gathering for Debian Edu in
43 Oslo. Most of Saturday was used for the general assemly for the
44 member organization, but the rest of the weekend I used to tune the
45 LTSP installation. LTSP now work out of the box on the
10-network.
46 Acer Aspire One proved to be a very nice thin client, with both
47 screen, mouse and keybard in a small box. Was working on getting the
48 diskless workstation setup configured out of the box, but did not
49 finish it before the weekend was up.
</p
>
51 <p
>Did not find time to look at the
4 VGA cards in one box we got from
52 the Brazilian group, so that will have to wait for the next
53 development gathering. Would love to have the Debian Edu installer
54 automatically detect and configure a multiseat setup when it find one
55 of these cards.
</p
>
60 <title>Endelig er Debian Lenny gitt ut
</title>
61 <link>http://people.skolelinux.org/pere/blog/Endelig_er_Debian_Lenny_gitt_ut.html
</link>
62 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Endelig_er_Debian_Lenny_gitt_ut.html
</guid>
63 <pubDate>Sun,
15 Feb
2009 11:
50:
00 +
0100</pubDate>
65 <p
>Endelig er
<a href=
"http://www.debian.org/
">Debian
</a
>
66 <a href=
"http://www.debian.org/News/
2009/
20090214">Lenny
</a
> gitt ut.
67 Et langt steg videre for Debian-prosjektet, og en rekke nye
68 programpakker blir nå tilgjengelig for de av oss som bruker den
69 stabile utgaven av Debian. Neste steg er nå å få
70 <a href=
"http://www.skolelinux.org/
">Skolelinux
</a
> /
71 <a href=
"http://wiki.debian.org/DebianEdu/
">Debian Edu
</a
> ferdig
72 oppdatert for den nye utgaven, slik at en oppdatert versjon kan
73 slippes løs på skolene. Takk til alle debian-utviklerne som har
74 gjort dette mulig. Endelig er f.eks. fungerende avhengighetsstyrt
75 bootsekvens tilgjengelig i stabil utgave, vha pakken
76 <tt
>insserv
</tt
>.
</p
>
81 <title>Time for new LDAP schemas replacing RFC
2307?
</title>
82 <link>http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html
</link>
83 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html
</guid>
84 <pubDate>Sun,
29 Mar
2009 20:
30:
00 +
0200</pubDate>
86 <p
>The state of standardized LDAP schemas on Linux is far from
87 optimal. There is RFC
2307 documenting one way to store NIS maps in
88 LDAP, and a modified version of this normally called RFC
2307bis, with
89 some modifications to be compatible with Active Directory. The RFC
90 specification handle the content of a lot of system databases, but do
91 not handle DNS zones and DHCP configuration.
</p
>
93 <p
>In
<a href=
"http://www.skolelinux.org/
">Debian Edu/Skolelinux
</a
>,
94 we would like to store information about users, SMB clients/hosts,
95 filegroups, netgroups (users and hosts), DHCP and DNS configuration,
96 and LTSP configuration in LDAP. These objects have a lot in common,
97 but with the current LDAP schemas it is not possible to have one
98 object per entity. For example, one need to have at least three LDAP
99 objects for a given computer, one with the SMB related stuff, one with
100 DNS information and another with DHCP information. The schemas
101 provided for DNS and DHCP are impossible to combine into one LDAP
102 object. In addition, it is impossible to implement quick queries for
103 netgroup membership, because of the way NIS triples are implemented.
104 It just do not scale. I believe it is time for a few RFC
105 specifications to cleam up this mess.
</p
>
107 <p
>I would like to have one LDAP object representing each computer in
108 the network, and this object can then keep the SMB (ie host key), DHCP
109 (mac address/name) and DNS (name/IP address) settings in one place.
110 It need to be efficently stored to make sure it scale well.
</p
>
112 <p
>I would also like to have a quick way to map from a user or
113 computer and to the net group this user or computer is a member.
</p
>
115 <p
>Active Directory have done a better job than unix heads like myself
116 in this regard, and the unix side need to catch up. Time to start a
117 new IETF work group?
</p
>
122 <title>Returning from Skolelinux developer gathering
</title>
123 <link>http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html
</link>
124 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html
</guid>
125 <pubDate>Sun,
29 Mar
2009 21:
00:
00 +
0200</pubDate>
127 <p
>I
'm sitting on the train going home from this weekends Debian
128 Edu/Skolelinux development gathering. I got a bit done tuning the
129 desktop, and looked into the dynamic service location protocol
130 implementation avahi. It look like it could be useful for us. Almost
131 30 people participated, and I believe it was a great environment to
132 get to know the Skolelinux system. Walter Bender, involved in the
133 development of the Sugar educational platform, presented his stuff and
134 also helped me improve my OLPC installation. He also showed me that
135 his Turtle Art application can be used in standalone mode, and we
136 agreed that I would help getting it packaged for Debian. As a
137 standalone application it would be great for Debian Edu. We also
138 tried to get the video conferencing working with two OLPCs, but that
139 proved to be too hard for us. The application seem to need more work
140 before it is ready for me. I look forward to getting home and relax
146 <title>Standardize on protocols and formats, not vendors and applications
</title>
147 <link>http://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html
</link>
148 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html
</guid>
149 <pubDate>Mon,
30 Mar
2009 11:
50:
00 +
0200</pubDate>
151 <p
>Where I work at the University of Oslo, one decision stand out as a
152 very good one to form a long lived computer infrastructure. It is the
153 simple one, lost by many in todays computer industry: Standardize on
154 open network protocols and open exchange/storage formats, not applications.
155 Applications come and go, while protocols and files tend to stay, and
156 thus one want to make it easy to change application and vendor, while
157 avoiding conversion costs and locking users to a specific platform or
158 application.
</p
>
160 <p
>This approach make it possible to replace the client applications
161 independently of the server applications. One can even allow users to
162 use several different applications as long as they handle the selected
163 protocol and format. In the normal case, only one client application
164 is recommended and users only get help if they choose to use this
165 application, but those that want to deviate from the easy path are not
166 blocked from doing so.
</p
>
168 <p
>It also allow us to replace the server side without forcing the
169 users to replace their applications, and thus allow us to select the
170 best server implementation at any moment, when scale and resouce
171 requirements change.
</p
>
173 <p
>I strongly recommend standardizing - on open network protocols and
174 open formats, but I would never recommend standardizing on a single
175 application that do not use open network protocol or open formats.
</p
>
180 <title>No patch is not better than a useless patch
</title>
181 <link>http://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html
</link>
182 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html
</guid>
183 <pubDate>Tue,
28 Apr
2009 09:
30:
00 +
0200</pubDate>
185 <p
>Julien Blache
186 <a href=
"http://blog.technologeek.org/
2009/
04/
12/
214">claim that no
187 patch is better than a useless patch
</a
>. I completely disagree, as a
188 patch allow one to discuss a concrete and proposed solution, and also
189 prove that the issue at hand is important enough for someone to spent
190 time on fixing it. No patch do not provide any of these positive
191 properties.
</p
>
196 <title>Two projects that have improved the quality of free software a lot
</title>
197 <link>http://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html
</link>
198 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html
</guid>
199 <pubDate>Sat,
2 May
2009 15:
00:
00 +
0200</pubDate>
201 <p
>There are two software projects that have had huge influence on the
202 quality of free software, and I wanted to mention both in case someone
203 do not yet know them.
</p
>
205 <p
>The first one is
<a href=
"http://valgrind.org/
">valgrind
</a
>, a
206 tool to detect and expose errors in the memory handling of programs.
207 It is easy to use, all one need to do is to run
'valgrind program
',
208 and it will report any problems on stdout. It is even better if the
209 program include debug information. With debug information, it is able
210 to report the source file name and line number where the problem
211 occurs. It can report things like
'reading past memory block in file
212 X line N, the memory block was allocated in file Y, line M
', and
213 'using uninitialised value in control logic
'. This tool has made it
214 trivial to investigate reproducible crash bugs in programs, and have
215 reduced the number of this kind of bugs in free software a lot.
217 <p
>The second one is
218 <a href=
"http://en.wikipedia.org/wiki/Coverity
">Coverity
</a
> which is
219 a source code checker. It is able to process the source of a program
220 and find problems in the logic without running the program. It
221 started out as the Stanford Checker and became well known when it was
222 used to find bugs in the Linux kernel. It is now a commercial tool
223 and the company behind it is running
224 <a href=
"http://www.scan.coverity.com/
">a community service
</a
> for the
225 free software community, where a lot of free software projects get
226 their source checked for free. Several thousand defects have been
227 found and fixed so far. It can find errors like
'lock L taken in file
228 X line N is never released if exiting in line M
', or
'the code in file
229 Y lines O to P can never be executed
'. The projects included in the
230 community service project have managed to get rid of a lot of
231 reliability problems thanks to Coverity.
</p
>
233 <p
>I believe tools like this, that are able to automatically find
234 errors in the source, are vital to improve the quality of software and
235 make sure we can get rid of the crashing and failing software we are
236 surrounded by today.
</p
>
241 <title>Kryptert harddisk - naturligvis
</title>
242 <link>http://people.skolelinux.org/pere/blog/Kryptert_harddisk___naturligvis.html
</link>
243 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Kryptert_harddisk___naturligvis.html
</guid>
244 <pubDate>Sat,
2 May
2009 15:
30:
00 +
0200</pubDate>
246 <p
><a href=
"http://www.dagensit.no/trender/article1658676.ece
">Dagens
247 IT melder
</a
> at Intel hevder at det er dyrt å miste en datamaskin,
248 når en tar tap av arbeidstid, fortrolige dokumenter,
249 personopplysninger og alt annet det innebærer. Det er ingen tvil om
250 at det er en kostbar affære å miste sin datamaskin, og det er årsaken
251 til at jeg har kryptert harddisken på både kontormaskinen og min
252 bærbare. Begge inneholder personopplysninger jeg ikke ønsker skal
253 komme på avveie, den første informasjon relatert til jobben min ved
254 Universitetet i Oslo, og den andre relatert til blant annet
255 foreningsarbeide. Kryptering av diskene gjør at det er lite
256 sannsynlig at dophoder som kan finne på å rappe maskinene får noe ut
257 av dem. Maskinene låses automatisk etter noen minutter uten bruk,
258 og en reboot vil gjøre at de ber om passord før de vil starte opp.
259 Jeg bruker Debian på begge maskinene, og installasjonssystemet der
260 gjør det trivielt å sette opp krypterte disker. Jeg har LVM på toppen
261 av krypterte partisjoner, slik at alt av datapartisjoner er kryptert.
262 Jeg anbefaler alle å kryptere diskene på sine bærbare. Kostnaden når
263 det er gjort slik jeg gjør det er minimale, og gevinstene er
264 betydelige. En bør dog passe på passordet. Hvis det går tapt, må
265 maskinen reinstalleres og alt er tapt.
</p
>
267 <p
>Krypteringen vil ikke stoppe kompetente angripere som f.eks. kjøler
268 ned minnebrikkene før maskinen rebootes med programvare for å hente ut
269 krypteringsnøklene. Kostnaden med å forsvare seg mot slike angripere
270 er for min del høyere enn gevinsten. Jeg tror oddsene for at
271 f.eks. etteretningsorganisasjoner har glede av å titte på mine
272 maskiner er minimale, og ulempene jeg ville oppnå ved å forsøke å
273 gjøre det vanskeligere for angripere med kompetanse og ressurser er
274 betydelige.
</p
>
279 <title>IDG mener linux i servermarkedet vil vokse med
21% i
2009</title>
280 <link>http://people.skolelinux.org/pere/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html
</link>
281 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html
</guid>
282 <pubDate>Thu,
7 May
2009 22:
30:
00 +
0200</pubDate>
285 <a href=
"http://news.cnet.com/
8301-
13505_3-
10216873-
16.html
">interessante
286 tall
</a
> fra IDG om utviklingen av linuxservermarkedet. Fikk meg til
287 å tenke på antall tjenermaskiner ved Universitetet i Oslo der jeg
288 jobber til daglig. En rask opptelling forteller meg at vi har
490
289 (
61%) fysiske unix-tjener (mest linux men også noen solaris) og
196
290 (
25%) windowstjenere, samt
112 (
14%) virtuelle unix-tjenere. Med den
291 bakgrunnskunnskapen kan jeg godt tro at IDG er inne på noe.
</p
>
296 <title>BSAs påstander om piratkopiering møter motstand
</title>
297 <link>http://people.skolelinux.org/pere/blog/BSAs_p__stander_om_piratkopiering_m__ter_motstand.html
</link>
298 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/BSAs_p__stander_om_piratkopiering_m__ter_motstand.html
</guid>
299 <pubDate>Sun,
17 May
2009 23:
05:
00 +
0200</pubDate>
301 <p
>Hvert år de siste årene har BSA, lobbyfronten til de store
302 programvareselskapene som Microsoft og Apple, publisert en rapport der
303 de gjetter på hvor mye piratkopiering påfører i tapte inntekter i
304 ulike land rundt om i verden. Resultatene er tendensiøse. For noen
306 <a href=
"http://global.bsa.org/globalpiracy2008/studies/globalpiracy2008.pdf
">siste
307 rapport
</a
>, og det er flere kritiske kommentarer publisert de siste
308 dagene. Et spesielt interessant kommentar fra Sverige,
309 <a href=
"http://www.idg.se/
2.1085/
1.229795/bsa-hoftade-sverigesiffror
">BSA
310 höftade Sverigesiffror
</a
>, oppsummeres slik:
</p
>
313 I sin senaste rapport slår BSA fast att
25 procent av all mjukvara i
314 Sverige är piratkopierad. Det utan att ha pratat med ett enda svenskt
315 företag.
"Man bör nog kanske inte se de här siffrorna som helt
316 exakta
", säger BSAs Sverigechef John Hugosson.
319 <p
>Mon tro om de er like metodiske når de gjetter på andelen piratkopiering i Norge? To andre kommentarer er
<a
320 href=
"http://www.vnunet.com/vnunet/comment/
2242134/bsa-piracy-figures-shot-reality
">BSA
321 piracy figures need a shot of reality
</a
> og
<a
322 href=
"http://www.michaelgeist.ca/content/view/
3958/
125/
">Does The WIPO
323 Copyright Treaty Work?
</a
></p
>
325 <p
>Fant lenkene via
<a
326 href=
"http://tech.slashdot.org/article.pl?sid=
09/
05/
17/
1632242">oppslag
327 på Slashdot
</a
>.
</p
>
332 <title>Debian boots quicker and quicker
</title>
333 <link>http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html
</link>
334 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html
</guid>
335 <pubDate>Wed,
24 Jun
2009 21:
40:
00 +
0200</pubDate>
337 <p
>I spent Monday and tuesday this week in London with a lot of the
338 people involved in the boot system on Debian and Ubuntu, to see if we
339 could find more ways to speed up the boot system. This was an Ubuntu
341 <a href=
"https://wiki.ubuntu.com/FoundationsTeam/BootPerformance/DebianUbuntuSprint
">developer
342 gathering
</a
>. It was quite productive. We also discussed the future
343 of boot systems, and ways to handle the increasing number of boot
344 issues introduced by the Linux kernel becoming more and more
345 asynchronous and event base. The Ubuntu approach using udev and
346 upstart might be a good way forward. Time will show.
</p
>
348 <p
>Anyway, there are a few ways at the moment to speed up the boot
349 process in Debian. All of these should be applied to get a quick
354 <li
>Use dash as /bin/sh.
</li
>
356 <li
>Disable the init.d/hwclock*.sh scripts and make sure the hardware
357 clock is in UTC.
</li
>
359 <li
>Install and activate the insserv package to enable
360 <a href=
"http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
">dependency
361 based boot sequencing
</a
>, and enable concurrent booting.
</li
>
365 These points are based on the Google summer of code work done by
366 <a href=
"http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/
">Carlos
369 <p
>Support for makefile-style concurrency during boot was uploaded to
370 unstable yesterday. When we tested it, we were able to cut
6 seconds
371 from the boot sequence. It depend on very correct dependency
372 declaration in all init.d scripts, so I expect us to find edge cases
373 where the dependences in some scripts are slightly wrong when we start
374 using this.
</p
>
376 <p
>On our IRC channel for this effort, #pkg-sysvinit, a new idea was
377 introduced by Raphael Geissert today, one that could affect the
378 startup speed as well. Instead of starting some scripts concurrently
379 from rcS.d/ and another set of scripts from rc2.d/, it would be
380 possible to run a of them in the same process. A quick way to test
381 this would be to enable insserv and run
'mv /etc/rc2.d/S* /etc/rcS.d/;
382 insserv
'. Will need to test if that work. :)
</p
>
387 <title>Taking over sysvinit development
</title>
388 <link>http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html
</link>
389 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html
</guid>
390 <pubDate>Wed,
22 Jul
2009 23:
00:
00 +
0200</pubDate>
392 <p
>After several years of frustration with the lack of activity from
393 the existing sysvinit upstream developer, I decided a few weeks ago to
394 take over the package and become the new upstream. The number of
395 patches to track for the Debian package was becoming a burden, and the
396 lack of synchronization between the distribution made it hard to keep
397 the package up to date.
</p
>
399 <p
>On the new sysvinit team is the SuSe maintainer Dr. Werner Fink,
400 and my Debian co-maintainer Kel Modderman. About
10 days ago, I made
401 a new upstream tarball with version number
2.87dsf (for Debian, SuSe
402 and Fedora), based on the patches currently in use in these
403 distributions. We Debian maintainers plan to move to this tarball as
404 the new upstream as soon as we find time to do the merge. Since the
405 new tarball was created, we agreed with Werner at SuSe to make a new
406 upstream project at
<a href=
"http://savannah.nongnu.org/
">Savannah
</a
>, and continue
407 development there. The project is registered and currently waiting
408 for approval by the Savannah administrators, and as soon as it is
409 approved, we will import the old versions from svn and continue
410 working on the future release.
</p
>
412 <p
>It is a bit ironic that this is done now, when some of the involved
413 distributions are moving to upstart as a syvinit replacement.
</p
>
418 <title>Debian has switched to dependency based boot sequencing
</title>
419 <link>http://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html
</link>
420 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html
</guid>
421 <pubDate>Mon,
27 Jul
2009 23:
50:
00 +
0200</pubDate>
423 <p
>Since this evening, with the upload of sysvinit version
2.87dsf-
2,
424 and the upload of insserv version
1.12.0-
10 yesterday, Debian unstable
425 have been migrated to using dependency based boot sequencing. This
426 conclude work me and others have been doing for the last three days.
427 It feels great to see this finally part of the default Debian
428 installation. Now we just need to weed out the last few problems that
429 are bound to show up, to get everything ready for Squeeze.
</p
>
431 <p
>The next step is migrating /sbin/init from sysvinit to upstart, and
432 fixing the more fundamental problem of handing the event based
433 non-predictable kernel in the early boot.
</p
>
438 <title>Parallellizing the boot in Debian Squeeze - ready for wider testing
</title>
439 <link>http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html
</link>
440 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html
</guid>
441 <pubDate>Thu,
6 May
2010 23:
25:
00 +
0200</pubDate>
443 <p
>These days, the init.d script dependencies in Squeeze are quite
444 complete, so complete that it is actually possible to run all the
445 init.d scripts in parallell based on these dependencies. If you want
446 to test your Squeeze system, make sure
447 <a href=
"http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
">dependency
448 based boot sequencing
</a
> is enabled, and add this line to
449 /etc/default/rcS:
</p
>
451 <blockquote
><pre
>
453 </pre
></blockquote
>
455 <p
>That is it. It will cause sysv-rc to use the startpar tool to run
456 scripts in parallel using the dependency information stored in
457 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
458 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
459 to try to start the kdm and gdm scripts as early as possible, and will
460 start the facilities required by kdm or gdm as early as possible to
461 make this happen.
</p
>
463 <p
>Give it a try, and see if you like the result. If some services
464 fail to start properly, it is most likely because they have incomplete
465 init.d script dependencies in their startup script (or some of their
466 dependent scripts have incomplete dependencies). Report bugs and get
467 the package maintainers to fix it. :)
</p
>
469 <p
>Running scripts in parallel could be the default in Debian when we
470 manage to get the init.d script dependencies complete and correct. I
471 expect we will get there in Squeeze+
1, if we get manage to test and
472 fix the remaining issues.
</p
>
474 <p
>If you report any problems with dependencies in init.d scripts to
475 the BTS, please usertag the report to get it to show up at
476 <a href=
"http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org
">the
477 list of usertagged bugs related to this
</a
>.
</p
>
482 <title>systemd, an interesting alternative to upstart
</title>
483 <link>http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html
</link>
484 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html
</guid>
485 <pubDate>Thu,
13 May
2010 22:
20:
00 +
0200</pubDate>
487 <p
>The last few days a new boot system called
488 <a href=
"http://www.freedesktop.org/wiki/Software/systemd
">systemd
</a
>
490 <a href=
"http://
0pointer.de/blog/projects/systemd.html
">introduced
</a
>
492 to the free software world. I have not yet had time to play around
493 with it, but it seem to be a very interesting alternative to
494 <a href=
"http://upstart.ubuntu.com/
">upstart
</a
>, and might prove to be
495 a good alternative for Debian when we are able to switch to an event
496 based boot system. Tollef is
497 <a href=
"http://bugs.debian.org/
580814">in the process
</a
> of getting
498 systemd into Debian, and I look forward to seeing how well it work. I
499 like the fact that systemd handles init.d scripts with dependency
500 information natively, allowing them to run in parallel where upstart
501 at the moment do not.
</p
>
503 <p
>Unfortunately do systemd have the same problem as upstart regarding
504 platform support. It only work on recent Linux kernels, and also need
505 some new kernel features enabled to function properly. This means
506 kFreeBSD and Hurd ports of Debian will need a port or a different boot
507 system. Not sure how that will be handled if systemd proves to be the
508 way forward.
</p
>
510 <p
>In the mean time, based on the
511 <a href=
"http://lists.debian.org/debian-devel/
2010/
05/msg00122.html
">input
512 on debian-devel@
</a
> regarding parallel booting in Debian, I have
513 decided to enable full parallel booting as the default in Debian as
514 soon as possible (probably this weekend or early next week), to see if
515 there are any remaining serious bugs in the init.d dependencies. A
516 new version of the sysvinit package implementing this change is
517 already in experimental. If all go well, Squeeze will be released
518 with parallel booting enabled by default.
</p
>
523 <title>Sitesummary tip: Listing MAC address of all clients
</title>
524 <link>http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html
</link>
525 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html
</guid>
526 <pubDate>Fri,
14 May
2010 21:
10:
00 +
0200</pubDate>
528 <p
>In the recent Debian Edu versions, the
529 <a href=
"http://wiki.debian.org/DebianEdu/HowTo/SiteSummary
">sitesummary
530 system
</a
> is used to keep track of the machines in the school
531 network. Each machine will automatically report its status to the
532 central server after boot and once per night. The network setup is
533 also reported, and using this information it is possible to get the
534 MAC address of all network interfaces in the machines. This is useful
535 to update the DHCP configuration.
</p
>
537 <p
>To give some idea how to use sitesummary, here is a one-liner to
538 ist all MAC addresses of all machines reporting to sitesummary. Run
539 this on the collector host:
</p
>
541 <blockquote
><pre
>
542 perl -MSiteSummary -e
'for_all_hosts(sub { print join(
" ", get_macaddresses(shift)),
"\n
"; });
'
543 </pre
></blockquote
>
545 <p
>This will list all MAC addresses assosiated with all machine, one
546 line per machine and with space between the MAC addresses.
</p
>
548 <p
>To allow system administrators easier job at adding static DHCP
549 addresses for hosts, it would be possible to extend this to fetch
550 machine information from sitesummary and update the DHCP and DNS
551 tables in LDAP using this information. Such tool is unfortunately not
552 written yet.
</p
>
557 <title>Parallellized boot is now the default in Debian/unstable
</title>
558 <link>http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html
</link>
559 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html
</guid>
560 <pubDate>Fri,
14 May
2010 22:
40:
00 +
0200</pubDate>
562 <p
>Since this evening, parallel booting is the default in
563 Debian/unstable for machines using dependency based boot sequencing.
564 Apparently the testing of concurrent booting has been wider than
565 expected, if I am to believe the
566 <a href=
"http://lists.debian.org/debian-devel/
2010/
05/msg00122.html
">input
567 on debian-devel@
</a
>, and I concluded a few days ago to move forward
568 with the feature this weekend, to give us some time to detect any
569 remaining problems before Squeeze is frozen. If serious problems are
570 detected, it is simple to change the default back to sequential boot.
571 The upload of the new sysvinit package also activate a new upstream
574 More information about
575 <a href=
"http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot
">dependency
576 based boot sequencing
</a
> is available from the Debian wiki. It is
577 currently possible to disable parallel booting when one run into
578 problems caused by it, by adding this line to /etc/default/rcS:
</p
>
580 <blockquote
><pre
>
582 </pre
></blockquote
>
584 <p
>If you report any problems with dependencies in init.d scripts to
585 the BTS, please usertag the report to get it to show up at
586 <a href=
"http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org
">the
587 list of usertagged bugs related to this
</a
>.
</p
>
592 <title>More flexible firmware handling in debian-installer
</title>
593 <link>http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html
</link>
594 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html
</guid>
595 <pubDate>Sat,
22 May
2010 21:
30:
00 +
0200</pubDate>
597 <p
>After a long break from debian-installer development, I finally
598 found time today to return to the project. Having to spend less time
599 working dependency based boot in debian, as it is almost complete now,
600 definitely helped freeing some time.
</p
>
602 <p
>A while back, I ran into a problem while working on Debian Edu. We
603 include some firmware packages on the Debian Edu CDs, those needed to
604 get disk and network controllers working. Without having these
605 firmware packages available during installation, it is impossible to
606 install Debian Edu on the given machine, and because our target group
607 are non-technical people, asking them to provide firmware packages on
608 an external medium is a support pain. Initially, I expected it to be
609 enough to include the firmware packages on the CD to get
610 debian-installer to find and use them. This proved to be wrong.
611 Next, I hoped it was enough to symlink the relevant firmware packages
612 to some useful location on the CD (tried /cdrom/ and
613 /cdrom/firmware/). This also proved to not work, and at this point I
614 found time to look at the debian-installer code to figure out what was
615 going to work.
</p
>
617 <p
>The firmware loading code is in the hw-detect package, and a closer
618 look revealed that it would only look for firmware packages outside
619 the installation media, so the CD was never checked for firmware
620 packages. It would only check USB sticks, floppies and other
621 "external
" media devices. Today I changed it to also look in the
622 /cdrom/firmware/ directory on the mounted CD or DVD, which should
623 solve the problem I ran into with Debian edu. I also changed it to
624 look in /firmware/, to make sure the installer also find firmware
625 provided in the initrd when booting the installer via PXE, to allow us
626 to provide the same feature in the PXE setup included in Debian
629 <p
>To make sure firmware deb packages with a license questions are not
630 activated without asking if the license is accepted, I extended
631 hw-detect to look for preinst scripts in the firmware packages, and
632 run these before activating the firmware during installation. The
633 license question is asked using debconf in the preinst, so this should
634 solve the issue for the firmware packages I have looked at so far.
</p
>
636 <p
>If you want to discuss the details of these features, please
637 contact us on debian-boot@lists.debian.org.
</p
>
642 <title>Parallellized boot seem to hold up well in Debian/testing
</title>
643 <link>http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html
</link>
644 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html
</guid>
645 <pubDate>Thu,
27 May
2010 23:
55:
00 +
0200</pubDate>
647 <p
>A few days ago, parallel booting was enabled in Debian/testing.
648 The feature seem to hold up pretty well, but three fairly serious
649 issues are known and should be solved:
653 <li
>The wicd package seen to
654 <a href=
"http://bugs.debian.org/
508289">break NFS mounting
</a
> and
655 <a href=
"http://bugs.debian.org/
581586">network setup
</a
> when
656 parallel booting is enabled. No idea why, but the wicd maintainer
657 seem to be on the case.
</li
>
659 <li
>The nvidia X driver seem to
660 <a href=
"http://bugs.debian.org/
583312">have a race condition
</a
>
661 triggered more easily when parallel booting is in effect. The
662 maintainer is on the case.
</li
>
664 <li
>The sysv-rc package fail to properly enable dependency based boot
665 sequencing (the shutdown is broken) when old file-rc users
666 <a href=
"http://bugs.debian.org/
575080">try to switch back
</a
> to
667 sysv-rc. One way to solve it would be for file-rc to create
668 /etc/init.d/.legacy-bootordering, and another is to try to make
669 sysv-rc more robust. Will investigate some more and probably upload a
670 workaround in sysv-rc to help those trying to move from file-rc to
671 sysv-rc get a working shutdown.
</li
>
673 </ul
></p
>
675 <p
>All in all not many surprising issues, and all of them seem
676 solvable before Squeeze is released. In addition to these there are
677 some packages with bugs in their dependencies and run level settings,
678 which I expect will be fixed in a reasonable time span.
</p
>
680 <p
>If you report any problems with dependencies in init.d scripts to
681 the BTS, please usertag the report to get it to show up at
682 <a href=
"http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org
">the
683 list of usertagged bugs related to this
</a
>.
</p
>
685 <p
>Update: Correct bug number to file-rc issue.
</p
>
690 <title>KDM fail at boot with NVidia cards - and no one try to fix it?
</title>
691 <link>http://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html
</link>
692 <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>
693 <pubDate>Tue,
1 Jun
2010 17:
05:
00 +
0200</pubDate>
695 <p
>It is strange to watch how a bug in Debian causing KDM to fail to
696 start at boot when an NVidia video card is used is handled. The
697 problem seem to be that the nvidia X.org driver uses a long time to
698 initialize, and this duration is longer than kdm is configured to
701 <p
>I came across two bugs related to this issue,
702 <a href=
"http://bugs.debian.org/
583312">#
583312</a
> initially filed
703 against initscripts and passed on to nvidia-glx when it became obvious
704 that the nvidia drivers were involved, and
705 <a href=
"http://bugs.debian.org/
524751">#
524751</a
> initially filed against
706 kdm and passed on to src:nvidia-graphics-drivers for unknown reasons.
</p
>
708 <p
>To me, it seem that no-one is interested in actually solving the
709 problem nvidia video card owners experience and make sure the Debian
710 distribution work out of the box for these users. The nvidia driver
711 maintainers expect kdm to be set up to wait longer, while kdm expect
712 the nvidia driver maintainers to fix the driver to start faster, and
713 while they wait for each other I guess the users end up switching to a
714 distribution that work for them. I have no idea what the solution is,
715 but I am pretty sure that waiting for each other is not it.
</p
>
717 <p
>I wonder why we end up handling bugs this way.
</p
>
722 <title>Sitesummary tip: Listing computer hardware models used at site
</title>
723 <link>http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html
</link>
724 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html
</guid>
725 <pubDate>Thu,
3 Jun
2010 12:
05:
00 +
0200</pubDate>
727 <p
>When using sitesummary at a site to track machines, it is possible
728 to get a list of the machine types in use thanks to the DMI
729 information extracted from each machine. The script to do so is
730 included in the sitesummary package, and here is example output from
731 the Skolelinux build servers:
</p
>
733 <blockquote
><pre
>
734 maintainer:~# /usr/lib/sitesummary/hardware-model-summary
736 Dell Computer Corporation
1
739 eserver xSeries
345 -[
8670M1X]-
1
743 </pre
></blockquote
>
745 <p
>The quality of the report depend on the quality of the DMI tables
746 provided in each machine. Here there are Intel machines without model
747 information listed with Intel as vendor and mo model, and virtual Xen
748 machines listed as [no-dmi-info]. One can add -l as a command line
749 option to list the individual machines.
</p
>
751 <p
>A larger list is
752 <a href=
"http://narvikskolen.no/sitesummary/
">available from the the
753 city of Narvik
</a
>, which uses Skolelinux on all their shools and also
754 provide the basic sitesummary report publicly. In their report there
755 are ~
1400 machines. I know they use both Ubuntu and Skolelinux on
756 their machines, and as sitesummary is available in both distributions,
757 it is trivial to get all of them to report to the same central
763 <title>A manual for standards wars...
</title>
764 <link>http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html
</link>
765 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html
</guid>
766 <pubDate>Sun,
6 Jun
2010 14:
15:
00 +
0200</pubDate>
769 <a href=
"http://feedproxy.google.com/~r/robweir/antic-atom/~
3/QzU4RgoAGMg/weekly-links-
10.html
">blog
770 of Rob Weir
</a
> I came across the very interesting essay named
771 <a href=
"http://faculty.haas.berkeley.edu/shapiro/wars.pdf
">The Art of
772 Standards Wars
</a
> (PDF
25 pages). I recommend it for everyone
773 following the standards wars of today.
</p
>
778 <title>Upstart or sysvinit - as init.d scripts see it
</title>
779 <link>http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html
</link>
780 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html
</guid>
781 <pubDate>Sun,
6 Jun
2010 23:
55:
00 +
0200</pubDate>
783 <p
>If Debian is to migrate to upstart on Linux, I expect some init.d
784 scripts to migrate (some of) their operations to upstart job while
785 keeping the init.d for hurd and kfreebsd. The packages with such
786 needs will need a way to get their init.d scripts to behave
787 differently when used with sysvinit and with upstart. Because of
788 this, I had a look at the environment variables set when a init.d
789 script is running under upstart, and when it is not.
</p
>
791 <p
>With upstart, I notice these environment variables are set when a
792 script is started from rcS.d/ (ignoring some irrelevant ones like
795 <blockquote
><pre
>
801 UPSTART_EVENTS=startup
803 UPSTART_JOB=rc-sysinit
804 </pre
></blockquote
>
806 <p
>With sysvinit, these environment variables are set for the same
809 <blockquote
><pre
>
810 INIT_VERSION=sysvinit-
2.88
815 </pre
></blockquote
>
817 <p
>The RUNLEVEL and PREVLEVEL environment variables passed on from
818 sysvinit are not set by upstart. Not sure if it is intentional or not
819 to not be compatible with sysvinit in this regard.
</p
>
821 <p
>For scripts needing to behave differently when upstart is used,
822 looking for the UPSTART_JOB environment variable seem to be a good
828 <title>Automatic upgrade testing from Lenny to Squeeze
</title>
829 <link>http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html
</link>
830 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html
</guid>
831 <pubDate>Fri,
11 Jun
2010 22:
50:
00 +
0200</pubDate>
833 <p
>The last few days I have done some upgrade testing in Debian, to
834 see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs
835 have been discovered and reported in the process
836 (
<a href=
"http://bugs.debian.org/
585410">#
585410</a
> in nagios3-cgi,
837 <a href=
"http://bugs.debian.org/
584879">#
584879</a
> already fixed in
838 enscript and
<a href=
"http://bugs.debian.org/
584861">#
584861</a
> in
839 kdebase-workspace-data), and to get a more regular testing going on, I
840 am working on a script to automate the test.
</p
>
842 <p
>The idea is to create a Lenny chroot and use tasksel to install a
843 Gnome or KDE desktop installation inside the chroot before upgrading
844 it. To ensure no services are started in the chroot, a policy-rc.d
845 script is inserted. To make sure tasksel believe it is to install a
846 desktop on a laptop, the tasksel tests are replaced in the chroot
847 (only acceptable because this is a throw-away chroot).
</p
>
849 <p
>A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
850 currently always fail because udev refuses to upgrade with the kernel
851 in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
852 is created. The bug report
853 <a href=
"http://bugs.debian.org/
566000">#
566000</a
> make me suspect
854 this problem do not trigger in a chroot, but I touch the file anyway
855 to make sure the upgrade go well. Testing on virtual and real
856 hardware have failed me because of udev so far, and creating this file
857 do the trick in such settings anyway. This is a
858 <a href=
"http://www.linuxquestions.org/questions/debian-
26/failed-dist-upgrade-due-to-udev-config_sysfs_deprecated-nonsense-
804130/
">known
859 issue
</a
> and the current udev behaviour is intended by the udev
860 maintainer because he lack the resources to rewrite udev to keep
861 working with old kernels or something like that. I really wish the
862 udev upstream would keep udev backwards compatible, to avoid such
863 upgrade problem, but given that they fail to do so, I guess
864 documenting the way out of this mess is the best option we got for
865 Debian Squeeze.
</p
>
867 <p
>Anyway, back to the task at hand, testing upgrades. This test
868 script, which I call
<tt
>upgrade-test
</tt
> for now, is doing the
871 <blockquote
><pre
>
875 if [
"$
1" ] ; then
884 exec
&lt; /dev/null
886 mirror=http://ftp.skolelinux.org/debian
887 tmpdir=chroot-$from-upgrade-$to-$desktop
889 debootstrap $from $tmpdir $mirror
890 chroot $tmpdir aptitude update
891 cat
> $tmpdir/usr/sbin/policy-rc.d
&lt;
&lt;EOF
895 chmod a+rx $tmpdir/usr/sbin/policy-rc.d
899 mount -t proc proc $tmpdir/proc
900 # Make sure proc is unmounted also on failure
901 trap exit_cleanup EXIT INT
903 chroot $tmpdir aptitude -y install debconf-utils
905 # Make sure tasksel autoselection trigger. It need the test scripts
906 # to return the correct answers.
907 echo tasksel tasksel/desktop multiselect $desktop | \
908 chroot $tmpdir debconf-set-selections
910 # Include the desktop and laptop task
911 for test in desktop laptop ; do
912 echo
> $tmpdir/usr/lib/tasksel/tests/$test
&lt;
&lt;EOF
916 chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
919 DEBIAN_FRONTEND=noninteractive
920 DEBIAN_PRIORITY=critical
921 export DEBIAN_FRONTEND DEBIAN_PRIORITY
922 chroot $tmpdir tasksel --new-install
924 echo deb $mirror $to main
> $tmpdir/etc/apt/sources.list
925 chroot $tmpdir aptitude update
926 touch $tmpdir/etc/udev/kernel-upgrade
927 chroot $tmpdir aptitude -y dist-upgrade
929 </pre
></blockquote
>
931 <p
>I suspect it would be useful to test upgrades with both apt-get and
932 with aptitude, but I have not had time to look at how they behave
933 differently so far. I hope to get a cron job running to do the test
934 regularly and post the result on the web. The Gnome upgrade currently
935 work, while the KDE upgrade fail because of the bug in
936 kdebase-workspace-data
</p
>
938 <p
>I am not quite sure what kind of extract from the huge upgrade logs
939 (KDE
167 KiB, Gnome
516 KiB) it make sense to include in this blog
940 post, so I will refrain from trying. I can report that for Gnome,
941 aptitude report
760 packages upgraded,
448 newly installed,
129 to
942 remove and
1 not upgraded and
1024MB need to be downloaded while for
943 KDE the same numbers are
702 packages upgraded,
507 newly installed,
944 193 to remove and
0 not upgraded and
1117MB need to be downloaded
</p
>
946 <p
>I am very happy to notice that the Gnome desktop + laptop upgrade
947 is able to migrate to dependency based boot sequencing and parallel
948 booting without a hitch. Was unsure if there were still bugs with
949 packages failing to clean up their obsolete init.d script during
950 upgrades, and no such problem seem to affect the Gnome desktop+laptop
956 <title>Lenny-
>Squeeze upgrades, removals by apt and aptitude
</title>
957 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html
</link>
958 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html
</guid>
959 <pubDate>Sun,
13 Jun
2010 09:
05:
00 +
0200</pubDate>
962 <a href=
"http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html
">testing
963 of Debian upgrades
</a
> from Lenny to Squeeze continues, and I
've
964 finally made the upgrade logs available from
965 <a href=
"http://people.skolelinux.org/pere/debian-upgrade-testing/
">http://people.skolelinux.org/pere/debian-upgrade-testing/
</a
>.
966 I am now testing dist-upgrade of Gnome and KDE in a chroot using both
967 apt and aptitude, and found their differences interesting. This time
968 I will only focus on their removal plans.
</p
>
970 <p
>After installing a Gnome desktop and the laptop task, apt-get wants
971 to remove
72 packages when dist-upgrading from Lenny to Squeeze. The
972 surprising part is that it want to remove xorg and all
973 xserver-xorg-video* drivers. Clearly not a good choice, but I am not
974 sure why. When asking aptitude to do the same, it want to remove
129
975 packages, but most of them are library packages I suspect are no
976 longer needed. Both of them want to remove bluetooth packages, which
977 I do not know. Perhaps these bluetooth packages are obsolete?
</p
>
979 <p
>For KDE, apt-get want to remove
82 packages, among them kdebase
980 which seem like a bad idea and xorg the same way as with Gnome. Asking
981 aptitude for the same, it wants to remove
192 packages, none which are
982 too surprising.
</p
>
984 <p
>I guess the removal of xorg during upgrades should be investigated
985 and avoided, and perhaps others as well. Here are the complete list
986 of planned removals. The complete logs is available from the URL
987 above. Note if you want to repeat these tests, that the upgrade test
988 for kde+apt-get hung in the tasksel setup because of dpkg asking
989 conffile questions. No idea why. I worked around it by using
990 '<tt
>echo
>> /proc/
<em
>pidofdpkg
</em
>/fd/
0</tt
>' to tell dpkg to
993 <p
><b
>apt-get gnome
72</b
>
994 <br
>bluez-gnome cupsddk-drivers deskbar-applet gnome
995 gnome-desktop-environment gnome-network-admin gtkhtml3.14
996 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-
1-
0
997 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
998 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
999 serpentine swfdec-mozilla update-manager xorg xserver-xorg
1000 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
1001 xserver-xorg-input-kbd xserver-xorg-input-mouse
1002 xserver-xorg-input-synaptics xserver-xorg-input-wacom
1003 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
1004 xserver-xorg-video-ati xserver-xorg-video-chips
1005 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
1006 xserver-xorg-video-dummy xserver-xorg-video-fbdev
1007 xserver-xorg-video-glint xserver-xorg-video-i128
1008 xserver-xorg-video-i740 xserver-xorg-video-imstt
1009 xserver-xorg-video-intel xserver-xorg-video-mach64
1010 xserver-xorg-video-mga xserver-xorg-video-neomagic
1011 xserver-xorg-video-nsc xserver-xorg-video-nv
1012 xserver-xorg-video-openchrome xserver-xorg-video-r128
1013 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
1014 xserver-xorg-video-rendition xserver-xorg-video-s3
1015 xserver-xorg-video-s3virge xserver-xorg-video-savage
1016 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
1017 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
1018 xserver-xorg-video-tga xserver-xorg-video-trident
1019 xserver-xorg-video-tseng xserver-xorg-video-v4l
1020 xserver-xorg-video-vesa xserver-xorg-video-vga
1021 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-
1.9
1022 xulrunner-
1.9-gnome-support
</p
>
1024 <p
><b
>aptitude gnome
129</b
>
1026 <br
>bluez-gnome bluez-utils cpp-
4.3 cupsddk-drivers dhcdbd
1027 djvulibre-desktop finger gnome-app-install gnome-mount
1028 gnome-network-admin gnome-spell gnome-vfs-obexftp
1029 gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
1030 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
1031 libcamel1.2-
11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
1032 libdirectfb-
1.0-
0 libdvdread3 libedataserver1.2-
9 libeel2-
2.20
1033 libeel2-data libepc-
1.0-
1 libepc-ui-
1.0-
1 libfaad0 libgail-common
1034 libgd2-noxpm libgda3-
3 libgda3-common libgdl-
1-
0 libgdl-
1-common
1035 libggz2 libggzcore9 libggzmod4 libgksu1.2-
0 libgksuui1.0-
1 libgmyth0
1036 libgnomecups1.0-
1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-
0
1037 libgnomeprint2.2-data libgnomeprintui2.2-
0 libgnomeprintui2.2-common
1038 libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-
0
1039 libgtksourceview-common libgtksourceview1.0-
0 libgucharmap6
1040 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++
10
1041 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
1042 libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-
2.2
1043 libosp5 libparted1.8-
10 libpoppler-glib3 libpoppler3 libpt-
1.10.10
1044 libpt-
1.10.10-plugins-alsa libpt-
1.10.10-plugins-v4l libraw1394-
8
1045 libsensors3 libslab0 libsmbios2 libsoup2.2-
8 libssh2-
1
1046 libsuitesparse-
3.1.0 libswfdec-
0.6-
90 libtalloc1 libtotem-plparser10
1047 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
1048 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
1049 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
1050 openoffice.org-writer2latex openssl-blacklist p7zip
1051 python-
4suite-xml python-eggtrayicon python-gnome2-desktop
1052 python-gnome2-extras python-gtkhtml2 python-gtkmozembed
1053 python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
1054 swfdec-mozilla totem-gstreamer update-manager wodim
1055 xserver-xorg-video-cyrix xserver-xorg-video-imstt
1056 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
1059 <p
><b
>apt-get kde
82</b
>
1061 <br
>cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
1062 kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
1063 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
1064 kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
1065 kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
1066 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
1067 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
1068 xserver-xorg-input-kbd xserver-xorg-input-mouse
1069 xserver-xorg-input-synaptics xserver-xorg-input-wacom
1070 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
1071 xserver-xorg-video-ati xserver-xorg-video-chips
1072 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
1073 xserver-xorg-video-dummy xserver-xorg-video-fbdev
1074 xserver-xorg-video-glint xserver-xorg-video-i128
1075 xserver-xorg-video-i740 xserver-xorg-video-imstt
1076 xserver-xorg-video-intel xserver-xorg-video-mach64
1077 xserver-xorg-video-mga xserver-xorg-video-neomagic
1078 xserver-xorg-video-nsc xserver-xorg-video-nv
1079 xserver-xorg-video-openchrome xserver-xorg-video-r128
1080 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
1081 xserver-xorg-video-rendition xserver-xorg-video-s3
1082 xserver-xorg-video-s3virge xserver-xorg-video-savage
1083 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
1084 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
1085 xserver-xorg-video-tga xserver-xorg-video-trident
1086 xserver-xorg-video-tseng xserver-xorg-video-v4l
1087 xserver-xorg-video-vesa xserver-xorg-video-vga
1088 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-
1.9</p
>
1090 <p
><b
>aptitude kde
192</b
>
1091 <br
>bluez-utils cpp-
4.3 cupsddk-drivers cvs dcoprss dhcdbd
1092 djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
1093 ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
1094 kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
1095 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
1096 kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
1097 kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
1098 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
1099 kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
1100 kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
1101 kghostview khelpcenter khexedit kiconedit kitchensync klatin
1102 klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
1103 kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
1104 krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
1105 ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
1106 kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
1107 kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
1108 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
1109 libavahi-core5 libavc1394-
0 libavcodec51 libbluetooth2
1110 libboost-python1.34
.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
1111 libdirectfb-
1.0-
0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
1112 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-
0
1113 libicu38 libiec61883-
0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
1114 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
1115 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
1116 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
1117 libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
1118 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-
8 libsmbios2
1119 libssh2-
1 libsuitesparse-
3.1.0 libtalloc1 libtiff-tools
1120 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
1121 libxerces2-java-gcj libxtrap6 mpeglib networkstatus
1122 openoffice.org-writer2latex pmount poster psutils quanta quanta-data
1123 superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
1124 texlive-common texlive-doc-base texlive-fonts-recommended
1125 xserver-xorg-video-cyrix xserver-xorg-video-imstt
1126 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
1127 xulrunner-
1.9</p
>
1133 <title>Calling tasksel like the installer, while still getting useful output
</title>
1134 <link>http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html
</link>
1135 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html
</guid>
1136 <pubDate>Wed,
16 Jun
2010 14:
55:
00 +
0200</pubDate>
1138 <p
>A few times I have had the need to simulate the way tasksel
1139 installs packages during the normal debian-installer run. Until now,
1140 I have ended up letting tasksel do the work, with the annoying problem
1141 of not getting any feedback at all when something fails (like a
1142 conffile question from dpkg or a download that fails), using code like
1145 <blockquote
><pre
>
1146 export DEBIAN_FRONTEND=noninteractive
1147 tasksel --new-install
1148 </pre
></blockquote
>
1150 This would invoke tasksel, let its automatic task selection pick the
1151 tasks to install, and continue to install the requested tasks without
1152 any output what so ever.
1154 Recently I revisited this problem while working on the automatic
1155 package upgrade testing, because tasksel would some times hang without
1156 any useful feedback, and I want to see what is going on when it
1157 happen. Then it occured to me, I can parse the output from tasksel
1158 when asked to run in test mode, and use that aptitude command line
1159 printed by tasksel then to simulate the tasksel run. I ended up using
1162 <blockquote
><pre
>
1163 export DEBIAN_FRONTEND=noninteractive
1164 cmd=
"$(in_target tasksel -t --new-install | sed
's/debconf-apt-progress -- //
')
"
1166 </pre
></blockquote
>
1168 <p
>The content of $cmd is typically something like
"<tt
>aptitude -q
1169 --without-recommends -o APT::Install-Recommends=no -y install
1170 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
1171 ~pimportant
</tt
>", which will install the gnome desktop task, the
1172 laptop task and all packages with priority standard , required and
1173 important, just like tasksel would have done it during
1174 installation.
</p
>
1176 <p
>A better approach is probably to extend tasksel to be able to
1177 install packages without using debconf-apt-progress, for use cases
1178 like this.
</p
>
1183 <title>Idea for a change to LDAP schemas allowing DNS and DHCP info to be combined into one object
</title>
1184 <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>
1185 <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>
1186 <pubDate>Thu,
24 Jun
2010 00:
35:
00 +
0200</pubDate>
1188 <p
>A while back, I
1189 <a href=
"http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html
">complained
1190 about the fact
</a
> that it is not possible with the provided schemas
1191 for storing DNS and DHCP information in LDAP to combine the two sets
1192 of information into one LDAP object representing a computer.
</p
>
1194 <p
>In the mean time, I discovered that a simple fix would be to make
1195 the dhcpHost object class auxiliary, to allow it to be combined with
1196 the dNSDomain object class, and thus forming one object for one
1197 computer when storing both DHCP and DNS information in LDAP.
</p
>
1199 <p
>If I understand this correctly, it is not safe to do this change
1200 without also changing the assigned number for the object class, and I
1201 do not know enough about LDAP schema design to do that properly for
1202 Debian Edu.
</p
>
1204 <p
>Anyway, for future reference, this is how I believe we could change
1206 <a href=
"http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-
00">DHCP
1207 schema
</a
> to solve at least part of the problem with the LDAP schemas
1208 available today from IETF.
</p
>
1211 --- dhcp.schema (revision
65192)
1212 +++ dhcp.schema (working copy)
1214 objectclass (
2.16.840.1.113719.1.203.6.6
1215 NAME
'dhcpHost
'
1216 DESC
'This represents information about a particular client
'
1220 MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
1221 X-NDS_CONTAINMENT (
'dhcpService
' 'dhcpSubnet
' 'dhcpGroup
') )
1224 <p
>I very much welcome clues on how to do this properly for Debian
1225 Edu/Squeeze. We provide the DHCP schema in our debian-edu-config
1226 package, and should thus be free to rewrite it as we see fit.
</p
>
1228 <p
>If you want to help out with implementing this for Debian Edu,
1229 please contact us on debian-edu@lists.debian.org.
</p
>
1234 <title>LUMA, a very nice LDAP GUI
</title>
1235 <link>http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html
</link>
1236 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html
</guid>
1237 <pubDate>Mon,
28 Jun
2010 00:
30:
00 +
0200</pubDate>
1239 <p
>The last few days I have been looking into the status of the LDAP
1240 directory in Debian Edu, and in the process I started to miss a GUI
1241 tool to browse the LDAP tree. The only one I was able to find in
1242 Debian/Squeeze and Lenny is
1243 <a href=
"http://luma.sourceforge.net/
">LUMA
</a
>, which has proved to
1244 be a great tool to get a overview of the current LDAP directory
1245 populated by default in Skolelinux. Thanks to it, I have been able to
1246 find empty and obsolete subtrees, misplaced objects and duplicate
1247 objects. It will be installed by default in Debian/Squeeze. If you
1248 are working with LDAP, give it a go. :)
</p
>
1250 <p
>I did notice one problem with it I have not had time to report to
1251 the BTS yet. There is no .desktop file in the package, so the tool do
1252 not show up in the Gnome and KDE menus, but only deep down in in the
1253 Debian submenu in KDE. I hope that can be fixed before Squeeze is
1256 <p
>I have not yet been able to get it to modify the tree yet. I would
1257 like to move objects and remove subtrees directly in the GUI, but have
1258 not found a way to do that with LUMA yet. So in the mean time, I use
1259 <a href=
"http://www.lichteblau.com/ldapvi/
">ldapvi
</a
> for that.
</p
>
1261 <p
>If you have tips on other GUI tools for LDAP that might be useful
1262 in Debian Edu, please contact us on debian-edu@lists.debian.org.
</p
>
1264 <p
>Update
2010-
06-
29: Ross Reedstrom tipped us about the
1265 <a href=
"http://packages.qa.debian.org/g/gq.html
">gq
</a
> package as a
1266 useful GUI alternative. It seem like a good tool, but is unmaintained
1267 in Debian and got a RC bug keeping it out of Squeeze. Unless that
1268 changes, it will not be an option for Debian Edu based on Squeeze.
</p
>
1273 <title>Lenny-
>Squeeze upgrades, apt vs aptitude with the Gnome desktop
</title>
1274 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html
</link>
1275 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html
</guid>
1276 <pubDate>Sat,
3 Jul
2010 23:
55:
00 +
0200</pubDate>
1278 <p
>Here is a short update on my
<a
1279 href=
"http://people.skolelinux.org/~pere/debian-upgrade-testing/
">my
1280 Debian Lenny-
>Squeeze upgrade testing
</a
>. Here is a summary of the
1281 difference for Gnome when it is upgraded by apt-get and aptitude. I
'm
1282 not reporting the status for KDE, because the upgrade crashes when
1283 aptitude try because of missing conflicts
1284 (
<a href=
"http://bugs.debian.org/
584861">#
584861</a
> and
1285 <a href=
"http://bugs.debian.org/
585716">#
585716</a
>).
</p
>
1287 <p
>At the end of the upgrade test script, dpkg -l is executed to get a
1288 complete list of the installed packages. Based on this I see these
1289 differences when I did a test run today. As usual, I do not really
1290 know what the correct set of packages would be, but thought it best to
1291 publish the difference.
</p
>
1293 <p
>Installed using apt-get, missing with aptitude
</p
>
1295 <blockquote
><p
>
1296 at-spi cpp-
4.3 finger gnome-spell gstreamer0.10-gnomevfs
1297 libatspi1.0-
0 libcupsys2 libeel2-data libgail-common libgdl-
1-common
1298 libgnomeprint2.2-data libgnomeprintui2.2-common libgnomevfs2-bin
1299 libgtksourceview-common libpt-
1.10.10-plugins-alsa
1300 libpt-
1.10.10-plugins-v4l libservlet2.4-java libxalan2-java
1301 libxerces2-java openoffice.org-writer2latex openssl-blacklist p7zip
1302 python-
4suite-xml python-eggtrayicon python-gtkhtml2
1303 python-gtkmozembed svgalibg1 xserver-xephyr zip
1304 </p
></blockquote
>
1306 <p
>Installed using apt-get, removed with aptitude
</p
>
1308 <blockquote
><p
>
1309 bluez-utils dhcdbd djvulibre-desktop epiphany-gecko
1310 gnome-app-install gnome-mount gnome-vfs-obexftp gnome-volume-manager
1311 libao2 libavahi-compat-libdnssd1 libavahi-core5 libbind9-
50
1312 libbluetooth2 libcamel1.2-
11 libcdio7 libcucul0 libcurl3
1313 libdirectfb-
1.0-
0 libdvdread3 libedata-cal1.2-
6 libedataserver1.2-
9
1314 libeel2-
2.20 libepc-
1.0-
1 libepc-ui-
1.0-
1 libexchange-storage1.2-
3
1315 libfaad0 libgd2-noxpm libgda3-
3 libgda3-common libggz2 libggzcore9
1316 libggzmod4 libgksu1.2-
0 libgksuui1.0-
1 libgmyth0 libgnome-desktop-
2
1317 libgnome-pilot2 libgnomecups1.0-
1 libgnomeprint2.2-
0
1318 libgnomeprintui2.2-
0 libgpod3 libgraphviz4 libgtkhtml2-
0
1319 libgtksourceview1.0-
0 libgucharmap6 libhesiod0 libicu38 libisccc50
1320 libisccfg50 libiw29 libkpathsea4 libltdl3 liblwres50 libmagick++
10
1321 libmagick10 libmalaga7 libmtp7 libmysqlclient15off libnautilus-burn4
1322 libneon27 libnm-glib0 libnm-util0 libopal-
2.2 libosp5
1323 libparted1.8-
10 libpisock9 libpisync1 libpoppler-glib3 libpoppler3
1324 libpt-
1.10.10 libraw1394-
8 libsensors3 libsmbios2 libsoup2.2-
8
1325 libssh2-
1 libsuitesparse-
3.1.0 libswfdec-
0.6-
90 libtalloc1
1326 libtotem-plparser10 libtrackerclient0 libvoikko1 libxalan2-java-gcj
1327 libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3
1328 mysql-common swfdec-gnome totem-gstreamer wodim
1329 </p
></blockquote
>
1331 <p
>Installed using aptitude, missing with apt-get
</p
>
1333 <blockquote
><p
>
1334 gnome gnome-desktop-environment hamster-applet python-gnomeapplet
1335 python-gnomekeyring python-wnck rhythmbox-plugins xorg
1336 xserver-xorg-input-all xserver-xorg-input-evdev
1337 xserver-xorg-input-kbd xserver-xorg-input-mouse
1338 xserver-xorg-input-synaptics xserver-xorg-video-all
1339 xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati
1340 xserver-xorg-video-chips xserver-xorg-video-cirrus
1341 xserver-xorg-video-dummy xserver-xorg-video-fbdev
1342 xserver-xorg-video-glint xserver-xorg-video-i128
1343 xserver-xorg-video-i740 xserver-xorg-video-mach64
1344 xserver-xorg-video-mga xserver-xorg-video-neomagic
1345 xserver-xorg-video-nouveau xserver-xorg-video-nv
1346 xserver-xorg-video-r128 xserver-xorg-video-radeon
1347 xserver-xorg-video-radeonhd xserver-xorg-video-rendition
1348 xserver-xorg-video-s3 xserver-xorg-video-s3virge
1349 xserver-xorg-video-savage xserver-xorg-video-siliconmotion
1350 xserver-xorg-video-sis xserver-xorg-video-sisusb
1351 xserver-xorg-video-tdfx xserver-xorg-video-tga
1352 xserver-xorg-video-trident xserver-xorg-video-tseng
1353 xserver-xorg-video-vesa xserver-xorg-video-vmware
1354 xserver-xorg-video-voodoo
1355 </p
></blockquote
>
1357 <p
>Installed using aptitude, removed with apt-get
</p
>
1359 <blockquote
><p
>
1360 deskbar-applet xserver-xorg xserver-xorg-core
1361 xserver-xorg-input-wacom xserver-xorg-video-intel
1362 xserver-xorg-video-openchrome
1363 </p
></blockquote
>
1365 <p
>I was told on IRC that the xorg-xserver package was
1366 <a href=
"http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=commit;h=
9c8080d06c457932d3bfec021c69ac000aa60120
">changed
1367 in git
</a
> today to try to get apt-get to not remove xorg completely.
1368 No idea when it hits Squeeze, but when it does I hope it will reduce
1369 the difference somewhat.
1374 <title>jXplorer, a very nice LDAP GUI
</title>
1375 <link>http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html
</link>
1376 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html
</guid>
1377 <pubDate>Fri,
9 Jul
2010 12:
55:
00 +
0200</pubDate>
1380 <a href=
"http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html
">my
1381 last post
</a
> about available LDAP tools in Debian, I was told about a
1382 LDAP GUI that is even better than luma. The java application
1383 <a href=
"http://jxplorer.org/
">jXplorer
</a
> is claimed to be capable of
1384 moving LDAP objects and subtrees using drag-and-drop, and can
1385 authenticate using Kerberos. I have only tested the Kerberos
1386 authentication, but do not have a LDAP setup allowing me to rewrite
1387 LDAP with my test user yet. It is
1388 <a href=
"http://packages.qa.debian.org/j/jxplorer.html
">available in
1389 Debian
</a
> testing and unstable at the moment. The only problem I
1390 have with it is how it handle errors. If something go wrong, its
1391 non-intuitive behaviour require me to go through some query work list
1392 and remove the failing query. Nothing big, but very annoying.
</p
>
1397 <title>Idea for storing LTSP configuration in LDAP
</title>
1398 <link>http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html
</link>
1399 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html
</guid>
1400 <pubDate>Sun,
11 Jul
2010 22:
00:
00 +
0200</pubDate>
1402 <p
>Vagrant mentioned on IRC today that ltsp_config now support
1403 sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin
1404 clients, and that this can be used to fetch configuration from LDAP if
1405 Debian Edu choose to store configuration there.
</p
>
1407 <p
>Armed with this information, I got inspired and wrote a test module
1408 to get configuration from LDAP. The idea is to look up the MAC
1409 address of the client in LDAP, and look for attributes on the form
1410 ltspconfigsetting=value, and use this to export SETTING=value to the
1411 LTSP clients.
</p
>
1413 <p
>The goal is to be able to store the LTSP configuration attributes
1414 in a
"computer
" LDAP object used by both DNS and DHCP, and thus
1415 allowing us to store all information about a computer in one place.
</p
>
1417 <p
>This is a untested draft implementation, and I welcome feedback on
1418 this approach. A real LDAP schema for the ltspClientAux objectclass
1419 need to be written. Comments, suggestions, etc?
</p
>
1421 <blockquote
><pre
>
1422 # Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
1424 # Fetch LTSP client settings from LDAP based on MAC address
1426 # Uses ethernet address as stored in the dhcpHost objectclass using
1427 # the dhcpHWAddress attribute or ethernet address stored in the
1428 # ieee802Device objectclass with the macAddress attribute.
1430 # This module is written to be schema agnostic, and only depend on the
1431 # existence of attribute names.
1433 # The LTSP configuration variables are saved directly using a
1434 # ltspConfig prefix and uppercasing the rest of the attribute name.
1435 # To set the SERVER variable, set the ltspConfigServer attribute.
1437 # Some LDAP schema should be created with all the relevant
1438 # configuration settings. Something like this should work:
1440 # objectclass (
1.1.2.2 NAME
'ltspClientAux
'
1443 # MAY ( ltspConfigServer $ ltsConfigSound $ ... )
1445 LDAPSERVER=$(debian-edu-ldapserver)
1446 if [
"$LDAPSERVER
" ] ; then
1447 LDAPBASE=$(debian-edu-ldapserver -b)
1448 for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk
'{print $
5}
'|sort -u) ; do
1449 filter=
"(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))
"
1450 ldapsearch -h
"$LDAPSERVER
" -b
"$LDAPBASE
" -v -x
"$filter
" | \
1451 grep
'^ltspConfig
' | while read attr value ; do
1452 # Remove prefix and convert to upper case
1453 attr=$(echo $attr | sed
's/^ltspConfig//i
' | tr a-z A-Z)
1454 # bass value on to clients
1455 eval
"$attr=$value; export $attr
"
1459 </pre
></blockquote
>
1461 <p
>I
'm not sure this shell construction will work, because I suspect
1462 the while block might end up in a subshell causing the variables set
1463 there to not show up in ltsp-config, but if that is the case I am sure
1464 the code can be restructured to make sure the variables are passed on.
1465 I expect that can be solved with some testing. :)
</p
>
1467 <p
>If you want to help out with implementing this for Debian Edu,
1468 please contact us on debian-edu@lists.debian.org.
</p
>
1470 <p
>Update
2010-
07-
17: I am aware of another effort to store LTSP
1471 configuration in LDAP that was created around year
2000 by
1472 <a href=
"http://www.pcxperience.com/thinclient/documentation/ldap.html
">PC
1473 Xperience, Inc.,
2000</a
>. I found its
1474 <a href=
"http://people.redhat.com/alikins/ltsp/ldap/
">files
</a
> on a
1475 personal home page over at redhat.com.
</p
>
1480 <title>Combining PowerDNS and ISC DHCP LDAP objects
</title>
1481 <link>http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html
</link>
1482 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html
</guid>
1483 <pubDate>Wed,
14 Jul
2010 23:
45:
00 +
0200</pubDate>
1485 <p
>For a while now, I have wanted to find a way to change the DNS and
1486 DHCP services in Debian Edu to use the same LDAP objects for a given
1487 computer, to avoid the possibility of having a inconsistent state for
1488 a computer in LDAP (as in DHCP but no DNS entry or the other way
1489 around) and make it easier to add computers to LDAP.
</p
>
1491 <p
>I
've looked at how powerdns and dhcpd is using LDAP, and using this
1492 information finally found a solution that seem to work.
</p
>
1494 <p
>The old setup required three LDAP objects for a given computer.
1495 One forward DNS entry, one reverse DNS entry and one DHCP entry. If
1496 we switch powerdns to use its strict LDAP method (ldap-method=strict
1497 in pdns-debian-edu.conf), the forward and reverse DNS entries are
1498 merged into one while making it impossible to transfer the reverse map
1499 to a slave DNS server.
</p
>
1501 <p
>If we also replace the object class used to get the DNS related
1502 attributes to one allowing these attributes to be combined with the
1503 dhcphost object class, we can merge the DNS and DHCP entries into one.
1504 I
've written such object class in the dnsdomainaux.schema file (need
1505 proper OIDs, but that is a minor issue), and tested the setup. It
1506 seem to work.
</p
>
1508 <p
>With this test setup in place, we can get away with one LDAP object
1509 for both DNS and DHCP, and even the LTSP configuration I suggested in
1510 an earlier email. The combined LDAP object will look something like
1513 <blockquote
><pre
>
1514 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
1516 objectClass: dhcphost
1517 objectclass: domainrelatedobject
1518 objectclass: dnsdomainaux
1519 associateddomain: hostname.intern
1520 arecord:
10.11.12.13
1521 dhcphwaddress: ethernet
00:
00:
00:
00:
00:
00
1522 dhcpstatements: fixed-address hostname
1524 </pre
></blockquote
>
1526 <p
>The DNS server uses the associateddomain and arecord entries, while
1527 the DHCP server uses the dhcphwaddress and dhcpstatements entries
1528 before asking DNS to resolve the fixed-adddress. LTSP will use
1529 dhcphwaddress or associateddomain and the ldapconfig* attributes.
</p
>
1531 <p
>I am not yet sure if I can get the DHCP server to look for its
1532 dhcphost in a different location, to allow us to put the objects
1533 outside the
"DHCP Config
" subtree, but hope to figure out a way to do
1534 that. If I can
't figure out a way to do that, we can still get rid of
1535 the hosts subtree and move all its content into the DHCP Config tree
1536 (which probably should be renamed to be more related to the new
1537 content. I suspect cn=dnsdhcp,ou=services or something like that
1538 might be a good place to put it.
</p
>
1540 <p
>If you want to help out with implementing this for Debian Edu,
1541 please contact us on debian-edu@lists.debian.org.
</p
>
1546 <title>What are they searching for - PowerDNS and ISC DHCP in LDAP
</title>
1547 <link>http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html
</link>
1548 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html
</guid>
1549 <pubDate>Sat,
17 Jul
2010 21:
00:
00 +
0200</pubDate>
1552 <a href=
"http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html
">followup
</a
>
1554 <a href=
"http://people.skolelinux.org/pere/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html
">previous
1556 <a href=
"http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html
">merging
1557 all
</a
> the computer related LDAP objects in Debian Edu.
</p
>
1559 <p
>As a step to try to see if it possible to merge the DNS and DHCP
1560 LDAP objects, I have had a look at how the packages pdns-backend-ldap
1561 and dhcp3-server-ldap in Debian use the LDAP server. The two
1562 implementations are quite different in how they use LDAP.
</p
>
1564 To get this information, I started slapd with debugging enabled and
1565 dumped the debug output to a file to get the LDAP searches performed
1566 on a Debian Edu main-server. Here is a summary.
1568 <p
><strong
>powerdns
</strong
></p
>
1570 <a href=
"http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend
">Clues
1571 on how to
</a
> set up PowerDNS to use a LDAP backend is available on
1574 <p
>PowerDNS have two modes of operation using LDAP as its backend.
1575 One
"strict
" mode where the forward and reverse DNS lookups are done
1576 using the same LDAP objects, and a
"tree
" mode where the forward and
1577 reverse entries are in two different subtrees in LDAP with a structure
1578 based on the DNS names, as in tjener.intern and
1579 2.2.0.10.in-addr.arpa.
</p
>
1581 <p
>In tree mode, the server is set up to use a LDAP subtree as its
1582 base, and uses a
"base
" scoped search for the DNS name by adding
1583 "dc=tjener,dc=intern,
" to the base with a filter for
1584 "(associateddomain=tjener.intern)
" for the forward entry and
1585 "dc=
2,dc=
2,dc=
0,dc=
10,dc=in-addr,dc=arpa,
" with a filter for
1586 "(associateddomain=
2.2.0.10.in-addr.arpa)
" for the reverse entry. For
1587 forward entries, it is looking for attributes named dnsttl, arecord,
1588 nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord, mxrecord,
1589 txtrecord, rprecord, afsdbrecord, keyrecord, aaaarecord, locrecord,
1590 srvrecord, naptrrecord, kxrecord, certrecord, dsrecord, sshfprecord,
1591 ipseckeyrecord, rrsigrecord, nsecrecord, dnskeyrecord, dhcidrecord,
1592 spfrecord and modifytimestamp. For reverse entries it is looking for
1593 the attributes dnsttl, arecord, nsrecord, cnamerecord, soarecord,
1594 ptrrecord, hinforecord, mxrecord, txtrecord, rprecord, aaaarecord,
1595 locrecord, srvrecord, naptrrecord and modifytimestamp. The equivalent
1596 ldapsearch commands could look like this:
</p
>
1598 <blockquote
><pre
>
1599 ldapsearch -h ldap \
1600 -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
1601 -s base -x
'(associateddomain=tjener.intern)
' dNSTTL aRecord nSRecord \
1602 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
1603 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
1604 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
1605 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
1607 ldapsearch -h ldap \
1608 -b dc=
2,dc=
2,dc=
0,dc=
10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no \
1609 -s base -x
'(associateddomain=
2.2.0.10.in-addr.arpa)
'
1610 dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
1611 hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
1612 srvrecord naptrrecord modifytimestamp
1613 </pre
></blockquote
>
1615 <p
>In Debian Edu/Lenny, the PowerDNS tree mode is used with
1616 ou=hosts,dc=skole,dc=skolelinux,dc=no as the base, and these are two
1617 example LDAP objects used there. In addition to these objects, the
1618 parent objects all th way up to ou=hosts,dc=skole,dc=skolelinux,dc=no
1619 also exist.
</p
>
1621 <blockquote
><pre
>
1622 dn: dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no
1624 objectclass: dnsdomain
1625 objectclass: domainrelatedobject
1628 associateddomain: tjener.intern
1630 dn: dc=
2,dc=
2,dc=
0,dc=
10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no
1632 objectclass: dnsdomain2
1633 objectclass: domainrelatedobject
1635 ptrrecord: tjener.intern
1636 associateddomain:
2.2.0.10.in-addr.arpa
1637 </pre
></blockquote
>
1639 <p
>In strict mode, the server behaves differently. When looking for
1640 forward DNS entries, it is doing a
"subtree
" scoped search with the
1641 same base as in the tree mode for a object with filter
1642 "(associateddomain=tjener.intern)
" and requests the attributes dnsttl,
1643 arecord, nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord,
1644 mxrecord, txtrecord, rprecord, aaaarecord, locrecord, srvrecord,
1645 naptrrecord and modifytimestamp. For reverse entires it also do a
1646 subtree scoped search but this time the filter is
"(arecord=
10.0.2.2)
"
1647 and the requested attributes are associateddomain, dnsttl and
1648 modifytimestamp. In short, in strict mode the objects with ptrrecord
1649 go away, and the arecord attribute in the forward object is used
1652 <p
>The forward and reverse searches can be simulated using ldapsearch
1653 like this:
</p
>
1655 <blockquote
><pre
>
1656 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
1657 '(associateddomain=tjener.intern)
' dNSTTL aRecord nSRecord \
1658 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
1659 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
1660 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
1661 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
1663 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
1664 '(arecord=
10.0.2.2)
' associateddomain dnsttl modifytimestamp
1665 </pre
></blockquote
>
1667 <p
>In addition to the forward and reverse searches , there is also a
1668 search for SOA records, which behave similar to the forward and
1669 reverse lookups.
</p
>
1671 <p
>A thing to note with the PowerDNS behaviour is that it do not
1672 specify any objectclass names, and instead look for the attributes it
1673 need to generate a DNS reply. This make it able to work with any
1674 objectclass that provide the needed attributes.
</p
>
1676 <p
>The attributes are normally provided in the cosine (RFC
1274) and
1677 dnsdomain2 schemas. The latter is used for reverse entries like
1678 ptrrecord and recent DNS additions like aaaarecord and srvrecord.
</p
>
1680 <p
>In Debian Edu, we have created DNS objects using the object classes
1681 dcobject (for dc), dnsdomain or dnsdomain2 (structural, for the DNS
1682 attributes) and domainrelatedobject (for associatedDomain). The use
1683 of structural object classes make it impossible to combine these
1684 classes with the object classes used by DHCP.
</p
>
1686 <p
>There are other schemas that could be used too, for example the
1687 dnszone structural object class used by Gosa and bind-sdb for the DNS
1688 attributes combined with the domainrelatedobject object class, but in
1689 this case some unused attributes would have to be included as well
1690 (zonename and relativedomainname).
</p
>
1692 <p
>My proposal for Debian Edu would be to switch PowerDNS to strict
1693 mode and not use any of the existing objectclasses (dnsdomain,
1694 dnsdomain2 and dnszone) when one want to combine the DNS information
1695 with DHCP information, and instead create a auxiliary object class
1696 defined something like this (using the attributes defined for
1697 dnsdomain and dnsdomain2 or dnszone):
</p
>
1699 <blockquote
><pre
>
1700 objectclass ( some-oid NAME
'dnsDomainAux
'
1703 MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAMERecord $
1704 DNSTTL $ DNSClass $ PTRRecord $ HINFORecord $ MINFORecord $
1705 TXTRecord $ SIGRecord $ KEYRecord $ AAAARecord $ LOCRecord $
1706 NXTRecord $ SRVRecord $ NAPTRRecord $ KXRecord $ CERTRecord $
1707 A6Record $ DNAMERecord
1709 </pre
></blockquote
>
1711 <p
>This will allow any object to become a DNS entry when combined with
1712 the domainrelatedobject object class, and allow any entity to include
1713 all the attributes PowerDNS wants. I
've sent an email to the PowerDNS
1714 developers asking for their view on this schema and if they are
1715 interested in providing such schema with PowerDNS, and I hope my
1716 message will be accepted into their mailing list soon.
</p
>
1718 <p
><strong
>ISC dhcp
</strong
></p
>
1720 <p
>The DHCP server searches for specific objectclass and requests all
1721 the object attributes, and then uses the attributes it want. This
1722 make it harder to figure out exactly what attributes are used, but
1723 thanks to the working example in Debian Edu I can at least get an idea
1724 what is needed without having to read the source code.
</p
>
1726 <p
>In the DHCP server configuration, the LDAP base to use and the
1727 search filter to use to locate the correct dhcpServer entity is
1728 stored. These are the relevant entries from
1729 /etc/dhcp3/dhcpd.conf:
</p
>
1731 <blockquote
><pre
>
1732 ldap-base-dn
"dc=skole,dc=skolelinux,dc=no
";
1733 ldap-dhcp-server-cn
"dhcp
";
1734 </pre
></blockquote
>
1736 <p
>The DHCP server uses this information to nest all the DHCP
1737 configuration it need. The cn
"dhcp
" is located using the given LDAP
1738 base and the filter
"(
&(objectClass=dhcpServer)(cn=dhcp))
". The
1739 search result is this entry:
</p
>
1741 <blockquote
><pre
>
1742 dn: cn=dhcp,dc=skole,dc=skolelinux,dc=no
1745 objectClass: dhcpServer
1746 dhcpServiceDN: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
1747 </pre
></blockquote
>
1749 <p
>The content of the dhcpServiceDN attribute is next used to locate the
1750 subtree with DHCP configuration. The DHCP configuration subtree base
1751 is located using a base scope search with base
"cn=DHCP
1752 Config,dc=skole,dc=skolelinux,dc=no
" and filter
1753 "(
&(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))
".
1754 The search result is this entry:
</p
>
1756 <blockquote
><pre
>
1757 dn: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
1760 objectClass: dhcpService
1761 objectClass: dhcpOptions
1762 dhcpPrimaryDN: cn=dhcp, dc=skole,dc=skolelinux,dc=no
1763 dhcpStatements: ddns-update-style none
1764 dhcpStatements: authoritative
1765 dhcpOption: smtp-server code
69 = array of ip-address
1766 dhcpOption: www-server code
72 = array of ip-address
1767 dhcpOption: wpad-url code
252 = text
1768 </pre
></blockquote
>
1770 <p
>Next, the entire subtree is processed, one level at the time. When
1771 all the DHCP configuration is loaded, it is ready to receive requests.
1772 The subtree in Debian Edu contain objects with object classes
1773 top/dhcpService/dhcpOptions, top/dhcpSharedNetwork/dhcpOptions,
1774 top/dhcpSubnet, top/dhcpGroup and top/dhcpHost. These provide options
1775 and information about netmasks, dynamic range etc. Leaving out the
1776 details here because it is not relevant for the focus of my
1777 investigation, which is to see if it is possible to merge dns and dhcp
1778 related computer objects.
</p
>
1780 <p
>When a DHCP request come in, LDAP is searched for the MAC address
1781 of the client (
00:
00:
00:
00:
00:
00 in this example), using a subtree
1782 scoped search with
"cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
" as
1783 the base and
"(
&(objectClass=dhcpHost)(dhcpHWAddress=ethernet
1784 00:
00:
00:
00:
00:
00))
" as the filter. This is what a host object look
1787 <blockquote
><pre
>
1788 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
1791 objectClass: dhcpHost
1792 dhcpHWAddress: ethernet
00:
00:
00:
00:
00:
00
1793 dhcpStatements: fixed-address hostname
1794 </pre
></blockquote
>
1796 <p
>There is less flexiblity in the way LDAP searches are done here.
1797 The object classes need to have fixed names, and the configuration
1798 need to be stored in a fairly specific LDAP structure. On the
1799 positive side, the invidiual dhcpHost entires can be anywhere without
1800 the DN pointed to by the dhcpServer entries. The latter should make
1801 it possible to group all host entries in a subtree next to the
1802 configuration entries, and this subtree can also be shared with the
1803 DNS server if the schema proposed above is combined with the dhcpHost
1804 structural object class.
1806 <p
><strong
>Conclusion
</strong
></p
>
1808 <p
>The PowerDNS implementation seem to be very flexible when it come
1809 to which LDAP schemas to use. While its
"tree
" mode is rigid when it
1810 come to the the LDAP structure, the
"strict
" mode is very flexible,
1811 allowing DNS objects to be stored anywhere under the base cn specified
1812 in the configuration.
</p
>
1814 <p
>The DHCP implementation on the other hand is very inflexible, both
1815 regarding which LDAP schemas to use and which LDAP structure to use.
1816 I guess one could implement ones own schema, as long as the
1817 objectclasses and attributes have the names used, but this do not
1818 really help when the DHCP subtree need to have a fairly fixed
1819 structure.
</p
>
1821 <p
>Based on the observed behaviour, I suspect a LDAP structure like
1822 this might work for Debian Edu:
</p
>
1824 <blockquote
><pre
>
1826 cn=machine-info (dhcpService) - dhcpServiceDN points here
1827 cn=dhcp (dhcpServer)
1828 cn=dhcp-internal (dhcpSharedNetwork/dhcpOptions)
1829 cn=
10.0.2.0 (dhcpSubnet)
1830 cn=group1 (dhcpGroup/dhcpOptions)
1831 cn=dhcp-thinclients (dhcpSharedNetwork/dhcpOptions)
1832 cn=
192.168.0.0 (dhcpSubnet)
1833 cn=group1 (dhcpGroup/dhcpOptions)
1834 ou=machines - PowerDNS base points here
1835 cn=hostname (dhcpHost/domainrelatedobject/dnsDomainAux)
1836 </pre
></blockquote
>
1838 <P
>This is not tested yet. If the DHCP server require the dhcpHost
1839 entries to be in the dhcpGroup subtrees, the entries can be stored
1840 there instead of a common machines subtree, and the PowerDNS base
1841 would have to be moved one level up to the machine-info subtree.
</p
>
1843 <p
>The combined object under the machines subtree would look something
1844 like this:
</p
>
1846 <blockquote
><pre
>
1847 dn: dc=hostname,ou=machines,cn=machine-info,dc=skole,dc=skolelinux,dc=no
1850 objectClass: dhcpHost
1851 objectclass: domainrelatedobject
1852 objectclass: dnsDomainAux
1853 associateddomain: hostname.intern
1854 arecord:
10.11.12.13
1855 dhcpHWAddress: ethernet
00:
00:
00:
00:
00:
00
1856 dhcpStatements: fixed-address hostname.intern
1857 </pre
></blockquote
>
1859 </p
>One could even add the LTSP configuration associated with a given
1860 machine, as long as the required attributes are available in a
1861 auxiliary object class.
</p
>