]> pere.pagekite.me Git - homepage.git/blobdiff - blog/archive/2013/11/index.html
Ny post.
[homepage.git] / blog / archive / 2013 / 11 / index.html
index 63ce9b6322d814bab9e8aa1dcdeda1f1a96d5433..ae2f227d207219e59a1a40a0e830027e9cec6347 100644 (file)
 
     <h3>Entries from November 2013.</h3>
     
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/Dugnadsnett_for_alle__a_wireless_community_network_in_Oslo__take_shape.html">Dugnadsnett for alle, a wireless community network in Oslo, take shape</a>
+      </div>
+      <div class="date">
+        30th November 2013
+      </div>
+      <div class="body">
+        <p>If you want the ability to electronically communicate directly with
+your neighbors and friends using a network controlled by your peers in
+stead of centrally controlled by a few corporations, or would like to
+experiment with interesting network technology, the
+<a href="http://www.dugnadsnett.no/">Dugnasnett for alle i Oslo</a>
+might be project for you.  39 mesh nodes are currently being planned,
+in the freshly started initiative from NUUG and Hackeriet to create a
+wireless community network.  The work is inspired by
+<a href="http://freifunk.net/">Freifunk</a>,
+<a href="http://www.awmn.net/">Athens Wireless Metropolitan
+Network</a>, <a href="http://en.wikipedia.org/wiki/Roofnet">Roofnet</a>
+and other successful mesh networks around the globe.  Two days ago we
+held a workshop to try to get people started on setting up their own
+mesh node, and there we decided to create a new mailing list
+<a href="http://lists.nuug.no/mailman/listinfo/dugnadsnett">dugnadsnett
+(at) nuug.no</a> and IRC channel
+<a href="irc://irc.freenode.net/#dugnadsnett.no">#dugnadsnett.no</a> to
+coordinate the work.  See also the NUUG blog post
+<a href="http://www.nuug.no/news/E_postliste_og_IRC_kanal_for_Dugnadsnett_for_alle_i_Oslo.shtml">announcing
+the mailing list and IRC channel</a>.</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/Hvor_godt_fungerer_Linux_klienter_mot_MS_Exchange_.html">Hvor godt fungerer Linux-klienter mot MS Exchange?</a>
+      </div>
+      <div class="date">
+        26th November 2013
+      </div>
+      <div class="body">
+        <p>Jeg
+<a href="http://people.skolelinux.org/pere/blog/_pent_m_te_p__onsdag_om_bruken_av_Microsoft_Exchange_ved_Universitetet_i_Oslo.html">skrev
+i juni om protestene</a> på planene til min arbeidsplass,
+<a href="http://www.uio.no/">Universitetet i Oslo</a>, om å gå bort fra
+fri programvare- og åpne standardløsninger for å håndtere epost,
+vekk fra IETF-standarden SIEVE for filtrering av epost og over til
+godseide spesifikasjoner og epostsystemet Microsoft Exchange.
+Protestene har fått litt ny omtale i media de siste dagene, i tillegg
+til de oppslagene som kom i mai.</p>
+
+<ul>
+
+<li>2013-11-26 <a href="http://www.version2.dk/artikel/gigantisk-outlook-konvertering-moeder-protester-paa-universitet-55147">Gigantisk Outlook-konvertering møder protester på universitet</a> - versjon2.dk</li>
+
+<li>2013-11-25
+  <a href="http://www.idg.no/computerworld/article279407.ece">Microsoft-protest
+  på Universitetet</a> - Computerworld</li>
+
+<li>2013-11-25
+  <a href="http://www.uniforum.uio.no/nyheter/2013/11/uio-bor-bruke-apen-programvare.html">Kjemper
+  mot innføring av Microsoft Exchange på UiO</a> - Uniforum</li>
+
+<li>2013-11-25
+  <a href="http://www.uniforum.uio.no/nyheter/2013/11/uio-utsetter-innforing-av-nytt-e-postsystem.html">Utsetter
+  innføring av nytt e-postsystem</a> - Uniforum</li>
+
+<li>2013-05-29
+  <a href="http://universitas.no/nyhet/58462/forsvarer-nytt-it-system">Forsvarer
+  nytt IT-system</a> - Universitas</li>
+
+<li>2013-05-23
+  <a href="http://www.uniforum.uio.no/nyheter/2013/05/uio-innforer-nytt-epost-og-kalendersystem.html">UiO
+  innfører nytt epost- og kalenderverktøy</a> - Uniforum</li>
+
+<li>2013-05-22
+  <a href="http://universitas.no/nyhet/58424/protestgruppe-vil-stanse-it-system">Protestgruppe
+  vil stanse IT-system</a> - Universitas</li>
+
+<li>2013-05-15
+  <a href="http://www.uniforum.uio.no/leserbrev/2013/uio-ma-ha-kontroll-over-sitt-eget-epostsystem.html">UiO
+  må ha kontroll over sitt eget epostsystem</a> - Uniforum</li>
+
+</ul>
+
+<p>Prosjektledelsen har fortalt at dette skal fungere like godt for
+Linux-brukere som for brukere av Microsoft Windows og Apple MacOSX,
+men jeg lurer på hva slags erfaringer Linux-brukere i eksisterende
+miljøer som bruker MS Exchange har gjort.  Hvis du har slik erfaring
+hadet det vært veldig fint om du kan send et leserbrev til
+<a href="http://www.uniforum.uio.no/">Uniforum</a> og fortelle om hvor
+greit det er å bruke Exchange i kryss-platform-miljøer?  De jeg har
+snakket med sier en greit får lest e-posten sin hvis Exchange har
+slått på IMAP-funksjonalitet, men at kalender og møtebooking ikke
+fungerer godt for Linux-klienter. Jeg har ingen personlig erfaring å
+komme med, så jeg er nysgjerrig på hva andre kan dele av erfaringer
+med universitetet.</p>
+
+<p>Mitt ankerpunkt mot å bytte ut fri programvare som fungerer godt
+med godseid programvare er at en mister kontroll over egen
+infrastruktur, låser seg inn i en løsning det vil bli dyrt å komme ut
+av, uten at en får funksjonalitet en ikke kunne skaffet seg med fri
+programvare, eventuelt videreutviklet med de pengene som brukes på
+overgangen til MS Exchange.  Personlig planlegger jeg å fortsette å
+laste ned all eposten min til lokal maskin for indeksering og lesing
+med <a href=="http://notmuchmail.org">notmuch</a>, så jeg håper jeg
+ikke blir veldig skadelidende av overgangen.</p>
+
+<p><a href="http://dinis.linguateca.pt/Diana/ImotMSUiO.html">Underskriftslista
+for oss som er mot endringen</a>, som omtales i artiklene, er fortsatt
+åpen for de som vil signere på oppropet.  Akkurat nå er det 298
+personer som har signert.</p>
+
+      </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/standard">standard</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/New_chrpath_release_0_15.html">New chrpath release 0.15</a>
+      </div>
+      <div class="date">
+        24th November 2013
+      </div>
+      <div class="body">
+        <p>After many years break from the package and a vain hope that
+development would be continued by someone else, I finally pulled my
+acts together this morning and wrapped up a new release of chrpath,
+the command line tool to modify the rpath and runpath of already
+compiled ELF programs.  The update was triggered by the persistence of
+Isha Vishnoi at IBM, which needed a new config.guess file to get
+support for the ppc64le architecture (powerpc 64-bit Little Endian) he
+is working on.  I checked the
+<a href="http://packages.qa.debian.org/chrpath">Debian</a>,
+<a href="https://launchpad.net/ubuntu/+source/chrpath">Ubuntu</a> and
+<a href="https://admin.fedoraproject.org/pkgdb/acls/name/chrpath">Fedora</a>
+packages for interesting patches (failed to find the source from
+OpenSUSE and Mandriva packages), and found quite a few nice fixes.
+These are the release notes:</p>
+
+<p>New in 0.15 released 2013-11-24:</p>
+
+<ul>
+
+  <li>Updated config.sub and config.guess from the GNU project to work
+   with newer architectures.  Thanks to isha vishnoi for the heads
+   up.</li>
+
+  <li>Updated README with current URLs.</li>
+
+  <li>Added byteswap fix found in Ubuntu, credited Jeremy Kerr and
+   Matthias Klose.</li>
+
+  <li>Added missing help for -k|--keepgoing option, using patch by
+   Petr Machata found in Fedora.</li>
+
+  <li>Rewrite removal of RPATH/RUNPATH to make sure the entry in
+   .dynamic is a NULL terminated string.  Based on patch found in
+   Fedora credited Axel Thimm and Christian Krause.</li>
+
+</ul>
+
+<p>You can
+<a href="https://alioth.debian.org/frs/?group_id=31052">download the
+new version 0.15 from alioth</a>.  Please let us know via the Alioth
+project if something is wrong with the new release.  The test suite
+did not discover any old errors, so if you find a new one, please also
+include a testsuite check.</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath</a>, <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/RSS_kilde_for_friteksts_k_i_offentlige_anbud_hos_Doffin.html">RSS-kilde for fritekstsøk i offentlige anbud hos Doffin</a>
+      </div>
+      <div class="date">
+        22nd November 2013
+      </div>
+      <div class="body">
+        <p>I fjor sommer lagde jeg en
+<a href="http://people.skolelinux.org/pere/blog/SQL_database_med_anbud_publisert_p__Doffin.html">offentlig
+tilgjengelig SQL-database over offentlig anbud</a> basert på skraping
+av HTML-data fra Doffin.  Den har stått og gått siden da, og har nå
+ca. 28000 oppføringer.  Jeg oppdaget da jeg tittet innom at noen
+oppføringer var ikke blitt med, antagelig på grunn av at de fikk
+tildelt sekvensnummer i Doffin en godt stund før de ble publisert,
+slik at min nettsideskraper som fortsatte skrapingen der den slapp
+sist ikke fikk dem med seg.  Jeg har fikset litt slik at skraperen nå
+ser litt tilbake i tid for å se om den har gått glipp av noen
+oppføringer, og har skrapet på nytt fra midten av september 2013 og
+fremover.  Det bør dermed bli en mer komplett database for kommende
+måneder.  Hvis jeg får tid skal jeg forsøke å skrape "glemte" data fra
+før midten av september 2013, men tør ikke garantere at det blir
+prioritert med det første. </p>
+
+<p>Men målet med denne bloggposten er å vise hvordan denne
+Doffin-databasen kan brukes og integreres med en RSS-leser, slik at en
+kan la datamaskinen holde et øye med Doffin-annonseringer etter
+nøkkelord.  En kan lage sitt eget søk ved å besøke
+<ahref="https://classic.scraperwiki.com/docs/api?name=norwegian-doffin#sqlite">API-et
+hos Scraperwiki</a>, velge format rss2 og så legge inn noe ala dette i
+"query in SQL":</p>
+
+<p><pre>
+select title, scrapedurl as link, abstract as description,
+       publishdate as pubDate from 'swdata'
+   where abstract like '%linux%' or title like '%linux%'
+   order by seq desc limit 20
+</pre></p>
+
+<p>Dette vil søke opp alle anbud med ordet linux i oppsummering eller
+tittel.  En kan lage mer avanserte søk hvis en ønsker det.  URL-en som
+dukker opp nederst på siden kan en så gi til sin RSS-leser (jeg bruker
+akregator selv), og så automatisk få beskjed hvis det dukker opp anbud
+med det aktuelle nøkkelordet i teksten.  Merk at kapasiteten og
+ytelsen hos Scraperwiki er begrenset, så ikke be RSS-leseren hente ned
+oftere enn en gang hver dag.</p>
+
+<p>Du lurer kanskje på hva slags informasjon en kan få ut fra denne
+databasen.  Her er to RSS-kilder, med søkeordet
+"<a href="https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=rss2&name=norwegian-doffin&query=select%20title%2C%20scrapedurl%20as%20link%2C%20abstract%20as%20description%2C%0A%20%20%20%20%20%20%20publishdate%20as%20pubDate%20from%20'swdata'%0A%20%20%20where%20abstract%20like%20'%25linux%25'%20or%20title%20like%20'%25linux%25'%0A%20%20%20order%20by%20seq%20desc%20limit%2020">linux</a>",
+søkeordet
+"<a href="https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=rss2&name=norwegian-doffin&query=select%20title%2C%20scrapedurl%20as%20link%2C%20abstract%20as%20description%2C%0A%20%20%20%20%20%20%20publishdate%20as%20pubDate%20from%20'swdata'%0A%20%20%20where%20abstract%20like%20'%25fri%20programvare%25'%20or%20title%20like%20'%25fri%20programvare%25'%0A%20%20%20order%20by%20seq%20desc%20limit%2020">fri
+programvare</a>"
+og søkeordet
+"<a href="https://api.scraperwiki.com/api/1.0/datastore/sqlite?format=rss2&name=norwegian-doffin&query=select%20title%2C%20scrapedurl%20as%20link%2C%20abstract%20as%20description%2C%0A%20%20%20%20%20%20%20publishdate%20as%20pubDate%20from%20'swdata'%0A%20%20%20where%20abstract%20like%20'%25odf%25'%20or%20title%20like%20'%25odf%25'%0A%20%20%20order%20by%20seq%20desc%20limit%2020">odf</a>".
+Det er bare å søke på det en er interessert i.  Kopier gjerne
+datasettet og sett opp din egen tjeneste hvis du vil gjøre mer
+avanserte søk.  SQLite-filen med Doffin-oppføringer kan lastes med fra
+Scraperwiki for de som vil grave dypere.</p>
+
+      </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/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html">All drones should be radio marked with what they do and who they belong to</a>
+      </div>
+      <div class="date">
+        21st November 2013
+      </div>
+      <div class="body">
+        <p>Drones, flying robots, are getting more and more popular.  The most
+know ones are the killer drones used by some government to murder
+people they do not like without giving them the chance of a fair
+trial, but the technology have many good uses too, from mapping and
+forest maintenance to photography and search and rescue.  I am sure it
+is just a question of time before "bad drones" are in the hands of
+private enterprises and not only state criminals but petty criminals
+too.  The drone technology is very useful and very dangerous.  To have
+some control over the use of drones, I agree with Daniel Suarez in his
+TED talk
+"<a href="https://archive.org/details/DanielSuarez_2013G">The kill
+decision shouldn't belong to a robot</a>", where he suggested this
+little gem to keep the good while limiting the bad use of drones:</p>
+<blockquote>
+
+<p>Each robot and drone should have a cryptographically signed
+I.D. burned in at the factory that can be used to track its movement
+through public spaces. We have license plates on cars, tail numbers on
+aircraft. This is no different. And every citizen should be able to
+download an app that shows the population of drones and autonomous
+vehicles moving through public spaces around them, both right now and
+historically. And civic leaders should deploy sensors and civic drones
+to detect rogue drones, and instead of sending killer drones of their
+own up to shoot them down, they should notify humans to their
+presence. And in certain very high-security areas, perhaps civic
+drones would snare them and drag them off to a bomb disposal facility.</p>
+
+<p>But notice, this is more an immune system than a weapons system. It
+would allow us to avail ourselves of the use of autonomous vehicles
+and drones while still preserving our open, civil society.</p>
+
+</blockquote>
+
+<p>The key is that <em>every citizen</em> should be able to read the
+radio beacons sent from the drones in the area, to be able to check
+both the government and others use of drones.  For such control to be
+effective, everyone must be able to do it.  What should such beacon
+contain?  At least formal owner, purpose, contact information and GPS
+location.  Probably also the origin and target position of the current
+flight.  And perhaps some registration number to be able to look up
+the drone in a central database tracking their movement.  Robots
+should not have privacy.  It is people who need privacy.</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/Lets_make_a_wireless_community_network_in_Oslo_.html">Lets make a wireless community network in Oslo!</a>
+      </div>
+      <div class="date">
+        13th November 2013
+      </div>
+      <div class="body">
+        <p>Today NUUG and Hackeriet announced
+<a href="http://www.nuug.no/news/Bli_med___bygge_dugnadsnett_for_alle_i_Oslo.shtml">our
+plans to join forces and create a wireless community network in
+Oslo</a>.  The workshop to help people get started will take place
+Thursday 2013-11-28, but we already are collecting the geolocation of
+people joining forces to make this happen.  We have
+<a href="https://github.com/petterreinholdtsen/meshfx-node/blob/master/oslo-nodes.geojson">9
+locations plotted on the map</a>, but we will need more before we have
+a connected mesh spread across Oslo.  If this sound interesting to
+you, please join us at the workshop.  If you are too impatient to wait
+15 days, please join us on the IRC channel
+<a href="irc://irc.freenode.net/%23nuug">#nuug on irc.freenode.net</a>
+right away. :)</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html">Running TP-Link MR3040 as a batman-adv mesh node using openwrt</a>
+      </div>
+      <div class="date">
+        10th November 2013
+      </div>
+      <div class="body">
+        <p>Continuing my research into mesh networking, I was recommended to
+use TP-Link 3040 and 3600 access points as mesh nodes, and the pair I
+bought arrived on Friday.  Here are my notes on how to set up the
+MR3040 as a mesh node using
+<a href="http://www.openwrt.org/">OpenWrt</a>.</p>
+
+<p>I started by following the instructions on the OpenWRT wiki for
+<a href="http://wiki.openwrt.org/toh/tp-link/tl-mr3040">TL-MR3040</a>,
+and downloaded
+<a href="http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin">the
+recommended firmware image</a>
+(openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin) and
+uploaded it into the original web interface.  The flashing went fine,
+and the machine was available via telnet on the ethernet port.  After
+logging in and setting the root password, ssh was available and I
+could start to set it up as a batman-adv mesh node.</p>
+
+<p>I started off by reading the instructions from
+<a href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Antoine's_Research">Wireless
+Africa</a>, which had quite a lot of useful information, but
+eventually I followed the recipe from the Open Mesh wiki for
+<a href="http://www.open-mesh.org/projects/batman-adv/wiki/Batman-adv-openwrt-config">using
+batman-adv on OpenWrt</a>.  A small snag was the fact that the
+<tt>opkg install kmod-batman-adv</tt> command did not work as it
+should.  The batman-adv kernel module would fail to load because its
+dependency crc16 was not already loaded.  I
+<a href="https://dev.openwrt.org/ticket/14452">reported the bug</a> to
+the openwrt project and hope it will be fixed soon.  But the problem
+only seem to affect initial testing of batman-adv, as configuration
+seem to work when booting from scratch.</p>
+
+<p>The setup is done using files in /etc/config/.  I did not bridge
+the Ethernet and mesh interfaces this time, to be able to hook up the
+box on my local network and log into it for configuration updates.
+The following files were changed and look like this after modifying
+them:</p>
+
+<p><tt>/etc/config/network</tt></p>
+
+<pre>
+
+config interface 'loopback'
+        option ifname 'lo'
+        option proto 'static'
+        option ipaddr '127.0.0.1'
+        option netmask '255.0.0.0'
+
+config globals 'globals'
+        option ula_prefix 'fdbf:4c12:3fed::/48'
+
+config interface 'lan'
+        option ifname 'eth0'
+        option type 'bridge'
+        option proto 'dhcp'
+        option ipaddr '192.168.1.1'
+        option netmask '255.255.255.0'
+        option hostname 'tl-mr3040'
+        option ip6assign '60'
+
+config interface 'mesh'
+        option ifname 'adhoc0'
+        option mtu '1528'
+        option proto 'batadv'
+        option mesh 'bat0'
+</pre>
+
+<p><tt>/etc/config/wireless</tt></p>
+<pre>
+
+config wifi-device 'radio0'
+        option type 'mac80211'
+        option channel '11'
+        option hwmode '11ng'
+        option path 'platform/ar933x_wmac'
+        option htmode 'HT20'
+        list ht_capab 'SHORT-GI-20'
+        list ht_capab 'SHORT-GI-40'
+        list ht_capab 'RX-STBC1'
+        list ht_capab 'DSSS_CCK-40'
+        option disabled '0'
+
+config wifi-iface 'wmesh'
+        option device 'radio0'
+        option ifname 'adhoc0'
+        option network 'mesh'
+        option encryption 'none'
+        option mode 'adhoc'
+        option bssid '02:BA:00:00:00:01'
+        option ssid 'meshfx@hackeriet'
+</pre>
+<p><tt>/etc/config/batman-adv</tt></p>
+<pre>
+
+config 'mesh' 'bat0'
+        option interfaces 'adhoc0'
+        option 'aggregated_ogms'
+        option 'ap_isolation'
+        option 'bonding'
+        option 'fragmentation'
+        option 'gw_bandwidth'
+        option 'gw_mode'
+        option 'gw_sel_class'
+        option 'log_level'
+        option 'orig_interval'
+        option 'vis_mode'
+        option 'bridge_loop_avoidance'
+        option 'distributed_arp_table'
+        option 'network_coding'
+        option 'hop_penalty'
+
+# yet another batX instance
+# config 'mesh' 'bat5'
+#       option 'interfaces' 'second_mesh'
+</pre>
+
+<p>The mesh node is now operational.  I have yet to test its range,
+but I hope it is good.  I have not yet tested the TP-Link 3600 box
+still wrapped up in plastic.</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
+    <div class="entry">
+      <div class="title">
+        <a href="http://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html">Debian init.d boot script example for rsyslog</a>
+      </div>
+      <div class="date">
+         2nd November 2013
+      </div>
+      <div class="body">
+        <p>If one of the points of switching to a new init system in Debian is
+<a href="http://thomas.goirand.fr/blog/?p=147">to get rid of huge
+init.d scripts</a>, I doubt we need to switch away from sysvinit and
+init.d scripts at all.  Here is an example init.d script, ie a rewrite
+of /etc/init.d/rsyslog:</p>
+
+<p><pre>
+#!/lib/init/init-d-script
+### BEGIN INIT INFO
+# Provides:          rsyslog
+# Required-Start:    $remote_fs $time
+# Required-Stop:     umountnfs $time
+# X-Stop-After:      sendsigs
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: enhanced syslogd
+# Description:       Rsyslog is an enhanced multi-threaded syslogd.
+#                    It is quite compatible to stock sysklogd and can be 
+#                    used as a drop-in replacement.
+### END INIT INFO
+DESC="enhanced syslogd"
+DAEMON=/usr/sbin/rsyslogd
+</pre></p>
+
+<p>Pretty minimalistic to me... For the record, the original sysv-rc
+script was 137 lines, and the above is just 15 lines, most of it meta
+info/comments.</p>
+
+<p>How to do this, you ask?  Well, one create a new script
+/lib/init/init-d-script looking something like this:
+
+<p><pre>
+#!/bin/sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+
+#
+do_start()
+{
+       # Return
+       #   0 if daemon has been started
+       #   1 if daemon was already running
+       #   2 if daemon could not be started
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+               $DAEMON_ARGS \
+               || return 2
+       # Add code here, if necessary, that waits for the process to be ready
+       # to handle requests from services started subsequently which depend
+       # on this one.  As a last resort, sleep for some time.
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+       # Return
+       #   0 if daemon has been stopped
+       #   1 if daemon was already stopped
+       #   2 if daemon could not be stopped
+       #   other if a failure occurred
+       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       # Wait for children to finish too if this is a daemon that forks
+       # and if the daemon is only ever run from this initscript.
+       # If the above conditions are not satisfied then add some other code
+       # that waits for the process to drop all resources that could be
+       # needed by services started subsequently.  A last resort is to
+       # sleep for some time.
+       start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+       [ "$?" = 2 ] && return 2
+       # Many daemons don't delete their pidfiles when they exit.
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+       #
+       # If the daemon can reload its configuration without
+       # restarting (for example, when it is sent a SIGHUP),
+       # then implement that here.
+       #
+       start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
+       return 0
+}
+
+SCRIPTNAME=$1
+scriptbasename="$(basename $1)"
+echo "SN: $scriptbasename"
+if [ "$scriptbasename" != "init-d-library" ] ; then
+    script="$1"
+    shift
+    . $script
+else
+    exit 0
+fi
+
+NAME=$(basename $DAEMON)
+PIDFILE=/var/run/$NAME.pid
+
+# Exit if the package is not installed
+#[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  #reload|force-reload)
+       #
+       # If do_reload() is not implemented then leave this commented out
+       # and leave 'force-reload' as an alias for 'restart'.
+       #
+       #log_daemon_msg "Reloading $DESC" "$NAME"
+       #do_reload
+       #log_end_msg $?
+       #;;
+  restart|force-reload)
+       #
+       # If the "reload" option is implemented then remove the
+       # 'force-reload' alias
+       #
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  *)
+       echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+       exit 3
+       ;;
+esac
+
+:
+</pre></p>
+
+<p>It is based on /etc/init.d/skeleton, and could be improved quite a
+lot.  I did not really polish the approach, so it might not always
+work out of the box, but you get the idea.  I did not try very hard to
+optimize it nor make it more robust either.</p>
+
+<p>A better argument for switching init system in Debian than reducing
+the size of init scripts (which is a good thing to do anyway), is to
+get boot system that is able to handle the kernel events sensibly and
+robustly, and do not depend on the boot to run sequentially.  The boot
+and the kernel have not behaved sequentially in years.</p>
+
+      </div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <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/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html">Browser plugin for SPICE (spice-xpi) uploaded to Debian</a>
@@ -64,6 +774,17 @@ NEW.  I hope it will be available in Debian in a few days.</p>
 <h2>Archive</h2>
 <ul>
 
