+ <div class="entry">
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html">Saving power with Debian Edu / Skolelinux using shutdown-at-night</a></div>
+ <div class="date"> 5th February 2012</div>
+ <div class="body"><p>Since the Lenny version of
+<a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>, a
+feature to save power have been included. It is as simple as it is
+practical: Shut down unused clients at night, and turn them on again
+in the morning. This is done using the
+<a href="http://packages.qa.debian.org/s/shutdown-at-night.html">shutdown-at-night</a> Debian package.</p>
+
+<p>To enable this feature on a client, the machine need to be added to
+the netgroup shutdown-at-night-hosts. For Debian Edu, This is done in
+LDAP, and once this is in place, the machine in question will check
+every hour from 16:00 until 06:00 to see if the machine is unused, and
+shut it down if it is. If the hardware in question is supported by
+the
+<a href="http://packages.qa.debian.org/n/nvram-wakeup.html">nvram-wakeup</a>
+package, the BIOS is told to turn the machine back on around 07:00 +-
+10 minutes. If this isn't working, one can configure wake-on-lan to
+try to turn on the client. The wake-on-lan option is only documented
+and not enabled by default in Debian Edu.</p>
+
+<p>It is important to not turn all machines on at once, as this can
+blow a fuse if several computers are connected to the same fuse like
+the common setup for a classroom. The nvram-wakeup method only work
+for machines with a functioning hardware/BIOS clock. I've seen old
+machines where the BIOS battery were dead and the hardware clock were
+starting from 0 (or was it 1990?) every boot. If you have one of
+those, you have to turn on the computer manually.</p>
+
+<p>The shutdown-at-night package is completely self contained, and can
+also be used outside the Debian Edu environment. For those without a
+central LDAP server with netgroups, one can instead touch the file
+<tt>/etc/shutdown-at-night/shutdown-at-night</tt> to enable it.
+Perhaps you too can use it to save some power?</p>
+</div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html">Third beta version of Debian Edu / Skolelinux based on Squeeze</a></div>
+ <div class="date"> 4th February 2012</div>
+ <div class="body"><p>I am happy to announce that finally we managed today to wrap up and
+publish the third beta version of
+<a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
+on Squeeze. If you want to test a LDAP backed Kerberos server with
+out of the box PXE configuration for running diskless machines and
+installing new machines, check it out. If you need a software
+solution for your school, check it out too. The full announcement is
+<a href="http://lists.debian.org/debian-edu-announce/2012/02/msg00000.html">available</a>
+on the project announcement list.</p>
+
+<p>I am very happy to report these changes and improvements since
+beta2 (there are more, see announcement for full list):</p>
+
+<ul>
+
+<li>It is now possible to change the pre-configured IP subnet from
+ 10.0.0.0/8 to something else by using the subnet-change tool after
+ the installation.</li>
+
+<li>Too full partitions are now automatically extended on the Main
+ Server, based on the rules specified in /etc/fsautoresizetab.</li>
+
+<li>The CUPS queues are now automatically flushed every night, and all
+ disabled queues are restarted every hour. This should cut down on
+ the amount of manual administration needed for printers.</li>
+
+<li>The set of initial users have been changed. Now a personal user
+ for the local system administrator is created during installation
+ instead of the previously created localadmin and super-admin users,
+ and this user is granted administrative privileges using group
+ membership. This reduces the number of passwords one need to keep
+ up to date on the system.</li>
+
+</ul>
+
+<p>The new main server seem to work so well that I am testing it as my
+private DNS/LDAP/Kerberos/PXE/LTSP server at home. I will use it look
+for issues we could fix to polish Debian Edu even further before the
+final Squeeze release is published.</p>
+
+<p>Next weekend the project organise a
+<a href="http://lists.debian.org/debian-edu-announce/2012/01/msg00001.html">developer
+gathering</a> in Oslo. We will continue the work on the Squeeze
+version, and start initial planning for the Wheezy version. Perhaps I
+will see you there?</p>
+</div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Handling_non_free_firmware_in_Debian_Edu_Squeeze.html">Handling non-free firmware in Debian Edu/Squeeze</a></div>
+ <div class="date">27th January 2012</div>
+ <div class="body"><p>With some computer hardware, one need non-free firmware blobs.
+This is the sad fact of todays computers. In the next version of
+<a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
+on Squeeze, we provide several scripts and modifications to make
+firmware blobs easier to handle. The common use case I run into is a
+laptop with a wireless network card requiring non-free firmware to
+work, but there are other use cases as well.</p>
+
+<p>First and foremost, Debian Edu provide ISO images for DVD and CD
+with all firmware packages in the Debian sections main and non-free
+included, to ensure debian-installer find and can install all of them
+during installation. This take care firmware for network devices used
+by the installer when installing from from local media. But for
+example multimedia devices are not activated in the installer and are
+not taken care of by this.</p>
+
+<p>For non-network devices, we provide the script
+<tt>/usr/share/debian-edu-config/tools/auto-addfirmware</tt> which
+search through the <tt>dmesg</tt> output for drivers requesting extra
+firmware. The firmware file name is looked up in the Contents-ARCH.gz
+file available in the package repository, and the packages providing
+the requested firmware file(s) is installed. I have proposed to do
+something similar in debian-installer (BTS report
+<a href="http://bugs.debian.org/655507">#655507</a>), to allow PXE
+installs of Debian to handle firmware installation better. Run the
+script as root from the command line to fetch and install the needed
+firmware packages.</p>
+
+<p>Debian Edu provide PXE installation of Debian out of the box, and
+because some machines need firmware to get their network cards
+working, the installation initrd some times need extra firmware
+included to be able to install at all. To fill the PXE installation
+initrd with extra firmware, the
+<tt>/usr/share/debian-edu-config/tools/pxe-addfirmware</tt> script is
+provided. Again, just run it as root on the command line to fill the
+PXE initrd with firmware packages.</p>
+
+<p>Last, some LTSP clients might also need firmware to get their
+network cards working. For this,
+<tt>/usr/share/debian-edu-config/tools/ltsp-addfirmware</tt> is
+provided to update the LTSP initrd with firmware blobs. It is used
+the same way as the other firmware related tools.</p>
+
+<p>At the moment, we do not run any of these during installation. We
+do not know if this is acceptable for the local administrator to use
+non-free software, and it is their choice.</p>
+
+<p>We plan to release beta3 this weekend. You might want to give it a
+try.</p>
+</div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
<div class="entry">
<div class="title"><a href="http://people.skolelinux.org/pere/blog/Skjermbilder_fra_nordsamisk_installasjon_av_Skolelinux_Squeeze.html">Skjermbilder fra nordsamisk installasjon av Skolelinux/Squeeze</a></div>
<div class="date">26th January 2012</div>
as thin clients and wait 5 minutes after the last client booted to
allow the clients to report their existence to the central server. When
this is done, log on to the central server and run
-<tt>sitesummary2ldapdhcp</tt> in the <tt>konsole</tt> to use the
+<tt>sitesummary2ldapdhcp -a</tt> in the <tt>konsole</tt> to use the
collected information to generate system objects in LDAP. The output
will look similar to this:</p>
<p><blockquote><pre>
-% sitesummary2ldapdhcp
+% sitesummary2ldapdhcp -a
info: Updating machine tjener.intern [10.0.2.2] id ether-00:01:02:03:04:05.
info: Create GOsa machine for auto-mac-00-01-02-03-04-06 [10.0.16.20] id ether-00:01:02:03:04:06.
<p>We plan to release beta3 with the updated version of this feature
enabled this weekend. You might want to give it a try.</p>
+
+<p>Update 2012-01-28: When calling sitesummary2ldapdhcp to add new
+hosts, one need to add the option -a. I forgot to mention this in my
+original text, and have added it to the text now.</p>
</div>
<div class="tags">
</div>
<div class="padding"></div>
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html">Automatically upgrading server firmware on Dell PowerEdge</a></div>
- <div class="date">21st November 2011</div>
- <div class="body"><p>At work we have heaps of servers. I believe the total count is
-around 1000 at the moment. To be able to get help from the vendors
-when something go wrong, we want to keep the firmware on the servers
-up to date. If the firmware isn't the latest and greatest, the
-vendors typically refuse to start debugging any problems until the
-firmware is upgraded. So before every reboot, we want to upgrade the
-firmware, and we would really like everyone handling servers at the
-university to do this themselves when they plan to reboot a machine.
-For that to happen we at the unix server admin group need to provide
-the tools to do so.</p>
-
-<p>To make firmware upgrading easier, I am working on a script to
-fetch and install the latest firmware for the servers we got. Most of
-our hardware are from Dell and HP, so I have focused on these servers
-so far. This blog post is about the Dell part.</P>
-
-<p>On the Dell FTP site I was lucky enough to find
-<a href="ftp://ftp.us.dell.com/catalog/Catalog.xml.gz">an XML file</a>
-with firmware information for all 11th generation servers, listing
-which firmware should be used on a given model and where on the FTP
-site I can find it. Using a simple perl XML parser I can then
-download the shell scripts Dell provides to do firmware upgrades from
-within Linux and reboot when all the firmware is primed and ready to
-be activated on the first reboot.</p>
-
-<p>This is the Dell related fragment of the perl code I am working on.
-Are there anyone working on similar tools for firmware upgrading all
-servers at a site? Please get in touch and lets share resources.</p>
-
-<p><pre>
-#!/usr/bin/perl
-use strict;
-use warnings;
-use File::Temp qw(tempdir);
-BEGIN {
- # Install needed RHEL packages if missing
- my %rhelmodules = (
- 'XML::Simple' => 'perl-XML-Simple',
- );
- for my $module (keys %rhelmodules) {
- eval "use $module;";
- if ($@) {
- my $pkg = $rhelmodules{$module};
- system("yum install -y $pkg");
- eval "use $module;";
- }
- }
-}
-my $errorsto = 'pere@hungry.com';
-
-upgrade_dell();
-
-exit 0;
-
-sub run_firmware_script {
- my ($opts, $script) = @_;
- unless ($script) {
- print STDERR "fail: missing script name\n";
- exit 1
- }
- print STDERR "Running $script\n\n";
-
- if (0 == system("sh $script $opts")) { # FIXME correct exit code handling
- print STDERR "success: firmware script ran succcessfully\n";
- } else {
- print STDERR "fail: firmware script returned error\n";
- }
-}
-
-sub run_firmware_scripts {
- my ($opts, @dirs) = @_;
- # Run firmware packages
- for my $dir (@dirs) {
- print STDERR "info: Running scripts in $dir\n";
- opendir(my $dh, $dir) or die "Unable to open directory $dir: $!";
- while (my $s = readdir $dh) {
- next if $s =~ m/^\.\.?/;
- run_firmware_script($opts, "$dir/$s");
- }
- closedir $dh;
- }
-}
-
-sub download {
- my $url = shift;
- print STDERR "info: Downloading $url\n";
- system("wget --quiet \"$url\"");
-}
-
-sub upgrade_dell {
- my @dirs;
- my $product = `dmidecode -s system-product-name`;
- chomp $product;
-
- if ($product =~ m/PowerEdge/) {
-
- # on RHEL, these pacakges are needed by the firwmare upgrade scripts
- system('yum install -y compat-libstdc++-33.i686 libstdc++.i686 libxml2.i686 procmail');
-
- my $tmpdir = tempdir(
- CLEANUP => 1
- );
- chdir($tmpdir);
- fetch_dell_fw('catalog/Catalog.xml.gz');
- system('gunzip Catalog.xml.gz');
- my @paths = fetch_dell_fw_list('Catalog.xml');
- # -q is quiet, disabling interactivity and reducing console output
- my $fwopts = "-q";
- if (@paths) {
- for my $url (@paths) {
- fetch_dell_fw($url);
- }
- run_firmware_scripts($fwopts, $tmpdir);
- } else {
- print STDERR "error: Unsupported Dell model '$product'.\n";
- print STDERR "error: Please report to $errorsto.\n";
- }
- chdir('/');
- } else {
- print STDERR "error: Unsupported Dell model '$product'.\n";
- print STDERR "error: Please report to $errorsto.\n";
- }
-}
-
-sub fetch_dell_fw {
- my $path = shift;
- my $url = "ftp://ftp.us.dell.com/$path";
- download($url);
-}
-
-# Using ftp://ftp.us.dell.com/catalog/Catalog.xml.gz, figure out which
-# firmware packages to download from Dell. Only work for Linux
-# machines and 11th generation Dell servers.
-sub fetch_dell_fw_list {
- my $filename = shift;
-
- my $product = `dmidecode -s system-product-name`;
- chomp $product;
- my ($mybrand, $mymodel) = split(/\s+/, $product);
-
- print STDERR "Finding firmware bundles for $mybrand $mymodel\n";
-
- my $xml = XMLin($filename);
- my @paths;
- for my $bundle (@{$xml->{SoftwareBundle}}) {
- my $brand = $bundle->{TargetSystems}->{Brand}->{Display}->{content};
- my $model = $bundle->{TargetSystems}->{Brand}->{Model}->{Display}->{content};
- my $oscode;
- if ("ARRAY" eq ref $bundle->{TargetOSes}->{OperatingSystem}) {
- $oscode = $bundle->{TargetOSes}->{OperatingSystem}[0]->{osCode};
- } else {
- $oscode = $bundle->{TargetOSes}->{OperatingSystem}->{osCode};
- }
- if ($mybrand eq $brand && $mymodel eq $model && "LIN" eq $oscode)
- {
- @paths = map { $_->{path} } @{$bundle->{Contents}->{Package}};
- }
- }
- for my $component (@{$xml->{SoftwareComponent}}) {
- my $componenttype = $component->{ComponentType}->{value};
-
- # Drop application packages, only firmware and BIOS
- next if 'APAC' eq $componenttype;
-
- my $cpath = $component->{path};
- for my $path (@paths) {
- if ($cpath =~ m%/$path$%) {
- push(@paths, $cpath);
- }
- }
- }
- return @paths;
-}
-</pre>
-
-<p>The code is only tested on RedHat Enterprise Linux, but I suspect
-it could work on other platforms with some tweaking. Anyone know a
-index like Catalog.xml is available from HP for HP servers? At the
-moment I maintain a similar list manually and it is quickly getting
-outdated.</p>
-</div>
- <div class="tags">
-
-
- Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/St_tt_Digitalt_Personvern_.html">Støtt Digitalt Personvern!</a></div>
- <div class="date"> 9th November 2011</div>
- <div class="body"><p>Datalagringsdirektivet er et grotesk angrep på rettsstaten og da
-det ble vedtatt i Stortinget ble det klart at alle som mener det
-liberale demokrati bør forsvares måtte stå sammen for å kjempe tilbake
-de totalitære strømninger i landet. Jeg ble derfor glad over å se at
-den nyopprettede foreningen Digitalt Personvern startet innsamling
-2011-10-18 for å gå til sak for å få prøvd lovligheten av direktivet.
-Direktivet er så langt prøvd for retten i flere land, blant annet
-Tsjekkia, Romania og Tyskland, og så vidt jeg vet har det hver gang
-blitt kjent ulovlig av høyesterett eller forfatningsdomstolen i
-landene. Jeg håper og tror det samme vil skje her i Norge.</p>
-
-<p>Men for å finne ut av det må det finansiering til. Foreningen
-Digitalt Personvern tror det trengs minst 2 millioner kroner for å gå
-til sak og følge saken helt til ende, og i går fikk jeg endelig tid
-til å overføre min skjerv. Jeg har overført 3000,- til kampanjen, og
-oppfordrer hver og en av mine lesere å overføre minst like mye.</p>
-
-<p>Besøk
-<a href="http://www.digitaltpersonvern.no/bidra/">donasjonssiden</a>
-til Digitalt Personvern for å finne kontonummer som kan brukes for å
-bidra.</p>
-
-<p>Jeg rekker ikke skrive så mye om hvorfor datalagringsdirektivet må
-stoppes, så jeg nøyer meg denne gangen med en liten liste med lenker
-til aktuelle artikler og innlegg om temaet.</p>
-
-<ul>
-
-<li><a href="http://www.uhuru.biz/?p=662">Skal Telenor forsvare statens
- bevisregister i retten?</a> - bloggen til Jon Wessel-Aas,
- bidragsyter til foreningen Digitalt Personvern</li>
-
-<li><a href="http://voxpublica.no/2011/10/varslere-bør-støtte-kampanjen-digital-personvern/">Varslere
- bør støtte kampanjen Digitalt Personvern</a> - Vox Publica</li>
-
-<li><a href="http://www.digi.no/880520/georg-apenes-starter-%ABdigitalt-personvern%BB">Georg
- Apenes starter «Digitalt personvern»</a> - Digi.no</li>
-
-<li><a href="http://blogg.abrenna.com/foredrag-om-digitalt-personvern/">Foredrag
- om Digitalt Personvern</a> - bloggen til Anders Brenna, styremedlem
- i foreningen Digitalt Personvern</li>
-
-<li><a href="http://www.nationen.no/2011/10/17/politikk/datalagringsdirektivet/eu/eu-direktiv/regjeringen/6990171/">Organisasjon
- vil prøve datalagringsdirektivet for retten</a> - artikkel i Nationen</li>
-
-<li><a href="http://people.skolelinux.org/pere/blog/Martin_Bekkelund__En_stille_b_nn_om_Datalagringsdirektivet.html">Martin
- Bekkelund: En stille bønn om Datalagringsdirektivet</a> - min
- blogg</li>
-
-<li><a href="http://tversover.wordpress.com/2011/10/21/digitalt-personvern-i-praksis/">Digitalt
- personvern i praksis</a> - bloggen til Espen Andersen</li>
-
-<li><a href="http://www.dagbladet.no/2011/10/22/kultur/data_og_teknologi/datalagringsdirektivet/tekno/personvern/18692696/">Tar
- kampen for personvernet til rettsalen</a> - Dagbladet</li>
-
-</ul>
-</div>
- <div class="tags">
-
-
- Tags: <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Hvordan_enkelt_laste_ned_filmer_fra_NRK.html">Hvordan enkelt laste ned filmer fra NRK</a></div>
- <div class="date"> 5th November 2011</div>
- <div class="body"><p>Ofte har jeg lyst til å laste ned et innslag fra NRKs nettsted for
-å se det senere når jeg ikke er på nett, eller for å ha det
-tilgjengelig når jeg en gang i fremtiden ønsker å referere til
-innslaget selv om NRK har fjernet det fra sine nettsider. I dag fant
-jeg et lite script som fikser jobben.</p>
-
-<p>Scriptet er laget av Jan Henning Thorsen og tilgjengelig fra
-<a href="http://jhthorsen.github.com/snippets/nrk-downloader/">github</a>,
-og gjør det veldig enkelt å laste ned. Kjør <tt>nrk-downloader.sh
-http://www1.nrk.no/nett-tv/klipp/582810</tt> for å hente ned et enkelt
-innslag eller <tt>nrk-downloader.sh
-http://www1.nrk.no/nett-tv/kategori/3521</tt> for å laste ned alle
-episodene i en serie.</p>
-
-<p>Det er ikke rakettforskning å laste ned NRK-"strømmer", og
-tidligere gjorde jeg dette manuelt med mplayer. Scriptet til
-Hr. Thorsen gjør det raskere og enklere for meg, men jeg vil ikke si
-at det er en revolusjonerende løsning. Jeg mener jo fortsatt at
-påstanden fra NRKs ansatte om at det er
-<a href="http://people.skolelinux.org/pere/blog/Best___ikke_fortelle_noen_at_streaming_er_nedlasting___.html">vesensforskjellig
-å legge tilgjengelig for nedlasting og for streaming</a> er
-meningsløs.</p>
-</div>
- <div class="tags">
-
-
- Tags: <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
<p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
<div id="sidebar">
<li>2012
<ul>
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (6)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (2)</a></li>
</ul></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (54)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (70)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (73)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (7)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (102)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (105)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (13)</a></li>