]> pere.pagekite.me Git - homepage.git/blob - blog/index.html
b2897559fae4eef1f9d8fa411c4ec0948a2cf43c
[homepage.git] / blog / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html>
4 <head>
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">
8
9 </head>
10 <body>
11
12 <div class="title">
13 <h1>
14 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21
22 <div class="entry">
23 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html">Parallellized boot is now the default in Debian/unstable</a></div>
24 <div class="date">2010-05-14 22:40</div>
25 <div class="body">
26 <p>Since this evening, parallel booting is the default in
27 Debian/unstable for machines using dependency based boot sequencing.
28 Apparently the testing of concurrent booting has been wider than
29 expected, if I am to believe the
30 <a href="http://lists.debian.org/debian-devel/2010/05/msg00122.html">input
31 on debian-devel@</a>, and I concluded a few days ago to move forward
32 with the feature this weekend, to give us some time to detect any
33 remaining problems before Squeeze is frozen. If serious problems are
34 detected, it is simple to change the default back to sequential boot.
35 The upload of the new sysvinit package also activate a new upstream
36 version.</p>
37
38 More information about
39 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
40 based boot sequencing</a> is available from the Debian wiki. It is
41 currently possible to disable parallel booting when one run into
42 problems caused by it, by adding this line to /etc/default/rcS:</p>
43
44 <blockquote><pre>
45 CONCURRENCY=none
46 </pre></blockquote>
47
48 <p>If you report any problems with dependencies in init.d scripts to
49 the BTS, please usertag the report to get it to show up at
50 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
51 list of usertagged bugs related to this</a>.</p>
52 </div>
53 <div class="tags">
54
55
56
57 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>.
58
59 </div>
60 </div>
61 <div class="padding"></div>
62
63 <div class="entry">
64 <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>
65 <div class="date">2010-05-14 21:10</div>
66 <div class="body">
67 <p>In the recent Debian Edu versions, the
68 <a href="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary">sitesummary
69 system</a> is used to keep track of the machines in the school
70 network. Each machine will automatically report its status to the
71 central server after boot and once per night. The network setup is
72 also reported, and using this information it is possible to get the
73 MAC address of all network interfaces in the machines. This is useful
74 to update the DHCP configuration.</p>
75
76 <p>To give some idea how to use sitesummary, here is a one-liner to
77 ist all MAC addresses of all machines reporting to sitesummary. Run
78 this on the collector host:</p>
79
80 <blockquote><pre>
81 perl -MSiteSummary -e 'for_all_hosts(sub { print join(" ", get_macaddresses(shift)), "\n"; });'
82 </pre></blockquote>
83
84 <p>This will list all MAC addresses assosiated with all machine, one
85 line per machine and with space between the MAC addresses.</p>
86
87 <p>To allow system administrators easier job at adding static DHCP
88 addresses for hosts, it would be possible to extend this to fetch
89 machine information from sitesummary and update the DHCP and DNS
90 tables in LDAP using this information. Such tool is unfortunately not
91 written yet.</p>
92 </div>
93 <div class="tags">
94
95
96
97 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>.
98
99 </div>
100 </div>
101 <div class="padding"></div>
102
103 <div class="entry">
104 <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>
105 <div class="date">2010-05-13 22:20</div>
106 <div class="body">
107 <p>The last few days a new boot system called
108 <a href="http://www.freedesktop.org/wiki/Software/systemd">systemd</a>
109 has been
110 <a href="http://0pointer.de/blog/projects/systemd.html">introduced</a>
111
112 to the free software world. I have not yet had time to play around
113 with it, but it seem to be a very interesting alternative to
114 <a href="http://upstart.ubuntu.com/">upstart</a>, and might prove to be
115 a good alternative for Debian when we are able to switch to an event
116 based boot system. Tollef is
117 <a href="http://bugs.debian.org/580814">in the process</a> of getting
118 systemd into Debian, and I look forward to seeing how well it work. I
119 like the fact that systemd handles init.d scripts with dependency
120 information natively, allowing them to run in parallel where upstart
121 at the moment do not.</p>
122
123 <p>Unfortunately do systemd have the same problem as upstart regarding
124 platform support. It only work on recent Linux kernels, and also need
125 some new kernel features enabled to function properly. This means
126 kFreeBSD and Hurd ports of Debian will need a port or a different boot
127 system. Not sure how that will be handled if systemd proves to be the
128 way forward.</p>
129
130 <p>In the mean time, based on the
131 <a href="http://lists.debian.org/debian-devel/2010/05/msg00122.html">input
132 on debian-devel@</a> regarding parallel booting in Debian, I have
133 decided to enable full parallel booting as the default in Debian as
134 soon as possible (probably this weekend or early next week), to see if
135 there are any remaining serious bugs in the init.d dependencies. A
136 new version of the sysvinit package implementing this change is
137 already in experimental. If all go well, Squeeze will be released
138 with parallel booting enabled by default.</p>
139 </div>
140 <div class="tags">
141
142
143
144 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>.
145
146 </div>
147 </div>
148 <div class="padding"></div>
149
150 <div class="entry">
151 <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>
152 <div class="date">2010-05-06 23:25</div>
153 <div class="body">
154 <p>These days, the init.d script dependencies in Squeeze are quite
155 complete, so complete that it is actually possible to run all the
156 init.d scripts in parallell based on these dependencies. If you want
157 to test your Squeeze system, make sure
158 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
159 based boot sequencing</a> is enabled, and add this line to
160 /etc/default/rcS:</p>
161
162 <blockquote><pre>
163 CONCURRENCY=makefile
164 </pre></blockquote>
165
166 <p>That is it. It will cause sysv-rc to use the startpar tool to run
167 scripts in parallel using the dependency information stored in
168 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
169 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
170 to try to start the kdm and gdm scripts as early as possible, and will
171 start the facilities required by kdm or gdm as early as possible to
172 make this happen.</p>
173
174 <p>Give it a try, and see if you like the result. If some services
175 fail to start properly, it is most likely because they have incomplete
176 init.d script dependencies in their startup script (or some of their
177 dependent scripts have incomplete dependencies). Report bugs and get
178 the package maintainers to fix it. :)</p>
179
180 <p>Running scripts in parallel could be the default in Debian when we
181 manage to get the init.d script dependencies complete and correct. I
182 expect we will get there in Squeeze+1, if we get manage to test and
183 fix the remaining issues.</p>
184
185 <p>If you report any problems with dependencies in init.d scripts to
186 the BTS, please usertag the report to get it to show up at
187 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
188 list of usertagged bugs related to this</a>.</p>
189 </div>
190 <div class="tags">
191
192
193
194 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>.
195
196 </div>
197 </div>
198 <div class="padding"></div>
199
200 <div class="entry">
201 <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>
202 <div class="date">2010-05-02 13:47</div>
203 <div class="body">
204 <p>One interesting feature in Active Directory, is the ability to
205 create a new user with an expired password, and thus force the user to
206 change the password on the first login attempt.</p>
207
208 <p>I'm not quite sure how to do that with the LDAP setup in Debian
209 Edu, but did some initial testing with a local account. The account
210 and password aging information is available in /etc/shadow, but
211 unfortunately, it is not possible to specify an expiration time for
212 passwords, only a maximum age for passwords.</p>
213
214 <p>A freshly created account (using adduser test) will have these
215 settings in /etc/shadow:</p>
216
217 <blockquote><pre>
218 root@tjener:~# chage -l test
219 Last password change : May 02, 2010
220 Password expires : never
221 Password inactive : never
222 Account expires : never
223 Minimum number of days between password change : 0
224 Maximum number of days between password change : 99999
225 Number of days of warning before password expires : 7
226 root@tjener:~#
227 </pre></blockquote>
228
229 <p>The only way I could come up with to create a user with an expired
230 account, is to change the date of the last password change to the
231 lowest value possible (January 1th 1970), and the maximum password age
232 to the difference in days between that date and today. To make it
233 simple, I went for 30 years (30 * 365 = 10950) and January 2th (to
234 avoid testing if 0 is a valid value).</p>
235
236 <p>After using these commands to set it up, it seem to work as
237 intended:</p>
238
239 <blockquote><pre>
240 root@tjener:~# chage -d 1 test; chage -M 10950 test
241 root@tjener:~# chage -l test
242 Last password change : Jan 02, 1970
243 Password expires : never
244 Password inactive : never
245 Account expires : never
246 Minimum number of days between password change : 0
247 Maximum number of days between password change : 10950
248 Number of days of warning before password expires : 7
249 root@tjener:~#
250 </pre></blockquote>
251
252 <p>So far I have tested this with ssh and console, and kdm (in
253 Squeeze) login, and all ask for a new password before login in the
254 user (with ssh, I was thrown out and had to log in again).</p>
255
256 <p>Perhaps we should set up something similar for Debian Edu, to make
257 sure only the user itself have the account password?</p>
258
259 <p>If you want to comment on or help out with implementing this for
260 Debian Edu, please contact us on debian-edu@lists.debian.org.</p>
261
262 <p>Update 2010-05-02 17:20: Paul Tötterman tells me on IRC that the
263 shadow(8) page in Debian/testing now state that setting the date of
264 last password change to zero (0) will force the password to be changed
265 on the first login. This was not mentioned in the manual in Lenny, so
266 I did not notice this in my initial testing. I have tested it on
267 Squeeze, and '<tt>chage -d 0 username</tt>' do work there. I have not
268 tested it on Lenny yet.</p>
269
270 <p>Update 2010-05-02-19:05: Jim Paris tells me via email that an
271 equivalent command to expire a password is '<tt>passwd -e
272 username</tt>', which insert zero into the date of the last password
273 change.</p>
274 </div>
275 <div class="tags">
276
277
278
279 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>.
280
281 </div>
282 </div>
283 <div class="padding"></div>
284
285 <div class="entry">
286 <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>
287 <div class="date">2010-04-28 20:40</div>
288 <div class="body">
289 <p>For some years now, I have wondered how we should handle laptops in
290 Debian Edu. The Debian Edu infrastructure is mostly designed to
291 handle stationary computers, and less suited for computers that come
292 and go.</p>
293
294 <p>Now I finally believe I have an sensible idea on how to adjust
295 Debian Edu for laptops, by introducing a new profile for them, for
296 example called Roaming Workstations. Here are my thought on this.
297 The setup would consist of the following:</p>
298
299 <ul>
300
301 <li>During installation, the user name of the owner / primary user of
302 the laptop is requested and a local home directory is set up for
303 the user, with uid and gid information fetched from the LDAP
304 server. This allow the user to work also when offline. The
305 central home directory can be available in a subdirectory on
306 request, for example mounted via CIFS. It could be mounted
307 automatically when a user log in while on the Debian Edu network,
308 and unmounted when the machine is taken away (network down,
309 hibernate, etc), it can be set up to do automatic mounting on
310 request (using autofs), or perhaps some GUI button on the desktop
311 can be used to access it when needed. Perhaps it is enough to use
312 the fish protocol in KDE?</li>
313
314 <li>Password checking is set up to use LDAP or Kerberos
315 authentication when the machine is on the Debian Edu network, and
316 to cache the password for offline checking when the machine unable
317 to reach the LDAP or Kerberos server. This can be done using
318 <a href="http://www.padl.com/OSS/pam_ccreds.html">libpam-ccreds</a>
319 or the Fedora developed
320 <a href="https://fedoraproject.org/wiki/Features/SSSD">System
321 Security Services Daemon</a> packages.</li>
322
323 <li>File synchronisation with the central home directory is set up
324 using a shared directory in both the local and the central home
325 directory, using unison.</li>
326
327 <li>Printing should be set up to print to all printers broadcasting
328 their existence on the local network, and should then work out of
329 the box with CUPS. For sites needing accurate printer quotas, some
330 system with Kerberos authentication or printing via ssh could be
331 implemented.</li>
332
333 <li>For users that should have local root access to their laptop,
334 sudo should be used to allow this to the local user.</li>
335
336 <li>It would be nice if user and group information from LDAP is
337 cached on the client, but given that there are entries for the
338 local user and primary group in /etc/, it should not be needed.</li>
339
340 </ul>
341
342 <p>I believe all the pieces to implement this are in Debian/testing at
343 the moment. If we work quickly, we should be able to get this ready
344 in time for the Squeeze release to freeze. Some of the pieces need
345 tweaking, like libpam-ccreds should get support for pam-auth-update
346 (<a href="http://bugs.debian.org/566718">#566718</a>) and nslcd (or
347 perhaps debian-edu-config) should get some integration code to stop
348 its daemon when the LDAP server is unavailable to avoid long timeouts
349 when disconnected from the net. If we get Kerberos enabled, we need
350 to make sure we avoid long timeouts there too.</p>
351
352 <p>If you want to help out with implementing this for Debian Edu,
353 please contact us on debian-edu@lists.debian.org.</p>
354 </div>
355 <div class="tags">
356
357
358
359 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>.
360
361 </div>
362 </div>
363 <div class="padding"></div>
364
365 <div class="entry">
366 <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>
367 <div class="date">2010-04-19 17:10</div>
368 <div class="body">
369 <p>The last few weeks i have had the pleasure of reading a
370 thought-provoking collection of essays by Cory Doctorow, on topics
371 touching copyright, virtual worlds, the future of man when the
372 conscience mind can be duplicated into a computer and many more. The
373 book titled "Content: Selected Essays on Technology, Creativity,
374 Copyright, and the Future of the Future" is available with few
375 restrictions on the web, for example from
376 <a href="http://craphound.com/content/">his own site</a>. I read the
377 epub-version from
378 <a href="http://www.feedbooks.com/book/2883">feedbooks</a> using
379 <a href="http://www.fbreader.org/">fbreader</a> and my N810. I
380 strongly recommend this book.</p>
381 </div>
382 <div class="tags">
383
384
385
386 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>.
387
388 </div>
389 </div>
390 <div class="padding"></div>
391
392 <div class="entry">
393 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html">Kerberos for Debian Edu/Squeeze?</a></div>
394 <div class="date">2010-04-14 17:20</div>
395 <div class="body">
396 <p><a href="http://www.nuug.no/aktiviteter/20100413-kerberos/">Yesterdays
397 NUUG presentation</a> about Kerberos was inspiring, and reminded me
398 about the need to start using Kerberos in Skolelinux. Setting up a
399 Kerberos server seem to be straight forward, and if we get this in
400 place a long time before the Squeeze version of Debian freezes, we
401 have a chance to migrate Skolelinux away from NFSv3 for the home
402 directories, and over to an architecture where the infrastructure do
403 not have to trust IP addresses and machines, and instead can trust
404 users and cryptographic keys instead.</p>
405
406 <p>A challenge will be integration and administration. Is there a
407 Kerberos implementation for Debian where one can control the
408 administration access in Kerberos using LDAP groups? With it, the
409 school administration will have to maintain access control using flat
410 files on the main server, which give a huge potential for errors.</p>
411
412 <p>A related question I would like to know is how well Kerberos and
413 pam-ccreds (offline password check) work together. Anyone know?</p>
414
415 <p>Next step will be to use Kerberos for access control in Lwat and
416 Nagios. I have no idea how much work that will be to implement. We
417 would also need to document how to integrate with Windows AD, as such
418 shared network will require two Kerberos realms that need to cooperate
419 to work properly.</p>
420
421 <p>I believe a good start would be to start using Kerberos on the
422 skolelinux.no machines, and this way get ourselves experience with
423 configuration and integration. A natural starting point would be
424 setting up ldap.skolelinux.no as the Kerberos server, and migrate the
425 rest of the machines from PAM via LDAP to PAM via Kerberos one at the
426 time.</p>
427
428 <p>If you would like to contribute to get this working in Skolelinux,
429 I recommend you to see the video recording from yesterdays NUUG
430 presentation, and start using Kerberos at home. The video show show
431 up in a few days.</p>
432 </div>
433 <div class="tags">
434
435
436
437 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>.
438
439 </div>
440 </div>
441 <div class="padding"></div>
442
443 <div class="entry">
444 <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>
445 <div class="date">2010-03-06 21:15</div>
446 <div class="body">
447 <p><a href="http://fotball.aftenposten.no/incoming/article163000.ece">Aftenposten
448 melder</a> på forsiden av webavisen sin at de tror Erling Fossen
449 provoserer nordlendinger med sine uttalelser på
450 fotballtinget. Jeg er utflyttet nordlending, og må innrømme at jeg
451 ikke kjennet så mye som et snev av provokasjon fra denne litt morsomme
452 uttalelsen til Hr. Fossen. Lurer på om Aftenposten har noen kilder
453 utenom redaksjonen for sin påstand om at nordledinger er provosert av
454 Hr. Fossen. Må innrømme at jeg tviler på det.</p>
455
456 <p>Det hele bringer tankene tilbake til Sture Hansen i Hallo i Uken.</p>
457 </div>
458 <div class="tags">
459
460
461
462 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>.
463
464 </div>
465 </div>
466 <div class="padding"></div>
467
468 <div class="entry">
469 <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>
470 <div class="date">2010-03-06 18:15</div>
471 <div class="body">
472 <p>6 years ago, as part of the Debian Edu development I am involved
473 in, I asked for a hook in the kdm and gdm setup to run scripts as root
474 when the user log out. A bug was submitted against the xfree86-common
475 package in 2004 (<a href="http://bugs.debian.org/230422">#230422</a>),
476 and revisited every time Debian Edu was working on a new release.
477 Today, this finally paid off.</p>
478
479 <p>The framework for this feature was today commited to the git
480 repositry for the xorg package, and the git repository for xdm has
481 been updated to use this framework. Next on my agenda is to make sure
482 kdm and gdm also add code to use this framework.</p>
483
484 <p>In Debian Edu, we want to ability to run commands as root when the
485 user log out, to get rid of runaway processes and do general cleanup
486 after a user. With this framework in place, we finally can do that in
487 a generic way that work with all display managers using this
488 framework. My goal is to get all display managers in Debian use it,
489 similar to how they use the Xsession.d framework today.<p>
490 </div>
491 <div class="tags">
492
493
494
495 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>.
496
497 </div>
498 </div>
499 <div class="padding"></div>
500
501 <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>
502
503 <div id="sidebar">
504
505
506
507
508
509 <h2>Archive</h2>
510 <ul>
511
512 <li>2010
513 <ul>
514
515 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
516
517 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
518
519 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
520
521 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
522
523 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (5)</a></li>
524
525 </ul></li>
526
527 <li>2009
528 <ul>
529
530 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
531
532 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
533
534 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
535
536 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
537
538 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
539
540 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
541
542 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
543
544 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
545
546 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
547
548 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
549
550 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
551
552 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
553
554 </ul></li>
555
556 <li>2008
557 <ul>
558
559 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
560
561 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
562
563 </ul></li>
564
565 </ul>
566
567
568
569 <h2>Tags</h2>
570 <ul>
571
572 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (11)</a></li>
573
574 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
575
576 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
577
578 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (18)</a></li>
579
580 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (17)</a></li>
581
582 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (28)</a></li>
583
584 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (1)</a></li>
585
586 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (6)</a></li>
587
588 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (2)</a></li>
589
590 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (1)</a></li>
591
592 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
593
594 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (5)</a></li>
595
596 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (64)</a></li>
597
598 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (72)</a></li>
599
600 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (12)</a></li>
601
602 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (11)</a></li>
603
604 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (10)</a></li>
605
606 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
607
608 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (7)</a></li>
609
610 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (1)</a></li>
611
612 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (11)</a></li>
613
614 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (1)</a></li>
615
616 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (10)</a></li>
617
618 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (1)</a></li>
619
620 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (6)</a></li>
621
622 </ul>
623
624 </div>
625
626 <p style="text-align: right">
627 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v3.7</a>
628 </p>
629 </body>
630 </html>