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">
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" />
15 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
22 <h3>Entries from November
2011.
</h3>
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>
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>
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>
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>
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>
65 use File::Temp qw(tempdir);
67 # Install needed RHEL packages if missing
69 'XML::Simple' =
> 'perl-XML-Simple',
71 for my $module (keys %rhelmodules) {
74 my $pkg = $rhelmodules{$module};
75 system("yum install -y $pkg");
80 my $errorsto = 'pere@hungry.com';
86 sub run_firmware_script {
87 my ($opts, $script) = @_;
89 print STDERR "fail: missing script name\n";
92 print STDERR "Running $script\n\n";
94 if (
0 == system("sh $script $opts")) { # FIXME correct exit code handling
95 print STDERR "success: firmware script ran succcessfully\n";
97 print STDERR "fail: firmware script returned error\n";
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");
117 print STDERR "info: Downloading $url\n";
118 system("wget --quiet \"$url\"");
123 my $product = `dmidecode -s system-product-name`;
126 if ($product =~ m/PowerEdge/) {
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');
131 my $tmpdir = tempdir(
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
141 for my $url (@paths) {
144 run_firmware_scripts($fwopts, $tmpdir);
146 print STDERR
"error: Unsupported Dell model '$product'.\n";
147 print STDERR
"error: Please report to $errorsto.\n";
151 print STDERR
"error: Unsupported Dell model '$product'.\n";
152 print STDERR
"error: Please report to $errorsto.\n";
158 my $url =
"ftp://ftp.us.dell.com/$path";
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;
168 my $product = `dmidecode -s system-product-name`;
170 my ($mybrand, $mymodel) = split(/\s+/, $product);
172 print STDERR
"Finding firmware bundles for $mybrand $mymodel\n";
174 my $xml = XMLin($filename);
176 for my $bundle (@{$xml-
>{SoftwareBundle}}) {
177 my $brand = $bundle-
>{TargetSystems}-
>{Brand}-
>{Display}-
>{content};
178 my $model = $bundle-
>{TargetSystems}-
>{Brand}-
>{Model}-
>{Display}-
>{content};
180 if ("ARRAY" eq ref $bundle-
>{TargetOSes}-
>{OperatingSystem}) {
181 $oscode = $bundle-
>{TargetOSes}-
>{OperatingSystem}[
0]-
>{osCode};
183 $oscode = $bundle-
>{TargetOSes}-
>{OperatingSystem}-
>{osCode};
185 if ($mybrand eq $brand && $mymodel eq $model && "LIN" eq $oscode)
187 @paths = map { $_-
>{path} } @{$bundle-
>{Contents}-
>{Package}};
190 for my $component (@{$xml-
>{SoftwareComponent}}) {
191 my $componenttype = $component-
>{ComponentType}-
>{value};
193 # Drop application packages, only firmware and BIOS
194 next if 'APAC' eq $componenttype;
196 my $cpath = $component-
>{path};
197 for my $path (@paths) {
198 if ($cpath =~ m%/$path$%) {
199 push(@paths, $cpath);
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
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>.
222 <div class=
"padding"></div>
226 <a href=
"http://people.skolelinux.org/pere/blog/St_tt_Digitalt_Personvern_.html">Støtt Digitalt Personvern!
</a>
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>
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>
250 <a href=
"http://www.digitaltpersonvern.no/bidra/">donasjonssiden
</a>
251 til Digitalt Personvern for å finne kontonummer som kan brukes for å
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>
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>
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>
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>
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>
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>
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
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>
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>
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>.
298 <div class=
"padding"></div>
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>
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>
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>
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
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>.
340 <div class=
"padding"></div>
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>
353 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2020/02/">February (
2)
</a></li>
360 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/01/">January (
4)
</a></li>
362 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/02/">February (
3)
</a></li>
364 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/03/">March (
3)
</a></li>
366 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/05/">May (
2)
</a></li>
368 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/06/">June (
5)
</a></li>
370 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/07/">July (
2)
</a></li>
372 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/08/">August (
1)
</a></li>
374 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/09/">September (
1)
</a></li>
376 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/11/">November (
1)
</a></li>
378 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2019/12/">December (
4)
</a></li>
385 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/01/">January (
1)
</a></li>
387 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/02/">February (
5)
</a></li>
389 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/03/">March (
5)
</a></li>
391 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/04/">April (
3)
</a></li>
393 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/06/">June (
2)
</a></li>
395 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/07/">July (
5)
</a></li>
397 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/08/">August (
3)
</a></li>
399 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/09/">September (
3)
</a></li>
401 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/10/">October (
5)
</a></li>
403 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/11/">November (
2)
</a></li>
405 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2018/12/">December (
4)
</a></li>
412 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/01/">January (
4)
</a></li>
414 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/02/">February (
3)
</a></li>
416 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/03/">March (
5)
</a></li>
418 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/04/">April (
2)
</a></li>
420 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/06/">June (
5)
</a></li>
422 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/07/">July (
1)
</a></li>
424 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/08/">August (
1)
</a></li>
426 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/09/">September (
3)
</a></li>
428 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/10/">October (
5)
</a></li>
430 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/11/">November (
3)
</a></li>
432 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2017/12/">December (
4)
</a></li>
439 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/01/">January (
3)
</a></li>
441 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/02/">February (
2)
</a></li>
443 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/03/">March (
3)
</a></li>
445 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/04/">April (
8)
</a></li>
447 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/05/">May (
8)
</a></li>
449 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/06/">June (
2)
</a></li>
451 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/07/">July (
2)
</a></li>
453 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/08/">August (
5)
</a></li>
455 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/09/">September (
2)
</a></li>
457 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/10/">October (
3)
</a></li>
459 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/11/">November (
8)
</a></li>
461 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2016/12/">December (
5)
</a></li>
468 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/01/">January (
7)
</a></li>
470 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/02/">February (
6)
</a></li>
472 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/03/">March (
1)
</a></li>
474 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/04/">April (
4)
</a></li>
476 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/05/">May (
3)
</a></li>
478 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/06/">June (
4)
</a></li>
480 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/07/">July (
6)
</a></li>
482 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/08/">August (
2)
</a></li>
484 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/09/">September (
2)
</a></li>
486 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/10/">October (
9)
</a></li>
488 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/11/">November (
6)
</a></li>
490 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2015/12/">December (
3)
</a></li>
497 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/01/">January (
2)
</a></li>
499 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/02/">February (
3)
</a></li>
501 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/03/">March (
8)
</a></li>
503 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/04/">April (
7)
</a></li>
505 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/05/">May (
1)
</a></li>
507 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/06/">June (
2)
</a></li>
509 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/07/">July (
2)
</a></li>
511 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/08/">August (
2)
</a></li>
513 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/09/">September (
5)
</a></li>
515 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/10/">October (
6)
</a></li>
517 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/11/">November (
3)
</a></li>
519 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2014/12/">December (
5)
</a></li>
526 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/01/">January (
11)
</a></li>
528 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/02/">February (
9)
</a></li>
530 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/03/">March (
9)
</a></li>
532 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/04/">April (
6)
</a></li>
534 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/05/">May (
9)
</a></li>
536 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/06/">June (
10)
</a></li>
538 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/07/">July (
7)
</a></li>
540 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/08/">August (
3)
</a></li>
542 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/09/">September (
5)
</a></li>
544 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/10/">October (
7)
</a></li>
546 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/11/">November (
9)
</a></li>
548 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2013/12/">December (
3)
</a></li>
555 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/01/">January (
7)
</a></li>
557 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/02/">February (
10)
</a></li>
559 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/03/">March (
17)
</a></li>
561 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/04/">April (
12)
</a></li>
563 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/05/">May (
12)
</a></li>
565 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/06/">June (
20)
</a></li>
567 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/07/">July (
17)
</a></li>
569 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/08/">August (
6)
</a></li>
571 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/09/">September (
9)
</a></li>
573 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/10/">October (
17)
</a></li>
575 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/11/">November (
10)
</a></li>
577 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2012/12/">December (
7)
</a></li>
584 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/01/">January (
16)
</a></li>
586 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/02/">February (
6)
</a></li>
588 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/03/">March (
6)
</a></li>
590 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/04/">April (
7)
</a></li>
592 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/05/">May (
3)
</a></li>
594 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/06/">June (
2)
</a></li>
596 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/07/">July (
7)
</a></li>
598 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/08/">August (
6)
</a></li>
600 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/09/">September (
4)
</a></li>
602 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/10/">October (
2)
</a></li>
604 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/11/">November (
3)
</a></li>
606 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2011/12/">December (
1)
</a></li>
613 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/01/">January (
2)
</a></li>
615 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/02/">February (
1)
</a></li>
617 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/03/">March (
3)
</a></li>
619 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/04/">April (
3)
</a></li>
621 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/05/">May (
9)
</a></li>
623 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/06/">June (
14)
</a></li>
625 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/07/">July (
12)
</a></li>
627 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/08/">August (
13)
</a></li>
629 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/09/">September (
7)
</a></li>
631 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/10/">October (
9)
</a></li>
633 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/11/">November (
13)
</a></li>
635 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2010/12/">December (
12)
</a></li>
642 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/01/">January (
8)
</a></li>
644 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/02/">February (
8)
</a></li>
646 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/03/">March (
12)
</a></li>
648 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/04/">April (
10)
</a></li>
650 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/05/">May (
9)
</a></li>
652 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/06/">June (
3)
</a></li>
654 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/07/">July (
4)
</a></li>
656 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/08/">August (
3)
</a></li>
658 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/09/">September (
1)
</a></li>
660 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/10/">October (
2)
</a></li>
662 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/11/">November (
3)
</a></li>
664 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2009/12/">December (
3)
</a></li>
671 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/11/">November (
5)
</a></li>
673 <li><a href=
"http://people.skolelinux.org/pere/blog/archive/2008/12/">December (
7)
</a></li>
684 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (
16)
</a></li>
686 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/amiga">amiga (
1)
</a></li>
688 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/aros">aros (
1)
</a></li>
690 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bankid">bankid (
4)
</a></li>
692 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/betalkontant">betalkontant (
8)
</a></li>
694 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (
11)
</a></li>
696 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (
17)
</a></li>
698 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/bsa">bsa (
2)
</a></li>
700 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (
2)
</a></li>
702 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian">debian (
168)
</a></li>
704 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (
158)
</a></li>
706 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/debian-handbook">debian-handbook (
4)
</a></li>
708 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/digistan">digistan (
11)
</a></li>
710 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/dld">dld (
17)
</a></li>
712 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/docbook">docbook (
26)
</a></li>
714 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (
4)
</a></li>
716 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/english">english (
412)
</a></li>
718 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (
23)
</a></li>
720 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (
14)
</a></li>
722 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (
34)
</a></li>
724 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (
9)
</a></li>
726 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (
20)
</a></li>
728 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/h264">h264 (
20)
</a></li>
730 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/intervju">intervju (
42)
</a></li>
732 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (
16)
</a></li>
734 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kart">kart (
22)
</a></li>
736 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/kodi">kodi (
4)
</a></li>
738 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ldap">ldap (
9)
</a></li>
740 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lego">lego (
4)
</a></li>
742 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lenker">lenker (
8)
</a></li>
744 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (
2)
</a></li>
746 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (
1)
</a></li>
748 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (
8)
</a></li>
750 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (
42)
</a></li>
752 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (
12)
</a></li>
754 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/noark5">noark5 (
21)
</a></li>
756 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/norsk">norsk (
311)
</a></li>
758 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/nuug">nuug (
196)
</a></li>
760 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (
37)
</a></li>
762 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/open311">open311 (
2)
</a></li>
764 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (
75)
</a></li>
766 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/personvern">personvern (
111)
</a></li>
768 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/raid">raid (
2)
</a></li>
770 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reactos">reactos (
1)
</a></li>
772 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/reprap">reprap (
11)
</a></li>
774 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rfid">rfid (
3)
</a></li>
776 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/robot">robot (
12)
</a></li>
778 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/rss">rss (
1)
</a></li>
780 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/ruter">ruter (
7)
</a></li>
782 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (
2)
</a></li>
784 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (
56)
</a></li>
786 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (
4)
</a></li>
788 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (
5)
</a></li>
790 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/standard">standard (
69)
</a></li>
792 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (
6)
</a></li>
794 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (
12)
</a></li>
796 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (
57)
</a></li>
798 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (
4)
</a></li>
800 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/usenix">usenix (
2)
</a></li>
802 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/valg">valg (
9)
</a></li>
804 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/verkidetfri">verkidetfri (
17)
</a></li>
806 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/video">video (
73)
</a></li>
808 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (
4)
</a></li>
810 <li><a href=
"http://people.skolelinux.org/pere/blog/tags/web">web (
42)
</a></li>
816 <p style=
"text-align: right">
817 Created by
<a href=
"http://steve.org.uk/Software/chronicle">Chronicle v4.6
</a>