1 <?xml version=
"1.0" encoding=
"utf-8"?>
2 <rss version='
2.0' xmlns:lj='http://www.livejournal.org/rss/lj/
1.0/' xmlns:
atom=
"http://www.w3.org/2005/Atom">
4 <title>Petter Reinholdtsen
</title>
5 <description></description>
6 <link>http://people.skolelinux.org/pere/blog/
</link>
7 <atom:link href=
"http://people.skolelinux.org/pere/blog/index.rss" rel=
"self" type=
"application/rss+xml" />
10 <title>First Jessie based Debian Edu released (alpha0)
</title>
11 <link>http://people.skolelinux.org/pere/blog/First_Jessie_based_Debian_Edu_released__alpha0_.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/First_Jessie_based_Debian_Edu_released__alpha0_.html
</guid>
13 <pubDate>Mon,
27 Oct
2014 20:
40:
00 +
0100</pubDate>
14 <description><p
>I am happy to report that I just sent out
15 <a href=
"https://lists.debian.org/debian-edu-announce/
2014/
10/msg00000.html
">this
16 announcement
</a
>:
</p
>
19 The Debian Edu Team is pleased to announce the release of Debian Edu
20 Jessie
8.0+edu0~alpha0
22 Debian Edu is a complete operating system for schools. Through its
23 various installation profiles you can install servers, workstations
24 and laptops which will work together on the school network. With
25 Debian Edu, the teachers themselves or their technical support can
26 roll out a complete multi-user multi-machine study environment within
27 hours or a few days. Debian Edu comes with hundreds of applications
28 pre-installed, but you can always add more packages from Debian.
30 For those who want to give Debian Edu Jessie a try, download and
31 installation instructions are available, including detailed
32 instructions in the manual[
1] explaining the first steps, such as
33 setting up a network or adding users. Please note that the password
34 for the user your prompted for during installation must have a length
35 of at least
5 characters!
37 [
1]
&lt;URL:
<a href=
"https://wiki.debian.org/DebianEdu/Documentation/Jessie
">https://wiki.debian.org/DebianEdu/Documentation/Jessie
</a
> &gt;
39 Would you like to give your school
's computer a longer life? Are you
40 tired of sneaker administration, running from computer to computer
41 reinstalling the operating system? Would you like to administrate all
42 the computers in your school using only a couple of hours every week?
43 Check out Debian Edu Jessie!
45 Skolelinux is used by at least two hundred schools all over the world,
46 mostly in Germany and Norway.
48 About Debian Edu and Skolelinux
49 ===============================
51 Debian Edu, also known as Skolelinux[
2], is a Linux distribution based
52 on Debian providing an out-of-the box environment of a completely
53 configured school network. Immediately after installation a school
54 server running all services needed for a school network is set up just
55 waiting for users and machines being added via GOsa², a comfortable
56 Web-UI. A netbooting environment is prepared using PXE, so after
57 initial installation of the main server from CD or USB stick all other
58 machines can be installed via the network. The provided school server
59 provides LDAP database and Kerberos authentication service,
60 centralized home directories, DHCP server, web proxy and many other
61 services. The desktop contains more than
60 educational software
62 packages[
3] and more are available from the Debian archive, and
63 schools can choose between KDE, Gnome, LXDE, Xfce and MATE desktop
66 [
2]
&lt;URL:
<a href=
"http://www.skolelinux.org/
">http://www.skolelinux.org/
</a
> &gt;
67 [
3]
&lt;URL:
<a href=
"http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html
">http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html
</a
> &gt;
69 Full release notes and manual
70 =============================
72 Below the download URLs there is a list of some of the new features
73 and bugfixes of Debian Edu
8.0+edu0~alpha0 Codename Jessie. The full
74 list is part of the manual. (See the feature list in the manual[
4] for
75 the English version.) For some languages manual translations are
76 available, see the manual translation overview[
5].
78 [
4]
&lt;URL:
<a href=
"https://wiki.debian.org/DebianEdu/Documentation/Jessie/Features
">https://wiki.debian.org/DebianEdu/Documentation/Jessie/Features
</a
> &gt;
79 [
5]
&lt;URL:
<a href=
"http://maintainer.skolelinux.org/debian-edu-doc/
">http://maintainer.skolelinux.org/debian-edu-doc/
</a
> &gt;
84 To download the multiarch netinstall CD release (
624 MiB) you can use
86 *
<a href=
"ftp://ftp.skolelinux.org/skolelinux-cd/debian-edu-
8.0+edu0~alpha0-CD.iso
">ftp://ftp.skolelinux.org/skolelinux-cd/debian-edu-
8.0+edu0~alpha0-CD.iso
</a
>
87 *
<a href=
"http://ftp.skolelinux.org/skolelinux-cd/debian-edu-
8.0+edu0~alpha0-CD.iso
">http://ftp.skolelinux.org/skolelinux-cd/debian-edu-
8.0+edu0~alpha0-CD.iso
</a
>
88 * rsync -avzP ftp.skolelinux.org::skolelinux-cd/debian-edu-
8.0+edu0~alpha0-CD.iso .
90 The SHA1SUM of this image is:
361188818e036ce67280a572f757de82ebfeb095
92 New features for Debian Edu
8.0+edu0~alpha0 Codename Jessie released
2014-
10-
27
93 ===============================================================================
99 * PXE installation now installs firmware automatically for the hardware present.
104 Everything which is new in Debian Jessie
8.0, eg:
106 * Linux kernel
3.16.x
107 * Desktop environments KDE
"Plasma
" 4.11.12, GNOME
3.14, Xfce
4.10,
108 LXDE
0.5.6 and MATE
1.8 (KDE
"Plasma
" is installed by default; to
109 choose one of the others see manual.)
110 * the browsers Iceweasel
31 ESR and Chromium
38
114 * CUPS print system
1.7.5
115 * new boot framework: systemd
116 * Educational toolbox GCompris
14.07
117 * Music creator Rosegarden
14.02
118 * Image editor Gimp
2.8.14
119 * Virtual stargazer Stellarium
0.13.0
122 * New version of debian-installer from Debian Jessie.
123 * Debian Jessie includes about
42000 packages available for
125 * More information about Debian Jessie
8.0 is provided in the release
126 notes[
6] and the installation manual[
7].
128 [
6]
&lt;URL:
<a href=
"http://www.debian.org/releases/jessie/releasenotes
">http://www.debian.org/releases/jessie/releasenotes
</a
> &gt;
129 [
7]
&lt;URL:
<a href=
"http://www.debian.org/releases/jessie/installmanual
">http://www.debian.org/releases/jessie/installmanual
</a
> &gt;
134 * Inserting incorrect DNS information in Gosa will no longer break
135 DNS completely, but instead stop DNS updates until the incorrect
136 information is corrected (Debian bug #
710362)
139 Documentation and translation updates
140 -------------------------------------
142 * The Debian Edu Jessie Manual is fully translated to German, French,
143 Italian, Danish and Dutch. Partly translated versions exist for
144 Norwegian Bokmal and Spanish.
149 * Due to new Squid settings, powering off or rebooting the main
150 server takes more time.
151 * To manage printers localhost:
631 has to be used, currently www:
631
154 Regressions / known problems
155 ----------------------------
157 * Installing LTSP chroot fails with a bug related to eatmydata about
158 exim4-config failing to run its postinst (see Debian bug #
765694
159 and Debian bug #
762103).
160 * Munin collection is not properly configured on clients (Debian bug
161 #
764594). The fix is available in a newer version of munin-node.
162 * PXE setup for Main Server and Thin Client Server setup does not
163 work when installing on a machine without direct Internet access.
164 Will be fixed when Debian bug #
766960 is fixed in Jessie.
166 See the status page[
8] for the complete list.
168 [
8]
&lt;URL:
<a href=
"https://wiki.debian.org/DebianEdu/Status/Jessie
">https://wiki.debian.org/DebianEdu/Status/Jessie
</a
> &gt;
173 &lt;URL:
<a href=
"http://wiki.debian.org/DebianEdu/HowTo/ReportBugs
">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs
</a
> &gt;
178 The Debian Project was founded in
1993 by Ian Murdock to be a truly
179 free community project. Since then the project has grown to be one of
180 the largest and most influential open source projects. Thousands of
181 volunteers from all over the world work together to create and
182 maintain Debian software. Available in
70 languages, and supporting a
183 huge range of computer types, Debian calls itself the universal
187 For further information, please visit the Debian web pages[
9] or send
188 mail to press@debian.org.
190 [
9]
&lt;URL:
<a href=
"http://www.debian.org/
">http://www.debian.org/
</a
> &gt;
196 <title>I spent last weekend recording MakerCon Nordic
</title>
197 <link>http://people.skolelinux.org/pere/blog/I_spent_last_weekend_recording_MakerCon_Nordic.html
</link>
198 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/I_spent_last_weekend_recording_MakerCon_Nordic.html
</guid>
199 <pubDate>Thu,
23 Oct
2014 23:
00:
00 +
0200</pubDate>
200 <description><p
>I spent last weekend at
<a href=
"http://www.makercon.no/
">Makercon
201 Nordic
</a
>, a great conference and workshop for makers in Norway and
202 the surrounding countries. I had volunteered on behalf of the
203 Norwegian Unix Users Group (NUUG) to video record the talks, and we
204 had a great and exhausting time recording the entire day, two days in
205 a row. There were only two of us, Hans-Petter and me, and we used the
206 regular video equipment for NUUG, with a
207 <a href=
"http://dvswitch.alioth.debian.org/wiki/
">dvswitch
</a
>, a
208 camera and a VGA to DV convert box, and mixed video and slides
211 <p
>Hans-Petter did the post-processing, consisting of uploading the
212 around
180 GiB of raw video to Youtube, and the result is
213 <a href=
"https://www.youtube.com/user/MakerConNordic/
">now becoming
214 public
</a
> on the MakerConNordic account. The videos have the license
215 NUUG always use on our recordings, which is
216 <a href=
"http://creativecommons.org/licenses/by-sa/
3.0/no/
">Creative
217 Commons Navngivelse-Del på samme vilkår
3.0 Norge
</a
>. Many great
218 talks available. Check it out! :)
</p
>
223 <title>listadmin, the quick way to moderate mailman lists - nice free software
</title>
224 <link>http://people.skolelinux.org/pere/blog/listadmin__the_quick_way_to_moderate_mailman_lists___nice_free_software.html
</link>
225 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/listadmin__the_quick_way_to_moderate_mailman_lists___nice_free_software.html
</guid>
226 <pubDate>Wed,
22 Oct
2014 20:
00:
00 +
0200</pubDate>
227 <description><p
>If you ever had to moderate a mailman list, like the ones on
228 alioth.debian.org, you know the web interface is fairly slow to
229 operate. First you visit one web page, enter the moderation password
230 and get a new page shown with a list of all the messages to moderate
231 and various options for each email address. This take a while for
232 every list you moderate, and you need to do it regularly to do a good
233 job as a list moderator. But there is a quick alternative,
234 <a href=
"http://heim.ifi.uio.no/kjetilho/hacks/#listadmin
">the
235 listadmin program
</a
>. It allow you to check lists for new messages
236 to moderate in a fraction of a second. Here is a test run on two
237 lists I recently took over:
</p
>
239 <p
><blockquote
><pre
>
240 % time listadmin xiph
241 fetching data for pkg-xiph-commits@lists.alioth.debian.org ... nothing in queue
242 fetching data for pkg-xiph-maint@lists.alioth.debian.org ... nothing in queue
248 </pre
></blockquote
></p
>
250 <p
>In
1.7 seconds I had checked two mailing lists and confirmed that
251 there are no message in the moderation queue. Every morning I
252 currently moderate
68 mailman lists, and it normally take around two
253 minutes. When I took over the two pkg-xiph lists above a few days
254 ago, there were
400 emails waiting in the moderator queue. It took me
255 less than
15 minutes to process them all using the listadmin
258 <p
>If you install
259 <a href=
"https://tracker.debian.org/pkg/listadmin
">the listadmin
260 package
</a
> from Debian and create a file
<tt
>~/.listadmin.ini
</tt
>
261 with content like this, the moderation task is a breeze:
</p
>
263 <p
><blockquote
><pre
>
264 username username@example.org
267 discard_if_reason
"Posting restricted to members only. Remove us from your mail list.
"
270 adminurl https://{domain}/mailman/admindb/{list}
271 mailman-list@lists.example.com
274 other-list@otherserver.example.org
275 </pre
></blockquote
></p
>
277 <p
>There are other options to set as well. Check the manual page to
278 learn the details.
</p
>
280 <p
>If you are forced to moderate lists on a mailman installation where
281 the SSL certificate is self signed or not properly signed by a
282 generally accepted signing authority, you can set a environment
283 variable when calling listadmin to disable SSL verification:
</p
>
285 <p
><blockquote
><pre
>
286 PERL_LWP_SSL_VERIFY_HOSTNAME=
0 listadmin
287 </pre
></blockquote
></p
>
289 <p
>If you want to moderate a subset of the lists you take care of, you
290 can provide an argument to the listadmin script like I do in the
291 initial screen dump (the xiph argument). Using an argument, only
292 lists matching the argument string will be processed. This make it
293 quick to accept messages if you notice the moderation request in your
296 <p
>Without the listadmin program, I would never be the moderator of
68
297 mailing lists, as I simply do not have time to spend on that if the
298 process was any slower. The listadmin program have saved me hours of
299 time I could spend elsewhere over the years. It truly is nice free
302 <p
>As usual, if you use Bitcoin and want to show your support of my
303 activities, please send Bitcoin donations to my address
304 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
306 <p
>Update
2014-
10-
27: Added missing
'username
' statement in
307 configuration example. Also, I
've been told that the
308 PERL_LWP_SSL_VERIFY_HOSTNAME=
0 setting do not work for everyone. Not
314 <title>Debian Jessie, PXE and automatic firmware installation
</title>
315 <link>http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html
</link>
316 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html
</guid>
317 <pubDate>Fri,
17 Oct
2014 14:
10:
00 +
0200</pubDate>
318 <description><p
>When PXE installing laptops with Debian, I often run into the
319 problem that the WiFi card require some firmware to work properly.
320 And it has been a pain to fix this using preseeding in Debian.
321 Normally something more is needed. But thanks to
322 <a href=
"https://packages.qa.debian.org/i/isenkram.html
">my isenkram
323 package
</a
> and its recent tasksel extension, it has now become easy
324 to do this using simple preseeding.
</p
>
326 <p
>The isenkram-cli package provide tasksel tasks which will install
327 firmware for the hardware found in the machine (actually, requested by
328 the kernel modules for the hardware). (It can also install user space
329 programs supporting the hardware detected, but that is not the focus
330 of this story.)
</p
>
332 <p
>To get this working in the default installation, two preeseding
333 values are needed. First, the isenkram-cli package must be installed
334 into the target chroot (aka the hard drive) before tasksel is executed
335 in the pkgsel step of the debian-installer system. This is done by
336 preseeding the base-installer/includes debconf value to include the
337 isenkram-cli package. The package name is next passed to debootstrap
338 for installation. With the isenkram-cli package in place, tasksel
339 will automatically use the isenkram tasks to detect hardware specific
340 packages for the machine being installed and install them, because
341 isenkram-cli contain tasksel tasks.
</p
>
343 <p
>Second, one need to enable the non-free APT repository, because
344 most firmware unfortunately is non-free. This is done by preseeding
345 the apt-mirror-setup step. This is unfortunate, but for a lot of
346 hardware it is the only option in Debian.
</p
>
348 <p
>The end result is two lines needed in your preseeding file to get
349 firmware installed automatically by the installer:
</p
>
351 <p
><blockquote
><pre
>
352 base-installer base-installer/includes string isenkram-cli
353 apt-mirror-setup apt-setup/non-free boolean true
354 </pre
></blockquote
></p
>
356 <p
>The current version of isenkram-cli in testing/jessie will install
357 both firmware and user space packages when using this method. It also
358 do not work well, so use version
0.15 or later. Installing both
359 firmware and user space packages might give you a bit more than you
360 want, so I decided to split the tasksel task in two, one for firmware
361 and one for user space programs. The firmware task is enabled by
362 default, while the one for user space programs is not. This split is
363 implemented in the package currently in unstable.
</p
>
365 <p
>If you decide to give this a go, please let me know (via email) how
366 this recipe work for you. :)
</p
>
368 <p
>So, I bet you are wondering, how can this work. First and
369 foremost, it work because tasksel is modular, and driven by whatever
370 files it find in /usr/lib/tasksel/ and /usr/share/tasksel/. So the
371 isenkram-cli package place two files for tasksel to find. First there
372 is the task description file (/usr/share/tasksel/descs/isenkram.desc):
</p
>
374 <p
><blockquote
><pre
>
375 Task: isenkram-packages
377 Description: Hardware specific packages (autodetected by isenkram)
378 Based on the detected hardware various hardware specific packages are
380 Test-new-install: show show
382 Packages: for-current-hardware
384 Task: isenkram-firmware
386 Description: Hardware specific firmware packages (autodetected by isenkram)
387 Based on the detected hardware various hardware specific firmware
388 packages are proposed.
389 Test-new-install: mark show
391 Packages: for-current-hardware-firmware
392 </pre
></blockquote
></p
>
394 <p
>The key parts are Test-new-install which indicate how the task
395 should be handled and the Packages line referencing to a script in
396 /usr/lib/tasksel/packages/. The scripts use other scripts to get a
397 list of packages to install. The for-current-hardware-firmware script
398 look like this to list relevant firmware for the machine:
400 <p
><blockquote
><pre
>
405 isenkram-autoinstall-firmware -l
406 </pre
></blockquote
></p
>
408 <p
>With those two pieces in place, the firmware is installed by
409 tasksel during the normal d-i run. :)
</p
>
411 <p
>If you want to test what tasksel will install when isenkram-cli is
412 installed, run
<tt
>DEBIAN_PRIORITY=critical tasksel --test
413 --new-install
</tt
> to get the list of packages that tasksel would
416 <p
><a href=
"https://wiki.debian.org/DebianEdu/
">Debian Edu
</a
> will be
417 pilots in testing this feature, as isenkram is used there now to
418 install firmware, replacing the earlier scripts.
</p
>
423 <title>Ubuntu used to show the bread prizes at ICA Storo
</title>
424 <link>http://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html
</link>
425 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html
</guid>
426 <pubDate>Sat,
4 Oct
2014 15:
20:
00 +
0200</pubDate>
427 <description><p
>Today I came across an unexpected Ubuntu boot screen. Above the
428 bread shelf on the ICA shop at Storo in Oslo, the grub menu of Ubuntu
429 with Linux kernel
3.2.0-
23 (ie probably version
12.04 LTS) was stuck
430 on a screen normally showing the bread types and prizes:
</p
>
432 <p align=
"center
"><img width=
"70%
" src=
"http://people.skolelinux.org/pere/blog/images/
2014-
10-
04-ubuntu-ica-storo-crop.jpeg
"></p
>
434 <p
>If it had booted as it was supposed to, I would never had known
435 about this hidden Linux installation. It is interesting what
436 <a href=
"http://revealingerrors.com/
">errors can reveal
</a
>.
</p
>
441 <title>New lsdvd release version
0.17 is ready
</title>
442 <link>http://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html
</link>
443 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html
</guid>
444 <pubDate>Sat,
4 Oct
2014 08:
40:
00 +
0200</pubDate>
445 <description><p
>The
<a href=
"https://sourceforge.net/p/lsdvd/
">lsdvd project
</a
>
446 got a new set of developers a few weeks ago, after the original
447 developer decided to step down and pass the project to fresh blood.
448 This project is now maintained by Petter Reinholdtsen and Steve
451 <p
>I just wrapped up
452 <a href=
"https://sourceforge.net/p/lsdvd/mailman/message/
32896061/
">a
453 new lsdvd release
</a
>, available in git or from
454 <a href=
"https://sourceforge.net/projects/lsdvd/files/lsdvd/
">the
455 download page
</a
>. This is the changelog dated
2014-
10-
03 for version
460 <li
>Ignore
'phantom
' audio, subtitle tracks
</li
>
461 <li
>Check for garbage in the program chains, which indicate that a track is
462 non-existant, to work around additional copy protection
</li
>
463 <li
>Fix displaying content type for audio tracks, subtitles
</li
>
464 <li
>Fix pallete display of first entry
</li
>
465 <li
>Fix include orders
</li
>
466 <li
>Ignore read errors in titles that would not be displayed anyway
</li
>
467 <li
>Fix the chapter count
</li
>
468 <li
>Make sure the array size and the array limit used when initialising
469 the palette size is the same.
</li
>
470 <li
>Fix array printing.
</li
>
471 <li
>Correct subsecond calculations.
</li
>
472 <li
>Add sector information to the output format.
</li
>
473 <li
>Clean up code to be closer to ANSI C and compile without warnings
474 with more GCC compiler warnings.
</li
>
478 <p
>This change bring together patches for lsdvd in use in various
479 Linux and Unix distributions, as well as patches submitted to the
480 project the last nine years. Please check it out. :)
</p
>
485 <title>How to test Debian Edu Jessie despite some fatal problems with the installer
</title>
486 <link>http://people.skolelinux.org/pere/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html
</link>
487 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html
</guid>
488 <pubDate>Fri,
26 Sep
2014 12:
20:
00 +
0200</pubDate>
489 <description><p
>The
<a href=
"http://www.skolelinux.org/
">Debian Edu / Skolelinux
490 project
</a
> provide a Linux solution for schools, including a
491 powerful desktop with education software, a central server providing
492 web pages, user database, user home directories, central login and PXE
493 boot of both clients without disk and the installation to install Debian
494 Edu on machines with disk (and a few other services perhaps to small
495 to mention here). We in the Debian Edu team are currently working on
496 the Jessie based version, trying to get everything in shape before the
497 freeze, to avoid having to maintain our own package repository in the
499 <a href=
"https://wiki.debian.org/DebianEdu/Status/Jessie
">current
500 status
</a
> can be seen on the Debian wiki, and there is still heaps of
501 work left. Some fatal problems block testing, breaking the installer,
502 but it is possible to work around these to get anyway. Here is a
503 recipe on how to get the installation limping along.
</p
>
505 <p
>First, download the test ISO via
506 <a href=
"ftp://ftp.skolelinux.no/cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-
1.iso
">ftp
</a
>,
507 <a href=
"http://ftp.skolelinux.no/cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-
1.iso
">http
</a
>
509 ftp.skolelinux.org::cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-
1.iso).
510 The ISO build was broken on Tuesday, so we do not get a new ISO every
511 12 hours or so, but thankfully the ISO we already got we are able to
512 install with some tweaking.
</p
>
514 <p
>When you get to the Debian Edu profile question, go to tty2
515 (use Alt-Ctrl-F2), run
</p
>
517 <p
><blockquote
><pre
>
518 nano /usr/bin/edu-eatmydata-install
519 </pre
></blockquote
></p
>
521 <p
>and add
'exit
0' as the second line, disabling the eatmydata
522 optimization. Return to the installation, select the profile you want
523 and continue. Without this change, exim4-config will fail to install
524 due to a known bug in eatmydata.
</p
>
526 <p
>When you get the grub question at the end, answer /dev/sda (or if
527 this do not work, figure out what your correct value would be. All my
528 test machines need /dev/sda, so I have no advice if it do not fit
531 <p
>If you installed a profile including a graphical desktop, log in as
532 root after the initial boot from hard drive, and install the
533 education-desktop-XXX metapackage. XXX can be kde, gnome, lxde, xfce
534 or mate. If you want several desktop options, install more than one
535 metapackage. Once this is done, reboot and you should have a working
536 graphical login screen. This workaround should no longer be needed
537 once the education-tasks package version
1.801 enter testing in two
540 <p
>I believe the ISO build will start working on two days when the new
541 tasksel package enter testing and Steve McIntyre get a chance to
542 update the debian-cd git repository. The eatmydata, grub and desktop
543 issues are already fixed in unstable and testing, and should show up
544 on the ISO as soon as the ISO build start working again. Well the
545 eatmydata optimization is really just disabled. The proper fix
546 require an upload by the eatmydata maintainer applying the patch
547 provided in bug
<a href=
"https://bugs.debian.org/
702711">#
702711</a
>.
548 The rest have proper fixes in unstable.
</p
>
550 <p
>I hope this get you going with the installation testing, as we are
551 quickly running out of time trying to get our Jessie based
552 installation ready before the distribution freeze in a month.
</p
>
557 <title>Suddenly I am the new upstream of the lsdvd command line tool
</title>
558 <link>http://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html
</link>
559 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html
</guid>
560 <pubDate>Thu,
25 Sep
2014 11:
20:
00 +
0200</pubDate>
561 <description><p
>I use the
<a href=
"https://sourceforge.net/p/lsdvd/
">lsdvd tool
</a
>
562 to handle my fairly large DVD collection. It is a nice command line
563 tool to get details about a DVD, like title, tracks, track length,
564 etc, in XML, Perl or human readable format. But lsdvd have not seen
565 any new development since
2006 and had a few irritating bugs affecting
566 its use with some DVDs. Upstream seemed to be dead, and in January I
567 sent a small probe asking for a version control repository for the
568 project, without any reply. But I use it regularly and would like to
569 get
<a href=
"https://packages.qa.debian.org/lsdvd
">an updated version
570 into Debian
</a
>. So two weeks ago I tried harder to get in touch with
571 the project admin, and after getting a reply from him explaining that
572 he was no longer interested in the project, I asked if I could take
573 over. And yesterday, I became project admin.
</p
>
575 <p
>I
've been in touch with a Gentoo developer and the Debian
576 maintainer interested in joining forces to maintain the upstream
577 project, and I hope we can get a new release out fairly quickly,
578 collecting the patches spread around on the internet into on place.
579 I
've added the relevant Debian patches to the freshly created git
580 repository, and expect the Gentoo patches to make it too. If you got
581 a DVD collection and care about command line tools, check out
582 <a href=
"https://sourceforge.net/p/lsdvd/git/ci/master/tree/
">the git source
</a
> and join
583 <a href=
"https://sourceforge.net/p/lsdvd/mailman/
">the project mailing
584 list
</a
>. :)
</p
>
589 <title>Hva henger under skibrua over E16 på Sollihøgda?
</title>
590 <link>http://people.skolelinux.org/pere/blog/Hva_henger_under_skibrua_over_E16_p__Sollih_gda_.html
</link>
591 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Hva_henger_under_skibrua_over_E16_p__Sollih_gda_.html
</guid>
592 <pubDate>Sun,
21 Sep
2014 09:
50:
00 +
0200</pubDate>
593 <description><p
>Rundt omkring i Oslo og Østlandsområdet henger det bokser over
594 veiene som jeg har lurt på hva gjør. De har ut fra plassering og
595 vinkling sett ut som bokser som sniffer ut et eller annet fra
596 forbipasserende trafikk, men det har vært uklart for meg hva det er de
597 leser av. Her om dagen tok jeg bilde av en slik boks som henger under
598 <a href=
"http://www.openstreetmap.no/?zoom=
19&mlat=
59.96396&mlon=
10.34443&layers=B00000
">ei
599 skibru på Sollihøgda
</a
>:
</p
>
601 <p align=
"center
"><img width=
"60%
" src=
"http://people.skolelinux.org/pere/blog/images/
2014-
09-
13-kapsch-sollihogda-crop.jpeg
"></p
>
603 <p
>Boksen er tydelig merket «Kapsch
>>>», logoen til
604 <a href=
"http://www.kapsch.net/
">det sveitsiske selskapet Kapsch
</a
> som
605 blant annet lager sensorsystemer for veitrafikk. Men de lager mye
606 forskjellig, og jeg kjente ikke igjen boksen på utseendet etter en
607 kjapp titt på produktlista til selskapet.
</p
>
609 <p
>I og med at boksen henger over veien E16, en riksvei vedlikeholdt
610 av Statens Vegvesen, så antok jeg at det burde være mulig å bruke
611 REST-API-et som gir tilgang til vegvesenets database over veier,
612 skilter og annet veirelatert til å finne ut hva i alle dager dette
613 kunne være. De har både
614 <a href=
"https://www.vegvesen.no/nvdb/api/dokumentasjon/datakatalog
">en
615 datakatalog
</a
> og
616 <a href=
"https://www.vegvesen.no/nvdb/api/dokumentasjon/sok
">et
617 søk
</a
>, der en kan søke etter ulike typer oppføringer innen for et
618 gitt geografisk område. Jeg laget et enkelt shell-script for å hente
619 ut antall av en gitt type innenfor området skibrua dekker, og listet
620 opp navnet på typene som ble funnet. Orket ikke slå opp hvordan
621 URL-koding av aktuelle strenger kunne gjøres mer generisk, og brukte
622 en stygg sed-linje i stedet.
</p
>
624 <blockquote
><pre
>
628 -e
's/ / /g
' -e
's/{/%
7B/g
' \
629 -e
's/}/%
7D/g
' -e
's/\[/%
5B/g
' \
630 -e
's/\]/%
5D/g
' -e
's/ /%
20/g
' \
631 -e
's/,/%
2C/g
' -e
's/\
"/%
22/g
' \
632 -e
's/:/%
3A/g
'
637 curl -s -H
'Accept: application/vnd.vegvesen.nvdb-v1+xml
' \
638 "https://www.vegvesen.no/nvdb/api$url
" | xmllint --format -
641 for id in $(seq
1 874) ; do
644 bbox: \
"10.34425,
59.96386,
10.34458,
59.96409\
",
645 srid: \
"WGS84\
"
652 query=/sok?kriterie=$(echo $search | urlmap)
653 if lookup
"$query
" |
654 grep -q
'&lt;totaltAntallReturnert
>0&lt;
'
659 lookup
"/datakatalog/objekttyper/$id
" |grep
'^
&lt;navn
>'
664 </pre
></blockquote
>
666 Aktuelt ID-område
1-
874 var riktig i datakatalogen da jeg laget
667 scriptet. Det vil endre seg over tid. Skriptet listet så opp
668 aktuelle typer i og rundt skibrua:
670 <blockquote
><pre
>
672 &lt;navn
>Rekkverk
&lt;/navn
>
674 &lt;navn
>Rekkverksende
&lt;/navn
>
676 &lt;navn
>Trafikklomme
&lt;/navn
>
678 &lt;navn
>Trafikkøy
&lt;/navn
>
680 &lt;navn
>Bru
&lt;/navn
>
682 &lt;navn
>Stikkrenne/Kulvert
&lt;/navn
>
684 &lt;navn
>Grøft, åpen
&lt;/navn
>
686 &lt;navn
>Belysningsstrekning
&lt;/navn
>
688 &lt;navn
>Skiltpunkt
&lt;/navn
>
690 &lt;navn
>Skiltplate
&lt;/navn
>
692 &lt;navn
>Referansestolpe
&lt;/navn
>
694 &lt;navn
>Vegoppmerking, langsgående
&lt;/navn
>
696 &lt;navn
>Fartsgrense
&lt;/navn
>
698 &lt;navn
>Vinterdriftsstrategi
&lt;/navn
>
700 &lt;navn
>Trafikkdeler
&lt;/navn
>
702 &lt;navn
>Vegdekke
&lt;/navn
>
704 &lt;navn
>Breddemåling
&lt;/navn
>
706 &lt;navn
>Kantklippareal
&lt;/navn
>
708 &lt;navn
>Snø-/isrydding
&lt;/navn
>
710 &lt;navn
>Skred
&lt;/navn
>
712 &lt;navn
>Dokumentasjon
&lt;/navn
>
714 &lt;navn
>Undergang
&lt;/navn
>
716 &lt;navn
>Tverrprofil
&lt;/navn
>
718 &lt;navn
>Vegreferanse
&lt;/navn
>
720 &lt;navn
>Region
&lt;/navn
>
722 &lt;navn
>Fylke
&lt;/navn
>
724 &lt;navn
>Kommune
&lt;/navn
>
726 &lt;navn
>Gate
&lt;/navn
>
728 &lt;navn
>Transportlenke
&lt;/navn
>
730 &lt;navn
>Trafikkmengde
&lt;/navn
>
732 &lt;navn
>Trafikkulykke
&lt;/navn
>
734 &lt;navn
>Ulykkesinvolvert enhet
&lt;/navn
>
736 &lt;navn
>Ulykkesinvolvert person
&lt;/navn
>
738 &lt;navn
>Politidistrikt
&lt;/navn
>
740 &lt;navn
>Vegbredde
&lt;/navn
>
742 &lt;navn
>Høydebegrensning
&lt;/navn
>
744 &lt;navn
>Nedbøyningsmåling
&lt;/navn
>
746 &lt;navn
>Støy-luft, Strekningsdata
&lt;/navn
>
748 &lt;navn
>Oppgravingsdata
&lt;/navn
>
750 &lt;navn
>Oppgravingslag
&lt;/navn
>
752 &lt;navn
>PMS-parsell
&lt;/navn
>
754 &lt;navn
>Vegnormalstrekning
&lt;/navn
>
756 &lt;navn
>Værrelatert strekning
&lt;/navn
>
758 &lt;navn
>Feltstrekning
&lt;/navn
>
760 &lt;navn
>Adressepunkt
&lt;/navn
>
762 &lt;navn
>Friksjonsmåleserie
&lt;/navn
>
764 &lt;navn
>Vegdekke, flatelapping
&lt;/navn
>
766 &lt;navn
>Kurvatur, horisontalelement
&lt;/navn
>
768 &lt;navn
>Kurvatur, vertikalelement
&lt;/navn
>
770 &lt;navn
>Kurvatur, vertikalpunkt
&lt;/navn
>
772 &lt;navn
>Statistikk, trafikkmengde
&lt;/navn
>
774 &lt;navn
>Statistikk, vegbredde
&lt;/navn
>
776 &lt;navn
>Nedbøyningsmåleserie
&lt;/navn
>
778 &lt;navn
>ATK, influensstrekning
&lt;/navn
>
780 &lt;navn
>Systemobjekt
&lt;/navn
>
782 &lt;navn
>Vinterdriftsklasse
&lt;/navn
>
784 &lt;navn
>Funksjonell vegklasse
&lt;/navn
>
786 &lt;navn
>Kurvatur, stigning
&lt;/navn
>
788 &lt;navn
>Vegbredde, beregnet
&lt;/navn
>
790 &lt;navn
>Reisetidsregistreringspunkt
&lt;/navn
>
792 &lt;navn
>Bruksklasse
&lt;/navn
>
793 </pre
></blockquote
>
795 <p
>Av disse ser ID
775 og
862 mest relevant ut. ID
775 antar jeg
796 refererer til fotoboksen som står like ved brua, mens
797 «Reisetidsregistreringspunkt» kanskje kan være boksen som henger der.
798 Hvordan finner jeg så ut hva dette kan være for noe. En titt på
799 <a href=
"http://labs.vegdata.no/nvdb-datakatalog/
862-Reisetidsregistreringspunkt/
">datakatalogsiden
800 for ID
862/Reisetidsregistreringspunkt
</a
> viser at det er finnes
53
801 slike målere i Norge, og hvor de er plassert, men gir ellers få
802 detaljer. Det er plassert
40 på østlandet og
13 i Trondheimsregionen.
803 Men siden nevner «AutoPASS», og hvis en slår opp oppføringen på
804 Sollihøgda nevner den «Ciber AS» som ID for eksternt system. (Kan det
806 <a href=
"http://www.proff.no/selskap/ciber-norge-as/oslo/internettdesign-og-programmering/Z0I3KMF4/
">Ciber
807 Norge AS
</a
>, et selskap eid av Ciber Europe Bv?) Et nettsøk på
808 «Ciber AS autopass» fører meg til en artikkel fra NRK Trøndelag i
810 «
<a href=
"http://www.nrk.no/trondelag/sjekk-dette-hvis-du-vil-unnga-ko-
1.11327947">Sjekk
811 dette hvis du vil unngå kø
</a
>». Artikkelen henviser til vegvesenets
813 <a href=
"http://www.reisetider.no/reisetid/forside.html
">reisetider.no
</a
>
815 <a href=
"http://www.reisetider.no/reisetid/omrade.html?omrade=
5">kartside
816 for Østlandet
</a
> som viser at det måles mellom Sandvika og Sollihøgda.
817 Det kan dermed se ut til at jeg har funnet ut hva boksene gjør.
</p
>
819 <p
>Hvis det stemmer, så er dette bokser som leser av AutoPASS-ID-en
820 til alle passerende biler med AutoPASS-brikke, og dermed gjør det mulig
821 for de som kontrollerer boksene å holde rede på hvor en gitt bil er
822 når den passerte et slikt målepunkt. NRK-artikkelen forteller at
823 denne informasjonen i dag kun brukes til å koble to
824 AutoPASS-brikkepasseringer passeringer sammen for å beregne
825 reisetiden, og at bruken er godkjent av Datatilsynet. Det er desverre
826 ikke mulig for en sjåfør som passerer under en slik boks å kontrollere
827 at AutoPASS-ID-en kun brukes til dette i dag og i fremtiden.
</p
>
829 <p
>I tillegg til denne type AutoPASS-sniffere vet jeg at det også
830 finnes mange automatiske stasjoner som tar betalt pr. passering (aka
831 bomstasjoner), og der lagres informasjon om tid, sted og bilnummer i
832 10 år. Finnes det andre slike sniffere plassert ut på veiene?
</p
>
834 <p
>Personlig har jeg valgt å ikke bruke AutoPASS-brikke, for å gjøre
835 det vanskeligere og mer kostbart for de som vil invadere privatsfæren
836 og holde rede på hvor bilen min beveger seg til enhver tid. Jeg håper
837 flere vil gjøre det samme, selv om det gir litt høyere private
838 utgifter (dyrere bompassering). Vern om privatsfæren koster i disse
841 <p
>Takk til Jan Kristian Jensen i Statens Vegvesen for tips om
842 dokumentasjon på vegvesenets REST-API.
</p
>
847 <title>Speeding up the Debian installer using eatmydata and dpkg-divert
</title>
848 <link>http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html
</link>
849 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html
</guid>
850 <pubDate>Tue,
16 Sep
2014 14:
00:
00 +
0200</pubDate>
851 <description><p
>The
<a href=
"https://www.debian.org/
">Debian
</a
> installer could be
852 a lot quicker. When we install more than
2000 packages in
853 <a href=
"http://www.skolelinux.org/
">Skolelinux / Debian Edu
</a
> using
854 tasksel in the installer, unpacking the binary packages take forever.
855 A part of the slow I/O issue was discussed in
856 <a href=
"https://bugs.debian.org/
613428">bug #
613428</a
> about too
857 much file system sync-ing done by dpkg, which is the package
858 responsible for unpacking the binary packages. Other parts (like code
859 executed by postinst scripts) might also sync to disk during
860 installation. All this sync-ing to disk do not really make sense to
861 me. If the machine crash half-way through, I start over, I do not try
862 to salvage the half installed system. So the failure sync-ing is
863 supposed to protect against, hardware or system crash, is not really
864 relevant while the installer is running.
</p
>
866 <p
>A few days ago, I thought of a way to get rid of all the file
867 system sync()-ing in a fairly non-intrusive way, without the need to
868 change the code in several packages. The idea is not new, but I have
869 not heard anyone propose the approach using dpkg-divert before. It
870 depend on the small and clever package
871 <a href=
"https://packages.qa.debian.org/eatmydata
">eatmydata
</a
>, which
872 uses LD_PRELOAD to replace the system functions for syncing data to
873 disk with functions doing nothing, thus allowing programs to live
874 dangerous while speeding up disk I/O significantly. Instead of
875 modifying the implementation of dpkg, apt and tasksel (which are the
876 packages responsible for selecting, fetching and installing packages),
877 it occurred to me that we could just divert the programs away, replace
878 them with a simple shell wrapper calling
879 "eatmydata
&nbsp;$program
&nbsp;$@
", to get the same effect.
880 Two days ago I decided to test the idea, and wrapped up a simple
881 implementation for the Debian Edu udeb.
</p
>
883 <p
>The effect was stunning. In my first test it reduced the running
884 time of the pkgsel step (installing tasks) from
64 to less than
44
885 minutes (
20 minutes shaved off the installation) on an old Dell
886 Latitude D505 machine. I am not quite sure what the optimised time
887 would have been, as I messed up the testing a bit, causing the debconf
888 priority to get low enough for two questions to pop up during
889 installation. As soon as I saw the questions I moved the installation
890 along, but do not know how long the question were holding up the
891 installation. I did some more measurements using Debian Edu Jessie,
892 and got these results. The time measured is the time stamp in
893 /var/log/syslog between the
"pkgsel: starting tasksel
" and the
894 "pkgsel: finishing up
" lines, if you want to do the same measurement
895 yourself. In Debian Edu, the tasksel dialog do not show up, and the
896 timing thus do not depend on how quickly the user handle the tasksel
899 <p
><table
>
902 <th
>Machine/setup
</th
>
903 <th
>Original tasksel
</th
>
904 <th
>Optimised tasksel
</th
>
905 <th
>Reduction
</th
>
909 <td
>Latitude D505 Main+LTSP LXDE
</td
>
910 <td
>64 min (
07:
46-
08:
50)
</td
>
911 <td
><44 min (
11:
27-
12:
11)
</td
>
912 <td
>>20 min
18%
</td
>
916 <td
>Latitude D505 Roaming LXDE
</td
>
917 <td
>57 min (
08:
48-
09:
45)
</td
>
918 <td
>34 min (
07:
43-
08:
17)
</td
>
919 <td
>23 min
40%
</td
>
923 <td
>Latitude D505 Minimal
</td
>
924 <td
>22 min (
10:
37-
10:
59)
</td
>
925 <td
>11 min (
11:
16-
11:
27)
</td
>
926 <td
>11 min
50%
</td
>
930 <td
>Thinkpad X200 Minimal
</td
>
931 <td
>6 min (
08:
19-
08:
25)
</td
>
932 <td
>4 min (
08:
04-
08:
08)
</td
>
933 <td
>2 min
33%
</td
>
937 <td
>Thinkpad X200 Roaming KDE
</td
>
938 <td
>19 min (
09:
21-
09:
40)
</td
>
939 <td
>15 min (
10:
25-
10:
40)
</td
>
940 <td
>4 min
21%
</td
>
943 </table
></p
>
945 <p
>The test is done using a netinst ISO on a USB stick, so some of the
946 time is spent downloading packages. The connection to the Internet
947 was
100Mbit/s during testing, so downloading should not be a
948 significant factor in the measurement. Download typically took a few
949 seconds to a few minutes, depending on the amount of packages being
952 <p
>The speedup is implemented by using two hooks in
953 <a href=
"https://www.debian.org/devel/debian-installer/
">Debian
954 Installer
</a
>, the pre-pkgsel.d hook to set up the diverts, and the
955 finish-install.d hook to remove the divert at the end of the
956 installation. I picked the pre-pkgsel.d hook instead of the
957 post-base-installer.d hook because I test using an ISO without the
958 eatmydata package included, and the post-base-installer.d hook in
959 Debian Edu can only operate on packages included in the ISO. The
960 negative effect of this is that I am unable to activate this
961 optimization for the kernel installation step in d-i. If the code is
962 moved to the post-base-installer.d hook, the speedup would be larger
963 for the entire installation.
</p
>
965 <p
>I
've implemented this in the
966 <a href=
"https://packages.qa.debian.org/debian-edu-install
">debian-edu-install
</a
>
967 git repository, and plan to provide the optimization as part of the
968 Debian Edu installation. If you want to test this yourself, you can
969 create two files in the installer (or in an udeb). One shell script
970 need do go into /usr/lib/pre-pkgsel.d/, with content like this:
</p
>
972 <p
><blockquote
><pre
>
975 . /usr/share/debconf/confmodule
977 logger -t my-pkgsel
"info: $*
"
980 logger -t my-pkgsel
"error: $*
"
983 apt-install eatmydata || true
984 if [ -x /target/usr/bin/eatmydata ] ; then
985 for bin in dpkg apt-get aptitude tasksel ; do
987 # Test that the file exist and have not been diverted already.
988 if [ -f /target$file ] ; then
989 info
"diverting $file using eatmydata
"
990 printf
"#!/bin/sh\neatmydata $bin.distrib \
"\$@\
"\n
" \
991 > /target$file.edu
992 chmod
755 /target$file.edu
993 in-target dpkg-divert --package debian-edu-config \
994 --rename --quiet --add $file
995 ln -sf ./$bin.edu /target$file
997 error
"unable to divert $file, as it is missing.
"
1001 error
"unable to find /usr/bin/eatmydata after installing the eatmydata pacage
"
1006 </pre
></blockquote
></p
>
1008 <p
>To clean up, another shell script should go into
1009 /usr/lib/finish-install.d/ with code like this:
1011 <p
><blockquote
><pre
>
1013 . /usr/share/debconf/confmodule
1015 logger -t my-finish-install
"error: $@
"
1017 remove_install_override() {
1018 for bin in dpkg apt-get aptitude tasksel ; do
1020 if [ -x /target$file.edu ] ; then
1022 in-target dpkg-divert --package debian-edu-config \
1023 --rename --quiet --remove $file
1026 error
"Missing divert for $file.
"
1029 sync # Flush file buffers before continuing
1032 remove_install_override
1033 </pre
></blockquote
></p
>
1035 <p
>In Debian Edu, I placed both code fragments in a separate script
1036 edu-eatmydata-install and call it from the pre-pkgsel.d and
1037 finish-install.d scripts.
</p
>
1039 <p
>By now you might ask if this change should get into the normal
1040 Debian installer too? I suspect it should, but am not sure the
1041 current debian-installer coordinators find it useful enough. It also
1042 depend on the side effects of the change. I
'm not aware of any, but I
1043 guess we will see if the change is safe after some more testing.
1044 Perhaps there is some package in Debian depending on sync() and
1045 fsync() having effect? Perhaps it should go into its own udeb, to
1046 allow those of us wanting to enable it to do so without affecting
1049 <p
>Update
2014-
09-
24: Since a few days ago, enabling this optimization
1050 will break installation of all programs using gnutls because of
1051 <a href=
"https://bugs.debian.org/
702711">bug #
702711</a
>. An updated
1052 eatmydata package in Debian will solve it.
</p
>
1054 <p
>Update
2014-
10-
17: The bug mentioned above is fixed in testing and
1055 the optimization work again. And I have discovered that the
1056 dpkg-divert trick is not really needed and implemented a slightly
1057 simpler approach as part of the debian-edu-install package. See
1058 tools/edu-eatmydata-install in the source package.
</p
>