<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SleepMap (Posts about arch linux)</title><link>https://sleepmap.de/</link><description></description><atom:link href="https://sleepmap.de/categories/arch-linux.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2022 &lt;a href="mailto:dave@sleepmap.de"&gt;David Runge&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/4.0/"&gt;CC BY-NC-SA 4.0&lt;/a&gt;</copyright><lastBuildDate>Mon, 12 Dec 2022 10:30:49 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Managing binary package repositories</title><link>https://sleepmap.de/2022/managing-binary-package-repositories/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;p&gt;In &lt;a class="reference external" href="https://sleepmap.de/2022/packaging-for-arch-linux"&gt;Packaging for Arch Linux&lt;/a&gt; I described the ins and
outs of binary repository management and some of the issues that come with the
tooling currently used by &lt;a target="blank" href="https://archlinux.org"&gt;Arch Linux&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this article I will highlight the work on new tooling and its features.&lt;/p&gt;
&lt;p&gt;Since my last write-up on this topic, the project formerly known as
&lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;arch-repo-management&lt;/span&gt;&lt;/code&gt; has been renamed to &lt;code class="docutils literal"&gt;repod&lt;/code&gt; (as in &lt;em&gt;repo-d&lt;/em&gt;) and has
just seen its first minor release. 🎉&lt;/p&gt;
&lt;p&gt;You can find its documentation at &lt;a class="reference external" href="https://repod.archlinux.page"&gt;https://repod.archlinux.page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2022/managing-binary-package-repositories/"&gt;Read more…&lt;/a&gt; (2 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>arch linux</category><category>dbscripts</category><category>packaging</category><category>repod</category><guid>https://sleepmap.de/2022/managing-binary-package-repositories/</guid><pubDate>Sat, 02 Jul 2022 11:19:59 GMT</pubDate></item><item><title>Packaging for Arch Linux</title><link>https://sleepmap.de/2022/packaging-for-arch-linux/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;p&gt;In &lt;a class="reference external" href="https://sleepmap.de/2022/arch-a-recap"&gt;Arch, a recap&lt;/a&gt; I elaborated a bit
on my reasons for getting involved with Arch Linux. In this post I would like
to highlight a few technical details and give a "behind the scenes" when it
comes to packaging on and for Arch Linux.
This post is written from the viewpoint of a distribution packager, but it
is likely to contain information also useful to people packaging on different
distributions or for private purposes.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2022/packaging-for-arch-linux/"&gt;Read more…&lt;/a&gt; (22 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>arch linux</category><category>arch-repo-management</category><category>dbscripts</category><category>packaging</category><category>reproducible builds</category><guid>https://sleepmap.de/2022/packaging-for-arch-linux/</guid><pubDate>Wed, 06 Apr 2022 11:22:53 GMT</pubDate></item><item><title>Arch, a recap</title><link>https://sleepmap.de/2022/arch-a-recap/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;p&gt;One of the things, that has kept me (increasingly) busy over the past few years
is my involvement with the &lt;a target="blank" href="https://en.wikipedia.org/wiki/Linux_distribution"&gt;Linux distribution&lt;/a&gt; &lt;a target="blank" href="https://www.archlinux.org"&gt;Arch Linux&lt;/a&gt;.
While I have been using &lt;a target="blank" href="https://en.wikipedia.org/wiki/Linux"&gt;Linux&lt;/a&gt; for probably about 14 years it is frankly hard to
pinpoint when exactly I went down the rabbit hole that this operating system/
ecosystem/ community is (relevant &lt;a target="blank" href="https://xkcd.com/456/"&gt;XKCD&lt;/a&gt;). However, I can elaborate on my
motivation and where that got me.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2022/arch-a-recap/"&gt;Read more…&lt;/a&gt; (6 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>arch linux</category><category>packaging</category><category>pro-audio</category><guid>https://sleepmap.de/2022/arch-a-recap/</guid><pubDate>Sun, 30 Jan 2022 16:00:00 GMT</pubDate></item><item><title>Securely serving webapps using uWSGI</title><link>https://sleepmap.de/2016/securely-serving-webapps-using-uwsgi/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Ever since I have been running my own &lt;a href="https://archlinux.org" target="_blank"&gt;Arch Linux&lt;/a&gt; box to serve my services, I used &lt;a href="https://www.nginx.org/" target="_blank"&gt;nginx&lt;/a&gt; in conjunction with &lt;a href="https://projects.unbit.it/uwsgi" target="_blank"&gt;uWSGI&lt;/a&gt;.&lt;/div&gt;
&lt;div class="line"&gt;So instead of using &lt;a href="https://php-fpm.org/" target="_blank"&gt;php-fpm&lt;/a&gt; and be limited to just &lt;a href="https://secure.php.net/" target="_blank"&gt;PHP&lt;/a&gt;, I can use a single application server to do all of them (&lt;a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface" target="_blank"&gt;CGI&lt;/a&gt;, &lt;a href="https://www.python.org/" target="_blank"&gt;Python&lt;/a&gt;, &lt;a href="https://secure.php.net/" target="_blank"&gt;PHP&lt;/a&gt; and even the stuff I don't use, such as &lt;a href="https://rack.github.io/" target="_blank"&gt;Ruby Rack&lt;/a&gt;, &lt;a href="http://www.mono-project.com/" target="_blank"&gt;Mono&lt;/a&gt;, &lt;a href="https://www.java.com/en/" target="_blank"&gt;Java&lt;/a&gt;, &lt;a href="https://www.lua.org/" target="_blank"&gt;Lua&lt;/a&gt;, &lt;a href="https://www.perl.org/" target="_blank"&gt;Perl&lt;/a&gt;, &lt;a href="http://www.webdav.org/" target="_blank"&gt;WebDAV&lt;/a&gt;). They are all separately installable as plugins.&lt;/div&gt;
&lt;div class="line"&gt;Static sites, such as this, default to being served by &lt;a href="https://www.nginx.org/" target="_blank"&gt;nginx&lt;/a&gt; directly of course.&lt;/div&gt;
&lt;div class="line"&gt;Over time I found &lt;a href="https://projects.unbit.it/uwsgi" target="_blank"&gt;uWSGI&lt;/a&gt; to be a very versatile and powerful piece of software that has many advantages (over e.g. &lt;a href="https://httpd.apache.org/" target="_blank"&gt;Apache&lt;/a&gt;):&lt;/div&gt;
&lt;/div&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;socket activation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;webapp encapsulation and jailing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;self-healing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;being able to separetely manage services&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;exit after idle&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;I'll explain the services I use (&lt;a href="https://mantisbt.org/" target="_blank"&gt;MantisBT&lt;/a&gt;, &lt;a href="https://roundcube.net/" target="_blank"&gt;roundcube&lt;/a&gt;, &lt;a href="https://owncloud.org" target="_blank"&gt;ownCloud&lt;/a&gt;, &lt;a href="http://list.org/" target="_blank"&gt;Mailman&lt;/a&gt;, &lt;a href="https://github.com/claudehohl/Stikked" target="_blank"&gt;Stikked&lt;/a&gt;, &lt;a href="https://wordpress.org" target="_blank"&gt;Wordpress&lt;/a&gt;, &lt;a href="http://postfixadmin.sourceforge.net/" target="_blank"&gt;Postfixadmin&lt;/a&gt;, &lt;a href="https://www.phpmyadmin.net/" target="_blank"&gt;phpMyAdmin&lt;/a&gt;, &lt;a href="https://git.zx2c4.com/cgit/" target="_blank"&gt;cgit&lt;/a&gt;, &lt;a href="https://www.mediawiki.org/wiki/MediaWiki" target="_blank"&gt;MediaWiki&lt;/a&gt;, &lt;a href="http://etherpad.org" target="_blank"&gt;Etherpad&lt;/a&gt; ) along with configuration examples and their possible pitfalls.&lt;/div&gt;
&lt;div class="line"&gt;In my last post about &lt;a class="reference external" href="https://sleepmap.de/2016/2016/lets-encrypt-it-all"&gt;Let's Encrypt&lt;/a&gt; I already showed some examples on how to configure &lt;a href="https://www.nginx.org/" target="_blank"&gt;nginx&lt;/a&gt; for the use with &lt;a href="https://projects.unbit.it/uwsgi" target="_blank"&gt;uWSGI&lt;/a&gt;. Let's jump right in.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2016/securely-serving-webapps-using-uwsgi/"&gt;Read more…&lt;/a&gt; (20 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>application server</category><category>arch linux</category><category>cgit</category><category>mediawiki</category><category>nginx</category><category>owncloud</category><category>php</category><category>python</category><category>redis</category><category>roundcube</category><category>security</category><category>sockets</category><category>systemd</category><category>uwsgi</category><category>webapps</category><category>wordpress</category><guid>https://sleepmap.de/2016/securely-serving-webapps-using-uwsgi/</guid><pubDate>Sat, 08 Oct 2016 07:00:00 GMT</pubDate></item><item><title>Let's encrypt it all</title><link>https://sleepmap.de/2016/lets-encrypt-it-all/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;For a couple of months now I have been using &lt;a href="https://letsencrypt.org" target="_blank"&gt;Let's Encrypt&lt;/a&gt; to generate free and valid certificates for all the services I run.&lt;/div&gt;
&lt;div class="line"&gt;In many places the free &lt;a href="https://en.wikipedia.org/wiki/Certificate_authority" target="_blank"&gt;Certificate Authority&lt;/a&gt; (short CA) has spread like wild-fire. From small to large scale services, many adopted it and &lt;a href="https://letsencrypt.org/2016/03/08/our-millionth-cert.html" target="_blank"&gt;the amount of issued certificates has grown over 1 million in just four months&lt;/a&gt;.&lt;/div&gt;
&lt;div class="line"&gt;As a visitor to this website you have probably noticed the small green lock sign next to the address bar. The certificate used for this website is accepted to be valid by your browser (and also by your operating system).&lt;/div&gt;
&lt;div class="line"&gt;If you're up for some background knowledge, just read on. If you're up for some hands-on technical stuff, &lt;a class="reference external" href="https://sleepmap.de/2016/lets-encrypt-it-all/#letsencrypt-howto"&gt;jump right on to the howto&lt;/a&gt;.&lt;/div&gt;
&lt;div class="line"&gt;Just note: This is a veeeeeeery long article in any case.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2016/lets-encrypt-it-all/"&gt;Read more…&lt;/a&gt; (16 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>acme</category><category>arch linux</category><category>certbot</category><category>certificate</category><category>dovecot</category><category>hidden service</category><category>letsencrypt</category><category>nginx</category><category>openssl</category><category>owncloud</category><category>postfix</category><category>prosody</category><category>roundcube</category><category>security</category><category>ssl</category><category>systemd</category><category>tls</category><category>vpn</category><guid>https://sleepmap.de/2016/lets-encrypt-it-all/</guid><pubDate>Thu, 29 Sep 2016 18:00:00 GMT</pubDate></item><item><title>Linux Audio Conference 2015</title><link>https://sleepmap.de/2015/linux-audio-conference-2015/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;It's been quite some time since my last post.&lt;/div&gt;
&lt;div class="line"&gt;But I have not been lazy!&lt;/div&gt;
&lt;div class="line"&gt;&lt;br&gt;&lt;/div&gt;
&lt;div class="line"&gt;I will be attending this year's &lt;a href="http://lac.linuxaudio.org/2015/" target="_blank"&gt;Linux Audio Conference&lt;/a&gt;) in Mainz. Not only as a guest (I seriously hope I will have the time to just snoop around), but mainly for setting up the 8 channel version of &lt;em&gt;"The Sound Of People"&lt;/em&gt; and to give a workshop on &lt;em&gt;"Arch Linux as a lightweight audio platform"&lt;/em&gt;.&lt;/div&gt;
&lt;div class="line"&gt;You can find my information for the event &lt;a href="http://lac.linuxaudio.org/2015/speakers?uid=61" target="_blank"&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2015/linux-audio-conference-2015/"&gt;Read more…&lt;/a&gt; (1 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>arch linux</category><category>lac</category><category>pro-audio</category><category>real-time</category><category>systemd</category><category>thesoundofpeople</category><guid>https://sleepmap.de/2015/linux-audio-conference-2015/</guid><pubDate>Fri, 03 Apr 2015 04:00:00 GMT</pubDate></item><item><title>SSH tunnel with single hop, using systemd-networkd and autossh</title><link>https://sleepmap.de/2015/ssh-tunnel-with-single-hop-using-systemd-networkd-and-autossh/</link><dc:creator>David Runge</dc:creator><description>&lt;div&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Recently I had the pleasure of setting up a &lt;abbr title="Secure Shell"&gt;SSH&lt;/abbr&gt; tunnel between two virtual machines that share no route and are located in two different subnets.&lt;/div&gt;
&lt;div class="line"&gt;They can however reach each other via SSH, hopping their host.&lt;/div&gt;
&lt;div class="line"&gt;Let's assume the following setup:&lt;/div&gt;
&lt;/div&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;client1&lt;/strong&gt; (Arch Linux) has &lt;em&gt;10.0.5.2/24&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;client2&lt;/strong&gt; (Arch Linux) has &lt;em&gt;10.0.6.2/24&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;host&lt;/strong&gt; (Debian) is &lt;em&gt;10.0.5.1/24&lt;/em&gt; to &lt;strong&gt;client1&lt;/strong&gt; and &lt;em&gt;10.0.6.1/24&lt;/em&gt; to &lt;strong&gt;client2&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;As I needed the two clients to be able to send mail to each other and reach each others' services, I did some digging and opted for a SSH connection using &lt;abbr title="network TUNnel (virtual-network kernel devices)"&gt;TUN&lt;/abbr&gt; devices (aka. "poor man's &lt;abbr title="Virtual Private Network"&gt;VPN&lt;/abbr&gt;").&lt;/div&gt;
&lt;div class="line"&gt;The following is needed to set this up:&lt;/div&gt;
&lt;/div&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;root access on both virtual machines (&lt;strong&gt;client1&lt;/strong&gt; &amp;amp; &lt;strong&gt;client2&lt;/strong&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;a user account on the &lt;strong&gt;host&lt;/strong&gt; system&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SSH (&lt;a href="http://openssh.com" target="_blank"&gt;OpenSSH&lt;/a&gt; assumed) installed on all three machines&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://sleepmap.de/2015/ssh-tunnel-with-single-hop-using-systemd-networkd-and-autossh/"&gt;Read more…&lt;/a&gt; (3 min remaining to read)&lt;/p&gt;&lt;/div&gt;</description><category>arch linux</category><category>autossh</category><category>postfix</category><category>ssh</category><category>systemd</category><category>systemd.network</category><category>TUN</category><category>tunnel</category><guid>https://sleepmap.de/2015/ssh-tunnel-with-single-hop-using-systemd-networkd-and-autossh/</guid><pubDate>Sun, 01 Feb 2015 18:00:00 GMT</pubDate></item></channel></rss>