]> pere.pagekite.me Git - homepage.git/blob - blog/index.rss
Generated.
[homepage.git] / blog / index.rss
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">
3 <channel>
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" />
8
9 <item>
10 <title>Install hardware dependent packages using tasksel (Isenkram 0.7)</title>
11 <link>http://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Install_hardware_dependent_packages_using_tasksel__Isenkram_0_7_.html</guid>
13 <pubDate>Wed, 23 Apr 2014 14:50:00 +0200</pubDate>
14 <description>&lt;p&gt;It would be nice if it was easier in Debian to get all the hardware
15 related packages relevant for the computer installed automatically.
16 So I implemented one, using
17 &lt;a href=&quot;http://packages.qa.debian.org/isenkram&quot;&gt;my Isenkram
18 package&lt;/a&gt;. To use it, install the tasksel and isenkram packages and
19 run tasksel as user root. You should be presented with a new option,
20 &quot;Hardware specific packages (autodetected by isenkram)&quot;. When you
21 select it, tasksel will install the packages isenkram claim is fit for
22 the current hardware, hot pluggable or not.&lt;p&gt;
23
24 &lt;p&gt;The implementation is in two files, one is the tasksel menu entry
25 description, and the other is the script used to extract the list of
26 packages to install. The first part is in
27 &lt;tt&gt;/usr/share/tasksel/descs/isenkram.desc&lt;/tt&gt; and look like
28 this:&lt;/p&gt;
29
30 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
31 Task: isenkram
32 Section: hardware
33 Description: Hardware specific packages (autodetected by isenkram)
34 Based on the detected hardware various hardware specific packages are
35 proposed.
36 Test-new-install: mark show
37 Relevance: 8
38 Packages: for-current-hardware
39 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
40
41 &lt;p&gt;The second part is in
42 &lt;tt&gt;/usr/lib/tasksel/packages/for-current-hardware&lt;/tt&gt; and look like
43 this:&lt;/p&gt;
44
45 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
46 #!/bin/sh
47 #
48 (
49 isenkram-lookup
50 isenkram-autoinstall-firmware -l
51 ) | sort -u
52 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
53
54 &lt;p&gt;All in all, a very short and simple implementation making it
55 trivial to install the hardware dependent package we all may want to
56 have installed on our machines. I&#39;ve not been able to find a way to
57 get tasksel to tell you exactly which packages it plan to install
58 before doing the installation. So if you are curious or careful,
59 check the output from the isenkram-* command line tools first.&lt;/p&gt;
60
61 &lt;p&gt;The information about which packages are handling which hardware is
62 fetched either from the isenkram package itself in
63 /usr/share/isenkram/, from git.debian.org or from the APT package
64 database (using the Modaliases header). The APT package database
65 parsing have caused a nasty resource leak in the isenkram daemon (bugs
66 &lt;a href=&quot;http://bugs.debian.org/719837&quot;&gt;#719837&lt;/a&gt; and
67 &lt;a href=&quot;http://bugs.debian.org/730704&quot;&gt;#730704&lt;/a&gt;). The cause is in
68 the python-apt code (bug
69 &lt;a href=&quot;http://bugs.debian.org/745487&quot;&gt;#745487&lt;/a&gt;), but using a
70 workaround I was able to get rid of the file descriptor leak and
71 reduce the memory leak from ~30 MiB per hardware detection down to
72 around 2 miB per hardware detection. It should make the desktop
73 daemon a lot more useful. The fix is in version 0.7 uploaded to
74 unstable today.&lt;/p&gt;
75
76 &lt;p&gt;I believe the current way of mapping hardware to packages in
77 Isenkram is is a good draft, but in the future I expect isenkram to
78 use the AppStream data source for this. A proposal for getting proper
79 AppStream support into Debian is floating around as
80 &lt;a href=&quot;https://wiki.debian.org/DEP-11&quot;&gt;DEP-11&lt;/a&gt;, and
81 &lt;a href=&quot;https://wiki.debian.org/SummerOfCode2014/Projects#SummerOfCode2014.2FProjects.2FAppStreamDEP11Implementation.AppStream.2FDEP-11_for_the_Debian_Archive&quot;&gt;GSoC
82 project&lt;/a&gt; will take place this summer to improve the situation. I
83 look forward to seeing the result, and welcome patches for isenkram to
84 start using the information when it is ready.&lt;/p&gt;
85
86 &lt;p&gt;If you want your package to map to some specific hardware, either
87 add a &quot;Xb-Modaliases&quot; header to your control file like I did in
88 &lt;a href=&quot;http://packages.qa.debian.org/pymissile&quot;&gt;the pymissile
89 package&lt;/a&gt; or submit a bug report with the details to the isenkram
90 package. See also
91 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/tags/isenkram/&quot;&gt;all my
92 blog posts tagged isenkram&lt;/a&gt; for details on the notation. I expect
93 the information will be migrated to AppStream eventually, but for the
94 moment I got no better place to store it.&lt;/p&gt;
95 </description>
96 </item>
97
98 <item>
99 <title>FreedomBox milestone - all packages now in Debian Sid</title>
100 <link>http://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html</link>
101 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/FreedomBox_milestone___all_packages_now_in_Debian_Sid.html</guid>
102 <pubDate>Tue, 15 Apr 2014 22:10:00 +0200</pubDate>
103 <description>&lt;p&gt;The &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;Freedombox
104 project&lt;/a&gt; is working on providing the software and hardware to make
105 it easy for non-technical people to host their data and communication
106 at home, and being able to communicate with their friends and family
107 encrypted and away from prying eyes. It is still going strong, and
108 today a major mile stone was reached.&lt;/p&gt;
109
110 &lt;p&gt;Today, the last of the packages currently used by the project to
111 created the system images were accepted into Debian Unstable. It was
112 the freedombox-setup package, which is used to configure the images
113 during build and on the first boot. Now all one need to get going is
114 the build code from the freedom-maker git repository and packages from
115 Debian. And once the freedombox-setup package enter testing, we can
116 build everything directly from Debian. :)&lt;/p&gt;
117
118 &lt;p&gt;Some key packages used by Freedombox are
119 &lt;a href=&quot;http://packages.qa.debian.org/freedombox-setup&quot;&gt;freedombox-setup&lt;/a&gt;,
120 &lt;a href=&quot;http://packages.qa.debian.org/plinth&quot;&gt;plinth&lt;/a&gt;,
121 &lt;a href=&quot;http://packages.qa.debian.org/pagekite&quot;&gt;pagekite&lt;/a&gt;,
122 &lt;a href=&quot;http://packages.qa.debian.org/tor&quot;&gt;tor&lt;/a&gt;,
123 &lt;a href=&quot;http://packages.qa.debian.org/privoxy&quot;&gt;privoxy&lt;/a&gt;,
124 &lt;a href=&quot;http://packages.qa.debian.org/owncloud&quot;&gt;owncloud&lt;/a&gt; and
125 &lt;a href=&quot;http://packages.qa.debian.org/dnsmasq&quot;&gt;dnsmasq&lt;/a&gt;. There
126 are plans to integrate more packages into the setup. User
127 documentation is maintained on the Debian wiki. Please
128 &lt;a href=&quot;https://wiki.debian.org/FreedomBox/Manual/Jessie&quot;&gt;check out
129 the manual&lt;/a&gt; and help us improve it.&lt;/p&gt;
130
131 &lt;p&gt;To test for yourself and create boot images with the FreedomBox
132 setup, run this on a Debian machine using a user with sudo rights to
133 become root:&lt;/p&gt;
134
135 &lt;p&gt;&lt;pre&gt;
136 sudo apt-get install git vmdebootstrap mercurial python-docutils \
137 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
138 u-boot-tools
139 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
140 freedom-maker
141 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
142 &lt;/pre&gt;&lt;/p&gt;
143
144 &lt;p&gt;Root access is needed to run debootstrap and mount loopback
145 devices. See the README in the freedom-maker git repo for more
146 details on the build. If you do not want all three images, trim the
147 make line. Note that the virtualbox-image target is not really
148 virtualbox specific. It create a x86 image usable in kvm, qemu,
149 vmware and any other x86 virtual machine environment. You might need
150 the version of vmdebootstrap in Jessie to get the build working, as it
151 include fixes for a race condition with kpartx.&lt;/p&gt;
152
153 &lt;p&gt;If you instead want to install using a Debian CD and the preseed
154 method, boot a Debian Wheezy ISO and use this boot argument to load
155 the preseed values:&lt;/p&gt;
156
157 &lt;p&gt;&lt;pre&gt;
158 url=&lt;a href=&quot;http://www.reinholdtsen.name/freedombox/preseed-jessie.dat&quot;&gt;http://www.reinholdtsen.name/freedombox/preseed-jessie.dat&lt;/a&gt;
159 &lt;/pre&gt;&lt;/p&gt;
160
161 &lt;p&gt;I have not tested it myself the last few weeks, so I do not know if
162 it still work.&lt;/p&gt;
163
164 &lt;p&gt;If you wonder how to help, one task you could look at is using
165 systemd as the boot system. It will become the default for Linux in
166 Jessie, so we need to make sure it is usable on the Freedombox. I did
167 a simple test a few weeks ago, and noticed dnsmasq failed to start
168 during boot when using systemd. I suspect there are other problems
169 too. :) To detect problems, there is a test suite included, which can
170 be run from the plinth web interface.&lt;/p&gt;
171
172 &lt;p&gt;Give it a go and let us know how it goes on the mailing list, and help
173 us get the new release published. :) Please join us on
174 &lt;a href=&quot;irc://irc.debian.org:6667/%23freedombox&quot;&gt;IRC (#freedombox on
175 irc.debian.org)&lt;/a&gt; and
176 &lt;a href=&quot;http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss&quot;&gt;the
177 mailing list&lt;/a&gt; if you want to help make this vision come true.&lt;/p&gt;
178 </description>
179 </item>
180
181 <item>
182 <title>Språkkoder for POSIX locale i Norge</title>
183 <link>http://people.skolelinux.org/pere/blog/Spr_kkoder_for_POSIX_locale_i_Norge.html</link>
184 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Spr_kkoder_for_POSIX_locale_i_Norge.html</guid>
185 <pubDate>Fri, 11 Apr 2014 21:30:00 +0200</pubDate>
186 <description>&lt;p&gt;For 12 år siden, skrev jeg et lite notat om
187 &lt;a href=&quot;http://i18n.skolelinux.no/localekoder.txt&quot;&gt;bruk av språkkoder
188 i Norge&lt;/a&gt;. Jeg ble nettopp minnet på dette da jeg fikk spørsmål om
189 notatet fortsatt var aktuelt, og tenkte det var greit å repetere hva
190 som fortsatt gjelder. Det jeg skrev da er fortsatt like aktuelt.&lt;/p&gt;
191
192 &lt;p&gt;Når en velger språk i programmer på unix, så velger en blant mange
193 språkkoder. For språk i Norge anbefales følgende språkkoder (anbefalt
194 locale i parantes):&lt;/p&gt;
195
196 &lt;p&gt;&lt;dl&gt;
197 &lt;dt&gt;nb (nb_NO)&lt;/dt&gt;&lt;dd&gt;Bokmål i Norge&lt;/dd&gt;
198 &lt;dt&gt;nn (nn_NO)&lt;/dt&gt;&lt;dd&gt;Nynorsk i Norge&lt;/dd&gt;
199 &lt;dt&gt;se (se_NO)&lt;/dt&gt;&lt;dd&gt;Nordsamisk i Norge&lt;/dd&gt;
200 &lt;/dl&gt;&lt;/p&gt;
201
202 &lt;p&gt;Alle programmer som bruker andre koder bør endres.&lt;/p&gt;
203
204 &lt;p&gt;Språkkoden bør brukes når .po-filer navngis og installeres. Dette
205 er ikke det samme som locale-koden. For Norsk Bokmål, så bør filene
206 være navngitt nb.po, mens locale (LANG) bør være nb_NO.&lt;/p&gt;
207
208 &lt;p&gt;Hvis vi ikke får standardisert de kodene i alle programmene med
209 norske oversettelser, så er det umulig å gi LANG-variablen ett innhold
210 som fungerer for alle programmer.&lt;/p&gt;
211
212 &lt;p&gt;Språkkodene er de offisielle kodene fra ISO 639, og bruken av dem i
213 forbindelse med POSIX localer er standardisert i RFC 3066 og ISO
214 15897. Denne anbefalingen er i tråd med de angitte standardene.&lt;/p&gt;
215
216 &lt;p&gt;Følgende koder er eller har vært i bruk som locale-verdier for
217 &quot;norske&quot; språk. Disse bør unngås, og erstattes når de oppdages:&lt;/p&gt;
218
219 &lt;p&gt;&lt;table&gt;
220 &lt;tr&gt;&lt;td&gt;norwegian&lt;/td&gt;&lt;td&gt;-&gt; nb_NO&lt;/td&gt;&lt;/tr&gt;
221 &lt;tr&gt;&lt;td&gt;bokmål &lt;/td&gt;&lt;td&gt;-&gt; nb_NO&lt;/td&gt;&lt;/tr&gt;
222 &lt;tr&gt;&lt;td&gt;bokmal &lt;/td&gt;&lt;td&gt;-&gt; nb_NO&lt;/td&gt;&lt;/tr&gt;
223 &lt;tr&gt;&lt;td&gt;nynorsk &lt;/td&gt;&lt;td&gt;-&gt; nn_NO&lt;/td&gt;&lt;/tr&gt;
224 &lt;tr&gt;&lt;td&gt;no &lt;/td&gt;&lt;td&gt;-&gt; nb_NO&lt;/td&gt;&lt;/tr&gt;
225 &lt;tr&gt;&lt;td&gt;no_NO &lt;/td&gt;&lt;td&gt;-&gt; nb_NO&lt;/td&gt;&lt;/tr&gt;
226 &lt;tr&gt;&lt;td&gt;no_NY &lt;/td&gt;&lt;td&gt;-&gt; nn_NO&lt;/td&gt;&lt;/tr&gt;
227 &lt;tr&gt;&lt;td&gt;sme_NO &lt;/td&gt;&lt;td&gt;-&gt; se_NO&lt;/td&gt;&lt;/tr&gt;
228 &lt;/table&gt;&lt;/p&gt;
229
230 &lt;p&gt;Merk at når det gjelder de samiske språkene, at se_NO i praksis
231 henviser til nordsamisk i Norge, mens f.eks. smj_NO henviser til
232 lulesamisk. Dette notatet er dog ikke ment å gi råd rundt samiske
233 språkkoder, der gjør
234 &lt;a href=&quot;http://www.divvun.no/&quot;&gt;Divvun-prosjektet&lt;/a&gt; en bedre
235 jobb.&lt;/p&gt;
236
237 &lt;p&gt;&lt;strong&gt;Referanser:&lt;/strong&gt;&lt;/p&gt;
238
239 &lt;ul&gt;
240
241 &lt;li&gt;&lt;a href=&quot;http://www.rfc-base.org/rfc-3066.html&quot;&gt;RFC 3066 - Tags
242 for the Identification of Languages&lt;/a&gt; (Erstatter RFC 1766)&lt;/li&gt;
243
244 &lt;li&gt;&lt;a href=&quot;http://www.loc.gov/standards/iso639-2/langcodes.html&quot;&gt;ISO
245 639&lt;/a&gt; - Codes for the Representation of Names of Languages&lt;/li&gt;
246
247 &lt;li&gt;&lt;a href=&quot;http://std.dkuug.dk/jtc1/sc22/wg20/docs/n897-14652w25.pdf&quot;&gt;ISO
248 DTR 14652&lt;/a&gt; - locale-standard Specification method for cultural
249 conventions&lt;/li&gt;
250
251 &lt;li&gt;&lt;a href=&quot;http://std.dkuug.dk/jtc1/sc22/wg20/docs/n610.pdf&quot;&gt;ISO
252 15897: Registration procedures for cultural elements (cultural
253 registry)&lt;/a&gt;,
254 &lt;a href=&quot;http://std.dkuug.dk/jtc1/sc22/wg20/docs/n849-15897wd6.pdf&quot;&gt;(nytt
255 draft)&lt;/a&gt;&lt;/li&gt;
256
257 &lt;li&gt;&lt;a href=&quot;http://std.dkuug.dk/jtc1/sc22/wg20/&quot;&gt;ISO/IEC
258 JTC1/SC22/WG20&lt;/a&gt; - Gruppen for i18n-standardisering i ISO&lt;/li&gt;
259
260 &lt;ul&gt;
261 </description>
262 </item>
263
264 <item>
265 <title>S3QL, a locally mounted cloud file system - nice free software</title>
266 <link>http://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html</link>
267 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/S3QL__a_locally_mounted_cloud_file_system___nice_free_software.html</guid>
268 <pubDate>Wed, 9 Apr 2014 11:30:00 +0200</pubDate>
269 <description>&lt;p&gt;For a while now, I have been looking for a sensible offsite backup
270 solution for use at home. My requirements are simple, it must be
271 cheap and locally encrypted (in other words, I keep the encryption
272 keys, the storage provider do not have access to my private files).
273 One idea me and my friends had many years ago, before the cloud
274 storage providers showed up, was to use Google mail as storage,
275 writing a Linux block device storing blocks as emails in the mail
276 service provided by Google, and thus get heaps of free space. On top
277 of this one can add encryption, RAID and volume management to have
278 lots of (fairly slow, I admit that) cheap and encrypted storage. But
279 I never found time to implement such system. But the last few weeks I
280 have looked at a system called
281 &lt;a href=&quot;https://bitbucket.org/nikratio/s3ql/&quot;&gt;S3QL&lt;/a&gt;, a locally
282 mounted network backed file system with the features I need.&lt;/p&gt;
283
284 &lt;p&gt;S3QL is a fuse file system with a local cache and cloud storage,
285 handling several different storage providers, any with Amazon S3,
286 Google Drive or OpenStack API. There are heaps of such storage
287 providers. S3QL can also use a local directory as storage, which
288 combined with sshfs allow for file storage on any ssh server. S3QL
289 include support for encryption, compression, de-duplication, snapshots
290 and immutable file systems, allowing me to mount the remote storage as
291 a local mount point, look at and use the files as if they were local,
292 while the content is stored in the cloud as well. This allow me to
293 have a backup that should survive fire. The file system can not be
294 shared between several machines at the same time, as only one can
295 mount it at the time, but any machine with the encryption key and
296 access to the storage service can mount it if it is unmounted.&lt;/p&gt;
297
298 &lt;p&gt;It is simple to use. I&#39;m using it on Debian Wheezy, where the
299 package is included already. So to get started, run &lt;tt&gt;apt-get
300 install s3ql&lt;/tt&gt;. Next, pick a storage provider. I ended up picking
301 Greenqloud, after reading their nice recipe on
302 &lt;a href=&quot;https://greenqloud.zendesk.com/entries/44611757-How-To-Use-S3QL-to-mount-a-StorageQloud-bucket-on-Debian-Wheezy&quot;&gt;how
303 to use S3QL with their Amazon S3 service&lt;/a&gt;, because I trust the laws
304 in Iceland more than those in USA when it come to keeping my personal
305 data safe and private, and thus would rather spend money on a company
306 in Iceland. Another nice recipe is available from the article
307 &lt;a href=&quot;http://www.admin-magazine.com/HPC/Articles/HPC-Cloud-Storage&quot;&gt;S3QL
308 Filesystem for HPC Storage&lt;/a&gt; by Jeff Layton in the HPC section of
309 Admin magazine. When the provider is picked, figure out how to get
310 the API key needed to connect to the storage API. With Greencloud,
311 the key did not show up until I had added payment details to my
312 account.&lt;/p&gt;
313
314 &lt;p&gt;Armed with the API access details, it is time to create the file
315 system. First, create a new bucket in the cloud. This bucket is the
316 file system storage area. I picked a bucket name reflecting the
317 machine that was going to store data there, but any name will do.
318 I&#39;ll refer to it as &lt;tt&gt;bucket-name&lt;/tt&gt; below. In addition, one need
319 the API login and password, and a locally created password. Store it
320 all in ~root/.s3ql/authinfo2 like this:
321
322 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
323 [s3c]
324 storage-url: s3c://s.greenqloud.com:443/bucket-name
325 backend-login: API-login
326 backend-password: API-password
327 fs-passphrase: local-password
328 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
329
330 &lt;p&gt;I create my local passphrase using &lt;tt&gt;pwget 50&lt;/tt&gt; or similar,
331 but any sensible way to create a fairly random password should do it.
332 Armed with these details, it is now time to run mkfs, entering the API
333 details and password to create it:&lt;/p&gt;
334
335 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
336 # mkdir -m 700 /var/lib/s3ql-cache
337 # mkfs.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
338 --ssl s3c://s.greenqloud.com:443/bucket-name
339 Enter backend login:
340 Enter backend password:
341 Before using S3QL, make sure to read the user&#39;s guide, especially
342 the &#39;Important Rules to Avoid Loosing Data&#39; section.
343 Enter encryption password:
344 Confirm encryption password:
345 Generating random encryption key...
346 Creating metadata tables...
347 Dumping metadata...
348 ..objects..
349 ..blocks..
350 ..inodes..
351 ..inode_blocks..
352 ..symlink_targets..
353 ..names..
354 ..contents..
355 ..ext_attributes..
356 Compressing and uploading metadata...
357 Wrote 0.00 MB of compressed metadata.
358 # &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
359
360 &lt;p&gt;The next step is mounting the file system to make the storage available.
361
362 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
363 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
364 --ssl --allow-root s3c://s.greenqloud.com:443/bucket-name /s3ql
365 Using 4 upload threads.
366 Downloading and decompressing metadata...
367 Reading metadata...
368 ..objects..
369 ..blocks..
370 ..inodes..
371 ..inode_blocks..
372 ..symlink_targets..
373 ..names..
374 ..contents..
375 ..ext_attributes..
376 Mounting filesystem...
377 # df -h /s3ql
378 Filesystem Size Used Avail Use% Mounted on
379 s3c://s.greenqloud.com:443/bucket-name 1.0T 0 1.0T 0% /s3ql
380 #
381 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
382
383 &lt;p&gt;The file system is now ready for use. I use rsync to store my
384 backups in it, and as the metadata used by rsync is downloaded at
385 mount time, no network traffic (and storage cost) is triggered by
386 running rsync. To unmount, one should not use the normal umount
387 command, as this will not flush the cache to the cloud storage, but
388 instead running the umount.s3ql command like this:
389
390 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
391 # umount.s3ql /s3ql
392 #
393 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
394
395 &lt;p&gt;There is a fsck command available to check the file system and
396 correct any problems detected. This can be used if the local server
397 crashes while the file system is mounted, to reset the &quot;already
398 mounted&quot; flag. This is what it look like when processing a working
399 file system:&lt;/p&gt;
400
401 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
402 # fsck.s3ql --force --ssl s3c://s.greenqloud.com:443/bucket-name
403 Using cached metadata.
404 File system seems clean, checking anyway.
405 Checking DB integrity...
406 Creating temporary extra indices...
407 Checking lost+found...
408 Checking cached objects...
409 Checking names (refcounts)...
410 Checking contents (names)...
411 Checking contents (inodes)...
412 Checking contents (parent inodes)...
413 Checking objects (reference counts)...
414 Checking objects (backend)...
415 ..processed 5000 objects so far..
416 ..processed 10000 objects so far..
417 ..processed 15000 objects so far..
418 Checking objects (sizes)...
419 Checking blocks (referenced objects)...
420 Checking blocks (refcounts)...
421 Checking inode-block mapping (blocks)...
422 Checking inode-block mapping (inodes)...
423 Checking inodes (refcounts)...
424 Checking inodes (sizes)...
425 Checking extended attributes (names)...
426 Checking extended attributes (inodes)...
427 Checking symlinks (inodes)...
428 Checking directory reachability...
429 Checking unix conventions...
430 Checking referential integrity...
431 Dropping temporary indices...
432 Backing up old metadata...
433 Dumping metadata...
434 ..objects..
435 ..blocks..
436 ..inodes..
437 ..inode_blocks..
438 ..symlink_targets..
439 ..names..
440 ..contents..
441 ..ext_attributes..
442 Compressing and uploading metadata...
443 Wrote 0.89 MB of compressed metadata.
444 #
445 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
446
447 &lt;p&gt;Thanks to the cache, working on files that fit in the cache is very
448 quick, about the same speed as local file access. Uploading large
449 amount of data is to me limited by the bandwidth out of and into my
450 house. Uploading 685 MiB with a 100 MiB cache gave me 305 kiB/s,
451 which is very close to my upload speed, and downloading the same
452 Debian installation ISO gave me 610 kiB/s, close to my download speed.
453 Both were measured using &lt;tt&gt;dd&lt;/tt&gt;. So for me, the bottleneck is my
454 network, not the file system code. I do not know what a good cache
455 size would be, but suspect that the cache should e larger than your
456 working set.&lt;/p&gt;
457
458 &lt;p&gt;I mentioned that only one machine can mount the file system at the
459 time. If another machine try, it is told that the file system is
460 busy:&lt;/p&gt;
461
462 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
463 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
464 --ssl --allow-root s3c://s.greenqloud.com:443/bucket-name /s3ql
465 Using 8 upload threads.
466 Backend reports that fs is still mounted elsewhere, aborting.
467 #
468 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
469
470 &lt;p&gt;The file content is uploaded when the cache is full, while the
471 metadata is uploaded once every 24 hour by default. To ensure the
472 file system content is flushed to the cloud, one can either umount the
473 file system, or ask S3QL to flush the cache and metadata using
474 s3qlctrl:
475
476 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
477 # s3qlctrl upload-meta /s3ql
478 # s3qlctrl flushcache /s3ql
479 #
480 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
481
482 &lt;p&gt;If you are curious about how much space your data uses in the
483 cloud, and how much compression and deduplication cut down on the
484 storage usage, you can use s3qlstat on the mounted file system to get
485 a report:&lt;/p&gt;
486
487 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
488 # s3qlstat /s3ql
489 Directory entries: 9141
490 Inodes: 9143
491 Data blocks: 8851
492 Total data size: 22049.38 MB
493 After de-duplication: 21955.46 MB (99.57% of total)
494 After compression: 21877.28 MB (99.22% of total, 99.64% of de-duplicated)
495 Database size: 2.39 MB (uncompressed)
496 (some values do not take into account not-yet-uploaded dirty blocks in cache)
497 #
498 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
499
500 &lt;p&gt;I mentioned earlier that there are several possible suppliers of
501 storage. I did not try to locate them all, but am aware of at least
502 &lt;a href=&quot;https://www.greenqloud.com/&quot;&gt;Greenqloud&lt;/a&gt;,
503 &lt;a href=&quot;http://drive.google.com/&quot;&gt;Google Drive&lt;/a&gt;,
504 &lt;a href=&quot;http://aws.amazon.com/s3/&quot;&gt;Amazon S3 web serivces&lt;/a&gt;,
505 &lt;a href=&quot;http://www.rackspace.com/&quot;&gt;Rackspace&lt;/a&gt; and
506 &lt;a href=&quot;http://crowncloud.net/&quot;&gt;Crowncloud&lt;/A&gt;. The latter even
507 accept payment in Bitcoin. Pick one that suit your need. Some of
508 them provide several GiB of free storage, but the prize models are
509 quite different and you will have to figure out what suits you
510 best.&lt;/p&gt;
511
512 &lt;p&gt;While researching this blog post, I had a look at research papers
513 and posters discussing the S3QL file system. There are several, which
514 told me that the file system is getting a critical check by the
515 science community and increased my confidence in using it. One nice
516 poster is titled
517 &quot;&lt;a href=&quot;http://www.lanl.gov/orgs/adtsc/publications/science_highlights_2013/docs/pg68_69.pdf&quot;&gt;An
518 Innovative Parallel Cloud Storage System using OpenStack’s SwiftObject
519 Store and Transformative Parallel I/O Approach&lt;/a&gt;&quot; by Hsing-Bung
520 Chen, Benjamin McClelland, David Sherrill, Alfred Torrez, Parks Fields
521 and Pamela Smith. Please have a look.&lt;/p&gt;
522
523 &lt;p&gt;Given my problems with different file systems earlier, I decided to
524 check out the mounted S3QL file system to see if it would be usable as
525 a home directory (in other word, that it provided POSIX semantics when
526 it come to locking and umask handling etc). Running
527 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html&quot;&gt;my
528 test code to check file system semantics&lt;/a&gt;, I was happy to discover that
529 no error was found. So the file system can be used for home
530 directories, if one chooses to do so.&lt;/p&gt;
531
532 &lt;p&gt;If you do not want a locally file system, and want something that
533 work without the Linux fuse file system, I would like to mention the
534 &lt;a href=&quot;http://www.tarsnap.com/&quot;&gt;Tarsnap service&lt;/a&gt;, which also
535 provide locally encrypted backup using a command line client. It have
536 a nicer access control system, where one can split out read and write
537 access, allowing some systems to write to the backup and others to
538 only read from it.&lt;/p&gt;
539
540 &lt;p&gt;As usual, if you use Bitcoin and want to show your support of my
541 activities, please send Bitcoin donations to my address
542 &lt;b&gt;&lt;a href=&quot;bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&amp;label=PetterReinholdtsenBlog&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;&lt;/b&gt;.&lt;/p&gt;
543 </description>
544 </item>
545
546 <item>
547 <title>EU-domstolen bekreftet i dag at datalagringsdirektivet er ulovlig</title>
548 <link>http://people.skolelinux.org/pere/blog/EU_domstolen_bekreftet_i_dag_at_datalagringsdirektivet_er_ulovlig.html</link>
549 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/EU_domstolen_bekreftet_i_dag_at_datalagringsdirektivet_er_ulovlig.html</guid>
550 <pubDate>Tue, 8 Apr 2014 11:30:00 +0200</pubDate>
551 <description>&lt;p&gt;I dag kom endelig avgjørelsen fra EU-domstolen om
552 datalagringsdirektivet, som ikke overraskende ble dømt ulovlig og i
553 strid med borgernes grunnleggende rettigheter. Hvis du lurer på hva
554 datalagringsdirektivet er for noe, så er det
555 &lt;a href=&quot;http://tv.nrk.no/program/koid75005313/tema-dine-digitale-spor-datalagringsdirektivet&quot;&gt;en
556 flott dokumentar tilgjengelig hos NRK&lt;/a&gt; som jeg tidligere
557 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html&quot;&gt;har
558 anbefalt&lt;/a&gt; alle å se.&lt;/p&gt;
559
560 &lt;p&gt;Her er et liten knippe nyhetsoppslag om saken, og jeg regner med at
561 det kommer flere ut over dagen. Flere kan finnes
562 &lt;a href=&quot;http://www.mylder.no/?drill=datalagringsdirektivet&amp;intern=1&quot;&gt;via
563 mylder&lt;/a&gt;.&lt;/p&gt;
564
565 &lt;p&gt;&lt;ul&gt;
566
567 &lt;li&gt;&lt;a href=&quot;http://e24.no/digital/eu-domstolen-datalagringsdirektivet-er-ugyldig/22879592&quot;&gt;EU-domstolen:
568 Datalagringsdirektivet er ugyldig&lt;/a&gt; - e24.no 2014-04-08
569
570 &lt;li&gt;&lt;a href=&quot;http://www.aftenposten.no/nyheter/iriks/EU-domstolen-Datalagringsdirektivet-er-ulovlig-7529032.html&quot;&gt;EU-domstolen:
571 Datalagringsdirektivet er ulovlig&lt;/a&gt; - aftenposten.no 2014-04-08
572
573 &lt;li&gt;&lt;a href=&quot;http://www.aftenposten.no/nyheter/iriks/politikk/Krever-DLD-stopp-i-Norge-7530086.html&quot;&gt;Krever
574 DLD-stopp i Norge&lt;/a&gt; - aftenposten.no 2014-04-08
575
576 &lt;li&gt;&lt;a href=&quot;http://www.p4.no/story.aspx?id=566431&quot;&gt;Apenes: - En
577 gledens dag&lt;/a&gt; - p4.no 2014-04-08
578
579 &lt;li&gt;&lt;a href=&quot;http://www.nrk.no/norge/_-datalagringsdirektivet-er-ugyldig-1.11655929&quot;&gt;EU-domstolen:
580 – Datalagringsdirektivet er ugyldig&lt;/a&gt; - nrk.no 2014-04-08&lt;/li&gt;
581
582 &lt;li&gt;&lt;a href=&quot;http://www.vg.no/nyheter/utenriks/data-og-nett/eu-domstolen-datalagringsdirektivet-er-ugyldig/a/10130280/&quot;&gt;EU-domstolen:
583 Datalagringsdirektivet er ugyldig&lt;/a&gt; - vg.no 2014-04-08&lt;/li&gt;
584
585 &lt;li&gt;&lt;a href=&quot;http://www.dagbladet.no/2014/04/08/nyheter/innenriks/datalagringsdirektivet/personvern/32711646/&quot;&gt;-
586 Vi bør skrote hele datalagringsdirektivet&lt;/a&gt; - dagbladet.no
587 2014-04-08&lt;/li&gt;
588
589 &lt;li&gt;&lt;a href=&quot;http://www.digi.no/928137/eu-domstolen-dld-er-ugyldig&quot;&gt;EU-domstolen:
590 DLD er ugyldig&lt;/a&gt; - digi.no 2014-04-08&lt;/li&gt;
591
592 &lt;li&gt;&lt;a href=&quot;http://www.irishtimes.com/business/sectors/technology/european-court-declares-data-retention-directive-invalid-1.1754150&quot;&gt;European
593 court declares data retention directive invalid&lt;/a&gt; - irishtimes.com
594 2014-04-08&lt;/li&gt;
595
596 &lt;li&gt;&lt;a href=&quot;http://www.reuters.com/article/2014/04/08/us-eu-data-ruling-idUSBREA370F020140408?feedType=RSS&quot;&gt;EU
597 court rules against requirement to keep data of telecom users&lt;/a&gt; -
598 reuters.com 2014-04-08&lt;/li&gt;
599
600 &lt;/ul&gt;
601 &lt;/p&gt;
602
603 &lt;p&gt;Jeg synes det er veldig fint at nok en stemme slår fast at
604 totalitær overvåkning av befolkningen er uakseptabelt, men det er
605 fortsatt like viktig å beskytte privatsfæren som før, da de
606 teknologiske mulighetene fortsatt finnes og utnyttes, og jeg tror
607 innsats i prosjekter som
608 &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;Freedombox&lt;/a&gt; og
609 &lt;a href=&quot;http://www.dugnadsnett.no/&quot;&gt;Dugnadsnett&lt;/a&gt; er viktigere enn
610 noen gang.&lt;/p&gt;
611
612 &lt;p&gt;&lt;strong&gt;Update 2014-04-08 12:10&lt;/strong&gt;: Kronerullingen for å
613 stoppe datalagringsdirektivet i Norge gjøres hos foreningen
614 &lt;a href=&quot;http://www.digitaltpersonvern.no/&quot;&gt;Digitalt Personvern&lt;/a&gt;,
615 som har samlet inn 843 215,- så langt men trenger nok mye mer hvis
616
617 ikke Høyre og Arbeiderpartiet bytter mening i saken. Det var
618 &lt;a href=&quot;http://www.holderdeord.no/parliament-issues/48650&quot;&gt;kun
619 partinene Høyre og Arbeiderpartiet&lt;/a&gt; som stemte for
620 Datalagringsdirektivet, og en av dem må bytte mening for at det skal
621 bli flertall mot i Stortinget. Se mer om saken
622 &lt;a href=&quot;http://www.holderdeord.no/issues/69-innfore-datalagringsdirektivet&quot;&gt;Holder
623 de ord&lt;/a&gt;.&lt;/p&gt;
624 </description>
625 </item>
626
627 <item>
628 <title>ReactOS Windows clone - nice free software</title>
629 <link>http://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html</link>
630 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html</guid>
631 <pubDate>Tue, 1 Apr 2014 12:10:00 +0200</pubDate>
632 <description>&lt;p&gt;Microsoft have announced that Windows XP reaches its end of life
633 2014-04-08, in 7 days. But there are heaps of machines still running
634 Windows XP, and depending on Windows XP to run their applications, and
635 upgrading will be expensive, both when it comes to money and when it
636 comes to the amount of effort needed to migrate from Windows XP to a
637 new operating system. Some obvious options (buy new a Windows
638 machine, buy a MacOSX machine, install Linux on the existing machine)
639 are already well known and covered elsewhere. Most of them involve
640 leaving the user applications installed on Windows XP behind and
641 trying out replacements or updated versions. In this blog post I want
642 to mention one strange bird that allow people to keep the hardware and
643 the existing Windows XP applications and run them on a free software
644 operating system that is Windows XP compatible.&lt;/p&gt;
645
646 &lt;p&gt;&lt;a href=&quot;http://www.reactos.org/&quot;&gt;ReactOS&lt;/a&gt; is a free software
647 operating system (GNU GPL licensed) working on providing a operating
648 system that is binary compatible with Windows, able to run windows
649 programs directly and to use Windows drivers for hardware directly.
650 The project goal is for Windows user to keep their existing machines,
651 drivers and software, and gain the advantages from user a operating
652 system without usage limitations caused by non-free licensing. It is
653 a Windows clone running directly on the hardware, so quite different
654 from the approach taken by &lt;a href=&quot;http://www.winehq.org/&quot;&gt;the Wine
655 project&lt;/a&gt;, which make it possible to run Windows binaries on
656 Linux.&lt;/p&gt;
657
658 &lt;p&gt;The ReactOS project share code with the Wine project, so most
659 shared libraries available on Windows are already implemented already.
660 There is also a software manager like the one we are used to on Linux,
661 allowing the user to install free software applications with a simple
662 click directly from the Internet. Check out the
663 &lt;a href=&quot;http://www.reactos.org/screenshots&quot;&gt;screen shots on the
664 project web site&lt;/a&gt; for an idea what it look like (it looks just like
665 Windows before metro).&lt;/p&gt;
666
667 &lt;p&gt;I do not use ReactOS myself, preferring Linux and Unix like
668 operating systems. I&#39;ve tested it, and it work fine in a virt-manager
669 virtual machine. The browser, minesweeper, notepad etc is working
670 fine as far as I can tell. Unfortunately, my main test application
671 is the software included on a CD with the Lego Mindstorms NXT, which
672 seem to install just fine from CD but fail to leave any binaries on
673 the disk after the installation. So no luck with that test software.
674 No idea why, but hope someone else figure out and fix the problem.
675 I&#39;ve tried the ReactOS Live ISO on a physical machine, and it seemed
676 to work just fine. If you like Windows and want to keep running your
677 old Windows binaries, check it out by
678 &lt;a href=&quot;http://www.reactos.org/download&quot;&gt;downloading&lt;/a&gt; the
679 installation CD, the live CD or the preinstalled virtual machine
680 image.&lt;/p&gt;
681 </description>
682 </item>
683
684 <item>
685 <title>Debian Edu interview: Roger Marsal</title>
686 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html</link>
687 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html</guid>
688 <pubDate>Sun, 30 Mar 2014 11:40:00 +0200</pubDate>
689 <description>&lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
690 keep gaining new users. Some weeks ago, a person showed up on IRC,
691 &lt;a href=&quot;irc://irc.debian.org/#debian-edu&quot;&gt;#debian-edu&lt;/a&gt;, with a
692 wish to contribute, and I managed to get a interview with this great
693 contributor Roger Marsal to learn more about his background.&lt;/p&gt;
694
695 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
696
697 &lt;p&gt;My name is Roger Marsal, I&#39;m 27 years old (1986 generation) and I
698 live in Barcelona, Spain. I&#39;ve got a strong business background and I
699 work as a patrimony manager and as a real estate agent. Additionally,
700 I&#39;ve co-founded a British based tech company that is nowadays on the
701 last development phase of a new social networking concept.&lt;/p&gt;
702
703 &lt;p&gt;I&#39;m a Linux enthusiast that started its journey with Ubuntu four years
704 ago and have recently switched to Debian seeking rock solid stability
705 and as a necessary step to gain expertise.&lt;/p&gt;
706
707 &lt;p&gt;In a nutshell, I spend my days working and learning as much as I
708 can to face both my job, entrepreneur project and feed my Linux
709 hunger.&lt;/p&gt;
710
711 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux / Debian Edu
712 project?&lt;/strong&gt;&lt;/p&gt;
713
714 &lt;p&gt;I discovered the &lt;a href=&quot;http://www.ltsp.org/&quot;&gt;LTSP&lt;/a&gt; advantages
715 with &quot;Ubuntu 12.04 alternate install&quot; and after a year of use I
716 started looking for an alternative. Even though I highly value and
717 respect the Ubuntu project, I thought it was necessary for me to
718 change to a more robust and stable alternative. As far as I was using
719 Debian on my personal laptop I thought it would be fine to install
720 Debian and configure an LTSP server myself. Surprised, I discovered
721 that the Debian project also supported a kind of Edubuntu equivalent,
722 and after having some pain I obtained a Debian Edu network up and
723 running. I just loved it.&lt;/p&gt;
724
725 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux / Debian
726 Edu?&lt;/strong&gt;&lt;/p&gt;
727
728 &lt;p&gt;I found a main advantage in that, once you know &quot;the tips and
729 tricks&quot;, a new installation just works out of the box. It&#39;s the most
730 complete alternative I&#39;ve found to create an LTSP network. All the
731 other distributions seems to be made of plastic, Debian Edu seems to
732 be made of steel.&lt;/p&gt;
733
734 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux / Debian
735 Edu?&lt;/strong&gt;&lt;/p&gt;
736
737 &lt;p&gt;I found two main disadvantages.&lt;/p&gt;
738
739 &lt;p&gt;I&#39;m not an expert but I&#39;ve got notions and I had to spent a considerable
740 amount of time trying to bring up a standard network topology. I&#39;m quite
741 stubborn and I just worked until I did but I&#39;m sure many people with few
742 resources (not big schools, but academies for example) would have switched
743 or dropped.&lt;/p&gt;
744
745 &lt;p&gt;It&#39;s amazing how such a complex system like Debian Edu has achieved
746 this out-of-the-box state. Even though tweaking without breaking gets
747 more difficult, as more factors have to be considered. This can
748 discourage many people too.&lt;/p&gt;
749
750 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
751
752 &lt;p&gt;I use Debian, Firefox, Okular, Inkscape, LibreOffice and
753 Virtualbox.&lt;/p&gt;
754
755
756 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
757 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
758
759 &lt;p&gt;I don&#39;t think there is a need for a particular strategy. The free
760 attribute in both &quot;freedom&quot; and &quot;no price&quot; meanings is what will
761 really bring free software to schools. In my experience I can think of
762 the &lt;a href=&quot;http://www.r-project.org/&quot;&gt;&quot;R&quot; statistical language&lt;/a&gt;; a
763 few years a ago was an extremely nerd tool for university people.
764 Today it&#39;s being increasingly used to teach statistics at many
765 different level of studies. I believe free and open software will
766 increasingly gain popularity, but I&#39;m sure schools will be one of the
767 first scenarios where this will happen.&lt;/p&gt;
768 </description>
769 </item>
770
771 <item>
772 <title>Dokumentaren om Datalagringsdirektivet sendes endelig på NRK</title>
773 <link>http://people.skolelinux.org/pere/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html</link>
774 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Dokumentaren_om_Datalagringsdirektivet_sendes_endelig_p__NRK.html</guid>
775 <pubDate>Wed, 26 Mar 2014 09:50:00 +0100</pubDate>
776 <description>&lt;p&gt;&lt;a href=&quot;http://www.nuug.no/&quot;&gt;Foreningen NUUG&lt;/a&gt; melder i natt at
777 NRK nå har bestemt seg for
778 &lt;a href=&quot;http://www.nuug.no/news/NRK_viser_filmen_om_Datalagringsdirektivet_f_rste_gang_2014_03_31.shtml&quot;&gt;når
779 den norske dokumentarfilmen om datalagringsdirektivet skal
780 sendes&lt;/a&gt; (se &lt;a href=&quot;http://www.imdb.com/title/tt2832844/&quot;&gt;IMDB&lt;/a&gt;
781 for detaljer om filmen) . Første visning blir på NRK2 mandag
782 2014-03-31 kl. 19:50, og deretter visninger onsdag 2014-04-02
783 kl. 12:30, fredag 2014-04-04 kl. 19:40 og søndag 2014-04-06 kl. 15:10.
784 Jeg har sett dokumentaren, og jeg anbefaler enhver å se den selv. Som
785 oppvarming mens vi venter anbefaler jeg Bjørn Stærks kronikk i
786 Aftenposten fra i går,
787 &lt;a href=&quot;http://www.aftenposten.no/meninger/kronikker/Autoritar-gjokunge-7514915.html&quot;&gt;Autoritær
788 gjøkunge&lt;/a&gt;, der han gir en grei skisse av hvor ille det står til med
789 retten til privatliv og beskyttelsen av demokrati i Norge og resten
790 verden, og helt riktig slår fast at det er vi i databransjen som
791 sitter med nøkkelen til å gjøre noe med dette. Jeg har involvert meg
792 i prosjektene &lt;a href=&quot;http://www.dugnadsnett.no/&quot;&gt;dugnadsnett.no&lt;/a&gt;
793 og &lt;a href=&quot;https://wiki.debian.org/FreedomBox&quot;&gt;FreedomBox&lt;/a&gt; for å
794 forsøke å gjøre litt selv for å bedre situasjonen, men det er mye
795 hardt arbeid fra mange flere enn meg som gjenstår før vi kan sies å ha
796 gjenopprettet balansen.&lt;/p&gt;
797
798 &lt;p&gt;Jeg regner med at nettutgaven dukker opp på
799 &lt;a href=&quot;http://tv.nrk.no/program/koid75005313/tema-dine-digitale-spor-datalagringsdirektivet&quot;&gt;NRKs
800 side om filmen om datalagringsdirektivet&lt;/a&gt; om fem dager. Hold et
801 øye med siden, og tips venner og slekt om at de også bør se den.&lt;/p&gt;
802 </description>
803 </item>
804
805 <item>
806 <title>Public Trusted Timestamping services for everyone</title>
807 <link>http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html</link>
808 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html</guid>
809 <pubDate>Tue, 25 Mar 2014 12:50:00 +0100</pubDate>
810 <description>&lt;p&gt;Did you ever need to store logs or other files in a way that would
811 allow it to be used as evidence in court, and needed a way to
812 demonstrate without reasonable doubt that the file had not been
813 changed since it was created? Or, did you ever need to document that
814 a given document was received at some point in time, like some
815 archived document or the answer to an exam, and not changed after it
816 was received? The problem in these settings is to remove the need to
817 trust yourself and your computers, while still being able to prove
818 that a file is the same as it was at some given time in the past.&lt;/p&gt;
819
820 &lt;p&gt;A solution to these problems is to have a trusted third party
821 &quot;stamp&quot; the document and verify that at some given time the document
822 looked a given way. Such
823 &lt;a href=&quot;https://en.wikipedia.org/wiki/Notarius&quot;&gt;notarius&lt;/a&gt; service
824 have been around for thousands of years, and its digital equivalent is
825 called a
826 &lt;a href=&quot;http://en.wikipedia.org/wiki/Trusted_timestamping&quot;&gt;trusted
827 timestamping service&lt;/a&gt;. &lt;a href=&quot;http://www.ietf.org/&quot;&gt;The Internet
828 Engineering Task Force&lt;/a&gt; standardised how such service could work a
829 few years ago as &lt;a href=&quot;http://tools.ietf.org/html/rfc3161&quot;&gt;RFC
830 3161&lt;/a&gt;. The mechanism is simple. Create a hash of the file in
831 question, send it to a trusted third party which add a time stamp to
832 the hash and sign the result with its private key, and send back the
833 signed hash + timestamp. Both email, FTP and HTTP can be used to
834 request such signature, depending on what is provided by the service
835 used. Anyone with the document and the signature can then verify that
836 the document matches the signature by creating their own hash and
837 checking the signature using the trusted third party public key.
838 There are several commercial services around providing such
839 timestamping. A quick search for
840 &quot;&lt;a href=&quot;https://duckduckgo.com/?q=rfc+3161+service&quot;&gt;rfc 3161
841 service&lt;/a&gt;&quot; pointed me to at least
842 &lt;a href=&quot;https://www.digistamp.com/technical/how-a-digital-time-stamp-works/&quot;&gt;DigiStamp&lt;/a&gt;,
843 &lt;a href=&quot;http://www.quovadisglobal.co.uk/CertificateServices/SigningServices/TimeStamp.aspx&quot;&gt;Quo
844 Vadis&lt;/a&gt;,
845 &lt;a href=&quot;https://www.globalsign.com/timestamp-service/&quot;&gt;Global Sign&lt;/a&gt;
846 and &lt;a href=&quot;http://www.globaltrustfinder.com/TSADefault.aspx&quot;&gt;Global
847 Trust Finder&lt;/a&gt;. The system work as long as the private key of the
848 trusted third party is not compromised.&lt;/p&gt;
849
850 &lt;p&gt;But as far as I can tell, there are very few public trusted
851 timestamp services available for everyone. I&#39;ve been looking for one
852 for a while now. But yesterday I found one over at
853 &lt;a href=&quot;https://www.pki.dfn.de/zeitstempeldienst/&quot;&gt;Deutches
854 Forschungsnetz&lt;/a&gt; mentioned in
855 &lt;a href=&quot;http://www.d-mueller.de/blog/dealing-with-trusted-timestamps-in-php-rfc-3161/&quot;&gt;a
856 blog by David Müller&lt;/a&gt;. I then found
857 &lt;a href=&quot;http://www.rz.uni-greifswald.de/support/dfn-pki-zertifikate/zeitstempeldienst.html&quot;&gt;a
858 good recipe on how to use the service&lt;/a&gt; over at the University of
859 Greifswald.&lt;/p&gt;
860
861 &lt;p&gt;&lt;a href=&quot;http://www.openssl.org/&quot;&gt;The OpenSSL library&lt;/a&gt; contain
862 both server and tools to use and set up your own signing service. See
863 the ts(1SSL), tsget(1SSL) manual pages for more details. The
864 following shell script demonstrate how to extract a signed timestamp
865 for any file on the disk in a Debian environment:&lt;/p&gt;
866
867 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
868 #!/bin/sh
869 set -e
870 url=&quot;http://zeitstempel.dfn.de&quot;
871 caurl=&quot;https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt&quot;
872 reqfile=$(mktemp -t tmp.XXXXXXXXXX.tsq)
873 resfile=$(mktemp -t tmp.XXXXXXXXXX.tsr)
874 cafile=chain.txt
875 if [ ! -f $cafile ] ; then
876 wget -O $cafile &quot;$caurl&quot;
877 fi
878 openssl ts -query -data &quot;$1&quot; -cert | tee &quot;$reqfile&quot; \
879 | /usr/lib/ssl/misc/tsget -h &quot;$url&quot; -o &quot;$resfile&quot;
880 openssl ts -reply -in &quot;$resfile&quot; -text 1&gt;&amp;2
881 openssl ts -verify -data &quot;$1&quot; -in &quot;$resfile&quot; -CAfile &quot;$cafile&quot; 1&gt;&amp;2
882 base64 &lt; &quot;$resfile&quot;
883 rm &quot;$reqfile&quot; &quot;$resfile&quot;
884 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
885
886 &lt;p&gt;The argument to the script is the file to timestamp, and the output
887 is a base64 encoded version of the signature to STDOUT and details
888 about the signature to STDERR. Note that due to
889 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742553&quot;&gt;a bug
890 in the tsget script&lt;/a&gt;, you might need to modify the included script
891 and remove the last line. Or just write your own HTTP uploader using
892 curl. :) Now you too can prove and verify that files have not been
893 changed.&lt;/p&gt;
894
895 &lt;p&gt;But the Internet need more public trusted timestamp services.
896 Perhaps something for &lt;a href=&quot;http://www.uninett.no/&quot;&gt;Uninett&lt;/a&gt; or
897 my work place the &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt;
898 to set up?&lt;/p&gt;
899 </description>
900 </item>
901
902 <item>
903 <title>Video DVD reader library / python-dvdvideo - nice free software</title>
904 <link>http://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html</link>
905 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html</guid>
906 <pubDate>Fri, 21 Mar 2014 15:25:00 +0100</pubDate>
907 <description>&lt;p&gt;Keeping your DVD collection safe from scratches and curious
908 children fingers while still having it available when you want to see a
909 movie is not straight forward. My preferred method at the moment is
910 to store a full copy of the ISO on a hard drive, and use VLC, Popcorn
911 Hour or other useful players to view the resulting file. This way the
912 subtitles and bonus material are still available and using the ISO is
913 just like inserting the original DVD record in the DVD player.&lt;/p&gt;
914
915 &lt;p&gt;Earlier I used dd for taking security copies, but it do not handle
916 DVDs giving read errors (which are quite a few of them). I&#39;ve also
917 tried using
918 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html&quot;&gt;dvdbackup
919 and genisoimage&lt;/a&gt;, but these days I use the marvellous python library
920 and program
921 &lt;a href=&quot;http://bblank.thinkmo.de/blog/new-software-python-dvdvideo&quot;&gt;python-dvdvideo&lt;/a&gt;
922 written by Bastian Blank. It is
923 &lt;a href=&quot;http://packages.qa.debian.org/p/python-dvdvideo.html&quot;&gt;in Debian
924 already&lt;/a&gt; and the binary package name is python3-dvdvideo. Instead
925 of trying to read every block from the DVD, it parses the file
926 structure and figure out which block on the DVD is actually in used,
927 and only read those blocks from the DVD. This work surprisingly well,
928 and I have been able to almost backup my entire DVD collection using
929 this method.&lt;/p&gt;
930
931 &lt;p&gt;So far, python-dvdvideo have failed on between 10 and
932 20 DVDs, which is a small fraction of my collection. The most common
933 problem is
934 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720831&quot;&gt;DVDs
935 using UTF-16 instead of UTF-8 characters&lt;/a&gt;, which according to
936 Bastian is against the DVD specification (and seem to cause some
937 players to fail too). A rarer problem is what seem to be inconsistent
938 DVD structures, as the python library
939 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=723079&quot;&gt;claim
940 there is a overlap between objects&lt;/a&gt;. An equally rare problem claim
941 &lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741878&quot;&gt;some
942 value is out of range&lt;/a&gt;. No idea what is going on there. I wish I
943 knew enough about the DVD format to fix these, to ensure my movie
944 collection will stay with me in the future.&lt;/p&gt;
945
946 &lt;p&gt;So, if you need to keep your DVDs safe, back them up using
947 python-dvdvideo. :)&lt;/p&gt;
948 </description>
949 </item>
950
951 </channel>
952 </rss>