1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5 <title>Petter Reinholdtsen
</title>
6 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css">
7 <link rel=
"alternate" title=
"RSS Feed" href=
"http://people.skolelinux.org/pere/blog/index.rss" type=
"application/rss+xml">
14 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html">Sitesummary tip: Listing MAC address of all clients
</a></div>
24 <div class=
"date">2010-
05-
14 21:
10</div>
26 <p>In the recent Debian Edu versions, the
27 <a href=
"http://wiki.debian.org/DebianEdu/HowTo/SiteSummary">sitesummary
28 system
</a> is used to keep track of the machines in the school
29 network. Each machine will automatically report its status to the
30 central server after boot and once per night. The network setup is
31 also reported, and using this information it is possible to get the
32 MAC address of all network interfaces in the machines. This is useful
33 to update the DHCP configuration.
</p>
35 <p>To give some idea how to use sitesummary, here is a one-liner to
36 ist all MAC addresses of all machines reporting to sitesummary. Run
37 this on the collector host:
</p>
40 perl -MSiteSummary -e 'for_all_hosts(sub { print join(" ", get_macaddresses(shift)), "\n"; });'
43 <p>This will list all MAC addresses assosiated with all machine, one
44 line per machine and with space between the MAC addresses.
</p>
46 <p>To allow system administrators easier job at adding static DHCP
47 addresses for hosts, it would be possible to extend this to fetch
48 machine information from sitesummary and update the DHCP and DNS
49 tables in LDAP using this information. Such tool is unfortunately not
56 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary
</a>.
60 <div class=
"padding"></div>
63 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html">systemd, an interesting alternative to upstart
</a></div>
64 <div class=
"date">2010-
05-
13 22:
20</div>
66 <p>The last few days a new boot system called
67 <a href=
"http://www.freedesktop.org/wiki/Software/systemd">systemd
</a>
69 <a href=
"http://0pointer.de/blog/projects/systemd.html">introduced
</a>
71 to the free software world. I have not yet had time to play around
72 with it, but it seem to be a very interesting alternative to
73 <a href=
"http://upstart.ubuntu.com/">upstart
</a>, and might prove to be
74 a good alternative for Debian when we are able to switch to an event
75 based boot system. Tollef is
76 <a href=
"http://bugs.debian.org/580814">in the process
</a> of getting
77 systemd into Debian, and I look forward to seeing how well it work. I
78 like the fact that systemd handles init.d scripts with dependency
79 information natively, allowing them to run in parallel where upstart
80 at the moment do not.
</p>
82 <p>Unfortunately do systemd have the same problem as upstart regarding
83 platform support. It only work on recent Linux kernels, and also need
84 some new kernel features enabled to function properly. This means
85 kFreeBSD and Hurd ports of Debian will need a port or a different boot
86 system. Not sure how that will be handled if systemd proves to be the
89 <p>In the mean time, based on the
90 <a href=
"http://lists.debian.org/debian-devel/2010/05/msg00122.html">input
91 on debian-devel@
</a> regarding parallel booting in Debian, I have
92 decided to enable full parallel booting as the default in Debian as
93 soon as possible (probably this weekend or early next week), to see if
94 there are any remaining serious bugs in the init.d dependencies. A
95 new version of the sysvinit package implementing this change is
96 already in experimental. If all go well, Squeeze will be released
97 with parallel booting enabled by default.
</p>
103 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>.
107 <div class=
"padding"></div>
110 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html">Parallellizing the boot in Debian Squeeze - ready for wider testing
</a></div>
111 <div class=
"date">2010-
05-
06 23:
25</div>
113 <p>These days, the init.d script dependencies in Squeeze are quite
114 complete, so complete that it is actually possible to run all the
115 init.d scripts in parallell based on these dependencies. If you want
116 to test your Squeeze system, make sure
117 <a href=
"http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
118 based boot sequencing
</a> is enabled, and add this line to
119 /etc/default/rcS:
</p>
125 <p>That is it. It will cause sysv-rc to use the startpar tool to run
126 scripts in parallel using the dependency information stored in
127 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
128 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
129 to try to start the kdm and gdm scripts as early as possible, and will
130 start the facilities required by kdm or gdm as early as possible to
131 make this happen.
</p>
133 <p>Give it a try, and see if you like the result. If some services
134 fail to start properly, it is most likely because they have incomplete
135 init.d script dependencies in their startup script (or some of their
136 dependent scripts have incomplete dependencies). Report bugs and get
137 the package maintainers to fix it. :)
</p>
139 <p>Running scripts in parallel could be the default in Debian when we
140 manage to get the init.d script dependencies complete and correct. I
141 expect we will get there in Squeeze+
1, if we get manage to test and
142 fix the remaining issues.
</p>
144 <p>If you report any problems with dependencies in init.d scripts to
145 the BTS, please usertag the report to get it to show up at
146 <a href=
"http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
147 list of usertagged bugs related to this
</a>.
</p>
153 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>.
157 <div class=
"padding"></div>
160 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html">Forcing new users to change their password on first login
</a></div>
161 <div class=
"date">2010-
05-
02 13:
47</div>
163 <p>One interesting feature in Active Directory, is the ability to
164 create a new user with an expired password, and thus force the user to
165 change the password on the first login attempt.
</p>
167 <p>I'm not quite sure how to do that with the LDAP setup in Debian
168 Edu, but did some initial testing with a local account. The account
169 and password aging information is available in /etc/shadow, but
170 unfortunately, it is not possible to specify an expiration time for
171 passwords, only a maximum age for passwords.
</p>
173 <p>A freshly created account (using adduser test) will have these
174 settings in /etc/shadow:
</p>
177 root@tjener:~# chage -l test
178 Last password change : May
02,
2010
179 Password expires : never
180 Password inactive : never
181 Account expires : never
182 Minimum number of days between password change :
0
183 Maximum number of days between password change :
99999
184 Number of days of warning before password expires :
7
188 <p>The only way I could come up with to create a user with an expired
189 account, is to change the date of the last password change to the
190 lowest value possible (January
1th
1970), and the maximum password age
191 to the difference in days between that date and today. To make it
192 simple, I went for
30 years (
30 *
365 =
10950) and January
2th (to
193 avoid testing if
0 is a valid value).
</p>
195 <p>After using these commands to set it up, it seem to work as
199 root@tjener:~# chage -d
1 test; chage -M
10950 test
200 root@tjener:~# chage -l test
201 Last password change : Jan
02,
1970
202 Password expires : never
203 Password inactive : never
204 Account expires : never
205 Minimum number of days between password change :
0
206 Maximum number of days between password change :
10950
207 Number of days of warning before password expires :
7
211 <p>So far I have tested this with ssh and console, and kdm (in
212 Squeeze) login, and all ask for a new password before login in the
213 user (with ssh, I was thrown out and had to log in again).
</p>
215 <p>Perhaps we should set up something similar for Debian Edu, to make
216 sure only the user itself have the account password?
</p>
218 <p>If you want to comment on or help out with implementing this for
219 Debian Edu, please contact us on debian-edu@lists.debian.org.
</p>
221 <p>Update
2010-
05-
02 17:
20: Paul Tötterman tells me on IRC that the
222 shadow(
8) page in Debian/testing now state that setting the date of
223 last password change to zero (
0) will force the password to be changed
224 on the first login. This was not mentioned in the manual in Lenny, so
225 I did not notice this in my initial testing. I have tested it on
226 Squeeze, and '
<tt>chage -d
0 username
</tt>' do work there. I have not
227 tested it on Lenny yet.
</p>
229 <p>Update
2010-
05-
02-
19:
05: Jim Paris tells me via email that an
230 equivalent command to expire a password is '
<tt>passwd -e
231 username
</tt>', which insert zero into the date of the last password
238 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet
</a>.
242 <div class=
"padding"></div>
245 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html">Thoughts on roaming laptop setup for Debian Edu
</a></div>
246 <div class=
"date">2010-
04-
28 20:
40</div>
248 <p>For some years now, I have wondered how we should handle laptops in
249 Debian Edu. The Debian Edu infrastructure is mostly designed to
250 handle stationary computers, and less suited for computers that come
253 <p>Now I finally believe I have an sensible idea on how to adjust
254 Debian Edu for laptops, by introducing a new profile for them, for
255 example called Roaming Workstations. Here are my thought on this.
256 The setup would consist of the following:
</p>
260 <li>During installation, the user name of the owner / primary user of
261 the laptop is requested and a local home directory is set up for
262 the user, with uid and gid information fetched from the LDAP
263 server. This allow the user to work also when offline. The
264 central home directory can be available in a subdirectory on
265 request, for example mounted via CIFS. It could be mounted
266 automatically when a user log in while on the Debian Edu network,
267 and unmounted when the machine is taken away (network down,
268 hibernate, etc), it can be set up to do automatic mounting on
269 request (using autofs), or perhaps some GUI button on the desktop
270 can be used to access it when needed. Perhaps it is enough to use
271 the fish protocol in KDE?
</li>
273 <li>Password checking is set up to use LDAP or Kerberos
274 authentication when the machine is on the Debian Edu network, and
275 to cache the password for offline checking when the machine unable
276 to reach the LDAP or Kerberos server. This can be done using
277 <a href=
"http://www.padl.com/OSS/pam_ccreds.html">libpam-ccreds
</a>
278 or the Fedora developed
279 <a href=
"https://fedoraproject.org/wiki/Features/SSSD">System
280 Security Services Daemon
</a> packages.
</li>
282 <li>File synchronisation with the central home directory is set up
283 using a shared directory in both the local and the central home
284 directory, using unison.
</li>
286 <li>Printing should be set up to print to all printers broadcasting
287 their existence on the local network, and should then work out of
288 the box with CUPS. For sites needing accurate printer quotas, some
289 system with Kerberos authentication or printing via ssh could be
292 <li>For users that should have local root access to their laptop,
293 sudo should be used to allow this to the local user.
</li>
295 <li>It would be nice if user and group information from LDAP is
296 cached on the client, but given that there are entries for the
297 local user and primary group in /etc/, it should not be needed.
</li>
301 <p>I believe all the pieces to implement this are in Debian/testing at
302 the moment. If we work quickly, we should be able to get this ready
303 in time for the Squeeze release to freeze. Some of the pieces need
304 tweaking, like libpam-ccreds should get support for pam-auth-update
305 (
<a href=
"http://bugs.debian.org/566718">#
566718</a>) and nslcd (or
306 perhaps debian-edu-config) should get some integration code to stop
307 its daemon when the LDAP server is unavailable to avoid long timeouts
308 when disconnected from the net. If we get Kerberos enabled, we need
309 to make sure we avoid long timeouts there too.
</p>
311 <p>If you want to help out with implementing this for Debian Edu,
312 please contact us on debian-edu@lists.debian.org.
</p>
318 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>.
322 <div class=
"padding"></div>
325 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html">Great book: "Content: Selected Essays on Technology, Creativity, Copyright, and the Future of the Future"
</a></div>
326 <div class=
"date">2010-
04-
19 17:
10</div>
328 <p>The last few weeks i have had the pleasure of reading a
329 thought-provoking collection of essays by Cory Doctorow, on topics
330 touching copyright, virtual worlds, the future of man when the
331 conscience mind can be duplicated into a computer and many more. The
332 book titled "Content: Selected Essays on Technology, Creativity,
333 Copyright, and the Future of the Future" is available with few
334 restrictions on the web, for example from
335 <a href=
"http://craphound.com/content/">his own site
</a>. I read the
337 <a href=
"http://www.feedbooks.com/book/2883">feedbooks
</a> using
338 <a href=
"http://www.fbreader.org/">fbreader
</a> and my N810. I
339 strongly recommend this book.
</p>
345 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/web">web
</a>.
349 <div class=
"padding"></div>
352 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html">Kerberos for Debian Edu/Squeeze?
</a></div>
353 <div class=
"date">2010-
04-
14 17:
20</div>
355 <p><a href=
"http://www.nuug.no/aktiviteter/20100413-kerberos/">Yesterdays
356 NUUG presentation
</a> about Kerberos was inspiring, and reminded me
357 about the need to start using Kerberos in Skolelinux. Setting up a
358 Kerberos server seem to be straight forward, and if we get this in
359 place a long time before the Squeeze version of Debian freezes, we
360 have a chance to migrate Skolelinux away from NFSv3 for the home
361 directories, and over to an architecture where the infrastructure do
362 not have to trust IP addresses and machines, and instead can trust
363 users and cryptographic keys instead.
</p>
365 <p>A challenge will be integration and administration. Is there a
366 Kerberos implementation for Debian where one can control the
367 administration access in Kerberos using LDAP groups? With it, the
368 school administration will have to maintain access control using flat
369 files on the main server, which give a huge potential for errors.
</p>
371 <p>A related question I would like to know is how well Kerberos and
372 pam-ccreds (offline password check) work together. Anyone know?
</p>
374 <p>Next step will be to use Kerberos for access control in Lwat and
375 Nagios. I have no idea how much work that will be to implement. We
376 would also need to document how to integrate with Windows AD, as such
377 shared network will require two Kerberos realms that need to cooperate
378 to work properly.
</p>
380 <p>I believe a good start would be to start using Kerberos on the
381 skolelinux.no machines, and this way get ourselves experience with
382 configuration and integration. A natural starting point would be
383 setting up ldap.skolelinux.no as the Kerberos server, and migrate the
384 rest of the machines from PAM via LDAP to PAM via Kerberos one at the
387 <p>If you would like to contribute to get this working in Skolelinux,
388 I recommend you to see the video recording from yesterdays NUUG
389 presentation, and start using Kerberos at home. The video show show
390 up in a few days.
</p>
396 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>.
400 <div class=
"padding"></div>
403 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/P___vegne_av_vanvitting_mange__Aftenposten_.html">På vegne av vanvitting mange, Aftenposten!
</a></div>
404 <div class=
"date">2010-
03-
06 21:
15</div>
406 <p><a href=
"http://fotball.aftenposten.no/incoming/article163000.ece">Aftenposten
407 melder
</a> på forsiden av webavisen sin at de tror Erling Fossen
408 provoserer nordlendinger med sine uttalelser på
409 fotballtinget. Jeg er utflyttet nordlending, og må innrømme at jeg
410 ikke kjennet så mye som et snev av provokasjon fra denne litt morsomme
411 uttalelsen til Hr. Fossen. Lurer på om Aftenposten har noen kilder
412 utenom redaksjonen for sin påstand om at nordledinger er provosert av
413 Hr. Fossen. Må innrømme at jeg tviler på det.
</p>
415 <p>Det hele bringer tankene tilbake til Sture Hansen i Hallo i Uken.
</p>
421 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>.
425 <div class=
"padding"></div>
428 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html">After
6 years of waiting, the Xreset.d feature is implemented
</a></div>
429 <div class=
"date">2010-
03-
06 18:
15</div>
431 <p>6 years ago, as part of the Debian Edu development I am involved
432 in, I asked for a hook in the kdm and gdm setup to run scripts as root
433 when the user log out. A bug was submitted against the xfree86-common
434 package in
2004 (
<a href=
"http://bugs.debian.org/230422">#
230422</a>),
435 and revisited every time Debian Edu was working on a new release.
436 Today, this finally paid off.
</p>
438 <p>The framework for this feature was today commited to the git
439 repositry for the xorg package, and the git repository for xdm has
440 been updated to use this framework. Next on my agenda is to make sure
441 kdm and gdm also add code to use this framework.
</p>
443 <p>In Debian Edu, we want to ability to run commands as root when the
444 user log out, to get rid of runaway processes and do general cleanup
445 after a user. With this framework in place, we finally can do that in
446 a generic way that work with all display managers using this
447 framework. My goal is to get all display managers in Debian use it,
448 similar to how they use the Xsession.d framework today.
<p>
454 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/english">english
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>.
458 <div class=
"padding"></div>
461 <div class=
"title"><a href=
"http://people.skolelinux.org/pere/blog/Digitale_b__ker_uten_digitale_restriksjonsmekanismer__DRM__b__r_f___mva_fritak.html">Digitale bøker uten digitale restriksjonsmekanismer (DRM) bør få mva-fritak
</a></div>
462 <div class=
"date">2010-
03-
03 19:
00</div>
464 <p>Den norske bokbransjen har
465 <a href=
"http://www.digi.no/823912/nei-til-moms-paa-e-boker">bedt om at
466 digitale bøker må få mva-fritak
</a> slik papirbøker har det, og
467 <a href=
"http://www.digi.no/836875/moms-paa-alt-digitalt-innhold">finansdepartementet
468 har sagt nei
</a>. Det er et interessant spørsmål om digitale bøker
469 bør ha mva-fritak eller ikke, og svaret er ikke så enkelt som et ja
471 <a href=
"http://www.digi.no/836925/norske-e-boker-truet-av-moms">Enkelte
472 medlemmer
</a> av bokbransjen truer med å droppe den planlagte
473 lanseringen av norske digitale bøker med digitale restriksjonsmekanismer
474 (DRM) som de har snakket om å gjennomføre nå i vår, og det må de
475 gjerne gjøre for min del.
</p>
477 <p>Papirbøker har mva-fritak pga. at de fremmer kultur- og
478 kunnskapsspredning. Digitale bøker uten digitale
479 restriksjonsmekanismer (DRM) fremmer kultur- og kunnskapsspredning,
480 mens digitale bøker med DRM hindrer kultur og kunnskapsspredning.
481 Digitale bøker uten DRM bør få mva-fritak da det er salg av bøker på
482 lik linje med salg av papirbøker, mens digitale bøker med DRM ikke bør
483 få det da det er utleie av bøker og ikke salg.
</p>
485 <p>Jeg foretrekker å kjøpe bøker, og velger dermed å la være å bruke
486 DRM-belastede digitale bøker. Vet ikke helt hva jeg ville være villig
487 til å betale for å leie en bok, men tror ikke det er mange kronene.
488 Heldigvis er det mye bøker tilgjengelig uten slike restriksjoner, og
489 de som vil ha tak i engelske bøker kan laste ned bøker som er
490 tilgjengelig uten bruksbegresninger fra
<a href=
"http://www.archive.org/">The
491 Internet Archive
</a>. Der er det pr. i dag
1 889 313 bøker
492 tilgjengelig. De er tilgjengelig i flere formater. Besøk
493 <a href=
"http://www.archive.org/details/texts">oversikten over tekster
494 der
</a> for å se hva de har.
500 Tags:
<a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug
</a>,
<a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett
</a>.
504 <div class=
"padding"></div>
506 <p style=
"text-align: right;"><a href=
"index.rss"><img src=
"http://people.skolelinux.org/pere/blog/xml.gif" alt=
"RSS feed" width=
"36" height=
"14"></a></p>
520 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
522 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
524 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
526 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
528 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
4)
</a></li>
535 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
537 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
539 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
541 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
543 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
545 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
547 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
549 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
551 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
553 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
555 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
557 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
564 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
566 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
577 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
11)
</a></li>
579 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
581 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
583 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
17)
</a></li>
585 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
16)
</a></li>
587 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
27)
</a></li>
589 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
1)
</a></li>
591 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
6)
</a></li>
593 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
2)
</a></li>
595 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
1)
</a></li>
597 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
599 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
5)
</a></li>
601 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
64)
</a></li>
603 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
72)
</a></li>
605 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
12)
</a></li>
607 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
11)
</a></li>
609 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
10)
</a></li>
611 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
613 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
7)
</a></li>
615 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
1)
</a></li>
617 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
11)
</a></li>
619 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
1)
</a></li>
621 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
10)
</a></li>
623 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
1)
</a></li>
625 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
6)
</a></li>
631 <p style=
"text-align: right">
632 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v3.7
</a>