]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2014/09/09.rss
Generated.
[homepage.git] / blog / archive / 2014 / 09 / 09.rss
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
3 <channel>
4 <title>Petter Reinholdtsen - Entries from September 2014</title>
5 <description>Entries from September 2014</description>
6 <link>http://people.skolelinux.org/pere/blog/</link>
7
8
9 <item>
10 <title>Suddenly I am the new upstream of the lsdvd command line tool</title>
11 <link>http://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html</guid>
13 <pubDate>Thu, 25 Sep 2014 11:20:00 +0200</pubDate>
14 <description>&lt;p&gt;I use the &lt;a href=&quot;https://sourceforge.net/p/lsdvd/&quot;&gt;lsdvd tool&lt;/a&gt;
15 to handle my fairly large DVD collection. It is a nice command line
16 tool to get details about a DVD, like title, tracks, track length,
17 etc, in XML, Perl or human readable format. But lsdvd have not seen
18 any new development since 2006 and had a few irritating bugs affecting
19 its use with some DVDs. Upstream seemed to be dead, and in January I
20 sent a small probe asking for a version control repository for the
21 project, without any reply. But I use it regularly and would like to
22 get &lt;a href=&quot;https://packages.qa.debian.org/lsdvd&quot;&gt;an updated version
23 into Debian&lt;/a&gt;. So two weeks ago I tried harder to get in touch with
24 the project admin, and after getting a reply from him explaining that
25 he was no longer interested in the project, I asked if I could take
26 over. And yesterday, I became project admin.&lt;/p&gt;
27
28 &lt;p&gt;I&#39;ve been in touch with a Gentoo developer and the Debian
29 maintainer interested in joining forces to maintain the upstream
30 project, and I hope we can get a new release out fairly quickly,
31 collecting the patches spread around on the internet into on place.
32 I&#39;ve added the relevant Debian patches to the freshly created git
33 repository, and expect the Gentoo patches to make it too. If you got
34 a DVD collection and care about command line tools, check out
35 &lt;a href=&quot;https://sourceforge.net/p/lsdvd/git/ci/master/tree/&quot;&gt;the git source&lt;/a&gt; and join
36 &lt;a href=&quot;https://sourceforge.net/p/lsdvd/mailman/&quot;&gt;the project mailing
37 list&lt;/a&gt;. :)&lt;/p&gt;
38 </description>
39 </item>
40
41 <item>
42 <title>Hva henger under skibrua over E16 på Sollihøgda?</title>
43 <link>http://people.skolelinux.org/pere/blog/Hva_henger_under_skibrua_over_E16_p__Sollih_gda_.html</link>
44 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Hva_henger_under_skibrua_over_E16_p__Sollih_gda_.html</guid>
45 <pubDate>Sun, 21 Sep 2014 09:50:00 +0200</pubDate>
46 <description>&lt;p&gt;Rundt omkring i Oslo og Østlandsområdet henger det bokser over
47 veiene som jeg har lurt på hva gjør. De har ut fra plassering og
48 vinkling sett ut som bokser som sniffer ut et eller annet fra
49 forbipasserende trafikk, men det har vært uklart for meg hva det er de
50 leser av. Her om dagen tok jeg bilde av en slik boks som henger under
51 &lt;a href=&quot;http://www.openstreetmap.no/?zoom=19&amp;mlat=59.96396&amp;mlon=10.34443&amp;layers=B00000&quot;&gt;ei
52 skibru på Sollihøgda&lt;/a&gt;:&lt;/p&gt;
53
54 &lt;p align=&quot;center&quot;&gt;&lt;img width=&quot;60%&quot; src=&quot;http://people.skolelinux.org/pere/blog/images/2014-09-13-kapsch-sollihogda-crop.jpeg&quot;&gt;&lt;/p&gt;
55
56 &lt;p&gt;Boksen er tydelig merket «Kapsch &gt;&gt;&gt;», logoen til
57 &lt;a href=&quot;http://www.kapsch.net/&quot;&gt;det sveitsiske selskapet Kapsch&lt;/a&gt; som
58 blant annet lager sensorsystemer for veitrafikk. Men de lager mye
59 forskjellig, og jeg kjente ikke igjen boksen på utseendet etter en
60 kjapp titt på produktlista til selskapet.&lt;/p&gt;
61
62 &lt;p&gt;I og med at boksen henger over veien E16, en riksvei vedlikeholdt
63 av Statens Vegvesen, så antok jeg at det burde være mulig å bruke
64 REST-API-et som gir tilgang til vegvesenets database over veier,
65 skilter og annet veirelatert til å finne ut hva i alle dager dette
66 kunne være. De har både
67 &lt;a href=&quot;https://www.vegvesen.no/nvdb/api/dokumentasjon/datakatalog&quot;&gt;en
68 datakatalog&lt;/a&gt; og
69 &lt;a href=&quot;https://www.vegvesen.no/nvdb/api/dokumentasjon/sok&quot;&gt;et
70 søk&lt;/a&gt;, der en kan søke etter ulike typer oppføringer innen for et
71 gitt geografisk område. Jeg laget et enkelt shell-script for å hente
72 ut antall av en gitt type innenfor området skibrua dekker, og listet
73 opp navnet på typene som ble funnet. Orket ikke slå opp hvordan
74 URL-koding av aktuelle strenger kunne gjøres mer generisk, og brukte
75 en stygg sed-linje i stedet.&lt;/p&gt;
76
77 &lt;blockquote&gt;&lt;pre&gt;
78 #!/bin/sh
79 urlmap() {
80 sed \
81 -e &#39;s/ / /g&#39; -e &#39;s/{/%7B/g&#39; \
82 -e &#39;s/}/%7D/g&#39; -e &#39;s/\[/%5B/g&#39; \
83 -e &#39;s/\]/%5D/g&#39; -e &#39;s/ /%20/g&#39; \
84 -e &#39;s/,/%2C/g&#39; -e &#39;s/\&quot;/%22/g&#39; \
85 -e &#39;s/:/%3A/g&#39;
86 }
87
88 lookup() {
89 url=&quot;$1&quot;
90 curl -s -H &#39;Accept: application/vnd.vegvesen.nvdb-v1+xml&#39; \
91 &quot;https://www.vegvesen.no/nvdb/api$url&quot; | xmllint --format -
92 }
93
94 for id in $(seq 1 874) ; do
95 search=&quot;{
96 lokasjon: {
97 bbox: \&quot;10.34425,59.96386,10.34458,59.96409\&quot;,
98 srid: \&quot;WGS84\&quot;
99 },
100 objektTyper: [{
101 id: $id, antall: 10
102 }]
103 }&quot;
104
105 query=/sok?kriterie=$(echo $search | urlmap)
106 if lookup &quot;$query&quot; |
107 grep -q &#39;&amp;lt;totaltAntallReturnert&gt;0&amp;lt;&#39;
108 then
109 :
110 else
111 echo $id
112 lookup &quot;/datakatalog/objekttyper/$id&quot; |grep &#39;^ &amp;lt;navn&gt;&#39;
113 fi
114 done
115
116 exit 0
117 &lt;/pre&gt;&lt;/blockquote&gt;
118
119 Aktuelt ID-område 1-874 var riktig i datakatalogen da jeg laget
120 scriptet. Det vil endre seg over tid. Skriptet listet så opp
121 aktuelle typer i og rundt skibrua:
122
123 &lt;blockquote&gt;&lt;pre&gt;
124 5
125 &amp;lt;navn&gt;Rekkverk&amp;lt;/navn&gt;
126 14
127 &amp;lt;navn&gt;Rekkverksende&amp;lt;/navn&gt;
128 47
129 &amp;lt;navn&gt;Trafikklomme&amp;lt;/navn&gt;
130 49
131 &amp;lt;navn&gt;Trafikkøy&amp;lt;/navn&gt;
132 60
133 &amp;lt;navn&gt;Bru&amp;lt;/navn&gt;
134 79
135 &amp;lt;navn&gt;Stikkrenne/Kulvert&amp;lt;/navn&gt;
136 80
137 &amp;lt;navn&gt;Grøft, åpen&amp;lt;/navn&gt;
138 86
139 &amp;lt;navn&gt;Belysningsstrekning&amp;lt;/navn&gt;
140 95
141 &amp;lt;navn&gt;Skiltpunkt&amp;lt;/navn&gt;
142 96
143 &amp;lt;navn&gt;Skiltplate&amp;lt;/navn&gt;
144 98
145 &amp;lt;navn&gt;Referansestolpe&amp;lt;/navn&gt;
146 99
147 &amp;lt;navn&gt;Vegoppmerking, langsgående&amp;lt;/navn&gt;
148 105
149 &amp;lt;navn&gt;Fartsgrense&amp;lt;/navn&gt;
150 106
151 &amp;lt;navn&gt;Vinterdriftsstrategi&amp;lt;/navn&gt;
152 172
153 &amp;lt;navn&gt;Trafikkdeler&amp;lt;/navn&gt;
154 241
155 &amp;lt;navn&gt;Vegdekke&amp;lt;/navn&gt;
156 293
157 &amp;lt;navn&gt;Breddemåling&amp;lt;/navn&gt;
158 301
159 &amp;lt;navn&gt;Kantklippareal&amp;lt;/navn&gt;
160 318
161 &amp;lt;navn&gt;Snø-/isrydding&amp;lt;/navn&gt;
162 445
163 &amp;lt;navn&gt;Skred&amp;lt;/navn&gt;
164 446
165 &amp;lt;navn&gt;Dokumentasjon&amp;lt;/navn&gt;
166 452
167 &amp;lt;navn&gt;Undergang&amp;lt;/navn&gt;
168 528
169 &amp;lt;navn&gt;Tverrprofil&amp;lt;/navn&gt;
170 532
171 &amp;lt;navn&gt;Vegreferanse&amp;lt;/navn&gt;
172 534
173 &amp;lt;navn&gt;Region&amp;lt;/navn&gt;
174 535
175 &amp;lt;navn&gt;Fylke&amp;lt;/navn&gt;
176 536
177 &amp;lt;navn&gt;Kommune&amp;lt;/navn&gt;
178 538
179 &amp;lt;navn&gt;Gate&amp;lt;/navn&gt;
180 539
181 &amp;lt;navn&gt;Transportlenke&amp;lt;/navn&gt;
182 540
183 &amp;lt;navn&gt;Trafikkmengde&amp;lt;/navn&gt;
184 570
185 &amp;lt;navn&gt;Trafikkulykke&amp;lt;/navn&gt;
186 571
187 &amp;lt;navn&gt;Ulykkesinvolvert enhet&amp;lt;/navn&gt;
188 572
189 &amp;lt;navn&gt;Ulykkesinvolvert person&amp;lt;/navn&gt;
190 579
191 &amp;lt;navn&gt;Politidistrikt&amp;lt;/navn&gt;
192 583
193 &amp;lt;navn&gt;Vegbredde&amp;lt;/navn&gt;
194 591
195 &amp;lt;navn&gt;Høydebegrensning&amp;lt;/navn&gt;
196 592
197 &amp;lt;navn&gt;Nedbøyningsmåling&amp;lt;/navn&gt;
198 597
199 &amp;lt;navn&gt;Støy-luft, Strekningsdata&amp;lt;/navn&gt;
200 601
201 &amp;lt;navn&gt;Oppgravingsdata&amp;lt;/navn&gt;
202 602
203 &amp;lt;navn&gt;Oppgravingslag&amp;lt;/navn&gt;
204 603
205 &amp;lt;navn&gt;PMS-parsell&amp;lt;/navn&gt;
206 604
207 &amp;lt;navn&gt;Vegnormalstrekning&amp;lt;/navn&gt;
208 605
209 &amp;lt;navn&gt;Værrelatert strekning&amp;lt;/navn&gt;
210 616
211 &amp;lt;navn&gt;Feltstrekning&amp;lt;/navn&gt;
212 617
213 &amp;lt;navn&gt;Adressepunkt&amp;lt;/navn&gt;
214 626
215 &amp;lt;navn&gt;Friksjonsmåleserie&amp;lt;/navn&gt;
216 629
217 &amp;lt;navn&gt;Vegdekke, flatelapping&amp;lt;/navn&gt;
218 639
219 &amp;lt;navn&gt;Kurvatur, horisontalelement&amp;lt;/navn&gt;
220 640
221 &amp;lt;navn&gt;Kurvatur, vertikalelement&amp;lt;/navn&gt;
222 642
223 &amp;lt;navn&gt;Kurvatur, vertikalpunkt&amp;lt;/navn&gt;
224 643
225 &amp;lt;navn&gt;Statistikk, trafikkmengde&amp;lt;/navn&gt;
226 647
227 &amp;lt;navn&gt;Statistikk, vegbredde&amp;lt;/navn&gt;
228 774
229 &amp;lt;navn&gt;Nedbøyningsmåleserie&amp;lt;/navn&gt;
230 775
231 &amp;lt;navn&gt;ATK, influensstrekning&amp;lt;/navn&gt;
232 794
233 &amp;lt;navn&gt;Systemobjekt&amp;lt;/navn&gt;
234 810
235 &amp;lt;navn&gt;Vinterdriftsklasse&amp;lt;/navn&gt;
236 821
237 &amp;lt;navn&gt;Funksjonell vegklasse&amp;lt;/navn&gt;
238 825
239 &amp;lt;navn&gt;Kurvatur, stigning&amp;lt;/navn&gt;
240 838
241 &amp;lt;navn&gt;Vegbredde, beregnet&amp;lt;/navn&gt;
242 862
243 &amp;lt;navn&gt;Reisetidsregistreringspunkt&amp;lt;/navn&gt;
244 871
245 &amp;lt;navn&gt;Bruksklasse&amp;lt;/navn&gt;
246 &lt;/pre&gt;&lt;/blockquote&gt;
247
248 &lt;p&gt;Av disse ser ID 775 og 862 mest relevant ut. ID 775 antar jeg
249 refererer til fotoboksen som står like ved brua, mens
250 «Reisetidsregistreringspunkt» kanskje kan være boksen som henger der.
251 Hvordan finner jeg så ut hva dette kan være for noe. En titt på
252 &lt;a href=&quot;http://labs.vegdata.no/nvdb-datakatalog/862-Reisetidsregistreringspunkt/&quot;&gt;datakatalogsiden
253 for ID 862/Reisetidsregistreringspunkt&lt;/a&gt; viser at det er finnes 53
254 slike målere i Norge, og hvor de er plassert, men gir ellers få
255 detaljer. Det er plassert 40 på østlandet og 13 i Trondheimsregionen.
256 Men siden nevner «AutoPASS», og hvis en slår opp oppføringen på
257 Sollihøgda nevner den «Ciber AS» som ID for eksternt system. (Kan det
258 være snakk om
259 &lt;a href=&quot;http://www.proff.no/selskap/ciber-norge-as/oslo/internettdesign-og-programmering/Z0I3KMF4/&quot;&gt;Ciber
260 Norge AS&lt;/a&gt;, et selskap eid av Ciber Europe Bv?) Et nettsøk på
261 «Ciber AS autopass» fører meg til en artikkel fra NRK Trøndelag i
262 2013 med tittel
263 «&lt;a href=&quot;http://www.nrk.no/trondelag/sjekk-dette-hvis-du-vil-unnga-ko-1.11327947&quot;&gt;Sjekk
264 dette hvis du vil unngå kø&lt;/a&gt;». Artikkelen henviser til vegvesenets
265 nettside
266 &lt;a href=&quot;http://www.reisetider.no/reisetid/forside.html&quot;&gt;reisetider.no&lt;/a&gt;
267 som har en
268 &lt;a href=&quot;http://www.reisetider.no/reisetid/omrade.html?omrade=5&quot;&gt;kartside
269 for Østlandet&lt;/a&gt; som viser at det måles mellom Sandvika og Sollihøgda.
270 Det kan dermed se ut til at jeg har funnet ut hva boksene gjør.&lt;/p&gt;
271
272 &lt;p&gt;Hvis det stemmer, så er dette bokser som leser av AutoPASS-ID-en
273 til alle passerende biler med AutoPASS-brikke, og dermed gjør det mulig
274 for de som kontrollerer boksene å holde rede på hvor en gitt bil er
275 når den passerte et slikt målepunkt. NRK-artikkelen forteller at
276 denne informasjonen i dag kun brukes til å koble to
277 AutoPASS-brikkepasseringer passeringer sammen for å beregne
278 reisetiden, og at bruken er godkjent av Datatilsynet. Det er desverre
279 ikke mulig for en sjåfør som passerer under en slik boks å kontrollere
280 at AutoPASS-ID-en kun brukes til dette i dag og i fremtiden.&lt;/p&gt;
281
282 &lt;p&gt;I tillegg til denne type AutoPASS-sniffere vet jeg at det også
283 finnes mange automatiske stasjoner som tar betalt pr. passering (aka
284 bomstasjoner), og der lagres informasjon om tid, sted og bilnummer i
285 10 år. Finnes det andre slike sniffere plassert ut på veiene?&lt;/p&gt;
286
287 &lt;p&gt;Personlig har jeg valgt å ikke bruke AutoPASS-brikke, for å gjøre
288 det vanskeligere og mer kostbart for de som vil invadere privatsfæren
289 og holde rede på hvor bilen min beveger seg til enhver tid. Jeg håper
290 flere vil gjøre det samme, selv om det gir litt høyere private
291 utgifter (dyrere bompassering). Vern om privatsfæren koster i disse
292 dager.&lt;/p&gt;
293
294 &lt;p&gt;Takk til Jan Kristian Jensen i Statens Vegvesen for tips om
295 dokumentasjon på vegvesenets REST-API.&lt;/p&gt;
296 </description>
297 </item>
298
299 <item>
300 <title>Speeding up the Debian installer using eatmydata and dpkg-divert</title>
301 <link>http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html</link>
302 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html</guid>
303 <pubDate>Tue, 16 Sep 2014 14:00:00 +0200</pubDate>
304 <description>&lt;p&gt;The &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; installer could be
305 a lot quicker. When we install more than 2000 packages in
306 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux / Debian Edu&lt;/a&gt; using
307 tasksel in the installer, unpacking the binary packages take forever.
308 A part of the slow I/O issue was discussed in
309 &lt;a href=&quot;https://bugs.debian.org/613428&quot;&gt;bug #613428&lt;/a&gt; about too
310 much file system sync-ing done by dpkg, which is the package
311 responsible for unpacking the binary packages. Other parts (like code
312 executed by postinst scripts) might also sync to disk during
313 installation. All this sync-ing to disk do not really make sense to
314 me. If the machine crash half-way through, I start over, I do not try
315 to salvage the half installed system. So the failure sync-ing is
316 supposed to protect against, hardware or system crash, is not really
317 relevant while the installer is running.&lt;/p&gt;
318
319 &lt;p&gt;A few days ago, I thought of a way to get rid of all the file
320 system sync()-ing in a fairly non-intrusive way, without the need to
321 change the code in several packages. The idea is not new, but I have
322 not heard anyone propose the approach using dpkg-divert before. It
323 depend on the small and clever package
324 &lt;a href=&quot;https://packages.qa.debian.org/eatmydata&quot;&gt;eatmydata&lt;/a&gt;, which
325 uses LD_PRELOAD to replace the system functions for syncing data to
326 disk with functions doing nothing, thus allowing programs to live
327 dangerous while speeding up disk I/O significantly. Instead of
328 modifying the implementation of dpkg, apt and tasksel (which are the
329 packages responsible for selecting, fetching and installing packages),
330 it occurred to me that we could just divert the programs away, replace
331 them with a simple shell wrapper calling
332 &quot;eatmydata&amp;nbsp;$program&amp;nbsp;$@&quot;, to get the same effect.
333 Two days ago I decided to test the idea, and wrapped up a simple
334 implementation for the Debian Edu udeb.&lt;/p&gt;
335
336 &lt;p&gt;The effect was stunning. In my first test it reduced the running
337 time of the pkgsel step (installing tasks) from 64 to less than 44
338 minutes (20 minutes shaved off the installation) on an old Dell
339 Latitude D505 machine. I am not quite sure what the optimised time
340 would have been, as I messed up the testing a bit, causing the debconf
341 priority to get low enough for two questions to pop up during
342 installation. As soon as I saw the questions I moved the installation
343 along, but do not know how long the question were holding up the
344 installation. I did some more measurements using Debian Edu Jessie,
345 and got these results. The time measured is the time stamp in
346 /var/log/syslog between the &quot;pkgsel: starting tasksel&quot; and the
347 &quot;pkgsel: finishing up&quot; lines, if you want to do the same measurement
348 yourself. In Debian Edu, the tasksel dialog do not show up, and the
349 timing thus do not depend on how quickly the user handle the tasksel
350 dialog.&lt;/p&gt;
351
352 &lt;p&gt;&lt;table&gt;
353
354 &lt;tr&gt;
355 &lt;th&gt;Machine/setup&lt;/th&gt;
356 &lt;th&gt;Original tasksel&lt;/th&gt;
357 &lt;th&gt;Optimised tasksel&lt;/th&gt;
358 &lt;th&gt;Reduction&lt;/th&gt;
359 &lt;/tr&gt;
360
361 &lt;tr&gt;
362 &lt;td&gt;Latitude D505 Main+LTSP LXDE&lt;/td&gt;
363 &lt;td&gt;64 min (07:46-08:50)&lt;/td&gt;
364 &lt;td&gt;&lt;44 min (11:27-12:11)&lt;/td&gt;
365 &lt;td&gt;&gt;20 min 18%&lt;/td&gt;
366 &lt;/tr&gt;
367
368 &lt;tr&gt;
369 &lt;td&gt;Latitude D505 Roaming LXDE&lt;/td&gt;
370 &lt;td&gt;57 min (08:48-09:45)&lt;/td&gt;
371 &lt;td&gt;34 min (07:43-08:17)&lt;/td&gt;
372 &lt;td&gt;23 min 40%&lt;/td&gt;
373 &lt;/tr&gt;
374
375 &lt;tr&gt;
376 &lt;td&gt;Latitude D505 Minimal&lt;/td&gt;
377 &lt;td&gt;22 min (10:37-10:59)&lt;/td&gt;
378 &lt;td&gt;11 min (11:16-11:27)&lt;/td&gt;
379 &lt;td&gt;11 min 50%&lt;/td&gt;
380 &lt;/tr&gt;
381
382 &lt;tr&gt;
383 &lt;td&gt;Thinkpad X200 Minimal&lt;/td&gt;
384 &lt;td&gt;6 min (08:19-08:25)&lt;/td&gt;
385 &lt;td&gt;4 min (08:04-08:08)&lt;/td&gt;
386 &lt;td&gt;2 min 33%&lt;/td&gt;
387 &lt;/tr&gt;
388
389 &lt;tr&gt;
390 &lt;td&gt;Thinkpad X200 Roaming KDE&lt;/td&gt;
391 &lt;td&gt;19 min (09:21-09:40)&lt;/td&gt;
392 &lt;td&gt;15 min (10:25-10:40)&lt;/td&gt;
393 &lt;td&gt;4 min 21%&lt;/td&gt;
394 &lt;/tr&gt;
395
396 &lt;/table&gt;&lt;/p&gt;
397
398 &lt;p&gt;The test is done using a netinst ISO on a USB stick, so some of the
399 time is spent downloading packages. The connection to the Internet
400 was 100Mbit/s during testing, so downloading should not be a
401 significant factor in the measurement. Download typically took a few
402 seconds to a few minutes, depending on the amount of packages being
403 installed.&lt;/p&gt;
404
405 &lt;p&gt;The speedup is implemented by using two hooks in
406 &lt;a href=&quot;https://www.debian.org/devel/debian-installer/&quot;&gt;Debian
407 Installer&lt;/a&gt;, the pre-pkgsel.d hook to set up the diverts, and the
408 finish-install.d hook to remove the divert at the end of the
409 installation. I picked the pre-pkgsel.d hook instead of the
410 post-base-installer.d hook because I test using an ISO without the
411 eatmydata package included, and the post-base-installer.d hook in
412 Debian Edu can only operate on packages included in the ISO. The
413 negative effect of this is that I am unable to activate this
414 optimization for the kernel installation step in d-i. If the code is
415 moved to the post-base-installer.d hook, the speedup would be larger
416 for the entire installation.&lt;/p&gt;
417
418 &lt;p&gt;I&#39;ve implemented this in the
419 &lt;a href=&quot;https://packages.qa.debian.org/debian-edu-install&quot;&gt;debian-edu-install&lt;/a&gt;
420 git repository, and plan to provide the optimization as part of the
421 Debian Edu installation. If you want to test this yourself, you can
422 create two files in the installer (or in an udeb). One shell script
423 need do go into /usr/lib/pre-pkgsel.d/, with content like this:&lt;/p&gt;
424
425 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
426 #!/bin/sh
427 set -e
428 . /usr/share/debconf/confmodule
429 info() {
430 logger -t my-pkgsel &quot;info: $*&quot;
431 }
432 error() {
433 logger -t my-pkgsel &quot;error: $*&quot;
434 }
435 override_install() {
436 apt-install eatmydata || true
437 if [ -x /target/usr/bin/eatmydata ] ; then
438 for bin in dpkg apt-get aptitude tasksel ; do
439 file=/usr/bin/$bin
440 # Test that the file exist and have not been diverted already.
441 if [ -f /target$file ] ; then
442 info &quot;diverting $file using eatmydata&quot;
443 printf &quot;#!/bin/sh\neatmydata $bin.distrib \&quot;\$@\&quot;\n&quot; \
444 &gt; /target$file.edu
445 chmod 755 /target$file.edu
446 in-target dpkg-divert --package debian-edu-config \
447 --rename --quiet --add $file
448 ln -sf ./$bin.edu /target$file
449 else
450 error &quot;unable to divert $file, as it is missing.&quot;
451 fi
452 done
453 else
454 error &quot;unable to find /usr/bin/eatmydata after installing the eatmydata pacage&quot;
455 fi
456 }
457
458 override_install
459 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
460
461 &lt;p&gt;To clean up, another shell script should go into
462 /usr/lib/finish-install.d/ with code like this:
463
464 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
465 #! /bin/sh -e
466 . /usr/share/debconf/confmodule
467 error() {
468 logger -t my-finish-install &quot;error: $@&quot;
469 }
470 remove_install_override() {
471 for bin in dpkg apt-get aptitude tasksel ; do
472 file=/usr/bin/$bin
473 if [ -x /target$file.edu ] ; then
474 rm /target$file
475 in-target dpkg-divert --package debian-edu-config \
476 --rename --quiet --remove $file
477 rm /target$file.edu
478 else
479 error &quot;Missing divert for $file.&quot;
480 fi
481 done
482 sync # Flush file buffers before continuing
483 }
484
485 remove_install_override
486 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
487
488 &lt;p&gt;In Debian Edu, I placed both code fragments in a separate script
489 edu-eatmydata-install and call it from the pre-pkgsel.d and
490 finish-install.d scripts.&lt;/p&gt;
491
492 &lt;p&gt;By now you might ask if this change should get into the normal
493 Debian installer too? I suspect it should, but am not sure the
494 current debian-installer coordinators find it useful enough. It also
495 depend on the side effects of the change. I&#39;m not aware of any, but I
496 guess we will see if the change is safe after some more testing.
497 Perhaps there is some package in Debian depending on sync() and
498 fsync() having effect? Perhaps it should go into its own udeb, to
499 allow those of us wanting to enable it to do so without affecting
500 everyone.&lt;/p&gt;
501
502 &lt;p&gt;Update 2014-09-24: Since a few days ago, enabling this optimization
503 will break installation of all programs using gnutls because of
504 &lt;a href=&quot;https://bugs.debian.org/702711&quot;&gt;bug #702711. An updated
505 eatmydata package in Debian will solve it.&lt;/p&gt;
506 </description>
507 </item>
508
509 <item>
510 <title>Good bye subkeys.pgp.net, welcome pool.sks-keyservers.net</title>
511 <link>http://people.skolelinux.org/pere/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html</link>
512 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html</guid>
513 <pubDate>Wed, 10 Sep 2014 13:10:00 +0200</pubDate>
514 <description>&lt;p&gt;Yesterday, I had the pleasure of attending a talk with the
515 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group&lt;/a&gt; about
516 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20140909-sks-keyservers/&quot;&gt;the
517 OpenPGP keyserver pool sks-keyservers.net&lt;/a&gt;, and was very happy to
518 learn that there is a large set of publicly available key servers to
519 use when looking for peoples public key. So far I have used
520 subkeys.pgp.net, and some times wwwkeys.nl.pgp.net when the former
521 were misbehaving, but those days are ended. The servers I have used
522 up until yesterday have been slow and some times unavailable. I hope
523 those problems are gone now.&lt;/p&gt;
524
525 &lt;p&gt;Behind the round robin DNS entry of the
526 &lt;a href=&quot;https://sks-keyservers.net/&quot;&gt;sks-keyservers.net&lt;/a&gt; service
527 there is a pool of more than 100 keyservers which are checked every
528 day to ensure they are well connected and up to date. It must be
529 better than what I have used so far. :)&lt;/p&gt;
530
531 &lt;p&gt;Yesterdays speaker told me that the service is the default
532 keyserver provided by the default configuration in GnuPG, but this do
533 not seem to be used in Debian. Perhaps it should?&lt;/p&gt;
534
535 &lt;p&gt;Anyway, I&#39;ve updated my ~/.gnupg/options file to now include this
536 line:&lt;/p&gt;
537
538 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
539 keyserver pool.sks-keyservers.net
540 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
541
542 &lt;p&gt;With GnuPG version 2 one can also locate the keyserver using SRV
543 entries in DNS. Just for fun, I did just that at work, so now every
544 user of GnuPG at the University of Oslo should find a OpenGPG
545 keyserver automatically should their need it:&lt;/p&gt;
546
547 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
548 % host -t srv _pgpkey-http._tcp.uio.no
549 _pgpkey-http._tcp.uio.no has SRV record 0 100 11371 pool.sks-keyservers.net.
550 %
551 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
552
553 &lt;p&gt;Now if only
554 &lt;a href=&quot;http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/&quot;&gt;the
555 HKP lookup protocol&lt;/a&gt; supported finding signature paths, I would be
556 very happy. It can look up a given key or search for a user ID, but I
557 normally do not want that, but to find a trust path from my key to
558 another key. Given a user ID or key ID, I would like to find (and
559 download) the keys representing a signature path from my key to the
560 key in question, to be able to get a trust path between the two keys.
561 This is as far as I can tell not possible today. Perhaps something
562 for a future version of the protocol?&lt;/p&gt;
563 </description>
564 </item>
565
566 </channel>
567 </rss>