]> pere.pagekite.me Git - homepage.git/blob - blog/archive/2011/11/index.html
Generated.
[homepage.git] / blog / archive / 2011 / 11 / 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 November 2011</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="11.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 November 2011.</h3>
23
24 <div class="entry">
25 <div class="title">
26 <a href="http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html">Automatically upgrading server firmware on Dell PowerEdge</a>
27 </div>
28 <div class="date">
29 21st November 2011
30 </div>
31 <div class="body">
32 <p>At work we have heaps of servers. I believe the total count is
33 around 1000 at the moment. To be able to get help from the vendors
34 when something go wrong, we want to keep the firmware on the servers
35 up to date. If the firmware isn't the latest and greatest, the
36 vendors typically refuse to start debugging any problems until the
37 firmware is upgraded. So before every reboot, we want to upgrade the
38 firmware, and we would really like everyone handling servers at the
39 university to do this themselves when they plan to reboot a machine.
40 For that to happen we at the unix server admin group need to provide
41 the tools to do so.</p>
42
43 <p>To make firmware upgrading easier, I am working on a script to
44 fetch and install the latest firmware for the servers we got. Most of
45 our hardware are from Dell and HP, so I have focused on these servers
46 so far. This blog post is about the Dell part.</P>
47
48 <p>On the Dell FTP site I was lucky enough to find
49 <a href="ftp://ftp.us.dell.com/catalog/Catalog.xml.gz">an XML file</a>
50 with firmware information for all 11th generation servers, listing
51 which firmware should be used on a given model and where on the FTP
52 site I can find it. Using a simple perl XML parser I can then
53 download the shell scripts Dell provides to do firmware upgrades from
54 within Linux and reboot when all the firmware is primed and ready to
55 be activated on the first reboot.</p>
56
57 <p>This is the Dell related fragment of the perl code I am working on.
58 Are there anyone working on similar tools for firmware upgrading all
59 servers at a site? Please get in touch and lets share resources.</p>
60
61 <p><pre>
62 #!/usr/bin/perl
63 use strict;
64 use warnings;
65 use File::Temp qw(tempdir);
66 BEGIN {
67 # Install needed RHEL packages if missing
68 my %rhelmodules = (
69 'XML::Simple' => 'perl-XML-Simple',
70 );
71 for my $module (keys %rhelmodules) {
72 eval "use $module;";
73 if ($@) {
74 my $pkg = $rhelmodules{$module};
75 system("yum install -y $pkg");
76 eval "use $module;";
77 }
78 }
79 }
80 my $errorsto = 'pere@hungry.com';
81
82 upgrade_dell();
83
84 exit 0;
85
86 sub run_firmware_script {
87 my ($opts, $script) = @_;
88 unless ($script) {
89 print STDERR "fail: missing script name\n";
90 exit 1
91 }
92 print STDERR "Running $script\n\n";
93
94 if (0 == system("sh $script $opts")) { # FIXME correct exit code handling
95 print STDERR "success: firmware script ran succcessfully\n";
96 } else {
97 print STDERR "fail: firmware script returned error\n";
98 }
99 }
100
101 sub run_firmware_scripts {
102 my ($opts, @dirs) = @_;
103 # Run firmware packages
104 for my $dir (@dirs) {
105 print STDERR "info: Running scripts in $dir\n";
106 opendir(my $dh, $dir) or die "Unable to open directory $dir: $!";
107 while (my $s = readdir $dh) {
108 next if $s =~ m/^\.\.?/;
109 run_firmware_script($opts, "$dir/$s");
110 }
111 closedir $dh;
112 }
113 }
114
115 sub download {
116 my $url = shift;
117 print STDERR "info: Downloading $url\n";
118 system("wget --quiet \"$url\"");
119 }
120
121 sub upgrade_dell {
122 my @dirs;
123 my $product = `dmidecode -s system-product-name`;
124 chomp $product;
125
126 if ($product =~ m/PowerEdge/) {
127
128 # on RHEL, these pacakges are needed by the firwmare upgrade scripts
129 system('yum install -y compat-libstdc++-33.i686 libstdc++.i686 libxml2.i686 procmail');
130
131 my $tmpdir = tempdir(
132 CLEANUP => 1
133 );
134 chdir($tmpdir);
135 fetch_dell_fw('catalog/Catalog.xml.gz');
136 system('gunzip Catalog.xml.gz');
137 my @paths = fetch_dell_fw_list('Catalog.xml');
138 # -q is quiet, disabling interactivity and reducing console output
139 my $fwopts = "-q";
140 if (@paths) {
141 for my $url (@paths) {
142 fetch_dell_fw($url);
143 }
144 run_firmware_scripts($fwopts, $tmpdir);
145 } else {
146 print STDERR "error: Unsupported Dell model '$product'.\n";
147 print STDERR "error: Please report to $errorsto.\n";
148 }
149 chdir('/');
150 } else {
151 print STDERR "error: Unsupported Dell model '$product'.\n";
152 print STDERR "error: Please report to $errorsto.\n";
153 }
154 }
155
156 sub fetch_dell_fw {
157 my $path = shift;
158 my $url = "ftp://ftp.us.dell.com/$path";
159 download($url);
160 }
161
162 # Using ftp://ftp.us.dell.com/catalog/Catalog.xml.gz, figure out which
163 # firmware packages to download from Dell. Only work for Linux
164 # machines and 11th generation Dell servers.
165 sub fetch_dell_fw_list {
166 my $filename = shift;
167
168 my $product = `dmidecode -s system-product-name`;
169 chomp $product;
170 my ($mybrand, $mymodel) = split(/\s+/, $product);
171
172 print STDERR "Finding firmware bundles for $mybrand $mymodel\n";
173
174 my $xml = XMLin($filename);
175 my @paths;
176 for my $bundle (@{$xml->{SoftwareBundle}}) {
177 my $brand = $bundle->{TargetSystems}->{Brand}->{Display}->{content};
178 my $model = $bundle->{TargetSystems}->{Brand}->{Model}->{Display}->{content};
179 my $oscode;
180 if ("ARRAY" eq ref $bundle->{TargetOSes}->{OperatingSystem}) {
181 $oscode = $bundle->{TargetOSes}->{OperatingSystem}[0]->{osCode};
182 } else {
183 $oscode = $bundle->{TargetOSes}->{OperatingSystem}->{osCode};
184 }
185 if ($mybrand eq $brand && $mymodel eq $model && "LIN" eq $oscode)
186 {
187 @paths = map { $_->{path} } @{$bundle->{Contents}->{Package}};
188 }
189 }
190 for my $component (@{$xml->{SoftwareComponent}}) {
191 my $componenttype = $component->{ComponentType}->{value};
192
193 # Drop application packages, only firmware and BIOS
194 next if 'APAC' eq $componenttype;
195
196 my $cpath = $component->{path};
197 for my $path (@paths) {
198 if ($cpath =~ m%/$path$%) {
199 push(@paths, $cpath);
200 }
201 }
202 }
203 return @paths;
204 }
205 </pre>
206
207 <p>The code is only tested on RedHat Enterprise Linux, but I suspect
208 it could work on other platforms with some tweaking. Anyone know a
209 index like Catalog.xml is available from HP for HP servers? At the
210 moment I maintain a similar list manually and it is quickly getting
211 outdated.</p>
212
213 </div>
214 <div class="tags">
215
216
217 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>.
218
219
220 </div>
221 </div>
222 <div class="padding"></div>
223
224 <div class="entry">
225 <div class="title">
226 <a href="http://people.skolelinux.org/pere/blog/St_tt_Digitalt_Personvern_.html">Støtt Digitalt Personvern!</a>
227 </div>
228 <div class="date">
229 9th November 2011
230 </div>
231 <div class="body">
232 <p>Datalagringsdirektivet er et grotesk angrep på rettsstaten og da
233 det ble vedtatt i Stortinget ble det klart at alle som mener det
234 liberale demokrati bør forsvares måtte stå sammen for å kjempe tilbake
235 de totalitære strømninger i landet. Jeg ble derfor glad over å se at
236 den nyopprettede foreningen Digitalt Personvern startet innsamling
237 2011-10-18 for å gå til sak for å få prøvd lovligheten av direktivet.
238 Direktivet er så langt prøvd for retten i flere land, blant annet
239 Tsjekkia, Romania og Tyskland, og så vidt jeg vet har det hver gang
240 blitt kjent ulovlig av høyesterett eller forfatningsdomstolen i
241 landene. Jeg håper og tror det samme vil skje her i Norge.</p>
242
243 <p>Men for å finne ut av det må det finansiering til. Foreningen
244 Digitalt Personvern tror det trengs minst 2 millioner kroner for å gå
245 til sak og følge saken helt til ende, og i går fikk jeg endelig tid
246 til å overføre min skjerv. Jeg har overført 3000,- til kampanjen, og
247 oppfordrer hver og en av mine lesere å overføre minst like mye.</p>
248
249 <p>Besøk
250 <a href="http://www.digitaltpersonvern.no/bidra/">donasjonssiden</a>
251 til Digitalt Personvern for å finne kontonummer som kan brukes for å
252 bidra.</p>
253
254 <p>Jeg rekker ikke skrive så mye om hvorfor datalagringsdirektivet må
255 stoppes, så jeg nøyer meg denne gangen med en liten liste med lenker
256 til aktuelle artikler og innlegg om temaet.</p>
257
258 <ul>
259
260 <li><a href="http://www.uhuru.biz/?p=662">Skal Telenor forsvare statens
261 bevisregister i retten?</a> - bloggen til Jon Wessel-Aas,
262 bidragsyter til foreningen Digitalt Personvern</li>
263
264 <li><a href="http://voxpublica.no/2011/10/varslere-bør-støtte-kampanjen-digital-personvern/">Varslere
265 bør støtte kampanjen Digitalt Personvern</a> - Vox Publica</li>
266
267 <li><a href="http://www.digi.no/880520/georg-apenes-starter-%ABdigitalt-personvern%BB">Georg
268 Apenes starter «Digitalt personvern»</a> - Digi.no</li>
269
270 <li><a href="http://blogg.abrenna.com/foredrag-om-digitalt-personvern/">Foredrag
271 om Digitalt Personvern</a> - bloggen til Anders Brenna, styremedlem
272 i foreningen Digitalt Personvern</li>
273
274 <li><a href="http://www.nationen.no/2011/10/17/politikk/datalagringsdirektivet/eu/eu-direktiv/regjeringen/6990171/">Organisasjon
275 vil prøve datalagringsdirektivet for retten</a> - artikkel i Nationen</li>
276
277 <li><a href="http://people.skolelinux.org/pere/blog/Martin_Bekkelund__En_stille_b_nn_om_Datalagringsdirektivet.html">Martin
278 Bekkelund: En stille bønn om Datalagringsdirektivet</a> - min
279 blogg</li>
280
281 <li><a href="http://tversover.wordpress.com/2011/10/21/digitalt-personvern-i-praksis/">Digitalt
282 personvern i praksis</a> - bloggen til Espen Andersen</li>
283
284 <li><a href="http://www.dagbladet.no/2011/10/22/kultur/data_og_teknologi/datalagringsdirektivet/tekno/personvern/18692696/">Tar
285 kampen for personvernet til rettsalen</a> - Dagbladet</li>
286
287 </ul>
288
289 </div>
290 <div class="tags">
291
292
293 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/dld">dld</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>.
294
295
296 </div>
297 </div>
298 <div class="padding"></div>
299
300 <div class="entry">
301 <div class="title">
302 <a href="http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK.html">Hvordan enkelt laste ned filmer fra NRK</a>
303 </div>
304 <div class="date">
305 5th November 2011
306 </div>
307 <div class="body">
308 <p>Ofte har jeg lyst til å laste ned et innslag fra NRKs nettsted for
309 å se det senere når jeg ikke er på nett, eller for å ha det
310 tilgjengelig når jeg en gang i fremtiden ønsker å referere til
311 innslaget selv om NRK har fjernet det fra sine nettsider. I dag fant
312 jeg et lite script som fikser jobben.</p>
313
314 <p>Scriptet er laget av Jan Henning Thorsen og tilgjengelig fra
315 <a href="http://jhthorsen.github.com/snippets/nrk-downloader/">github</a>,
316 og gjør det veldig enkelt å laste ned. Kjør <tt>nrk-downloader.sh
317 http://www1.nrk.no/nett-tv/klipp/582810</tt> for å hente ned et enkelt
318 innslag eller <tt>nrk-downloader.sh
319 http://www1.nrk.no/nett-tv/kategori/3521</tt> for å laste ned alle
320 episodene i en serie.</p>
321
322 <p>Det er ikke rakettforskning å laste ned NRK-"strømmer", og
323 tidligere gjorde jeg dette manuelt med mplayer. Scriptet til
324 Hr. Thorsen gjør det raskere og enklere for meg, men jeg vil ikke si
325 at det er en revolusjonerende løsning. Jeg mener jo fortsatt at
326 påstanden fra NRKs ansatte om at det er
327 <a href="http://people.skolelinux.org/pere/blog/Best___ikke_fortelle_noen_at_streaming_er_nedlasting___.html">vesensforskjellig
328 å legge tilgjengelig for nedlasting og for streaming</a> er
329 meningsløs.</p>
330
331 </div>
332 <div class="tags">
333
334
335 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
336
337
338 </div>
339 </div>
340 <div class="padding"></div>
341
342 <p style="text-align: right;"><a href="11.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
343 <div id="sidebar">
344
345
346
347 <h2>Archive</h2>
348 <ul>
349
350 <li>2020
351 <ul>
352
353 <li><a href="http://people.skolelinux.org/pere/blog/archive/2020/02/">February (2)</a></li>
354
355 <li><a href="http://people.skolelinux.org/pere/blog/archive/2020/03/">March (2)</a></li>
356
357 <li><a href="http://people.skolelinux.org/pere/blog/archive/2020/04/">April (2)</a></li>
358
359 <li><a href="http://people.skolelinux.org/pere/blog/archive/2020/05/">May (2)</a></li>
360
361 </ul></li>
362
363 <li>2019
364 <ul>
365
366 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/01/">January (4)</a></li>
367
368 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
369
370 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/03/">March (3)</a></li>
371
372 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/05/">May (2)</a></li>
373
374 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/06/">June (5)</a></li>
375
376 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/07/">July (2)</a></li>
377
378 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/08/">August (1)</a></li>
379
380 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/09/">September (1)</a></li>
381
382 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/11/">November (1)</a></li>
383
384 <li><a href="http://people.skolelinux.org/pere/blog/archive/2019/12/">December (4)</a></li>
385
386 </ul></li>
387
388 <li>2018
389 <ul>
390
391 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
392
393 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
394
395 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
396
397 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
398
399 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
400
401 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
402
403 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
404
405 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
406
407 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
408
409 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
410
411 <li><a href="http://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
412
413 </ul></li>
414
415 <li>2017
416 <ul>
417
418 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
419
420 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
421
422 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
423
424 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
425
426 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
427
428 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
429
430 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
431
432 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
433
434 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
435
436 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
437
438 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
439
440 </ul></li>
441
442 <li>2016
443 <ul>
444
445 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
446
447 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
448
449 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
450
451 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
452
453 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
454
455 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
456
457 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
458
459 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
460
461 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
462
463 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
464
465 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
466
467 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
468
469 </ul></li>
470
471 <li>2015
472 <ul>
473
474 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
475
476 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
477
478 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
479
480 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
481
482 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
483
484 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
485
486 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
487
488 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
489
490 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
491
492 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
493
494 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
495
496 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
497
498 </ul></li>
499
500 <li>2014
501 <ul>
502
503 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
504
505 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
506
507 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
508
509 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
510
511 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
512
513 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
514
515 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
516
517 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
518
519 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
520
521 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
522
523 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
524
525 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
526
527 </ul></li>
528
529 <li>2013
530 <ul>
531
532 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
533
534 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
535
536 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
537
538 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
539
540 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
541
542 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
543
544 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
545
546 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
547
548 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
549
550 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
551
552 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
553
554 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
555
556 </ul></li>
557
558 <li>2012
559 <ul>
560
561 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
562
563 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
564
565 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
566
567 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
568
569 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
570
571 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
572
573 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
574
575 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
576
577 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
578
579 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
580
581 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
582
583 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
584
585 </ul></li>
586
587 <li>2011
588 <ul>
589
590 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
591
592 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
593
594 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
595
596 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
597
598 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
599
600 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
601
602 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
603
604 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
605
606 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
607
608 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
609
610 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
611
612 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
613
614 </ul></li>
615
616 <li>2010
617 <ul>
618
619 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
620
621 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
622
623 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
624
625 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
626
627 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
628
629 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
630
631 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
632
633 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
634
635 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
636
637 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
638
639 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
640
641 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
642
643 </ul></li>
644
645 <li>2009
646 <ul>
647
648 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
649
650 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
651
652 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
653
654 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
655
656 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
657
658 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
659
660 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
661
662 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
663
664 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
665
666 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
667
668 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
669
670 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
671
672 </ul></li>
673
674 <li>2008
675 <ul>
676
677 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
678
679 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
680
681 </ul></li>
682
683 </ul>
684
685
686
687 <h2>Tags</h2>
688 <ul>
689
690 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (16)</a></li>
691
692 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
693
694 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
695
696 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
697
698 <li><a href="http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (8)</a></li>
699
700 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (11)</a></li>
701
702 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
703
704 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
705
706 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
707
708 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (170)</a></li>
709
710 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (159)</a></li>
711
712 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (4)</a></li>
713
714 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
715
716 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (17)</a></li>
717
718 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (26)</a></li>
719
720 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
721
722 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (416)</a></li>
723
724 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
725
726 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
727
728 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (34)</a></li>
729
730 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
731
732 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
733
734 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
735
736 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (43)</a></li>
737
738 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
739
740 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (22)</a></li>
741
742 <li><a href="http://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
743
744 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
745
746 <li><a href="http://people.skolelinux.org/pere/blog/tags/lego">lego (4)</a></li>
747
748 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
749
750 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
751
752 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
753
754 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
755
756 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (42)</a></li>
757
758 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (13)</a></li>
759
760 <li><a href="http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (22)</a></li>
761
762 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (313)</a></li>
763
764 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (197)</a></li>
765
766 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (38)</a></li>
767
768 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
769
770 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (75)</a></li>
771
772 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (111)</a></li>
773
774 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
775
776 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
777
778 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
779
780 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
781
782 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (12)</a></li>
783
784 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
785
786 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (7)</a></li>
787
788 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
789
790 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (57)</a></li>
791
792 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
793
794 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
795
796 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (70)</a></li>
797
798 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
799
800 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (12)</a></li>
801
802 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (59)</a></li>
803
804 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (4)</a></li>
805
806 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
807
808 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
809
810 <li><a href="http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (17)</a></li>
811
812 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (73)</a></li>
813
814 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
815
816 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
817
818 </ul>
819
820
821 </div>
822 <p style="text-align: right">
823 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
824 </p>
825
826 </body>
827 </html>