+<li>2014
+<ul>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (3)</a></li>
+
+</ul></li>
+
 <li>2013
 <ul>
 
@@ -87,7 +808,9 @@ NEW.  I hope it will be available in Debian in a few days.</p>
 
 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
 
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (1)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
+
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
 
 </ul></li>
 
@@ -231,15 +954,17 @@ NEW.  I hope it will be available in Debian in a few days.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (7)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (8)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (12)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (14)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (89)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
+
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (95)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (142)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (145)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
 
@@ -247,7 +972,7 @@ NEW.  I hope it will be available in Debian in a few days.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (224)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (238)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
 
@@ -255,37 +980,37 @@ NEW.  I hope it will be available in Debian in a few days.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (12)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (5)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (6)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (11)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (37)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (39)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (7)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (18)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (6)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (7)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (3)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (7)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (236)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (241)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (156)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (161)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (8)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (10)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (45)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (67)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (69)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
 
@@ -293,7 +1018,7 @@ NEW.  I hope it will be available in Debian in a few days.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (8)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (9)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
 
@@ -301,19 +1026,19 @@ NEW.  I hope it will be available in Debian in a few days.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (32)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (35)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (43)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (44)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (9)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (20)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (22)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
 
@@ -323,7 +1048,7 @@ NEW.  I hope it will be available in Debian in a few days.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (28)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (29)</a></li>
 
 </ul>