]> 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="https://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="https://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="https://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="https://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="https://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="https://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="https://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="https://people.skolelinux.org/pere/blog/tags/dld">dld</a>, <a href="https://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="https://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="https://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="https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="https://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="https://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="https://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="https://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>2022
351 <ul>
352
353 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/02/">February (1)</a></li>
354
355 <li><a href="https://people.skolelinux.org/pere/blog/archive/2022/03/">March (3)</a></li>
356
357 </ul></li>
358
359 <li>2021
360 <ul>
361
362 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/01/">January (2)</a></li>
363
364 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/02/">February (1)</a></li>
365
366 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/05/">May (1)</a></li>
367
368 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/06/">June (1)</a></li>
369
370 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/07/">July (3)</a></li>
371
372 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/08/">August (1)</a></li>
373
374 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/09/">September (1)</a></li>
375
376 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/10/">October (1)</a></li>
377
378 <li><a href="https://people.skolelinux.org/pere/blog/archive/2021/12/">December (1)</a></li>
379
380 </ul></li>
381
382 <li>2020
383 <ul>
384
385 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/02/">February (2)</a></li>
386
387 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/03/">March (2)</a></li>
388
389 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/04/">April (2)</a></li>
390
391 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/05/">May (3)</a></li>
392
393 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/06/">June (2)</a></li>
394
395 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/07/">July (1)</a></li>
396
397 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/09/">September (1)</a></li>
398
399 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/10/">October (1)</a></li>
400
401 <li><a href="https://people.skolelinux.org/pere/blog/archive/2020/11/">November (1)</a></li>
402
403 </ul></li>
404
405 <li>2019
406 <ul>
407
408 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/01/">January (4)</a></li>
409
410 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/02/">February (3)</a></li>
411
412 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/03/">March (3)</a></li>
413
414 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/05/">May (2)</a></li>
415
416 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/06/">June (5)</a></li>
417
418 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/07/">July (2)</a></li>
419
420 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/08/">August (1)</a></li>
421
422 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/09/">September (1)</a></li>
423
424 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/11/">November (1)</a></li>
425
426 <li><a href="https://people.skolelinux.org/pere/blog/archive/2019/12/">December (4)</a></li>
427
428 </ul></li>
429
430 <li>2018
431 <ul>
432
433 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/01/">January (1)</a></li>
434
435 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/02/">February (5)</a></li>
436
437 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/03/">March (5)</a></li>
438
439 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/04/">April (3)</a></li>
440
441 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/06/">June (2)</a></li>
442
443 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/07/">July (5)</a></li>
444
445 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/08/">August (3)</a></li>
446
447 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/09/">September (3)</a></li>
448
449 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/10/">October (5)</a></li>
450
451 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/11/">November (2)</a></li>
452
453 <li><a href="https://people.skolelinux.org/pere/blog/archive/2018/12/">December (4)</a></li>
454
455 </ul></li>
456
457 <li>2017
458 <ul>
459
460 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
461
462 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/02/">February (3)</a></li>
463
464 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/03/">March (5)</a></li>
465
466 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/04/">April (2)</a></li>
467
468 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/06/">June (5)</a></li>
469
470 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/07/">July (1)</a></li>
471
472 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/08/">August (1)</a></li>
473
474 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/09/">September (3)</a></li>
475
476 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/10/">October (5)</a></li>
477
478 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/11/">November (3)</a></li>
479
480 <li><a href="https://people.skolelinux.org/pere/blog/archive/2017/12/">December (4)</a></li>
481
482 </ul></li>
483
484 <li>2016
485 <ul>
486
487 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
488
489 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
490
491 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
492
493 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
494
495 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
496
497 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
498
499 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
500
501 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
502
503 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
504
505 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
506
507 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
508
509 <li><a href="https://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
510
511 </ul></li>
512
513 <li>2015
514 <ul>
515
516 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
517
518 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
519
520 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
521
522 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
523
524 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
525
526 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
527
528 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
529
530 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
531
532 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
533
534 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
535
536 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
537
538 <li><a href="https://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
539
540 </ul></li>
541
542 <li>2014
543 <ul>
544
545 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
546
547 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
548
549 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
550
551 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
552
553 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
554
555 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
556
557 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
558
559 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
560
561 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
562
563 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
564
565 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
566
567 <li><a href="https://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
568
569 </ul></li>
570
571 <li>2013
572 <ul>
573
574 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
575
576 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
577
578 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
579
580 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
581
582 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
583
584 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
585
586 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
587
588 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
589
590 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
591
592 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
593
594 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
595
596 <li><a href="https://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
597
598 </ul></li>
599
600 <li>2012
601 <ul>
602
603 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
604
605 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
606
607 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
608
609 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
610
611 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
612
613 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
614
615 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
616
617 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
618
619 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
620
621 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
622
623 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
624
625 <li><a href="https://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
626
627 </ul></li>
628
629 <li>2011
630 <ul>
631
632 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
633
634 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
635
636 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
637
638 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
639
640 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
641
642 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
643
644 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
645
646 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
647
648 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
649
650 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
651
652 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
653
654 <li><a href="https://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
655
656 </ul></li>
657
658 <li>2010
659 <ul>
660
661 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
662
663 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
664
665 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
666
667 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
668
669 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
670
671 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
672
673 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
674
675 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
676
677 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
678
679 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
680
681 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
682
683 <li><a href="https://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
684
685 </ul></li>
686
687 <li>2009
688 <ul>
689
690 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
691
692 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
693
694 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
695
696 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
697
698 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
699
700 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
701
702 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
703
704 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
705
706 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
707
708 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
709
710 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
711
712 <li><a href="https://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
713
714 </ul></li>
715
716 <li>2008
717 <ul>
718
719 <li><a href="https://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
720
721 <li><a href="https://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
722
723 </ul></li>
724
725 </ul>
726
727
728
729 <h2>Tags</h2>
730 <ul>
731
732 <li><a href="https://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (17)</a></li>
733
734 <li><a href="https://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
735
736 <li><a href="https://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
737
738 <li><a href="https://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
739
740 <li><a href="https://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (9)</a></li>
741
742 <li><a href="https://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (12)</a></li>
743
744 <li><a href="https://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (17)</a></li>
745
746 <li><a href="https://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
747
748 <li><a href="https://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
749
750 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian">debian (178)</a></li>
751
752 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (159)</a></li>
753
754 <li><a href="https://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (8)</a></li>
755
756 <li><a href="https://people.skolelinux.org/pere/blog/tags/digistan">digistan (11)</a></li>
757
758 <li><a href="https://people.skolelinux.org/pere/blog/tags/dld">dld (18)</a></li>
759
760 <li><a href="https://people.skolelinux.org/pere/blog/tags/docbook">docbook (30)</a></li>
761
762 <li><a href="https://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
763
764 <li><a href="https://people.skolelinux.org/pere/blog/tags/english">english (432)</a></li>
765
766 <li><a href="https://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
767
768 <li><a href="https://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (14)</a></li>
769
770 <li><a href="https://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (34)</a></li>
771
772 <li><a href="https://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
773
774 <li><a href="https://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (20)</a></li>
775
776 <li><a href="https://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
777
778 <li><a href="https://people.skolelinux.org/pere/blog/tags/intervju">intervju (43)</a></li>
779
780 <li><a href="https://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (16)</a></li>
781
782 <li><a href="https://people.skolelinux.org/pere/blog/tags/kart">kart (23)</a></li>
783
784 <li><a href="https://people.skolelinux.org/pere/blog/tags/kodi">kodi (4)</a></li>
785
786 <li><a href="https://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
787
788 <li><a href="https://people.skolelinux.org/pere/blog/tags/lego">lego (5)</a></li>
789
790 <li><a href="https://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
791
792 <li><a href="https://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
793
794 <li><a href="https://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
795
796 <li><a href="https://people.skolelinux.org/pere/blog/tags/madewithcc">madewithcc (3)</a></li>
797
798 <li><a href="https://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
799
800 <li><a href="https://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (42)</a></li>
801
802 <li><a href="https://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (13)</a></li>
803
804 <li><a href="https://people.skolelinux.org/pere/blog/tags/noark5">noark5 (23)</a></li>
805
806 <li><a href="https://people.skolelinux.org/pere/blog/tags/norsk">norsk (320)</a></li>
807
808 <li><a href="https://people.skolelinux.org/pere/blog/tags/nuug">nuug (198)</a></li>
809
810 <li><a href="https://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (40)</a></li>
811
812 <li><a href="https://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
813
814 <li><a href="https://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (75)</a></li>
815
816 <li><a href="https://people.skolelinux.org/pere/blog/tags/personvern">personvern (114)</a></li>
817
818 <li><a href="https://people.skolelinux.org/pere/blog/tags/raid">raid (2)</a></li>
819
820 <li><a href="https://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
821
822 <li><a href="https://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
823
824 <li><a href="https://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
825
826 <li><a href="https://people.skolelinux.org/pere/blog/tags/robot">robot (14)</a></li>
827
828 <li><a href="https://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
829
830 <li><a href="https://people.skolelinux.org/pere/blog/tags/ruter">ruter (7)</a></li>
831
832 <li><a href="https://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
833
834 <li><a href="https://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (59)</a></li>
835
836 <li><a href="https://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
837
838 <li><a href="https://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
839
840 <li><a href="https://people.skolelinux.org/pere/blog/tags/standard">standard (71)</a></li>
841
842 <li><a href="https://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (7)</a></li>
843
844 <li><a href="https://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (14)</a></li>
845
846 <li><a href="https://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (62)</a></li>
847
848 <li><a href="https://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (5)</a></li>
849
850 <li><a href="https://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
851
852 <li><a href="https://people.skolelinux.org/pere/blog/tags/valg">valg (9)</a></li>
853
854 <li><a href="https://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (20)</a></li>
855
856 <li><a href="https://people.skolelinux.org/pere/blog/tags/video">video (76)</a></li>
857
858 <li><a href="https://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
859
860 <li><a href="https://people.skolelinux.org/pere/blog/tags/web">web (42)</a></li>
861
862 </ul>
863
864
865 </div>
866 <p style="text-align: right">
867 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
868 </p>
869
870 </body>
871 </html>