]> pere.pagekite.me Git - homepage.git/blob - blog/tags/sysadmin/index.html
451fa22e655765379940dbe2daf974bb3a2dc6d8
[homepage.git] / blog / tags / sysadmin / 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 Tagged sysadmin</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="sysadmin.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <div class="title">
13 <h1>
14 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21 <h3>Entries tagged "sysadmin".</h3>
22
23 <div class="entry">
24 <div class="title">
25 <a href="http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html">Debian Jessie, PXE and automatic firmware installation</a>
26 </div>
27 <div class="date">
28 17th October 2014
29 </div>
30 <div class="body">
31 <p>When PXE installing laptops with Debian, I often run into the
32 problem that the WiFi card require some firmware to work properly.
33 And it has been a pain to fix this using preseeding in Debian.
34 Normally something more is needed. But thanks to
35 <a href="https://packages.qa.debian.org/i/isenkram.html">my isenkram
36 package</a> and its recent tasksel extension, it has now become easy
37 to do this using simple preseeding.</p>
38
39 <p>The isenkram-cli package provide tasksel tasks which will install
40 firmware for the hardware found in the machine (actually, requested by
41 the kernel modules for the hardware). (It can also install user space
42 programs supporting the hardware detected, but that is not the focus
43 of this story.)</p>
44
45 <p>To get this working in the default installation, two preeseding
46 values are needed. First, the isenkram-cli package must be installed
47 into the target chroot (aka the hard drive) before tasksel is executed
48 in the pkgsel step of the debian-installer system. This is done by
49 preseeding the base-installer/includes debconf value to include the
50 isenkram-cli package. The package name is next passed to debootstrap
51 for installation. With the isenkram-cli package in place, tasksel
52 will automatically use the isenkram tasks to detect hardware specific
53 packages for the machine being installed and install them, because
54 isenkram-cli contain tasksel tasks.</p>
55
56 <p>Second, one need to enable the non-free APT repository, because
57 most firmware unfortunately is non-free. This is done by preseeding
58 the apt-mirror-setup step. This is unfortunate, but for a lot of
59 hardware it is the only option in Debian.</p>
60
61 <p>The end result is two lines needed in your preseeding file to get
62 firmware installed automatically by the installer:</p>
63
64 <p><blockquote><pre>
65 base-installer base-installer/includes string isenkram-cli
66 apt-mirror-setup apt-setup/non-free boolean true
67 </pre></blockquote></p>
68
69 <p>The current version of isenkram-cli in testing/jessie will install
70 both firmware and user space packages when using this method. It also
71 do not work well, so use version 0.15 or later. Installing both
72 firmware and user space packages might give you a bit more than you
73 want, so I decided to split the tasksel task in two, one for firmware
74 and one for user space programs. The firmware task is enabled by
75 default, while the one for user space programs is not. This split is
76 implemented in the package currently in unstable.</p>
77
78 <p>If you decide to give this a go, please let me know (via email) how
79 this recipe work for you. :)</p>
80
81 <p>So, I bet you are wondering, how can this work. First and
82 foremost, it work because tasksel is modular, and driven by whatever
83 files it find in /usr/lib/tasksel/ and /usr/share/tasksel/. So the
84 isenkram-cli package place two files for tasksel to find. First there
85 is the task description file (/usr/share/tasksel/descs/isenkram.desc):</p>
86
87 <p><blockquote><pre>
88 Task: isenkram-packages
89 Section: hardware
90 Description: Hardware specific packages (autodetected by isenkram)
91 Based on the detected hardware various hardware specific packages are
92 proposed.
93 Test-new-install: show show
94 Relevance: 8
95 Packages: for-current-hardware
96
97 Task: isenkram-firmware
98 Section: hardware
99 Description: Hardware specific firmware packages (autodetected by isenkram)
100 Based on the detected hardware various hardware specific firmware
101 packages are proposed.
102 Test-new-install: mark show
103 Relevance: 8
104 Packages: for-current-hardware-firmware
105 </pre></blockquote></p>
106
107 <p>The key parts are Test-new-install which indicate how the task
108 should be handled and the Packages line referencing to a script in
109 /usr/lib/tasksel/packages/. The scripts use other scripts to get a
110 list of packages to install. The for-current-hardware-firmware script
111 look like this to list relevant firmware for the machine:
112
113 <p><blockquote><pre>
114 #!/bin/sh
115 #
116 PATH=/usr/sbin:$PATH
117 export PATH
118 isenkram-autoinstall-firmware -l
119 </pre></blockquote></p>
120
121 <p>With those two pieces in place, the firmware is installed by
122 tasksel during the normal d-i run. :)</p>
123
124 <p>If you want to test what tasksel will install when isenkram-cli is
125 installed, run <tt>DEBIAN_PRIORITY=critical tasksel --test
126 --new-install</tt> to get the list of packages that tasksel would
127 install.</p>
128
129 <p><a href="https://wiki.debian.org/DebianEdu/">Debian Edu</a> will be
130 pilots in testing this feature, as isenkram is used there now to
131 install firmware, replacing the earlier scripts.</p>
132
133 </div>
134 <div class="tags">
135
136
137 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin</a>.
138
139
140 </div>
141 </div>
142 <div class="padding"></div>
143
144 <div class="entry">
145 <div class="title">
146 <a href="http://people.skolelinux.org/pere/blog/Scripting_the_Cerebrum_bofhd_user_administration_system_using_XML_RPC.html">Scripting the Cerebrum/bofhd user administration system using XML-RPC</a>
147 </div>
148 <div class="date">
149 6th December 2012
150 </div>
151 <div class="body">
152 <p>Where I work at the <a href="http://www.uio.no/">University of
153 Oslo</a>, we use the
154 <a href="http://sourceforge.net/projects/cerebrum/">Cerebrum user
155 administration system</a> to maintain users, groups, DNS, DHCP, etc.
156 I've known since the system was written that the server is providing
157 an <a href="http://en.wikipedia.org/wiki/XML-RPC">XML-RPC</a> API, but
158 I have never spent time to try to figure out how to use it, as we
159 always use the bofh command line client at work. Until today. I want
160 to script the updating of DNS and DHCP to make it easier to set up
161 virtual machines. Here are a few notes on how to use it with
162 Python.</p>
163
164 <p>I started by looking at the source of the Java
165 <a href="http://cerebrum.svn.sourceforge.net/viewvc/cerebrum/trunk/cerebrum/clients/jbofh/">bofh
166 client</a>, to figure out how it connected to the API server. I also
167 googled for python examples on how to use XML-RPC, and found
168 <a href="http://tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-python.html">a
169 simple example in</a> the XML-RPC howto.</p>
170
171 <p>This simple example code show how to connect, get the list of
172 commands (as a JSON dump), and how to get the information about the
173 user currently logged in:</p>
174
175 <blockquote><pre>
176 #!/usr/bin/env python
177 import getpass
178 import xmlrpclib
179 server_url = 'https://cerebrum-uio.uio.no:8000';
180 username = getpass.getuser()
181 password = getpass.getpass()
182 server = xmlrpclib.Server(server_url);
183 #print server.get_commands(sessionid)
184 sessionid = server.login(username, password)
185 print server.run_command(sessionid, "user_info", username)
186 result = server.logout(sessionid)
187 print result
188 </pre></blockquote>
189
190 <p>Armed with this knowledge I can now move forward and script the DNS
191 and DHCP updates I wanted to do.</p>
192
193 </div>
194 <div class="tags">
195
196
197 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin</a>.
198
199
200 </div>
201 </div>
202 <div class="padding"></div>
203
204 <p style="text-align: right;"><a href="sysadmin.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
205 <div id="sidebar">
206
207
208
209 <h2>Archive</h2>
210 <ul>
211
212 <li>2016
213 <ul>
214
215 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
216
217 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
218
219 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
220
221 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
222
223 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
224
225 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
226
227 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
228
229 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (4)</a></li>
230
231 </ul></li>
232
233 <li>2015
234 <ul>
235
236 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
237
238 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
239
240 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
241
242 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
243
244 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
245
246 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
247
248 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
249
250 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
251
252 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
253
254 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
255
256 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
257
258 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
259
260 </ul></li>
261
262 <li>2014
263 <ul>
264
265 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
266
267 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
268
269 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
270
271 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
272
273 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
274
275 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
276
277 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
278
279 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
280
281 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
282
283 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
284
285 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
286
287 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
288
289 </ul></li>
290
291 <li>2013
292 <ul>
293
294 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
295
296 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
297
298 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
299
300 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
301
302 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
303
304 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
305
306 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
307
308 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
309
310 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
311
312 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
313
314 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
315
316 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
317
318 </ul></li>
319
320 <li>2012
321 <ul>
322
323 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
324
325 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
326
327 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
328
329 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
330
331 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
332
333 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
334
335 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
336
337 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
338
339 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
340
341 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
342
343 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
344
345 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
346
347 </ul></li>
348
349 <li>2011
350 <ul>
351
352 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
353
354 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
355
356 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
357
358 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
359
360 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
361
362 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
363
364 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
365
366 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
367
368 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
369
370 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
371
372 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
373
374 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
375
376 </ul></li>
377
378 <li>2010
379 <ul>
380
381 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
382
383 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
384
385 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
386
387 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
388
389 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
390
391 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
392
393 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
394
395 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
396
397 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
398
399 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
400
401 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
402
403 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
404
405 </ul></li>
406
407 <li>2009
408 <ul>
409
410 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
411
412 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
413
414 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
415
416 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
417
418 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
419
420 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
421
422 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
423
424 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
425
426 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
427
428 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
429
430 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
431
432 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
433
434 </ul></li>
435
436 <li>2008
437 <ul>
438
439 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
440
441 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
442
443 </ul></li>
444
445 </ul>
446
447
448
449 <h2>Tags</h2>
450 <ul>
451
452 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
453
454 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
455
456 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
457
458 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
459
460 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (9)</a></li>
461
462 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (16)</a></li>
463
464 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
465
466 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
467
468 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (134)</a></li>
469
470 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (157)</a></li>
471
472 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
473
474 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (15)</a></li>
475
476 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (23)</a></li>
477
478 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
479
480 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (326)</a></li>
481
482 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
483
484 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
485
486 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (28)</a></li>
487
488 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
489
490 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (18)</a></li>
491
492 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
493
494 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
495
496 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (12)</a></li>
497
498 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (19)</a></li>
499
500 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
501
502 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
503
504 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
505
506 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
507
508 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
509
510 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (39)</a></li>
511
512 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (8)</a></li>
513
514 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (276)</a></li>
515
516 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (182)</a></li>
517
518 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (26)</a></li>
519
520 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
521
522 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (61)</a></li>
523
524 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (92)</a></li>
525
526 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
527
528 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
529
530 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
531
532 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
533
534 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (9)</a></li>
535
536 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
537
538 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
539
540 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
541
542 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (48)</a></li>
543
544 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
545
546 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
547
548 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (49)</a></li>
549
550 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (4)</a></li>
551
552 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (10)</a></li>
553
554 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (37)</a></li>
555
556 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (2)</a></li>
557
558 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
559
560 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
561
562 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (59)</a></li>
563
564 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
565
566 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (38)</a></li>
567
568 </ul>
569
570
571 </div>
572 <p style="text-align: right">
573 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
574 </p>
575
576 </body>
577 </html>