<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>xpufx</title>
    <link>https://xpufx.com/</link>
    <description>Recent content on xpufx</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="https://xpufx.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>AI Canary</title>
      <link>https://xpufx.com/canary/</link>
      <pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/canary/</guid>
      <description>&lt;p&gt;Nothing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>100% Software KVM switch with a single monitor</title>
      <link>https://xpufx.com/posts/hundred-percent-software-kvm-switch/</link>
      <pubDate>Tue, 28 Jun 2022 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/hundred-percent-software-kvm-switch/</guid>
      <description>&lt;h3 id=&#34;introduction&#34;&gt;Introduction&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;barrier&lt;/code&gt; is a software KVM which allows sharing one computer&amp;rsquo;s keyboard and mouse (server) with another computer (client) over the network. Notice that its feature set does not include sharing a single display. Normally you would have two computers with their own displays and be able to switch from one  to the other by moving the mouse off the screen in the direction that the other computer is placed in the configuration. It looks like the mouse pointer literally jumps from one screen to the other which is a totally different computer. When configured properly it works really well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fix Lenovo Thinkpad T480s USB mouse/keyboard not working after waking up from suspend.</title>
      <link>https://xpufx.com/posts/lenovo-thinkpad-t480s-usb-mouse-keyboard-after-suspend-fix/</link>
      <pubDate>Sun, 03 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/lenovo-thinkpad-t480s-usb-mouse-keyboard-after-suspend-fix/</guid>
      <description>&lt;p&gt;After some research and trial error I noticed that I can manually remove and reinsert the &lt;code&gt;usbhid&lt;/code&gt; kernel module (using the laptop&amp;rsquo;s own keyboard) to get the USB mouse and keyboard to function again. All that was left was to make this run automatically after waking up from suspend.&lt;/p&gt;&#xA;&lt;p&gt;Create a new file in &lt;code&gt;/lib/systemd/system-sleep&lt;/code&gt; and call it something like &lt;code&gt;myusbhidfix&lt;/code&gt;. The following content removes the usbhid module when you suspend the laptop and loads it back up when the laptop wakes. I think both steps can also be implemented together in one &lt;code&gt;post&lt;/code&gt; line but it doesn&amp;rsquo;t matter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Protecting your first app with Authentik. A no-fluff quick primer.</title>
      <link>https://xpufx.com/posts/protecting-your-first-app-with-authentik/</link>
      <pubDate>Mon, 24 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/protecting-your-first-app-with-authentik/</guid>
      <description>&lt;h3 id=&#34;what-we-are-trying-to-accomplish&#34;&gt;What we are trying to accomplish.&lt;/h3&gt;&#xA;&lt;p&gt;Identity providers are used for a variety of purposes almost all of which have to do with authentication (can I log in?) and authorization (what am I allowed to do?). They allow you to use Single Sign On (SSO) mechanisms like SAML and Oauth/OIDC as well as add one more layer of protection to your log in procedure by utilizing Two-Factor authentication (2FA) using hardware, software or SMS tokens.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nextcloud Pretty URLs with Caddy web server</title>
      <link>https://xpufx.com/posts/nextcloud-pretty-urls-with-caddy-web-server/</link>
      <pubDate>Sun, 09 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/nextcloud-pretty-urls-with-caddy-web-server/</guid>
      <description>&lt;h3 id=&#34;how-to-enable-nextcloud-pretty-urls-when-using-the-caddy-web-server&#34;&gt;How to enable Nextcloud pretty URLs when using the Caddy web server.&lt;/h3&gt;&#xA;&lt;p&gt;The configuration is pretty simple after you found the exact configuration option necessary. The following assumes you are using the &lt;code&gt;php_fastcgi&lt;/code&gt; directive in Caddy. This directive is an ease of use function provided by Caddy which makes some assumptions regarding modern PHP setups. It does by default support rewriting index.php router urls so there is no configuration to be done on the Caddy side.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building a JSON string with shell variables, explained.</title>
      <link>https://xpufx.com/posts/building_a_json_string_with_shell_variables_explained/</link>
      <pubDate>Tue, 21 Sep 2021 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/building_a_json_string_with_shell_variables_explained/</guid>
      <description>&lt;h3 id=&#34;the-example-on-stackoverflow-by-chepner&#34;&gt;The example on stackoverflow (by chepner)&lt;/h3&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;BUCKET_NAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;testbucket&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OBJECT_NAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;testworkflow-2.0.1.jar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;TARGET_LOCATION&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/opt/test/testworkflow-2.0.1.jar&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;JSON_STRING&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt; jq -n &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  --arg bn &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$BUCKET_NAME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  --arg on &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$OBJECT_NAME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  --arg tl &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$TARGET_LOCATION&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                  &lt;span class=&#34;s1&#34;&gt;&amp;#39;{bucketname: $bn, objectname: $on, targetlocation: $tl}&amp;#39;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;explanation&#34;&gt;explanation&lt;/h3&gt;&#xA;&lt;p&gt;This was super confusing to me for a bit because I didn&amp;rsquo;t get all the repetition of identifiers for the same thing and duplicating the variable names and such.&#xA;However, something else is going on here and perhaps this example makes it look more confusing than necessary.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Links</title>
      <link>https://xpufx.com/links/</link>
      <pubDate>Tue, 21 Sep 2021 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/links/</guid>
      <description>&lt;h2 id=&#34;personal-favorites&#34;&gt;Personal Favorites&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;These are my favorite sites. Worth checking out.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://emresaglam.com&#34;&gt;Emre Sağlam&amp;rsquo; Blog&lt;/a&gt; &lt;a href=&#34;https://archive.emresaglam.com&#34;&gt;(Old Site Archive&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Push TrueNAS/FreenAS alerts to Alerta</title>
      <link>https://xpufx.com/posts/freenas-truenas-alerta-alerts/</link>
      <pubDate>Tue, 21 Sep 2021 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/freenas-truenas-alerta-alerts/</guid>
      <description>&lt;h3 id=&#34;use-freenas-middleware-client-to-push-alerts-from-freenas-to-alerta&#34;&gt;Use FreeNAS middleware client to push alerts from Freenas to Alerta&lt;/h3&gt;&#xA;&lt;p&gt;TrueNAS/FreeNAS does not have a plugin for Alerta, nor does it have a facility to use shell scripts or http/json for alerts.&lt;/p&gt;&#xA;&lt;p&gt;I wrote a simple script that takes the alerts from the FreeNAS database using the included middleware client midclt and pushes them to the Alerta endpoint using curl, making some assumptions along the way.&lt;/p&gt;&#xA;&lt;p&gt;Currently the script just invokes FreeNAS provided CLI tool midclt to get the info about ALL alerts without keeping track of their status and pushes them into Alerta. Alerta can take care of duplicates so this is not a big issue.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to integrate Alerta alerts with Zulip</title>
      <link>https://xpufx.com/posts/zulip_alerta_integration/</link>
      <pubDate>Wed, 15 Sep 2021 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/zulip_alerta_integration/</guid>
      <description>&lt;p&gt;In addition to displaying alerts, Alerta can also be set up to send notifications to various external tools such as Telegram and Slack. At the moment there is no explicit way to send the alerts to Zulip instead. However, Zulip does support Slack style incoming webhooks as a compatibility feature through which we can push notifications to Zulip streams (like channels or chat rooms in Zulip lingo).&lt;/p&gt;&#xA;&lt;p&gt;Please refer to the documentation on how to install and use Zulip&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; and Alerta&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; if you don&amp;rsquo;t already have them running. You also have to create a Zulip bot to be able to receive incoming webhooks from Alerta.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Install fdupes (or other small program) on FreeNAS</title>
      <link>https://xpufx.com/posts/install_fdupes_on_freenas/</link>
      <pubDate>Mon, 13 Sep 2021 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/install_fdupes_on_freenas/</guid>
      <description>&lt;p&gt;It is not advised to install packages on an appliance such as FreeNAS. For this reason FreeNAS does not come with FreeBSD packages or ports. In these situations you&amp;rsquo;re supposed to create a jail and install the software you need inside that jail instead. However you might prefer to have some basic utilities on the host itself. In my use case I thought &lt;code&gt;fdupes&lt;/code&gt; would be much more useful if it had access to all my disks directly. The following instructions are fdupes, a duplicate file finder, but it will work for sufficiently small utilities for which there is a package on a similar FreeBSD version. For large programs the dependencies might be too big to handle.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Anarşi Nedir?</title>
      <link>https://xpufx.com/posts/anarsi-nedir/</link>
      <pubDate>Thu, 01 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/anarsi-nedir/</guid>
      <description>&lt;h3 id=&#34;anarşi-nedir--butler-shaffer&#34;&gt;Anarşi Nedir – Butler Shaffer&lt;/h3&gt;&#xA;&lt;p&gt;Gerek kendimin gerekse diğer kişilerin felsefi görüşlerini tarif ederken “etiketlerin” kullanılması konusunda karmaşı duygular içindeyim. Bunu yapmaktan kaçınmak zor çünkü dünyayı anlamak ve onun hakkında iletişim kurmak için gösterdiğimiz çaba ister istemez kelimelerin kullanılmasını gerektiriyor ve kelimeler Alfred Korzybski’nin bizi uyardığı gibi, tarif etmeye çalıştıkları şeye asla eşit olmayan soyutlamalardır. Korzybski’nin sıkça tekrarlanan “Harita, arazi değildir” ifadesinden çıkarılması gereken ders, konu siyasi felsefe gibi soyut kavramlar olduğu zaman kafa karıştırma potansiyelinin misliyle artacağı yolundadır.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Containerception: It&#39;s virtual all the way down</title>
      <link>https://xpufx.com/posts/containerception/</link>
      <pubDate>Sat, 28 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/containerception/</guid>
      <description>&lt;p&gt;The main machine is not virtual at all. It&amp;rsquo;s a pretty beefy dedicated server or if we&amp;rsquo;re being hip, &lt;code&gt;bare-metal&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[kvm ~]$ uname -a&#xA;Linux kvm.DOMAIN.com 3.10.0-1062.18.1.el7.x86_64 #1 SMP Tue Mar 17 23:49:17 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I am running &lt;code&gt;qemu-kvm&lt;/code&gt; with &lt;code&gt;libvirt&lt;/code&gt; on this machine.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[kvm ~]$ virsh list&#xA; Id    Name                           State&#xA;----------------------------------------------------&#xA; 5     UbuntuServer              running&#xA; 6     ubuntu16.04server              running&#xA; 7     ERPCentos7New            running&#xA; 8     virt01.debian8                 running&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Let&amp;rsquo;s pick one vm that has nested virtual stuffs in it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Weird dovecot Error: dovecot/doveadm &#34;failed:  cache message size&#34;</title>
      <link>https://xpufx.com/posts/dovecot_doveadm_failed_cache_message_size_error/</link>
      <pubDate>Thu, 26 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/dovecot_doveadm_failed_cache_message_size_error/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s what the error message I encountered while using doveadm to read a message looked like.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;doveadm fetch -u user@DOMAINNAME hdr mailbox SpamCheck/Spam uid &lt;span class=&#34;m&#34;&gt;10&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;doveadm&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;user@DOMAINNAME&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: Error: Mailbox SpamCheck/Spam: &lt;span class=&#34;nv&#34;&gt;UID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;10: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; read&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;/var/spool/mail/virtual/DOMAINNAME/public/.Spam/cur/1583888147.M606102P10872.MAILDOMAIN,S&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;5367,W&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;5455:2,S&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; failed: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; Cached message size larger than expected &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5367&lt;/span&gt; &amp;gt; 2476, &lt;span class=&#34;nv&#34;&gt;box&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;SpamCheck/Spam, &lt;span class=&#34;nv&#34;&gt;UID&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;10&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;read&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;reason&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;mail stream&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;doveadm&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;user@DOMAINNAME&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;: Error: Corrupted record in index cache file /var/spool/mail/virtual/DOMAINNAME/public/.Spam/dovecot.index.cache: &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; UID 10: Broken physical size in mailbox SpamCheck/Spam: &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;dovecot&lt;/code&gt; has a nice feature where its &lt;code&gt;imap&lt;/code&gt; module as well as all of its components (lmtp,doveadm etc) can read and write compressed email files. You would use this if you are running low on space and want to preserve some until you can upgrade.&#xA;Although you can compress old email files too, it is not strictly necessary (and is a complicated process anyway) since dovecot is able to distinguish and read plain emails along with those that are compressed, regardless of the compression algorithm.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to upgrade portainer running as a docker container</title>
      <link>https://xpufx.com/posts/how_to_upgrade_docker_portainer_container/</link>
      <pubDate>Wed, 25 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/how_to_upgrade_docker_portainer_container/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; &lt;em&gt;The docker package name changed from portainer/portainer to portainer/portainer-ce. This has not been updated below.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Short Version: make sure the portainer data directory is mounted as a &lt;em&gt;persistent volume&lt;/em&gt; and &lt;em&gt;recreate&lt;/em&gt; the container using the latest docker image. Here&amp;rsquo;s how it&amp;rsquo;s done.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m going to assume you used &lt;code&gt;docker&lt;/code&gt; without &lt;code&gt;swarm&lt;/code&gt; when you installed your current version of &lt;code&gt;portainer&lt;/code&gt; since I haven&amp;rsquo;t tried swarms yet.&lt;/p&gt;&#xA;&lt;p&gt;We have to make note of the original docker command we&amp;rsquo;ve used while initially setting up the container &lt;code&gt;portainer&lt;/code&gt; lives in. Currently the default way to do that based on the official documentation is:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to change LXC container IP under LXD</title>
      <link>https://xpufx.com/posts/change-lxc-container-ip.md/</link>
      <pubDate>Tue, 24 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/posts/change-lxc-container-ip.md/</guid>
      <description>&lt;p&gt;In the below example we&amp;rsquo;re changing the IP address for the container called &lt;code&gt;grafana&lt;/code&gt;. We will have to stop the container before we can do it. The IP we&amp;rsquo;re setting for this example is &lt;code&gt;10.0.0.30&lt;/code&gt;. The bridge interface on the host is &lt;code&gt;lxdbr0&lt;/code&gt; and the interface name inside the container is &lt;code&gt;eth0&lt;/code&gt;. Change these parameters for your environment.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lxc stop grafana&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lxc network attach lxdbr0 grafana eth0 eth0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lxc config device &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; grafana eth0 ipv4.address 10.0.0.30&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lxc start grafana&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can check the change using &lt;code&gt;lxc list&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Search</title>
      <link>https://xpufx.com/search/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://xpufx.com/search/</guid>
      <description></description>
    </item>
  </channel>
</rss>
