]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2014/09/index.html
Generated.
[homepage.git] / blog / archive / 2014 / 09 / 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 xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: entries from September 2014</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel="alternate" title="RSS Feed" href="09.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <!-- XML FEED -->
13 <div class="title">
14 <h1>
15 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
16
17 </h1>
18
19 </div>
20
21
22 <h3>Entries from September 2014.</h3>
23
24 <div class="entry">
25 <div class="title">
26 <a href="http://people.skolelinux.org/pere/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html">How to test Debian Edu Jessie despite some fatal problems with the installer</a>
27 </div>
28 <div class="date">
29 26th September 2014
30 </div>
31 <div class="body">
32 <p>The <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
33 project</a> provide a Linux solution for schools, including a
34 powerful desktop with education software, a central server providing
35 web pages, user database, user home directories, central login and PXE
36 boot of both clients without disk and the installation to install Debian
37 Edu on machines with disk (and a few other services perhaps to small
38 to mention here). We in the Debian Edu team are currently working on
39 the Jessie based version, trying to get everything in shape before the
40 freeze, to avoid having to maintain our own package repository in the
41 future. The
42 <a href="https://wiki.debian.org/DebianEdu/Status/Jessie">current
43 status</a> can be seen on the Debian wiki, and there is still heaps of
44 work left. Some fatal problems block testing, breaking the installer,
45 but it is possible to work around these to get anyway. Here is a
46 recipe on how to get the installation limping along.</p>
47
48 <p>First, download the test ISO via
49 <a href="ftp://ftp.skolelinux.no/cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso">ftp</a>,
50 <a href="http://ftp.skolelinux.no/cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso">http</a>
51 or rsync (use
52 ftp.skolelinux.org::cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso).
53 The ISO build was broken on Tuesday, so we do not get a new ISO every
54 12 hours or so, but thankfully the ISO we already got we are able to
55 install with some tweaking.</p>
56
57 <p>When you get to the Debian Edu profile question, go to tty2
58 (use Alt-Ctrl-F2), run</p>
59
60 <p><blockquote><pre>
61 nano /usr/bin/edu-eatmydata-install
62 </pre></blockquote></p>
63
64 <p>and add 'exit 0' as the second line, disabling the eatmydata
65 optimization. Return to the installation, select the profile you want
66 and continue. Without this change, exim4-config will fail to install
67 due to a known bug in eatmydata.</p>
68
69 <p>When you get the grub question at the end, answer /dev/sda (or if
70 this do not work, figure out what your correct value would be. All my
71 test machines need /dev/sda, so I have no advice if it do not fit
72 your need.</p>
73
74 <p>If you installed a profile including a graphical desktop, log in as
75 root after the initial boot from hard drive, and install the
76 education-desktop-XXX metapackage. XXX can be kde, gnome, lxde, xfce
77 or mate. If you want several desktop options, install more than one
78 metapackage. Once this is done, reboot and you should have a working
79 graphical login screen. This workaround should no longer be needed
80 once the education-tasks package version 1.801 enter testing in two
81 days.</p>
82
83 <p>I believe the ISO build will start working on two days when the new
84 tasksel package enter testing and Steve McIntyre get a chance to
85 update the debian-cd git repository. The eatmydata, grub and desktop
86 issues are already fixed in unstable and testing, and should show up
87 on the ISO as soon as the ISO build start working again. Well the
88 eatmydata optimization is really just disabled. The proper fix
89 require an upload by the eatmydata maintainer applying the patch
90 provided in bug <a href="https://bugs.debian.org/702711">#702711</a>.
91 The rest have proper fixes in unstable.</p>
92
93 <p>I hope this get you going with the installation testing, as we are
94 quickly running out of time trying to get our Jessie based
95 installation ready before the distribution freeze in a month.</p>
96
97 </div>
98 <div class="tags">
99
100
101 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>.
102
103
104 </div>
105 </div>
106 <div class="padding"></div>
107
108 <div class="entry">
109 <div class="title">
110 <a href="http://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html">Suddenly I am the new upstream of the lsdvd command line tool</a>
111 </div>
112 <div class="date">
113 25th September 2014
114 </div>
115 <div class="body">
116 <p>I use the <a href="https://sourceforge.net/p/lsdvd/">lsdvd tool</a>
117 to handle my fairly large DVD collection. It is a nice command line
118 tool to get details about a DVD, like title, tracks, track length,
119 etc, in XML, Perl or human readable format. But lsdvd have not seen
120 any new development since 2006 and had a few irritating bugs affecting
121 its use with some DVDs. Upstream seemed to be dead, and in January I
122 sent a small probe asking for a version control repository for the
123 project, without any reply. But I use it regularly and would like to
124 get <a href="https://packages.qa.debian.org/lsdvd">an updated version
125 into Debian</a>. So two weeks ago I tried harder to get in touch with
126 the project admin, and after getting a reply from him explaining that
127 he was no longer interested in the project, I asked if I could take
128 over. And yesterday, I became project admin.</p>
129
130 <p>I've been in touch with a Gentoo developer and the Debian
131 maintainer interested in joining forces to maintain the upstream
132 project, and I hope we can get a new release out fairly quickly,
133 collecting the patches spread around on the internet into on place.
134 I've added the relevant Debian patches to the freshly created git
135 repository, and expect the Gentoo patches to make it too. If you got
136 a DVD collection and care about command line tools, check out
137 <a href="https://sourceforge.net/p/lsdvd/git/ci/master/tree/">the git source</a> and join
138 <a href="https://sourceforge.net/p/lsdvd/mailman/">the project mailing
139 list</a>. :)</p>
140
141 </div>
142 <div class="tags">
143
144
145 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/lsdvd">lsdvd</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>.
146
147
148 </div>
149 </div>
150 <div class="padding"></div>
151
152 <div class="entry">
153 <div class="title">
154 <a href="http://people.skolelinux.org/pere/blog/Hva_henger_under_skibrua_over_E16_p__Sollih_gda_.html">Hva henger under skibrua over E16 på Sollihøgda?</a>
155 </div>
156 <div class="date">
157 21st September 2014
158 </div>
159 <div class="body">
160 <p>Rundt omkring i Oslo og Østlandsområdet henger det bokser over
161 veiene som jeg har lurt på hva gjør. De har ut fra plassering og
162 vinkling sett ut som bokser som sniffer ut et eller annet fra
163 forbipasserende trafikk, men det har vært uklart for meg hva det er de
164 leser av. Her om dagen tok jeg bilde av en slik boks som henger under
165 <a href="http://www.openstreetmap.no/?zoom=19&mlat=59.96396&mlon=10.34443&layers=B00000">ei
166 skibru på Sollihøgda</a>:</p>
167
168 <p align="center"><img width="60%" src="http://people.skolelinux.org/pere/blog/images/2014-09-13-kapsch-sollihogda-crop.jpeg"></p>
169
170 <p>Boksen er tydelig merket «Kapsch >>>», logoen til
171 <a href="http://www.kapsch.net/">det sveitsiske selskapet Kapsch</a> som
172 blant annet lager sensorsystemer for veitrafikk. Men de lager mye
173 forskjellig, og jeg kjente ikke igjen boksen på utseendet etter en
174 kjapp titt på produktlista til selskapet.</p>
175
176 <p>I og med at boksen henger over veien E16, en riksvei vedlikeholdt
177 av Statens Vegvesen, så antok jeg at det burde være mulig å bruke
178 REST-API-et som gir tilgang til vegvesenets database over veier,
179 skilter og annet veirelatert til å finne ut hva i alle dager dette
180 kunne være. De har både
181 <a href="https://www.vegvesen.no/nvdb/api/dokumentasjon/datakatalog">en
182 datakatalog</a> og
183 <a href="https://www.vegvesen.no/nvdb/api/dokumentasjon/sok">et
184 søk</a>, der en kan søke etter ulike typer oppføringer innen for et
185 gitt geografisk område. Jeg laget et enkelt shell-script for å hente
186 ut antall av en gitt type innenfor området skibrua dekker, og listet
187 opp navnet på typene som ble funnet. Orket ikke slå opp hvordan
188 URL-koding av aktuelle strenger kunne gjøres mer generisk, og brukte
189 en stygg sed-linje i stedet.</p>
190
191 <blockquote><pre>
192 #!/bin/sh
193 urlmap() {
194 sed \
195 -e 's/ / /g' -e 's/{/%7B/g' \
196 -e 's/}/%7D/g' -e 's/\[/%5B/g' \
197 -e 's/\]/%5D/g' -e 's/ /%20/g' \
198 -e 's/,/%2C/g' -e 's/\"/%22/g' \
199 -e 's/:/%3A/g'
200 }
201
202 lookup() {
203 url="$1"
204 curl -s -H 'Accept: application/vnd.vegvesen.nvdb-v1+xml' \
205 "https://www.vegvesen.no/nvdb/api$url" | xmllint --format -
206 }
207
208 for id in $(seq 1 874) ; do
209 search="{
210 lokasjon: {
211 bbox: \"10.34425,59.96386,10.34458,59.96409\",
212 srid: \"WGS84\"
213 },
214 objektTyper: [{
215 id: $id, antall: 10
216 }]
217 }"
218
219 query=/sok?kriterie=$(echo $search | urlmap)
220 if lookup "$query" |
221 grep -q '&lt;totaltAntallReturnert>0&lt;'
222 then
223 :
224 else
225 echo $id
226 lookup "/datakatalog/objekttyper/$id" |grep '^ &lt;navn>'
227 fi
228 done
229
230 exit 0
231 </pre></blockquote>
232
233 Aktuelt ID-område 1-874 var riktig i datakatalogen da jeg laget
234 scriptet. Det vil endre seg over tid. Skriptet listet så opp
235 aktuelle typer i og rundt skibrua:
236
237 <blockquote><pre>
238 5
239 &lt;navn>Rekkverk&lt;/navn>
240 14
241 &lt;navn>Rekkverksende&lt;/navn>
242 47
243 &lt;navn>Trafikklomme&lt;/navn>
244 49
245 &lt;navn>Trafikkøy&lt;/navn>
246 60
247 &lt;navn>Bru&lt;/navn>
248 79
249 &lt;navn>Stikkrenne/Kulvert&lt;/navn>
250 80
251 &lt;navn>Grøft, åpen&lt;/navn>
252 86
253 &lt;navn>Belysningsstrekning&lt;/navn>
254 95
255 &lt;navn>Skiltpunkt&lt;/navn>
256 96
257 &lt;navn>Skiltplate&lt;/navn>
258 98
259 &lt;navn>Referansestolpe&lt;/navn>
260 99
261 &lt;navn>Vegoppmerking, langsgående&lt;/navn>
262 105
263 &lt;navn>Fartsgrense&lt;/navn>
264 106
265 &lt;navn>Vinterdriftsstrategi&lt;/navn>
266 172
267 &lt;navn>Trafikkdeler&lt;/navn>
268 241
269 &lt;navn>Vegdekke&lt;/navn>
270 293
271 &lt;navn>Breddemåling&lt;/navn>
272 301
273 &lt;navn>Kantklippareal&lt;/navn>
274 318
275 &lt;navn>Snø-/isrydding&lt;/navn>
276 445
277 &lt;navn>Skred&lt;/navn>
278 446
279 &lt;navn>Dokumentasjon&lt;/navn>
280 452
281 &lt;navn>Undergang&lt;/navn>
282 528
283 &lt;navn>Tverrprofil&lt;/navn>
284 532
285 &lt;navn>Vegreferanse&lt;/navn>
286 534
287 &lt;navn>Region&lt;/navn>
288 535
289 &lt;navn>Fylke&lt;/navn>
290 536
291 &lt;navn>Kommune&lt;/navn>
292 538
293 &lt;navn>Gate&lt;/navn>
294 539
295 &lt;navn>Transportlenke&lt;/navn>
296 540
297 &lt;navn>Trafikkmengde&lt;/navn>
298 570
299 &lt;navn>Trafikkulykke&lt;/navn>
300 571
301 &lt;navn>Ulykkesinvolvert enhet&lt;/navn>
302 572
303 &lt;navn>Ulykkesinvolvert person&lt;/navn>
304 579
305 &lt;navn>Politidistrikt&lt;/navn>
306 583
307 &lt;navn>Vegbredde&lt;/navn>
308 591
309 &lt;navn>Høydebegrensning&lt;/navn>
310 592
311 &lt;navn>Nedbøyningsmåling&lt;/navn>
312 597
313 &lt;navn>Støy-luft, Strekningsdata&lt;/navn>
314 601
315 &lt;navn>Oppgravingsdata&lt;/navn>
316 602
317 &lt;navn>Oppgravingslag&lt;/navn>
318 603
319 &lt;navn>PMS-parsell&lt;/navn>
320 604
321 &lt;navn>Vegnormalstrekning&lt;/navn>
322 605
323 &lt;navn>Værrelatert strekning&lt;/navn>
324 616
325 &lt;navn>Feltstrekning&lt;/navn>
326 617
327 &lt;navn>Adressepunkt&lt;/navn>
328 626
329 &lt;navn>Friksjonsmåleserie&lt;/navn>
330 629
331 &lt;navn>Vegdekke, flatelapping&lt;/navn>
332 639
333 &lt;navn>Kurvatur, horisontalelement&lt;/navn>
334 640
335 &lt;navn>Kurvatur, vertikalelement&lt;/navn>
336 642
337 &lt;navn>Kurvatur, vertikalpunkt&lt;/navn>
338 643
339 &lt;navn>Statistikk, trafikkmengde&lt;/navn>
340 647
341 &lt;navn>Statistikk, vegbredde&lt;/navn>
342 774
343 &lt;navn>Nedbøyningsmåleserie&lt;/navn>
344 775
345 &lt;navn>ATK, influensstrekning&lt;/navn>
346 794
347 &lt;navn>Systemobjekt&lt;/navn>
348 810
349 &lt;navn>Vinterdriftsklasse&lt;/navn>
350 821
351 &lt;navn>Funksjonell vegklasse&lt;/navn>
352 825
353 &lt;navn>Kurvatur, stigning&lt;/navn>
354 838
355 &lt;navn>Vegbredde, beregnet&lt;/navn>
356 862
357 &lt;navn>Reisetidsregistreringspunkt&lt;/navn>
358 871
359 &lt;navn>Bruksklasse&lt;/navn>
360 </pre></blockquote>
361
362 <p>Av disse ser ID 775 og 862 mest relevant ut. ID 775 antar jeg
363 refererer til fotoboksen som står like ved brua, mens
364 «Reisetidsregistreringspunkt» kanskje kan være boksen som henger der.
365 Hvordan finner jeg så ut hva dette kan være for noe. En titt på
366 <a href="http://labs.vegdata.no/nvdb-datakatalog/862-Reisetidsregistreringspunkt/">datakatalogsiden
367 for ID 862/Reisetidsregistreringspunkt</a> viser at det er finnes 53
368 slike målere i Norge, og hvor de er plassert, men gir ellers få
369 detaljer. Det er plassert 40 på østlandet og 13 i Trondheimsregionen.
370 Men siden nevner «AutoPASS», og hvis en slår opp oppføringen på
371 Sollihøgda nevner den «Ciber AS» som ID for eksternt system. (Kan det
372 være snakk om
373 <a href="http://www.proff.no/selskap/ciber-norge-as/oslo/internettdesign-og-programmering/Z0I3KMF4/">Ciber
374 Norge AS</a>, et selskap eid av Ciber Europe Bv?) Et nettsøk på
375 «Ciber AS autopass» fører meg til en artikkel fra NRK Trøndelag i
376 2013 med tittel
377 «<a href="http://www.nrk.no/trondelag/sjekk-dette-hvis-du-vil-unnga-ko-1.11327947">Sjekk
378 dette hvis du vil unngå kø</a>». Artikkelen henviser til vegvesenets
379 nettside
380 <a href="http://www.reisetider.no/reisetid/forside.html">reisetider.no</a>
381 som har en
382 <a href="http://www.reisetider.no/reisetid/omrade.html?omrade=5">kartside
383 for Østlandet</a> som viser at det måles mellom Sandvika og Sollihøgda.
384 Det kan dermed se ut til at jeg har funnet ut hva boksene gjør.</p>
385
386 <p>Hvis det stemmer, så er dette bokser som leser av AutoPASS-ID-en
387 til alle passerende biler med AutoPASS-brikke, og dermed gjør det mulig
388 for de som kontrollerer boksene å holde rede på hvor en gitt bil er
389 når den passerte et slikt målepunkt. NRK-artikkelen forteller at
390 denne informasjonen i dag kun brukes til å koble to
391 AutoPASS-brikkepasseringer passeringer sammen for å beregne
392 reisetiden, og at bruken er godkjent av Datatilsynet. Det er desverre
393 ikke mulig for en sjåfør som passerer under en slik boks å kontrollere
394 at AutoPASS-ID-en kun brukes til dette i dag og i fremtiden.</p>
395
396 <p>I tillegg til denne type AutoPASS-sniffere vet jeg at det også
397 finnes mange automatiske stasjoner som tar betalt pr. passering (aka
398 bomstasjoner), og der lagres informasjon om tid, sted og bilnummer i
399 10 år. Finnes det andre slike sniffere plassert ut på veiene?</p>
400
401 <p>Personlig har jeg valgt å ikke bruke AutoPASS-brikke, for å gjøre
402 det vanskeligere og mer kostbart for de som vil invadere privatsfæren
403 og holde rede på hvor bilen min beveger seg til enhver tid. Jeg håper
404 flere vil gjøre det samme, selv om det gir litt høyere private
405 utgifter (dyrere bompassering). Vern om privatsfæren koster i disse
406 dager.</p>
407
408 <p>Takk til Jan Kristian Jensen i Statens Vegvesen for tips om
409 dokumentasjon på vegvesenets REST-API.</p>
410
411 <p>Bruksvilkår på bildet er
412 <a href="https://creativecommons.org/publicdomain/">public domain eller
413 CC0</a> alt etter hva som fungerer best for mottaker.</p>
414
415 <p>Oppdatering 2014-12-17: Veldig hyggelig å se at mine notater
416 <a href="http://www.vegdata.no/2014/11/04/hva-henger-under-brua-over-e16-pa-sollihogda/">fikk
417 omtale på vegdata-bloggen</a>.</p>
418
419 </div>
420 <div class="tags">
421
422
423 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
424
425
426 </div>
427 </div>
428 <div class="padding"></div>
429
430 <div class="entry">
431 <div class="title">
432 <a href="http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html">Speeding up the Debian installer using eatmydata and dpkg-divert</a>
433 </div>
434 <div class="date">
435 16th September 2014
436 </div>
437 <div class="body">
438 <p>The <a href="https://www.debian.org/">Debian</a> installer could be
439 a lot quicker. When we install more than 2000 packages in
440 <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a> using
441 tasksel in the installer, unpacking the binary packages take forever.
442 A part of the slow I/O issue was discussed in
443 <a href="https://bugs.debian.org/613428">bug #613428</a> about too
444 much file system sync-ing done by dpkg, which is the package
445 responsible for unpacking the binary packages. Other parts (like code
446 executed by postinst scripts) might also sync to disk during
447 installation. All this sync-ing to disk do not really make sense to
448 me. If the machine crash half-way through, I start over, I do not try
449 to salvage the half installed system. So the failure sync-ing is
450 supposed to protect against, hardware or system crash, is not really
451 relevant while the installer is running.</p>
452
453 <p>A few days ago, I thought of a way to get rid of all the file
454 system sync()-ing in a fairly non-intrusive way, without the need to
455 change the code in several packages. The idea is not new, but I have
456 not heard anyone propose the approach using dpkg-divert before. It
457 depend on the small and clever package
458 <a href="https://packages.qa.debian.org/eatmydata">eatmydata</a>, which
459 uses LD_PRELOAD to replace the system functions for syncing data to
460 disk with functions doing nothing, thus allowing programs to live
461 dangerous while speeding up disk I/O significantly. Instead of
462 modifying the implementation of dpkg, apt and tasksel (which are the
463 packages responsible for selecting, fetching and installing packages),
464 it occurred to me that we could just divert the programs away, replace
465 them with a simple shell wrapper calling
466 "eatmydata&nbsp;$program&nbsp;$@", to get the same effect.
467 Two days ago I decided to test the idea, and wrapped up a simple
468 implementation for the Debian Edu udeb.</p>
469
470 <p>The effect was stunning. In my first test it reduced the running
471 time of the pkgsel step (installing tasks) from 64 to less than 44
472 minutes (20 minutes shaved off the installation) on an old Dell
473 Latitude D505 machine. I am not quite sure what the optimised time
474 would have been, as I messed up the testing a bit, causing the debconf
475 priority to get low enough for two questions to pop up during
476 installation. As soon as I saw the questions I moved the installation
477 along, but do not know how long the question were holding up the
478 installation. I did some more measurements using Debian Edu Jessie,
479 and got these results. The time measured is the time stamp in
480 /var/log/syslog between the "pkgsel: starting tasksel" and the
481 "pkgsel: finishing up" lines, if you want to do the same measurement
482 yourself. In Debian Edu, the tasksel dialog do not show up, and the
483 timing thus do not depend on how quickly the user handle the tasksel
484 dialog.</p>
485
486 <p><table>
487
488 <tr>
489 <th>Machine/setup</th>
490 <th>Original tasksel</th>
491 <th>Optimised tasksel</th>
492 <th>Reduction</th>
493 </tr>
494
495 <tr>
496 <td>Latitude D505 Main+LTSP LXDE</td>
497 <td>64 min (07:46-08:50)</td>
498 <td><44 min (11:27-12:11)</td>
499 <td>>20 min 18%</td>
500 </tr>
501
502 <tr>
503 <td>Latitude D505 Roaming LXDE</td>
504 <td>57 min (08:48-09:45)</td>
505 <td>34 min (07:43-08:17)</td>
506 <td>23 min 40%</td>
507 </tr>
508
509 <tr>
510 <td>Latitude D505 Minimal</td>
511 <td>22 min (10:37-10:59)</td>
512 <td>11 min (11:16-11:27)</td>
513 <td>11 min 50%</td>
514 </tr>
515
516 <tr>
517 <td>Thinkpad X200 Minimal</td>
518 <td>6 min (08:19-08:25)</td>
519 <td>4 min (08:04-08:08)</td>
520 <td>2 min 33%</td>
521 </tr>
522
523 <tr>
524 <td>Thinkpad X200 Roaming KDE</td>
525 <td>19 min (09:21-09:40)</td>
526 <td>15 min (10:25-10:40)</td>
527 <td>4 min 21%</td>
528 </tr>
529
530 </table></p>
531
532 <p>The test is done using a netinst ISO on a USB stick, so some of the
533 time is spent downloading packages. The connection to the Internet
534 was 100Mbit/s during testing, so downloading should not be a
535 significant factor in the measurement. Download typically took a few
536 seconds to a few minutes, depending on the amount of packages being
537 installed.</p>
538
539 <p>The speedup is implemented by using two hooks in
540 <a href="https://www.debian.org/devel/debian-installer/">Debian
541 Installer</a>, the pre-pkgsel.d hook to set up the diverts, and the
542 finish-install.d hook to remove the divert at the end of the
543 installation. I picked the pre-pkgsel.d hook instead of the
544 post-base-installer.d hook because I test using an ISO without the
545 eatmydata package included, and the post-base-installer.d hook in
546 Debian Edu can only operate on packages included in the ISO. The
547 negative effect of this is that I am unable to activate this
548 optimization for the kernel installation step in d-i. If the code is
549 moved to the post-base-installer.d hook, the speedup would be larger
550 for the entire installation.</p>
551
552 <p>I've implemented this in the
553 <a href="https://packages.qa.debian.org/debian-edu-install">debian-edu-install</a>
554 git repository, and plan to provide the optimization as part of the
555 Debian Edu installation. If you want to test this yourself, you can
556 create two files in the installer (or in an udeb). One shell script
557 need do go into /usr/lib/pre-pkgsel.d/, with content like this:</p>
558
559 <p><blockquote><pre>
560 #!/bin/sh
561 set -e
562 . /usr/share/debconf/confmodule
563 info() {
564 logger -t my-pkgsel "info: $*"
565 }
566 error() {
567 logger -t my-pkgsel "error: $*"
568 }
569 override_install() {
570 apt-install eatmydata || true
571 if [ -x /target/usr/bin/eatmydata ] ; then
572 for bin in dpkg apt-get aptitude tasksel ; do
573 file=/usr/bin/$bin
574 # Test that the file exist and have not been diverted already.
575 if [ -f /target$file ] ; then
576 info "diverting $file using eatmydata"
577 printf "#!/bin/sh\neatmydata $bin.distrib \"\$@\"\n" \
578 > /target$file.edu
579 chmod 755 /target$file.edu
580 in-target dpkg-divert --package debian-edu-config \
581 --rename --quiet --add $file
582 ln -sf ./$bin.edu /target$file
583 else
584 error "unable to divert $file, as it is missing."
585 fi
586 done
587 else
588 error "unable to find /usr/bin/eatmydata after installing the eatmydata pacage"
589 fi
590 }
591
592 override_install
593 </pre></blockquote></p>
594
595 <p>To clean up, another shell script should go into
596 /usr/lib/finish-install.d/ with code like this:
597
598 <p><blockquote><pre>
599 #! /bin/sh -e
600 . /usr/share/debconf/confmodule
601 error() {
602 logger -t my-finish-install "error: $@"
603 }
604 remove_install_override() {
605 for bin in dpkg apt-get aptitude tasksel ; do
606 file=/usr/bin/$bin
607 if [ -x /target$file.edu ] ; then
608 rm /target$file
609 in-target dpkg-divert --package debian-edu-config \
610 --rename --quiet --remove $file
611 rm /target$file.edu
612 else
613 error "Missing divert for $file."
614 fi
615 done
616 sync # Flush file buffers before continuing
617 }
618
619 remove_install_override
620 </pre></blockquote></p>
621
622 <p>In Debian Edu, I placed both code fragments in a separate script
623 edu-eatmydata-install and call it from the pre-pkgsel.d and
624 finish-install.d scripts.</p>
625
626 <p>By now you might ask if this change should get into the normal
627 Debian installer too? I suspect it should, but am not sure the
628 current debian-installer coordinators find it useful enough. It also
629 depend on the side effects of the change. I'm not aware of any, but I
630 guess we will see if the change is safe after some more testing.
631 Perhaps there is some package in Debian depending on sync() and
632 fsync() having effect? Perhaps it should go into its own udeb, to
633 allow those of us wanting to enable it to do so without affecting
634 everyone.</p>
635
636 <p>Update 2014-09-24: Since a few days ago, enabling this optimization
637 will break installation of all programs using gnutls because of
638 <a href="https://bugs.debian.org/702711">bug #702711</a>. An updated
639 eatmydata package in Debian will solve it.</p>
640
641 <p>Update 2014-10-17: The bug mentioned above is fixed in testing and
642 the optimization work again. And I have discovered that the
643 dpkg-divert trick is not really needed and implemented a slightly
644 simpler approach as part of the debian-edu-install package. See
645 tools/edu-eatmydata-install in the source package.</p>
646
647 <p>Update 2014-11-11: Unfortunately, a new
648 <a href="http://bugs.debian.org/765738">bug #765738</a> in eatmydata only
649 triggering on i386 made it into testing, and broke this installation
650 optimization again. If <a href="http://bugs.debian.org/768893">unblock
651 request 768893</a> is accepted, it should be working again.</p>
652
653 </div>
654 <div class="tags">
655
656
657 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>.
658
659
660 </div>
661 </div>
662 <div class="padding"></div>
663
664 <div class="entry">
665 <div class="title">
666 <a href="http://people.skolelinux.org/pere/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html">Good bye subkeys.pgp.net, welcome pool.sks-keyservers.net</a>
667 </div>
668 <div class="date">
669 10th September 2014
670 </div>
671 <div class="body">
672 <p>Yesterday, I had the pleasure of attending a talk with the
673 <a href="http://www.nuug.no/">Norwegian Unix User Group</a> about
674 <a href="http://www.nuug.no/aktiviteter/20140909-sks-keyservers/">the
675 OpenPGP keyserver pool sks-keyservers.net</a>, and was very happy to
676 learn that there is a large set of publicly available key servers to
677 use when looking for peoples public key. So far I have used
678 subkeys.pgp.net, and some times wwwkeys.nl.pgp.net when the former
679 were misbehaving, but those days are ended. The servers I have used
680 up until yesterday have been slow and some times unavailable. I hope
681 those problems are gone now.</p>
682
683 <p>Behind the round robin DNS entry of the
684 <a href="https://sks-keyservers.net/">sks-keyservers.net</a> service
685 there is a pool of more than 100 keyservers which are checked every
686 day to ensure they are well connected and up to date. It must be
687 better than what I have used so far. :)</p>
688
689 <p>Yesterdays speaker told me that the service is the default
690 keyserver provided by the default configuration in GnuPG, but this do
691 not seem to be used in Debian. Perhaps it should?</p>
692
693 <p>Anyway, I've updated my ~/.gnupg/options file to now include this
694 line:</p>
695
696 <p><blockquote><pre>
697 keyserver pool.sks-keyservers.net
698 </pre></blockquote></p>
699
700 <p>With GnuPG version 2 one can also locate the keyserver using SRV
701 entries in DNS. Just for fun, I did just that at work, so now every
702 user of GnuPG at the University of Oslo should find a OpenGPG
703 keyserver automatically should their need it:</p>
704
705 <p><blockquote><pre>
706 % host -t srv _pgpkey-http._tcp.uio.no
707 _pgpkey-http._tcp.uio.no has SRV record 0 100 11371 pool.sks-keyservers.net.
708 %
709 </pre></blockquote></p>
710
711 <p>Now if only
712 <a href="http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/">the
713 HKP lookup protocol</a> supported finding signature paths, I would be
714 very happy. It can look up a given key or search for a user ID, but I
715 normally do not want that, but to find a trust path from my key to
716 another key. Given a user ID or key ID, I would like to find (and
717 download) the keys representing a signature path from my key to the
718 key in question, to be able to get a trust path between the two keys.
719 This is as far as I can tell not possible today. Perhaps something
720 for a future version of the protocol?</p>
721
722 </div>
723 <div class="tags">
724
725
726 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/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
727
728
729 </div>
730 </div>
731 <div class="padding"></div>
732
733 <p style="text-align: right;"><a href="09.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
734 <div id="sidebar">
735
736
737
738 <h2>Archive</h2>
739 <ul>
740
741 <li>2020
742 <ul>
743
744 <li><a href="http://people.skolelinux.org/pere/blog/archive/2020/02/">February (1)</a></li>
745
746 </ul></li>
747
748 <li>2019
749 <ul>
750
751 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/01/">January (4)</a></li>
752
753 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
754
755 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/03/">March (3)</a></li>
756
757 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/05/">May (2)</a></li>
758
759 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/06/">June (5)</a></li>
760
761 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/07/">July (2)</a></li>
762
763 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/08/">August (1)</a></li>
764
765 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/09/">September (1)</a></li>
766
767 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/11/">November (1)</a></li>
768
769 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/12/">December (4)</a></li>
770
771 </ul></li>
772
773 <li>2018
774 <ul>
775
776 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
777
778 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
779
780 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
781
782 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
783
784 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
785
786 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
787
788 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
789
790 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
791
792 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
793
794 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
795
796 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
797
798 </ul></li>
799
800 <li>2017
801 <ul>
802
803 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
804
805 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
806
807 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
808
809 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
810
811 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
812
813 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
814
815 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
816
817 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
818
819 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
820
821 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
822
823 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
824
825 </ul></li>
826
827 <li>2016
828 <ul>
829
830 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
831
832 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
833
834 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
835
836 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
837
838 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
839
840 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
841
842 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
843
844 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
845
846 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
847
848 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
849
850 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
851
852 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
853
854 </ul></li>
855
856 <li>2015
857 <ul>
858
859 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
860
861 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
862
863 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
864
865 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
866
867 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
868
869 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
870
871 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
872
873 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
874
875 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
876
877 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
878
879 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
880
881 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
882
883 </ul></li>
884
885 <li>2014
886 <ul>
887
888 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
889
890 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
891
892 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
893
894 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
895
896 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
897
898 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
899
900 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
901
902 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
903
904 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
905
906 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
907
908 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
909
910 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
911
912 </ul></li>
913
914 <li>2013
915 <ul>
916
917 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
918
919 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
920
921 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
922
923 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
924
925 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
926
927 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
928
929 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
930
931 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
932
933 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
934
935 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
936
937 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
938
939 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
940
941 </ul></li>
942
943 <li>2012
944 <ul>
945
946 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
947
948 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
949
950 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
951
952 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
953
954 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
955
956 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
957
958 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
959
960 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
961
962 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
963
964 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
965
966 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
967
968 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
969
970 </ul></li>
971
972 <li>2011
973 <ul>
974
975 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
976
977 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
978
979 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
980
981 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
982
983 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
984
985 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
986
987 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
988
989 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
990
991 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
992
993 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
994
995 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
996
997 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
998
999 </ul></li>
1000
1001 <li>2010
1002 <ul>
1003
1004 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
1005
1006 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
1007
1008 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
1009
1010 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
1011
1012 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
1013
1014 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
1015
1016 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
1017
1018 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
1019
1020 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
1021
1022 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
1023
1024 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
1025
1026 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
1027
1028 </ul></li>
1029
1030 <li>2009
1031 <ul>
1032
1033 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
1034
1035 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
1036
1037 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
1038
1039 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
1040
1041 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
1042
1043 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
1044
1045 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
1046
1047 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
1048
1049 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
1050
1051 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
1052
1053 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
1054
1055 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
1056
1057 </ul></li>
1058
1059 <li>2008
1060 <ul>
1061
1062 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
1063
1064 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
1065
1066 </ul></li>
1067
1068 </ul>
1069
1070
1071
1072 <h2>Tags</h2>
1073 <ul>
1074
1075 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (16)</a></li>
1076
1077 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
1078
1079 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
1080
1081 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
1082
1083 <li><a href="http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (8)</a></li>
1084
1085 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (11)</a></li>
1086
1087 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
1088
1089 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
1090
1091 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
1092
1093 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (168)</a></li>
1094
1095 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
1096
1097 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (4)</a></li>
1098
1099 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
1100
1101 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (17)</a></li>
1102
1103 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (26)</a></li>
1104
1105 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
1106
1107 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (411)</a></li>
1108
1109 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
1110
1111 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
1112
1113 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (34)</a></li>
1114
1115 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
1116
1117 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
1118
1119 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
1120
1121 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
1122
1123 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
1124
1125 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (22)</a></li>
1126
1127 <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
1128
1129 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
1130
1131 <li><a href="http://people.skolelinux.org/pere/blog/tags/lego">lego (4)</a></li>
1132
1133 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
1134
1135 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
1136
1137 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
1138
1139 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
1140
1141 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (42)</a></li>
1142
1143 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (12)</a></li>
1144
1145 <li><a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (20)</a></li>
1146
1147 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (311)</a></li>
1148
1149 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (196)</a></li>
1150
1151 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (37)</a></li>
1152
1153 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
1154
1155 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (75)</a></li>
1156
1157 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (111)</a></li>
1158
1159 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
1160
1161 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
1162
1163 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
1164
1165 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
1166
1167 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (12)</a></li>
1168
1169 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
1170
1171 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (7)</a></li>
1172
1173 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
1174
1175 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (56)</a></li>
1176
1177 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
1178
1179 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
1180
1181 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (69)</a></li>
1182
1183 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (6)</a></li>
1184
1185 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (12)</a></li>
1186
1187 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (57)</a></li>
1188
1189 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (4)</a></li>
1190
1191 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
1192
1193 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
1194
1195 <li><a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (17)</a></li>
1196
1197 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (73)</a></li>
1198
1199 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
1200
1201 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
1202
1203 </ul>
1204
1205
1206 </div>
1207 <p style="text-align: right">
1208 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
1209 </p>
1210
1211 </body>
1212 </html>