<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ivnilv</title>
    <description>The latest articles on DEV Community by ivnilv (@ivnilv).</description>
    <link>https://dev.to/ivnilv</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F537778%2F92665a3d-64cf-4753-b799-23eb9eecc331.jpeg</url>
      <title>DEV Community: ivnilv</title>
      <link>https://dev.to/ivnilv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ivnilv"/>
    <language>en</language>
    <item>
      <title>Missing network configuration on fresh Ubuntu Server offline installation</title>
      <dc:creator>ivnilv</dc:creator>
      <pubDate>Sun, 05 Jul 2026 15:37:33 +0000</pubDate>
      <link>https://dev.to/ivnilv/missing-network-configuration-on-fresh-ubuntu-server-offline-installation-4hka</link>
      <guid>https://dev.to/ivnilv/missing-network-configuration-on-fresh-ubuntu-server-offline-installation-4hka</guid>
      <description>&lt;p&gt;Installing Ubuntu Server 24.04 LTS in an offline mode (no LAN cable or WiFi connected) leaves you with an unmanaged network interface which requires manual configuration post-install.&lt;/p&gt;

&lt;p&gt;The interface &lt;em&gt;enp4s0&lt;/em&gt; is unmanaged by systemd-networkd and also the service itself is disabled.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; This guide applies to Ubuntu server. On Ubuntu desktop you have the &lt;code&gt;NetworkManager&lt;/code&gt; service installed and the steps would be different.&lt;/p&gt;

&lt;p&gt;To fix the problem follow the steps below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a Brand New Netplan Configuration File&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Look into &lt;code&gt;/etc/netplan&lt;/code&gt;. You will probably see the dir is empty. This means the installer completely gave up on configuring the network and didn't create any profiles. Create a new file, e.g. &lt;code&gt;vim /etc/netplan/01-netcfg.yaml&lt;/code&gt;. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Paste the following configuration
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;network&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;
  &lt;span class="na"&gt;renderer&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;networkd&lt;/span&gt;
  &lt;span class="na"&gt;ethernets&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;enp4s0&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;dhcp4&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes the interface managed by &lt;code&gt;networkd&lt;/code&gt; instead of the desktop NetworkManager.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Fix permissions&lt;br&gt;
The new file needs to be readable only by root so fix it's permissions &lt;code&gt;chmod 600 /etc/netplan/01-netcfg.yaml&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enable network service&lt;br&gt;
Enable the network service and make it start on boot:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;systemd-networkd
systemctl start systemd-networkd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Run netplan 
Finally, we need to tell Ubuntu to use our new configuration and activate the network
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;netplan generate
netplan apply
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Network should be up!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;ip a
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>ubuntu</category>
      <category>linux</category>
      <category>network</category>
      <category>systemd</category>
    </item>
    <item>
      <title>Reclaim free space from VirtualBox VM on Windows host</title>
      <dc:creator>ivnilv</dc:creator>
      <pubDate>Sun, 05 Jul 2026 12:42:02 +0000</pubDate>
      <link>https://dev.to/ivnilv/reclaim-free-space-from-virtualbox-vm-on-windows-host-3010</link>
      <guid>https://dev.to/ivnilv/reclaim-free-space-from-virtualbox-vm-on-windows-host-3010</guid>
      <description>&lt;p&gt;When you delete files in your virtualbox VM in order to free up space on the host filesystem, this space is not automatically reclaimed.&lt;br&gt;
In order for the host system to see the changes you need to rewrite the free space with zeroes.&lt;br&gt;
Follow the below steps to perform this operation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install &lt;code&gt;zerofree&lt;/code&gt; package. It is needed to rewrite the free space with zeroes.&lt;/li&gt;
&lt;li&gt;Mount the filesystem as "readonly". This is needed for the tool to be able to perform it's task. If you're working with the "/", easiest way to mount it as readonly is to edit the kernel parameters.

&lt;ul&gt;
&lt;li&gt;Edit &lt;code&gt;/etc/default/grub&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;Find the &lt;code&gt;GRUB_CMDLINE_LINUX_DEFAULT&lt;/code&gt; line.&lt;/li&gt;
&lt;li&gt;Add &lt;code&gt;init=/bin/bash&lt;/code&gt; to it&lt;/li&gt;
&lt;li&gt;reboot&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;zerofree -v /dev/sdX&lt;/code&gt;. This could run for some time, depending on the size of your disk.&lt;/li&gt;
&lt;li&gt;After it's done, run &lt;code&gt;exec init&lt;/code&gt; to finish booting up.&lt;/li&gt;
&lt;li&gt;Shutdown the VM in order to be able to run the next command which requires a lock on the VDI volume.&lt;/li&gt;
&lt;li&gt;On the Windows host run &lt;code&gt;VBoxManage.exe modifymedium "path\to\disk.vdi" --compact&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cli</category>
      <category>linux</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to Switch Between Different Backends in Haproxy Using Hatop</title>
      <dc:creator>ivnilv</dc:creator>
      <pubDate>Sun, 14 Mar 2021 12:55:51 +0000</pubDate>
      <link>https://dev.to/ivnilv/how-to-switch-between-different-backends-in-haproxy-using-hatop-4ne1</link>
      <guid>https://dev.to/ivnilv/how-to-switch-between-different-backends-in-haproxy-using-hatop-4ne1</guid>
      <description>&lt;p&gt;... with zero downtime for clients !&lt;/p&gt;

&lt;p&gt;Learn more at:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.ivnilv.com/posts/how-to-switch-between-different-backends-in-haproxy-with-hatop/"&gt;https://blog.ivnilv.com/posts/how-to-switch-between-different-backends-in-haproxy-with-hatop/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>haproxy</category>
      <category>linux</category>
      <category>backend</category>
      <category>zerodowntime</category>
    </item>
    <item>
      <title>Using Certbot Letsencrypt with nginx</title>
      <dc:creator>ivnilv</dc:creator>
      <pubDate>Thu, 11 Mar 2021 16:10:37 +0000</pubDate>
      <link>https://dev.to/ivnilv/using-certbot-letsencrypt-with-nginx-3jp6</link>
      <guid>https://dev.to/ivnilv/using-certbot-letsencrypt-with-nginx-3jp6</guid>
      <description>&lt;p&gt;Check out my latest post!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.ivnilv.com/posts/using-certbot-letsencrypt-with-nginx/"&gt;https://blog.ivnilv.com/posts/using-certbot-letsencrypt-with-nginx/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nginx</category>
      <category>sysadmin</category>
      <category>linux</category>
      <category>letsencrypt</category>
    </item>
    <item>
      <title>Rotating Kubernetes etcd certificates in Kops managed cluster</title>
      <dc:creator>ivnilv</dc:creator>
      <pubDate>Wed, 30 Dec 2020 12:56:26 +0000</pubDate>
      <link>https://dev.to/ivnilv/rotating-kubernetes-etcd-certificates-in-kops-managed-cluster-26f5</link>
      <guid>https://dev.to/ivnilv/rotating-kubernetes-etcd-certificates-in-kops-managed-cluster-26f5</guid>
      <description>&lt;p&gt;&lt;a href="https://blog.ivnilv.com/posts/rotating-kops-etcd-certificates/"&gt;https://blog.ivnilv.com/posts/rotating-kops-etcd-certificates/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>aws</category>
      <category>etcd</category>
      <category>certificates</category>
    </item>
  </channel>
</rss>
