fiasko's home pagehttps://fiasko.io/2019-02-05T22:43:00+01:00A Debian follower...needrestart 3.42019-02-05T22:43:00+01:002019-02-05T22:43:00+01:00Thomas Lisketag:fiasko.io,2019-02-05:/projects/needrestart-3.4.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 3.4</h4>
<p><strong>Features:</strong></p>
<ul>
<li>[L10n] Add Czech localization.
(github pull request #131 by @p-bo)
(github pull request #132 by @p-bo)
(github pull request #133 by @p-bo)</li>
<li>[Core] Add <span class="caps">FRR</span> to override.
(github pull request #138 by David Lamparter @eqvinox)</li>
<li>[Core] Detect if run inside a container or vm using systemd.
(github issue #139 by Tobby @tobby88)</li>
<li>[Core] Skip needrestart in apt hook if system is shutting down.
(Debian Bug#914753 by Balint Reczey <a href="mailto:balint.reczey@canonical.com">balint.reczey@canonical.com</a>)</li>
</ul>
<p><strong>Changes:</strong></p>
<ul>
<li>[Core] Do restart systemd-journald (again).
(see also Debian Bug#771122, #771254 and #898818)
(Debian Bug#898818 by Mathieu Parent <a href="mailto:sathieu@debian.org">sathieu@debian.org</a>)</li>
</ul>
<p><strong>Fixes:</strong></p>
<ul>
<li>[uCode] Ignore broken microcode files (required for CentOS).
(github issue #123 by Marc Dequènes (Duck) @duck-rh)</li>
<li>[uCode] Parse output of old iucode-tool 1.5.
(github pull request #127 by Lutz Heermann @LuHee)</li>
<li>[uCode] Prevent microcode false positives for <span class="caps">BIOS</span> updates.
(Debian Bug#906958 by Maik Zumstrull <a href="mailto:maik@zumstrull.net">maik@zumstrull.net</a>)</li>
<li>[uCode] Handle microcode updates for multiple CPUs in initramfs.
(Debian Bug#907372 by Paul Wise <a href="mailto:pabs@debian.org">pabs@debian.org</a>)</li>
<li>[Core] Ignore temporary mappings of elasticsearch.
(github issue #134 by Georg @teadur)</li>
<li>[Core] Do not restart oneshot services from systemd-cron.
(Debian Bug#917073 by Antti Salmela <a href="mailto:asalmela@iki.fi">asalmela@iki.fi</a>)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 3.32018-06-24T13:23:00+02:002018-06-24T13:23:00+02:00Thomas Lisketag:fiasko.io,2018-06-24:/projects/needrestart-3.3.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 3.3</h4>
<ul>
<li>Fixes:</li>
<li>[Core] Configuration file is ignored.
(Debian Bug#901999 by Andreas Schmidt <a href="mailto:pi-c@arcor.de">pi-c@arcor.de</a>)
(Debian Bug#902031 by Axel Beckert <a href="mailto:abe@debian.org">abe@debian.org</a>)
(Debian Bug#902049 by Jon <a href="mailto:nuxi@vault24.org">nuxi@vault24.org</a>)
(github issue #121 by Sven Hartge @shartge)</li>
<li>[Interp] Supress uninitalized value if abs_path fails.
(github issue #120 by Craig Andrews @candrews)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 3.22018-06-16T17:42:00+02:002018-06-16T17:42:00+02:00Thomas Lisketag:fiasko.io,2018-06-16:/projects/needrestart-3.2.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 3.2</h4>
<ul>
<li>Changes:</li>
<li>[Kernel] Include /boot/kernel* while looking for linux
kernel images (required for Gentoo)
(Gentoo Bug 654958 by Klaus Ethgen)
(github pull request #113 by Craig Andrews @candrews)</li>
<li>
<p>[Core] Do not restart ModemManager by default.
(github pull request #119 by @bodqhrohro)</p>
</li>
<li>
<p>Fixes:</p>
</li>
<li>[<span class="caps">UI</span>] Do not call GetTerminalSize if <span class="caps">STDOUT</span> is not a tty.
(github pull request #110 by Michael Scherer @mscherer)</li>
<li>[uCode] Filter microcode for <span class="caps">CPU</span> signature and flags.
(github issue #112 by @mgondium)
(Debian Bug#900298 by Francois Mescam <a href="mailto:fmescam@sd-123993.dedibox.fr">fmescam@sd-123993.dedibox.fr</a>)</li>
<li>[uCode] Assigning ucodehints a false value disables ucode
checks.
(github issue #115 by Johannes Kampmeyer @xschlef)</li>
<li>[Hooks] Ignore non-executable init scripts.
(github issue #116 by Marc Dequènes (Duck) @duck-rh)</li>
<li>[L10n] Fix typo in Russian localization.
(github pull request #118 by @bodqhrohro)</li>
<li>[<span class="caps">UI</span>] Do not leak fd into restarted services.
(Debian Bug#893152 by Stephen Rothwell <a href="mailto:debbugs@rothwell.id.au">debbugs@rothwell.id.au</a>)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 3.12018-03-29T23:22:00+02:002018-03-29T23:22:00+02:00Thomas Lisketag:fiasko.io,2018-03-29:/projects/needrestart-3.1.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 3.1</h4>
<ul>
<li>Changes:</li>
<li>
<p>[uCode] Handle microcode upgrades in early boot initrd images,
required at least on Arch Linux.
(github issue #106 by @Wuestengecko)</p>
</li>
<li>
<p>Fixes:</p>
</li>
<li>[uCode] Fix uninitialized value in batch mode.
(Debian Bug#891923 by Bob Proulx <a href="mailto:bob@proulx.com">bob@proulx.com</a>)
(github issue #105 by Evgenii Terechkov @evgkrsk)</li>
<li>[uCode] Fix completely broken microcode update detection.
(github issue #108 by @Wuestengecko)</li>
<li>[<span class="caps">UI</span>] Fix microcode revision placeholders in NeedRestart::<span class="caps">UI</span>::stdio.</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 3.02018-02-23T13:38:00+01:002018-02-23T13:38:00+01:00Thomas Lisketag:fiasko.io,2018-02-23:/projects/needrestart-3.0.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 3.0</h4>
<ul>
<li>Features:</li>
<li>[Core] Possible to suspend needrestart in apt-get hook using
the NEEDRESTART_SUSPEND environment variable.
(github issue #71 by Ludovic Gasc @GMLudo et. al.)</li>
<li>[Core] Possible to override the configured restart mode using
the NEEDRESTART_MODE environment variable.
(Debian Bug#866105 by Marc Haber <a href="mailto:mh+debian-bugs@zugschlus.de">mh+debian-bugs@zugschlus.de</a>)</li>
<li>[uCode] Check for pending Intel microcode updates.
(Debian Bug#886445 by Paul Wise <a href="mailto:pabs@debian.org">pabs@debian.org</a>)</li>
<li>Changes:</li>
<li>[Core] Do not try to restart service units with RefuseManualStop=yes.
(github issue #75 by Marc Dequènes @duck-rh)</li>
<li>[Kernel] Try to adopt <span class="caps">RPM</span>’s version sorting to get most recent kernel.
(github issue #73 by Maximilian Gaß @mxey)</li>
<li>[Core] Tune blacklist_mappings default setting to match on deleted maps.</li>
<li>[<span class="caps">UI</span>] Respect verbosity in <span class="caps">UI</span>::stdio, just like <span class="caps">UI</span>::Debconf.
(github pull request #88 by @guillaume-uH57J9)</li>
<li>[Core] Improve output formating.
(github issue #84 by Stavros Ntentos @stdedos)</li>
<li>[Core] Improve container detection to skip kernel and microcode checks.</li>
<li>Fixes:</li>
<li>[Core] Makefile: Fix installation of restart.d/ scripts.
(Debian Bug#851866 by Sven Hartge <a href="mailto:sven@svenhartge.de">sven@svenhartge.de</a>)</li>
<li>[Core] Fix warning in Perl 5.20.x, not triggered in 5.24.x
in needrestart.conf (Oil Runtime Compiler’s <span class="caps">JIT</span> files).
(patch by Patrick Matthäi (Debian))</li>
<li>[Core] Do not restart oneshot services.
(Debian Bug#862840 by Alan Jenkins <a href="mailto:alan.christopher.jenkins@gmail.com">alan.christopher.jenkins@gmail.com</a>)</li>
<li>[Core] Ignore rc-local.service.
(Debian Bug#852864 by Paul Wise <a href="mailto:pabs@debian.org">pabs@debian.org</a>)</li>
<li>[Core] Do not restart libvirt by default.
(github issue #69 by Craig Andrews @candrews)</li>
<li>[Interp/Perl] Add missing cwd restore before a return.
(github issues #55 and #70 Craig Andrews @candrews and Stefan Bühler @stbuehler)</li>
<li>[Core] <span class="caps">README</span>.md: Fix spelling.
(github issue #74 by Edward Betts @EdwardBetts)</li>
<li>[Core] Add bird to override.
(github issue #78 by Björn Lässig @Farom)</li>
<li>[Interp/(Perl|Python)] Use absolute paths used to search the package
of a script file.
(github issue #79 by Christopher Odenbach @odenbach)</li>
<li>[Hook] Use rpm -q —filesbypkg rather than rpmquery.
(github issue #81 by Sven Hartge @shartge)</li>
<li>[<span class="caps">CONT</span>] Detect docker container ns running not on systemd.</li>
<li>[<span class="caps">CONT</span>] Ignore processes running inside docker containers.
(github issue #80 by Christopher Odenbach @odenbach)</li>
<li>[Core] Ignore special filename mappings used by recent versions of
<span class="caps">KDE</span> plasmashell.
(github issue #65 by @GoTeamAnt)
(Debian Bug#879091 by Paul Wise <a href="mailto:pabs@debian.org">pabs@debian.org</a>)</li>
<li>[Core] Fix handling of library mappings if target does not exist.
(github issue #58 by @pigen)
(Debian Bug#878700 by Richard Hector <a href="mailto:richard@walnut.gen.nz">richard@walnut.gen.nz</a>)</li>
<li>[Hook] Fix handling of multiarch packages.
(github issue #56 by @mayasd)</li>
<li>[Interp] Ignore interpreter processes with unreachable root fs (i.e.
in different mnt ns).
(github issue #72 by Stefan Bühler @stbuehler)</li>
<li>[Core] Add missing unnamed device major numbers (fix for OpenVZ).
(Debian Bug#876452 by Piotr Pańczyk <a href="mailto:piotr.panczyk@assecobs.pl">piotr.panczyk@assecobs.pl</a>)</li>
<li>[<span class="caps">UI</span>] Do not call GetTerminalSize() if <span class="caps">STDOUT</span> is not a <span class="caps">TTY</span>.
(Debian Bug#859387 by by Paul Wise <a href="mailto:pabs@debian.org">pabs@debian.org</a>)
(github issues #85 and #86 by @guillaume-uH57J9)</li>
<li>[<span class="caps">UI</span>] Fix switch from interactive to list mode if debconf is run
noninteractive.
(Debian Bug#876459 by Piotr Pańczyk <a href="mailto:piotr.panczyk@assecobs.pl">piotr.panczyk@assecobs.pl</a>)</li>
<li>[man] Add documentation on restart mode if run non-interactive.
(Debian Bug#842512 by Antoine Beaupré <a href="mailto:anarcat@debian.org">anarcat@debian.org</a>)</li>
<li>[Core] Ignore some Java false positives (<span class="caps">JNA</span>, <span class="caps">JFFI</span>).
(github pull request #89 by Maximilian Gaß @mxey)
(github issue #60 by @ge-fa)</li>
<li>[Core] Output <span class="caps">NRPE</span> message “root needed” on stdout.
(github pull request #91 by @nirgal)</li>
<li>[Core] Use override_cont when querying containers.
(github pull request #94 by Nigel Kukard @nkukard)</li>
<li>[Core] Do not restart docker by default.</li>
<li>[Core] Fix typo in man page.
(Debian Bug#885448 by Paul Wise <a href="mailto:pabs@debian.org">pabs@debian.org</a>)</li>
<li>[Interp] Fix perl warning if cwd is unreachable.
(github issue #99 by @glitsj16)</li>
<li>[Hook] Replace remaining calls of rpmquery by rpm.
(github issue #100 by Matthias Hörmann @taladar)</li>
<li>[Core] Fix additional unit detection in dbus restart handler.
(github issue #104 by Alexander Barton @alexbarton)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 2.112017-01-17T15:59:00+01:002017-01-17T15:59:00+01:00Thomas Lisketag:fiasko.io,2017-01-17:/projects/needrestart-2.11.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 2.11</h4>
<ul>
<li>Features:</li>
<li>[Core] Allow special treatment to restart services (i.e. dbus).
(github issue #44 by @Vladimir-csp)</li>
<li>[Cont] Support restarting <span class="caps">LXD</span>-based <span class="caps">LXC</span> containers.
(github issue #26 by James Johnston @JohnstonJ)</li>
<li>[Core] New config option to enforce legacy session detection if systemd
is used without <span class="caps">PAM</span> integration.
(github issue #52 by @micw and Eric S. @Korni22)</li>
<li>Fixes:</li>
<li>[Core] Fix default config type for override_* settings.
(github issue #47 by @mphilipps)</li>
<li>[Kernel] Ignore initrd filenames while looking for kernel image files.
(github issue #49 by Evgenii Terechkov @evgkrsk)</li>
<li>[Kernel] Strip .img from version string when deducting the kernel
version from filename.
(github issue #49 by Evgenii Terechkov @evgkrsk)</li>
<li>[Core] Fix wrong regex quotation in default configuration file.
(Debian Bug#844283 by Paul Wise <a href="mailto:pabs@debian.org">pabs@debian.org</a>)</li>
<li>[Core] Add display-manager ‘lxdm’ to override.
(Debian Bug#845996 by Rodrigo Campos <a href="mailto:rodrigo@sdfg.com.ar">rodrigo@sdfg.com.ar</a>)</li>
<li>[Interp] Make paths when searching source files relative to the root
path of the process.
(github issue #54 by Tomasz Kontusz @ktosiek)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 2.102016-11-03T23:57:00+01:002016-11-03T23:57:00+01:00Thomas Lisketag:fiasko.io,2016-11-03:/projects/needrestart-2.10.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 2.10</h4>
<ul>
<li>Features:</li>
<li>[Interp] Allow ignoring of interpreted files.
(github issue #39 by Wolfgang Karall @wolfgangkarall)</li>
<li>[Core] Make verification of mapped files in fileystem configurable as a
workaround for broken grsecurity kernels.
(github issue #46 by @jleroy @eigengrau)</li>
<li>[Core] Make ignore of mapped files configurable.
(github issue #45 by @stbuehler)</li>
<li>Fixes:</li>
<li>[Core] Do not ignore processes if maps file could not be read.</li>
<li>[Perl] Silence warnings of Module::ScanDeps for dynamic loaded modules.
(github issue #41 by @bxkx @r-lindner)</li>
<li>[<span class="caps">UI</span>] Do not use Text::Wrap while printing restart commands.
(Debian Bug#838622 by Paul Wise <a href="mailto:pabs@debian.org">pabs@debian.org</a>)</li>
<li>[Core] Do really restart services in automatic mode.
(Debian Bug#838355 by Georg <a href="mailto:georg@riseup.net">georg@riseup.net</a>)</li>
<li>[Kernel] Include /boot/*.img while looking for linux kernel images.
Fixes kernel detection on Raspbian.
(github issue #38 by @fenhl)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 2.92016-09-03T14:53:00+02:002016-09-03T14:53:00+02:00Thomas Lisketag:fiasko.io,2016-09-03:/projects/needrestart-2.9.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 2.9</h4>
<ul>
<li>Changes:<ul>
<li>[l10n] Add <span class="caps">RU</span> translation for notify.d stuff.
(github issue <a href="https://github.com/liske/needrestart/issues/29">#29</a> by <a href="https://github.com/Vladimir-csp/">@Vladimir-csp</a>)
(github issue <a href="https://github.com/liske/needrestart/issues/31">#31</a> by <a href="https://github.com/Vladimir-csp/">@Vladimir-csp</a>)</li>
<li>[Conf] Add lxcfs to override_rc.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=832166">Debian Bug#832166</a> by Evgeni Golov <evgeni@debian.org>)</li>
<li>[Conf] Pass arguments of apt-pinvoke to needrestart.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=826220">Debian Bug#826220</a> by Wolfgang Karall-Ahlborn <lists+debian-bugs@karall-edv.at>)</li>
<li>[Core] Use $(<span class="caps">MAKE</span>) instead of make for parallel make.
(github issue <a href="https://github.com/liske/needrestart/issues/34">#34</a> by Craig Andrews <a href="https://github.com/candrews/">@candrews</a>)</li>
<li>[Core] Make nagios severities configurable.
(github issue <a href="https://github.com/liske/needrestart/issues/32">#32</a> by Christoph Anton Mitterer <a href="https://github.com/calestyo/">@calestyo</a>)</li>
</ul>
</li>
<li>Features:<ul>
<li>[Core] Sys-V: use chkconfig tags if <span class="caps">LSB</span> tags are missing.
(github issue <a href="https://github.com/liske/needrestart/issues/33">#33</a> by Evgenii Terechkov <a href="https://github.com/evgkrsk/">@evgkrsk</a>)</li>
<li>[Interp] Cache file lists of interpreter processes.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=826247">Debian Bug#826247</a> by Wolfgang Karall-Ahlborn <lists+debian-bugs@karall-edv.at>)</li>
</ul>
</li>
<li>Fixes:<ul>
<li>[<span class="caps">UI</span>] Add a workaround for bug in <em>Term::ReadKey</em> if <span class="caps">STDOUT</span> does not
print on a <span class="caps">TTY</span> (see also <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=824564">Debian Bug#824564</a>).</li>
<li>[Core] Fix orcexec regex to match on removed files, too.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828103">Debian Bug#828103</a> by Paul Wise <pabs@debian.org>)</li>
<li>[Core] Don’t compare device numbers on anon fs (i.e. OpenVZ’s simfs).
(github issue <a href="https://github.com/liske/needrestart/issues/28">#28</a> by Sven-Haegar Koch <a href="https://github.com/haegar/">@haegar</a>)</li>
<li>[Core] Fix odd perl warnings about <span class="caps">LSB</span> tags.
(github issue <a href="https://github.com/liske/needrestart/issues/33">#33</a> by Evgenii Terechkov <a href="https://github.com/evgkrsk/">@evgkrsk</a>)</li>
<li>[Core] Make systemctl_combine config option working.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=826526">Debian Bug#826526</a> by Paul Wise <pabs@debian.org>)</li>
<li>[Core] Handle newlines in kernel versions gracefully.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=827162">Debian Bug#827162</a> by Martin Steigerwald <martin@lichtvoll.de>)</li>
<li>[Core] Fix session counter in nagios plugin mode.</li>
</ul>
</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 2.82016-05-17T17:43:00+02:002016-05-17T17:43:00+02:00Thomas Lisketag:fiasko.io,2016-05-17:/projects/needrestart-2.8.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 2.8</h4>
<ul>
<li>Changes:<ul>
<li>[Core] Restart SysV init services on systemd using systemctl.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=818853">Debian Bug#818853</a> by Paul Wise <pabs@debian.org>)</li>
<li>[Core] Print a combined <code>systemctl restart</code> command line for skipped
services (config option).
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=818853">Debian Bug#818853</a> by Paul Wise <pabs@debian.org>)</li>
<li>[l10n] Make NeedRestart::<span class="caps">UI</span>::stdio localized and update German localization.</li>
<li>[notify] Disable mail notification by default (notify.conf).</li>
</ul>
</li>
<li>Features:<ul>
<li>[Core] Add a easy <span class="caps">UI</span> mode hiding technical details for non-technical users.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=819824">Debian Bug#819824</a> by Patrick Schleizer <adrelanos@riseup.net>))</li>
<li>[Cont] Detect systemd-machined containers.</li>
</ul>
</li>
<li>Fixes:<ul>
<li>[Conf] Add xendomains to override_rc.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=817807">Debian Bug#817807</a> by Samuel Thibault <sthibault@debian.org>)</li>
<li>[Core] Do not terminate debconf after restart service selection since it
is still needed for container selection.</li>
<li>[Core] Fix regex handling in cgroup detection.
(github pull request #25 by Courtney Bane @cbane)</li>
<li>[Core] Fix library probing inside filesystem namespaces (i.e. <span class="caps">LXC</span>
containers).
(<a href="https://github.com/liske/needrestart/pull/23">github issue #23</a> by Lukas Pirl <a href="https://github.com/lpirl/">@lpirl</a>)</li>
<li>[Interp] Fix incomplete skipping of scanning files in Interp/*.pm
if cwd is unknown.</li>
<li>[Interp] Improve getopts parsing (Interp::*) to remove “Uknown option:”
warnings.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=817927">Debian Bug#817927</a> by F. Petitjean <francois.petitjean@bureauveritas.com>)</li>
<li>[notify.d] Fix bashisms in /etc/needrestart/notify.d/*.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=818001">Debian Bug#818001</a> by Cristian Ionescu-Idbohrn
<cristian.ionescu-idbohrn@axis.com>)
(<a href="https://github.com/liske/needrestart/pull/21">github issue #21</a> by Sebastian Brandt <a href="https://github.com/sbrandtb/">@sbrandtb</a>)
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=824184">Debian Bug#824184</a> by Axel Beckert <abe@debian.org>)</li>
<li>[<span class="caps">UI</span>] stdio: do not skip service asked while choosing auto mode.</li>
</ul>
</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 2.42016-01-01T21:54:00+01:002016-01-01T21:54:00+01:00Thomas Lisketag:fiasko.io,2016-01-01:/projects/needrestart-2.4.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 2.4</h4>
<ul>
<li>[Bug] Drop unused dependency on File::Slurp.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799733">Debian Bug#799733</a> by Christoph Anton Mitterer <calestyo@scientia.net>)
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799734">Debian Bug#799734</a> by Sven Hartge <sven@svenhartge.de>)</li>
<li>[Bug] Add user@\d+.service to override_rc.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=788380">Debian Bug#788380</a> by Shirish Agarwal <shirishag75@gmail.com>)</li>
<li>[Bug] Add override for systemd-logind due to another systemd regression.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=800718">Debian Bug#800718</a> by Sven Hartge <sven@svenhartge.de>)</li>
<li>[Bug] Fix grammar in hook scripts.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805980">Debian Bug#805980</a> by Justin B Rye <justin.byam.rye@gmail.com>)</li>
<li>[Bug] Fix kernel detection on non x86* arch.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=800720">Debian Bug#800720</a> by Sven Hartge <sven@svenhartge.de>)</li>
<li>[Kernel] Extract kernel version on non-x86(_64) archs (allows <span class="caps">ABI</span> checks).</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>Reading html email with mutt2015-10-06T20:31:00+02:002015-10-06T20:31:00+02:00Thomas Lisketag:fiasko.io,2015-10-06:/projects/htmail-view.html.en<p>Reading html emails with <em>mutt</em> using w3m or lynx is a pain. If <em>mutt</em> is running in a X11 session you might prefer to use a graphical html email renderer to read full blown html emails.
Html emails are <span class="caps">MIME</span> multipart messages containing <em>text/html</em> content with an optional <em>text …</em></p><p>Reading html emails with <em>mutt</em> using w3m or lynx is a pain. If <em>mutt</em> is running in a X11 session you might prefer to use a graphical html email renderer to read full blown html emails.
Html emails are <span class="caps">MIME</span> multipart messages containing <em>text/html</em> content with an optional <em>text/plain</em> version (<em>multipart/alternative</em>). The following configuration uses <a href="https://github.com/liske/htmail-view">htmail-view</a> to render html mails using WebKit.</p>
<h2>Prefer text/plain</h2>
<p>To prefer the <em>text/plain</em> content in <em>mutt</em> you could use the following options in your <code>muttrc</code>:</p>
<div class="highlight"><pre><span></span><span class="c1"># prefer plain text</span>
alternative_order text/plain text/enriched text/html
</pre></div>
<h2>Auto convertion using w3m</h2>
<p>If an email contains no <em>text/plain</em> but a <em>text/html</em> content <em>mutt</em> can be configured to automaticly convert it to plain text:</p>
<div class="highlight"><pre><span></span><span class="c1"># auto convert text/html MIME type to text/plain</span>
auto_view text/html
</pre></div>
<p>This requires a suitable entry in your <code>mailcap</code> file:</p>
<div class="highlight"><pre><span></span><span class="c1"># auto view using w3m</span>
text/html<span class="p">;</span> w3m -I %<span class="o">{</span>charset<span class="o">}</span> -T text/html<span class="p">;</span> copiousoutput<span class="p">;</span>
</pre></div>
<h2>Render html attachments</h2>
<p>You could use the following statement to configure a key binding for rendering html attachments with <em>htmail-view</em>:</p>
<div class="highlight"><pre><span></span><span class="c1"># run viewer defined in mailcap by <return> in attach view</span>
<span class="nb">bind</span> attach <<span class="k">return</span>> view-mailcap
</pre></div>
<p><em>mutt</em> uses a viewer for the <span class="caps">MIME</span> type defined in your <code>mailcap</code> file:</p>
<div class="highlight"><pre><span></span><span class="c1"># htmail-view w/o focus handling</span>
<span class="c1">#text/html; htmail-view file://%s; test=test -n "$DISPLAY"; nametemplate=%s.html; needsterminal;</span>
<span class="c1"># htmail-view w/ focus handling using wmctrl</span>
text/html<span class="p">;</span> /usr/lib/htmail-view/wmctrl-wrapper file://%s<span class="p">;</span> <span class="nv">test</span><span class="o">=</span><span class="nb">test</span> -n <span class="s2">"</span><span class="nv">$DISPLAY</span><span class="s2">"</span><span class="p">;</span> <span class="nv">nametemplate</span><span class="o">=</span>%s.html<span class="p">;</span> needsterminal<span class="p">;</span>
</pre></div>
<h2>Render html using htmail-view</h2>
<p>Rendering single html attachments won’t show any resources (i.e. images) attached to the mail. The <code>htmail-decode</code> command extracts the mime parts of a mail before calling <code>htmail-view</code> to render the <em>text/html</em> part. This example binds the command as a key binding:</p>
<div class="highlight"><pre><span></span><span class="c1"># handover mail to htmail-view (works only for multipart mails containing text/html payload)</span>
macro index,pager H <span class="s2">"<pipe-message>htmail-decode<return>"</span> <span class="s2">"render html mail using htmail-view"</span>
</pre></div>needrestart 2.32015-09-19T20:38:00+02:002015-09-19T20:38:00+02:00Thomas Lisketag:fiasko.io,2015-09-19:/projects/needrestart-2.3.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 2.3</h4>
<ul>
<li>[Bug] Add lightdm to override.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791649">Debian Bug#791649</a> by Martin Steigerwald <martin@lichtvoll.de>)</li>
<li>[Bug] Do not try container detection in user mode.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791665">Debian Bug#791665</a> by Ansgar Burchardt <ansgar@debian.org>)</li>
<li>[Bug] Remove unsupported <span class="caps">HTML</span> markups from notifications.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791664">Debian Bug#791664</a> by Ansgar Burchardt <ansgar@debian.org>)</li>
<li>[Bug] Compare inodes of mapped files more reliable for chrooted
processes.
(github issue #11 by Markus Frosch <markus@lazyfrosch.de>)</li>
<li>[Kernel] Skip kernel detection within containers.</li>
<li>[<span class="caps">UI</span>] Add a quiet option to drop any progress messages.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=791708">Debian Bug#791708</a> by Rodrigo Campos <rodrigo@sdfg.com.ar>)</li>
<li>[Bug] Do not handle user services as system services.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=792032">Debian Bug#792032</a> by Ansgar Burchardt <ansgar@debian.org>)</li>
<li>[Bug] Fix cutting path names read from /proc/<span class="caps">PID</span>/maps at spaces
resulting in false-positives.</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 2.22015-05-26T23:56:00+02:002015-05-26T23:56:00+02:00Thomas Lisketag:fiasko.io,2015-05-26:/projects/needrestart-2.2.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 2.2</h4>
<ul>
<li>[regression] Processes using chroot were always detected as obsolete since missing binaries in /proc/<span class="caps">PID</span>/root/.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786584">Debian Bug#786584</a> by François Mescam <francois@mescam.org>)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 2.12015-05-22T01:45:00+02:002015-05-22T01:45:00+02:00Thomas Lisketag:fiasko.io,2015-05-22:/projects/needrestart-2.1.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd. If systemd is not available or does not return a service name <em>needrestart</em> uses hooks to identify the corresponding System V init script. If a process inside a container (<span class="caps">LXC</span>, docker) it suggests to restart the entire container. <em>needrestart</em> contains a heuristic for different interpreter languages: it tries to detect if outdated script code/modules are in use (Java, Perl, Python, Ruby).</p>
<h4>Changes in 2.1</h4>
<ul>
<li>[Bug] Ignore /usr/bin/apt-get.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784237">Debian Bug#784237</a> by Thijs Kinkhorst <thijs@debian.org>)</li>
<li>[Bug] Add override for systemd’s emergency.service and rescue.service.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784437">Debian Bug#784437</a>)</li>
<li>[Bug] Ignore Oil Runtime Compiler’s <span class="caps">JIT</span> files.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=786374">Debian Bug#786374</a> by Francois Mescam <francois@mescam.org>)</li>
<li>[Bug] Fix 2c037bc did broke the progressbar.
(Related to <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=768124">Debian Bug#768124</a>)</li>
<li>[Cont] Detect and suggest to restart containers:<ul>
<li>docker</li>
<li><span class="caps">LXC</span>
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783181">Debian Bug#783181</a> by Brian Minton <brian@minton.name>)</li>
</ul>
</li>
<li>[Core] Add nagios plugin mode (-p).
(github issue #5 by Ludovic Gasc [@GMLudo])</li>
<li>[Core] Use /proc/$<span class="caps">PID</span>/root to scan for files fixing false positives on
containers (i.e. <span class="caps">LXC</span>) using bind mounts.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=783181">Debian Bug#783181</a> by Brian Minton <brian@minton.name>)</li>
<li>[Interp] Skip scanning files with Interp/* if cwd is unknown.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=779832">Debian Bug#779832</a> by wforumw <wforumw@gmail.com>)</li>
<li>[Interp] Skip scanning files with Interp/* if cwd is unknown.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=779832">Debian Bug#779832</a> by wforumw <wforumw@gmail.com>)</li>
<li>[Kernel] Add kernel hints option not requiring an acknowledgement by
the user.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=769811">Debian Bug#769811</a> by Axel Beckert <abe@debian.org>)</li>
<li>[Kernel] Take version number comparing stuff from Dpkg::Version to
compare kernel versions correctly.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=781657">Debian Bug#781657</a> by Martin Steigerwald <Martin@Lichtvoll.de>)</li>
<li>[<span class="caps">UI</span>] Improve restart query in interactive mode (stdio).
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772859">Debian Bug#772859</a> by Axel Beckert <abe@debian.org>)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 2.02015-01-23T00:46:00+01:002015-01-23T00:46:00+01:00Thomas Lisketag:fiasko.io,2015-01-23:/projects/needrestart-2.0.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script. The shipped
hooks support the following package managers:</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>The <em>service</em> command is used to run the tradiditional System V init script.</p>
<h4>Changes in 2.0</h4>
<ul>
<li>[regression] List commands in list mode.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764042">Debian Bug#764042</a> by Paul Wise <pabs@debian.org>)</li>
<li>Add a conf.d/ directory.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764043">Debian Bug#764043</a> by Paul Wise <pabs@debian.org>)</li>
<li>[<span class="caps">UI</span>] Fix empty current/expected kernel version string used by debconf template.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=764917">Debian Bug#764917</a> by Laurent Bonnaud <L.Bonnaud@laposte.net>)</li>
<li>Don’t blacklist services by default but use a new override_rc option to don’t restart some critical services by default.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763937">Debian Bug#763937</a> by Christoph Anton Mitterer <calestyo@scientia.net>)</li>
<li>Don’t restart services greylisted in override_rc in auto mode.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770937">Debian Bug#770937</a> by Axel Beckert <abe@debian.org>)</li>
<li>[<span class="caps">UI</span>] Disable progress bar while running non-interactive.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=768124">Debian Bug#768124</a> by Phillip Berndt <phillip.berndt@googlemail.com>)</li>
<li>[<span class="caps">UI</span>] Fix warning on uninitialized values while reading from /dev/stdin.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=768124">Debian Bug#768124</a> by Phillip Berndt <phillip.berndt@googlemail.com>)</li>
<li>[Interp] Add basic Java detection support.</li>
<li>Add PolicyKit action file to allow needrestart-session to run needrestart as root.</li>
<li>[<span class="caps">UI</span>] Add <code>-f <fe></code> <span class="caps">CLI</span> parameter to allow to overwrite the DEBIAN_FRONTEND environment variable used by debconf(7).</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="https://github.com/liske/needrestart-session/releases/">needrestart-session releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>BIND9’s lawful interception against commercials2014-12-26T14:37:00+01:002014-12-26T14:37:00+01:00Thomas Lisketag:fiasko.io,2014-12-26:/projects/bind9-lawful-interception-vs-commercials.html.en<h2>Combine lawful interception…</h2>
<p>The internet domain name server <em><span class="caps">BIND9</span></em> has a build-in lawful interception
feature called <em>Response Policy Zones</em>. This feature can be used for a recursive
dns server to fight against commercials and malicious internet services (aka websites).</p>
<p>There is an <a href="http://www.circleid.com/posts/20120103_dns_firewalls_in_action_rpz_vs_spam/">article of Paul Vixie</a>
showing howto use the …</p><h2>Combine lawful interception…</h2>
<p>The internet domain name server <em><span class="caps">BIND9</span></em> has a build-in lawful interception
feature called <em>Response Policy Zones</em>. This feature can be used for a recursive
dns server to fight against commercials and malicious internet services (aka websites).</p>
<p>There is an <a href="http://www.circleid.com/posts/20120103_dns_firewalls_in_action_rpz_vs_spam/">article of Paul Vixie</a>
showing howto use the <span class="caps">RPZ</span> feature with public (commercial) <span class="caps">RPZ</span> providers. Since
using a remote <span class="caps">RPZ</span> zone enables the <span class="caps">RPZ</span> provider to track <span class="caps">DNS</span> queries of your
local recursive dns server you should only use local copies of the zone (using
ordinary dns zone transfers).</p>
<p>In the following setup I used the dns zone name <code>rpz.fiasko-nw.net</code>. To setup your own
<span class="caps">RPZ</span> based filtering you should replace it by a local dns zone name. You need a <em><span class="caps">BIND9</span></em>
version ≥9.8 - I’ve tested it successfully with the <em><span class="caps">BIND9</span></em> package shipped with
<em><a href="https://www.debian.org/">Debian</a></em>‘s <em>squeeze-backports</em>, <em>wheezy</em> and <em>jessie</em> releases.</p>
<h2>…with a commercials blacklist</h2>
<p>There are websites providing hosts files to fight commercials on local desktop
computers or rooted Android devices. Changing the hosts file of multiple (<span class="caps">SOHO</span>) devices
is expensive and might be impossible (non-rooted Androids, Apple devices etc.).
Combining <em><span class="caps">BIND9</span></em>‘s <span class="caps">RPZ</span> feature with hosts file content gives a easy
home-made “commercials” dns firewall.</p>
<p>In my example I use the hosts list from <a href="http://pgl.yoyo.org/as/">http://pgl.yoyo.org/as/</a>.
The list can be downloaded as plaintext with one host per line. You just need to convert it
into a valid zone file and configure your local recursive <em><span class="caps">BIND9</span></em> to use it as a <span class="caps">RPZ</span> filter.</p>
<h2>Building the zone file…</h2>
<p>The following basic script builds a valid zone file (requires <em>curl</em>). The
zone filename can be provided as parameter and defaults to <code>db/rpz.fiasko-nw.net</code>.</p>
<div class="highlight"><pre><span></span><span class="ch">#!/bin/sh -e</span>
<span class="nv">asurl</span><span class="o">=</span><span class="s1">'http://pgl.yoyo.org/as/serverlist.php?hostformat=nohtml'</span>
<span class="nv">zfn</span><span class="o">=</span><span class="si">${</span><span class="nv">1</span><span class="k">:-</span><span class="nv">db</span><span class="p">/rpz.fiasko-nw.net</span><span class="si">}</span>
<span class="nb">echo</span> <span class="s2">"Building zone '</span><span class="nv">$zfn</span><span class="s2">.new'..."</span>
<span class="nb">echo</span> <span class="s1">'$TTL 900</span>
<span class="s1">@ IN SOA localhost. root.localhost. (</span>
<span class="s1"> %SERIAL% ; serial</span>
<span class="s1"> 14400 ; refresh</span>
<span class="s1"> 1800 ; retry</span>
<span class="s1"> 604800 ; expire</span>
<span class="s1"> 86400 ) ; minimum</span>
<span class="s1">'</span> <span class="p">|</span> sed -e <span class="s1">'s/%SERIAL%/'</span><span class="sb">`</span>date +%Y%m%d%H<span class="sb">`</span><span class="s1">'/'</span> > <span class="s2">"</span><span class="nv">$zfn</span><span class="s2">.new"</span>
<span class="nv">state</span><span class="o">=</span><span class="m">0</span>
curl -s <span class="s2">"</span><span class="nv">$asurl</span><span class="s2">"</span> <span class="p">|</span> <span class="k">while</span> <span class="nb">read</span> line<span class="p">;</span> <span class="k">do</span>
<span class="nb">printf</span> <span class="s1">'%-40s CNAME .\n'</span> <span class="s2">"</span><span class="nv">$line</span><span class="s2">"</span> >> <span class="s2">"</span><span class="nv">$zfn</span><span class="s2">.new"</span>
<span class="k">done</span>
<span class="nb">echo</span> <span class="s1">'Reloading bind...'</span>
mv <span class="s2">"</span><span class="nv">$zfn</span><span class="s2">.new"</span> <span class="s2">"</span><span class="nv">$zfn</span><span class="s2">"</span>
service bind9 reload
</pre></div>
<p>You might need to tune the script for your requirements like adding <span class="caps">NS</span> records
to make zone transfers more reliable etc. Lookups for blacklisted hostnames results
in a <em><span class="caps">NXDOMAIN</span></em> dns response since the <span class="caps">RPZ</span> records are pointing to <code>.</code>. See also
<a href="http://ftp.isc.org/isc/bind9/cur/9.8/doc/arm/Bv9ARM.ch06.html#id2587964">Chapter 6. <span class="caps">BIND</span> 9 Configuration Reference</a>
to get a list of available responses.</p>
<p>The <span class="caps">RPZ</span> zone <code>rpz.fiasko-nw.net</code> is configured as any normal zone within <em><span class="caps">BIND9</span></em>:</p>
<div class="highlight"><pre><span></span><span class="k">zone</span> <span class="ss">"rpz.fiasko-nw.net"</span> <span class="k">IN</span> <span class="err">{</span>
<span class="k">type</span> <span class="n">master</span><span class="p">;</span>
<span class="n">file</span> <span class="ss">"/etc/bind/db/rpz.fiasko-nw.net"</span><span class="p">;</span>
<span class="err">}</span><span class="p">;</span>
</pre></div>
<p>If you have multiple dns servers this zone can be distributed using normal zone transfers.</p>
<h2>…and enabling <span class="caps">RPZ</span></h2>
<p>To enable <span class="caps">RPZ</span> add the following statements to the global <code>options</code> block:</p>
<div class="highlight"><pre><span></span><span class="k">options</span> <span class="err">{</span>
<span class="o">//</span> <span class="p">...</span>
<span class="n">response</span><span class="o">-</span><span class="n">policy</span> <span class="err">{</span>
<span class="k">zone</span> <span class="ss">"rpz.fiasko-nw.net"</span><span class="p">;</span>
<span class="err">}</span><span class="p">;</span>
<span class="err">}</span>
</pre></div>
<p>You could also add multiple <span class="caps">RPZ</span> zone lookups. After reloading <em><span class="caps">BIND9</span></em> you should
see some log entries whenever someone triggeres a <span class="caps">RPZ</span> hit:</p>
<div class="highlight"><pre><span></span><span class="nb">Dec</span> <span class="mi">26</span> <span class="mi">11</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">18</span> <span class="n">XXXXXXXX</span> <span class="n">named</span><span class="p">[</span><span class="mi">12361</span><span class="p">]:</span> <span class="n">client</span> <span class="mi">192</span><span class="p">.</span><span class="mi">168</span><span class="p">.</span><span class="mi">0</span><span class="p">.</span><span class="mi">29</span><span class="o">#</span><span class="mi">33322</span><span class="p">:</span> <span class="n">rpz</span> <span class="n">QNAME</span> <span class="n">NXDOMAIN</span> <span class="n">rewrite</span> <span class="n">www</span><span class="o">-</span><span class="n">google</span><span class="o">-</span><span class="n">analytics</span><span class="p">.</span><span class="n">l</span><span class="p">.</span><span class="n">google</span><span class="p">.</span><span class="n">com</span> <span class="n">via</span> <span class="n">www</span><span class="o">-</span><span class="n">google</span><span class="o">-</span><span class="n">analytics</span><span class="p">.</span><span class="n">l</span><span class="p">.</span><span class="n">google</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">rpz</span><span class="p">.</span><span class="n">fiasko</span><span class="o">-</span><span class="n">nw</span><span class="p">.</span><span class="n">net</span>
<span class="nb">Dec</span> <span class="mi">26</span> <span class="mi">12</span><span class="p">:</span><span class="mi">13</span><span class="p">:</span><span class="mi">38</span> <span class="n">YYYYYYYY</span> <span class="n">named</span><span class="p">[</span><span class="mi">27111</span><span class="p">]:</span> <span class="n">client</span> <span class="mi">127</span><span class="p">.</span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="o">#</span><span class="mi">36221</span> <span class="p">(</span><span class="n">www</span><span class="p">.</span><span class="n">clickz</span><span class="p">.</span><span class="n">com</span><span class="p">):</span> <span class="n">rpz</span> <span class="n">QNAME</span> <span class="n">NXDOMAIN</span> <span class="n">rewrite</span> <span class="n">clickz</span><span class="p">.</span><span class="n">com</span> <span class="n">via</span> <span class="n">clickz</span><span class="p">.</span><span class="n">com</span><span class="p">.</span><span class="n">rpz</span><span class="p">.</span><span class="n">fiasko</span><span class="o">-</span><span class="n">nw</span><span class="p">.</span><span class="n">net</span>
</pre></div>
<p>Compare google’s dns response vs. the local dns server:</p>
<div class="highlight"><pre><span></span><span class="gp">$</span> host www-google-analytics.l.google.com <span class="m">8</span>.8.8.8
<span class="go">Using domain server:</span>
<span class="go">Name: 8.8.8.8</span>
<span class="go">Address: 8.8.8.8#53</span>
<span class="go">Aliases: </span>
<span class="go">www-google-analytics.l.google.com has address 74.125.133.138</span>
<span class="go">www-google-analytics.l.google.com has address 74.125.133.100</span>
<span class="go">www-google-analytics.l.google.com has address 74.125.133.101</span>
<span class="go">www-google-analytics.l.google.com has address 74.125.133.102</span>
<span class="go">www-google-analytics.l.google.com has address 74.125.133.139</span>
<span class="go">www-google-analytics.l.google.com has address 74.125.133.113</span>
<span class="go">www-google-analytics.l.google.com has IPv6 address 2a00:1450:4005:808::1008</span>
<span class="gp">$</span> host www-google-analytics.l.google.com
<span class="go">Host www-google-analytics.l.google.com not found: 3(NXDOMAIN)</span>
</pre></div>
<h2>Conclusions</h2>
<p><em><span class="caps">BIND9</span></em>‘s lawful interception feature helps building <span class="caps">DNS</span> blacklist for protecting
from commercials and malware. But the feature can be easily misused to redirect
traffic relaying on dns. Just be aware… if your <span class="caps">ISP</span>’s or Google’s dns server
are using this feature…</p>
<p>Read more on <span class="caps">RPZ</span> at <em>Jan-Piet Mens</em>‘s blog:</p>
<ul>
<li><a href="http://jpmens.net/2011/04/26/how-to-configure-your-bind-resolvers-to-lie-using-response-policy-zones-rpz/">How to configure your <span class="caps">BIND</span> resolvers to lie using Response Policy Zones (<span class="caps">RPZ</span>)</a></li>
<li><a href="http://jpmens.net/2011/10/24/rpz-revisited/"><span class="caps">RPZ</span> revisited</a></li>
</ul>needrestart 1.2-62014-12-05T01:53:00+01:002014-12-05T01:53:00+01:00Thomas Lisketag:fiasko.io,2014-12-05:/projects/needrestart-1.2-6.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script. The shipped
hooks support the following package managers:</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>The <em>service</em> command is used to run the tradiditional System V init script.</p>
<h4>Changes in 1.2-6</h4>
<p>Several patches have been added to the <em>needrestart</em> 1.2 packages in the
upcomming <em>Debian jessie</em> release. This release is based on needrestart 1.2
and contains all the patches being part of the needrestart package 1.2-6
in Debian:</p>
<ul>
<li>01-add-conf.d-directory: support conf.d directory (Closes: #764043)</li>
<li>02-regression-commands-in-list-mode: fix a regression in list mode (Closes: #764042)</li>
<li>03-fix-empty-kernel-version-string fix displaying the running kernel version (Closes: #764917)</li>
<li>04-prefer-services-over-rc.d: prevent restarting services twice</li>
<li>05-dont-blacklist-services: add support for the new override_rc option and does not automatic restart services (Closes: #763937)</li>
<li>06-fix-version-number-string; fix the reported version number</li>
<li>07-fix-warnings-without-tty: fix Perl warnings, if no <span class="caps">TTY</span> is available (Closes: #768124)</li>
<li>08-fix-broken-debconf: fix a debconf hang up if no kernel image is available (Closes: #767370)</li>
<li>09-add-some-overrides: prevent automatic restarts of gettys and mythtv-backend</li>
<li>10-respect-override-auto: do not restart services with overrides in auto mode (Closes #770937)</li>
<li>11-systemd-journald-workaround to add systemd-journald to override_rc as a workaround tue to #771122 (Closes: #771254)</li>
<li>12-ignore-systemd-user-sessions: ignore user sessions (Closes: #771348)</li>
<li>13-falsepos-aio-fix: skip <span class="caps">POSIX</span> async I/O mappings to prevent false positive restarts</li>
<li>14-wpa_supplicant-override: ignore wpa_supplicant</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 1.22014-09-28T23:49:00+02:002014-09-28T23:49:00+02:00Thomas Lisketag:fiasko.io,2014-09-28:/projects/needrestart-1.2.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script. The shipped
hooks support the following package managers:</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>The <em>service</em> command is used to run the tradiditional System V init script.</p>
<h4>Changes in 1.2</h4>
<ul>
<li>Prepare po-debconf usage and add German translation.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761068">Debian Bug#761068</a> by David Prévot <taffit@debian.org>)</li>
<li>Drop dependency on <code>Term::ProgressBar::Simple</code>.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761192">Debian Bug#761192</a> by Thijs Kinkhorst <thijs@debian.org>)</li>
<li>Fix blacklist to match upgraded binaries (dpkg).
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761346">Debian Bug#761346</a> by Paul Wise <pabs@debian.org>)</li>
<li>Fix detection of unit names on systemd 215+.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762312">Debian Bug#762312</a> by Sven Hartge <sven@svenhartge.de>)</li>
<li>Ignore special paths (<code>SYSV IPC</code>, <code>DRM</code>, <code>/dev</code>), fixing some false positives.</li>
<li>Add service blacklist configuration option to fix display manager blacklisting with systemd.</li>
<li>Handle restarts of systemd manager and sysv init using their specific commands.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762528">Debian Bug#762528</a> by Paul Wise <pabs@debian.org>)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 1.12014-08-16T09:57:00+02:002014-08-16T09:57:00+02:00Thomas Lisketag:fiasko.io,2014-08-16:/projects/needrestart-1.1.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script. The shipped
hooks support the following package managers:</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>The <em>service</em> command is used to run the tradiditional System V init script.</p>
<h4>Changes in 1.1</h4>
<ul>
<li>Ignore <span class="caps">DHCP</span> clients.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752111">Debian Bug#752111</a> by Axel Beckert <abe@debian.org>)</li>
<li>Add options allowing to select which check should be performed.
(Proposed by Axel Beckert <abe@debian.org>)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 1.02014-06-17T15:21:00+02:002014-06-17T15:21:00+02:00Thomas Lisketag:fiasko.io,2014-06-17:/projects/needrestart-1.0.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script. The shipped
hooks support the following package managers:</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>The <em>service</em> command is used to run the tradiditional System V init script.</p>
<h4>Changes in 1.0</h4>
<ul>
<li>Fix grammar errors and use a additional debconf template.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748652">Debian Bug#748652</a> by Justin B Rye <justin.byam.rye@gmail.com>)</li>
<li>Ignore device <span class="caps">ID</span> in <code>/proc/<pid>/maps</code> on kFreeBSD.
(Reported by Axel Beckert <abe@debian.org>).</li>
<li>Ignore device <span class="caps">ID</span> for unnamed devices due to broken implementation on btrfs.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750734">Debian Bug#750734</a> by Frederik Himpe <fhimpe@vub.ac.be>)</li>
<li>Skip scanning of needrestart process.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=751877">Debian Bug#751877</a> by Thijs Kinkhorst <thijs@debian.org>)</li>
<li>[<span class="caps">UI</span>] Drop <span class="caps">UI</span> specific progress indicators, use <em>Term::ProgressBar::Simple</em> to minimize disruption of the terminal.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748758">Debian Bug#748758</a> by Thijs Kinkhorst <thijs@debian.org>)</li>
<li>[<span class="caps">UI</span>] Support ‘backup’ capability of Debconf.</li>
<li>[Interp] Fix include path retrieval on python3.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750589">Debian Bug#750589</a> by Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>)</li>
<li>[Interp] Handle errors on python include path retrieval gracefully.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750589">Debian Bug#750589</a> by Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 0.92014-05-11T22:48:00+02:002014-05-11T22:48:00+02:00Thomas Lisketag:fiasko.io,2014-05-11:/projects/needrestart-0.9.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script. The shipped
hooks support the following package managers:</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>The <em>service</em> command is used to run the tradiditional System V init script.</p>
<h4>Changes in 0.9</h4>
<ul>
<li>Drop external dependency on strings command from binutils.</li>
<li>Fix “<em>uninitialized value</em>” by apparent kernel threads.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746363">Debian Bug#746363</a> by Axel Beckert <abe@debian.org>)</li>
<li>Read kernel version from x86 kernel boot header and handle uncompressed kernel images.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746550">Debian Bug#746550</a> by Axel Beckert <abe@debian.org>)</li>
<li>Several small bugfixes:<ul>
<li>[Interp] initial source file detection broken due using getopt instead of getopts (Debian Bug#746363 by Axel Beckert <abe@debian.org>)</li>
<li>[<span class="caps">UI</span>] fix newlines in Debconf template</li>
<li>[<span class="caps">UI</span>] fix “<em>No such file or directory</em>” triggered by stdio
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746550">Debian Bug#746550</a> by Axel Beckert <abe@debian.org>)</li>
<li>[Interp] Use source file instead of <code>/proc/<pid>/exe</code> to find package.</li>
</ul>
</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 0.82014-04-27T10:15:00+02:002014-04-27T10:15:00+02:00Thomas Lisketag:fiasko.io,2014-04-27:/projects/needrestart-0.8.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd.
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script. The shipped
hooks support the following package managers:</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>The <em>service</em> command is used to run the tradiditional System V init script.</p>
<h4>Changes in 0.8</h4>
<ul>
<li>Fix non-numeric argument on progress_prep call.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744961">Debian Bug#744961</a> by Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>)</li>
<li><strong>Feature:</strong> interpreter support enables needrestart to look for obsolete source files in scripting languages:<ul>
<li><em>Perl</em>: using Module::ScanDeps</li>
<li><em>Python</em>: using home made source file scanning</li>
<li><em>Ruby</em>: using home made source file scanning</li>
</ul>
</li>
<li><strong>Feature:</strong> detect running on obsolete kernels
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=745270">Debian Bug#745270</a> by Paul Wise <pabs@debian.org>)</li>
<li><code>NeedRestart::UI::Dialog</code>: has been dropped</li>
<li><code>NeedRestart::UI::stdio</code>: add mass processing</li>
<li>Several small bugfixes.</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 0.72014-04-14T21:50:00+02:002014-04-14T21:50:00+02:00Thomas Lisketag:fiasko.io,2014-04-14:/projects/needrestart-0.7.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd (available since v0.6).
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd (available since v0.6).
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script. The shipped
hooks support the following package managers:</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>The <em>service</em> command is used to run the tradiditional System V init script.</p>
<h4>Changes in 0.7</h4>
<ul>
<li>Improved rc script detection, e.g.: previous releases failed to
detect apache2’s init script after upgrading libssl1.0.0.</li>
<li>Handle Linux VServer naming convention on deleted binaries.
(Thanks to Phillip Berndt [<a href="https://github.com/phillipberndt">@phillipberndt</a>])</li>
<li>Support <span class="caps">GNU</span> formatted device ids.
(<a href="https://github.com/liske/needrestart/pull/1">github issue #1</a> by Phillip Berndt [<a href="https://github.com/phillipberndt">@phillipberndt</a>])</li>
<li>Hooks: Use only available package managers.</li>
<li>Hooks: Ignore hooks not returning any rc scripts
(fixes detecting apache2’s rc script).</li>
<li>Hooks: Prefer rc scripts w/ matching pid
(fixes calling unnecessary rc scripts like libvirt-guests).</li>
<li>Improve rc script detection by using a two pass analysis.</li>
<li>Fallback to NeedRestart::<span class="caps">UI</span>::stdio while being verbose.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744000">Debian Bug#744000</a> by Paul Wise <pabs@debian.org>)</li>
<li>Add default <span class="caps">UI</span> configuration option.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744001">Debian Bug#744001</a> by Paul Wise <pabs@debian.org>)</li>
<li>Apply blacklist while processing parent processes.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744002">Debian Bug#744002</a> by Paul Wise <pabs@debian.org>)</li>
<li>Apply Debian’s <code>01-makefile-fix.diff</code> upstream.</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 0.62014-04-07T22:52:00+02:002014-04-07T22:52:00+02:00Thomas Lisketag:fiasko.io,2014-04-07:/projects/needrestart-0.6.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd (available since v0.6).
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding …</p><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library
upgrades. It is inspired by <em>checkrestart</em> from the <em>debian-goodies</em> package.</p>
<p><em>needrestart</em> supports but does not require systemd (available since v0.6).
If systemd is not available or does not return a service name <em>needrestart</em>
uses hooks to identify the corresponding System V init script. The shipped
hooks support the following package managers:</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>The <em>service</em> command is used to run the tradiditional System V init script.</p>
<h4>Changes in 0.6</h4>
<ul>
<li>Add lightdm to blacklist.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735027">Debian Bug#735027</a> by Michael Gilbert <mgilbert@debian.org>)</li>
<li>Print eval exception message on config file errors.</li>
<li>Use systemd if available.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=731028">Debian Bug#731028</a> by Paul Wise <pabs@debian.org>)</li>
<li>Use service to run traditional SysV scripts.</li>
<li>Change batch processing output.</li>
<li>Print full restart commands in list mode.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=731028">Debian Bug#731028</a> by Paul Wise <pabs@debian.org>)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 0.52014-01-02T19:56:00+01:002014-01-02T19:56:00+01:00Thomas Lisketag:fiasko.io,2014-01-02:/projects/needrestart-0.5.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by checkrestart from the debian-goodies package.
It does not rely on lsof as checkrestart does.</p>
<p>Supported package manager backends (for init script retrieval):</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<h4>Changes in 0.5</h4>
<ul>
<li>Ignore mapped files in /tmp.</li>
<li>Handle …</li></ul><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by checkrestart from the debian-goodies package.
It does not rely on lsof as checkrestart does.</p>
<p>Supported package manager backends (for init script retrieval):</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<h4>Changes in 0.5</h4>
<ul>
<li>Ignore mapped files in /tmp.</li>
<li>Handle <span class="caps">LSB</span> tags case insensitivly.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=731165">Debian Bug#731165</a> by Christian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>)</li>
<li>Prevent config file in dpkg.cfg.d to break dpkg after removing needrestart.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732461">Debian Bug#732461</a> by Andreas Beckmann <anbe@debian.org>)</li>
</ul>
<h4>See also</h4>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>readout 0.12013-12-28T17:20:00+01:002013-12-28T17:20:00+01:00Thomas Lisketag:fiasko.io,2013-12-28:/projects/readout.html.en<p><em>readout</em> does text to speech convertion using <a href="http://www.syndicat.com/open_source/google/perl/googletts/">Speech::Google::<span class="caps">TTS</span></a> of
Niels Dettenbach. It could be used for short texts supplied as
command line arguments. <em>readout</em> does local caching, the Google stuff is only used for new texts.</p>
<p>It could be used for home automation or monitoring stuff (“speaking nagios …</p><p><em>readout</em> does text to speech convertion using <a href="http://www.syndicat.com/open_source/google/perl/googletts/">Speech::Google::<span class="caps">TTS</span></a> of
Niels Dettenbach. It could be used for short texts supplied as
command line arguments. <em>readout</em> does local caching, the Google stuff is only used for new texts.</p>
<p>It could be used for home automation or monitoring stuff (“speaking nagios”).</p>
<h2>usage</h2>
<div class="highlight"><pre><span></span>$ ./readout <first text block><span class="o">[</span><span class="p">|</span> <second text block> <span class="o">[</span><span class="p">|</span> <third text block><span class="o">]</span> ...<span class="o">]</span>
/home/thomas/.cache/readout/lang-en/tts_Us2s8Z.wav
/home/thomas/.cache/readout/lang-en/tts_lKj319.wav
/home/thomas/.cache/readout/lang-en/tts_IH_kBH.wav
...
</pre></div>
<p>Texts blocks can be splitted by pipes (‘|’). Each block is written to a single
file. This can be used to improve caching.</p>
<p>For playback you might pipe it into <em>xargs</em> like this:</p>
<div class="highlight"><pre><span></span>$ ./readout Hello World<span class="se">\!</span> <span class="p">|</span> xargs aplay
Playing WAVE <span class="s1">'/home/thomas/.cache/readout/lang-en/tts_9c__3k.wav'</span> : Signed <span class="m">16</span> bit Little Endian, Rate <span class="m">16000</span> Hz, Mono
</pre></div>
<p>The language is derived from the environment variable <code>LANG</code>. Languages can
be enforced by setting the <code>READOUT_LANG</code> environment variable.</p>
<h2>downloads</h2>
<p>Releases can be downloaded at <a href="https://github.com/liske/readout/releases">github.com</a>.</p>
<p><span class="caps">VCS</span>: <a href="https://github.com/liske/readout">https://github.com/liske/readout</a></p>
<h2>install</h2>
<p>The following software is required:</p>
<ul>
<li><a href="http://www.syndicat.com/open_source/google/perl/googletts/">Speech::Google::<span class="caps">TTS</span></a></li>
<li>mpg123</li>
</ul>needrestart 0.42013-11-28T19:30:00+01:002013-11-28T19:30:00+01:00Thomas Lisketag:fiasko.io,2013-11-28:/projects/needrestart-0.4.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by checkrestart from the debian-goodies package.
It does not rely on lsof as checkrestart does.</p>
<p>Supported package manager backends (for init script retrieval):</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>Changes in 0.4:</p>
<ul>
<li>Fix spelling:<ul>
<li>typo in debconf template …</li></ul></li></ul><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by checkrestart from the debian-goodies package.
It does not rely on lsof as checkrestart does.</p>
<p>Supported package manager backends (for init script retrieval):</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>Changes in 0.4:</p>
<ul>
<li>Fix spelling:<ul>
<li>typo in debconf template (s/restartet/restarted/;)
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=723935 by Axel Beckert <abe@debian.org>">Debian Bug#723935</a></li>
<li>debconf template title (s/orphaned/outdated/;)
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=723935 by Justin B Rye <justin.byam.rye@gmail.com>">Debian Bug#723935</a></li>
</ul>
</li>
<li>Fix progress bar increase to grow up to 100%:<ul>
<li>binaries were counted twice</li>
<li>kernel threads did not increase progress</li>
</ul>
</li>
<li>Demand restart of deleted binaries.</li>
<li>Add sudo binary to example blacklist.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=725937">Debian Bug#725937</a> by Jim Barber <a href="mailto:jim.barber@ddihealth.com">jim.barber@ddihealth.com</a>)</li>
<li>Drop version number from man page.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=729997">Debian Bug#729997</a> by Raf Czlonka <a href="mailto:rafal.czlonka@gmail.com">rafal.czlonka@gmail.com</a>)</li>
<li>NeedRestart::<span class="caps">UI</span>::Debconf: Fix return code handling if readline is used as debconf frontend.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=729997">Debian Bug#729997</a> by Raf Czlonka <a href="mailto:rafal.czlonka@gmail.com">rafal.czlonka@gmail.com</a>)</li>
</ul>
<p>See also:</p>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 0.32013-09-14T12:55:00+02:002013-09-14T12:55:00+02:00Thomas Lisketag:fiasko.io,2013-09-14:/projects/needrestart-0.3.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by checkrestart from the debian-goodies package.
It does not rely on lsof as checkrestart does.</p>
<p>Supported package manager backends (for init script retrieval):</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>Changes in 0.3:</p>
<ul>
<li>Fix typo reported by Patrick Matthäi …</li></ul><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by checkrestart from the debian-goodies package.
It does not rely on lsof as checkrestart does.</p>
<p>Supported package manager backends (for init script retrieval):</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>Changes in 0.3:</p>
<ul>
<li>Fix typo reported by Patrick Matthäi.</li>
<li>Add man page provided by Patrick Matthäi (Debian).</li>
<li>Offer restart on non-existing mappings.</li>
<li>Add PacMan hook.</li>
<li>Be more fault-tolerant in batch mode.</li>
<li>Provide a more sophisticated apt/dpkg trigger.</li>
<li>Fix ignored -r command line parameter.
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721809">Debian Bug#721809</a> by Axel Beckert <a href="mailto:abe@debian.org">abe@debian.org</a>)</li>
<li>Ignore forked/detached daemon childs (pidfile heuristic).
(<a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721810">Debian Bug#721810</a> by Axel Beckert <a href="mailto:abe@debian.org">abe@debian.org</a>)</li>
<li>Provide modular <span class="caps">UI</span> including debconf and dialog based frontends.</li>
<li>Ignore binaries due blacklist config option.</li>
</ul>
<p>See also:</p>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>needrestart 0.22013-04-02T21:53:00+02:002013-04-02T21:53:00+02:00Thomas Lisketag:fiasko.io,2013-04-02:/projects/needrestart-0.2.html.en<p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by checkrestart from the debian-goodies package.
It does not rely on lsof as checkrestart does.</p>
<p>Supported package manager backends (for init script retrieval):</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>See also:</p>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul><p><a href="https://github.com/liske/needrestart">needrestart</a> checks which daemons need to be restarted after library upgrades. It is inspired by checkrestart from the debian-goodies package.
It does not rely on lsof as checkrestart does.</p>
<p>Supported package manager backends (for init script retrieval):</p>
<ul>
<li>dpkg</li>
<li>rpm</li>
<li>pacman</li>
</ul>
<p>See also:</p>
<ul>
<li><a href="https://github.com/liske/needrestart/releases/">needrestart releases</a></li>
<li><a href="http://packages.debian.org/needrestart">official Debian packages</a></li>
</ul>imvirt - I’m virtualized?2012-09-14T23:30:00+02:002012-09-14T23:30:00+02:00Thomas Lisketag:fiasko.io,2012-09-14:/projects/imvirt.html.en<p>This little perl script tries to detect if it is called from within a virtualization container.
This is detected by looking for well-known boot messages, directories and reading <span class="caps">DMI</span> (Desktop Management Interface) data.</p>
<p>The following containers are detected:</p>
<ul>
<li>Virtual <span class="caps">PC</span>/Virtual Server</li>
<li>VirtualBox</li>
<li>VMware</li>
<li><span class="caps">QEMU</span>/<span class="caps">KVM</span> (experimental)</li>
<li>Xen (para and …</li></ul><p>This little perl script tries to detect if it is called from within a virtualization container.
This is detected by looking for well-known boot messages, directories and reading <span class="caps">DMI</span> (Desktop Management Interface) data.</p>
<p>The following containers are detected:</p>
<ul>
<li>Virtual <span class="caps">PC</span>/Virtual Server</li>
<li>VirtualBox</li>
<li>VMware</li>
<li><span class="caps">QEMU</span>/<span class="caps">KVM</span> (experimental)</li>
<li>Xen (para and non-para virtualized)</li>
<li>OpenVZ/Virtuozzo</li>
<li><span class="caps">UML</span></li>
<li>any <span class="caps">HVM</span> providing <span class="caps">CPUID</span> 0x40000000 detection</li>
</ul>
<p>The tool will print exactly one line. The result has the following meaning:</p>
<table>
<thead>
<tr>
<th>Line</th>
<th>Detected container</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="caps">HVM</span>: <signature></td>
<td>signature of an unknown hypervisor<sup id="fnref3:v0.3"><a class="footnote-ref" href="#fn:v0.3">1</a></sup></td>
</tr>
<tr>
<td>VirtualBox</td>
<td>VirtualBox</td>
</tr>
<tr>
<td>Virtual Machine</td>
<td>Microsoft Virtual <span class="caps">PC</span>/Virtual Server</td>
</tr>
<tr>
<td>VMware</td>
<td>VMware Virtual Platform</td>
</tr>
<tr>
<td>VMware (Express</td>
<td><span class="caps">ESX</span> Server</td>
</tr>
<tr>
<td>OpenVZ</td>
<td>OpenVZ/Virtuosso<sup id="fnref2:v0.3"><a class="footnote-ref" href="#fn:v0.3">1</a></sup></td>
</tr>
<tr>
<td>Physical</td>
<td>This is a physical machine or a not detected container.</td>
</tr>
<tr>
<td><span class="caps">QEMU</span></td>
<td><span class="caps">QEMU</span>/<span class="caps">KVM</span> (based)</td>
</tr>
<tr>
<td><span class="caps">UML</span></td>
<td>User Mode Linux*</td>
</tr>
<tr>
<td>Xen</td>
<td>Xen hypervisor</td>
</tr>
<tr>
<td>Xen 3.x (<span class="caps">PV</span>|<span class="caps">HVM</span>)</td>
<td>Xen hypervisor<sup id="fnref:v0.3"><a class="footnote-ref" href="#fn:v0.3">1</a></sup></td>
</tr>
<tr>
<td>lguest</td>
<td>Lguest: The Simple x86 Hypervisor<sup id="fnref:v0.9.1"><a class="footnote-ref" href="#fn:v0.9.1">2</a></sup></td>
</tr>
<tr>
<td>ARAnyM</td>
<td>Atari Running on Any Machine<sup id="fnref2:v0.9.3"><a class="footnote-ref" href="#fn:v0.9.3">3</a></sup></td>
</tr>
<tr>
<td><span class="caps">LXC</span></td>
<td>Linux Containers<sup id="fnref:v0.9.3"><a class="footnote-ref" href="#fn:v0.9.3">3</a></sup></td>
</tr>
</tbody>
</table>
<p>There are simular packages for detecting virtualization containers available:</p>
<ul>
<li><a href="http://et.redhat.com/~rjones/virt-what/">virt-what</a> from <em>Richard Jones</em> at <em>Red Hat</em></li>
<li><a href="http://www.dmo.ca/blog/perl-module-for-virtualization-detection/">Perl module for detecting virtualization</a> from <em>Dave O’Neill</em></li>
</ul>
<h2>Downloads</h2>
<p>The most current version is 0.9.5 (view <a href="https://github.com/DE-IBH/imvirt/blob/0db98acadb8bc7613c99f4baf23ab11210bbef6e/ChangeLog">ChangeLog</a>).</p>
<p>Source packages can be found <a href="https://sourceforge.net/projects/imvirt/files/">here</a>.</p>
<p>There are official Debian packages available <a href="http://packages.debian.org/imvirt">here</a>.</p>
<p><span class="caps">VCS</span>: <a href="https://github.com/DE-IBH/imvirt">https://github.com/<span class="caps">DE</span>-<span class="caps">IBH</span>/imvirt</a></p>
<h2>Portable</h2>
<p>There is a portable ImVirt version (<em>imvirtp</em>) available. It is a self-contained perl script (using <em><span class="caps">PAR</span> Packager</em>). Downloads are available at <a href="https://github.com/DE-IBH/imvirt/downloads">github</a>.</p>
<div class="footnote">
<hr>
<ol>
<li id="fn:v0.3">
<p>available since imvirt 0.3 <a class="footnote-backref" href="#fnref:v0.3" title="Jump back to footnote 1 in the text">↩</a><a class="footnote-backref" href="#fnref2:v0.3" title="Jump back to footnote 1 in the text">↩</a><a class="footnote-backref" href="#fnref3:v0.3" title="Jump back to footnote 1 in the text">↩</a></p>
</li>
<li id="fn:v0.9.1">
<p>available since imvirt 0.9.1 <a class="footnote-backref" href="#fnref:v0.9.1" title="Jump back to footnote 2 in the text">↩</a></p>
</li>
<li id="fn:v0.9.3">
<p>available since imvirt 0.9.3 <a class="footnote-backref" href="#fnref:v0.9.3" title="Jump back to footnote 3 in the text">↩</a><a class="footnote-backref" href="#fnref2:v0.9.3" title="Jump back to footnote 3 in the text">↩</a></p>
</li>
</ol>
</div>apt-dater2012-05-29T14:22:00+02:002012-05-29T14:22:00+02:00Thomas Lisketag:fiasko.io,2012-05-29:/projects/apt-dater.html.en<p><em>apt-dater</em> is a terminal-based remote package update manager. See also the <a href="http://www.ibh.de/apt-dater/">project homepage</a>.</p><p><em>apt-dater</em> is a terminal-based remote package update manager. See also the <a href="http://www.ibh.de/apt-dater/">project homepage</a>.</p>Agentless Universal Shutdown2012-04-21T21:40:00+02:002012-04-21T21:40:00+02:00Thomas Lisketag:fiasko.io,2012-04-21:/projects/aus.html.en<p><a href="https://github.com/DE-IBH/aus">Agentless Universal Shutdown</a> is a Perl based, multiplatform network
shutdown framework. It provides shutdown plugins for <span class="caps">SSH</span>, Windows <span class="caps">RPC</span>,
<span class="caps">HP</span> iLO, VMware <span class="caps">ESX</span> and XenServer (including virtual machines) w/o
requiring any software installed on the servers.</p><p><a href="https://github.com/DE-IBH/aus">Agentless Universal Shutdown</a> is a Perl based, multiplatform network
shutdown framework. It provides shutdown plugins for <span class="caps">SSH</span>, Windows <span class="caps">RPC</span>,
<span class="caps">HP</span> iLO, VMware <span class="caps">ESX</span> and XenServer (including virtual machines) w/o
requiring any software installed on the servers.</p>Flickr Lens Tagger2012-02-14T19:39:00+01:002012-02-14T19:39:00+01:00Thomas Lisketag:fiasko.io,2012-02-14:/projects/flenstag.html.en<p><a href="https://github.com/liske/flenstag">flenstag</a> scans photos from <a href="https://www.flickr.com/">Flickr</a> and adds appropriate tags generated
from the <span class="caps">EXIF</span> data of the photos. The default configuration tags:</p>
<ul>
<li>camera model,</li>
<li>lens model,</li>
<li><span class="caps">ISO</span> speed,</li>
<li>focal length and</li>
<li>exposure time</li>
<li>aperture fnumber</li>
</ul>
<p>retrieved from the <span class="caps">EXIF</span> data.</p>
<p>flenstag is written in Perl and requires <a href="http://search.cpan.org/~iamcal/Flickr-API/">Flickr::<span class="caps">API</span></a>. The script …</p><p><a href="https://github.com/liske/flenstag">flenstag</a> scans photos from <a href="https://www.flickr.com/">Flickr</a> and adds appropriate tags generated
from the <span class="caps">EXIF</span> data of the photos. The default configuration tags:</p>
<ul>
<li>camera model,</li>
<li>lens model,</li>
<li><span class="caps">ISO</span> speed,</li>
<li>focal length and</li>
<li>exposure time</li>
<li>aperture fnumber</li>
</ul>
<p>retrieved from the <span class="caps">EXIF</span> data.</p>
<p>flenstag is written in Perl and requires <a href="http://search.cpan.org/~iamcal/Flickr-API/">Flickr::<span class="caps">API</span></a>. The script saves
runtime data and expects the configuration file in the current directory:</p>
<ul>
<li><em>flenstag.conf</em>: configuration file</li>
<li><em>flenstag.dat</em> : tracks upload dates (might be used for filtering)</li>
<li><em>flenstag.auth</em>: Flickr <span class="caps">API</span> authentication</li>
</ul>
<p>The flenstag.conf must exist before running flenstag (take
flenstag.conf.ex as a template).</p>Probe Uptime by Tcp TimeStamps2011-10-26T09:31:00+02:002011-10-26T09:31:00+02:00Thomas Lisketag:fiasko.io,2011-10-26:/projects/putts.html.en<p><a href="https://github.com/DE-IBH/putts">putts</a> sniffs for Tcp traffic of a remote host. If those Tcp packets contains
timestamps (<a href="http://www.ietf.org/rfc/rfc1323.txt"><span class="caps">RFC</span> 1323</a>) this tool might be used to get the systems uptime.</p>
<p>This script calls <em>tcpdump(8)</em> to get the Tcp timestamps of the target host.
You have to make Tcp traffic to the remote …</p><p><a href="https://github.com/DE-IBH/putts">putts</a> sniffs for Tcp traffic of a remote host. If those Tcp packets contains
timestamps (<a href="http://www.ietf.org/rfc/rfc1323.txt"><span class="caps">RFC</span> 1323</a>) this tool might be used to get the systems uptime.</p>
<p>This script calls <em>tcpdump(8)</em> to get the Tcp timestamps of the target host.
You have to make Tcp traffic to the remote host after starting putts. Terminate
putts by pressing <em>C-C</em> after a while. Putts will print the assumed uptime
if enough data has been collected.</p>
<p>The determined tick value of the target host gives hints on the targets
operating system. The <a href="https://github.com/DE-IBH/putts/blob/master/TICKS"><span class="caps">TICKS</span></a> file shows known values of some operating systems.</p>NaJaBo (Nagios Jabber Bot)2011-04-17T23:18:00+02:002011-04-17T23:18:00+02:00Thomas Lisketag:fiasko.io,2011-04-17:/projects/najabo.html.en<p><a href="https://github.com/liske/najabo">najabod</a> is a Nagios Jabber Bot. najabod connects to a <span class="caps">XMPP</span> server as a
<span class="caps">XMPP</span> client. It reads the nagios status log and shows an overview of the
current states of the monitored nodes. Further version will allow you
to query detailed informations, acknowledge problems and schedule
downtimes etc.</p><p><a href="https://github.com/liske/najabo">najabod</a> is a Nagios Jabber Bot. najabod connects to a <span class="caps">XMPP</span> server as a
<span class="caps">XMPP</span> client. It reads the nagios status log and shows an overview of the
current states of the monitored nodes. Further version will allow you
to query detailed informations, acknowledge problems and schedule
downtimes etc.</p>airopeek encapsulation converter2010-04-08T17:59:00+02:002010-04-08T17:59:00+02:00Thomas Lisketag:fiasko.io,2010-04-08:/projects/airoxtractor.html.en<p><em>airoxtractor</em> extracts <em><span class="caps">AIROPEEK</span></em> encapsulated packets read from <em>libpcap</em> and converts them into <em>Radiotap</em> encapsulated packets.
After convertion <em>wireshark</em> is able to complete decode the wireless sniffs. Without this convertion <em>wireshark</em> only shows the
frame type, but does no further dissection.</p>
<p>Any <em>Cisco</em> <span class="caps">AP</span> / <span class="caps">WLC</span> is able to create an <em><span class="caps">AIROPEEK …</span></em></p><p><em>airoxtractor</em> extracts <em><span class="caps">AIROPEEK</span></em> encapsulated packets read from <em>libpcap</em> and converts them into <em>Radiotap</em> encapsulated packets.
After convertion <em>wireshark</em> is able to complete decode the wireless sniffs. Without this convertion <em>wireshark</em> only shows the
frame type, but does no further dissection.</p>
<p>Any <em>Cisco</em> <span class="caps">AP</span> / <span class="caps">WLC</span> is able to create an <em><span class="caps">AIROPEEK</span></em> encapsulated sniffing stream. If the stream is sniffed / converted by
<em>airoxtractor</em> into a <em>Radiotap</em> encapsulated pcap file, <em>wireshark</em> is able to apply all it’s wireless dissectors
(including <span class="caps">WPA</span>-<span class="caps">PSK</span> decryption).</p>
<h2>Usage</h2>
<p>Run your favorit pcap enabled sniffer (tcpdump, wireshark et. al.) or airoxtractor to sniff the <span class="caps">AIROPEEK</span> packets:</p>
<div class="highlight"><pre><span></span><span class="go">~# airoxtractor --if=eth0 --out=dump.pcap</span>
</pre></div>
<p>This will sniff on eth0 for packets send to 5000/udp, convert them from <em><span class="caps">AIROPEEK</span></em> to <em>Radiotap</em> encapsulation and write
them to a new pcap file.</p>
<p>Enabling the sniffing mode on a Cisco <span class="caps">WLC</span> is descriped in the
<a href="http://www.cisco.com/en/US/docs/wireless/controller/6.0/configuration/guide/c60err.html#wp1042843">Cisco Wireless <span class="caps">LAN</span> Controller Configuration Guide, Release 6.0 - Appendix D - Troubleshooting</a>.
Now you are able to open the pcap file with wireshark.</p>
<h2>Downloads</h2>
<p>Sources <span class="amp">&</span> Debian packages can be found <a href="http://micky.ibh.net/debian/pool/stable/main/airoxtractor/">here</a>.</p>