]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.rss
Update drafts.
[homepage.git] / blog / index.rss
index c2237ed5264bdc77fe3c2f322095fda6e6d82cda..961899c3d63e00993d5b54f9a563818c568c3fed 100644 (file)
@@ -6,6 +6,82 @@
                 <link>http://people.skolelinux.org/pere/blog/</link>
                 <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
        
+       <item>
+               <title>Idea for storing LTSP configuration in LDAP</title>
+               <link>http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</guid>
+                <pubDate>Sun, 11 Jul 2010 22:00:00 +0200</pubDate>
+               <description>
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;The goal is to be able to store the LTSP configuration attributes
+in a &quot;computer&quot; LDAP object used by both DNS and DHCP, and thus
+allowing us to store all information about a computer in one place.&lt;/p&gt;
+
+&lt;p&gt;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?&lt;/p&gt;
+
+&lt;blockquote&gt;&lt;pre&gt;
+# 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 &#39;ltspClientAux&#39;
+#     SUP top
+#     AUXILIARY
+#     MAY ( ltspConfigServer $ ltsConfigSound $ ... )
+
+LDAPSERVER=$(debian-edu-ldapserver)
+if [ &quot;$LDAPSERVER&quot; ] ; then
+    LDAPBASE=$(debian-edu-ldapserver -b)
+    for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk &#39;{print $5}&#39;|sort -u) ; do
+       filter=&quot;(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))&quot;
+       ldapsearch -h &quot;$LDAPSERVER&quot; -b &quot;$LDAPBASE&quot; -v -x &quot;$filter&quot; | \
+           grep &#39;^ltspConfig&#39; | while read attr value ; do
+           # Remove prefix and convert to upper case
+           attr=$(echo $attr | sed &#39;s/^ltspConfig//i&#39; | tr a-z A-Z)
+           # bass value on to clients
+           eval &quot;$attr=$value; export $attr&quot;
+       done
+    done
+fi
+&lt;/pre&gt;&lt;/blockquote&gt;
+
+&lt;p&gt;I&#39;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. :)&lt;/p&gt;
+
+&lt;p&gt;If you want to help out with implementing this for Debian Edu,
+please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
+</description>
+       </item>
+       
        <item>
                <title>jXplorer, a very nice LDAP GUI</title>
                <link>http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html</link>
@@ -577,183 +653,6 @@ machine room now is the host for several virtual machines running as
 OfficeShots factories, and the project is able to render ODF documents
 in 17 different document processing implementation on Linux and
 Windows.  This is great.&lt;/p&gt;
-</description>
-       </item>
-       
-       <item>
-               <title>Lenny-&gt;Squeeze upgrades, removals by apt and aptitude</title>
-               <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</guid>
-                <pubDate>Sun, 13 Jun 2010 09:05:00 +0200</pubDate>
-               <description>
-&lt;p&gt;My
-&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html&quot;&gt;testing
-of Debian upgrades&lt;/a&gt; from Lenny to Squeeze continues, and I&#39;ve
-finally made the upgrade logs available from
-&lt;a href=&quot;http://people.skolelinux.org/pere/debian-upgrade-testing/&quot;&gt;http://people.skolelinux.org/pere/debian-upgrade-testing/&lt;/a&gt;.
-I am now testing dist-upgrade of Gnome and KDE in a chroot using both
-apt and aptitude, and found their differences interesting.  This time
-I will only focus on their removal plans.&lt;/p&gt;
-
-&lt;p&gt;After installing a Gnome desktop and the laptop task, apt-get wants
-to remove 72 packages when dist-upgrading from Lenny to Squeeze.  The
-surprising part is that it want to remove xorg and all
-xserver-xorg-video* drivers.  Clearly not a good choice, but I am not
-sure why.  When asking aptitude to do the same, it want to remove 129
-packages, but most of them are library packages I suspect are no
-longer needed.  Both of them want to remove bluetooth packages, which
-I do not know.  Perhaps these bluetooth packages are obsolete?&lt;/p&gt;
-
-&lt;p&gt;For KDE, apt-get want to remove 82 packages, among them kdebase
-which seem like a bad idea and xorg the same way as with Gnome. Asking
-aptitude for the same, it wants to remove 192 packages, none which are
-too surprising.&lt;/p&gt;
-
-&lt;p&gt;I guess the removal of xorg during upgrades should be investigated
-and avoided, and perhaps others as well.  Here are the complete list
-of planned removals.  The complete logs is available from the URL
-above.  Note if you want to repeat these tests, that the upgrade test
-for kde+apt-get hung in the tasksel setup because of dpkg asking
-conffile questions.  No idea why.  I worked around it by using
-&#39;&lt;tt&gt;echo &gt;&gt; /proc/&lt;em&gt;pidofdpkg&lt;/em&gt;/fd/0&lt;/tt&gt;&#39; to tell dpkg to
-continue.&lt;/p&gt;
-
-&lt;p&gt;&lt;b&gt;apt-get gnome 72&lt;/b&gt;
-&lt;br&gt;bluez-gnome cupsddk-drivers deskbar-applet gnome
-  gnome-desktop-environment gnome-network-admin gtkhtml3.14
-  iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0
-  libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
-  nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
-  serpentine swfdec-mozilla update-manager xorg xserver-xorg
-  xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
-  xserver-xorg-input-kbd xserver-xorg-input-mouse
-  xserver-xorg-input-synaptics xserver-xorg-input-wacom
-  xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
-  xserver-xorg-video-ati xserver-xorg-video-chips
-  xserver-xorg-video-cirrus xserver-xorg-video-cyrix
-  xserver-xorg-video-dummy xserver-xorg-video-fbdev
-  xserver-xorg-video-glint xserver-xorg-video-i128
-  xserver-xorg-video-i740 xserver-xorg-video-imstt
-  xserver-xorg-video-intel xserver-xorg-video-mach64
-  xserver-xorg-video-mga xserver-xorg-video-neomagic
-  xserver-xorg-video-nsc xserver-xorg-video-nv
-  xserver-xorg-video-openchrome xserver-xorg-video-r128
-  xserver-xorg-video-radeon xserver-xorg-video-radeonhd
-  xserver-xorg-video-rendition xserver-xorg-video-s3
-  xserver-xorg-video-s3virge xserver-xorg-video-savage
-  xserver-xorg-video-siliconmotion xserver-xorg-video-sis
-  xserver-xorg-video-sisusb xserver-xorg-video-tdfx
-  xserver-xorg-video-tga xserver-xorg-video-trident
-  xserver-xorg-video-tseng xserver-xorg-video-v4l
-  xserver-xorg-video-vesa xserver-xorg-video-vga
-  xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9
-  xulrunner-1.9-gnome-support&lt;/p&gt;
-
-&lt;p&gt;&lt;b&gt;aptitude gnome 129&lt;/b&gt;
-
-&lt;br&gt;bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd
-  djvulibre-desktop finger gnome-app-install gnome-mount
-  gnome-network-admin gnome-spell gnome-vfs-obexftp
-  gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
-  libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
-  libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
-  libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20
-  libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common
-  libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common
-  libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0
-  libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0
-  libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
-  libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0
-  libgtksourceview-common libgtksourceview1.0-0 libgucharmap6
-  libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10
-  libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
-  libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2
-  libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10
-  libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8
-  libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1
-  libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10
-  libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
-  libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
-  libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
-  openoffice.org-writer2latex openssl-blacklist p7zip
-  python-4suite-xml python-eggtrayicon python-gnome2-desktop
-  python-gnome2-extras python-gtkhtml2 python-gtkmozembed
-  python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
-  swfdec-mozilla totem-gstreamer update-manager wodim
-  xserver-xorg-video-cyrix xserver-xorg-video-imstt
-  xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
-  zip&lt;/p&gt;
-
-&lt;p&gt;&lt;b&gt;apt-get kde 82&lt;/b&gt;
-
-&lt;br&gt;cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
-  kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
-  kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
-  kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
-  kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
-  libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
-  xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
-  xserver-xorg-input-kbd xserver-xorg-input-mouse
-  xserver-xorg-input-synaptics xserver-xorg-input-wacom
-  xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
-  xserver-xorg-video-ati xserver-xorg-video-chips
-  xserver-xorg-video-cirrus xserver-xorg-video-cyrix
-  xserver-xorg-video-dummy xserver-xorg-video-fbdev
-  xserver-xorg-video-glint xserver-xorg-video-i128
-  xserver-xorg-video-i740 xserver-xorg-video-imstt
-  xserver-xorg-video-intel xserver-xorg-video-mach64
-  xserver-xorg-video-mga xserver-xorg-video-neomagic
-  xserver-xorg-video-nsc xserver-xorg-video-nv
-  xserver-xorg-video-openchrome xserver-xorg-video-r128
-  xserver-xorg-video-radeon xserver-xorg-video-radeonhd
-  xserver-xorg-video-rendition xserver-xorg-video-s3
-  xserver-xorg-video-s3virge xserver-xorg-video-savage
-  xserver-xorg-video-siliconmotion xserver-xorg-video-sis
-  xserver-xorg-video-sisusb xserver-xorg-video-tdfx
-  xserver-xorg-video-tga xserver-xorg-video-trident
-  xserver-xorg-video-tseng xserver-xorg-video-v4l
-  xserver-xorg-video-vesa xserver-xorg-video-vga
-  xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9&lt;/p&gt;
-
-&lt;p&gt;&lt;b&gt;aptitude kde 192&lt;/b&gt;
-&lt;br&gt;bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd
-  djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
-  ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
-  kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
-  kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
-  kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
-  kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
-  kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
-  kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
-  kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
-  kghostview khelpcenter khexedit kiconedit kitchensync klatin
-  klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
-  kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
-  krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
-  ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
-  kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
-  kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
-  libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
-  libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2
-  libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
-  libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
-  libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0
-  libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
-  libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
-  libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
-  libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
-  libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
-  libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2
-  libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools
-  libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
-  libxerces2-java-gcj libxtrap6 mpeglib networkstatus
-  openoffice.org-writer2latex pmount poster psutils quanta quanta-data
-  superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
-  texlive-common texlive-doc-base texlive-fonts-recommended
-  xserver-xorg-video-cyrix xserver-xorg-video-imstt
-  xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
-  xulrunner-1.9&lt;/p&gt;
-
 </description>
        </item>