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>S3QL, a locally mounted cloud file system - nice free software
</title>
11 <link>http://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html
</link>
12 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html
</guid>
13 <pubDate>Wed,
9 Apr
2014 11:
30:
00 +
0200</pubDate>
14 <description><p
>For a while now, I have been looking for a sensible offsite backup
15 solution for use at home. My requirements are simple, it must be
16 cheap and locally encrypted (in other words, I keep the encryption
17 keys, the storage provider do not have access to my private files).
18 One idea me and my friends had many years ago, before the cloud
19 storage providers showed up, was to use Google mail as storage,
20 writing a Linux block device storing blocks as emails in the mail
21 service provided by Google, and thus get heaps of free space. On top
22 of this one can add encryption, RAID and volume management to have
23 lots of (fairly slow, I admit that) cheap and encrypted storage. But
24 I never found time to implement such system. But the last few weeks I
25 have looked at a system called
26 <a href=
"https://bitbucket.org/nikratio/s3ql/
">S3QL
</a
>, a locally
27 mounted network backed file system with the features I need.
</p
>
29 <p
>S3QL is a fuse file system with a local cache and cloud storage,
30 handling several different storage providers, any with Amazon S3,
31 Google Drive or OpenStack API. There are heaps of such storage
32 providers. S3QL can also use a local directory as storage, which
33 combined with sshfs allow for file storage on any ssh server. S3QL
34 include support for encryption, compression, de-duplication, snapshots
35 and immutable file systems, allowing me to mount the remote storage as
36 a local mount point, look at and use the files as if they were local,
37 while the content is stored in the cloud as well. This allow me to
38 have a backup that should survive fire. The file system can not be
39 shared between several machines at the same time, as only one can
40 mount it at the time, but any machine with the encryption key and
41 access to the storage service can mount it if it is unmounted.
</p
>
43 <p
>It is simple to use. I
'm using it on Debian Wheezy, where the
44 package is included already. So to get started, run
<tt
>apt-get
45 install s3ql
</tt
>. Next, pick a storage provider. I ended up picking
46 Greenqloud, after reading their nice recipe on
47 <a href=
"https://greenqloud.zendesk.com/entries/
44611757-How-To-Use-S3QL-to-mount-a-StorageQloud-bucket-on-Debian-Wheezy
">how
48 to use S3QL with their Amazon S3 service
</a
>, because I trust the laws
49 in Iceland more than those in USA when it come to keeping my personal
50 data safe and private, and thus would rather spend money on a company
51 in Iceland. Another nice recipe is available from the article
52 <a href=
"http://www.admin-magazine.com/HPC/Articles/HPC-Cloud-Storage
">S3QL
53 Filesystem for HPC Storage
</a
> by Jeff Layton in the HPC section of
54 Admin magazine. When the provider is picked, figure out how to get
55 the API key needed to connect to the storage API. With Greencloud,
56 the key did not show up until I had added payment details to my
59 <p
>Armed with the API access details, it is time to create the file
60 system. First, create a new bucket in the cloud. This bucket is the
61 file system storage area. I picked a bucket name reflecting the
62 machine that was going to store data there, but any name will do.
63 I
'll refer to it as
<tt
>bucket-name
</tt
> below. In addition, one need
64 the API login and password, and a locally created password. Store it
65 all in ~root/.s3ql/authinfo2 like this:
67 <p
><blockquote
><pre
>
69 storage-url: s3c://s.greenqloud.com:
443/bucket-name
70 backend-login: API-login
71 backend-password: API-password
72 fs-passphrase: local-password
73 </pre
></blockquote
></p
>
75 <p
>I create my local passphrase using
<tt
>pwget
50</tt
> or similar,
76 but any sensible way to create a fairly random password should do it.
77 Armed with these details, it is now time to run mkfs, entering the API
78 details and password to create it:
</p
>
80 <p
><blockquote
><pre
>
81 # mkdir -m
700 /var/lib/s3ql-cache
82 # mkfs.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
83 --ssl s3c://s.greenqloud.com:
443/bucket-name
85 Enter backend password:
86 Before using S3QL, make sure to read the user
's guide, especially
87 the
'Important Rules to Avoid Loosing Data
' section.
88 Enter encryption password:
89 Confirm encryption password:
90 Generating random encryption key...
91 Creating metadata tables...
101 Compressing and uploading metadata...
102 Wrote
0.00 MB of compressed metadata.
103 #
</pre
></blockquote
></p
>
105 <p
>The next step is mounting the file system to make the storage available.
107 <p
><blockquote
><pre
>
108 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
109 --ssl --allow-root s3c://s.greenqloud.com:
443/bucket-name /s3ql
110 Using
4 upload threads.
111 Downloading and decompressing metadata...
121 Mounting filesystem...
123 Filesystem Size Used Avail Use% Mounted on
124 s3c://s.greenqloud.com:
443/bucket-name
1.0T
0 1.0T
0% /s3ql
126 </pre
></blockquote
></p
>
128 <p
>The file system is now ready for use. I use rsync to store my
129 backups in it, and as the metadata used by rsync is downloaded at
130 mount time, no network traffic (and storage cost) is triggered by
131 running rsync. To unmount, one should not use the normal umount
132 command, as this will not flush the cache to the cloud storage, but
133 instead running the umount.s3ql command like this:
135 <p
><blockquote
><pre
>
138 </pre
></blockquote
></p
>
140 <p
>There is a fsck command available to check the file system and
141 correct any problems detected. This can be used if the local server
142 crashes while the file system is mounted, to reset the
"already
143 mounted
" flag. This is what it look like when processing a working
144 file system:
</p
>
146 <p
><blockquote
><pre
>
147 # fsck.s3ql --force --ssl s3c://s.greenqloud.com:
443/bucket-name
148 Using cached metadata.
149 File system seems clean, checking anyway.
150 Checking DB integrity...
151 Creating temporary extra indices...
152 Checking lost+found...
153 Checking cached objects...
154 Checking names (refcounts)...
155 Checking contents (names)...
156 Checking contents (inodes)...
157 Checking contents (parent inodes)...
158 Checking objects (reference counts)...
159 Checking objects (backend)...
160 ..processed
5000 objects so far..
161 ..processed
10000 objects so far..
162 ..processed
15000 objects so far..
163 Checking objects (sizes)...
164 Checking blocks (referenced objects)...
165 Checking blocks (refcounts)...
166 Checking inode-block mapping (blocks)...
167 Checking inode-block mapping (inodes)...
168 Checking inodes (refcounts)...
169 Checking inodes (sizes)...
170 Checking extended attributes (names)...
171 Checking extended attributes (inodes)...
172 Checking symlinks (inodes)...
173 Checking directory reachability...
174 Checking unix conventions...
175 Checking referential integrity...
176 Dropping temporary indices...
177 Backing up old metadata...
187 Compressing and uploading metadata...
188 Wrote
0.89 MB of compressed metadata.
190 </pre
></blockquote
></p
>
192 <p
>Thanks to the cache, working on files that fit in the cache is very
193 quick, about the same speed as local file access. Uploading large
194 amount of data is to me limited by the bandwidth out of and into my
195 house. Uploading
685 MiB with a
100 MiB cache gave me
305 kiB/s,
196 which is very close to my upload speed, and downloading the same
197 Debian installation ISO gave me
610 kiB/s, close to my download speed.
198 Both were measured using
<tt
>dd
</tt
>. So for me, the bottleneck is my
199 network, not the file system code. I do not know what a good cache
200 size would be, but suspect that the cache should e larger than your
201 working set.
</p
>
203 <p
>I mentioned that only one machine can mount the file system at the
204 time. If another machine try, it is told that the file system is
207 <p
><blockquote
><pre
>
208 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
209 --ssl --allow-root s3c://s.greenqloud.com:
443/bucket-name /s3ql
210 Using
8 upload threads.
211 Backend reports that fs is still mounted elsewhere, aborting.
213 </pre
></blockquote
></p
>
215 <p
>The file content is uploaded when the cache is full, while the
216 metadata is uploaded once every
24 hour by default. To ensure the
217 file system content is flushed to the cloud, one can either umount the
218 file system, or ask S3QL to flush the cache and metadata using
221 <p
><blockquote
><pre
>
222 # s3qlctrl upload-meta /s3ql
223 # s3qlctrl flushcache /s3ql
225 </pre
></blockquote
></p
>
227 <p
>If you are curious about how much space your data uses in the
228 cloud, and how much compression and deduplication cut down on the
229 storage usage, you can use s3qlstat on the mounted file system to get
232 <p
><blockquote
><pre
>
234 Directory entries:
9141
237 Total data size:
22049.38 MB
238 After de-duplication:
21955.46 MB (
99.57% of total)
239 After compression:
21877.28 MB (
99.22% of total,
99.64% of de-duplicated)
240 Database size:
2.39 MB (uncompressed)
241 (some values do not take into account not-yet-uploaded dirty blocks in cache)
243 </pre
></blockquote
></p
>
245 <p
>I mentioned earlier that there are several possible suppliers of
246 storage. I did not try to locate them all, but am aware of at least
247 <a href=
"https://www.greenqloud.com/
">Greenqloud
</a
>,
248 <a href=
"http://drive.google.com/
">Google Drive
</a
>,
249 <a href=
"http://aws.amazon.com/s3/
">Amazon S3 web serivces
</a
>,
250 <a href=
"http://www.rackspace.com/
">Rackspace
</a
> and
251 <a href=
"http://crowncloud.net/
">Crowncloud
</A
>. The latter even
252 accept payment in Bitcoin. Pick one that suit your need. Some of
253 them provide several GiB of free storage, but the prize models are
254 quite different and you will have to figure out what suits you
257 <p
>While researching this blog post, I had a look at research papers
258 and posters discussing the S3QL file system. There are several, which
259 told me that the file system is getting a critical check by the
260 science community and increased my confidence in using it. One nice
262 "<a href=
"http://www.lanl.gov/orgs/adtsc/publications/science_highlights_2013/docs/pg68_69.pdf
">An
263 Innovative Parallel Cloud Storage System using OpenStack’s SwiftObject
264 Store and Transformative Parallel I/O Approach
</a
>" by Hsing-Bung
265 Chen, Benjamin McClelland, David Sherrill, Alfred Torrez, Parks Fields
266 and Pamela Smith. Please have a look.
</p
>
268 <p
>Given my problems with different file systems earlier, I decided to
269 check out the mounted S3QL file system to see if it would be usable as
270 a home directory (in other word, that it provided POSIX semantics when
271 it come to locking and umask handling etc). Running
272 <a href=
"http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html
">my
273 test code to check file system semantics
</a
>, I was happy to discover that
274 no error was found. So the file system can be used for home
275 directories, if one chooses to do so.
</p
>
277 <p
>If you do not want a locally file system, and want something that
278 work without the Linux fuse file system, I would like to mention the
279 <a href=
"http://www.tarsnap.com/
">Tarsnap service
</a
>, which also
280 provide locally encrypted backup using a command line client. It have
281 a nicer access control system, where one can split out read and write
282 access, allowing some systems to write to the backup and others to
283 only read from it.
</p
>
285 <p
>As usual, if you use Bitcoin and want to show your support of my
286 activities, please send Bitcoin donations to my address
287 <b
><a href=
"bitcoin:
15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
&label=PetterReinholdtsenBlog
">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b
</a
></b
>.
</p
>
292 <title>EU-domstolen bekreftet i dag at datalagringsdirektivet er ulovlig
</title>
293 <link>http://people.skolelinux.org/pere/blog/EU_domstolen_bekreftet_i_dag_at_datalagringsdirektivet_er_ulovlig.html
</link>
294 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/EU_domstolen_bekreftet_i_dag_at_datalagringsdirektivet_er_ulovlig.html
</guid>
295 <pubDate>Tue,
8 Apr
2014 11:
30:
00 +
0200</pubDate>
296 <description><p
>I dag kom endelig avgjørelsen fra EU-domstolen om
297 datalagringsdirektivet, som ikke overraskende ble dømt ulovlig og i
298 strid med borgernes grunnleggende rettigheter. Hvis du lurer på hva
299 datalagringsdirektivet er for noe, så er det
300 <a href=
"http://tv.nrk.no/program/koid75005313/tema-dine-digitale-spor-datalagringsdirektivet
">en
301 flott dokumentar tilgjengelig hos NRK
</a
> som jeg tidligere
302 <a href=
"http://people.skolelinux.org/pere/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html
">har
303 anbefalt
</a
> alle å se.
</p
>
305 <p
>Her er et liten knippe nyhetsoppslag om saken, og jeg regner med at
306 det kommer flere ut over dagen. Flere kan finnes
307 <a href=
"http://www.mylder.no/?drill=datalagringsdirektivet
&intern=
1">via
308 mylder
</a
>.
</p
>
312 <li
><a href=
"http://e24.no/digital/eu-domstolen-datalagringsdirektivet-er-ugyldig/
22879592">EU-domstolen:
313 Datalagringsdirektivet er ugyldig
</a
> - e24.no
2014-
04-
08
315 <li
><a href=
"http://www.aftenposten.no/nyheter/iriks/EU-domstolen-Datalagringsdirektivet-er-ulovlig-
7529032.html
">EU-domstolen:
316 Datalagringsdirektivet er ulovlig
</a
> - aftenposten.no
2014-
04-
08
318 <li
><a href=
"http://www.aftenposten.no/nyheter/iriks/politikk/Krever-DLD-stopp-i-Norge-
7530086.html
">Krever
319 DLD-stopp i Norge
</a
> - aftenposten.no
2014-
04-
08
321 <li
><a href=
"http://www.p4.no/story.aspx?id=
566431">Apenes: - En
322 gledens dag
</a
> - p4.no
2014-
04-
08
324 <li
><a href=
"http://www.nrk.no/norge/_-datalagringsdirektivet-er-ugyldig-
1.11655929">EU-domstolen:
325 – Datalagringsdirektivet er ugyldig
</a
> - nrk.no
2014-
04-
08</li
>
327 <li
><a href=
"http://www.vg.no/nyheter/utenriks/data-og-nett/eu-domstolen-datalagringsdirektivet-er-ugyldig/a/
10130280/
">EU-domstolen:
328 Datalagringsdirektivet er ugyldig
</a
> - vg.no
2014-
04-
08</li
>
330 <li
><a href=
"http://www.dagbladet.no/
2014/
04/
08/nyheter/innenriks/datalagringsdirektivet/personvern/
32711646/
">-
331 Vi bør skrote hele datalagringsdirektivet
</a
> - dagbladet.no
332 2014-
04-
08</li
>
334 <li
><a href=
"http://www.digi.no/
928137/eu-domstolen-dld-er-ugyldig
">EU-domstolen:
335 DLD er ugyldig
</a
> - digi.no
2014-
04-
08</li
>
337 <li
><a href=
"http://www.irishtimes.com/business/sectors/technology/european-court-declares-data-retention-directive-invalid-
1.1754150">European
338 court declares data retention directive invalid
</a
> - irishtimes.com
339 2014-
04-
08</li
>
341 <li
><a href=
"http://www.reuters.com/article/
2014/
04/
08/us-eu-data-ruling-idUSBREA370F020140408?feedType=RSS
">EU
342 court rules against requirement to keep data of telecom users
</a
> -
343 reuters.com
2014-
04-
08</li
>
348 <p
>Jeg synes det er veldig fint at nok en stemme slår fast at
349 totalitær overvåkning av befolkningen er uakseptabelt, men det er
350 fortsatt like viktig å beskytte privatsfæren som før, da de
351 teknologiske mulighetene fortsatt finnes og utnyttes, og jeg tror
352 innsats i prosjekter som
353 <a href=
"https://wiki.debian.org/FreedomBox
">Freedombox
</a
> og
354 <a href=
"http://www.dugnadsnett.no/
">Dugnadsnett
</a
> er viktigere enn
357 <p
><strong
>Update
2014-
04-
08 12:
10</strong
>: Kronerullingen for å
358 stoppe datalagringsdirektivet i Norge gjøres hos foreningen
359 <a href=
"http://www.digitaltpersonvern.no/
">Digitalt Personvern
</a
>,
360 som har samlet inn
843 215,- så langt men trenger nok mye mer hvis
362 ikke Høyre og Arbeiderpartiet bytter mening i saken. Det var
363 <a href=
"http://www.holderdeord.no/parliament-issues/
48650">kun
364 partinene Høyre og Arbeiderpartiet
</a
> som stemte for
365 Datalagringsdirektivet, og en av dem må bytte mening for at det skal
366 bli flertall mot i Stortinget. Se mer om saken
367 <a href=
"http://www.holderdeord.no/issues/
69-innfore-datalagringsdirektivet
">Holder
368 de ord
</a
>.
</p
>
373 <title>ReactOS Windows clone - nice free software
</title>
374 <link>http://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html
</link>
375 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html
</guid>
376 <pubDate>Tue,
1 Apr
2014 12:
10:
00 +
0200</pubDate>
377 <description><p
>Microsoft have announced that Windows XP reaches its end of life
378 2014-
04-
08, in
7 days. But there are heaps of machines still running
379 Windows XP, and depending on Windows XP to run their applications, and
380 upgrading will be expensive, both when it comes to money and when it
381 comes to the amount of effort needed to migrate from Windows XP to a
382 new operating system. Some obvious options (buy new a Windows
383 machine, buy a MacOSX machine, install Linux on the existing machine)
384 are already well known and covered elsewhere. Most of them involve
385 leaving the user applications installed on Windows XP behind and
386 trying out replacements or updated versions. In this blog post I want
387 to mention one strange bird that allow people to keep the hardware and
388 the existing Windows XP applications and run them on a free software
389 operating system that is Windows XP compatible.
</p
>
391 <p
><a href=
"http://www.reactos.org/
">ReactOS
</a
> is a free software
392 operating system (GNU GPL licensed) working on providing a operating
393 system that is binary compatible with Windows, able to run windows
394 programs directly and to use Windows drivers for hardware directly.
395 The project goal is for Windows user to keep their existing machines,
396 drivers and software, and gain the advantages from user a operating
397 system without usage limitations caused by non-free licensing. It is
398 a Windows clone running directly on the hardware, so quite different
399 from the approach taken by
<a href=
"http://www.winehq.org/
">the Wine
400 project
</a
>, which make it possible to run Windows binaries on
403 <p
>The ReactOS project share code with the Wine project, so most
404 shared libraries available on Windows are already implemented already.
405 There is also a software manager like the one we are used to on Linux,
406 allowing the user to install free software applications with a simple
407 click directly from the Internet. Check out the
408 <a href=
"http://www.reactos.org/screenshots
">screen shots on the
409 project web site
</a
> for an idea what it look like (it looks just like
410 Windows before metro).
</p
>
412 <p
>I do not use ReactOS myself, preferring Linux and Unix like
413 operating systems. I
've tested it, and it work fine in a virt-manager
414 virtual machine. The browser, minesweeper, notepad etc is working
415 fine as far as I can tell. Unfortunately, my main test application
416 is the software included on a CD with the Lego Mindstorms NXT, which
417 seem to install just fine from CD but fail to leave any binaries on
418 the disk after the installation. So no luck with that test software.
419 No idea why, but hope someone else figure out and fix the problem.
420 I
've tried the ReactOS Live ISO on a physical machine, and it seemed
421 to work just fine. If you like Windows and want to keep running your
422 old Windows binaries, check it out by
423 <a href=
"http://www.reactos.org/download
">downloading
</a
> the
424 installation CD, the live CD or the preinstalled virtual machine
430 <title>Debian Edu interview: Roger Marsal
</title>
431 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html
</link>
432 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html
</guid>
433 <pubDate>Sun,
30 Mar
2014 11:
40:
00 +
0200</pubDate>
434 <description><p
><a href=
"http://www.skolelinux.org/
">Debian Edu / Skolelinux
</a
>
435 keep gaining new users. Some weeks ago, a person showed up on IRC,
436 <a href=
"irc://irc.debian.org/#debian-edu
">#debian-edu
</a
>, with a
437 wish to contribute, and I managed to get a interview with this great
438 contributor Roger Marsal to learn more about his background.
</p
>
440 <p
><strong
>Who are you, and how do you spend your days?
</strong
></p
>
442 <p
>My name is Roger Marsal, I
'm
27 years old (
1986 generation) and I
443 live in Barcelona, Spain. I
've got a strong business background and I
444 work as a patrimony manager and as a real estate agent. Additionally,
445 I
've co-founded a British based tech company that is nowadays on the
446 last development phase of a new social networking concept.
</p
>
448 <p
>I
'm a Linux enthusiast that started its journey with Ubuntu four years
449 ago and have recently switched to Debian seeking rock solid stability
450 and as a necessary step to gain expertise.
</p
>
452 <p
>In a nutshell, I spend my days working and learning as much as I
453 can to face both my job, entrepreneur project and feed my Linux
456 <p
><strong
>How did you get in contact with the Skolelinux / Debian Edu
457 project?
</strong
></p
>
459 <p
>I discovered the
<a href=
"http://www.ltsp.org/
">LTSP
</a
> advantages
460 with
"Ubuntu
12.04 alternate install
" and after a year of use I
461 started looking for an alternative. Even though I highly value and
462 respect the Ubuntu project, I thought it was necessary for me to
463 change to a more robust and stable alternative. As far as I was using
464 Debian on my personal laptop I thought it would be fine to install
465 Debian and configure an LTSP server myself. Surprised, I discovered
466 that the Debian project also supported a kind of Edubuntu equivalent,
467 and after having some pain I obtained a Debian Edu network up and
468 running. I just loved it.
</p
>
470 <p
><strong
>What do you see as the advantages of Skolelinux / Debian
471 Edu?
</strong
></p
>
473 <p
>I found a main advantage in that, once you know
"the tips and
474 tricks
", a new installation just works out of the box. It
's the most
475 complete alternative I
've found to create an LTSP network. All the
476 other distributions seems to be made of plastic, Debian Edu seems to
477 be made of steel.
</p
>
479 <p
><strong
>What do you see as the disadvantages of Skolelinux / Debian
480 Edu?
</strong
></p
>
482 <p
>I found two main disadvantages.
</p
>
484 <p
>I
'm not an expert but I
've got notions and I had to spent a considerable
485 amount of time trying to bring up a standard network topology. I
'm quite
486 stubborn and I just worked until I did but I
'm sure many people with few
487 resources (not big schools, but academies for example) would have switched
488 or dropped.
</p
>
490 <p
>It
's amazing how such a complex system like Debian Edu has achieved
491 this out-of-the-box state. Even though tweaking without breaking gets
492 more difficult, as more factors have to be considered. This can
493 discourage many people too.
</p
>
495 <p
><strong
>Which free software do you use daily?
</strong
></p
>
497 <p
>I use Debian, Firefox, Okular, Inkscape, LibreOffice and
498 Virtualbox.
</p
>
501 <p
><strong
>Which strategy do you believe is the right one to use to
502 get schools to use free software?
</strong
></p
>
504 <p
>I don
't think there is a need for a particular strategy. The free
505 attribute in both
"freedom
" and
"no price
" meanings is what will
506 really bring free software to schools. In my experience I can think of
507 the
<a href=
"http://www.r-project.org/
">"R
" statistical language
</a
>; a
508 few years a ago was an extremely nerd tool for university people.
509 Today it
's being increasingly used to teach statistics at many
510 different level of studies. I believe free and open software will
511 increasingly gain popularity, but I
'm sure schools will be one of the
512 first scenarios where this will happen.
</p
>
517 <title>Dokumentaren om Datalagringsdirektivet sendes endelig på NRK
</title>
518 <link>http://people.skolelinux.org/pere/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html
</link>
519 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html
</guid>
520 <pubDate>Wed,
26 Mar
2014 09:
50:
00 +
0100</pubDate>
521 <description><p
><a href=
"http://www.nuug.no/
">Foreningen NUUG
</a
> melder i natt at
522 NRK nå har bestemt seg for
523 <a href=
"http://www.nuug.no/news/NRK_viser_filmen_om_Datalagringsdirektivet_f_rste_gang_2014_03_31.shtml
">når
524 den norske dokumentarfilmen om datalagringsdirektivet skal
525 sendes
</a
> (se
<a href=
"http://www.imdb.com/title/tt2832844/
">IMDB
</a
>
526 for detaljer om filmen) . Første visning blir på NRK2 mandag
527 2014-
03-
31 kl.
19:
50, og deretter visninger onsdag
2014-
04-
02
528 kl.
12:
30, fredag
2014-
04-
04 kl.
19:
40 og søndag
2014-
04-
06 kl.
15:
10.
529 Jeg har sett dokumentaren, og jeg anbefaler enhver å se den selv. Som
530 oppvarming mens vi venter anbefaler jeg Bjørn Stærks kronikk i
531 Aftenposten fra i går,
532 <a href=
"http://www.aftenposten.no/meninger/kronikker/Autoritar-gjokunge-
7514915.html
">Autoritær
533 gjøkunge
</a
>, der han gir en grei skisse av hvor ille det står til med
534 retten til privatliv og beskyttelsen av demokrati i Norge og resten
535 verden, og helt riktig slår fast at det er vi i databransjen som
536 sitter med nøkkelen til å gjøre noe med dette. Jeg har involvert meg
537 i prosjektene
<a href=
"http://www.dugnadsnett.no/
">dugnadsnett.no
</a
>
538 og
<a href=
"https://wiki.debian.org/FreedomBox
">FreedomBox
</a
> for å
539 forsøke å gjøre litt selv for å bedre situasjonen, men det er mye
540 hardt arbeid fra mange flere enn meg som gjenstår før vi kan sies å ha
541 gjenopprettet balansen.
</p
>
543 <p
>Jeg regner med at nettutgaven dukker opp på
544 <a href=
"http://tv.nrk.no/program/koid75005313/tema-dine-digitale-spor-datalagringsdirektivet
">NRKs
545 side om filmen om datalagringsdirektivet
</a
> om fem dager. Hold et
546 øye med siden, og tips venner og slekt om at de også bør se den.
</p
>
551 <title>Public Trusted Timestamping services for everyone
</title>
552 <link>http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html
</link>
553 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html
</guid>
554 <pubDate>Tue,
25 Mar
2014 12:
50:
00 +
0100</pubDate>
555 <description><p
>Did you ever need to store logs or other files in a way that would
556 allow it to be used as evidence in court, and needed a way to
557 demonstrate without reasonable doubt that the file had not been
558 changed since it was created? Or, did you ever need to document that
559 a given document was received at some point in time, like some
560 archived document or the answer to an exam, and not changed after it
561 was received? The problem in these settings is to remove the need to
562 trust yourself and your computers, while still being able to prove
563 that a file is the same as it was at some given time in the past.
</p
>
565 <p
>A solution to these problems is to have a trusted third party
566 "stamp
" the document and verify that at some given time the document
567 looked a given way. Such
568 <a href=
"https://en.wikipedia.org/wiki/Notarius
">notarius
</a
> service
569 have been around for thousands of years, and its digital equivalent is
571 <a href=
"http://en.wikipedia.org/wiki/Trusted_timestamping
">trusted
572 timestamping service
</a
>.
<a href=
"http://www.ietf.org/
">The Internet
573 Engineering Task Force
</a
> standardised how such service could work a
574 few years ago as
<a href=
"http://tools.ietf.org/html/rfc3161
">RFC
575 3161</a
>. The mechanism is simple. Create a hash of the file in
576 question, send it to a trusted third party which add a time stamp to
577 the hash and sign the result with its private key, and send back the
578 signed hash + timestamp. Both email, FTP and HTTP can be used to
579 request such signature, depending on what is provided by the service
580 used. Anyone with the document and the signature can then verify that
581 the document matches the signature by creating their own hash and
582 checking the signature using the trusted third party public key.
583 There are several commercial services around providing such
584 timestamping. A quick search for
585 "<a href=
"https://duckduckgo.com/?q=rfc+
3161+service
">rfc
3161
586 service
</a
>" pointed me to at least
587 <a href=
"https://www.digistamp.com/technical/how-a-digital-time-stamp-works/
">DigiStamp
</a
>,
588 <a href=
"http://www.quovadisglobal.co.uk/CertificateServices/SigningServices/TimeStamp.aspx
">Quo
590 <a href=
"https://www.globalsign.com/timestamp-service/
">Global Sign
</a
>
591 and
<a href=
"http://www.globaltrustfinder.com/TSADefault.aspx
">Global
592 Trust Finder
</a
>. The system work as long as the private key of the
593 trusted third party is not compromised.
</p
>
595 <p
>But as far as I can tell, there are very few public trusted
596 timestamp services available for everyone. I
've been looking for one
597 for a while now. But yesterday I found one over at
598 <a href=
"https://www.pki.dfn.de/zeitstempeldienst/
">Deutches
599 Forschungsnetz
</a
> mentioned in
600 <a href=
"http://www.d-mueller.de/blog/dealing-with-trusted-timestamps-in-php-rfc-
3161/
">a
601 blog by David Müller
</a
>. I then found
602 <a href=
"http://www.rz.uni-greifswald.de/support/dfn-pki-zertifikate/zeitstempeldienst.html
">a
603 good recipe on how to use the service
</a
> over at the University of
604 Greifswald.
</p
>
606 <p
><a href=
"http://www.openssl.org/
">The OpenSSL library
</a
> contain
607 both server and tools to use and set up your own signing service. See
608 the ts(
1SSL), tsget(
1SSL) manual pages for more details. The
609 following shell script demonstrate how to extract a signed timestamp
610 for any file on the disk in a Debian environment:
</p
>
612 <p
><blockquote
><pre
>
615 url=
"http://zeitstempel.dfn.de
"
616 caurl=
"https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt
"
617 reqfile=$(mktemp -t tmp.XXXXXXXXXX.tsq)
618 resfile=$(mktemp -t tmp.XXXXXXXXXX.tsr)
620 if [ ! -f $cafile ] ; then
621 wget -O $cafile
"$caurl
"
623 openssl ts -query -data
"$
1" -cert | tee
"$reqfile
" \
624 | /usr/lib/ssl/misc/tsget -h
"$url
" -o
"$resfile
"
625 openssl ts -reply -in
"$resfile
" -text
1>&2
626 openssl ts -verify -data
"$
1" -in
"$resfile
" -CAfile
"$cafile
" 1>&2
627 base64
< "$resfile
"
628 rm
"$reqfile
" "$resfile
"
629 </pre
></blockquote
></p
>
631 <p
>The argument to the script is the file to timestamp, and the output
632 is a base64 encoded version of the signature to STDOUT and details
633 about the signature to STDERR. Note that due to
634 <a href=
"http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=
742553">a bug
635 in the tsget script
</a
>, you might need to modify the included script
636 and remove the last line. Or just write your own HTTP uploader using
637 curl. :) Now you too can prove and verify that files have not been
640 <p
>But the Internet need more public trusted timestamp services.
641 Perhaps something for
<a href=
"http://www.uninett.no/
">Uninett
</a
> or
642 my work place the
<a href=
"http://www.uio.no/
">University of Oslo
</a
>
648 <title>Video DVD reader library / python-dvdvideo - nice free software
</title>
649 <link>http://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html
</link>
650 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html
</guid>
651 <pubDate>Fri,
21 Mar
2014 15:
25:
00 +
0100</pubDate>
652 <description><p
>Keeping your DVD collection safe from scratches and curious
653 children fingers while still having it available when you want to see a
654 movie is not straight forward. My preferred method at the moment is
655 to store a full copy of the ISO on a hard drive, and use VLC, Popcorn
656 Hour or other useful players to view the resulting file. This way the
657 subtitles and bonus material are still available and using the ISO is
658 just like inserting the original DVD record in the DVD player.
</p
>
660 <p
>Earlier I used dd for taking security copies, but it do not handle
661 DVDs giving read errors (which are quite a few of them). I
've also
663 <a href=
"http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html
">dvdbackup
664 and genisoimage
</a
>, but these days I use the marvellous python library
666 <a href=
"http://bblank.thinkmo.de/blog/new-software-python-dvdvideo
">python-dvdvideo
</a
>
667 written by Bastian Blank. It is
668 <a href=
"http://packages.qa.debian.org/p/python-dvdvideo.html
">in Debian
669 already
</a
> and the binary package name is python3-dvdvideo. Instead
670 of trying to read every block from the DVD, it parses the file
671 structure and figure out which block on the DVD is actually in used,
672 and only read those blocks from the DVD. This work surprisingly well,
673 and I have been able to almost backup my entire DVD collection using
674 this method.
</p
>
676 <p
>So far, python-dvdvideo have failed on between
10 and
677 20 DVDs, which is a small fraction of my collection. The most common
679 <a href=
"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=
720831">DVDs
680 using UTF-
16 instead of UTF-
8 characters
</a
>, which according to
681 Bastian is against the DVD specification (and seem to cause some
682 players to fail too). A rarer problem is what seem to be inconsistent
683 DVD structures, as the python library
684 <a href=
"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=
723079">claim
685 there is a overlap between objects
</a
>. An equally rare problem claim
686 <a href=
"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=
741878">some
687 value is out of range
</a
>. No idea what is going on there. I wish I
688 knew enough about the DVD format to fix these, to ensure my movie
689 collection will stay with me in the future.
</p
>
691 <p
>So, if you need to keep your DVDs safe, back them up using
692 python-dvdvideo. :)
</p
>
697 <title>Norsk utgave av Alaveteli / WhatDoTheyKnow på trappene
</title>
698 <link>http://people.skolelinux.org/pere/blog/Norsk_utgave_av_Alaveteli___WhatDoTheyKnow_p__trappene.html
</link>
699 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Norsk_utgave_av_Alaveteli___WhatDoTheyKnow_p__trappene.html
</guid>
700 <pubDate>Sun,
16 Mar
2014 09:
30:
00 +
0100</pubDate>
701 <description><p
>Det offentlige Norge har mye kunnskap og informasjon. Men hvordan
702 kan en få tilgang til den på en enkel måte? Takket være et lite
703 knippe lover og tilhørende forskrifter, blant annet
704 <a href=
"http://lovdata.no/dokument/NL/lov/
2006-
05-
19-
16">offentlighetsloven
</a
>,
705 <a href=
"http://lovdata.no/dokument/NL/lov/
2003-
05-
09-
31">miljøinformasjonsloven
</a
>
707 <a href=
"http://lovdata.no/dokument/NL/lov/
1967-
02-
10/
">forvaltningsloven
</a
>
708 har en rett til å spørre det offentlige og få svar. Men det finnes
709 intet offentlig arkiv over hva andre har spurt om, og dermed risikerer en
710 å måtte forstyrre myndighetene gang på gang for å få tak i samme
711 informasjonen på nytt.
<a href=
"http://www.mysociety.org/
">Britiske
712 mySociety
</a
> har laget tjenesten
713 <a href=
"http://www.whatdotheyknow.com/
">WhatDoTheyKnow
</a
> som gjør
714 noe med dette. I Storbritannia blir WhatdoTheyKnow brukt i
715 <a href=
"http://www.mysociety.org/
2011/
07/
01/whatdotheyknows-share-of-central-government-foi-requests-q2-
2011/
">ca
716 15% av alle innsynsforespørsler mot sentraladministrasjonen
</a
>.
717 Prosjektet heter
<a href=
"http://www.alaveteli.org/
">Alaveteli
</A
>, og
718 er takk i bruk en rekke steder etter at løsningen ble generalisert og
719 gjort mulig å oversette. Den hjelper borgerne med å be om innsyn,
720 rådgir ved purringer og klager og lar alle se hvilke henvendelser som
721 er sendt til det offentlige og hvilke svar som er kommet inn, i et
722 søkpart arkiv. Her i Norge holder vi i foreningen NUUG på å få opp en
723 norsk utgave av Alaveteli, og her trenger vi din hjelp med
724 oversettelsen.
</p
>
726 <p
>Så langt er
76 % av Alaveteli oversatt til norsk bokmål, men vi
727 skulle gjerne vært oppe i
100 % før lansering. Oversettelsen gjøres
728 på
<a href=
"https://www.transifex.com/projects/p/alaveteli/
">Transifex,
729 der enhver som registrerer seg
</a
> og ber om tilgang til
730 bokmålsoversettelsen får bidra. Vi har satt opp en test av tjenesten
731 (som ikke sender epost til det offentlige, kun til oss som holder på å
732 sette opp tjenesten) på maskinen
733 <a href=
"http://alaveteli-dev.nuug.no/
">alaveteli-dev.nuug.no
</a
>, der
734 en kan se hvordan de oversatte meldingen blir seende ut på nettsiden.
735 Når tjenesten lanseres vil den hete
736 <a href=
"https://www.mimesbrønn.no/
">Mimes brønn
</a
>, etter
737 visdomskilden som Odin måtte gi øyet sitt for å få drikke i. Den
738 nettsiden er er ennå ikke klar til bruk.
</p
>
740 <p
>Hvis noen vil oversette til nynorsk også, så skal vi finne ut
741 hvordan vi lager en flerspråklig tjeneste. Men i første omgang er
742 fokus på bokmålsoversettelsen, der vi selv har nok peiling til å ha
743 fått oversatt
76%, men trenger hjelp for å komme helt i mål. :)
</p
>
748 <title>Freedombox on Dreamplug, Raspberry Pi and virtual x86 machine
</title>
749 <link>http://people.skolelinux.org/pere/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html
</link>
750 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html
</guid>
751 <pubDate>Fri,
14 Mar
2014 11:
00:
00 +
0100</pubDate>
752 <description><p
>The
<a href=
"https://wiki.debian.org/FreedomBox
">Freedombox
753 project
</a
> is working on providing the software and hardware for
754 making it easy for non-technical people to host their data and
755 communication at home, and being able to communicate with their
756 friends and family encrypted and away from prying eyes. It has been
757 going on for a while, and is slowly progressing towards a new test
758 release (
0.2).
</p
>
760 <p
>And what day could be better than the Pi day to announce that the
761 new version will provide
"hard drive
" / SD card / USB stick images for
762 Dreamplug, Raspberry Pi and VirtualBox (or any other virtualization
763 system), and can also be installed using a Debian installer preseed
764 file. The Debian based Freedombox is now based on Debian Jessie,
765 where most of the needed packages used are already present. Only one,
766 the freedombox-setup package, is missing. To try to build your own
767 boot image to test the current status, fetch the freedom-maker scripts
769 <a href=
"http://packages.qa.debian.org/vmdebootstrap
">vmdebootstrap
</a
>
770 with a user with sudo access to become root:
773 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
775 sudo apt-get install git vmdebootstrap mercurial python-docutils \
776 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
778 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
781 <p
>Root access is needed to run debootstrap and mount loopback
782 devices. See the README for more details on the build. If you do not
783 want all three images, trim the make line. But note that thanks to
<a
784 href=
"https://bugs.debian.org/
741407">a race condition in
785 vmdebootstrap
</a
>, the build might fail without the patch to the
786 kpartx call.
</p
>
788 <p
>If you instead want to install using a Debian CD and the preseed
789 method, boot a Debian Wheezy ISO and use this boot argument to load
790 the preseed values:
</p
>
793 url=
<a href=
"http://www.reinholdtsen.name/freedombox/preseed-jessie.dat
">http://www.reinholdtsen.name/freedombox/preseed-jessie.dat
</a
>
796 <p
>But note that due to
<a href=
"https://bugs.debian.org/
740673">a
797 recently introduced bug in apt in Jessie
</a
>, the installer will
798 currently hang while setting up APT sources. Killing the
799 '<tt
>apt-cdrom ident
</tt
>' process when it hang a few times during the
800 installation will get the installation going. This affect all
801 installations in Jessie, and I expect it will be fixed soon.
</p
>
803 <p
>Give it a go and let us know how it goes on the mailing list, and help
804 us get the new release published. :) Please join us on
805 <a href=
"irc://irc.debian.org:
6667/%
23freedombox
">IRC (#freedombox on
806 irc.debian.org)
</a
> and
807 <a href=
"http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss
">the
808 mailing list
</a
> if you want to help make this vision come true.
</p
>
813 <title>How to add extra storage servers in Debian Edu / Skolelinux
</title>
814 <link>http://people.skolelinux.org/pere/blog/How_to_add_extra_storage_servers_in_Debian_Edu___Skolelinux.html
</link>
815 <guid isPermaLink=
"true">http://people.skolelinux.org/pere/blog/How_to_add_extra_storage_servers_in_Debian_Edu___Skolelinux.html
</guid>
816 <pubDate>Wed,
12 Mar
2014 12:
50:
00 +
0100</pubDate>
817 <description><p
>On larger sites, it is useful to use a dedicated storage server for
818 storing user home directories and data. The design for handling this
819 in
<a href=
"http://www.skolelinux.org/
">Debian Edu / Skolelinux
</a
>, is
820 to update the automount rules in LDAP and let the automount daemon on
821 the clients take care of the rest. I was reminded about the need to
822 document this better when one of the customers of
823 <a href=
"http://www.slxdrift.no/
">Skolelinux Drift AS
</a
>, where I am
824 on the board of directors, asked about how to do this. The steps to
825 get this working are the following:
</p
>
829 <li
>Add new storage server in DNS. I use nas-server.intern as the
830 example host here.
</li
>
832 <li
>Add automoun LDAP information about this server in LDAP, to allow
833 all clients to automatically mount it on reqeust.
</li
>
835 <li
>Add the relevant entries in tjener.intern:/etc/fstab, because
836 tjener.intern do not use automount to avoid mounting loops.
</li
>
838 </ol
></p
>
840 <p
>DNS entries are added in GOsa², and not described here. Follow the
841 <a href=
"https://wiki.debian.org/DebianEdu/Documentation/Wheezy/GettingStarted
">instructions
842 in the manual
</a
> (Machine Management with GOsa² in section Getting
845 <p
>Ensure that the NFS export points on the server are exported to the
846 relevant subnets or machines:
</p
>
848 <p
><blockquote
><pre
>
849 root@tjener:~# showmount -e nas-server
850 Export list for nas-server:
853 </pre
></blockquote
></p
>
855 <p
>Here everything on the backbone network is granted access to the
856 /storage export. With NFSv3 it is slightly better to limit it to
857 netgroup membership or single IP addresses to have some limits on the
858 NFS access.
</p
>
860 <p
>The next step is to update LDAP. This can not be done using GOsa²,
861 because it lack a module for automount. Instead, use ldapvi and add
862 the required LDAP objects using an editor.
</p
>
864 <p
><blockquote
><pre
>
865 ldapvi --ldap-conf -ZD
'(cn=admin)
' -b ou=automount,dc=skole,dc=skolelinux,dc=no
866 </pre
></blockquote
></p
>
868 <p
>When the editor show up, add the following LDAP objects at the
869 bottom of the document. The
"/
&" part in the last LDAP object is a
870 wild card matching everything the nas-server exports, removing the
871 need to list individual mount points in LDAP.
</p
>
873 <p
><blockquote
><pre
>
874 add cn=nas-server,ou=auto.skole,ou=automount,dc=skole,dc=skolelinux,dc=no
875 objectClass: automount
877 automountInformation: -fstype=autofs --timeout=
60 ldap:ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
879 add ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
881 objectClass: automountMap
884 add cn=/,ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
885 objectClass: automount
887 automountInformation: -fstype=nfs,tcp,rsize=
32768,wsize=
32768,rw,intr,hard,nodev,nosuid,noatime nas-server.intern:/
&
888 </pre
></blockquote
></p
>
890 <p
>The last step to remember is to mount the relevant mount points in
891 tjener.intern by adding them to /etc/fstab, creating the mount
892 directories using mkdir and running
"mount -a
" to mount them.
</p
>
894 <p
>When this is done, your users should be able to access the files on
895 the storage server directly by just visiting the
896 /tjener/nas-server/storage/ directory using any application on any
897 workstation, LTSP client or LTSP server.
</p
>