]> pere.pagekite.me Git - homepage.git/blob - blog/index.html
Add LDAP tag.
[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/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html">Caching password, user and group on a roaming Debian laptop</a></div>
24 <div class="date">2010-07-01 11:40</div>
25 <div class="body">
26 <p>For a laptop, centralized user directories and password checking is
27 a bit troubling. Laptops are typically used also when not connected
28 to the network, and it is vital for a user to be able to log in or
29 unlock the screen saver also when a central server is unavailable.
30 This is possible by caching passwords and directory information (user
31 and group attributes) locally, and the packages to do so are available
32 in Debian. Here follow two recipes to set this up in Debian/Squeeze.
33 It is also possible to set up in Debian/Lenny, but require more manual
34 setup there because pam-auth-update is missing in Lenny.</p>
35
36 <h2>LDAP/Kerberos + nscd + libpam-ccreds + libpam-mklocaluser/pam_mkhomedir</h2>
37
38 This is the traditional method with a twist. The password caching is
39 provided by libpam-ccreds (version 10-4 or later is needed on
40 Squeeze), and the directory caching is done by nscd. The directory
41 lookup and password checking is done using LDAP. If one want to use
42 Kerberos for password checking the libpam-ldapd package can be
43 replaced with libpam-krb5 or libpam-heimdal. If one is happy having a
44 local home directory with the path listed in LDAP, one can use the
45 pam_mkhomedir module from pam-modules to make this happen instead of
46 using libpam-mklocaluser. A setup for pam-auth-update to enable
47 pam_mkhomedir will have to be written until a fix for
48 <a href="http://bugs.debian.org/568577">bug #568577</a> is in the
49 archive. Because I believe it is a bad idea to have local home
50 directories using misleading paths like /site/server/partition/, I
51 prefer to create a local user with the home directory in /home/. This
52 is done using the libpam-mklocaluser package.</p>
53
54 <p>These packages need to be installed and configured</p>
55
56 <blockquote><pre>
57 libnss-ldapd libpam-ldapd nscd libpam-ccreds libpam-mklocaluser
58 </pre></blockquote>
59
60 <p>The ldapd packages will ask for LDAP connection information, and
61 one have to fill in the values that fits ones own site. Make sure the
62 PAM part uses encrypted connections, to make sure the password is not
63 sent in clear text to the LDAP server. I've been unable to get TLS
64 certificate checking for a self signed certificate working, which make
65 LDAP authentication unsafe for Debian Edu (nslcd is not checking if it
66 is talking to the correct LDAP server), and very much welcome feedback
67 on how to get this working.</p>
68
69 <p>Because nscd do not have a default configuration fit for offline
70 caching until <a href="http://bugs.debian.org/485282">bug #485282</a>
71 is fixed, this configuration should be used instead of the one
72 currently in /etc/nscd.conf. The changes are in the fields
73 reload-count and positive-time-to-live, and is based on the
74 instructions I found in the
75 <a href="http://www.flyn.org/laptopldap/">LDAP for Mobile Laptops</a>
76 instructions by Flyn Computing.</p>
77
78 <blockquote><pre>
79 debug-level 0
80 reload-count unlimited
81 paranoia no
82
83 enable-cache passwd yes
84 positive-time-to-live passwd 2592000
85 negative-time-to-live passwd 20
86 suggested-size passwd 211
87 check-files passwd yes
88 persistent passwd yes
89 shared passwd yes
90 max-db-size passwd 33554432
91 auto-propagate passwd yes
92
93 enable-cache group yes
94 positive-time-to-live group 2592000
95 negative-time-to-live group 20
96 suggested-size group 211
97 check-files group yes
98 persistent group yes
99 shared group yes
100 max-db-size group 33554432
101 auto-propagate group yes
102
103 enable-cache hosts no
104 positive-time-to-live hosts 2592000
105 negative-time-to-live hosts 20
106 suggested-size hosts 211
107 check-files hosts yes
108 persistent hosts yes
109 shared hosts yes
110 max-db-size hosts 33554432
111
112 enable-cache services yes
113 positive-time-to-live services 2592000
114 negative-time-to-live services 20
115 suggested-size services 211
116 check-files services yes
117 persistent services yes
118 shared services yes
119 max-db-size services 33554432
120 </pre></blockquote>
121
122 <p>While we wait for a mechanism to update /etc/nsswitch.conf
123 automatically like the one provided in
124 <a href="http://bugs.debian.org/496915">bug #496915</a>, the file
125 content need to be manually replaced to ensure LDAP is used as the
126 directory service on the machine. /etc/nsswitch.conf should normally
127 look like this:</p>
128
129 <blockquote><pre>
130 passwd: files ldap
131 group: files ldap
132 shadow: files ldap
133 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
134 networks: files
135 protocols: files
136 services: files
137 ethers: files
138 rpc: files
139 netgroup: files ldap
140 </pre></blockquote>
141
142 <p>The important parts are that ldap is listed last for passwd, group,
143 shadow and netgroup.</p>
144
145 <p>With these changes in place, any user in LDAP will be able to log
146 in locally on the machine using for example kdm, get a local home
147 directory created and have the password as well as user and group
148 attributes cached.
149
150 <h2>LDAP/Kerberos + nss-updatedb + libpam-ccreds +
151 libpam-mklocaluser/pam_mkhomedir</h2>
152
153 <p>Because nscd have had its share of problems, and seem to have
154 problems doing proper caching, I've seen suggestions and recipes to
155 use nss-updatedb to copy parts of the LDAP database locally when the
156 LDAP database is available. I have not tested such setup, because I
157 discovered sssd.</p>
158
159 <h2>LDAP/Kerberos + sssd + libpam-mklocaluser</h2>
160
161 <p>A more flexible and robust setup than the nscd combination
162 mentioned earlier that has shown up recently, is the
163 <a href="https://fedorahosted.org/sssd/">sssd</a> package from Redhat.
164 It is part of the <a href="http://www.freeipa.org/">FreeIPA</A> project
165 to provide a Active Directory like directory service for Linux
166 machines. The sssd system combines the caching of passwords and user
167 information into one package, and remove the need for nscd and
168 libpam-ccreds. It support LDAP and Kerberos, but not NIS. Version
169 1.2 do not support netgroups, but it is said that it will support this
170 in version 1.5 expected to show up later in 2010. Because the
171 <a href="http://packages.qa.debian.org/s/sssd.html">sssd package</a>
172 was missing in Debian, I ended up co-maintaining it with Werner, and
173 version 1.2 is now in testing.
174
175 <p>These packages need to be installed and configured to get the
176 roaming setup I want</p>
177
178 <blockquote><pre>
179 libpam-sss libnss-sss libpam-mklocaluser
180 </pre></blockquote>
181
182 The complete setup of sssd is done by editing/creating
183 <tt>/etc/sssd/sssd.conf</tt>.
184
185 <blockquote><pre>
186 [sssd]
187 config_file_version = 2
188 reconnection_retries = 3
189 sbus_timeout = 30
190 services = nss, pam
191 domains = INTERN
192
193 [nss]
194 filter_groups = root
195 filter_users = root
196 reconnection_retries = 3
197
198 [pam]
199 reconnection_retries = 3
200
201 [domain/INTERN]
202 enumerate = false
203 cache_credentials = true
204
205 id_provider = ldap
206 auth_provider = ldap
207 chpass_provider = ldap
208
209 ldap_uri = ldap://ldap
210 ldap_search_base = dc=skole,dc=skolelinux,dc=no
211 ldap_tls_reqcert = never
212 ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
213 </pre></blockquote>
214
215 <p>I got the same problem here with certificate checking. Had to set
216 "ldap_tls_reqcert = never" to get it working.</p>
217
218 <p>With the libnss-sss package in testing at the moment, the
219 nsswitch.conf file is update automatically, so there is no need to
220 modify it manually.</p>
221
222 <p>If you want to help out with implementing this for Debian Edu,
223 please contact us on debian-edu@lists.debian.org.</p>
224 </div>
225 <div class="tags">
226
227
228
229 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>.
230
231 </div>
232 </div>
233 <div class="padding"></div>
234
235 <div class="entry">
236 <div class="title"><a href="http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html">LUMA, a very nice LDAP GUI</a></div>
237 <div class="date">2010-06-28 00:30</div>
238 <div class="body">
239 <p>The last few days I have been looking into the status of the LDAP
240 directory in Debian Edu, and in the process I started to miss a GUI
241 tool to browse the LDAP tree. The only one I was able to find in
242 Debian/Squeeze and Lenny is
243 <a href="http://luma.sourceforge.net/">LUMA</a>, which has proved to
244 be a great tool to get a overview of the current LDAP directory
245 populated by default in Skolelinux. Thanks to it, I have been able to
246 find empty and obsolete subtrees, misplaced objects and duplicate
247 objects. It will be installed by default in Debian/Squeeze. If you
248 are working with LDAP, give it a go. :)</p>
249
250 <p>I did notice one problem with it I have not had time to report to
251 the BTS yet. There is no .desktop file in the package, so the tool do
252 not show up in the Gnome and KDE menus, but only deep down in in the
253 Debian submenu in KDE. I hope that can be fixed before Squeeze is
254 released.</p>
255
256 <p>I have not yet been able to get it to modify the tree yet. I would
257 like to move objects and remove subtrees directly in the GUI, but have
258 not found a way to do that with LUMA yet. So in the mean time, I use
259 <a href="http://www.lichteblau.com/ldapvi/">ldapvi</a> for that.</p>
260
261 <p>If you have tips on other GUI tools for LDAP that might be useful
262 in Debian Edu, please contact us on debian-edu@lists.debian.org.</p>
263
264 <p>Update 2010-06-29: Ross Reedstrom tipped us about the
265 <a href="http://packages.qa.debian.org/g/gq.html">gq</a> package as a
266 useful GUI alternative. It seem like a good tool, but is unmaintained
267 in Debian and got a RC bug keeping it out of Squeeze. Unless that
268 changes, it will not be an option for Debian Edu based on Squeeze.</p>
269 </div>
270 <div class="tags">
271
272
273
274 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/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
275
276 </div>
277 </div>
278 <div class="padding"></div>
279
280 <div class="entry">
281 <div class="title"><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">Idea for a change to LDAP schemas allowing DNS and DHCP info to be combined into one object</a></div>
282 <div class="date">2010-06-24 00:35</div>
283 <div class="body">
284 <p>A while back, I
285 <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">complained
286 about the fact</a> that it is not possible with the provided schemas
287 for storing DNS and DHCP information in LDAP to combine the two sets
288 of information into one LDAP object representing a computer.</p>
289
290 <p>In the mean time, I discovered that a simple fix would be to make
291 the dhcpHost object class auxiliary, to allow it to be combined with
292 the dNSDomain object class, and thus forming one object for one
293 computer when storing both DHCP and DNS information in LDAP.</p>
294
295 <p>If I understand this correctly, it is not safe to do this change
296 without also changing the assigned number for the object class, and I
297 do not know enough about LDAP schema design to do that properly for
298 Debian Edu.</p>
299
300 <p>Anyway, for future reference, this is how I believe we could change
301 the
302 <a href="http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00">DHCP
303 schema</a> to solve at least part of the problem with the LDAP schemas
304 available today from IETF.</p>
305
306 <pre>
307 --- dhcp.schema (revision 65192)
308 +++ dhcp.schema (working copy)
309 @@ -376,7 +376,7 @@
310 objectclass ( 2.16.840.1.113719.1.203.6.6
311 NAME 'dhcpHost'
312 DESC 'This represents information about a particular client'
313 - SUP top
314 + SUP top AUXILIARY
315 MUST cn
316 MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
317 X-NDS_CONTAINMENT ('dhcpService' 'dhcpSubnet' 'dhcpGroup') )
318 </pre>
319
320 <p>I very much welcome clues on how to do this properly for Debian
321 Edu/Squeeze. We provide the DHCP schema in our debian-edu-config
322 package, and should thus be free to rewrite it as we see fit.</p>
323
324 <p>If you want to help out with implementing this for Debian Edu,
325 please contact us on debian-edu@lists.debian.org.</p>
326 </div>
327 <div class="tags">
328
329
330
331 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/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
332
333 </div>
334 </div>
335 <div class="padding"></div>
336
337 <div class="entry">
338 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html">Calling tasksel like the installer, while still getting useful output</a></div>
339 <div class="date">2010-06-16 14:55</div>
340 <div class="body">
341 <p>A few times I have had the need to simulate the way tasksel
342 installs packages during the normal debian-installer run. Until now,
343 I have ended up letting tasksel do the work, with the annoying problem
344 of not getting any feedback at all when something fails (like a
345 conffile question from dpkg or a download that fails), using code like
346 this:
347
348 <blockquote><pre>
349 export DEBIAN_FRONTEND=noninteractive
350 tasksel --new-install
351 </pre></blockquote>
352
353 This would invoke tasksel, let its automatic task selection pick the
354 tasks to install, and continue to install the requested tasks without
355 any output what so ever.
356
357 Recently I revisited this problem while working on the automatic
358 package upgrade testing, because tasksel would some times hang without
359 any useful feedback, and I want to see what is going on when it
360 happen. Then it occured to me, I can parse the output from tasksel
361 when asked to run in test mode, and use that aptitude command line
362 printed by tasksel then to simulate the tasksel run. I ended up using
363 code like this:
364
365 <blockquote><pre>
366 export DEBIAN_FRONTEND=noninteractive
367 cmd="$(in_target tasksel -t --new-install | sed 's/debconf-apt-progress -- //')"
368 $cmd
369 </pre></blockquote>
370
371 <p>The content of $cmd is typically something like "<tt>aptitude -q
372 --without-recommends -o APT::Install-Recommends=no -y install
373 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
374 ~pimportant</tt>", which will install the gnome desktop task, the
375 laptop task and all packages with priority standard , required and
376 important, just like tasksel would have done it during
377 installation.</p>
378
379 <p>A better approach is probably to extend tasksel to be able to
380 install packages without using debconf-apt-progress, for use cases
381 like this.</p>
382 </div>
383 <div class="tags">
384
385
386
387 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>.
388
389 </div>
390 </div>
391 <div class="padding"></div>
392
393 <div class="entry">
394 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Vinmonopolet_bryter_loven___penlyst___og_flere_planlegger____gj__re_det_samme.html">Vinmonopolet bryter loven åpenlyst - og flere planlegger å gjøre det samme</a></div>
395 <div class="date">2010-06-16 11:00</div>
396 <div class="body">
397 <p><a href="http://www.dagbladet.no/2010/06/16/nyheter/innenriks/streik/arbeidsliv/12157858/">Dagbladet
398 melder</a> at Vinmonopolet med bakgrunn i vekterstreiken som pågår i
399 Norge for tiden, har bestemt seg for med vitende og vilje å bryte
400 sentralbanklovens paragraf 14 ved å nekte folk å betale med
401 kontanter, og at flere butikker planlegger å følge deres eksempel.
402 Jeg synes det er hårreisende hvis de slipper unna med et slikt
403 soleklart lovbrudd, og lurer på hva slags muligheter jeg vil ha hvis
404 jeg blir nektet å handle med kontanter. Jeg handler i hovedsak med
405 kontanter selv, da jeg anser det som en borgerrett å kunne handle
406 anonymt uten at det blir registrert. For meg er det et angrep på mitt
407 personvern å nekte å ta imot kontant betaling.</p>
408
409 <p><a href="http://www.lovdata.no/all/tl-19850524-028-003.html#14">Paragrafen
410 i sentralbankloven</a> lyder:</p>
411
412 <blockquote>
413 <p>§ 14. Tvungent betalingsmiddel</p>
414
415 <p>Bankens sedler og mynter er tvungent betalingsmiddel i Norge. Ingen
416 er pliktig til i én betaling å ta imot mer enn femogtyve mynter av
417 hver enhet.</p>
418
419 <p>Sterkt skadde sedler og mynter er ikke tvungent
420 betalingsmiddel. Banken gir nærmere forskrifter om erstatning for
421 bortkomne, brente eller skadde sedler og mynter.</p>
422
423 <p>Selv om en avtale inneholder klausul om betaling av en
424 pengeforpliktelse i gullverdi, kan skyldneren frigjøre seg med tvungne
425 betalingsmidler uten hensyn til denne klausul.</p>
426 </blockquote>
427
428 <p>Det er med bakgrunn i denne lovet ikke tillatt å nekte å ta imot
429 kontakt betaling. Det er en lov jeg har sans for, og som jeg mener må
430 håndheves strengt.</p>
431 </div>
432 <div class="tags">
433
434
435
436 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>.
437
438 </div>
439 </div>
440 <div class="padding"></div>
441
442 <div class="entry">
443 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html">Officeshots taking shape</a></div>
444 <div class="date">2010-06-13 11:40</div>
445 <div class="body">
446 <p>For those of us caring about document exchange and
447 interoperability, <a href="http://www.officeshots.org/">OfficeShots</a>
448 is a great service. It is to ODF documents what
449 <a href="http://browsershots.org/">BrowserShots</a> is for web
450 pages.</p>
451
452 <p>A while back, I was contacted by Knut Yrvin at the part of Nokia
453 that used to be Trolltech, who wanted to help the OfficeShots project
454 and wondered if the University of Oslo where I work would be
455 interested in supporting the project. I helped him to navigate his
456 request to the right people at work, and his request was answered with
457 a spot in the machine room with power and network connected, and Knut
458 arranged funding for a machine to fill the spot. The machine is
459 administrated by the OfficeShots people, so I do not have daily
460 contact with its progress, and thus from time to time check back to
461 see how the project is doing.</p>
462
463 <p>Today I had a look, and was happy to see that the Dell box in our
464 machine room now is the host for several virtual machines running as
465 OfficeShots factories, and the project is able to render ODF documents
466 in 17 different document processing implementation on Linux and
467 Windows. This is great.</p>
468 </div>
469 <div class="tags">
470
471
472
473 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
474
475 </div>
476 </div>
477 <div class="padding"></div>
478
479 <div class="entry">
480 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html">Lenny->Squeeze upgrades, removals by apt and aptitude</a></div>
481 <div class="date">2010-06-13 09:05</div>
482 <div class="body">
483 <p>My
484 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">testing
485 of Debian upgrades</a> from Lenny to Squeeze continues, and I've
486 finally made the upgrade logs available from
487 <a href="http://people.skolelinux.org/pere/debian-upgrade-testing/">http://people.skolelinux.org/pere/debian-upgrade-testing/</a>.
488 I am now testing dist-upgrade of Gnome and KDE in a chroot using both
489 apt and aptitude, and found their differences interesting. This time
490 I will only focus on their removal plans.</p>
491
492 <p>After installing a Gnome desktop and the laptop task, apt-get wants
493 to remove 72 packages when dist-upgrading from Lenny to Squeeze. The
494 surprising part is that it want to remove xorg and all
495 xserver-xorg-video* drivers. Clearly not a good choice, but I am not
496 sure why. When asking aptitude to do the same, it want to remove 129
497 packages, but most of them are library packages I suspect are no
498 longer needed. Both of them want to remove bluetooth packages, which
499 I do not know. Perhaps these bluetooth packages are obsolete?</p>
500
501 <p>For KDE, apt-get want to remove 82 packages, among them kdebase
502 which seem like a bad idea and xorg the same way as with Gnome. Asking
503 aptitude for the same, it wants to remove 192 packages, none which are
504 too surprising.</p>
505
506 <p>I guess the removal of xorg during upgrades should be investigated
507 and avoided, and perhaps others as well. Here are the complete list
508 of planned removals. The complete logs is available from the URL
509 above. Note if you want to repeat these tests, that the upgrade test
510 for kde+apt-get hung in the tasksel setup because of dpkg asking
511 conffile questions. No idea why. I worked around it by using
512 '<tt>echo >> /proc/<em>pidofdpkg</em>/fd/0</tt>' to tell dpkg to
513 continue.</p>
514
515 <p><b>apt-get gnome 72</b>
516 <br>bluez-gnome cupsddk-drivers deskbar-applet gnome
517 gnome-desktop-environment gnome-network-admin gtkhtml3.14
518 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0
519 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
520 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
521 serpentine swfdec-mozilla update-manager xorg xserver-xorg
522 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
523 xserver-xorg-input-kbd xserver-xorg-input-mouse
524 xserver-xorg-input-synaptics xserver-xorg-input-wacom
525 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
526 xserver-xorg-video-ati xserver-xorg-video-chips
527 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
528 xserver-xorg-video-dummy xserver-xorg-video-fbdev
529 xserver-xorg-video-glint xserver-xorg-video-i128
530 xserver-xorg-video-i740 xserver-xorg-video-imstt
531 xserver-xorg-video-intel xserver-xorg-video-mach64
532 xserver-xorg-video-mga xserver-xorg-video-neomagic
533 xserver-xorg-video-nsc xserver-xorg-video-nv
534 xserver-xorg-video-openchrome xserver-xorg-video-r128
535 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
536 xserver-xorg-video-rendition xserver-xorg-video-s3
537 xserver-xorg-video-s3virge xserver-xorg-video-savage
538 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
539 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
540 xserver-xorg-video-tga xserver-xorg-video-trident
541 xserver-xorg-video-tseng xserver-xorg-video-v4l
542 xserver-xorg-video-vesa xserver-xorg-video-vga
543 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9
544 xulrunner-1.9-gnome-support</p>
545
546 <p><b>aptitude gnome 129</b>
547
548 <br>bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd
549 djvulibre-desktop finger gnome-app-install gnome-mount
550 gnome-network-admin gnome-spell gnome-vfs-obexftp
551 gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
552 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
553 libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
554 libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20
555 libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common
556 libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common
557 libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0
558 libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0
559 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
560 libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0
561 libgtksourceview-common libgtksourceview1.0-0 libgucharmap6
562 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10
563 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
564 libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2
565 libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10
566 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8
567 libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1
568 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10
569 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
570 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
571 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
572 openoffice.org-writer2latex openssl-blacklist p7zip
573 python-4suite-xml python-eggtrayicon python-gnome2-desktop
574 python-gnome2-extras python-gtkhtml2 python-gtkmozembed
575 python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
576 swfdec-mozilla totem-gstreamer update-manager wodim
577 xserver-xorg-video-cyrix xserver-xorg-video-imstt
578 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
579 zip</p>
580
581 <p><b>apt-get kde 82</b>
582
583 <br>cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
584 kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
585 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
586 kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
587 kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
588 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
589 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
590 xserver-xorg-input-kbd xserver-xorg-input-mouse
591 xserver-xorg-input-synaptics xserver-xorg-input-wacom
592 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
593 xserver-xorg-video-ati xserver-xorg-video-chips
594 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
595 xserver-xorg-video-dummy xserver-xorg-video-fbdev
596 xserver-xorg-video-glint xserver-xorg-video-i128
597 xserver-xorg-video-i740 xserver-xorg-video-imstt
598 xserver-xorg-video-intel xserver-xorg-video-mach64
599 xserver-xorg-video-mga xserver-xorg-video-neomagic
600 xserver-xorg-video-nsc xserver-xorg-video-nv
601 xserver-xorg-video-openchrome xserver-xorg-video-r128
602 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
603 xserver-xorg-video-rendition xserver-xorg-video-s3
604 xserver-xorg-video-s3virge xserver-xorg-video-savage
605 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
606 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
607 xserver-xorg-video-tga xserver-xorg-video-trident
608 xserver-xorg-video-tseng xserver-xorg-video-v4l
609 xserver-xorg-video-vesa xserver-xorg-video-vga
610 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9</p>
611
612 <p><b>aptitude kde 192</b>
613 <br>bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd
614 djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
615 ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
616 kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
617 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
618 kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
619 kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
620 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
621 kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
622 kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
623 kghostview khelpcenter khexedit kiconedit kitchensync klatin
624 klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
625 kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
626 krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
627 ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
628 kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
629 kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
630 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
631 libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2
632 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
633 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
634 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0
635 libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
636 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
637 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
638 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
639 libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
640 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2
641 libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools
642 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
643 libxerces2-java-gcj libxtrap6 mpeglib networkstatus
644 openoffice.org-writer2latex pmount poster psutils quanta quanta-data
645 superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
646 texlive-common texlive-doc-base texlive-fonts-recommended
647 xserver-xorg-video-cyrix xserver-xorg-video-imstt
648 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
649 xulrunner-1.9</p>
650
651 </div>
652 <div class="tags">
653
654
655
656 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>.
657
658 </div>
659 </div>
660 <div class="padding"></div>
661
662 <div class="entry">
663 <div class="title"><a href="http://people.skolelinux.org/pere/blog/__pne_tr__dl__snett_er_et_samfunnsgode.html">Åpne trådløsnett er et samfunnsgode</a></div>
664 <div class="date">2010-06-12 12:45</div>
665 <div class="body">
666 <p>Veldig glad for å oppdage via
667 <a href="http://yro.slashdot.org/story/10/06/11/1841256/Finland-To-Legalize-Use-of-Unsecured-Wi-Fi">Slashdot</a>
668 at folk i Finland har forstått at åpne trådløsnett er et samfunnsgode.
669 Jeg ser på åpne trådløsnett som et fellesgode på linje med retten til
670 ferdsel i utmark og retten til å bevege seg i strandsonen. Jeg har
671 glede av åpne trådløsnett når jeg finner dem, og deler gladelig nett
672 med andre så lenge de ikke forstyrrer min bruk av eget nett.
673 Nettkapasiteten er sjelden en begrensning ved normal browsing og enkel
674 SSH-innlogging (som er min vanligste nettbruk), og nett kan brukes til
675 så mye positivt og nyttig (som nyhetslesing, sjekke været, kontakte
676 slekt og venner, holde seg oppdatert om politiske saker, kontakte
677 organisasjoner og politikere, etc), at det for meg er helt urimelig å
678 blokkere dette for alle som ikke gjør en flue fortred. De som mener
679 at potensialet for misbruk er grunn nok til å hindre all den positive
680 og lovlydige bruken av et åpent trådløsnett har jeg dermed ingen
681 forståelse for. En kan ikke eksistensen av forbrytere styre hvordan
682 samfunnet skal organiseres. Da får en et kontrollsamfunn de færreste
683 ønsker å leve i, og det at vi har et samfunn i Norge der tilliten til
684 hverandre er høy gjør at samfunnet fungerer ganske godt. Det bør vi
685 anstrenge oss for å beholde.</p>
686 </div>
687 <div class="tags">
688
689
690
691 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling</a>, <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>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
692
693 </div>
694 </div>
695 <div class="padding"></div>
696
697 <div class="entry">
698 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">Automatic upgrade testing from Lenny to Squeeze</a></div>
699 <div class="date">2010-06-11 22:50</div>
700 <div class="body">
701 <p>The last few days I have done some upgrade testing in Debian, to
702 see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs
703 have been discovered and reported in the process
704 (<a href="http://bugs.debian.org/585410">#585410</a> in nagios3-cgi,
705 <a href="http://bugs.debian.org/584879">#584879</a> already fixed in
706 enscript and <a href="http://bugs.debian.org/584861">#584861</a> in
707 kdebase-workspace-data), and to get a more regular testing going on, I
708 am working on a script to automate the test.</p>
709
710 <p>The idea is to create a Lenny chroot and use tasksel to install a
711 Gnome or KDE desktop installation inside the chroot before upgrading
712 it. To ensure no services are started in the chroot, a policy-rc.d
713 script is inserted. To make sure tasksel believe it is to install a
714 desktop on a laptop, the tasksel tests are replaced in the chroot
715 (only acceptable because this is a throw-away chroot).</p>
716
717 <p>A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
718 currently always fail because udev refuses to upgrade with the kernel
719 in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
720 is created. The bug report
721 <a href="http://bugs.debian.org/566000">#566000</a> make me suspect
722 this problem do not trigger in a chroot, but I touch the file anyway
723 to make sure the upgrade go well. Testing on virtual and real
724 hardware have failed me because of udev so far, and creating this file
725 do the trick in such settings anyway. This is a
726 <a href="http://www.linuxquestions.org/questions/debian-26/failed-dist-upgrade-due-to-udev-config_sysfs_deprecated-nonsense-804130/">known
727 issue</a> and the current udev behaviour is intended by the udev
728 maintainer because he lack the resources to rewrite udev to keep
729 working with old kernels or something like that. I really wish the
730 udev upstream would keep udev backwards compatible, to avoid such
731 upgrade problem, but given that they fail to do so, I guess
732 documenting the way out of this mess is the best option we got for
733 Debian Squeeze.</p>
734
735 <p>Anyway, back to the task at hand, testing upgrades. This test
736 script, which I call <tt>upgrade-test</tt> for now, is doing the
737 trick:</p>
738
739 <blockquote><pre>
740 #!/bin/sh
741 set -ex
742
743 if [ "$1" ] ; then
744 desktop=$1
745 else
746 desktop=gnome
747 fi
748
749 from=lenny
750 to=squeeze
751
752 exec &lt; /dev/null
753 unset LANG
754 mirror=http://ftp.skolelinux.org/debian
755 tmpdir=chroot-$from-upgrade-$to-$desktop
756 fuser -mv .
757 debootstrap $from $tmpdir $mirror
758 chroot $tmpdir aptitude update
759 cat > $tmpdir/usr/sbin/policy-rc.d &lt;&lt;EOF
760 #!/bin/sh
761 exit 101
762 EOF
763 chmod a+rx $tmpdir/usr/sbin/policy-rc.d
764 exit_cleanup() {
765 umount $tmpdir/proc
766 }
767 mount -t proc proc $tmpdir/proc
768 # Make sure proc is unmounted also on failure
769 trap exit_cleanup EXIT INT
770
771 chroot $tmpdir aptitude -y install debconf-utils
772
773 # Make sure tasksel autoselection trigger. It need the test scripts
774 # to return the correct answers.
775 echo tasksel tasksel/desktop multiselect $desktop | \
776 chroot $tmpdir debconf-set-selections
777
778 # Include the desktop and laptop task
779 for test in desktop laptop ; do
780 echo > $tmpdir/usr/lib/tasksel/tests/$test &lt;&lt;EOF
781 #!/bin/sh
782 exit 2
783 EOF
784 chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
785 done
786
787 DEBIAN_FRONTEND=noninteractive
788 DEBIAN_PRIORITY=critical
789 export DEBIAN_FRONTEND DEBIAN_PRIORITY
790 chroot $tmpdir tasksel --new-install
791
792 echo deb $mirror $to main > $tmpdir/etc/apt/sources.list
793 chroot $tmpdir aptitude update
794 touch $tmpdir/etc/udev/kernel-upgrade
795 chroot $tmpdir aptitude -y dist-upgrade
796 fuser -mv
797 </pre></blockquote>
798
799 <p>I suspect it would be useful to test upgrades with both apt-get and
800 with aptitude, but I have not had time to look at how they behave
801 differently so far. I hope to get a cron job running to do the test
802 regularly and post the result on the web. The Gnome upgrade currently
803 work, while the KDE upgrade fail because of the bug in
804 kdebase-workspace-data</p>
805
806 <p>I am not quite sure what kind of extract from the huge upgrade logs
807 (KDE 167 KiB, Gnome 516 KiB) it make sense to include in this blog
808 post, so I will refrain from trying. I can report that for Gnome,
809 aptitude report 760 packages upgraded, 448 newly installed, 129 to
810 remove and 1 not upgraded and 1024MB need to be downloaded while for
811 KDE the same numbers are 702 packages upgraded, 507 newly installed,
812 193 to remove and 0 not upgraded and 1117MB need to be downloaded</p>
813
814 <p>I am very happy to notice that the Gnome desktop + laptop upgrade
815 is able to migrate to dependency based boot sequencing and parallel
816 booting without a hitch. Was unsure if there were still bugs with
817 packages failing to clean up their obsolete init.d script during
818 upgrades, and no such problem seem to affect the Gnome desktop+laptop
819 packages.</p>
820 </div>
821 <div class="tags">
822
823
824
825 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <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>.
826
827 </div>
828 </div>
829 <div class="padding"></div>
830
831 <div class="entry">
832 <div class="title"><a href="http://people.skolelinux.org/pere/blog/Skolelinux_er_laget_for_sentraldrifting__naturligvis.html">Skolelinux er laget for sentraldrifting, naturligvis</a></div>
833 <div class="date">2010-06-09 12:30</div>
834 <div class="body">
835 <p>Det er merkelig hvordan myter om Skolelinux overlever. En slik
836 myte er at Skolelinux ikke kan sentraldriftes og ha sentralt plasserte
837 tjenermaskiner. I siste Computerworld Norge er
838 <a href="http://www.idg.no/computerworld/article169432.ece">IT-sjef
839 Viggo Billdal i Steinkjer intervjuet</a>, og forteller uten
840 blygsel:</p>
841
842 <blockquote><p>Vi hadde Skolelinux, men det har vi sluttet med. Vi testet
843 om det lønte seg med Microsoft eller en åpen plattform. Vi fant ut at
844 Microsoft egentlig var totalt sett bedre egnet. Det var store
845 driftskostnader med Skolelinux, blant annet på grunn av
846 desentraliserte servere. Det var komplisert, så vi gikk vekk fra det
847 og bruker nå bare Windows.</p></blockquote>
848
849 <p>En <a
850 href="https://init.linpro.no/pipermail/skolelinux.no/bruker/2010-June/009101.html">rask
851 sjekk</a> mot den norske brukerlista i Skolelinuxprosjektet forteller
852 at Steinkjers forsøk foregikk fram til 2004/2005, og at Røysing skole
853 i Steinkjer skal ha vært svært fornøyd med Skolelinux men at kommunen
854 overkjørte skolen og krevde at de gikk over til Windows. Et søk på
855 nettet sendte meg til
856 <a href="http://www.dn.no/multimedia/archive/00090/Dagens_it_nr__18_90826a.pdf">Dagens
857 IT nr. 18 2005</a> hvor en kan lese på side 18:</p>
858
859 <blockquote><p>Inge Tømmerås ved Røysing skole i Steinkjer kjører ennå
860 Microsoft, men forteller at kompetanseutfordringen med Skolelinux ikke
861 var så stor. ­ Jeg syntes Skolelinux var utrolig lett å drifte uten
862 forkunnskaper. Men man må jo selvsagt ha tilgang på ekstern kompetanse
863 til installasjoner og maskinvarefeil, sier Tømmerås.</p></blockquote>
864
865 <p>Som systemarkitekten bak Skolelinux, kan jeg bare riste på hodet
866 over påstanden om at Skolelinux krever desentraliserte tjenere.
867 Skolelinux-arkitekturen er laget for sentralisert drift og plassering
868 av tjenerne lokalt eller sentralt alt etter behov og nettkapasitet.
869 Den er modellert på nettverks- og tjenerløsningen som brukes på
870 Universitetet i Tromsø og Oslo, der jeg jobber med utvikling av
871 driftstjenester. Dette er det heldigvis noen som har fått med seg, og
872 jeg er glad for å kunne sitere fra en kommentar på den overnevnte
873 artikkelen. Min venn og gamle kollega Sturle Sunde forteller der:
874
875 <blockquote>
876 <p>I Flora kommune køyrer vi Skulelinux på skular med alt frå 15 til
877 meir enn 500 elevar. Dei store skulane har eigen tenar, for det er
878 mest praktisk. Eg, som er driftsansvarleg for heile nettet, ser
879 sjeldan dei tenarane fysisk, men at dei står der gjer skulane mindre
880 avhengige av eksterne linjer som er trege eller dyre. Dei minste
881 skulane har ikkje eigen tenar. Å bruke sentral tenar er heller ikkje
882 noko problem. Småskulane klarar seg fint med 1 mbit-linje til ein
883 sentral tenar eller tenaren på ein større skule.</p>
884
885 <p>Det beste med Skulelinux er halvtjukke klientar. Dei treng ikkje
886 harddisk og brukar minimalt med ressursar på tenaren fordi dei køyrer
887 programma lokalt. Eit klasserom med 30 sju-åtte år gamle maskiner har
888 mykje meir CPU og RAM totalt enn nokon moderne tenar til under
889 millionen. Det trengst to kommandoar på den sentrale tenaren for å
890 oppdatere alle klientane, både tynne og halvtjukke. Vi har ingen
891 problem med diskar som ryk heller, som var eit problem før fordi
892 elevane sat og sparka i maskinene. Og dei krev lite bandbreidde i
893 nettet, so det er fullt mogleg å køyre slike på småskular med trege
894 linjer mot tenaren på ein større skule.</p>
895
896 <p>Flora kommune har nesten 800 Linux-maskiner i sitt skulenett, og
897 ein person som tek seg av drift av heile nettet, inkludert tenarar,
898 klientar, operativsystem, programvare, heimekontorløysing og
899 administrasjon av brukarar.</p>
900
901 <p>No skal det seiast at vi ikkje køyrer rein Skulelinux ut av
902 boksen. Vi har gjort ein del tilpassingar mot noko Novell-greier som
903 var der frå før, og som har komplisert installasjonen vår. Etter at
904 oppsettet var gjort har løysinga vore stabil og kravd minimalt med
905 arbeid.</p>
906 </blockquote>
907
908 <p>Jeg vet at Narvik, Harstad og Oslo er kommuner der Skolelinux
909 sentraldriftes med sentrale tjenere. Det forteller meg at Steinkjers
910 IT-sjef neppe bør skylde på Skolelinux-løsningen for sine 5 år gamle
911 minner.</p>
912 </div>
913 <div class="tags">
914
915
916
917 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
918
919 </div>
920 </div>
921 <div class="padding"></div>
922
923 <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>
924
925 <div id="sidebar">
926
927
928
929
930
931 <h2>Archive</h2>
932 <ul>
933
934 <li>2010
935 <ul>
936
937 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
938
939 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
940
941 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
942
943 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
944
945 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
946
947 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
948
949 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (1)</a></li>
950
951 </ul></li>
952
953 <li>2009
954 <ul>
955
956 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
957
958 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
959
960 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
961
962 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
963
964 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
965
966 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
967
968 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
969
970 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
971
972 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
973
974 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
975
976 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
977
978 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
979
980 </ul></li>
981
982 <li>2008
983 <ul>
984
985 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
986
987 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
988
989 </ul></li>
990
991 </ul>
992
993
994
995 <h2>Tags</h2>
996 <ul>
997
998 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (11)</a></li>
999
1000 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
1001
1002 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
1003
1004 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (10)</a></li>
1005
1006 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (29)</a></li>
1007
1008 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (29)</a></li>
1009
1010 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (42)</a></li>
1011
1012 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (1)</a></li>
1013
1014 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (7)</a></li>
1015
1016 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (2)</a></li>
1017
1018 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (3)</a></li>
1019
1020 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (1)</a></li>
1021
1022 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
1023
1024 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (5)</a></li>
1025
1026 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (69)</a></li>
1027
1028 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (80)</a></li>
1029
1030 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (13)</a></li>
1031
1032 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (13)</a></li>
1033
1034 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (10)</a></li>
1035
1036 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
1037
1038 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (9)</a></li>
1039
1040 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (3)</a></li>
1041
1042 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (13)</a></li>
1043
1044 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (1)</a></li>
1045
1046 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (10)</a></li>
1047
1048 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (1)</a></li>
1049
1050 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (6)</a></li>
1051
1052 </ul>
1053
1054 </div>
1055
1056 <p style="text-align: right">
1057 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v3.7</a>
1058 </p>
1059 </body>
1060 </html>