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
>
1866 <title>Circular package dependencies harms apt recovery
</title>
1867 <link>http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html
</link>
1868 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html
</guid>
1869 <pubDate>Tue,
27 Jul
2010 23:
50:
00 +
0200</pubDate>
1871 <p
>I discovered this while doing
1872 <a href=
"http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html
">automated
1873 testing of upgrades from Debian Lenny to Squeeze
</a
>. A few packages
1874 in Debian still got circular dependencies, and it is often claimed
1875 that apt and aptitude should be able to handle this just fine, but
1876 some times these dependency loops causes apt to fail.
</p
>
1878 <p
>An example is from todays
1879 <a href=
"http://people.skolelinux.org/~pere/debian-upgrade-testing//test-
20100727-lenny-squeeze-kde-aptitude.txt
">upgrade
1880 of KDE using aptitude
</a
>. In it, a bug in kdebase-workspace-data
1881 causes perl-modules to fail to upgrade. The cause is simple. If a
1882 package fail to unpack, then only part of packages with the circular
1883 dependency might end up being unpacked when unpacking aborts, and the
1884 ones already unpacked will fail to configure in the recovery phase
1885 because its dependencies are unavailable.
</p
>
1887 <p
>In this log, the problem manifest itself with this error:
</p
>
1889 <blockquote
><pre
>
1890 dpkg: dependency problems prevent configuration of perl-modules:
1891 perl-modules depends on perl (
>=
5.10.1-
1); however:
1892 Version of perl on system is
5.10.0-
19lenny
2.
1893 dpkg: error processing perl-modules (--configure):
1894 dependency problems - leaving unconfigured
1895 </pre
></blockquote
>
1897 <p
>The perl/perl-modules circular dependency is already
1898 <a href=
"http://bugs.debian.org/
527917">reported as a bug
</a
>, and will
1899 hopefully be solved as soon as possible, but it is not the only one,
1900 and each one of these loops in the dependency tree can cause similar
1901 failures. Of course, they only occur when there are bugs in other
1902 packages causing the unpacking to fail, but it is rather nasty when
1903 the failure of one package causes the problem to become worse because
1904 of dependency loops.
</p
>
1907 <a href=
"http://lists.debian.org/debian-devel/
2010/
06/msg00116.html
">the
1908 tireless effort by Bill Allombert
</a
>, the number of circular
1910 <a href=
"http://debian.semistable.com/debgraph.out.html
">left in Debian
1911 is dropping
</a
>, and perhaps it will reach zero one day. :)
</p
>
1913 <p
>Todays testing also exposed a bug in
1914 <a href=
"http://bugs.debian.org/
590605">update-notifier
</a
> and
1915 <a href=
"http://bugs.debian.org/
590604">different behaviour
</a
> between
1916 apt-get and aptitude, the latter possibly caused by some circular
1917 dependency. Reported both to BTS to try to get someone to look at
1923 <title>Some notes on Flash in Debian and Debian Edu
</title>
1924 <link>http://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html
</link>
1925 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html
</guid>
1926 <pubDate>Sat,
4 Sep
2010 10:
10:
00 +
0200</pubDate>
1928 <p
>In the
<a href=
"http://popcon.debian.org/unknown/by_vote
">Debian
1929 popularity-contest numbers
</a
>, the adobe-flashplugin package the
1930 second most popular used package that is missing in Debian. The sixth
1931 most popular is flashplayer-mozilla. This is a clear indication that
1932 working flash is important for Debian users. Around
10 percent of the
1933 users submitting data to popcon.debian.org have this package
1934 installed.
</p
>
1936 <p
>In the report written by Lars Risan in August
2008
1937 («
<a href=
"http://wiki.skolelinux.no/Dokumentasjon/Rapporter?action=AttachFile
&do=view
&target=Skolelinux_i_bruk_rapport_1.0.pdf
">Skolelinux
1938 i bruk – Rapport for Hurum kommune, Universitetet i Agder og
1939 stiftelsen SLX Debian Labs
</a
>»), one of the most important problems
1940 schools experienced with
<a href=
"http://www.skolelinux.org/
">Debian
1941 Edu/Skolelinux
</a
> was the lack of working Flash. A lot of educational
1942 web sites require Flash to work, and lacking working Flash support in
1943 the web browser and the problems with installing it was perceived as a
1944 good reason to stay with Windows.
</p
>
1946 <p
>I once saw a funny and sad comment in a web forum, where Linux was
1947 said to be the retarded cousin that did not really understand
1948 everything you told him but could work fairly well. This was a
1949 comment regarding the problems Linux have with proprietary formats and
1950 non-standard web pages, and is sad because it exposes a fairly common
1951 understanding of whose fault it is if web pages that only work in for
1952 example Internet Explorer
6 fail to work on Firefox, and funny because
1953 it explain very well how annoying it is for users when Linux
1954 distributions do not work with the documents they receive or the web
1955 pages they want to visit.
</p
>
1957 <p
>This is part of the reason why I believe it is important for Debian
1958 and Debian Edu to have a well working Flash implementation in the
1959 distribution, to get at least popular sites as Youtube and Google
1960 Video to working out of the box. For Squeeze, Debian have the chance
1961 to include the latest version of Gnash that will make this happen, as
1962 the new release
0.8.8 was published a few weeks ago and is resting in
1963 unstable. The new version work with more sites that version
0.8.7.
1964 The Gnash maintainers have asked for a freeze exception, but the
1965 release team have not had time to reply to it yet. I hope they agree
1966 with me that Flash is important for the Debian desktop users, and thus
1967 accept the new package into Squeeze.
</p
>
1972 <title>Software updates
2010-
10-
24</title>
1973 <link>http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html
</link>
1974 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html
</guid>
1975 <pubDate>Sun,
24 Oct
2010 22:
45:
00 +
0200</pubDate>
1977 <p
>Some updates.
</p
>
1979 <p
>My
<a href=
"http://pledgebank.com/gnash-avm2
">gnash pledge
</a
> to
1980 raise money for the project is going well. The lower limit of
10
1981 signers was reached in
24 hours, and so far
13 people have signed it.
1982 More signers and more funding is most welcome, and I am really curious
1983 how far we can get before the time limit of December
24 is reached.
1986 <p
>On the #gnash IRC channel on irc.freenode.net, I was just tipped
1987 about what appear to be a great code coverage tool capable of
1988 generating code coverage stats without any changes to the source code.
1990 <a href=
"http://simonkagstrom.github.com/kcov/index.html
">kcov
</a
>,
1991 and can be used using
<tt
>kcov
&lt;directory
&gt;
&lt;binary
&gt;
</tt
>.
1992 It is missing in Debian, but the git source built just fine in Squeeze
1993 after I installed libelf-dev, libdwarf-dev, pkg-config and
1994 libglib2.0-dev. Failed to build in Lenny, but suspect that is
1995 solvable. I hope kcov make it into Debian soon.
</p
>
1997 <p
>Finally found time to wrap up the release notes for
<a
1998 href=
"http://lists.debian.org/debian-edu-announce/
2010/
10/msg00002.html
">a
1999 new alpha release of Debian Edu
</a
>, and just published the second
2000 alpha test release of the Squeeze based Debian Edu /
2001 <a href=
"http://www.skolelinux.org/
">Skolelinux
</a
>
2002 release. Give it a try if you need a complete linux solution for your
2003 school, including central infrastructure server, workstations, thin
2004 client servers and diskless workstations. A nice touch added
2005 yesterday is RDP support on the thin client servers, for windows
2006 clients to get a Linux desktop on request.
</p
>
2011 <title>Debian in
3D
</title>
2012 <link>http://people.skolelinux.org/pere/blog/Debian_in_3D.html
</link>
2013 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Debian_in_3D.html
</guid>
2014 <pubDate>Tue,
9 Nov
2010 16:
10:
00 +
0100</pubDate>
2016 <p
><img src=
"http://thingiverse-production.s3.amazonaws.com/renders/
23/e0/c4/f9/
2b/debswagtdose_preview_medium.jpg
"></p
>
2018 <p
>3D printing is just great. I just came across this Debian logo in
2020 <a href=
"http://blog.thingiverse.com/
2010/
11/
09/participatory-branding/
">the
2021 thingiverse blog
</a
>.
</p
>
2026 <title>Gnash buildbot slave and Debian kfreebsd
</title>
2027 <link>http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html
</link>
2028 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html
</guid>
2029 <pubDate>Sat,
20 Nov
2010 07:
20:
00 +
0100</pubDate>
2032 <a href=
"http://www.listware.net/
201011/gnash-dev/
67431-gnash-dev-buildbot-looking-for-slaves.html
">the
2033 call from the Gnash project
</a
> for
2034 <a href=
"http://www.gnashdev.org:
8010">buildbot
</a
> slaves to test the
2035 current source, I have set up a virtual KVM machine on the Debian
2036 Edu/Skolelinux virtualization host to test the git source on
2037 Debian/Squeeze. I hope this can help the developers in getting new
2038 releases out more often.
</p
>
2040 <p
>As the developers want less main-stream build platforms tested to,
2041 I have considered setting up a
<a
2042 href=
"http://www.debian.org/ports/kfreebsd-gnu/
">Debian/kfreebsd
</a
>
2043 machine as well. I have also considered using the kfreebsd
2044 architecture in Debian as a file server in NUUG to get access to the
5
2045 TB zfs volume we currently use to store DV video. Because of this, I
2046 finally got around to do a test installation of Debian/Squeeze with
2047 kfreebsd. Installation went fairly smooth, thought I noticed some
2048 visual glitches in the cdebconf dialogs (black cursor left on the
2049 screen at random locations). Have not gotten very far with the
2050 testing. Noticed cfdisk did not work, but fdisk did so it was not a
2051 fatal problem. Have to spend some more time on it to see if it is
2052 useful as a file server for NUUG. Will try to find time to set up a
2053 gnash buildbot slave on the Debian Edu/Skolelinux this weekend.
</p
>
2058 <title>Lenny-
>Squeeze upgrades, apt vs aptitude with the Gnome and KDE desktop
</title>
2059 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html
</link>
2060 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html
</guid>
2061 <pubDate>Sat,
20 Nov
2010 22:
50:
00 +
0100</pubDate>
2063 <p
>I
'm still running upgrade testing of the
2064 <a href=
"http://people.skolelinux.org/~pere/debian-upgrade-testing/
">Lenny
2065 Gnome and KDE Desktop
</a
>, but have not had time to spend on reporting the
2066 status. Here is a short update based on a test I ran
20101118.
</p
>
2068 <p
>I still do not know what a correct migration should look like, so I
2069 report any differences between apt and aptitude and hope someone else
2070 can see if anything should be changed.
</p
>
2072 <p
>This is for Gnome:
</p
>
2074 <p
>Installed using apt-get, missing with aptitude
</p
>
2076 <blockquote
><p
>
2077 apache2.2-bin aptdaemon at-spi baobab binfmt-support
2078 browser-plugin-gnash cheese-common cli-common cpp-
4.3 cups-pk-helper
2079 dmz-cursor-theme empathy empathy-common finger
2080 freedesktop-sound-theme freeglut3 gconf-defaults-service gdm-themes
2081 gedit-plugins geoclue geoclue-hostip geoclue-localnet geoclue-manual
2082 geoclue-yahoo gnash gnash-common gnome gnome-backgrounds
2083 gnome-cards-data gnome-codec-install gnome-core
2084 gnome-desktop-environment gnome-disk-utility gnome-screenshot
2085 gnome-search-tool gnome-session-canberra gnome-spell
2086 gnome-system-log gnome-themes-extras gnome-themes-more
2087 gnome-user-share gs-common gstreamer0.10-fluendo-mp3
2088 gstreamer0.10-tools gtk2-engines gtk2-engines-pixbuf
2089 gtk2-engines-smooth hal-info hamster-applet libapache2-mod-dnssd
2090 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
2091 libart2.0-cil libatspi1.0-
0 libboost-date-time1.42
.0
2092 libboost-python1.42
.0 libboost-thread1.42
.0 libchamplain-
0.4-
0
2093 libchamplain-gtk-
0.4-
0 libcheese-gtk18 libclutter-gtk-
0.10-
0
2094 libcryptui0 libcupsys2 libdiscid0 libeel2-data libelf1 libepc-
1.0-
2
2095 libepc-common libepc-ui-
1.0-
2 libfreerdp-plugins-standard
2096 libfreerdp0 libgail-common libgconf2.0-cil libgdata-common libgdata7
2097 libgdl-
1-common libgdu-gtk0 libgee2 libgeoclue0 libgexiv2-
0 libgif4
2098 libglade2.0-cil libglib2.0-cil libgmime2.4-cil libgnome-vfs2.0-cil
2099 libgnome2.24-cil libgnomepanel2.24-cil libgnomeprint2.2-data
2100 libgnomeprintui2.2-common libgnomevfs2-bin libgpod-common libgpod4
2101 libgtk2.0-cil libgtkglext1 libgtksourceview-common
2102 libgtksourceview2.0-common libmono-addins-gui0.2-cil
2103 libmono-addins0.2-cil libmono-cairo2.0-cil libmono-corlib2.0-cil
2104 libmono-i18n-west2.0-cil libmono-posix2.0-cil
2105 libmono-security2.0-cil libmono-sharpzip2.84-cil
2106 libmono-system2.0-cil libmtp8 libmusicbrainz3-
6
2107 libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libopal3.6
.8
2108 libpolkit-gtk-
1-
0 libpt-
1.10.10-plugins-alsa
2109 libpt-
1.10.10-plugins-v4l libpt2.6
.7 libpython2.6 librpm1 librpmio1
2110 libsdl1.2debian libservlet2.4-java libsrtp0 libssh-
4
2111 libtelepathy-farsight0 libtelepathy-glib0 libtidy-
0.99-
0
2112 libxalan2-java libxerces2-java media-player-info mesa-utils
2113 mono-
2.0-gac mono-gac mono-runtime nautilus-sendto
2114 nautilus-sendto-empathy openoffice.org-writer2latex
2115 openssl-blacklist p7zip p7zip-full pkg-config python-
4suite-xml
2116 python-aptdaemon python-aptdaemon-gtk python-axiom
2117 python-beautifulsoup python-bugbuddy python-clientform
2118 python-coherence python-configobj python-crypto python-cupshelpers
2119 python-cupsutils python-eggtrayicon python-elementtree
2120 python-epsilon python-evolution python-feedparser python-gdata
2121 python-gdbm python-gst0.10 python-gtkglext1 python-gtkmozembed
2122 python-gtksourceview2 python-httplib2 python-louie python-mako
2123 python-markupsafe python-mechanize python-nevow python-notify
2124 python-opengl python-openssl python-pam python-pkg-resources
2125 python-pyasn1 python-pysqlite2 python-rdflib python-serial
2126 python-tagpy python-twisted-bin python-twisted-conch
2127 python-twisted-core python-twisted-web python-utidylib python-webkit
2128 python-xdg python-zope.interface remmina remmina-plugin-data
2129 remmina-plugin-rdp remmina-plugin-vnc rhythmbox-plugin-cdrecorder
2130 rhythmbox-plugins rpm-common rpm2cpio seahorse-plugins shotwell
2131 software-center svgalibg1 system-config-printer-udev
2132 telepathy-gabble telepathy-mission-control-
5 telepathy-salut tomboy
2133 totem totem-coherence totem-mozilla totem-plugins
2134 transmission-common xdg-user-dirs xdg-user-dirs-gtk xserver-xephyr
2136 </p
></blockquote
>
2138 Installed using apt-get, removed with aptitude
2140 <blockquote
><p
>
2141 arj bluez-utils cheese dhcdbd djvulibre-desktop ekiga eog
2142 epiphany-extensions epiphany-gecko evolution-exchange
2143 fast-user-switch-applet file-roller gcalctool gconf-editor gdm gedit
2144 gedit-common gnome-app-install gnome-games gnome-games-data
2145 gnome-nettool gnome-system-tools gnome-themes gnome-utils
2146 gnome-vfs-obexftp gnome-volume-manager gnuchess gucharmap
2147 guile-
1.8-libs hal libavahi-compat-libdnssd1 libavahi-core5
2148 libavahi-ui0 libbind9-
50 libbluetooth2 libcamel1.2-
11 libcdio7
2149 libcucul0 libcurl3 libdirectfb-
1.0-
0 libdmx1 libdvdread3
2150 libedata-cal1.2-
6 libedataserver1.2-
9 libeel2-
2.20 libepc-
1.0-
1
2151 libepc-ui-
1.0-
1 libexchange-storage1.2-
3 libfaad0 libgadu3
2152 libgalago3 libgd2-noxpm libgda3-
3 libgda3-common libggz2 libggzcore9
2153 libggzmod4 libgksu1.2-
0 libgksuui1.0-
1 libgmyth0 libgnome-desktop-
2
2154 libgnome-pilot2 libgnomecups1.0-
1 libgnomeprint2.2-
0
2155 libgnomeprintui2.2-
0 libgpod3 libgraphviz4 libgtk-vnc-
1.0-
0
2156 libgtkhtml2-
0 libgtksourceview1.0-
0 libgtksourceview2.0-
0
2157 libgucharmap6 libhesiod0 libicu38 libisccc50 libisccfg50 libiw29
2158 libjaxp1.3-java-gcj libkpathsea4 liblircclient0 libltdl3 liblwres50
2159 libmagick++
10 libmagick10 libmalaga7 libmozjs1d libmpfr1ldbl libmtp7
2160 libmysqlclient15off libnautilus-burn4 libneon27 libnm-glib0
2161 libnm-util0 libopal-
2.2 libosp5 libparted1.8-
10 libpisock9
2162 libpisync1 libpoppler-glib3 libpoppler3 libpt-
1.10.10 libraw1394-
8
2163 libsdl1.2debian-alsa libsensors3 libsexy2 libsmbios2 libsoup2.2-
8
2164 libspeexdsp1 libssh2-
1 libsuitesparse-
3.1.0 libsvga1
2165 libswfdec-
0.6-
90 libtalloc1 libtotem-plparser10 libtrackerclient0
2166 libvoikko1 libxalan2-java-gcj libxerces2-java-gcj libxklavier12
2167 libxtrap6 libxxf86misc1 libzephyr3 mysql-common rhythmbox seahorse
2168 sound-juicer swfdec-gnome system-config-printer totem-common
2169 totem-gstreamer transmission-gtk vinagre vino w3c-dtd-xhtml wodim
2170 </p
></blockquote
>
2172 <p
>Installed using aptitude, missing with apt-get
</p
>
2174 <blockquote
><p
>
2175 gstreamer0.10-gnomevfs
2176 </p
></blockquote
>
2178 <p
>Installed using aptitude, removed with apt-get
</p
>
2180 <blockquote
><p
>
2182 </p
></blockquote
>
2184 <p
>This is for KDE:
</p
>
2186 <p
>Installed using apt-get, missing with aptitude
</p
>
2188 <blockquote
><p
>
2189 autopoint bomber bovo cantor cantor-backend-kalgebra cpp-
4.3 dcoprss
2190 edict espeak espeak-data eyesapplet fifteenapplet finger gettext
2191 ghostscript-x git gnome-audio gnugo granatier gs-common
2192 gstreamer0.10-pulseaudio indi kaddressbook-plugins kalgebra
2193 kalzium-data kanjidic kapman kate-plugins kblocks kbreakout kbstate
2194 kde-icons-mono kdeaccessibility kdeaddons-kfile-plugins
2195 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
2196 kdeedu kdeedu-data kdeedu-kvtml-data kdegames kdegames-card-data
2197 kdegames-mahjongg-data kdegraphics-kfile-plugins kdelirc
2198 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
2199 kdepim-kfile-plugins kdepim-kio-plugins kdessh kdetoys kdewebdev
2200 kdiamond kdnssd kfilereplace kfourinline kgeography-data kigo
2201 killbots kiriki klettres-data kmoon kmrml knewsticker-scripts
2202 kollision kpf krosspython ksirk ksmserver ksquares kstars-data
2203 ksudoku kubrick kweather libasound2-plugins libboost-python1.42
.0
2204 libcfitsio3 libconvert-binhex-perl libcrypt-ssleay-perl libdb4.6++
2205 libdjvulibre-text libdotconf1.0 liberror-perl libespeak1
2206 libfinance-quote-perl libgail-common libgsl0ldbl libhtml-parser-perl
2207 libhtml-tableextract-perl libhtml-tagset-perl libhtml-tree-perl
2208 libio-stringy-perl libkdeedu4 libkdegames5 libkiten4 libkpathsea5
2209 libkrossui4 libmailtools-perl libmime-tools-perl
2210 libnews-nntpclient-perl libopenbabel3 libportaudio2 libpulse-browse0
2211 libservlet2.4-java libspeechd2 libtiff-tools libtimedate-perl
2212 libunistring0 liburi-perl libwww-perl libxalan2-java libxerces2-java
2213 lirc luatex marble networkstatus noatun-plugins
2214 openoffice.org-writer2latex palapeli palapeli-data parley
2215 parley-data poster psutils pulseaudio pulseaudio-esound-compat
2216 pulseaudio-module-x11 pulseaudio-utils quanta-data rocs rsync
2217 speech-dispatcher step svgalibg1 texlive-binaries texlive-luatex
2219 </p
></blockquote
>
2221 <p
>Installed using apt-get, removed with aptitude
</p
>
2223 <blockquote
><p
>
2224 amor artsbuilder atlantik atlantikdesigner blinken bluez-utils cvs
2225 dhcdbd djvulibre-desktop imlib-base imlib11 kalzium kanagram kandy
2226 kasteroids katomic kbackgammon kbattleship kblackbox kbounce kbruch
2227 kcron kdat kdemultimedia-kappfinder-data kdeprint kdict kdvi kedit
2228 keduca kenolaba kfax kfaxview kfouleggs kgeography kghostview
2229 kgoldrunner khangman khexedit kiconedit kig kimagemapeditor
2230 kitchensync kiten kjumpingcube klatin klettres klickety klines
2231 klinkstatus kmag kmahjongg kmailcvt kmenuedit kmid kmilo kmines
2232 kmousetool kmouth kmplot knetwalk kodo kolf kommander konquest kooka
2233 kpager kpat kpdf kpercentage kpilot kpoker kpovmodeler krec
2234 kregexpeditor kreversi ksame ksayit kshisen ksig ksim ksirc ksirtet
2235 ksmiletris ksnake ksokoban kspaceduel kstars ksvg ksysv kteatime
2236 ktip ktnef ktouch ktron kttsd ktuberling kturtle ktux kuickshow
2237 kverbos kview kviewshell kvoctrain kwifimanager kwin kwin4 kwordquiz
2238 kworldclock kxsldbg libakode2 libarts1-akode libarts1-audiofile
2239 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
2240 libavahi-core5 libavc1394-
0 libbind9-
50 libbluetooth2
2241 libboost-python1.34
.1 libcucul0 libcurl3 libcvsservice0
2242 libdirectfb-
1.0-
0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
2243 libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-
0 libicu38
2244 libiec61883-
0 libindex0 libisccc50 libisccfg50 libiw29
2245 libjaxp1.3-java-gcj libk3b3 libkcal2b libkcddb1 libkdeedu3
2246 libkdegames1 libkdepim1a libkgantt0 libkleopatra1 libkmime2
2247 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
2248 libksieve0 libktnef1 liblockdev1 libltdl3 liblwres50 libmagick10
2249 libmimelib1c2a libmodplug0c2 libmozjs1d libmpcdec3 libmpfr1ldbl
2250 libneon27 libnm-util0 libopensync0 libpisock9 libpoppler-glib3
2251 libpoppler-qt2 libpoppler3 libraw1394-
8 librss1 libsensors3
2252 libsmbios2 libssh2-
1 libsuitesparse-
3.1.0 libswfdec-
0.6-
90
2253 libtalloc1 libxalan2-java-gcj libxerces2-java-gcj libxtrap6 lskat
2254 mpeglib network-manager-kde noatun pmount tex-common texlive-base
2255 texlive-common texlive-doc-base texlive-fonts-recommended tidy
2256 ttf-dustin ttf-kochi-gothic ttf-sjfonts
2257 </p
></blockquote
>
2259 <p
>Installed using aptitude, missing with apt-get
</p
>
2261 <blockquote
><p
>
2262 dolphin kde-core kde-plasma-desktop kde-standard kde-window-manager
2263 kdeartwork kdebase kdebase-apps kdebase-workspace
2264 kdebase-workspace-bin kdebase-workspace-data kdeutils kscreensaver
2265 kscreensaver-xsavers libgle3 libkonq5 libkonq5-templates libnetpbm10
2266 netpbm plasma-widget-folderview plasma-widget-networkmanagement
2267 xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
2268 xscreensaver-screensaver-bsod
2269 </p
></blockquote
>
2271 <p
>Installed using aptitude, removed with apt-get
</p
>
2273 <blockquote
><p
>
2274 kdebase-bin konq-plugins konqueror
2275 </p
></blockquote
>
2280 <title>Migrating Xen virtual machines using LVM to KVM using disk images
</title>
2281 <link>http://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html
</link>
2282 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html
</guid>
2283 <pubDate>Mon,
22 Nov
2010 11:
20:
00 +
0100</pubDate>
2285 <p
>Most of the computers in use by the
2286 <a href=
"http://www.skolelinux.org/
">Debian Edu/Skolelinux project
</a
>
2287 are virtual machines. And they have been Xen machines running on a
2288 fairly old IBM eserver xseries
345 machine, and we wanted to migrate
2289 them to KVM on a newer Dell PowerEdge
2950 host machine. This was a
2290 bit harder that it could have been, because we set up the Xen virtual
2291 machines to get the virtual partitions from LVM, which as far as I
2292 know is not supported by KVM. So to migrate, we had to convert
2293 several LVM logical volumes to partitions on a virtual disk file.
</p
>
2296 <a href=
"http://searchnetworking.techtarget.com.au/articles/
35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
">a
2297 nice recipe
</a
> to do this, and wrote the following script to do the
2298 migration. It uses qemu-img from the qemu package to make the disk
2299 image, parted to partition it, losetup and kpartx to present the disk
2300 image partions as devices, and dd to copy the data. I NFS mounted the
2301 new servers storage area on the old server to do the migration.
</p
>
2307 # http://searchnetworking.techtarget.com.au/articles/
35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
2312 if [ -z
"$
1" ] ; then
2313 echo
"Usage: $
0 &lt;hostname
&gt;
"
2319 if [ ! -e /dev/vg_data/$host-disk ] ; then
2320 echo
"error: unable to find LVM volume for $host
"
2324 # Partitions need to be a bit bigger than the LVM LVs. not sure why.
2325 disksize=$( lvs --units m | grep $host-disk | awk
'{sum = sum + $
4} END { print int(sum *
1.05) }
')
2326 swapsize=$( lvs --units m | grep $host-swap | awk
'{sum = sum + $
4} END { print int(sum *
1.05) }
')
2327 totalsize=$(( ( $disksize + $swapsize ) ))
2330 #dd if=/dev/zero of=$img bs=
1M count=$(( $disksize + $swapsize ))
2331 qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
2333 parted $img mklabel msdos
2334 parted $img mkpart primary linux-swap
0 $disksize
2335 parted $img mkpart primary ext2 $disksize $totalsize
2336 parted $img set
1 boot on
2339 losetup /dev/loop0 $img
2340 kpartx -a /dev/loop0
2342 dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=
1M
2343 fsck.ext3 -f /dev/mapper/loop0p1 || true
2344 mkswap /dev/mapper/loop0p2
2346 kpartx -d /dev/loop0
2347 losetup -d /dev/loop0
2350 <p
>The script is perhaps so simple that it is not copyrightable, but
2351 if it is, it is licenced using GPL v2 or later at your discretion.
</p
>
2353 <p
>After doing this, I booted a Debian CD in rescue mode in KVM with
2354 the new disk image attached, installed grub-pc and linux-image-
686 and
2355 set up grub to boot from the disk image. After this, the KVM machines
2356 seem to work just fine.
</p
>
2361 <title>Lenny-
>Squeeze upgrades of the Gnome and KDE desktop, now with apt-get autoremove
</title>
2362 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html
</link>
2363 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html
</guid>
2364 <pubDate>Mon,
22 Nov
2010 14:
15:
00 +
0100</pubDate>
2366 <p
>Michael Biebl suggested to me on IRC, that I changed my automated
2367 upgrade testing of the
2368 <a href=
"http://people.skolelinux.org/~pere/debian-upgrade-testing/
">Lenny
2369 Gnome and KDE Desktop
</a
> to do
<tt
>apt-get autoremove
</tt
> when using apt-get.
2370 This seem like a very good idea, so I adjusted by test scripts and
2371 can now present the updated result from today:
</p
>
2373 <p
>This is for Gnome:
</p
>
2375 <p
>Installed using apt-get, missing with aptitude
</p
>
2377 <blockquote
><p
>
2382 browser-plugin-gnash
2389 freedesktop-sound-theme
2391 gconf-defaults-service
2406 gnome-desktop-environment
2410 gnome-session-canberra
2415 gstreamer0.10-fluendo-mp3
2421 libapache2-mod-dnssd
2424 libaprutil1-dbd-sqlite3
2427 libboost-date-time1.42
.0
2428 libboost-python1.42
.0
2429 libboost-thread1.42
.0
2431 libchamplain-gtk-
0.4-
0
2433 libclutter-gtk-
0.10-
0
2440 libfreerdp-plugins-standard
2455 libgnomepanel2.24-cil
2460 libgtksourceview2.0-common
2461 libmono-addins-gui0.2-cil
2462 libmono-addins0.2-cil
2463 libmono-cairo2.0-cil
2464 libmono-corlib2.0-cil
2465 libmono-i18n-west2.0-cil
2466 libmono-posix2.0-cil
2467 libmono-security2.0-cil
2468 libmono-sharpzip2.84-cil
2469 libmono-system2.0-cil
2472 libndesk-dbus-glib1.0-cil
2473 libndesk-dbus1.0-cil
2483 libtelepathy-farsight0
2492 nautilus-sendto-empathy
2496 python-aptdaemon-gtk
2498 python-beautifulsoup
2513 python-gtksourceview2
2524 python-pkg-resources
2531 python-twisted-conch
2537 python-zope.interface
2542 rhythmbox-plugin-cdrecorder
2549 system-config-printer-udev
2551 telepathy-mission-control-
5
2562 </p
></blockquote
>
2564 <p
>Installed using apt-get, removed with aptitude
</p
>
2566 <blockquote
><p
>
2572 fast-user-switch-applet
2591 libgtksourceview2.0-
0
2593 libsdl1.2debian-alsa
2599 system-config-printer
2604 </p
></blockquote
>
2606 <p
>Installed using aptitude, missing with apt-get
</p
>
2608 <blockquote
><p
>
2609 gstreamer0.10-gnomevfs
2610 </p
></blockquote
>
2612 <p
>Installed using aptitude, removed with apt-get
</p
>
2614 <blockquote
><p
>
2616 </p
></blockquote
>
2618 <p
>This is for KDE:
</p
>
2620 <p
>Installed using apt-get, missing with aptitude
</p
>
2622 <blockquote
><p
>
2624 </p
></blockquote
>
2626 <p
>Installed using apt-get, removed with aptitude
</p
>
2628 <blockquote
><p
>
2631 </p
></blockquote
>
2633 <p
>Installed using aptitude, missing with apt-get
</p
>
2635 <blockquote
><p
>
2649 kdeartwork-emoticons
2651 kdeartwork-theme-icon
2655 kdebase-workspace-bin
2656 kdebase-workspace-data
2670 kscreensaver-xsavers
2685 plasma-dataengines-workspace
2687 plasma-desktopthemes-artwork
2688 plasma-runners-addons
2689 plasma-scriptengine-googlegadgets
2690 plasma-scriptengine-python
2691 plasma-scriptengine-qedje
2692 plasma-scriptengine-ruby
2693 plasma-scriptengine-webkit
2694 plasma-scriptengines
2695 plasma-wallpapers-addons
2696 plasma-widget-folderview
2697 plasma-widget-networkmanagement
2701 xscreensaver-data-extra
2703 xscreensaver-gl-extra
2704 xscreensaver-screensaver-bsod
2705 </p
></blockquote
>
2707 <p
>Installed using aptitude, removed with apt-get
</p
>
2709 <blockquote
><p
>
2711 google-gadgets-common
2729 libggadget-qt-
1.0-
0b
2734 libkonqsidebarplugin4a
2743 libplasma-geolocation-interface4
2745 libplasmagenericshell4
2759 libsmokeknewstuff2-
3
2760 libsmokeknewstuff3-
3
2762 libsmokektexteditor3
2770 libsmokeqtnetwork4-
3
2776 libsmokeqtuitools4-
3
2788 plasma-dataengines-addons
2789 plasma-scriptengine-superkaramba
2790 plasma-widget-lancelot
2791 plasma-widgets-addons
2792 plasma-widgets-workspace
2796 update-notifier-common
2797 </p
></blockquote
>
2799 <p
>Running apt-get autoremove made the results using apt-get and
2800 aptitude a bit more similar, but there are still quite a lott of
2801 differences. I have no idea what packages should be installed after
2802 the upgrade, but hope those that do can have a look.
</p
>
2807 <title>Why isn
't Debian Edu using VLC?
</title>
2808 <link>http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html
</link>
2809 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html
</guid>
2810 <pubDate>Sat,
27 Nov
2010 11:
30:
00 +
0100</pubDate>
2812 <p
>In the latest issue of Linux Journal, the readers choices were
2813 presented, and the winner among the multimedia player were VLC.
2814 Personally, I like VLC, and it is my player of choice when I first try
2815 to play a video file or stream. Only if VLC fail will I drag out
2816 gmplayer to see if it can do better. The reason is mostly the failure
2817 model and trust. When VLC fail, it normally pop up a error message
2818 reporting the problem. When mplayer fail, it normally segfault or
2819 just hangs. The latter failure mode drain my trust in the program.
<p
>
2821 <p
>But even if VLC is my player of choice, we have choosen to use
2822 mplayer in
<a href=
"http://www.skolelinux.org/
">Debian
2823 Edu/Skolelinux
</a
>. The reason is simple. We need a good browser
2824 plugin to play web videos seamlessly, and the VLC browser plugin is
2825 not very good. For example, it lack in-line control buttons, so there
2826 is no way for the user to pause the video. Also, when I
2827 <a href=
"http://wiki.debian.org/DebianEdu/BrowserMultimedia
">last
2828 tested the browser plugins
</a
> available in Debian, the VLC plugin
2829 failed on several video pages where mplayer based plugins worked. If
2830 the browser plugin for VLC was as good as the gecko-mediaplayer
2831 package (which uses mplayer), we would switch.
</P
>
2833 <p
>While VLC is a good player, its user interface is slightly
2834 annoying. The most annoying feature is its inconsistent use of
2835 keyboard shortcuts. When the player is in full screen mode, its
2836 shortcuts are different from when it is playing the video in a window.
2837 For example, space only work as pause when in full screen mode. I
2838 wish it had consisten shortcuts and that space also would work when in
2839 window mode. Another nice shortcut in gmplayer is [enter] to restart
2840 the current video. It is very nice when playing short videos from the
2841 web and want to restart it when new people arrive to have a look at
2842 what is going on.
</p
>