From: Petter Reinholdtsen Date: Sun, 8 Aug 2010 19:19:08 +0000 (+0000) Subject: Generated. X-Git-Url: https://pere.pagekite.me/gitweb/homepage.git/commitdiff_plain/f7c22ab984131ca652c0260c76ffff22398a2bae Generated. --- diff --git a/blog/3D_printing_brer_om_seg___fabrikkene_best__r.html b/blog/3D_printing_brer_om_seg___fabrikkene_best__r.html index f6cde31ff8..375d6f970b 100644 --- a/blog/3D_printing_brer_om_seg___fabrikkene_best__r.html +++ b/blog/3D_printing_brer_om_seg___fabrikkene_best__r.html @@ -86,7 +86,7 @@ massemarkedet.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -145,9 +145,9 @@ massemarkedet.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -165,7 +165,7 @@ massemarkedet.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/A_manual_for_standards_wars___.html b/blog/A_manual_for_standards_wars___.html index c24d10fe49..5cc1f6ad36 100644 --- a/blog/A_manual_for_standards_wars___.html +++ b/blog/A_manual_for_standards_wars___.html @@ -59,7 +59,7 @@ following the standards wars of today.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -118,9 +118,9 @@ following the standards wars of today.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -138,7 +138,7 @@ following the standards wars of today.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html b/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html index 7cda54b528..8ae15c3d3f 100644 --- a/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html +++ b/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html @@ -71,7 +71,7 @@ similar to how they use the Xsession.d framework today.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -130,9 +130,9 @@ similar to how they use the Xsession.d framework today.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -150,7 +150,7 @@ similar to how they use the Xsession.d framework today.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Amigafolket_holder_ut.html b/blog/Amigafolket_holder_ut.html index 33be8c862e..24a798fa9f 100644 --- a/blog/Amigafolket_holder_ut.html +++ b/blog/Amigafolket_holder_ut.html @@ -62,7 +62,7 @@ pakke. Kanskje Aros kunne vært interessant for et NUUG-foredrag?

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -121,9 +121,9 @@ pakke. Kanskje Aros kunne vært interessant for et NUUG-foredrag?

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -141,7 +141,7 @@ pakke. Kanskje Aros kunne vært interessant for et NUUG-foredrag?

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html b/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html index 534bded7f5..2f61bb50e1 100644 --- a/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html +++ b/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html @@ -104,7 +104,7 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -163,9 +163,9 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -183,7 +183,7 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Automatic_Munin_and_Nagios_configuration.html b/blog/Automatic_Munin_and_Nagios_configuration.html index 868668a4ba..4a723e6394 100644 --- a/blog/Automatic_Munin_and_Nagios_configuration.html +++ b/blog/Automatic_Munin_and_Nagios_configuration.html @@ -98,7 +98,7 @@ everything is taken care of.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -157,9 +157,9 @@ everything is taken care of.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -177,7 +177,7 @@ everything is taken care of.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html b/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html index c0def4c79e..3c04c8b4cb 100644 --- a/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html +++ b/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html @@ -172,7 +172,7 @@ packages.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -231,9 +231,9 @@ packages.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -251,7 +251,7 @@ packages.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Avisene_i_endring.html b/blog/Avisene_i_endring.html index f520c6672d..bc64573092 100644 --- a/blog/Avisene_i_endring.html +++ b/blog/Avisene_i_endring.html @@ -59,7 +59,7 @@ eksisterer. Det blir spennende Ã¥ se hva vi ender opp med.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -118,9 +118,9 @@ eksisterer. Det blir spennende Ã¥ se hva vi ender opp med.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -138,7 +138,7 @@ eksisterer. Det blir spennende Ã¥ se hva vi ender opp med.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/BSAs_p__stander_om_piratkopiering_m__ter_motstand.html b/blog/BSAs_p__stander_om_piratkopiering_m__ter_motstand.html index bb888bdc36..56f85b4f04 100644 --- a/blog/BSAs_p__stander_om_piratkopiering_m__ter_motstand.html +++ b/blog/BSAs_p__stander_om_piratkopiering_m__ter_motstand.html @@ -80,7 +80,7 @@ pÃ¥ Slashdot.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -139,9 +139,9 @@ pÃ¥ Slashdot.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -159,7 +159,7 @@ pÃ¥ Slashdot.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html b/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html index 8f255d202d..8231a04655 100644 --- a/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html +++ b/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html @@ -251,7 +251,7 @@ please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -310,9 +310,9 @@ please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -330,7 +330,7 @@ please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html b/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html index 6773c5be6d..7bb2bc5337 100644 --- a/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html +++ b/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html @@ -94,7 +94,7 @@ like this.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -153,9 +153,9 @@ like this.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -173,7 +173,7 @@ like this.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html b/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html index 6de2254aaf..f48e99a2c9 100644 --- a/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html +++ b/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html @@ -213,7 +213,7 @@ do so.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -272,9 +272,9 @@ do so.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -292,7 +292,7 @@ do so.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Circular_package_dependencies_harms_apt_recovery.html b/blog/Circular_package_dependencies_harms_apt_recovery.html index 7492d94619..37ac13cb69 100644 --- a/blog/Circular_package_dependencies_harms_apt_recovery.html +++ b/blog/Circular_package_dependencies_harms_apt_recovery.html @@ -101,7 +101,7 @@ it.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -160,9 +160,9 @@ it.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -180,7 +180,7 @@ it.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html b/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html index 7750ff82ea..27552377f8 100644 --- a/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html +++ b/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html @@ -110,7 +110,7 @@ please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -169,9 +169,9 @@ please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -189,7 +189,7 @@ please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Danmark_g__r_for_ODF_.html b/blog/Danmark_g__r_for_ODF_.html index 07f8e20c5a..67a952ff67 100644 --- a/blog/Danmark_g__r_for_ODF_.html +++ b/blog/Danmark_g__r_for_ODF_.html @@ -69,7 +69,7 @@ platforme.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -128,9 +128,9 @@ platforme.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -148,7 +148,7 @@ platforme.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html b/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html index b8c4f4b0f1..687ba886c6 100644 --- a/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html +++ b/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html @@ -67,7 +67,7 @@ and have just a few weeks or months to make it happen.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -126,9 +126,9 @@ and have just a few weeks or months to make it happen.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -146,7 +146,7 @@ and have just a few weeks or months to make it happen.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html b/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html index 7ccb2ee873..03d93e2ba7 100644 --- a/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html +++ b/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html @@ -83,7 +83,7 @@ uses.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -142,9 +142,9 @@ uses.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -162,7 +162,7 @@ uses.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Debian_boots_quicker_and_quicker.html b/blog/Debian_boots_quicker_and_quicker.html index 8ccff1d145..5840fe328a 100644 --- a/blog/Debian_boots_quicker_and_quicker.html +++ b/blog/Debian_boots_quicker_and_quicker.html @@ -99,7 +99,7 @@ insserv'. Will need to test if that work. :)

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -158,9 +158,9 @@ insserv'. Will need to test if that work. :)

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -178,7 +178,7 @@ insserv'. Will need to test if that work. :)

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html b/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html index af699949f4..7a77954964 100644 --- a/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html +++ b/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html @@ -64,7 +64,7 @@ non-predictable kernel in the early boot.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -123,9 +123,9 @@ non-predictable kernel in the early boot.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -143,7 +143,7 @@ non-predictable kernel in the early boot.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Det_vanskelige_Lisensvalget___ikke_lag_din_egen.html b/blog/Det_vanskelige_Lisensvalget___ikke_lag_din_egen.html index 818a28a666..5884254019 100644 --- a/blog/Det_vanskelige_Lisensvalget___ikke_lag_din_egen.html +++ b/blog/Det_vanskelige_Lisensvalget___ikke_lag_din_egen.html @@ -149,7 +149,7 @@ og endrer pÃ¥ betingelsene.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -208,9 +208,9 @@ og endrer pÃ¥ betingelsene.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -228,7 +228,7 @@ og endrer pÃ¥ betingelsene.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html b/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html index 90f06d0095..1a98a63bd2 100644 --- a/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html +++ b/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html @@ -67,7 +67,7 @@ of these cards.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -126,9 +126,9 @@ of these cards.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -146,7 +146,7 @@ of these cards.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Digitale_b__ker_uten_digitale_restriksjonsmekanismer__DRM__b__r_f___mva_fritak.html b/blog/Digitale_b__ker_uten_digitale_restriksjonsmekanismer__DRM__b__r_f___mva_fritak.html index e328e7d5ea..7d26e5bc7d 100644 --- a/blog/Digitale_b__ker_uten_digitale_restriksjonsmekanismer__DRM__b__r_f___mva_fritak.html +++ b/blog/Digitale_b__ker_uten_digitale_restriksjonsmekanismer__DRM__b__r_f___mva_fritak.html @@ -84,7 +84,7 @@ der for Ã¥ se hva de har.
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -143,9 +143,9 @@ der for Ã¥ se hva de har.
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -163,7 +163,7 @@ der for Ã¥ se hva de har.
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Digitale_restriksjonsmekanismer_fikk_meg_til____slutte____kj__pe_musikk.html b/blog/Digitale_restriksjonsmekanismer_fikk_meg_til____slutte____kj__pe_musikk.html index a7a61b1292..402004e522 100644 --- a/blog/Digitale_restriksjonsmekanismer_fikk_meg_til____slutte____kj__pe_musikk.html +++ b/blog/Digitale_restriksjonsmekanismer_fikk_meg_til____slutte____kj__pe_musikk.html @@ -76,7 +76,7 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -135,9 +135,9 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -155,7 +155,7 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/EU_parlamentet_raner_fellesskapet_for_musikk.html b/blog/EU_parlamentet_raner_fellesskapet_for_musikk.html index fe367eccea..4161d3122f 100644 --- a/blog/EU_parlamentet_raner_fellesskapet_for_musikk.html +++ b/blog/EU_parlamentet_raner_fellesskapet_for_musikk.html @@ -72,7 +72,7 @@ uten musikk med bruksbegresninger.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -131,9 +131,9 @@ uten musikk med bruksbegresninger.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -151,7 +151,7 @@ uten musikk med bruksbegresninger.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Elektronikkbyggesettet_for_reprapen_sporet_opp.html b/blog/Elektronikkbyggesettet_for_reprapen_sporet_opp.html index 036b42f0e5..82dfe2f00c 100644 --- a/blog/Elektronikkbyggesettet_for_reprapen_sporet_opp.html +++ b/blog/Elektronikkbyggesettet_for_reprapen_sporet_opp.html @@ -69,7 +69,7 @@ jul.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -128,9 +128,9 @@ jul.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -148,7 +148,7 @@ jul.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Elektronikkbyggesettet_kommer_fram_p___andre_fors__k.html b/blog/Elektronikkbyggesettet_kommer_fram_p___andre_fors__k.html index 82a3d72bfd..24aabc18fc 100644 --- a/blog/Elektronikkbyggesettet_kommer_fram_p___andre_fors__k.html +++ b/blog/Elektronikkbyggesettet_kommer_fram_p___andre_fors__k.html @@ -92,7 +92,7 @@ pÃ¥stÃ¥r det skulle skje i 2008.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -151,9 +151,9 @@ pÃ¥stÃ¥r det skulle skje i 2008.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -171,7 +171,7 @@ pÃ¥stÃ¥r det skulle skje i 2008.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/En_skam_at_det_ikke_finnes_ordrett_referat_fra_norske_domstoler.html b/blog/En_skam_at_det_ikke_finnes_ordrett_referat_fra_norske_domstoler.html index e69c98d46a..2e2c67ad02 100644 --- a/blog/En_skam_at_det_ikke_finnes_ordrett_referat_fra_norske_domstoler.html +++ b/blog/En_skam_at_det_ikke_finnes_ordrett_referat_fra_norske_domstoler.html @@ -77,7 +77,7 @@ publisert offentlig pÃ¥ web.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -136,9 +136,9 @@ publisert offentlig pÃ¥ web.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -156,7 +156,7 @@ publisert offentlig pÃ¥ web.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Endelig_er_Debian_Lenny_gitt_ut.html b/blog/Endelig_er_Debian_Lenny_gitt_ut.html index a9bd935c6f..dd26cf1aef 100644 --- a/blog/Endelig_er_Debian_Lenny_gitt_ut.html +++ b/blog/Endelig_er_Debian_Lenny_gitt_ut.html @@ -65,7 +65,7 @@ bootsekvens tilgjengelig i stabil utgave, vha pakken
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -124,9 +124,9 @@ bootsekvens tilgjengelig i stabil utgave, vha pakken
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -144,7 +144,7 @@ bootsekvens tilgjengelig i stabil utgave, vha pakken
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Endelig_norsk_stavekontroll_med_st__tte_for_ord_med_bindestrek.html b/blog/Endelig_norsk_stavekontroll_med_st__tte_for_ord_med_bindestrek.html index bcf6e32d76..045a3502ba 100644 --- a/blog/Endelig_norsk_stavekontroll_med_st__tte_for_ord_med_bindestrek.html +++ b/blog/Endelig_norsk_stavekontroll_med_st__tte_for_ord_med_bindestrek.html @@ -76,7 +76,7 @@ stavekontrollen.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -135,9 +135,9 @@ stavekontrollen.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -155,7 +155,7 @@ stavekontrollen.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Endelig_operativt_webbasert_medlemsregister_for_Fri_programvare_i_skolen.html b/blog/Endelig_operativt_webbasert_medlemsregister_for_Fri_programvare_i_skolen.html index 28ce2f9228..0faeacab3a 100644 --- a/blog/Endelig_operativt_webbasert_medlemsregister_for_Fri_programvare_i_skolen.html +++ b/blog/Endelig_operativt_webbasert_medlemsregister_for_Fri_programvare_i_skolen.html @@ -69,7 +69,7 @@ GNU.
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -128,9 +128,9 @@ GNU.
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -148,7 +148,7 @@ GNU.
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html b/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html index 960b875ff6..a7027ae839 100644 --- a/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html +++ b/blog/FAD_lanserer_reiseregningsskjema_som_fri_programvare.html @@ -130,7 +130,7 @@ gjorde det litt vanskeligere for brukeren.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -189,9 +189,9 @@ gjorde det litt vanskeligere for brukeren.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -209,7 +209,7 @@ gjorde det litt vanskeligere for brukeren.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/F__rste_NUUG_fordrag_sendt_p___TV.html b/blog/F__rste_NUUG_fordrag_sendt_p___TV.html index 6205b7d0b1..cf0f75da03 100644 --- a/blog/F__rste_NUUG_fordrag_sendt_p___TV.html +++ b/blog/F__rste_NUUG_fordrag_sendt_p___TV.html @@ -70,7 +70,7 @@ meg, Tollef og alle andre de som deltok pÃ¥ møtet pÃ¥ TV.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -129,9 +129,9 @@ meg, Tollef og alle andre de som deltok pÃ¥ møtet pÃ¥ TV.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -149,7 +149,7 @@ meg, Tollef og alle andre de som deltok pÃ¥ møtet pÃ¥ TV.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/F__rste_reprap_integreringsfors__k___Z_aksen_beveger_seg.html b/blog/F__rste_reprap_integreringsfors__k___Z_aksen_beveger_seg.html index f5f5b87220..c4020f1d42 100644 --- a/blog/F__rste_reprap_integreringsfors__k___Z_aksen_beveger_seg.html +++ b/blog/F__rste_reprap_integreringsfors__k___Z_aksen_beveger_seg.html @@ -84,7 +84,7 @@ limet egentlig heter, sÃ¥ det er vanskelig Ã¥ søke pÃ¥ nett.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -143,9 +143,9 @@ limet egentlig heter, sÃ¥ det er vanskelig Ã¥ søke pÃ¥ nett.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -163,7 +163,7 @@ limet egentlig heter, sÃ¥ det er vanskelig Ã¥ søke pÃ¥ nett.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/F__rste_vellykkede_videostr__m_fra_NUUG.html b/blog/F__rste_vellykkede_videostr__m_fra_NUUG.html index 9032d5e004..4e65d3d28c 100644 --- a/blog/F__rste_vellykkede_videostr__m_fra_NUUG.html +++ b/blog/F__rste_vellykkede_videostr__m_fra_NUUG.html @@ -63,7 +63,7 @@ webserver og komprimert.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -122,9 +122,9 @@ webserver og komprimert.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -142,7 +142,7 @@ webserver og komprimert.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Fiksgatami_begynner____ta_form.html b/blog/Fiksgatami_begynner____ta_form.html index 3badd93dd3..07e757777f 100644 --- a/blog/Fiksgatami_begynner____ta_form.html +++ b/blog/Fiksgatami_begynner____ta_form.html @@ -71,7 +71,7 @@ med dem. Dette blir bra.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -130,9 +130,9 @@ med dem. Dette blir bra.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -150,7 +150,7 @@ med dem. Dette blir bra.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html b/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html index 3e42fa0078..d77602e589 100644 --- a/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html +++ b/blog/Fildeling_er_lovlig___ulovlig_fildeling_er_ulovlig.html @@ -69,7 +69,7 @@ og fildeling av slike filer er fullt ut lovlig.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -128,9 +128,9 @@ og fildeling av slike filer er fullt ut lovlig.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -148,7 +148,7 @@ og fildeling av slike filer er fullt ut lovlig.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html b/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html index b15b774368..6eadb85832 100644 --- a/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html +++ b/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html @@ -164,7 +164,7 @@ http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -223,9 +223,9 @@ http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -243,7 +243,7 @@ http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Forcing_new_users_to_change_their_password_on_first_login.html b/blog/Forcing_new_users_to_change_their_password_on_first_login.html index 908b6271f1..45c01824ce 100644 --- a/blog/Forcing_new_users_to_change_their_password_on_first_login.html +++ b/blog/Forcing_new_users_to_change_their_password_on_first_login.html @@ -123,7 +123,7 @@ change.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -182,9 +182,9 @@ change.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -202,7 +202,7 @@ change.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Fransk_idiotlovforslag_hinker_gjennom_parlamentet.html b/blog/Fransk_idiotlovforslag_hinker_gjennom_parlamentet.html index b08efb7fa5..e947ee15ee 100644 --- a/blog/Fransk_idiotlovforslag_hinker_gjennom_parlamentet.html +++ b/blog/Fransk_idiotlovforslag_hinker_gjennom_parlamentet.html @@ -68,7 +68,7 @@ rettet mot seg.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -127,9 +127,9 @@ rettet mot seg.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -147,7 +147,7 @@ rettet mot seg.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Fri_og___pen_standard__slik_Digistan_ser_det.html b/blog/Fri_og___pen_standard__slik_Digistan_ser_det.html index 5e6faa8f93..98e4dee59c 100644 --- a/blog/Fri_og___pen_standard__slik_Digistan_ser_det.html +++ b/blog/Fri_og___pen_standard__slik_Digistan_ser_det.html @@ -104,7 +104,7 @@ produkter basert pÃ¥ standarden.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -163,9 +163,9 @@ produkter basert pÃ¥ standarden.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -183,7 +183,7 @@ produkter basert pÃ¥ standarden.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Frikanalen_og_jul_i_studentr__det.html b/blog/Frikanalen_og_jul_i_studentr__det.html index 536933c242..59d72b36f3 100644 --- a/blog/Frikanalen_og_jul_i_studentr__det.html +++ b/blog/Frikanalen_og_jul_i_studentr__det.html @@ -92,7 +92,7 @@ NUUG lykkes med Ã¥ fÃ¥ ut sine opptak med like stor suksess.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -151,9 +151,9 @@ NUUG lykkes med Ã¥ fÃ¥ ut sine opptak med like stor suksess.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -171,7 +171,7 @@ NUUG lykkes med Ã¥ fÃ¥ ut sine opptak med like stor suksess.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html b/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html index 9bc6225496..61fb1c7d49 100644 --- a/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html +++ b/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html @@ -65,7 +65,7 @@ strongly recommend this book.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -124,9 +124,9 @@ strongly recommend this book.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -144,7 +144,7 @@ strongly recommend this book.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Hva_er_egentlig_en___pen_standard_.html b/blog/Hva_er_egentlig_en___pen_standard_.html index 92cff67091..973c34afbb 100644 --- a/blog/Hva_er_egentlig_en___pen_standard_.html +++ b/blog/Hva_er_egentlig_en___pen_standard_.html @@ -151,7 +151,7 @@ av en standard for at en standard skal kunne kalles fri og Ã¥pen.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -210,9 +210,9 @@ av en standard for at en standard skal kunne kalles fri og Ã¥pen.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -230,7 +230,7 @@ av en standard for at en standard skal kunne kalles fri og Ã¥pen.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Hvor_flyter_Microsofts_penger_.html b/blog/Hvor_flyter_Microsofts_penger_.html index 302d91e300..75803f40d2 100644 --- a/blog/Hvor_flyter_Microsofts_penger_.html +++ b/blog/Hvor_flyter_Microsofts_penger_.html @@ -78,7 +78,7 @@ om spaniaselskapet pÃ¥ spansk, men jeg kan ikke lese spansk. :(

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -137,9 +137,9 @@ om spaniaselskapet pÃ¥ spansk, men jeg kan ikke lese spansk. :(

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -157,7 +157,7 @@ om spaniaselskapet pÃ¥ spansk, men jeg kan ikke lese spansk. :(

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html b/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html index af590bb0f4..c9be122174 100644 --- a/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html +++ b/blog/Hvorfor_jeg_ikke_bruker_eFaktura.html @@ -81,7 +81,7 @@ liker rett og slett ikke dagens faktureringsmodeller.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -140,9 +140,9 @@ liker rett og slett ikke dagens faktureringsmodeller.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -160,7 +160,7 @@ liker rett og slett ikke dagens faktureringsmodeller.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html b/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html index 0d61be92d9..bdeabd5fd4 100644 --- a/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html +++ b/blog/IDG_mener_linux_i_servermarkedet_vil_vokse_med_21__i_2009.html @@ -61,7 +61,7 @@ bakgrunnskunnskapen kan jeg godt tro at IDG er inne pÃ¥ noe.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -120,9 +120,9 @@ bakgrunnskunnskapen kan jeg godt tro at IDG er inne pÃ¥ noe.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -140,7 +140,7 @@ bakgrunnskunnskapen kan jeg godt tro at IDG er inne pÃ¥ noe.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/ISO_still_hope_to_fix_OOXML.html b/blog/ISO_still_hope_to_fix_OOXML.html index 538fa91ef4..3d07efd2df 100644 --- a/blog/ISO_still_hope_to_fix_OOXML.html +++ b/blog/ISO_still_hope_to_fix_OOXML.html @@ -68,7 +68,7 @@ seminar this autumn.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -127,9 +127,9 @@ seminar this autumn.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -147,7 +147,7 @@ seminar this autumn.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html b/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html index 987bbaff36..95e689033e 100644 --- a/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html +++ b/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html @@ -95,7 +95,7 @@ please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -154,9 +154,9 @@ please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -174,7 +174,7 @@ please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html b/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html index f9141a0909..d81ba4b3ed 100644 --- a/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html +++ b/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html @@ -127,7 +127,7 @@ personal home page over at redhat.com.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -186,9 +186,9 @@ personal home page over at redhat.com.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -206,7 +206,7 @@ personal home page over at redhat.com.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Intellektuelt_privilegium___et_bedre_IP_begrep.html b/blog/Intellektuelt_privilegium___et_bedre_IP_begrep.html index a951ebefac..2a8d25760c 100644 --- a/blog/Intellektuelt_privilegium___et_bedre_IP_begrep.html +++ b/blog/Intellektuelt_privilegium___et_bedre_IP_begrep.html @@ -73,7 +73,7 @@ forretningshemmeligheter framover.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -132,9 +132,9 @@ forretningshemmeligheter framover.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -152,7 +152,7 @@ forretningshemmeligheter framover.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Internet_leverand__rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html b/blog/Internet_leverand__rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html index b5e630088a..0344983dd6 100644 --- a/blog/Internet_leverand__rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html +++ b/blog/Internet_leverand__rer_er_ikke_vokterne_av_sine_kunders_nettbruk.html @@ -77,7 +77,7 @@ publiseres med mer brukervennlige vilkÃ¥r, som CC-BY og lignende.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -136,9 +136,9 @@ publiseres med mer brukervennlige vilkÃ¥r, som CC-BY og lignende.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -156,7 +156,7 @@ publiseres med mer brukervennlige vilkÃ¥r, som CC-BY og lignende.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Internet_sensur_skal_i_retten_p___mandag.html b/blog/Internet_sensur_skal_i_retten_p___mandag.html index 8d7607dde5..e5b7ad721b 100644 --- a/blog/Internet_sensur_skal_i_retten_p___mandag.html +++ b/blog/Internet_sensur_skal_i_retten_p___mandag.html @@ -78,7 +78,7 @@ bruk av musikk.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -137,9 +137,9 @@ bruk av musikk.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -157,7 +157,7 @@ bruk av musikk.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Jeg_vil_beholde_tusenlappen___jeg_bruker_den.html b/blog/Jeg_vil_beholde_tusenlappen___jeg_bruker_den.html index a7f4377afc..dbea69bae8 100644 --- a/blog/Jeg_vil_beholde_tusenlappen___jeg_bruker_den.html +++ b/blog/Jeg_vil_beholde_tusenlappen___jeg_bruker_den.html @@ -102,7 +102,7 @@ kontanter for noen dager siden.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -161,9 +161,9 @@ kontanter for noen dager siden.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -181,7 +181,7 @@ kontanter for noen dager siden.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Jeg_vil_ikke_ha_BankID.html b/blog/Jeg_vil_ikke_ha_BankID.html index d3184a766a..9a7a432e5b 100644 --- a/blog/Jeg_vil_ikke_ha_BankID.html +++ b/blog/Jeg_vil_ikke_ha_BankID.html @@ -136,7 +136,7 @@ nettbankkontroll over egne midler. :(
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -195,9 +195,9 @@ nettbankkontroll over egne midler. :(
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -215,7 +215,7 @@ nettbankkontroll over egne midler. :(
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html b/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html index f98bd1f4a4..fa3073a503 100644 --- a/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html +++ b/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html @@ -76,7 +76,7 @@ but I am pretty sure that waiting for each other is not it.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -135,9 +135,9 @@ but I am pretty sure that waiting for each other is not it.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -155,7 +155,7 @@ but I am pretty sure that waiting for each other is not it.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Kart_over_overv__kningskamera_i_Norge.html b/blog/Kart_over_overv__kningskamera_i_Norge.html index ac607eda0d..4cae665ae7 100644 --- a/blog/Kart_over_overv__kningskamera_i_Norge.html +++ b/blog/Kart_over_overv__kningskamera_i_Norge.html @@ -71,7 +71,7 @@ automatisk over i spesialkartet.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -130,9 +130,9 @@ automatisk over i spesialkartet.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -150,7 +150,7 @@ automatisk over i spesialkartet.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Kartverket__frigj__r__data_men_er_fortsatt_ikke_interessante.html b/blog/Kartverket__frigj__r__data_men_er_fortsatt_ikke_interessante.html index c391681222..29674dfd91 100644 --- a/blog/Kartverket__frigj__r__data_men_er_fortsatt_ikke_interessante.html +++ b/blog/Kartverket__frigj__r__data_men_er_fortsatt_ikke_interessante.html @@ -84,7 +84,7 @@ er ubrukelig til dette.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -143,9 +143,9 @@ er ubrukelig til dette.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -163,7 +163,7 @@ er ubrukelig til dette.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Kerberos_for_Debian_Edu_Squeeze_.html b/blog/Kerberos_for_Debian_Edu_Squeeze_.html index d5e5f43d79..416eb98285 100644 --- a/blog/Kerberos_for_Debian_Edu_Squeeze_.html +++ b/blog/Kerberos_for_Debian_Edu_Squeeze_.html @@ -89,7 +89,7 @@ up in a few days.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -148,9 +148,9 @@ up in a few days.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -168,7 +168,7 @@ up in a few days.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Korrupsjon_p___h__yeste_niv___.html b/blog/Korrupsjon_p___h__yeste_niv___.html index fbbd2bfd4f..bdeb5988eb 100644 --- a/blog/Korrupsjon_p___h__yeste_niv___.html +++ b/blog/Korrupsjon_p___h__yeste_niv___.html @@ -69,7 +69,7 @@ Sverige blir søndagskolefortellinger i sammenligning.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -128,9 +128,9 @@ Sverige blir søndagskolefortellinger i sammenligning.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -148,7 +148,7 @@ Sverige blir søndagskolefortellinger i sammenligning.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Kryptert_harddisk___naturligvis.html b/blog/Kryptert_harddisk___naturligvis.html index 9d92e4a74d..bffc68d3f0 100644 --- a/blog/Kryptert_harddisk___naturligvis.html +++ b/blog/Kryptert_harddisk___naturligvis.html @@ -82,7 +82,7 @@ betydelige.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -141,9 +141,9 @@ betydelige.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -161,7 +161,7 @@ betydelige.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/LUMA__a_very_nice_LDAP_GUI.html b/blog/LUMA__a_very_nice_LDAP_GUI.html index eb62e582ab..e4947dcbdf 100644 --- a/blog/LUMA__a_very_nice_LDAP_GUI.html +++ b/blog/LUMA__a_very_nice_LDAP_GUI.html @@ -83,7 +83,7 @@ changes, it will not be an option for Debian Edu based on Squeeze.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -142,9 +142,9 @@ changes, it will not be an option for Debian Edu based on Squeeze.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -162,7 +162,7 @@ changes, it will not be an option for Debian Edu based on Squeeze.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Lenker_samlet_2009_05_09.html b/blog/Lenker_samlet_2009_05_09.html index 35313217fc..c943b170ec 100644 --- a/blog/Lenker_samlet_2009_05_09.html +++ b/blog/Lenker_samlet_2009_05_09.html @@ -71,7 +71,7 @@ Word 2007 hÃ¥ndterer ODF dÃ¥rlig
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -130,9 +130,9 @@ Word 2007 hÃ¥ndterer ODF dÃ¥rlig
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -150,7 +150,7 @@ Word 2007 hÃ¥ndterer ODF dÃ¥rlig
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html b/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html index 5f05fb1569..87f0f12302 100644 --- a/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html +++ b/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html @@ -145,7 +145,7 @@ the difference somewhat.
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -204,9 +204,9 @@ the difference somewhat.
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -224,7 +224,7 @@ the difference somewhat.
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html b/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html index 786070c45f..5bc0d05cac 100644 --- a/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html +++ b/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html @@ -221,7 +221,7 @@ continue.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -280,9 +280,9 @@ continue.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -300,7 +300,7 @@ continue.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Lisensvalg_for_NUUG_opptakene_endelig_p___plass.html b/blog/Lisensvalg_for_NUUG_opptakene_endelig_p___plass.html index 091a873e1b..682d909034 100644 --- a/blog/Lisensvalg_for_NUUG_opptakene_endelig_p___plass.html +++ b/blog/Lisensvalg_for_NUUG_opptakene_endelig_p___plass.html @@ -62,7 +62,7 @@ i denne sammenhengen.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -121,9 +121,9 @@ i denne sammenhengen.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -141,7 +141,7 @@ i denne sammenhengen.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html b/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html index 6a2046bff8..9bc63020e6 100644 --- a/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html +++ b/blog/Litt_om_valgfusk_og_problemet_med_elektronisk_stemmegiving.html @@ -82,7 +82,7 @@ inneholdt i Iran hvis de ikke hadde hemmelige valg?

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -141,9 +141,9 @@ inneholdt i Iran hvis de ikke hadde hemmelige valg?

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -161,7 +161,7 @@ inneholdt i Iran hvis de ikke hadde hemmelige valg?

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/MS_Word_kr__ller_det_til_for_politiet_.html b/blog/MS_Word_kr__ller_det_til_for_politiet_.html index b63b3f5868..54f91df57d 100644 --- a/blog/MS_Word_kr__ller_det_til_for_politiet_.html +++ b/blog/MS_Word_kr__ller_det_til_for_politiet_.html @@ -73,7 +73,7 @@ offentlig myndighet?

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -132,9 +132,9 @@ offentlig myndighet?

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -152,7 +152,7 @@ offentlig myndighet?

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/MVA_p___b__ker_med_DRM__ikke_MVA_p___b__ker_uten_DRM_.html b/blog/MVA_p___b__ker_med_DRM__ikke_MVA_p___b__ker_uten_DRM_.html index d60186ad6e..fd52507466 100644 --- a/blog/MVA_p___b__ker_med_DRM__ikke_MVA_p___b__ker_uten_DRM_.html +++ b/blog/MVA_p___b__ker_med_DRM__ikke_MVA_p___b__ker_uten_DRM_.html @@ -71,7 +71,7 @@ DRM mÃ¥ anses som et kjøp.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -130,9 +130,9 @@ DRM mÃ¥ anses som et kjøp.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -150,7 +150,7 @@ DRM mÃ¥ anses som et kjøp.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html b/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html index b24fb13998..6e0c4c63a6 100644 --- a/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html +++ b/blog/Magnetstripeinnhold_i_billetter_fra_Flytoget_og_Hurtigruten.html @@ -107,7 +107,7 @@ ser jeg mye korrespondanse mellom pÃ¥trykk og magnetstripe.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -166,9 +166,9 @@ ser jeg mye korrespondanse mellom pÃ¥trykk og magnetstripe.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -186,7 +186,7 @@ ser jeg mye korrespondanse mellom pÃ¥trykk og magnetstripe.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Massiv_overv__kning_av_kollektivtrafikken_i_Oslo_planlegges.html b/blog/Massiv_overv__kning_av_kollektivtrafikken_i_Oslo_planlegges.html index 2ab5df7d3e..4e6b9ee5bb 100644 --- a/blog/Massiv_overv__kning_av_kollektivtrafikken_i_Oslo_planlegges.html +++ b/blog/Massiv_overv__kning_av_kollektivtrafikken_i_Oslo_planlegges.html @@ -65,7 +65,7 @@ OsloomrÃ¥det.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -124,9 +124,9 @@ OsloomrÃ¥det.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -144,7 +144,7 @@ OsloomrÃ¥det.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Mekanikk_delen_av_reprap_byggesettet_i_hus.html b/blog/Mekanikk_delen_av_reprap_byggesettet_i_hus.html index 3cd12f54a6..22f7ed08f8 100644 --- a/blog/Mekanikk_delen_av_reprap_byggesettet_i_hus.html +++ b/blog/Mekanikk_delen_av_reprap_byggesettet_i_hus.html @@ -70,7 +70,7 @@ og kan melde seg pÃ¥ aktive@nuug.no.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -129,9 +129,9 @@ og kan melde seg pÃ¥ aktive@nuug.no.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -149,7 +149,7 @@ og kan melde seg pÃ¥ aktive@nuug.no.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Mekanikk_delen_av_reprap_byggesettet_p___vei.html b/blog/Mekanikk_delen_av_reprap_byggesettet_p___vei.html index 565af99ee4..ac9aedf520 100644 --- a/blog/Mekanikk_delen_av_reprap_byggesettet_p___vei.html +++ b/blog/Mekanikk_delen_av_reprap_byggesettet_p___vei.html @@ -62,7 +62,7 @@ bort første pakke.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -121,9 +121,9 @@ bort første pakke.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -141,7 +141,7 @@ bort første pakke.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Mens_vi_venter_p___3D_skriveren.html b/blog/Mens_vi_venter_p___3D_skriveren.html index 1274d53a12..066575dd97 100644 --- a/blog/Mens_vi_venter_p___3D_skriveren.html +++ b/blog/Mens_vi_venter_p___3D_skriveren.html @@ -74,7 +74,7 @@ hÃ¥per det ikke gÃ¥r tapt pÃ¥ samme vis.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -133,9 +133,9 @@ hÃ¥per det ikke gÃ¥r tapt pÃ¥ samme vis.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -153,7 +153,7 @@ hÃ¥per det ikke gÃ¥r tapt pÃ¥ samme vis.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Microsofts_misvisende_argumentasjon_rundt_multimediaformater.html b/blog/Microsofts_misvisende_argumentasjon_rundt_multimediaformater.html index 1bf5b27bea..739c606ddc 100644 --- a/blog/Microsofts_misvisende_argumentasjon_rundt_multimediaformater.html +++ b/blog/Microsofts_misvisende_argumentasjon_rundt_multimediaformater.html @@ -94,7 +94,7 @@ misvisende pÃ¥stander etter i sømmene.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -153,9 +153,9 @@ misvisende pÃ¥stander etter i sømmene.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -173,7 +173,7 @@ misvisende pÃ¥stander etter i sømmene.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Min_reprap_tar_sakte_form.html b/blog/Min_reprap_tar_sakte_form.html index eb943755ca..50b0bd03ba 100644 --- a/blog/Min_reprap_tar_sakte_form.html +++ b/blog/Min_reprap_tar_sakte_form.html @@ -84,7 +84,7 @@ arbeidet.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -143,9 +143,9 @@ arbeidet.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -163,7 +163,7 @@ arbeidet.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/More_flexible_firmware_handling_in_debian_installer.html b/blog/More_flexible_firmware_handling_in_debian_installer.html index 080d1ab335..d5c6efa23c 100644 --- a/blog/More_flexible_firmware_handling_in_debian_installer.html +++ b/blog/More_flexible_firmware_handling_in_debian_installer.html @@ -94,7 +94,7 @@ contact us on debian-boot@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -153,9 +153,9 @@ contact us on debian-boot@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -173,7 +173,7 @@ contact us on debian-boot@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Nasjonalbiblioteket_legger_ut_b__ker_p___web.html b/blog/Nasjonalbiblioteket_legger_ut_b__ker_p___web.html index b7805c1923..d596f6b685 100644 --- a/blog/Nasjonalbiblioteket_legger_ut_b__ker_p___web.html +++ b/blog/Nasjonalbiblioteket_legger_ut_b__ker_p___web.html @@ -79,7 +79,7 @@ fortløpende.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -138,9 +138,9 @@ fortløpende.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -158,7 +158,7 @@ fortløpende.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/No_patch_is_not_better_than_a_useless_patch.html b/blog/No_patch_is_not_better_than_a_useless_patch.html index 4d8e3d7a61..82e8df1a1a 100644 --- a/blog/No_patch_is_not_better_than_a_useless_patch.html +++ b/blog/No_patch_is_not_better_than_a_useless_patch.html @@ -60,7 +60,7 @@ properties.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -119,9 +119,9 @@ properties.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -139,7 +139,7 @@ properties.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Norge_trenger_en_personvernforening.html b/blog/Norge_trenger_en_personvernforening.html index b035f77642..9cb601a8d1 100644 --- a/blog/Norge_trenger_en_personvernforening.html +++ b/blog/Norge_trenger_en_personvernforening.html @@ -66,7 +66,7 @@ nÃ¥ fÃ¥r vi se om noen er enig.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -125,9 +125,9 @@ nÃ¥ fÃ¥r vi se om noen er enig.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -145,7 +145,7 @@ nÃ¥ fÃ¥r vi se om noen er enig.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/ODF_bruk_i_staten__ikke_helt_p___plass.html b/blog/ODF_bruk_i_staten__ikke_helt_p___plass.html index 67245e132e..a17e50bfee 100644 --- a/blog/ODF_bruk_i_staten__ikke_helt_p___plass.html +++ b/blog/ODF_bruk_i_staten__ikke_helt_p___plass.html @@ -66,7 +66,7 @@ Kjenner kun til ufullstendige løsninger for slikt.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -125,9 +125,9 @@ Kjenner kun til ufullstendige løsninger for slikt.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -145,7 +145,7 @@ Kjenner kun til ufullstendige løsninger for slikt.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Officeshots_taking_shape.html b/blog/Officeshots_taking_shape.html index 9bfae5eb29..c9e1d96c7a 100644 --- a/blog/Officeshots_taking_shape.html +++ b/blog/Officeshots_taking_shape.html @@ -75,7 +75,7 @@ Windows. This is great.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -134,9 +134,9 @@ Windows. This is great.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -154,7 +154,7 @@ Windows. This is great.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/One_step_closer_to_single_signon_in_Debian_Edu.html b/blog/One_step_closer_to_single_signon_in_Debian_Edu.html index e2b2d660b9..800bcf90df 100644 --- a/blog/One_step_closer_to_single_signon_in_Debian_Edu.html +++ b/blog/One_step_closer_to_single_signon_in_Debian_Edu.html @@ -88,7 +88,7 @@ please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -147,9 +147,9 @@ please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -167,7 +167,7 @@ please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html b/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html index d918f744c6..fac6e4643d 100644 --- a/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html +++ b/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html @@ -69,7 +69,7 @@ www.openstreetmap.org front page.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -128,9 +128,9 @@ www.openstreetmap.org front page.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -148,7 +148,7 @@ www.openstreetmap.org front page.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Opphavet_til_Skolelinux_prosjektet.html b/blog/Opphavet_til_Skolelinux_prosjektet.html index 2493a46a61..c97a4e9f51 100644 --- a/blog/Opphavet_til_Skolelinux_prosjektet.html +++ b/blog/Opphavet_til_Skolelinux_prosjektet.html @@ -81,7 +81,7 @@ Resten er historie. :)

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -140,9 +140,9 @@ Resten er historie. :)

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -160,7 +160,7 @@ Resten er historie. :)

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/P___vegne_av_vanvitting_mange__Aftenposten_.html b/blog/P___vegne_av_vanvitting_mange__Aftenposten_.html index 7cff31670a..3ee3156a26 100644 --- a/blog/P___vegne_av_vanvitting_mange__Aftenposten_.html +++ b/blog/P___vegne_av_vanvitting_mange__Aftenposten_.html @@ -63,7 +63,7 @@ Hr. Fossen. MÃ¥ innrømme at jeg tviler pÃ¥ det.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -122,9 +122,9 @@ Hr. Fossen. MÃ¥ innrømme at jeg tviler pÃ¥ det.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -142,7 +142,7 @@ Hr. Fossen. MÃ¥ innrømme at jeg tviler pÃ¥ det.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html b/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html index 7b0a6f2536..7bba169c6b 100644 --- a/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html +++ b/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html @@ -79,7 +79,7 @@ list of usertagged bugs related to this.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -138,9 +138,9 @@ list of usertagged bugs related to this.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -158,7 +158,7 @@ list of usertagged bugs related to this.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html b/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html index caa8d8c2fb..7c06a1a036 100644 --- a/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html +++ b/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html @@ -92,7 +92,7 @@ list of usertagged bugs related to this.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -151,9 +151,9 @@ list of usertagged bugs related to this.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -171,7 +171,7 @@ list of usertagged bugs related to this.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html b/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html index a29f79f00a..ea3e3c3c9d 100644 --- a/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html +++ b/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html @@ -88,7 +88,7 @@ list of usertagged bugs related to this.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -147,9 +147,9 @@ list of usertagged bugs related to this.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -167,7 +167,7 @@ list of usertagged bugs related to this.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html b/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html index b976898cdc..49390803e3 100644 --- a/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html +++ b/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html @@ -104,7 +104,7 @@ please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -163,9 +163,9 @@ please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -183,7 +183,7 @@ please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Recording_video_from_cron_using_VLC.html b/blog/Recording_video_from_cron_using_VLC.html index b8a8519dd9..db1a456adb 100644 --- a/blog/Recording_video_from_cron_using_VLC.html +++ b/blog/Recording_video_from_cron_using_VLC.html @@ -90,7 +90,7 @@ wait $pid
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -149,9 +149,9 @@ wait $pid
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -169,7 +169,7 @@ wait $pid
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html b/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html index 0517656abd..4536886d0b 100644 --- a/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html +++ b/blog/Regjerningen_forlater_prinsippet_om_ingen_royalty_betaling_i_standardkatalogen_versjon_2.html @@ -82,7 +82,7 @@ høringsuttalelse, men ser ut til Ã¥ ha blitt ignorert.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -141,9 +141,9 @@ høringsuttalelse, men ser ut til Ã¥ ha blitt ignorert.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -161,7 +161,7 @@ høringsuttalelse, men ser ut til Ã¥ ha blitt ignorert.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Regjerningens_oppsummering_av_h__ringen_om_standardkatalogen_versjon_2.html b/blog/Regjerningens_oppsummering_av_h__ringen_om_standardkatalogen_versjon_2.html index 896f713ac4..723358b046 100644 --- a/blog/Regjerningens_oppsummering_av_h__ringen_om_standardkatalogen_versjon_2.html +++ b/blog/Regjerningens_oppsummering_av_h__ringen_om_standardkatalogen_versjon_2.html @@ -73,7 +73,7 @@ politidirektoratet om patentproblemer i Theora).

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -132,9 +132,9 @@ politidirektoratet om patentproblemer i Theora).

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -152,7 +152,7 @@ politidirektoratet om patentproblemer i Theora).

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html b/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html index 8622cd22a6..6eb4686de2 100644 --- a/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html +++ b/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html @@ -102,7 +102,7 @@ numbers.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -161,9 +161,9 @@ numbers.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -181,7 +181,7 @@ numbers.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Reprap_bygging_i_p__sken.html b/blog/Reprap_bygging_i_p__sken.html index 982505943a..66e23f5dd7 100644 --- a/blog/Reprap_bygging_i_p__sken.html +++ b/blog/Reprap_bygging_i_p__sken.html @@ -106,7 +106,7 @@ kommer til Ã¥ bruke denne plasttypen som hÃ¥ndterer temperaturer mellom
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -165,9 +165,9 @@ kommer til Ã¥ bruke denne plasttypen som hÃ¥ndterer temperaturer mellom
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -185,7 +185,7 @@ kommer til Ã¥ bruke denne plasttypen som hÃ¥ndterer temperaturer mellom
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Reprap_pakke_tapt_i_posten.html b/blog/Reprap_pakke_tapt_i_posten.html index e5c9ba02c3..719769e16c 100644 --- a/blog/Reprap_pakke_tapt_i_posten.html +++ b/blog/Reprap_pakke_tapt_i_posten.html @@ -62,7 +62,7 @@ lenge alt er klart til Go Open
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -121,9 +121,9 @@ lenge alt er klart til Go Open
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -141,7 +141,7 @@ lenge alt er klart til Go Open
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Returning_from_Skolelinux_developer_gathering.html b/blog/Returning_from_Skolelinux_developer_gathering.html index 1ce709b0a9..14fbcbfe3f 100644 --- a/blog/Returning_from_Skolelinux_developer_gathering.html +++ b/blog/Returning_from_Skolelinux_developer_gathering.html @@ -68,7 +68,7 @@ now. :)

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -127,9 +127,9 @@ now. :)

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -147,7 +147,7 @@ now. :)

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Sikkerhet__teater__og_hvordan_gj__re_verden_sikrere.html b/blog/Sikkerhet__teater__og_hvordan_gj__re_verden_sikrere.html index 0d27c19710..dd8814a393 100644 --- a/blog/Sikkerhet__teater__og_hvordan_gj__re_verden_sikrere.html +++ b/blog/Sikkerhet__teater__og_hvordan_gj__re_verden_sikrere.html @@ -64,7 +64,7 @@ pÃ¥ flyplassene.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -123,9 +123,9 @@ pÃ¥ flyplassene.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -143,7 +143,7 @@ pÃ¥ flyplassene.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Sikkerhet_til_sj__s_trenger_sj__kart_uten_bruksbegresninger.html b/blog/Sikkerhet_til_sj__s_trenger_sj__kart_uten_bruksbegresninger.html index 0d571d39e4..43797b7df3 100644 --- a/blog/Sikkerhet_til_sj__s_trenger_sj__kart_uten_bruksbegresninger.html +++ b/blog/Sikkerhet_til_sj__s_trenger_sj__kart_uten_bruksbegresninger.html @@ -106,7 +106,7 @@ det viser at behovet for fribruks-sjøkart er til stedet.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -165,9 +165,9 @@ det viser at behovet for fribruks-sjøkart er til stedet.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -185,7 +185,7 @@ det viser at behovet for fribruks-sjøkart er til stedet.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html b/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html index 4fc8712611..6923d89ad3 100644 --- a/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html +++ b/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html @@ -78,7 +78,7 @@ written yet.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -137,9 +137,9 @@ written yet.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -157,7 +157,7 @@ written yet.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html b/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html index 34ec4554d7..4036c1596c 100644 --- a/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html +++ b/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html @@ -85,7 +85,7 @@ collector.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -144,9 +144,9 @@ collector.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -164,7 +164,7 @@ collector.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Skolelinux_er_laget_for_sentraldrifting__naturligvis.html b/blog/Skolelinux_er_laget_for_sentraldrifting__naturligvis.html index 8668e6cf68..75e03d4359 100644 --- a/blog/Skolelinux_er_laget_for_sentraldrifting__naturligvis.html +++ b/blog/Skolelinux_er_laget_for_sentraldrifting__naturligvis.html @@ -130,7 +130,7 @@ minner.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -189,9 +189,9 @@ minner.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -209,7 +209,7 @@ minner.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Software_video_mixer_on_a_USB_stick.html b/blog/Software_video_mixer_on_a_USB_stick.html index 2a50b66d16..923a40abd9 100644 --- a/blog/Software_video_mixer_on_a_USB_stick.html +++ b/blog/Software_video_mixer_on_a_USB_stick.html @@ -77,7 +77,7 @@ larger stick as well.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -136,9 +136,9 @@ larger stick as well.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -156,7 +156,7 @@ larger stick as well.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Standarder_fungerer_best_n__r_en_samler_seg_rundt_dem.html b/blog/Standarder_fungerer_best_n__r_en_samler_seg_rundt_dem.html index 5824ebd2a5..dc28d1f2d4 100644 --- a/blog/Standarder_fungerer_best_n__r_en_samler_seg_rundt_dem.html +++ b/blog/Standarder_fungerer_best_n__r_en_samler_seg_rundt_dem.html @@ -66,7 +66,7 @@ bidrar positivt.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -125,9 +125,9 @@ bidrar positivt.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -145,7 +145,7 @@ bidrar positivt.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html b/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html index 43fe3191fe..c500bce08d 100644 --- a/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html +++ b/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html @@ -78,7 +78,7 @@ application that do not use open network protocol or open formats.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -137,9 +137,9 @@ application that do not use open network protocol or open formats.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -157,7 +157,7 @@ application that do not use open network protocol or open formats.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Taking_over_sysvinit_development.html b/blog/Taking_over_sysvinit_development.html index 404a8c74fa..9552222f10 100644 --- a/blog/Taking_over_sysvinit_development.html +++ b/blog/Taking_over_sysvinit_development.html @@ -75,7 +75,7 @@ distributions are moving to upstart as a syvinit replacement.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -134,9 +134,9 @@ distributions are moving to upstart as a syvinit replacement.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -154,7 +154,7 @@ distributions are moving to upstart as a syvinit replacement.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html b/blog/Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html index 2f0b195dac..17f24812d2 100644 --- a/blog/Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html +++ b/blog/Teknisk_program_for_Go_Open_2009_er_nesten_ferdig.html @@ -81,7 +81,7 @@ stort.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -140,9 +140,9 @@ stort.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -160,7 +160,7 @@ stort.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Tester_blog.html b/blog/Tester_blog.html index 1ed352315a..7f646d358e 100644 --- a/blog/Tester_blog.html +++ b/blog/Tester_blog.html @@ -56,7 +56,7 @@ forsøk.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -115,9 +115,9 @@ forsøk.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -135,7 +135,7 @@ forsøk.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Testing_av_reprap_elektronikken_igang.html b/blog/Testing_av_reprap_elektronikken_igang.html index fecc875b57..1489f16143 100644 --- a/blog/Testing_av_reprap_elektronikken_igang.html +++ b/blog/Testing_av_reprap_elektronikken_igang.html @@ -84,7 +84,7 @@ reprap-en kvikner til.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -143,9 +143,9 @@ reprap-en kvikner til.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -163,7 +163,7 @@ reprap-en kvikner til.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html b/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html new file mode 100644 index 0000000000..dddfc4985d --- /dev/null +++ b/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html @@ -0,0 +1,382 @@ + + + + Petter Reinholdtsen: Testing if a file system can be used for home directories... + + + + +
    +

    + Petter Reinholdtsen + +

    + +
    + + +
    +
    Testing if a file system can be used for home directories...
    +
    2010-08-08 21:20
    +
    +

    A few years ago, I was involved in a project planning to use +Windows file servers as home directory servers for Debian +Edu/Skolelinux machines. This was thought to be no problem, as the +access would be through the SMB network file system protocol, and we +knew other sites used SMB with unix and samba as the file server to +mount home directories without any problems. But, after months of +struggling, we had to conclude that our goal was impossible.

    + +

    The reason is simply that while SMB can be used for home +directories when the file server is Samba running on Unix, this only +work because of Samba have some extensions and the fact that the +underlying file system is a unix file system. When using a Windows +file server, the underlying file system do not have POSIX semantics, +and several programs will fail if the users home directory where they +want to store their configuration lack POSIX semantics.

    + +

    As part of this work, I wrote a small C program I want to share +with you all, to replicate a few of the problematic applications (like +OpenOffice.org and GCompris) and see if the file system was working as +it should. If you find yourself in spooky file system land, it might +help you find your way out again. This is the fs-test.c source:

    + +
    +/*
    + * Some tests to check the file system sematics.  Used to verify that
    + * CIFS from a windows server do not work properly as a linux home
    + * directory.
    + * License: GPL v2 or later
    + * 
    + * needs libsqlite3-dev and build-essential installed
    + * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
    +*/
    +
    +#define _FILE_OFFSET_BITS 64
    +#define _LARGEFILE_SOURCE 1
    +#define _LARGEFILE64_SOURCE 1
    +
    +#define _GNU_SOURCE /* for asprintf() */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#ifdef TEST_SQLITE
    +/*
    + * Test sqlite open, as done by gcompris require the libsqlite3-dev
    + * package and linking with -lsqlite3.  A more low level test is
    + * below.
    + * See also .
    + */
    +#include 
    +#define CREATE_TABLE_USERS                                              \
    +  "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); "
    +int test_sqlite_open(void) {
    +  char *zErrMsg;
    +  char *name = "testsqlite.db";
    +  sqlite3 *db=NULL;
    +  unlink(name);
    +  int rc = sqlite3_open(name, &db);
    +  if( rc ){
    +    printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db));
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +
    +  /* create tables */
    +  rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL,  0, &zErrMsg);
    +  if( rc != SQLITE_OK ){
    +    printf("error: sqlite table create failed: %s\n", zErrMsg);
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +  printf("info: sqlite worked\n");
    +  sqlite3_close(db);
    +  return 0;
    +}
    +#endif /* TEST_SQLITE */
    +
    +/*
    + * Demonstrate locking issue found in gcompris using sqlite3.  This
    + * work with ext3, but not with cifs server on Windows 2003.  This is
    + * done in the sqlite3 library.
    + * See also
    + *  and the
    + * POSIX specification
    + * .
    + */
    +int test_gcompris_locking(void) {
    +  struct flock fl;
    +  char *name = "testsqlite.db";
    +  unlink(name);
    +  int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
    +  printf("info: testing fcntl locking\n");
    +
    +  fl.l_whence = SEEK_SET;
    +  fl.l_pid    = getpid();
    +  printf("  Read-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Read-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_WRLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 2 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 2;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  close(fd);
    +  return 0;
    +}
    +
    +/*
    + * Test if permissions of freshly created directories allow entries
    + * below them.  This was a problem with OpenOffice.org and gcompris.
    + * Mounting with option 'sync' seem to solve this problem while
    + * slowing down file operations.
    + */
    +int test_subdirectory_creation(void) {
    +#define LEVELS 5
    +  char *path = strdup("test");
    +  char *dirs[LEVELS];
    +  int level;
    +  printf("info: testing subdirectory creation\n");
    +  for (level = 0; level < LEVELS; level++) {
    +    char *newpath = NULL;
    +    if (-1 == mkdir(path, 0777)) {
    +      printf("  error: Unable to create directory '%s': %s\n",
    +	     path, strerror(errno));
    +      break;
    +    }
    +    asprintf(&newpath, "%s/%s", path, "test");
    +    free(path);
    +    path = newpath;
    +  }
    +  return 0;
    +}
    +
    +/*
    + * Test if symlinks can be created.  This was a problem detected with
    + * KDE.
    + */
    +int test_symlinks(void) {
    +  printf("info: testing symlink creation\n");
    +  unlink("symlink");
    +  if (-1 == symlink("file", "symlink"))
    +    printf("  error: Unable to create symlink\n");
    +  return 0;
    +}
    +
    +int main(int argc, char **argv) {
    +  printf("Testing POSIX/Unix sematics on file system\n");
    +  test_symlinks();
    +  test_subdirectory_creation();
    +#ifdef TEST_SQLITE
    +  test_sqlite_open();
    +#endif /* TEST_SQLITE */
    +  test_gcompris_locking();
    +  return 0;
    +}
    +
    + +

    When everything is working, it should print something like +this:

    + +
    +Testing POSIX/Unix sematics on file system
    +info: testing symlink creation
    +info: testing subdirectory creation
    +info: sqlite worked
    +info: testing fcntl locking
    +  Read-locking 1 byte from 1073741824
    +  Read-locking 510 byte from 1073741826
    +  Unlocking 1 byte from 1073741824
    +  Write-locking 1 byte from 1073741824
    +  Write-locking 510 byte from 1073741826
    +  Unlocking 2 byte from 1073741824
    +
    + +

    I do not remember the exact details of the problems we saw, but one +of them was with locking, where if I remember correctly, POSIX allow a +read-only lock to be upgraded to a read-write lock without unlocking +the read-only lock (while Windows do not). Another was a bug in the +CIFS/SMB client implementation in the Linux kernel where directory +meta information would be wrong for a fraction of a second, making +OpenOffice.org fail to create its deep directory tree because it was +not allowed to create files in its freshly created directory.

    + +

    Anyway, here is a nice tool for your tool box, might you never need +it. :)

    +
    + + + +
    + + + + + + + + + diff --git a/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html b/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html index cabb851f3c..005320dabf 100644 --- a/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html +++ b/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html @@ -71,7 +71,7 @@ be the only one fitting our needs. :/

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -130,9 +130,9 @@ be the only one fitting our needs. :/

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -150,7 +150,7 @@ be the only one fitting our needs. :/

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html b/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html index 2139d6c83d..efe826b7af 100644 --- a/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html +++ b/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html @@ -118,7 +118,7 @@ please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -177,9 +177,9 @@ please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -197,7 +197,7 @@ please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html b/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html index a297216fa3..8eb4cca6b6 100644 --- a/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html +++ b/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html @@ -85,7 +85,7 @@ new IETF work group?

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -144,9 +144,9 @@ new IETF work group?

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -164,7 +164,7 @@ new IETF work group?

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Togsatsing_p___norsk__mot_sykkel.html b/blog/Togsatsing_p___norsk__mot_sykkel.html index d6e08c36a3..8a6f86e322 100644 --- a/blog/Togsatsing_p___norsk__mot_sykkel.html +++ b/blog/Togsatsing_p___norsk__mot_sykkel.html @@ -60,7 +60,7 @@ effekt pÃ¥ omrÃ¥det der?

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -119,9 +119,9 @@ effekt pÃ¥ omrÃ¥det der?

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -139,7 +139,7 @@ effekt pÃ¥ omrÃ¥det der?

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Transendentalt_tullball_og_en_funksjonell_tiln__rming.html b/blog/Transendentalt_tullball_og_en_funksjonell_tiln__rming.html index 33ca8f3b18..ee584c29e6 100644 --- a/blog/Transendentalt_tullball_og_en_funksjonell_tiln__rming.html +++ b/blog/Transendentalt_tullball_og_en_funksjonell_tiln__rming.html @@ -72,7 +72,7 @@ oppløsning.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -131,9 +131,9 @@ oppløsning.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -151,7 +151,7 @@ oppløsning.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html b/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html index 752937529f..bfcb93fcd7 100644 --- a/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html +++ b/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html @@ -89,7 +89,7 @@ surrounded by today.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -148,9 +148,9 @@ surrounded by today.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -168,7 +168,7 @@ surrounded by today.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html b/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html index c4bf136b48..54c8799a30 100644 --- a/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html +++ b/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html @@ -94,7 +94,7 @@ choice.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -153,9 +153,9 @@ choice.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -173,7 +173,7 @@ choice.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Using_bar_codes_at_a_computing_center.html b/blog/Using_bar_codes_at_a_computing_center.html index a4546b02ee..c2551d1b6c 100644 --- a/blog/Using_bar_codes_at_a_computing_center.html +++ b/blog/Using_bar_codes_at_a_computing_center.html @@ -94,7 +94,7 @@ easier automatic tracking of computers.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -153,9 +153,9 @@ easier automatic tracking of computers.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -173,7 +173,7 @@ easier automatic tracking of computers.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Vinmonopolet_bryter_loven___penlyst___og_flere_planlegger____gj__re_det_samme.html b/blog/Vinmonopolet_bryter_loven___penlyst___og_flere_planlegger____gj__re_det_samme.html index ac58360564..552241c0a9 100644 --- a/blog/Vinmonopolet_bryter_loven___penlyst___og_flere_planlegger____gj__re_det_samme.html +++ b/blog/Vinmonopolet_bryter_loven___penlyst___og_flere_planlegger____gj__re_det_samme.html @@ -87,7 +87,7 @@ hÃ¥ndheves strengt.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -146,9 +146,9 @@ hÃ¥ndheves strengt.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -166,7 +166,7 @@ hÃ¥ndheves strengt.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Vitenskapens_dogmer___.html b/blog/Vitenskapens_dogmer___.html index 0618457044..b4d59e69a3 100644 --- a/blog/Vitenskapens_dogmer___.html +++ b/blog/Vitenskapens_dogmer___.html @@ -121,7 +121,7 @@ skyskrapere. Takke meg til en tur til mÃ¥nen.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -180,9 +180,9 @@ skyskrapere. Takke meg til en tur til mÃ¥nen.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -200,7 +200,7 @@ skyskrapere. Takke meg til en tur til mÃ¥nen.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/Webbasert_tegneseriearkiv_p___trappene.html b/blog/Webbasert_tegneseriearkiv_p___trappene.html index ad73f91b3c..f7eb2d4fe4 100644 --- a/blog/Webbasert_tegneseriearkiv_p___trappene.html +++ b/blog/Webbasert_tegneseriearkiv_p___trappene.html @@ -98,7 +98,7 @@ titt.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -157,9 +157,9 @@ titt.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -177,7 +177,7 @@ titt.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html b/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html index 2675d8cae9..a5eccd99a5 100644 --- a/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html +++ b/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html @@ -364,7 +364,7 @@ auxiliary object class.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -423,9 +423,9 @@ auxiliary object class.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -443,7 +443,7 @@ auxiliary object class.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/When_web_browser_developers_make_a_video_player___.html b/blog/When_web_browser_developers_make_a_video_player___.html index 5a04530388..99dc0b8318 100644 --- a/blog/When_web_browser_developers_make_a_video_player___.html +++ b/blog/When_web_browser_developers_make_a_video_player___.html @@ -95,7 +95,7 @@ sure hope it was using the announced Ogg Theora support. :)

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -154,9 +154,9 @@ sure hope it was using the announced Ogg Theora support. :)

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -174,7 +174,7 @@ sure hope it was using the announced Ogg Theora support. :)

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/__pne_tr__dl__snett_er_et_samfunnsgode.html b/blog/__pne_tr__dl__snett_er_et_samfunnsgode.html index 378af95ac7..b3336b8c7c 100644 --- a/blog/__pne_tr__dl__snett_er_et_samfunnsgode.html +++ b/blog/__pne_tr__dl__snett_er_et_samfunnsgode.html @@ -73,7 +73,7 @@ anstrenge oss for Ã¥ beholde.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -132,9 +132,9 @@ anstrenge oss for Ã¥ beholde.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -152,7 +152,7 @@ anstrenge oss for Ã¥ beholde.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2008/11/index.html b/blog/archive/2008/11/index.html index 9b08ce186f..e10ada30ff 100644 --- a/blog/archive/2008/11/index.html +++ b/blog/archive/2008/11/index.html @@ -216,7 +216,7 @@ lenge alt er klart til Go Open
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -275,9 +275,9 @@ lenge alt er klart til Go Open
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -295,7 +295,7 @@ lenge alt er klart til Go Open
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2008/12/index.html b/blog/archive/2008/12/index.html index 2923bd2f41..8d59ca905b 100644 --- a/blog/archive/2008/12/index.html +++ b/blog/archive/2008/12/index.html @@ -380,7 +380,7 @@ larger stick as well.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -439,9 +439,9 @@ larger stick as well.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -459,7 +459,7 @@ larger stick as well.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/01/index.html b/blog/archive/2009/01/index.html index c7ebef5150..3ecb35b4fb 100644 --- a/blog/archive/2009/01/index.html +++ b/blog/archive/2009/01/index.html @@ -549,7 +549,7 @@ produkter basert pÃ¥ standarden.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -608,9 +608,9 @@ produkter basert pÃ¥ standarden.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -628,7 +628,7 @@ produkter basert pÃ¥ standarden.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/02/index.html b/blog/archive/2009/02/index.html index fa766a3b39..3fb144d688 100644 --- a/blog/archive/2009/02/index.html +++ b/blog/archive/2009/02/index.html @@ -527,7 +527,7 @@ do so.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -586,9 +586,9 @@ do so.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -606,7 +606,7 @@ do so.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/03/index.html b/blog/archive/2009/03/index.html index 43a3c43526..81ec81608b 100644 --- a/blog/archive/2009/03/index.html +++ b/blog/archive/2009/03/index.html @@ -716,7 +716,7 @@ application that do not use open network protocol or open formats.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -775,9 +775,9 @@ application that do not use open network protocol or open formats.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -795,7 +795,7 @@ application that do not use open network protocol or open formats.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/04/index.html b/blog/archive/2009/04/index.html index 029da3334d..19b61bf383 100644 --- a/blog/archive/2009/04/index.html +++ b/blog/archive/2009/04/index.html @@ -508,7 +508,7 @@ properties.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -567,9 +567,9 @@ properties.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -587,7 +587,7 @@ properties.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/05/index.html b/blog/archive/2009/05/index.html index e659763261..777008dae5 100644 --- a/blog/archive/2009/05/index.html +++ b/blog/archive/2009/05/index.html @@ -465,7 +465,7 @@ bidrar positivt.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -524,9 +524,9 @@ bidrar positivt.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -544,7 +544,7 @@ bidrar positivt.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/06/index.html b/blog/archive/2009/06/index.html index 5a70dbbd42..dba843bdd8 100644 --- a/blog/archive/2009/06/index.html +++ b/blog/archive/2009/06/index.html @@ -228,7 +228,7 @@ misvisende pÃ¥stander etter i sømmene.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -287,9 +287,9 @@ misvisende pÃ¥stander etter i sømmene.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -307,7 +307,7 @@ misvisende pÃ¥stander etter i sømmene.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/07/index.html b/blog/archive/2009/07/index.html index 648650ab21..b550860e45 100644 --- a/blog/archive/2009/07/index.html +++ b/blog/archive/2009/07/index.html @@ -216,7 +216,7 @@ non-predictable kernel in the early boot.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -275,9 +275,9 @@ non-predictable kernel in the early boot.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -295,7 +295,7 @@ non-predictable kernel in the early boot.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/08/index.html b/blog/archive/2009/08/index.html index d680cb2890..fe266f4627 100644 --- a/blog/archive/2009/08/index.html +++ b/blog/archive/2009/08/index.html @@ -229,7 +229,7 @@ det viser at behovet for fribruks-sjøkart er til stedet.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -288,9 +288,9 @@ det viser at behovet for fribruks-sjøkart er til stedet.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -308,7 +308,7 @@ det viser at behovet for fribruks-sjøkart er til stedet.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/09/index.html b/blog/archive/2009/09/index.html index a611ed8df1..35acc2cdb1 100644 --- a/blog/archive/2009/09/index.html +++ b/blog/archive/2009/09/index.html @@ -86,7 +86,7 @@ DRM mÃ¥ anses som et kjøp.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -145,9 +145,9 @@ DRM mÃ¥ anses som et kjøp.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -165,7 +165,7 @@ DRM mÃ¥ anses som et kjøp.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/10/index.html b/blog/archive/2009/10/index.html index 0d028ce09c..b2638c7b0b 100644 --- a/blog/archive/2009/10/index.html +++ b/blog/archive/2009/10/index.html @@ -198,7 +198,7 @@ nettbankkontroll over egne midler. :(
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -257,9 +257,9 @@ nettbankkontroll over egne midler. :(
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -277,7 +277,7 @@ nettbankkontroll over egne midler. :(
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/11/index.html b/blog/archive/2009/11/index.html index 4086be6f8b..d49c78b58c 100644 --- a/blog/archive/2009/11/index.html +++ b/blog/archive/2009/11/index.html @@ -183,7 +183,7 @@ er ubrukelig til dette.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -242,9 +242,9 @@ er ubrukelig til dette.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -262,7 +262,7 @@ er ubrukelig til dette.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2009/12/index.html b/blog/archive/2009/12/index.html index 942b72e05d..c24098e2a0 100644 --- a/blog/archive/2009/12/index.html +++ b/blog/archive/2009/12/index.html @@ -168,7 +168,7 @@ pÃ¥ flyplassene.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -227,9 +227,9 @@ pÃ¥ flyplassene.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -247,7 +247,7 @@ pÃ¥ flyplassene.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2010/01/index.html b/blog/archive/2010/01/index.html index 82dde7fdaa..c8d0fc0356 100644 --- a/blog/archive/2010/01/index.html +++ b/blog/archive/2010/01/index.html @@ -151,7 +151,7 @@ platforme.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -210,9 +210,9 @@ platforme.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -230,7 +230,7 @@ platforme.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2010/02/index.html b/blog/archive/2010/02/index.html index f54a9e7afa..d8011f63fd 100644 --- a/blog/archive/2010/02/index.html +++ b/blog/archive/2010/02/index.html @@ -82,7 +82,7 @@ and have just a few weeks or months to make it happen.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -141,9 +141,9 @@ and have just a few weeks or months to make it happen.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -161,7 +161,7 @@ and have just a few weeks or months to make it happen.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2010/03/index.html b/blog/archive/2010/03/index.html index 5699058235..63920514b9 100644 --- a/blog/archive/2010/03/index.html +++ b/blog/archive/2010/03/index.html @@ -171,7 +171,7 @@ Hr. Fossen. MÃ¥ innrømme at jeg tviler pÃ¥ det.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -230,9 +230,9 @@ Hr. Fossen. MÃ¥ innrømme at jeg tviler pÃ¥ det.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -250,7 +250,7 @@ Hr. Fossen. MÃ¥ innrømme at jeg tviler pÃ¥ det.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2010/04/index.html b/blog/archive/2010/04/index.html index 3ada13e605..ac3e7b9f78 100644 --- a/blog/archive/2010/04/index.html +++ b/blog/archive/2010/04/index.html @@ -225,7 +225,7 @@ please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -284,9 +284,9 @@ please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -304,7 +304,7 @@ please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2010/05/index.html b/blog/archive/2010/05/index.html index be80a972e1..42f80a2866 100644 --- a/blog/archive/2010/05/index.html +++ b/blog/archive/2010/05/index.html @@ -617,7 +617,7 @@ list of usertagged bugs related to this.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -676,9 +676,9 @@ list of usertagged bugs related to this.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -696,7 +696,7 @@ list of usertagged bugs related to this.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2010/06/index.html b/blog/archive/2010/06/index.html index 475a5464ec..16730512d8 100644 --- a/blog/archive/2010/06/index.html +++ b/blog/archive/2010/06/index.html @@ -1016,7 +1016,7 @@ changes, it will not be an option for Debian Edu based on Squeeze.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -1075,9 +1075,9 @@ changes, it will not be an option for Debian Edu based on Squeeze.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -1095,7 +1095,7 @@ changes, it will not be an option for Debian Edu based on Squeeze.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2010/07/index.html b/blog/archive/2010/07/index.html index ddd208531b..f95fd8113f 100644 --- a/blog/archive/2010/07/index.html +++ b/blog/archive/2010/07/index.html @@ -1309,7 +1309,7 @@ it.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -1368,9 +1368,9 @@ it.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -1388,7 +1388,7 @@ it.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/archive/2010/08/08.rss b/blog/archive/2010/08/08.rss new file mode 100644 index 0000000000..ed25f5e20f --- /dev/null +++ b/blog/archive/2010/08/08.rss @@ -0,0 +1,337 @@ + + + + Petter Reinholdtsen - Entries from August 2010 + Entries from August 2010 + http://people.skolelinux.org/pere/blog/ + + + + Debian Edu roaming workstation - at the university of Oslo + http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html + http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html + Tue, 3 Aug 2010 23:30:00 +0200 + +<p>The new roaming workstation profile in Debian Edu/Squeeze is fairly +similar to the laptop setup am I working on using Ubuntu for the +University of Oslo, and just for the heck of it, I tested today how +hard it would be to integrate that profile into the university +infrastructure. In this case, it is the university LDAP server, +Active Directory Kerberos server and SMB mounting from the Netapp file +servers.</p> + +<p>I was pleasantly surprised that the only three files needed to be +changed (/etc/sssd/sssd.conf, /etc/ldap.conf and +/etc/mklocaluser.d/20-debian-edu-config) and one file had to be added +(/usr/share/perl5/Debian/Edu_Local.pm), to get the client working. +Most of the changes were to get the client to use the university LDAP +for NSS and Kerberos server for PAM, but one was to change a hard +coded DNS domain name in the mklocaluser hook from .intern to +.uio.no.</p> + +<p>This testing was so encouraging, that I went ahead and adjusted the +Debian Edu scripts and setup in subversion to centralise the roaming +workstation setup a bit more and avoid the hardcoded DNS domain name, +so that when I test this tomorrow, I expect to get away with modifying +only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the +university servers.</p> + +<p>My goal is to get the clients to have no hardcoded settings and +fetch all their initial setup during installation and first boot, to +allow them to be inserted also into environments where the default +setup in Debian Edu has been changed or as with the university, where +the environment is different but provides the protocols Debian Edu +uses.</p> + + + + + Autodetecting Client setup for roaming workstations in Debian Edu + http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html + http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html + Sat, 7 Aug 2010 14:45:00 +0200 + +<p>A few days ago, I +<a href="http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html">tried +to install</a> a Roaming workation profile from Debian Edu/Squeeze +while on the university network here at the University of Oslo, and +noticed how much had to change to get it operational using the +university infrastructure. It was fairly easy, but it occured to me +that Debian Edu would improve a lot if I could get the client to +connect without any changes at all, and thus let the client configure +itself during installation and first boot to use the infrastructure +around it. Now I am a huge step further along that road.</p> + +<p>With our current squeeze-test packages, I can select the roaming +workstation profile and get a working laptop connecting to the +university LDAP server for user and group and our active directory +servers for Kerberos authentication. All this without any +configuration at all during installation. My users home directory got +a bookmark in the KDE menu to mount it via SMB, with the correct URL. +In short, openldap and sssd is correctly configured. In addition to +this, the client look for http://wpad/wpad.dat to configure a web +proxy, and when it fail to find it no proxy settings are stored in +/etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is +configured to look for the same wpad configuration and also do not use +a proxy when at the university network. If the machine is moved to a +network with such wpad setup, it would automatically use it when DHCP +gave it a IP address.</p> + +<p>The LDAP server is located using DNS, by first looking for the DNS +entry ldap.$domain. If this do not exist, it look for the +_ldap._tcp.$domain SRV records and use the first one as the LDAP +server. Next, it connects to the LDAP server and search all +namingContexts entries for posixAccount or posixGroup objects, and +pick the first one as the LDAP base. For Kerberos, a similar +algorithm is used to locate the LDAP server, and the realm is the +uppercase version of $domain.</p> + +<p>So, what is not working, you might ask. SMB mounting my home +directory do not work. No idea why, but suspected the incorrect +Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be +the cause. These are not properly configured during installation, and +had to be hand-edited to get the correct Kerberos realm and server, +but SMB mounting still do not work. :(</p> + +<p>With this automatic configuration in place, I expect a Debian Edu +roaming profile installation would be able to automatically detect and +connect to any site using LDAP and Kerberos for NSS directory and PAM +authentication. It should also work out of the box in a Active +Directory environment providing posixAccount and posixGroup objects +with UID and GID values.</p> + +<p>If you want to help out with implementing these things for Debian +Edu, please contact us on debian-edu@lists.debian.org.</p> + + + + + Testing if a file system can be used for home directories... + http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html + http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html + Sun, 8 Aug 2010 21:20:00 +0200 + +<p>A few years ago, I was involved in a project planning to use +Windows file servers as home directory servers for Debian +Edu/Skolelinux machines. This was thought to be no problem, as the +access would be through the SMB network file system protocol, and we +knew other sites used SMB with unix and samba as the file server to +mount home directories without any problems. But, after months of +struggling, we had to conclude that our goal was impossible.</p> + +<p>The reason is simply that while SMB can be used for home +directories when the file server is Samba running on Unix, this only +work because of Samba have some extensions and the fact that the +underlying file system is a unix file system. When using a Windows +file server, the underlying file system do not have POSIX semantics, +and several programs will fail if the users home directory where they +want to store their configuration lack POSIX semantics.</p> + +<p>As part of this work, I wrote a small C program I want to share +with you all, to replicate a few of the problematic applications (like +OpenOffice.org and GCompris) and see if the file system was working as +it should. If you find yourself in spooky file system land, it might +help you find your way out again. This is the fs-test.c source:</p> + +<pre> +/* + * Some tests to check the file system sematics. Used to verify that + * CIFS from a windows server do not work properly as a linux home + * directory. + * License: GPL v2 or later + * + * needs libsqlite3-dev and build-essential installed + * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test +*/ + +#define _FILE_OFFSET_BITS 64 +#define _LARGEFILE_SOURCE 1 +#define _LARGEFILE64_SOURCE 1 + +#define _GNU_SOURCE /* for asprintf() */ + +#include <errno.h> +#include <fcntl.h> +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <sys/file.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> + +#ifdef TEST_SQLITE +/* + * Test sqlite open, as done by gcompris require the libsqlite3-dev + * package and linking with -lsqlite3. A more low level test is + * below. + * See also <URL: http://www.sqlite.org./faq.html#q5 >. + */ +#include <sqlite3.h> +#define CREATE_TABLE_USERS \ + "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); " +int test_sqlite_open(void) { + char *zErrMsg; + char *name = "testsqlite.db"; + sqlite3 *db=NULL; + unlink(name); + int rc = sqlite3_open(name, &db); + if( rc ){ + printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db)); + sqlite3_close(db); + return -1; + } + + /* create tables */ + rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &zErrMsg); + if( rc != SQLITE_OK ){ + printf("error: sqlite table create failed: %s\n", zErrMsg); + sqlite3_close(db); + return -1; + } + printf("info: sqlite worked\n"); + sqlite3_close(db); + return 0; +} +#endif /* TEST_SQLITE */ + +/* + * Demonstrate locking issue found in gcompris using sqlite3. This + * work with ext3, but not with cifs server on Windows 2003. This is + * done in the sqlite3 library. + * See also + * <URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html> and the + * POSIX specification + * <URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html>. + */ +int test_gcompris_locking(void) { + struct flock fl; + char *name = "testsqlite.db"; + unlink(name); + int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644); + printf("info: testing fcntl locking\n"); + + fl.l_whence = SEEK_SET; + fl.l_pid = getpid(); + printf(" Read-locking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_RDLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Read-locking 510 byte from 1073741826"); + fl.l_start = 1073741826; + fl.l_len = 510; + fl.l_type = F_RDLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Unlocking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_UNLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Write-locking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_WRLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Write-locking 510 byte from 1073741826"); + fl.l_start = 1073741826; + fl.l_len = 510; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Unlocking 2 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 2; + fl.l_type = F_UNLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + close(fd); + return 0; +} + +/* + * Test if permissions of freshly created directories allow entries + * below them. This was a problem with OpenOffice.org and gcompris. + * Mounting with option 'sync' seem to solve this problem while + * slowing down file operations. + */ +int test_subdirectory_creation(void) { +#define LEVELS 5 + char *path = strdup("test"); + char *dirs[LEVELS]; + int level; + printf("info: testing subdirectory creation\n"); + for (level = 0; level < LEVELS; level++) { + char *newpath = NULL; + if (-1 == mkdir(path, 0777)) { + printf(" error: Unable to create directory '%s': %s\n", + path, strerror(errno)); + break; + } + asprintf(&newpath, "%s/%s", path, "test"); + free(path); + path = newpath; + } + return 0; +} + +/* + * Test if symlinks can be created. This was a problem detected with + * KDE. + */ +int test_symlinks(void) { + printf("info: testing symlink creation\n"); + unlink("symlink"); + if (-1 == symlink("file", "symlink")) + printf(" error: Unable to create symlink\n"); + return 0; +} + +int main(int argc, char **argv) { + printf("Testing POSIX/Unix sematics on file system\n"); + test_symlinks(); + test_subdirectory_creation(); +#ifdef TEST_SQLITE + test_sqlite_open(); +#endif /* TEST_SQLITE */ + test_gcompris_locking(); + return 0; +} +</pre> + +<p>When everything is working, it should print something like +this:</p> + +<pre> +Testing POSIX/Unix sematics on file system +info: testing symlink creation +info: testing subdirectory creation +info: sqlite worked +info: testing fcntl locking + Read-locking 1 byte from 1073741824 + Read-locking 510 byte from 1073741826 + Unlocking 1 byte from 1073741824 + Write-locking 1 byte from 1073741824 + Write-locking 510 byte from 1073741826 + Unlocking 2 byte from 1073741824 +</pre> + +<p>I do not remember the exact details of the problems we saw, but one +of them was with locking, where if I remember correctly, POSIX allow a +read-only lock to be upgraded to a read-write lock without unlocking +the read-only lock (while Windows do not). Another was a bug in the +CIFS/SMB client implementation in the Linux kernel where directory +meta information would be wrong for a fraction of a second, making +OpenOffice.org fail to create its deep directory tree because it was +not allowed to create files in its freshly created directory.</p> + +<p>Anyway, here is a nice tool for your tool box, might you never need +it. :)</p> + + + + + diff --git a/blog/archive/2010/08/index.html b/blog/archive/2010/08/index.html new file mode 100644 index 0000000000..d4c4b2c20e --- /dev/null +++ b/blog/archive/2010/08/index.html @@ -0,0 +1,522 @@ + + + + Petter Reinholdtsen: entries from August 2010 + + + + + + +
    +

    + Petter Reinholdtsen + +

    + +
    + +

    Entries from August 2010.

    + + +
    + +
    + 2010-08-03 23:30 +
    + +
    + +

    The new roaming workstation profile in Debian Edu/Squeeze is fairly +similar to the laptop setup am I working on using Ubuntu for the +University of Oslo, and just for the heck of it, I tested today how +hard it would be to integrate that profile into the university +infrastructure. In this case, it is the university LDAP server, +Active Directory Kerberos server and SMB mounting from the Netapp file +servers.

    + +

    I was pleasantly surprised that the only three files needed to be +changed (/etc/sssd/sssd.conf, /etc/ldap.conf and +/etc/mklocaluser.d/20-debian-edu-config) and one file had to be added +(/usr/share/perl5/Debian/Edu_Local.pm), to get the client working. +Most of the changes were to get the client to use the university LDAP +for NSS and Kerberos server for PAM, but one was to change a hard +coded DNS domain name in the mklocaluser hook from .intern to +.uio.no.

    + +

    This testing was so encouraging, that I went ahead and adjusted the +Debian Edu scripts and setup in subversion to centralise the roaming +workstation setup a bit more and avoid the hardcoded DNS domain name, +so that when I test this tomorrow, I expect to get away with modifying +only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the +university servers.

    + +

    My goal is to get the clients to have no hardcoded settings and +fetch all their initial setup during installation and first boot, to +allow them to be inserted also into environments where the default +setup in Debian Edu has been changed or as with the university, where +the environment is different but provides the protocols Debian Edu +uses.

    + +
    +
    + + + + Tags: debian edu, english, nuug. + +
    +
    +
    + +
    + +
    + 2010-08-07 14:45 +
    + +
    + +

    A few days ago, I +tried +to install a Roaming workation profile from Debian Edu/Squeeze +while on the university network here at the University of Oslo, and +noticed how much had to change to get it operational using the +university infrastructure. It was fairly easy, but it occured to me +that Debian Edu would improve a lot if I could get the client to +connect without any changes at all, and thus let the client configure +itself during installation and first boot to use the infrastructure +around it. Now I am a huge step further along that road.

    + +

    With our current squeeze-test packages, I can select the roaming +workstation profile and get a working laptop connecting to the +university LDAP server for user and group and our active directory +servers for Kerberos authentication. All this without any +configuration at all during installation. My users home directory got +a bookmark in the KDE menu to mount it via SMB, with the correct URL. +In short, openldap and sssd is correctly configured. In addition to +this, the client look for http://wpad/wpad.dat to configure a web +proxy, and when it fail to find it no proxy settings are stored in +/etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is +configured to look for the same wpad configuration and also do not use +a proxy when at the university network. If the machine is moved to a +network with such wpad setup, it would automatically use it when DHCP +gave it a IP address.

    + +

    The LDAP server is located using DNS, by first looking for the DNS +entry ldap.$domain. If this do not exist, it look for the +_ldap._tcp.$domain SRV records and use the first one as the LDAP +server. Next, it connects to the LDAP server and search all +namingContexts entries for posixAccount or posixGroup objects, and +pick the first one as the LDAP base. For Kerberos, a similar +algorithm is used to locate the LDAP server, and the realm is the +uppercase version of $domain.

    + +

    So, what is not working, you might ask. SMB mounting my home +directory do not work. No idea why, but suspected the incorrect +Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be +the cause. These are not properly configured during installation, and +had to be hand-edited to get the correct Kerberos realm and server, +but SMB mounting still do not work. :(

    + +

    With this automatic configuration in place, I expect a Debian Edu +roaming profile installation would be able to automatically detect and +connect to any site using LDAP and Kerberos for NSS directory and PAM +authentication. It should also work out of the box in a Active +Directory environment providing posixAccount and posixGroup objects +with UID and GID values.

    + +

    If you want to help out with implementing these things for Debian +Edu, please contact us on debian-edu@lists.debian.org.

    + +
    +
    + + + + Tags: debian edu, english, nuug. + +
    +
    +
    + +
    + +
    + 2010-08-08 21:20 +
    + +
    + +

    A few years ago, I was involved in a project planning to use +Windows file servers as home directory servers for Debian +Edu/Skolelinux machines. This was thought to be no problem, as the +access would be through the SMB network file system protocol, and we +knew other sites used SMB with unix and samba as the file server to +mount home directories without any problems. But, after months of +struggling, we had to conclude that our goal was impossible.

    + +

    The reason is simply that while SMB can be used for home +directories when the file server is Samba running on Unix, this only +work because of Samba have some extensions and the fact that the +underlying file system is a unix file system. When using a Windows +file server, the underlying file system do not have POSIX semantics, +and several programs will fail if the users home directory where they +want to store their configuration lack POSIX semantics.

    + +

    As part of this work, I wrote a small C program I want to share +with you all, to replicate a few of the problematic applications (like +OpenOffice.org and GCompris) and see if the file system was working as +it should. If you find yourself in spooky file system land, it might +help you find your way out again. This is the fs-test.c source:

    + +
    +/*
    + * Some tests to check the file system sematics.  Used to verify that
    + * CIFS from a windows server do not work properly as a linux home
    + * directory.
    + * License: GPL v2 or later
    + * 
    + * needs libsqlite3-dev and build-essential installed
    + * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
    +*/
    +
    +#define _FILE_OFFSET_BITS 64
    +#define _LARGEFILE_SOURCE 1
    +#define _LARGEFILE64_SOURCE 1
    +
    +#define _GNU_SOURCE /* for asprintf() */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#ifdef TEST_SQLITE
    +/*
    + * Test sqlite open, as done by gcompris require the libsqlite3-dev
    + * package and linking with -lsqlite3.  A more low level test is
    + * below.
    + * See also .
    + */
    +#include 
    +#define CREATE_TABLE_USERS                                              \
    +  "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); "
    +int test_sqlite_open(void) {
    +  char *zErrMsg;
    +  char *name = "testsqlite.db";
    +  sqlite3 *db=NULL;
    +  unlink(name);
    +  int rc = sqlite3_open(name, &db);
    +  if( rc ){
    +    printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db));
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +
    +  /* create tables */
    +  rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL,  0, &zErrMsg);
    +  if( rc != SQLITE_OK ){
    +    printf("error: sqlite table create failed: %s\n", zErrMsg);
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +  printf("info: sqlite worked\n");
    +  sqlite3_close(db);
    +  return 0;
    +}
    +#endif /* TEST_SQLITE */
    +
    +/*
    + * Demonstrate locking issue found in gcompris using sqlite3.  This
    + * work with ext3, but not with cifs server on Windows 2003.  This is
    + * done in the sqlite3 library.
    + * See also
    + *  and the
    + * POSIX specification
    + * .
    + */
    +int test_gcompris_locking(void) {
    +  struct flock fl;
    +  char *name = "testsqlite.db";
    +  unlink(name);
    +  int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
    +  printf("info: testing fcntl locking\n");
    +
    +  fl.l_whence = SEEK_SET;
    +  fl.l_pid    = getpid();
    +  printf("  Read-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Read-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_WRLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 2 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 2;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  close(fd);
    +  return 0;
    +}
    +
    +/*
    + * Test if permissions of freshly created directories allow entries
    + * below them.  This was a problem with OpenOffice.org and gcompris.
    + * Mounting with option 'sync' seem to solve this problem while
    + * slowing down file operations.
    + */
    +int test_subdirectory_creation(void) {
    +#define LEVELS 5
    +  char *path = strdup("test");
    +  char *dirs[LEVELS];
    +  int level;
    +  printf("info: testing subdirectory creation\n");
    +  for (level = 0; level < LEVELS; level++) {
    +    char *newpath = NULL;
    +    if (-1 == mkdir(path, 0777)) {
    +      printf("  error: Unable to create directory '%s': %s\n",
    +	     path, strerror(errno));
    +      break;
    +    }
    +    asprintf(&newpath, "%s/%s", path, "test");
    +    free(path);
    +    path = newpath;
    +  }
    +  return 0;
    +}
    +
    +/*
    + * Test if symlinks can be created.  This was a problem detected with
    + * KDE.
    + */
    +int test_symlinks(void) {
    +  printf("info: testing symlink creation\n");
    +  unlink("symlink");
    +  if (-1 == symlink("file", "symlink"))
    +    printf("  error: Unable to create symlink\n");
    +  return 0;
    +}
    +
    +int main(int argc, char **argv) {
    +  printf("Testing POSIX/Unix sematics on file system\n");
    +  test_symlinks();
    +  test_subdirectory_creation();
    +#ifdef TEST_SQLITE
    +  test_sqlite_open();
    +#endif /* TEST_SQLITE */
    +  test_gcompris_locking();
    +  return 0;
    +}
    +
    + +

    When everything is working, it should print something like +this:

    + +
    +Testing POSIX/Unix sematics on file system
    +info: testing symlink creation
    +info: testing subdirectory creation
    +info: sqlite worked
    +info: testing fcntl locking
    +  Read-locking 1 byte from 1073741824
    +  Read-locking 510 byte from 1073741826
    +  Unlocking 1 byte from 1073741824
    +  Write-locking 1 byte from 1073741824
    +  Write-locking 510 byte from 1073741826
    +  Unlocking 2 byte from 1073741824
    +
    + +

    I do not remember the exact details of the problems we saw, but one +of them was with locking, where if I remember correctly, POSIX allow a +read-only lock to be upgraded to a read-write lock without unlocking +the read-only lock (while Windows do not). Another was a bug in the +CIFS/SMB client implementation in the Linux kernel where directory +meta information would be wrong for a fraction of a second, making +OpenOffice.org fail to create its deep directory tree because it was +not allowed to create files in its freshly created directory.

    + +

    Anyway, here is a nice tool for your tool box, might you never need +it. :)

    + +
    +
    + + + + Tags: debian edu, english, nuug. + +
    +
    +
    + +

    RSS Feed

    + + + + + + diff --git a/blog/index.html b/blog/index.html index 3036bf6fca..9ab7bd1c92 100644 --- a/blog/index.html +++ b/blog/index.html @@ -19,6 +19,240 @@ +
    + +
    2010-08-08 21:20
    +
    +

    A few years ago, I was involved in a project planning to use +Windows file servers as home directory servers for Debian +Edu/Skolelinux machines. This was thought to be no problem, as the +access would be through the SMB network file system protocol, and we +knew other sites used SMB with unix and samba as the file server to +mount home directories without any problems. But, after months of +struggling, we had to conclude that our goal was impossible.

    + +

    The reason is simply that while SMB can be used for home +directories when the file server is Samba running on Unix, this only +work because of Samba have some extensions and the fact that the +underlying file system is a unix file system. When using a Windows +file server, the underlying file system do not have POSIX semantics, +and several programs will fail if the users home directory where they +want to store their configuration lack POSIX semantics.

    + +

    As part of this work, I wrote a small C program I want to share +with you all, to replicate a few of the problematic applications (like +OpenOffice.org and GCompris) and see if the file system was working as +it should. If you find yourself in spooky file system land, it might +help you find your way out again. This is the fs-test.c source:

    + +
    +/*
    + * Some tests to check the file system sematics.  Used to verify that
    + * CIFS from a windows server do not work properly as a linux home
    + * directory.
    + * License: GPL v2 or later
    + * 
    + * needs libsqlite3-dev and build-essential installed
    + * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
    +*/
    +
    +#define _FILE_OFFSET_BITS 64
    +#define _LARGEFILE_SOURCE 1
    +#define _LARGEFILE64_SOURCE 1
    +
    +#define _GNU_SOURCE /* for asprintf() */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#ifdef TEST_SQLITE
    +/*
    + * Test sqlite open, as done by gcompris require the libsqlite3-dev
    + * package and linking with -lsqlite3.  A more low level test is
    + * below.
    + * See also .
    + */
    +#include 
    +#define CREATE_TABLE_USERS                                              \
    +  "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); "
    +int test_sqlite_open(void) {
    +  char *zErrMsg;
    +  char *name = "testsqlite.db";
    +  sqlite3 *db=NULL;
    +  unlink(name);
    +  int rc = sqlite3_open(name, &db);
    +  if( rc ){
    +    printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db));
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +
    +  /* create tables */
    +  rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL,  0, &zErrMsg);
    +  if( rc != SQLITE_OK ){
    +    printf("error: sqlite table create failed: %s\n", zErrMsg);
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +  printf("info: sqlite worked\n");
    +  sqlite3_close(db);
    +  return 0;
    +}
    +#endif /* TEST_SQLITE */
    +
    +/*
    + * Demonstrate locking issue found in gcompris using sqlite3.  This
    + * work with ext3, but not with cifs server on Windows 2003.  This is
    + * done in the sqlite3 library.
    + * See also
    + *  and the
    + * POSIX specification
    + * .
    + */
    +int test_gcompris_locking(void) {
    +  struct flock fl;
    +  char *name = "testsqlite.db";
    +  unlink(name);
    +  int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
    +  printf("info: testing fcntl locking\n");
    +
    +  fl.l_whence = SEEK_SET;
    +  fl.l_pid    = getpid();
    +  printf("  Read-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Read-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_WRLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 2 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 2;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  close(fd);
    +  return 0;
    +}
    +
    +/*
    + * Test if permissions of freshly created directories allow entries
    + * below them.  This was a problem with OpenOffice.org and gcompris.
    + * Mounting with option 'sync' seem to solve this problem while
    + * slowing down file operations.
    + */
    +int test_subdirectory_creation(void) {
    +#define LEVELS 5
    +  char *path = strdup("test");
    +  char *dirs[LEVELS];
    +  int level;
    +  printf("info: testing subdirectory creation\n");
    +  for (level = 0; level < LEVELS; level++) {
    +    char *newpath = NULL;
    +    if (-1 == mkdir(path, 0777)) {
    +      printf("  error: Unable to create directory '%s': %s\n",
    +	     path, strerror(errno));
    +      break;
    +    }
    +    asprintf(&newpath, "%s/%s", path, "test");
    +    free(path);
    +    path = newpath;
    +  }
    +  return 0;
    +}
    +
    +/*
    + * Test if symlinks can be created.  This was a problem detected with
    + * KDE.
    + */
    +int test_symlinks(void) {
    +  printf("info: testing symlink creation\n");
    +  unlink("symlink");
    +  if (-1 == symlink("file", "symlink"))
    +    printf("  error: Unable to create symlink\n");
    +  return 0;
    +}
    +
    +int main(int argc, char **argv) {
    +  printf("Testing POSIX/Unix sematics on file system\n");
    +  test_symlinks();
    +  test_subdirectory_creation();
    +#ifdef TEST_SQLITE
    +  test_sqlite_open();
    +#endif /* TEST_SQLITE */
    +  test_gcompris_locking();
    +  return 0;
    +}
    +
    + +

    When everything is working, it should print something like +this:

    + +
    +Testing POSIX/Unix sematics on file system
    +info: testing symlink creation
    +info: testing subdirectory creation
    +info: sqlite worked
    +info: testing fcntl locking
    +  Read-locking 1 byte from 1073741824
    +  Read-locking 510 byte from 1073741826
    +  Unlocking 1 byte from 1073741824
    +  Write-locking 1 byte from 1073741824
    +  Write-locking 510 byte from 1073741826
    +  Unlocking 2 byte from 1073741824
    +
    + +

    I do not remember the exact details of the problems we saw, but one +of them was with locking, where if I remember correctly, POSIX allow a +read-only lock to be upgraded to a read-write lock without unlocking +the read-only lock (while Windows do not). Another was a bug in the +CIFS/SMB client implementation in the Linux kernel where directory +meta information would be wrong for a fraction of a second, making +OpenOffice.org fail to create its deep directory tree because it was +not allowed to create files in its freshly created directory.

    + +

    Anyway, here is a nice tool for your tool box, might you never need +it. :)

    +
    +
    + + + + Tags: debian edu, english, nuug. + +
    +
    +
    +
    2010-08-07 14:45
    @@ -830,95 +1064,6 @@ please contact us on debian-edu@lists.debian.org.

    - Tags: debian, debian edu, english, ldap, nuug. - -
    - -
    - -
    - -
    2010-07-11 22:00
    -
    -

    Vagrant mentioned on IRC today that ltsp_config now support -sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin -clients, and that this can be used to fetch configuration from LDAP if -Debian Edu choose to store configuration there.

    - -

    Armed with this information, I got inspired and wrote a test module -to get configuration from LDAP. The idea is to look up the MAC -address of the client in LDAP, and look for attributes on the form -ltspconfigsetting=value, and use this to export SETTING=value to the -LTSP clients.

    - -

    The goal is to be able to store the LTSP configuration attributes -in a "computer" LDAP object used by both DNS and DHCP, and thus -allowing us to store all information about a computer in one place.

    - -

    This is a untested draft implementation, and I welcome feedback on -this approach. A real LDAP schema for the ltspClientAux objectclass -need to be written. Comments, suggestions, etc?

    - -
    -# Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
    -#
    -# Fetch LTSP client settings from LDAP based on MAC address
    -#
    -# Uses ethernet address as stored in the dhcpHost objectclass using
    -# the dhcpHWAddress attribute or ethernet address stored in the
    -# ieee802Device objectclass with the macAddress attribute.
    -#
    -# This module is written to be schema agnostic, and only depend on the
    -# existence of attribute names.
    -#
    -# The LTSP configuration variables are saved directly using a
    -# ltspConfig prefix and uppercasing the rest of the attribute name.
    -# To set the SERVER variable, set the ltspConfigServer attribute.
    -#
    -# Some LDAP schema should be created with all the relevant
    -# configuration settings.  Something like this should work:
    -# 
    -# objectclass ( 1.1.2.2 NAME 'ltspClientAux'
    -#     SUP top
    -#     AUXILIARY
    -#     MAY ( ltspConfigServer $ ltsConfigSound $ ... )
    -
    -LDAPSERVER=$(debian-edu-ldapserver)
    -if [ "$LDAPSERVER" ] ; then
    -    LDAPBASE=$(debian-edu-ldapserver -b)
    -    for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk '{print $5}'|sort -u) ; do
    -	filter="(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))"
    -	ldapsearch -h "$LDAPSERVER" -b "$LDAPBASE" -v -x "$filter" | \
    -	    grep '^ltspConfig' | while read attr value ; do
    -	    # Remove prefix and convert to upper case
    -	    attr=$(echo $attr | sed 's/^ltspConfig//i' | tr a-z A-Z)
    -	    # bass value on to clients
    -	    eval "$attr=$value; export $attr"
    -	done
    -    done
    -fi
    -
    - -

    I'm not sure this shell construction will work, because I suspect -the while block might end up in a subshell causing the variables set -there to not show up in ltsp-config, but if that is the case I am sure -the code can be restructured to make sure the variables are passed on. -I expect that can be solved with some testing. :)

    - -

    If you want to help out with implementing this for Debian Edu, -please contact us on debian-edu@lists.debian.org.

    - -

    Update 2010-07-17: I am aware of another effort to store LTSP -configuration in LDAP that was created around year 2000 by -PC -Xperience, Inc., 2000. I found its -files on a -personal home page over at redhat.com.

    -
    -
    - - - Tags: debian, debian edu, english, ldap, nuug.
    @@ -953,7 +1098,7 @@ personal home page over at redhat.com.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -1012,9 +1157,9 @@ personal home page over at redhat.com.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -1032,7 +1177,7 @@ personal home page over at redhat.com.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • @@ -1061,7 +1206,7 @@ personal home page over at redhat.com.

    -Created by Chronicle v3.2 +Created by Chronicle v3.7

    diff --git a/blog/index.rss b/blog/index.rss index c899898782..4541e6eaad 100644 --- a/blog/index.rss +++ b/blog/index.rss @@ -6,6 +6,234 @@ http://people.skolelinux.org/pere/blog/ + + Testing if a file system can be used for home directories... + http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html + http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html + Sun, 8 Aug 2010 21:20:00 +0200 + +<p>A few years ago, I was involved in a project planning to use +Windows file servers as home directory servers for Debian +Edu/Skolelinux machines. This was thought to be no problem, as the +access would be through the SMB network file system protocol, and we +knew other sites used SMB with unix and samba as the file server to +mount home directories without any problems. But, after months of +struggling, we had to conclude that our goal was impossible.</p> + +<p>The reason is simply that while SMB can be used for home +directories when the file server is Samba running on Unix, this only +work because of Samba have some extensions and the fact that the +underlying file system is a unix file system. When using a Windows +file server, the underlying file system do not have POSIX semantics, +and several programs will fail if the users home directory where they +want to store their configuration lack POSIX semantics.</p> + +<p>As part of this work, I wrote a small C program I want to share +with you all, to replicate a few of the problematic applications (like +OpenOffice.org and GCompris) and see if the file system was working as +it should. If you find yourself in spooky file system land, it might +help you find your way out again. This is the fs-test.c source:</p> + +<pre> +/* + * Some tests to check the file system sematics. Used to verify that + * CIFS from a windows server do not work properly as a linux home + * directory. + * License: GPL v2 or later + * + * needs libsqlite3-dev and build-essential installed + * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test +*/ + +#define _FILE_OFFSET_BITS 64 +#define _LARGEFILE_SOURCE 1 +#define _LARGEFILE64_SOURCE 1 + +#define _GNU_SOURCE /* for asprintf() */ + +#include <errno.h> +#include <fcntl.h> +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <sys/file.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> + +#ifdef TEST_SQLITE +/* + * Test sqlite open, as done by gcompris require the libsqlite3-dev + * package and linking with -lsqlite3. A more low level test is + * below. + * See also <URL: http://www.sqlite.org./faq.html#q5 >. + */ +#include <sqlite3.h> +#define CREATE_TABLE_USERS \ + "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); " +int test_sqlite_open(void) { + char *zErrMsg; + char *name = "testsqlite.db"; + sqlite3 *db=NULL; + unlink(name); + int rc = sqlite3_open(name, &db); + if( rc ){ + printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db)); + sqlite3_close(db); + return -1; + } + + /* create tables */ + rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &zErrMsg); + if( rc != SQLITE_OK ){ + printf("error: sqlite table create failed: %s\n", zErrMsg); + sqlite3_close(db); + return -1; + } + printf("info: sqlite worked\n"); + sqlite3_close(db); + return 0; +} +#endif /* TEST_SQLITE */ + +/* + * Demonstrate locking issue found in gcompris using sqlite3. This + * work with ext3, but not with cifs server on Windows 2003. This is + * done in the sqlite3 library. + * See also + * <URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html> and the + * POSIX specification + * <URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html>. + */ +int test_gcompris_locking(void) { + struct flock fl; + char *name = "testsqlite.db"; + unlink(name); + int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644); + printf("info: testing fcntl locking\n"); + + fl.l_whence = SEEK_SET; + fl.l_pid = getpid(); + printf(" Read-locking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_RDLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Read-locking 510 byte from 1073741826"); + fl.l_start = 1073741826; + fl.l_len = 510; + fl.l_type = F_RDLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Unlocking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_UNLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Write-locking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_WRLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Write-locking 510 byte from 1073741826"); + fl.l_start = 1073741826; + fl.l_len = 510; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Unlocking 2 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 2; + fl.l_type = F_UNLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + close(fd); + return 0; +} + +/* + * Test if permissions of freshly created directories allow entries + * below them. This was a problem with OpenOffice.org and gcompris. + * Mounting with option 'sync' seem to solve this problem while + * slowing down file operations. + */ +int test_subdirectory_creation(void) { +#define LEVELS 5 + char *path = strdup("test"); + char *dirs[LEVELS]; + int level; + printf("info: testing subdirectory creation\n"); + for (level = 0; level < LEVELS; level++) { + char *newpath = NULL; + if (-1 == mkdir(path, 0777)) { + printf(" error: Unable to create directory '%s': %s\n", + path, strerror(errno)); + break; + } + asprintf(&newpath, "%s/%s", path, "test"); + free(path); + path = newpath; + } + return 0; +} + +/* + * Test if symlinks can be created. This was a problem detected with + * KDE. + */ +int test_symlinks(void) { + printf("info: testing symlink creation\n"); + unlink("symlink"); + if (-1 == symlink("file", "symlink")) + printf(" error: Unable to create symlink\n"); + return 0; +} + +int main(int argc, char **argv) { + printf("Testing POSIX/Unix sematics on file system\n"); + test_symlinks(); + test_subdirectory_creation(); +#ifdef TEST_SQLITE + test_sqlite_open(); +#endif /* TEST_SQLITE */ + test_gcompris_locking(); + return 0; +} +</pre> + +<p>When everything is working, it should print something like +this:</p> + +<pre> +Testing POSIX/Unix sematics on file system +info: testing symlink creation +info: testing subdirectory creation +info: sqlite worked +info: testing fcntl locking + Read-locking 1 byte from 1073741824 + Read-locking 510 byte from 1073741826 + Unlocking 1 byte from 1073741824 + Write-locking 1 byte from 1073741824 + Write-locking 510 byte from 1073741826 + Unlocking 2 byte from 1073741824 +</pre> + +<p>I do not remember the exact details of the problems we saw, but one +of them was with locking, where if I remember correctly, POSIX allow a +read-only lock to be upgraded to a read-write lock without unlocking +the read-only lock (while Windows do not). Another was a bug in the +CIFS/SMB client implementation in the Linux kernel where directory +meta information would be wrong for a fraction of a second, making +OpenOffice.org fail to create its deep directory tree because it was +not allowed to create files in its freshly created directory.</p> + +<p>Anyway, here is a nice tool for your tool box, might you never need +it. :)</p> + + + Autodetecting Client setup for roaming workstations in Debian Edu http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html @@ -769,88 +997,5 @@ please contact us on debian-edu@lists.debian.org.</p> - - Idea for storing LTSP configuration in LDAP - http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html - http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html - Sun, 11 Jul 2010 22:00:00 +0200 - -<p>Vagrant mentioned on IRC today that ltsp_config now support -sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin -clients, and that this can be used to fetch configuration from LDAP if -Debian Edu choose to store configuration there.</p> - -<p>Armed with this information, I got inspired and wrote a test module -to get configuration from LDAP. The idea is to look up the MAC -address of the client in LDAP, and look for attributes on the form -ltspconfigsetting=value, and use this to export SETTING=value to the -LTSP clients.</p> - -<p>The goal is to be able to store the LTSP configuration attributes -in a "computer" LDAP object used by both DNS and DHCP, and thus -allowing us to store all information about a computer in one place.</p> - -<p>This is a untested draft implementation, and I welcome feedback on -this approach. A real LDAP schema for the ltspClientAux objectclass -need to be written. Comments, suggestions, etc?</p> - -<blockquote><pre> -# Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config -# -# Fetch LTSP client settings from LDAP based on MAC address -# -# Uses ethernet address as stored in the dhcpHost objectclass using -# the dhcpHWAddress attribute or ethernet address stored in the -# ieee802Device objectclass with the macAddress attribute. -# -# This module is written to be schema agnostic, and only depend on the -# existence of attribute names. -# -# The LTSP configuration variables are saved directly using a -# ltspConfig prefix and uppercasing the rest of the attribute name. -# To set the SERVER variable, set the ltspConfigServer attribute. -# -# Some LDAP schema should be created with all the relevant -# configuration settings. Something like this should work: -# -# objectclass ( 1.1.2.2 NAME 'ltspClientAux' -# SUP top -# AUXILIARY -# MAY ( ltspConfigServer $ ltsConfigSound $ ... ) - -LDAPSERVER=$(debian-edu-ldapserver) -if [ "$LDAPSERVER" ] ; then - LDAPBASE=$(debian-edu-ldapserver -b) - for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk '{print $5}'|sort -u) ; do - filter="(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))" - ldapsearch -h "$LDAPSERVER" -b "$LDAPBASE" -v -x "$filter" | \ - grep '^ltspConfig' | while read attr value ; do - # Remove prefix and convert to upper case - attr=$(echo $attr | sed 's/^ltspConfig//i' | tr a-z A-Z) - # bass value on to clients - eval "$attr=$value; export $attr" - done - done -fi -</pre></blockquote> - -<p>I'm not sure this shell construction will work, because I suspect -the while block might end up in a subshell causing the variables set -there to not show up in ltsp-config, but if that is the case I am sure -the code can be restructured to make sure the variables are passed on. -I expect that can be solved with some testing. :)</p> - -<p>If you want to help out with implementing this for Debian Edu, -please contact us on debian-edu@lists.debian.org.</p> - -<p>Update 2010-07-17: I am aware of another effort to store LTSP -configuration in LDAP that was created around year 2000 by -<a href="http://www.pcxperience.com/thinclient/documentation/ldap.html">PC -Xperience, Inc., 2000</a>. I found its -<a href="http://people.redhat.com/alikins/ltsp/ldap/">files</a> on a -personal home page over at redhat.com.</p> - - - diff --git a/blog/jXplorer__a_very_nice_LDAP_GUI.html b/blog/jXplorer__a_very_nice_LDAP_GUI.html index 1b9d6d24de..2688a63483 100644 --- a/blog/jXplorer__a_very_nice_LDAP_GUI.html +++ b/blog/jXplorer__a_very_nice_LDAP_GUI.html @@ -67,7 +67,7 @@ and remove the failing query. Nothing big, but very annoying.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -126,9 +126,9 @@ and remove the failing query. Nothing big, but very annoying.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -146,7 +146,7 @@ and remove the failing query. Nothing big, but very annoying.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/sitemap.xml b/blog/sitemap.xml index 94a395293b..35258dea63 100644 --- a/blog/sitemap.xml +++ b/blog/sitemap.xml @@ -35,6 +35,11 @@ 0.50 weekly + + http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html + 0.50 + weekly + http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html 0.50 @@ -570,6 +575,11 @@ 0.50 weekly + + http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html + 0.50 + weekly + http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html 0.50 diff --git a/blog/systemd__an_interesting_alternative_to_upstart.html b/blog/systemd__an_interesting_alternative_to_upstart.html index b400daf0e2..57bfabfff7 100644 --- a/blog/systemd__an_interesting_alternative_to_upstart.html +++ b/blog/systemd__an_interesting_alternative_to_upstart.html @@ -85,7 +85,7 @@ with parallel booting enabled by default.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -144,9 +144,9 @@ with parallel booting enabled by default.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -164,7 +164,7 @@ with parallel booting enabled by default.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/3d-printer/index.html b/blog/tags/3d-printer/index.html index 7cdcb29ee3..d774b40e5b 100644 --- a/blog/tags/3d-printer/index.html +++ b/blog/tags/3d-printer/index.html @@ -580,7 +580,7 @@ massemarkedet.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -639,9 +639,9 @@ massemarkedet.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -659,7 +659,7 @@ massemarkedet.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/amiga/index.html b/blog/tags/amiga/index.html index 62818f0568..5f19c0cb89 100644 --- a/blog/tags/amiga/index.html +++ b/blog/tags/amiga/index.html @@ -79,7 +79,7 @@ pakke. Kanskje Aros kunne vært interessant for et NUUG-foredrag?

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -138,9 +138,9 @@ pakke. Kanskje Aros kunne vært interessant for et NUUG-foredrag?

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -158,7 +158,7 @@ pakke. Kanskje Aros kunne vært interessant for et NUUG-foredrag?

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/aros/index.html b/blog/tags/aros/index.html index 6139b17018..745b8bed30 100644 --- a/blog/tags/aros/index.html +++ b/blog/tags/aros/index.html @@ -79,7 +79,7 @@ pakke. Kanskje Aros kunne vært interessant for et NUUG-foredrag?

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -138,9 +138,9 @@ pakke. Kanskje Aros kunne vært interessant for et NUUG-foredrag?

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -158,7 +158,7 @@ pakke. Kanskje Aros kunne vært interessant for et NUUG-foredrag?

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/bootsystem/index.html b/blog/tags/bootsystem/index.html index 8adf2a2654..0bf262a069 100644 --- a/blog/tags/bootsystem/index.html +++ b/blog/tags/bootsystem/index.html @@ -662,7 +662,7 @@ packages.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -721,9 +721,9 @@ packages.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -741,7 +741,7 @@ packages.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/debian edu/debian edu.rss b/blog/tags/debian edu/debian edu.rss index 12c90d2f02..782b504f0b 100644 --- a/blog/tags/debian edu/debian edu.rss +++ b/blog/tags/debian edu/debian edu.rss @@ -2433,5 +2433,233 @@ Edu, please contact us on debian-edu@lists.debian.org.</p> + + Testing if a file system can be used for home directories... + http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html + http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html + Sun, 8 Aug 2010 21:20:00 +0200 + +<p>A few years ago, I was involved in a project planning to use +Windows file servers as home directory servers for Debian +Edu/Skolelinux machines. This was thought to be no problem, as the +access would be through the SMB network file system protocol, and we +knew other sites used SMB with unix and samba as the file server to +mount home directories without any problems. But, after months of +struggling, we had to conclude that our goal was impossible.</p> + +<p>The reason is simply that while SMB can be used for home +directories when the file server is Samba running on Unix, this only +work because of Samba have some extensions and the fact that the +underlying file system is a unix file system. When using a Windows +file server, the underlying file system do not have POSIX semantics, +and several programs will fail if the users home directory where they +want to store their configuration lack POSIX semantics.</p> + +<p>As part of this work, I wrote a small C program I want to share +with you all, to replicate a few of the problematic applications (like +OpenOffice.org and GCompris) and see if the file system was working as +it should. If you find yourself in spooky file system land, it might +help you find your way out again. This is the fs-test.c source:</p> + +<pre> +/* + * Some tests to check the file system sematics. Used to verify that + * CIFS from a windows server do not work properly as a linux home + * directory. + * License: GPL v2 or later + * + * needs libsqlite3-dev and build-essential installed + * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test +*/ + +#define _FILE_OFFSET_BITS 64 +#define _LARGEFILE_SOURCE 1 +#define _LARGEFILE64_SOURCE 1 + +#define _GNU_SOURCE /* for asprintf() */ + +#include <errno.h> +#include <fcntl.h> +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <sys/file.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> + +#ifdef TEST_SQLITE +/* + * Test sqlite open, as done by gcompris require the libsqlite3-dev + * package and linking with -lsqlite3. A more low level test is + * below. + * See also <URL: http://www.sqlite.org./faq.html#q5 >. + */ +#include <sqlite3.h> +#define CREATE_TABLE_USERS \ + "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); " +int test_sqlite_open(void) { + char *zErrMsg; + char *name = "testsqlite.db"; + sqlite3 *db=NULL; + unlink(name); + int rc = sqlite3_open(name, &db); + if( rc ){ + printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db)); + sqlite3_close(db); + return -1; + } + + /* create tables */ + rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &zErrMsg); + if( rc != SQLITE_OK ){ + printf("error: sqlite table create failed: %s\n", zErrMsg); + sqlite3_close(db); + return -1; + } + printf("info: sqlite worked\n"); + sqlite3_close(db); + return 0; +} +#endif /* TEST_SQLITE */ + +/* + * Demonstrate locking issue found in gcompris using sqlite3. This + * work with ext3, but not with cifs server on Windows 2003. This is + * done in the sqlite3 library. + * See also + * <URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html> and the + * POSIX specification + * <URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html>. + */ +int test_gcompris_locking(void) { + struct flock fl; + char *name = "testsqlite.db"; + unlink(name); + int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644); + printf("info: testing fcntl locking\n"); + + fl.l_whence = SEEK_SET; + fl.l_pid = getpid(); + printf(" Read-locking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_RDLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Read-locking 510 byte from 1073741826"); + fl.l_start = 1073741826; + fl.l_len = 510; + fl.l_type = F_RDLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Unlocking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_UNLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Write-locking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_WRLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Write-locking 510 byte from 1073741826"); + fl.l_start = 1073741826; + fl.l_len = 510; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Unlocking 2 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 2; + fl.l_type = F_UNLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + close(fd); + return 0; +} + +/* + * Test if permissions of freshly created directories allow entries + * below them. This was a problem with OpenOffice.org and gcompris. + * Mounting with option 'sync' seem to solve this problem while + * slowing down file operations. + */ +int test_subdirectory_creation(void) { +#define LEVELS 5 + char *path = strdup("test"); + char *dirs[LEVELS]; + int level; + printf("info: testing subdirectory creation\n"); + for (level = 0; level < LEVELS; level++) { + char *newpath = NULL; + if (-1 == mkdir(path, 0777)) { + printf(" error: Unable to create directory '%s': %s\n", + path, strerror(errno)); + break; + } + asprintf(&newpath, "%s/%s", path, "test"); + free(path); + path = newpath; + } + return 0; +} + +/* + * Test if symlinks can be created. This was a problem detected with + * KDE. + */ +int test_symlinks(void) { + printf("info: testing symlink creation\n"); + unlink("symlink"); + if (-1 == symlink("file", "symlink")) + printf(" error: Unable to create symlink\n"); + return 0; +} + +int main(int argc, char **argv) { + printf("Testing POSIX/Unix sematics on file system\n"); + test_symlinks(); + test_subdirectory_creation(); +#ifdef TEST_SQLITE + test_sqlite_open(); +#endif /* TEST_SQLITE */ + test_gcompris_locking(); + return 0; +} +</pre> + +<p>When everything is working, it should print something like +this:</p> + +<pre> +Testing POSIX/Unix sematics on file system +info: testing symlink creation +info: testing subdirectory creation +info: sqlite worked +info: testing fcntl locking + Read-locking 1 byte from 1073741824 + Read-locking 510 byte from 1073741826 + Unlocking 1 byte from 1073741824 + Write-locking 1 byte from 1073741824 + Write-locking 510 byte from 1073741826 + Unlocking 2 byte from 1073741824 +</pre> + +<p>I do not remember the exact details of the problems we saw, but one +of them was with locking, where if I remember correctly, POSIX allow a +read-only lock to be upgraded to a read-write lock without unlocking +the read-only lock (while Windows do not). Another was a bug in the +CIFS/SMB client implementation in the Linux kernel where directory +meta information would be wrong for a fraction of a second, making +OpenOffice.org fail to create its deep directory tree because it was +not allowed to create files in its freshly created directory.</p> + +<p>Anyway, here is a nice tool for your tool box, might you never need +it. :)</p> + + + diff --git a/blog/tags/debian edu/index.html b/blog/tags/debian edu/index.html index 25e679c8d6..f458704f5e 100644 --- a/blog/tags/debian edu/index.html +++ b/blog/tags/debian edu/index.html @@ -2936,6 +2936,247 @@ Edu, please contact us on debian-edu@lists.debian.org.

    + Tags: debian edu, english, nuug. + + + +
    + +
    + +
    + 2010-08-08 21:20 +
    + +
    + +

    A few years ago, I was involved in a project planning to use +Windows file servers as home directory servers for Debian +Edu/Skolelinux machines. This was thought to be no problem, as the +access would be through the SMB network file system protocol, and we +knew other sites used SMB with unix and samba as the file server to +mount home directories without any problems. But, after months of +struggling, we had to conclude that our goal was impossible.

    + +

    The reason is simply that while SMB can be used for home +directories when the file server is Samba running on Unix, this only +work because of Samba have some extensions and the fact that the +underlying file system is a unix file system. When using a Windows +file server, the underlying file system do not have POSIX semantics, +and several programs will fail if the users home directory where they +want to store their configuration lack POSIX semantics.

    + +

    As part of this work, I wrote a small C program I want to share +with you all, to replicate a few of the problematic applications (like +OpenOffice.org and GCompris) and see if the file system was working as +it should. If you find yourself in spooky file system land, it might +help you find your way out again. This is the fs-test.c source:

    + +
    +/*
    + * Some tests to check the file system sematics.  Used to verify that
    + * CIFS from a windows server do not work properly as a linux home
    + * directory.
    + * License: GPL v2 or later
    + * 
    + * needs libsqlite3-dev and build-essential installed
    + * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
    +*/
    +
    +#define _FILE_OFFSET_BITS 64
    +#define _LARGEFILE_SOURCE 1
    +#define _LARGEFILE64_SOURCE 1
    +
    +#define _GNU_SOURCE /* for asprintf() */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#ifdef TEST_SQLITE
    +/*
    + * Test sqlite open, as done by gcompris require the libsqlite3-dev
    + * package and linking with -lsqlite3.  A more low level test is
    + * below.
    + * See also .
    + */
    +#include 
    +#define CREATE_TABLE_USERS                                              \
    +  "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); "
    +int test_sqlite_open(void) {
    +  char *zErrMsg;
    +  char *name = "testsqlite.db";
    +  sqlite3 *db=NULL;
    +  unlink(name);
    +  int rc = sqlite3_open(name, &db);
    +  if( rc ){
    +    printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db));
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +
    +  /* create tables */
    +  rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL,  0, &zErrMsg);
    +  if( rc != SQLITE_OK ){
    +    printf("error: sqlite table create failed: %s\n", zErrMsg);
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +  printf("info: sqlite worked\n");
    +  sqlite3_close(db);
    +  return 0;
    +}
    +#endif /* TEST_SQLITE */
    +
    +/*
    + * Demonstrate locking issue found in gcompris using sqlite3.  This
    + * work with ext3, but not with cifs server on Windows 2003.  This is
    + * done in the sqlite3 library.
    + * See also
    + *  and the
    + * POSIX specification
    + * .
    + */
    +int test_gcompris_locking(void) {
    +  struct flock fl;
    +  char *name = "testsqlite.db";
    +  unlink(name);
    +  int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
    +  printf("info: testing fcntl locking\n");
    +
    +  fl.l_whence = SEEK_SET;
    +  fl.l_pid    = getpid();
    +  printf("  Read-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Read-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_WRLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 2 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 2;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  close(fd);
    +  return 0;
    +}
    +
    +/*
    + * Test if permissions of freshly created directories allow entries
    + * below them.  This was a problem with OpenOffice.org and gcompris.
    + * Mounting with option 'sync' seem to solve this problem while
    + * slowing down file operations.
    + */
    +int test_subdirectory_creation(void) {
    +#define LEVELS 5
    +  char *path = strdup("test");
    +  char *dirs[LEVELS];
    +  int level;
    +  printf("info: testing subdirectory creation\n");
    +  for (level = 0; level < LEVELS; level++) {
    +    char *newpath = NULL;
    +    if (-1 == mkdir(path, 0777)) {
    +      printf("  error: Unable to create directory '%s': %s\n",
    +	     path, strerror(errno));
    +      break;
    +    }
    +    asprintf(&newpath, "%s/%s", path, "test");
    +    free(path);
    +    path = newpath;
    +  }
    +  return 0;
    +}
    +
    +/*
    + * Test if symlinks can be created.  This was a problem detected with
    + * KDE.
    + */
    +int test_symlinks(void) {
    +  printf("info: testing symlink creation\n");
    +  unlink("symlink");
    +  if (-1 == symlink("file", "symlink"))
    +    printf("  error: Unable to create symlink\n");
    +  return 0;
    +}
    +
    +int main(int argc, char **argv) {
    +  printf("Testing POSIX/Unix sematics on file system\n");
    +  test_symlinks();
    +  test_subdirectory_creation();
    +#ifdef TEST_SQLITE
    +  test_sqlite_open();
    +#endif /* TEST_SQLITE */
    +  test_gcompris_locking();
    +  return 0;
    +}
    +
    + +

    When everything is working, it should print something like +this:

    + +
    +Testing POSIX/Unix sematics on file system
    +info: testing symlink creation
    +info: testing subdirectory creation
    +info: sqlite worked
    +info: testing fcntl locking
    +  Read-locking 1 byte from 1073741824
    +  Read-locking 510 byte from 1073741826
    +  Unlocking 1 byte from 1073741824
    +  Write-locking 1 byte from 1073741824
    +  Write-locking 510 byte from 1073741826
    +  Unlocking 2 byte from 1073741824
    +
    + +

    I do not remember the exact details of the problems we saw, but one +of them was with locking, where if I remember correctly, POSIX allow a +read-only lock to be upgraded to a read-write lock without unlocking +the read-only lock (while Windows do not). Another was a bug in the +CIFS/SMB client implementation in the Linux kernel where directory +meta information would be wrong for a fraction of a second, making +OpenOffice.org fail to create its deep directory tree because it was +not allowed to create files in its freshly created directory.

    + +

    Anyway, here is a nice tool for your tool box, might you never need +it. :)

    + +
    +
    + + + Tags: debian edu, english, nuug.
    @@ -2969,7 +3210,7 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -3028,9 +3269,9 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -3048,7 +3289,7 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/debian/index.html b/blog/tags/debian/index.html index cd42ed6bc2..d01709bc72 100644 --- a/blog/tags/debian/index.html +++ b/blog/tags/debian/index.html @@ -2416,7 +2416,7 @@ it.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -2475,9 +2475,9 @@ it.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -2495,7 +2495,7 @@ it.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/english/english.rss b/blog/tags/english/english.rss index b29f324152..6d127930df 100644 --- a/blog/tags/english/english.rss +++ b/blog/tags/english/english.rss @@ -3147,5 +3147,233 @@ Edu, please contact us on debian-edu@lists.debian.org.</p> + + Testing if a file system can be used for home directories... + http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html + http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html + Sun, 8 Aug 2010 21:20:00 +0200 + +<p>A few years ago, I was involved in a project planning to use +Windows file servers as home directory servers for Debian +Edu/Skolelinux machines. This was thought to be no problem, as the +access would be through the SMB network file system protocol, and we +knew other sites used SMB with unix and samba as the file server to +mount home directories without any problems. But, after months of +struggling, we had to conclude that our goal was impossible.</p> + +<p>The reason is simply that while SMB can be used for home +directories when the file server is Samba running on Unix, this only +work because of Samba have some extensions and the fact that the +underlying file system is a unix file system. When using a Windows +file server, the underlying file system do not have POSIX semantics, +and several programs will fail if the users home directory where they +want to store their configuration lack POSIX semantics.</p> + +<p>As part of this work, I wrote a small C program I want to share +with you all, to replicate a few of the problematic applications (like +OpenOffice.org and GCompris) and see if the file system was working as +it should. If you find yourself in spooky file system land, it might +help you find your way out again. This is the fs-test.c source:</p> + +<pre> +/* + * Some tests to check the file system sematics. Used to verify that + * CIFS from a windows server do not work properly as a linux home + * directory. + * License: GPL v2 or later + * + * needs libsqlite3-dev and build-essential installed + * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test +*/ + +#define _FILE_OFFSET_BITS 64 +#define _LARGEFILE_SOURCE 1 +#define _LARGEFILE64_SOURCE 1 + +#define _GNU_SOURCE /* for asprintf() */ + +#include <errno.h> +#include <fcntl.h> +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <sys/file.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> + +#ifdef TEST_SQLITE +/* + * Test sqlite open, as done by gcompris require the libsqlite3-dev + * package and linking with -lsqlite3. A more low level test is + * below. + * See also <URL: http://www.sqlite.org./faq.html#q5 >. + */ +#include <sqlite3.h> +#define CREATE_TABLE_USERS \ + "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); " +int test_sqlite_open(void) { + char *zErrMsg; + char *name = "testsqlite.db"; + sqlite3 *db=NULL; + unlink(name); + int rc = sqlite3_open(name, &db); + if( rc ){ + printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db)); + sqlite3_close(db); + return -1; + } + + /* create tables */ + rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &zErrMsg); + if( rc != SQLITE_OK ){ + printf("error: sqlite table create failed: %s\n", zErrMsg); + sqlite3_close(db); + return -1; + } + printf("info: sqlite worked\n"); + sqlite3_close(db); + return 0; +} +#endif /* TEST_SQLITE */ + +/* + * Demonstrate locking issue found in gcompris using sqlite3. This + * work with ext3, but not with cifs server on Windows 2003. This is + * done in the sqlite3 library. + * See also + * <URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html> and the + * POSIX specification + * <URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html>. + */ +int test_gcompris_locking(void) { + struct flock fl; + char *name = "testsqlite.db"; + unlink(name); + int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644); + printf("info: testing fcntl locking\n"); + + fl.l_whence = SEEK_SET; + fl.l_pid = getpid(); + printf(" Read-locking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_RDLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Read-locking 510 byte from 1073741826"); + fl.l_start = 1073741826; + fl.l_len = 510; + fl.l_type = F_RDLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Unlocking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_UNLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Write-locking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_WRLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Write-locking 510 byte from 1073741826"); + fl.l_start = 1073741826; + fl.l_len = 510; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Unlocking 2 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 2; + fl.l_type = F_UNLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + close(fd); + return 0; +} + +/* + * Test if permissions of freshly created directories allow entries + * below them. This was a problem with OpenOffice.org and gcompris. + * Mounting with option 'sync' seem to solve this problem while + * slowing down file operations. + */ +int test_subdirectory_creation(void) { +#define LEVELS 5 + char *path = strdup("test"); + char *dirs[LEVELS]; + int level; + printf("info: testing subdirectory creation\n"); + for (level = 0; level < LEVELS; level++) { + char *newpath = NULL; + if (-1 == mkdir(path, 0777)) { + printf(" error: Unable to create directory '%s': %s\n", + path, strerror(errno)); + break; + } + asprintf(&newpath, "%s/%s", path, "test"); + free(path); + path = newpath; + } + return 0; +} + +/* + * Test if symlinks can be created. This was a problem detected with + * KDE. + */ +int test_symlinks(void) { + printf("info: testing symlink creation\n"); + unlink("symlink"); + if (-1 == symlink("file", "symlink")) + printf(" error: Unable to create symlink\n"); + return 0; +} + +int main(int argc, char **argv) { + printf("Testing POSIX/Unix sematics on file system\n"); + test_symlinks(); + test_subdirectory_creation(); +#ifdef TEST_SQLITE + test_sqlite_open(); +#endif /* TEST_SQLITE */ + test_gcompris_locking(); + return 0; +} +</pre> + +<p>When everything is working, it should print something like +this:</p> + +<pre> +Testing POSIX/Unix sematics on file system +info: testing symlink creation +info: testing subdirectory creation +info: sqlite worked +info: testing fcntl locking + Read-locking 1 byte from 1073741824 + Read-locking 510 byte from 1073741826 + Unlocking 1 byte from 1073741824 + Write-locking 1 byte from 1073741824 + Write-locking 510 byte from 1073741826 + Unlocking 2 byte from 1073741824 +</pre> + +<p>I do not remember the exact details of the problems we saw, but one +of them was with locking, where if I remember correctly, POSIX allow a +read-only lock to be upgraded to a read-write lock without unlocking +the read-only lock (while Windows do not). Another was a bug in the +CIFS/SMB client implementation in the Linux kernel where directory +meta information would be wrong for a fraction of a second, making +OpenOffice.org fail to create its deep directory tree because it was +not allowed to create files in its freshly created directory.</p> + +<p>Anyway, here is a nice tool for your tool box, might you never need +it. :)</p> + + + diff --git a/blog/tags/english/index.html b/blog/tags/english/index.html index 788fb2f68c..562f3c3bef 100644 --- a/blog/tags/english/index.html +++ b/blog/tags/english/index.html @@ -3845,6 +3845,247 @@ Edu, please contact us on debian-edu@lists.debian.org.

    + Tags: debian edu, english, nuug. + +
    + +
    + +
    + +
    + 2010-08-08 21:20 +
    + +
    + +

    A few years ago, I was involved in a project planning to use +Windows file servers as home directory servers for Debian +Edu/Skolelinux machines. This was thought to be no problem, as the +access would be through the SMB network file system protocol, and we +knew other sites used SMB with unix and samba as the file server to +mount home directories without any problems. But, after months of +struggling, we had to conclude that our goal was impossible.

    + +

    The reason is simply that while SMB can be used for home +directories when the file server is Samba running on Unix, this only +work because of Samba have some extensions and the fact that the +underlying file system is a unix file system. When using a Windows +file server, the underlying file system do not have POSIX semantics, +and several programs will fail if the users home directory where they +want to store their configuration lack POSIX semantics.

    + +

    As part of this work, I wrote a small C program I want to share +with you all, to replicate a few of the problematic applications (like +OpenOffice.org and GCompris) and see if the file system was working as +it should. If you find yourself in spooky file system land, it might +help you find your way out again. This is the fs-test.c source:

    + +
    +/*
    + * Some tests to check the file system sematics.  Used to verify that
    + * CIFS from a windows server do not work properly as a linux home
    + * directory.
    + * License: GPL v2 or later
    + * 
    + * needs libsqlite3-dev and build-essential installed
    + * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
    +*/
    +
    +#define _FILE_OFFSET_BITS 64
    +#define _LARGEFILE_SOURCE 1
    +#define _LARGEFILE64_SOURCE 1
    +
    +#define _GNU_SOURCE /* for asprintf() */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#ifdef TEST_SQLITE
    +/*
    + * Test sqlite open, as done by gcompris require the libsqlite3-dev
    + * package and linking with -lsqlite3.  A more low level test is
    + * below.
    + * See also .
    + */
    +#include 
    +#define CREATE_TABLE_USERS                                              \
    +  "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); "
    +int test_sqlite_open(void) {
    +  char *zErrMsg;
    +  char *name = "testsqlite.db";
    +  sqlite3 *db=NULL;
    +  unlink(name);
    +  int rc = sqlite3_open(name, &db);
    +  if( rc ){
    +    printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db));
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +
    +  /* create tables */
    +  rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL,  0, &zErrMsg);
    +  if( rc != SQLITE_OK ){
    +    printf("error: sqlite table create failed: %s\n", zErrMsg);
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +  printf("info: sqlite worked\n");
    +  sqlite3_close(db);
    +  return 0;
    +}
    +#endif /* TEST_SQLITE */
    +
    +/*
    + * Demonstrate locking issue found in gcompris using sqlite3.  This
    + * work with ext3, but not with cifs server on Windows 2003.  This is
    + * done in the sqlite3 library.
    + * See also
    + *  and the
    + * POSIX specification
    + * .
    + */
    +int test_gcompris_locking(void) {
    +  struct flock fl;
    +  char *name = "testsqlite.db";
    +  unlink(name);
    +  int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
    +  printf("info: testing fcntl locking\n");
    +
    +  fl.l_whence = SEEK_SET;
    +  fl.l_pid    = getpid();
    +  printf("  Read-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Read-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_WRLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 2 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 2;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  close(fd);
    +  return 0;
    +}
    +
    +/*
    + * Test if permissions of freshly created directories allow entries
    + * below them.  This was a problem with OpenOffice.org and gcompris.
    + * Mounting with option 'sync' seem to solve this problem while
    + * slowing down file operations.
    + */
    +int test_subdirectory_creation(void) {
    +#define LEVELS 5
    +  char *path = strdup("test");
    +  char *dirs[LEVELS];
    +  int level;
    +  printf("info: testing subdirectory creation\n");
    +  for (level = 0; level < LEVELS; level++) {
    +    char *newpath = NULL;
    +    if (-1 == mkdir(path, 0777)) {
    +      printf("  error: Unable to create directory '%s': %s\n",
    +	     path, strerror(errno));
    +      break;
    +    }
    +    asprintf(&newpath, "%s/%s", path, "test");
    +    free(path);
    +    path = newpath;
    +  }
    +  return 0;
    +}
    +
    +/*
    + * Test if symlinks can be created.  This was a problem detected with
    + * KDE.
    + */
    +int test_symlinks(void) {
    +  printf("info: testing symlink creation\n");
    +  unlink("symlink");
    +  if (-1 == symlink("file", "symlink"))
    +    printf("  error: Unable to create symlink\n");
    +  return 0;
    +}
    +
    +int main(int argc, char **argv) {
    +  printf("Testing POSIX/Unix sematics on file system\n");
    +  test_symlinks();
    +  test_subdirectory_creation();
    +#ifdef TEST_SQLITE
    +  test_sqlite_open();
    +#endif /* TEST_SQLITE */
    +  test_gcompris_locking();
    +  return 0;
    +}
    +
    + +

    When everything is working, it should print something like +this:

    + +
    +Testing POSIX/Unix sematics on file system
    +info: testing symlink creation
    +info: testing subdirectory creation
    +info: sqlite worked
    +info: testing fcntl locking
    +  Read-locking 1 byte from 1073741824
    +  Read-locking 510 byte from 1073741826
    +  Unlocking 1 byte from 1073741824
    +  Write-locking 1 byte from 1073741824
    +  Write-locking 510 byte from 1073741826
    +  Unlocking 2 byte from 1073741824
    +
    + +

    I do not remember the exact details of the problems we saw, but one +of them was with locking, where if I remember correctly, POSIX allow a +read-only lock to be upgraded to a read-write lock without unlocking +the read-only lock (while Windows do not). Another was a bug in the +CIFS/SMB client implementation in the Linux kernel where directory +meta information would be wrong for a fraction of a second, making +OpenOffice.org fail to create its deep directory tree because it was +not allowed to create files in its freshly created directory.

    + +

    Anyway, here is a nice tool for your tool box, might you never need +it. :)

    + +
    +
    + + + Tags: debian edu, english, nuug.
    @@ -3878,7 +4119,7 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -3937,9 +4178,9 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -3957,7 +4198,7 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/fiksgatami/index.html b/blog/tags/fiksgatami/index.html index a9bf87537f..0d819db2bf 100644 --- a/blog/tags/fiksgatami/index.html +++ b/blog/tags/fiksgatami/index.html @@ -88,7 +88,7 @@ med dem. Dette blir bra.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -147,9 +147,9 @@ med dem. Dette blir bra.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -167,7 +167,7 @@ med dem. Dette blir bra.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/fildeling/index.html b/blog/tags/fildeling/index.html index 9a5584a090..b3fcc44b50 100644 --- a/blog/tags/fildeling/index.html +++ b/blog/tags/fildeling/index.html @@ -397,7 +397,7 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -456,9 +456,9 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -476,7 +476,7 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/kart/index.html b/blog/tags/kart/index.html index 67116d032e..43d6e37ef5 100644 --- a/blog/tags/kart/index.html +++ b/blog/tags/kart/index.html @@ -214,7 +214,7 @@ www.openstreetmap.org front page.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -273,9 +273,9 @@ www.openstreetmap.org front page.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -293,7 +293,7 @@ www.openstreetmap.org front page.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/ldap/index.html b/blog/tags/ldap/index.html index 052883a6b1..a7a7bc6bc1 100644 --- a/blog/tags/ldap/index.html +++ b/blog/tags/ldap/index.html @@ -982,7 +982,7 @@ auxiliary object class.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -1041,9 +1041,9 @@ auxiliary object class.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -1061,7 +1061,7 @@ auxiliary object class.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/lenker/index.html b/blog/tags/lenker/index.html index 0eebdb98c9..9ec6fe7d93 100644 --- a/blog/tags/lenker/index.html +++ b/blog/tags/lenker/index.html @@ -88,7 +88,7 @@ Word 2007 hÃ¥ndterer ODF dÃ¥rlig
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -147,9 +147,9 @@ Word 2007 hÃ¥ndterer ODF dÃ¥rlig
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -167,7 +167,7 @@ Word 2007 hÃ¥ndterer ODF dÃ¥rlig
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/ltsp/index.html b/blog/tags/ltsp/index.html index 9794b020cb..41484af51f 100644 --- a/blog/tags/ltsp/index.html +++ b/blog/tags/ltsp/index.html @@ -84,7 +84,7 @@ of these cards.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -143,9 +143,9 @@ of these cards.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -163,7 +163,7 @@ of these cards.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/multimedia/index.html b/blog/tags/multimedia/index.html index 67284adc74..230c9411b5 100644 --- a/blog/tags/multimedia/index.html +++ b/blog/tags/multimedia/index.html @@ -308,7 +308,7 @@ politidirektoratet om patentproblemer i Theora).

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -367,9 +367,9 @@ politidirektoratet om patentproblemer i Theora).

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -387,7 +387,7 @@ politidirektoratet om patentproblemer i Theora).

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/norsk/index.html b/blog/tags/norsk/index.html index 8e4103ee25..056a8de157 100644 --- a/blog/tags/norsk/index.html +++ b/blog/tags/norsk/index.html @@ -3617,7 +3617,7 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -3676,9 +3676,9 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -3696,7 +3696,7 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/nuug/index.html b/blog/tags/nuug/index.html index 4d2731777e..2ef7d7678b 100644 --- a/blog/tags/nuug/index.html +++ b/blog/tags/nuug/index.html @@ -5468,6 +5468,247 @@ Edu, please contact us on debian-edu@lists.debian.org.

    + Tags: debian edu, english, nuug. + +
    + +
    + +
    + +
    + 2010-08-08 21:20 +
    + +
    + +

    A few years ago, I was involved in a project planning to use +Windows file servers as home directory servers for Debian +Edu/Skolelinux machines. This was thought to be no problem, as the +access would be through the SMB network file system protocol, and we +knew other sites used SMB with unix and samba as the file server to +mount home directories without any problems. But, after months of +struggling, we had to conclude that our goal was impossible.

    + +

    The reason is simply that while SMB can be used for home +directories when the file server is Samba running on Unix, this only +work because of Samba have some extensions and the fact that the +underlying file system is a unix file system. When using a Windows +file server, the underlying file system do not have POSIX semantics, +and several programs will fail if the users home directory where they +want to store their configuration lack POSIX semantics.

    + +

    As part of this work, I wrote a small C program I want to share +with you all, to replicate a few of the problematic applications (like +OpenOffice.org and GCompris) and see if the file system was working as +it should. If you find yourself in spooky file system land, it might +help you find your way out again. This is the fs-test.c source:

    + +
    +/*
    + * Some tests to check the file system sematics.  Used to verify that
    + * CIFS from a windows server do not work properly as a linux home
    + * directory.
    + * License: GPL v2 or later
    + * 
    + * needs libsqlite3-dev and build-essential installed
    + * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
    +*/
    +
    +#define _FILE_OFFSET_BITS 64
    +#define _LARGEFILE_SOURCE 1
    +#define _LARGEFILE64_SOURCE 1
    +
    +#define _GNU_SOURCE /* for asprintf() */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#ifdef TEST_SQLITE
    +/*
    + * Test sqlite open, as done by gcompris require the libsqlite3-dev
    + * package and linking with -lsqlite3.  A more low level test is
    + * below.
    + * See also .
    + */
    +#include 
    +#define CREATE_TABLE_USERS                                              \
    +  "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); "
    +int test_sqlite_open(void) {
    +  char *zErrMsg;
    +  char *name = "testsqlite.db";
    +  sqlite3 *db=NULL;
    +  unlink(name);
    +  int rc = sqlite3_open(name, &db);
    +  if( rc ){
    +    printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db));
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +
    +  /* create tables */
    +  rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL,  0, &zErrMsg);
    +  if( rc != SQLITE_OK ){
    +    printf("error: sqlite table create failed: %s\n", zErrMsg);
    +    sqlite3_close(db);
    +    return -1;
    +  }
    +  printf("info: sqlite worked\n");
    +  sqlite3_close(db);
    +  return 0;
    +}
    +#endif /* TEST_SQLITE */
    +
    +/*
    + * Demonstrate locking issue found in gcompris using sqlite3.  This
    + * work with ext3, but not with cifs server on Windows 2003.  This is
    + * done in the sqlite3 library.
    + * See also
    + *  and the
    + * POSIX specification
    + * .
    + */
    +int test_gcompris_locking(void) {
    +  struct flock fl;
    +  char *name = "testsqlite.db";
    +  unlink(name);
    +  int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
    +  printf("info: testing fcntl locking\n");
    +
    +  fl.l_whence = SEEK_SET;
    +  fl.l_pid    = getpid();
    +  printf("  Read-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Read-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  fl.l_type   = F_RDLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 1 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 1;
    +  fl.l_type   = F_WRLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Write-locking 510 byte from 1073741826");
    +  fl.l_start  = 1073741826;
    +  fl.l_len    = 510;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  printf("  Unlocking 2 byte from 1073741824");
    +  fl.l_start  = 1073741824;
    +  fl.l_len    = 2;
    +  fl.l_type   = F_UNLCK;
    +  if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
    +
    +  close(fd);
    +  return 0;
    +}
    +
    +/*
    + * Test if permissions of freshly created directories allow entries
    + * below them.  This was a problem with OpenOffice.org and gcompris.
    + * Mounting with option 'sync' seem to solve this problem while
    + * slowing down file operations.
    + */
    +int test_subdirectory_creation(void) {
    +#define LEVELS 5
    +  char *path = strdup("test");
    +  char *dirs[LEVELS];
    +  int level;
    +  printf("info: testing subdirectory creation\n");
    +  for (level = 0; level < LEVELS; level++) {
    +    char *newpath = NULL;
    +    if (-1 == mkdir(path, 0777)) {
    +      printf("  error: Unable to create directory '%s': %s\n",
    +	     path, strerror(errno));
    +      break;
    +    }
    +    asprintf(&newpath, "%s/%s", path, "test");
    +    free(path);
    +    path = newpath;
    +  }
    +  return 0;
    +}
    +
    +/*
    + * Test if symlinks can be created.  This was a problem detected with
    + * KDE.
    + */
    +int test_symlinks(void) {
    +  printf("info: testing symlink creation\n");
    +  unlink("symlink");
    +  if (-1 == symlink("file", "symlink"))
    +    printf("  error: Unable to create symlink\n");
    +  return 0;
    +}
    +
    +int main(int argc, char **argv) {
    +  printf("Testing POSIX/Unix sematics on file system\n");
    +  test_symlinks();
    +  test_subdirectory_creation();
    +#ifdef TEST_SQLITE
    +  test_sqlite_open();
    +#endif /* TEST_SQLITE */
    +  test_gcompris_locking();
    +  return 0;
    +}
    +
    + +

    When everything is working, it should print something like +this:

    + +
    +Testing POSIX/Unix sematics on file system
    +info: testing symlink creation
    +info: testing subdirectory creation
    +info: sqlite worked
    +info: testing fcntl locking
    +  Read-locking 1 byte from 1073741824
    +  Read-locking 510 byte from 1073741826
    +  Unlocking 1 byte from 1073741824
    +  Write-locking 1 byte from 1073741824
    +  Write-locking 510 byte from 1073741826
    +  Unlocking 2 byte from 1073741824
    +
    + +

    I do not remember the exact details of the problems we saw, but one +of them was with locking, where if I remember correctly, POSIX allow a +read-only lock to be upgraded to a read-write lock without unlocking +the read-only lock (while Windows do not). Another was a bug in the +CIFS/SMB client implementation in the Linux kernel where directory +meta information would be wrong for a fraction of a second, making +OpenOffice.org fail to create its deep directory tree because it was +not allowed to create files in its freshly created directory.

    + +

    Anyway, here is a nice tool for your tool box, might you never need +it. :)

    + +
    +
    + + + Tags: debian edu, english, nuug.
    @@ -5501,7 +5742,7 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -5560,9 +5801,9 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -5580,7 +5821,7 @@ Edu, please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/nuug/nuug.rss b/blog/tags/nuug/nuug.rss index b2e4483363..f4c790ca3c 100644 --- a/blog/tags/nuug/nuug.rss +++ b/blog/tags/nuug/nuug.rss @@ -4289,5 +4289,233 @@ Edu, please contact us on debian-edu@lists.debian.org.</p> + + Testing if a file system can be used for home directories... + http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html + http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html + Sun, 8 Aug 2010 21:20:00 +0200 + +<p>A few years ago, I was involved in a project planning to use +Windows file servers as home directory servers for Debian +Edu/Skolelinux machines. This was thought to be no problem, as the +access would be through the SMB network file system protocol, and we +knew other sites used SMB with unix and samba as the file server to +mount home directories without any problems. But, after months of +struggling, we had to conclude that our goal was impossible.</p> + +<p>The reason is simply that while SMB can be used for home +directories when the file server is Samba running on Unix, this only +work because of Samba have some extensions and the fact that the +underlying file system is a unix file system. When using a Windows +file server, the underlying file system do not have POSIX semantics, +and several programs will fail if the users home directory where they +want to store their configuration lack POSIX semantics.</p> + +<p>As part of this work, I wrote a small C program I want to share +with you all, to replicate a few of the problematic applications (like +OpenOffice.org and GCompris) and see if the file system was working as +it should. If you find yourself in spooky file system land, it might +help you find your way out again. This is the fs-test.c source:</p> + +<pre> +/* + * Some tests to check the file system sematics. Used to verify that + * CIFS from a windows server do not work properly as a linux home + * directory. + * License: GPL v2 or later + * + * needs libsqlite3-dev and build-essential installed + * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test +*/ + +#define _FILE_OFFSET_BITS 64 +#define _LARGEFILE_SOURCE 1 +#define _LARGEFILE64_SOURCE 1 + +#define _GNU_SOURCE /* for asprintf() */ + +#include <errno.h> +#include <fcntl.h> +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <sys/file.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> + +#ifdef TEST_SQLITE +/* + * Test sqlite open, as done by gcompris require the libsqlite3-dev + * package and linking with -lsqlite3. A more low level test is + * below. + * See also <URL: http://www.sqlite.org./faq.html#q5 >. + */ +#include <sqlite3.h> +#define CREATE_TABLE_USERS \ + "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); " +int test_sqlite_open(void) { + char *zErrMsg; + char *name = "testsqlite.db"; + sqlite3 *db=NULL; + unlink(name); + int rc = sqlite3_open(name, &db); + if( rc ){ + printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db)); + sqlite3_close(db); + return -1; + } + + /* create tables */ + rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &zErrMsg); + if( rc != SQLITE_OK ){ + printf("error: sqlite table create failed: %s\n", zErrMsg); + sqlite3_close(db); + return -1; + } + printf("info: sqlite worked\n"); + sqlite3_close(db); + return 0; +} +#endif /* TEST_SQLITE */ + +/* + * Demonstrate locking issue found in gcompris using sqlite3. This + * work with ext3, but not with cifs server on Windows 2003. This is + * done in the sqlite3 library. + * See also + * <URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html> and the + * POSIX specification + * <URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html>. + */ +int test_gcompris_locking(void) { + struct flock fl; + char *name = "testsqlite.db"; + unlink(name); + int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644); + printf("info: testing fcntl locking\n"); + + fl.l_whence = SEEK_SET; + fl.l_pid = getpid(); + printf(" Read-locking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_RDLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Read-locking 510 byte from 1073741826"); + fl.l_start = 1073741826; + fl.l_len = 510; + fl.l_type = F_RDLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Unlocking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_UNLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Write-locking 1 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 1; + fl.l_type = F_WRLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Write-locking 510 byte from 1073741826"); + fl.l_start = 1073741826; + fl.l_len = 510; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + printf(" Unlocking 2 byte from 1073741824"); + fl.l_start = 1073741824; + fl.l_len = 2; + fl.l_type = F_UNLCK; + if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n"); + + close(fd); + return 0; +} + +/* + * Test if permissions of freshly created directories allow entries + * below them. This was a problem with OpenOffice.org and gcompris. + * Mounting with option 'sync' seem to solve this problem while + * slowing down file operations. + */ +int test_subdirectory_creation(void) { +#define LEVELS 5 + char *path = strdup("test"); + char *dirs[LEVELS]; + int level; + printf("info: testing subdirectory creation\n"); + for (level = 0; level < LEVELS; level++) { + char *newpath = NULL; + if (-1 == mkdir(path, 0777)) { + printf(" error: Unable to create directory '%s': %s\n", + path, strerror(errno)); + break; + } + asprintf(&newpath, "%s/%s", path, "test"); + free(path); + path = newpath; + } + return 0; +} + +/* + * Test if symlinks can be created. This was a problem detected with + * KDE. + */ +int test_symlinks(void) { + printf("info: testing symlink creation\n"); + unlink("symlink"); + if (-1 == symlink("file", "symlink")) + printf(" error: Unable to create symlink\n"); + return 0; +} + +int main(int argc, char **argv) { + printf("Testing POSIX/Unix sematics on file system\n"); + test_symlinks(); + test_subdirectory_creation(); +#ifdef TEST_SQLITE + test_sqlite_open(); +#endif /* TEST_SQLITE */ + test_gcompris_locking(); + return 0; +} +</pre> + +<p>When everything is working, it should print something like +this:</p> + +<pre> +Testing POSIX/Unix sematics on file system +info: testing symlink creation +info: testing subdirectory creation +info: sqlite worked +info: testing fcntl locking + Read-locking 1 byte from 1073741824 + Read-locking 510 byte from 1073741826 + Unlocking 1 byte from 1073741824 + Write-locking 1 byte from 1073741824 + Write-locking 510 byte from 1073741826 + Unlocking 2 byte from 1073741824 +</pre> + +<p>I do not remember the exact details of the problems we saw, but one +of them was with locking, where if I remember correctly, POSIX allow a +read-only lock to be upgraded to a read-write lock without unlocking +the read-only lock (while Windows do not). Another was a bug in the +CIFS/SMB client implementation in the Linux kernel where directory +meta information would be wrong for a fraction of a second, making +OpenOffice.org fail to create its deep directory tree because it was +not allowed to create files in its freshly created directory.</p> + +<p>Anyway, here is a nice tool for your tool box, might you never need +it. :)</p> + + + diff --git a/blog/tags/opphavsrett/index.html b/blog/tags/opphavsrett/index.html index 2dc21da3ba..eda6e0330e 100644 --- a/blog/tags/opphavsrett/index.html +++ b/blog/tags/opphavsrett/index.html @@ -777,7 +777,7 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -836,9 +836,9 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -856,7 +856,7 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/personvern/index.html b/blog/tags/personvern/index.html index d6712df736..67ec902a39 100644 --- a/blog/tags/personvern/index.html +++ b/blog/tags/personvern/index.html @@ -718,7 +718,7 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -777,9 +777,9 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -797,7 +797,7 @@ Kommer neppe til Ã¥ ta i bruk Blueray, og ei heller de nye DRM-greiene
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/reprap/index.html b/blog/tags/reprap/index.html index 3be9cea7e6..c535a07cfc 100644 --- a/blog/tags/reprap/index.html +++ b/blog/tags/reprap/index.html @@ -525,7 +525,7 @@ kommer til Ã¥ bruke denne plasttypen som hÃ¥ndterer temperaturer mellom
  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -584,9 +584,9 @@ kommer til Ã¥ bruke denne plasttypen som hÃ¥ndterer temperaturer mellom
  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -604,7 +604,7 @@ kommer til Ã¥ bruke denne plasttypen som hÃ¥ndterer temperaturer mellom
  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/rss/index.html b/blog/tags/rss/index.html index 1035eb714e..e9fbe07ae0 100644 --- a/blog/tags/rss/index.html +++ b/blog/tags/rss/index.html @@ -73,7 +73,7 @@ forsøk.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -132,9 +132,9 @@ forsøk.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -152,7 +152,7 @@ forsøk.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/sikkerhet/index.html b/blog/tags/sikkerhet/index.html index af89a53051..d94e49f7a1 100644 --- a/blog/tags/sikkerhet/index.html +++ b/blog/tags/sikkerhet/index.html @@ -664,7 +664,7 @@ please contact us on debian-edu@lists.debian.org.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -723,9 +723,9 @@ please contact us on debian-edu@lists.debian.org.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -743,7 +743,7 @@ please contact us on debian-edu@lists.debian.org.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/sitesummary/index.html b/blog/tags/sitesummary/index.html index 3e01a3ec83..752c5e322d 100644 --- a/blog/tags/sitesummary/index.html +++ b/blog/tags/sitesummary/index.html @@ -216,7 +216,7 @@ collector.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -275,9 +275,9 @@ collector.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -295,7 +295,7 @@ collector.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/standard/index.html b/blog/tags/standard/index.html index bc8c8ee857..1ba20e5134 100644 --- a/blog/tags/standard/index.html +++ b/blog/tags/standard/index.html @@ -709,7 +709,7 @@ Windows. This is great.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -768,9 +768,9 @@ Windows. This is great.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -788,7 +788,7 @@ Windows. This is great.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/stavekontroll/index.html b/blog/tags/stavekontroll/index.html index 571e587e1f..1e71721b94 100644 --- a/blog/tags/stavekontroll/index.html +++ b/blog/tags/stavekontroll/index.html @@ -93,7 +93,7 @@ stavekontrollen.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -152,9 +152,9 @@ stavekontrollen.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -172,7 +172,7 @@ stavekontrollen.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/video/index.html b/blog/tags/video/index.html index f4f5e1ed4f..dbce2eaa42 100644 --- a/blog/tags/video/index.html +++ b/blog/tags/video/index.html @@ -536,7 +536,7 @@ meg, Tollef og alle andre de som deltok pÃ¥ møtet pÃ¥ TV.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -595,9 +595,9 @@ meg, Tollef og alle andre de som deltok pÃ¥ møtet pÃ¥ TV.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -615,7 +615,7 @@ meg, Tollef og alle andre de som deltok pÃ¥ møtet pÃ¥ TV.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/vitenskap/index.html b/blog/tags/vitenskap/index.html index ffab792a6b..f5722d9aa6 100644 --- a/blog/tags/vitenskap/index.html +++ b/blog/tags/vitenskap/index.html @@ -138,7 +138,7 @@ skyskrapere. Takke meg til en tur til mÃ¥nen.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -197,9 +197,9 @@ skyskrapere. Takke meg til en tur til mÃ¥nen.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -217,7 +217,7 @@ skyskrapere. Takke meg til en tur til mÃ¥nen.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)
  • diff --git a/blog/tags/web/index.html b/blog/tags/web/index.html index 03bc2ed309..36a8aabd8d 100644 --- a/blog/tags/web/index.html +++ b/blog/tags/web/index.html @@ -381,7 +381,7 @@ www.openstreetmap.org front page.

  • July (12)
  • -
  • August (2)
  • +
  • August (3)
  • @@ -440,9 +440,9 @@ www.openstreetmap.org front page.

  • debian (35)
  • -
  • debian edu (38)
  • +
  • debian edu (39)
  • -
  • english (53)
  • +
  • english (54)
  • fiksgatami (1)
  • @@ -460,7 +460,7 @@ www.openstreetmap.org front page.

  • norsk (71)
  • -
  • nuug (90)
  • +
  • nuug (91)
  • opphavsrett (14)