]> pere.pagekite.me Git - homepage.git/blob - blog/tags/sysadmin/index.html
a13f664204e8f283b4f0555b79ca245970a2b51d
[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>2017
213 <ul>
214
215 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/01/">January (4)</a></li>
216
217 <li><a href="http://people.skolelinux.org/pere/blog/archive/2017/02/">February (2)</a></li>
218
219 </ul></li>
220
221 <li>2016
222 <ul>
223
224 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/01/">January (3)</a></li>
225
226 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/02/">February (2)</a></li>
227
228 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/03/">March (3)</a></li>
229
230 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/04/">April (8)</a></li>
231
232 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/05/">May (8)</a></li>
233
234 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/06/">June (2)</a></li>
235
236 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/07/">July (2)</a></li>
237
238 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/08/">August (5)</a></li>
239
240 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/09/">September (2)</a></li>
241
242 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
243
244 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
245
246 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
247
248 </ul></li>
249
250 <li>2015
251 <ul>
252
253 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/01/">January (7)</a></li>
254
255 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/02/">February (6)</a></li>
256
257 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/03/">March (1)</a></li>
258
259 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/04/">April (4)</a></li>
260
261 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/05/">May (3)</a></li>
262
263 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/06/">June (4)</a></li>
264
265 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/07/">July (6)</a></li>
266
267 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/08/">August (2)</a></li>
268
269 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/09/">September (2)</a></li>
270
271 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/10/">October (9)</a></li>
272
273 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/11/">November (6)</a></li>
274
275 <li><a href="http://people.skolelinux.org/pere/blog/archive/2015/12/">December (3)</a></li>
276
277 </ul></li>
278
279 <li>2014
280 <ul>
281
282 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
283
284 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
285
286 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
287
288 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
289
290 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
291
292 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
293
294 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
295
296 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
297
298 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
299
300 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
301
302 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
303
304 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (5)</a></li>
305
306 </ul></li>
307
308 <li>2013
309 <ul>
310
311 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
312
313 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
314
315 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
316
317 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
318
319 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
320
321 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
322
323 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
324
325 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
326
327 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
328
329 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
330
331 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
332
333 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
334
335 </ul></li>
336
337 <li>2012
338 <ul>
339
340 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
341
342 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
343
344 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
345
346 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
347
348 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
349
350 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
351
352 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
353
354 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
355
356 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
357
358 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
359
360 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
361
362 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
363
364 </ul></li>
365
366 <li>2011
367 <ul>
368
369 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
370
371 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
372
373 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
374
375 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
376
377 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
378
379 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
380
381 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
382
383 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
384
385 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
386
387 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
388
389 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
390
391 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
392
393 </ul></li>
394
395 <li>2010
396 <ul>
397
398 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
399
400 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
401
402 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
403
404 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
405
406 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
407
408 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
409
410 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
411
412 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
413
414 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
415
416 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
417
418 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
419
420 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
421
422 </ul></li>
423
424 <li>2009
425 <ul>
426
427 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
428
429 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
430
431 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
432
433 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
434
435 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
436
437 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
438
439 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
440
441 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
442
443 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
444
445 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
446
447 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
448
449 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
450
451 </ul></li>
452
453 <li>2008
454 <ul>
455
456 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
457
458 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
459
460 </ul></li>
461
462 </ul>
463
464
465
466 <h2>Tags</h2>
467 <ul>
468
469 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
470
471 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
472
473 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
474
475 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
476
477 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (9)</a></li>
478
479 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (16)</a></li>
480
481 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
482
483 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
484
485 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (145)</a></li>
486
487 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
488
489 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
490
491 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (16)</a></li>
492
493 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (23)</a></li>
494
495 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
496
497 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (340)</a></li>
498
499 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
500
501 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
502
503 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (29)</a></li>
504
505 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
506
507 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (18)</a></li>
508
509 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264">h264 (20)</a></li>
510
511 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
512
513 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (15)</a></li>
514
515 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (20)</a></li>
516
517 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
518
519 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
520
521 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
522
523 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
524
525 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
526
527 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (39)</a></li>
528
529 <li><a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software (9)</a></li>
530
531 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (287)</a></li>
532
533 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (186)</a></li>
534
535 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (28)</a></li>
536
537 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
538
539 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (64)</a></li>
540
541 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (99)</a></li>
542
543 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
544
545 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
546
547 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
548
549 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
550
551 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (10)</a></li>
552
553 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
554
555 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (5)</a></li>
556
557 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
558
559 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (52)</a></li>
560
561 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
562
563 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (5)</a></li>
564
565 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (50)</a></li>
566
567 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (5)</a></li>
568
569 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (11)</a></li>
570
571 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (47)</a></li>
572
573 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (2)</a></li>
574
575 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix">usenix (2)</a></li>
576
577 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
578
579 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (59)</a></li>
580
581 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
582
583 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (40)</a></li>
584
585 </ul>
586
587
588 </div>
589 <p style="text-align: right">
590 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
591 </p>
592
593 </body>
594 </html>