Exploring LXC Containerization for Ubuntu Servers

2 months 1 week ago
by George Whittaker Introduction

In the world of modern software development and IT infrastructure, containerization has emerged as a transformative technology. It offers a way to package software into isolated environments, making it easier to deploy, scale, and manage applications. While Docker is the most popular containerization technology, there are other solutions that cater to different use cases and needs. One such solution is LXC (Linux Containers), which offers a more full-fledged approach to containerization, akin to lightweight virtual machines.

In this guide, we will explore how LXC works, how to set it up on Ubuntu Server, and how to leverage it for efficient and scalable containerization. Whether you're looking to run multiple isolated environments on a single server, or you want a lightweight alternative to virtualization, LXC can meet your needs. By the end of this article, you will have the knowledge to deploy, manage, and secure LXC containers on your Ubuntu Server setup.

What is LXC? What are Linux Containers (LXC)?

LXC (Linux Containers) is an operating system-level virtualization technology that allows you to run multiple isolated Linux systems (containers) on a single host. Unlike traditional virtualization, which relies on hypervisors to emulate physical hardware for each virtual machine (VM), LXC containers share the host’s kernel while maintaining process and file system isolation. This makes LXC containers lightweight and efficient, with less overhead compared to VMs.

LXC offers a more traditional way of containerizing entire operating systems, as opposed to application-focused containerization solutions like Docker. While Docker focuses on packaging individual applications and their dependencies into containers, LXC provides a more complete environment that behaves like a full operating system.

Go to Full Article
George Whittaker

Ignition is a Modern Startup Applications Utility for Linux

2 months 1 week ago

I won’t lie: it’s easy to add or remove startup apps, commands, and scripts in Ubuntu. Just open the Startup Applications tool, click ‘Add’, and away you go. But while Ubuntu’s utility is adequate, it’s not as user-friendly as similar tools available elsewhere. Sure, Startup Applications is equipped with the critical customisation fields a user will need to curate a set of software/services to start at login — SSH agent, VPN app, password manager, backup script, resolution tweaks, and so on — but it’s rather rote. Take the way you add an app to start at login: Ubuntu’s Startup Applications […]

You're reading Ignition is a Modern Startup Applications Utility for Linux, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

VirtualBox Update Adds Support for Linux Kernel 6.13

2 months 1 week ago

VirtualBox 7.1.6 is out, the third maintenance release to the VirtualBox 7.1 stable series first released in September of last year. Headline offering in this update is initial support for the recently released Linux kernel 6.13 in Linux Guest Additions, plus improved support for the Linux 6.4 kernel to fix graphics freezing when using VBoxVGA adapter, and Linux 6.12 fixes for vboxvideo. Linux guest screens no longer flicker when using VMSVGA graphics adapters, Windows 11 24H2 guests no longer throw BSODs, and entering a custom proxy server in a guest OS’ settings will now take effect, which some will be […]

You're reading VirtualBox Update Adds Support for Linux Kernel 6.13, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Wine 10.0 Release Brings New Drivers, Features & Changes

2 months 2 weeks ago

A fresh stable release of Wine — the open-source compatibility layer that makes it possible to run Windows apps and games on Linux and macOS — has been uncorked. More than 6,000 thousand changes were distilled in Wine 10.0, changes collected, collated, and curated over the past 12 months of Wine 9.x development releases. For those who’ve supped the dev cycle builds, the bulk of what’s new in Wine 10.0 will be familiar. Wine is not the ‘everyday essential’ it was in years past. Back then, web-based services weren’t as capable, so folks were wedded to specific pieces of Windows software, […]

You're reading Wine 10.0 Release Brings New Drivers, Features & Changes, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Efficient Text Processing in Linux: Awk, Cut, Paste

2 months 2 weeks ago
by George Whittaker Introduction

In the world of Linux, the command line is an incredibly powerful tool for managing and manipulating data. One of the most common tasks that Linux users face is processing and extracting information from text files. Whether it's log files, configuration files, or even data dumps, text processing tools allow users to handle these files efficiently and effectively.

Three of the most fundamental and versatile text-processing commands in Linux are awk, cut, and paste. These tools enable you to extract, modify, and combine data in a way that’s quick and highly customizable. While each of these tools has a distinct role, together they offer a robust toolkit for handling various types of text-based data. In this article, we will explore each of these tools, showcasing their capabilities and providing examples of how they can be used in day-to-day tasks.

The cut Command

The cut command is one of the simplest yet most useful text-processing tools in Linux. It allows users to extract sections from each line of input, based on delimiters or character positions. Whether you're working with tab-delimited data, CSV files, or any structured text data, cut can help you quickly extract specific fields or columns.

Definition and Purpose

The purpose of cut is to enable users to cut out specific parts of a file. It's highly useful for dealing with structured text like CSVs, where each line represents a record and the fields are separated by a delimiter (e.g., a comma or tab).

Basic Syntax and Usage

cut -d [delimiter] -f [fields] [file]

  • -d [delimiter]: This option specifies the delimiter, which is the character that separates fields in the text. By default, cut treats tabs as the delimiter.
  • -f [fields]: This option is used to specify which fields you want to extract. Fields are numbered starting from 1.
  • [file]: The name of the file you want to process.
Examples of Common Use Cases
  1. Extracting columns from a CSV file

Suppose you have a CSV file called data.csv with the following content:

Name,Age,Location Alice,30,New York Bob,25,San Francisco Charlie,35,Boston

To extract the "Name" and "Location" columns, you would use:

cut -d ',' -f 1,3 data.csv

This will output:

Name,Location Alice,New York Bob,San Francisco Charlie,Boston

Go to Full Article
George Whittaker

Ubuntu Devs Debate Moving from IRC to Matrix

2 months 2 weeks ago

Ubuntu is mulling a switch to Matrix from IRC to handle real-time development discussion. Canonical’s Robie Basak has begun a discussion on the Ubuntu Developer Mailing list regarding a potential switch, in an effort to find consensus for or against such a move. But he urges devs in favour not to abandon Ubuntu IRC channels just yet. “First let’s discuss, and if we decide to move, then we can pick a date to move the “official” place for realtime Ubuntu developer conversation,” he writes. If Ubuntu’s development discussions — that is, discussions between approved Ubuntu developers, Canonical engineers, etc — […]

You're reading Ubuntu Devs Debate Moving from IRC to Matrix, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Refine (Advanced GNOME Settings Apps) Adds More Options

2 months 2 weeks ago

A clutch of new customisation and configuration options were added to Refine, a GTK4/libadwaita app in the vein of GNOME Tweaks (but better), over the weekend. Refine is compelling due to its goal of offering the “convenience to add or remove options without touching a single line of source code” — though for a GUI option to exist it must be hooking into a variable within GNOME, i.e., it can’t magic up a toggle to make it rain glitter! A brief bit of turbulence ensnared those attempting to run the tool on Ubuntu after I covered it in early January […]

You're reading Refine (Advanced GNOME Settings Apps) Adds More Options, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Linux Kernel 6.13 Released with Big Changes

2 months 2 weeks ago

The first new kernel release of the year has arrived — yes, Linux 6.13 has gone stable. Linux kernel 6.13 adds, as ever, a vast array of improvements, from an updated Raspberry Pi graphics driver promising speed gains, to lazy preemption logic, expanded Rust support and new drivers for a host of hardware, peripherals and digital doohickeys. Plus, as with all new kernel releases there’s ongoing work to support new and upcoming CPUs and GPUs from industry titans Intel and AMD. Linus Torvalds quietly confirmed the Linux 6.13 release in an email to the Linux Kernel Mailing List (LKML), noting that as […]

You're reading Linux Kernel 6.13 Released with Big Changes, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

How to Configure Network Interfaces with Netplan on Ubuntu

2 months 2 weeks ago
by George Whittaker

Netplan is a modern network configuration tool introduced in Ubuntu 17.10 and later adopted as the default for managing network interfaces in Ubuntu 18.04 and beyond. With its YAML-based configuration files, Netplan simplifies the process of managing complex network setups, providing a seamless interface to underlying tools like systemd-networkd and NetworkManager.

In this guide, we’ll walk you through the process of configuring network interfaces using Netplan, from understanding its core concepts to troubleshooting potential issues. By the end, you’ll be equipped to handle basic and advanced network configurations on Ubuntu systems.

Understanding Netplan

Netplan serves as a unified tool for network configuration, allowing administrators to manage networks using declarative YAML files. These configurations are applied by renderers like:

  • systemd-networkd: Ideal for server environments.

  • NetworkManager: Commonly used in desktop setups.

The key benefits of Netplan include:

  1. Simplicity: YAML-based syntax reduces complexity.

  2. Consistency: A single configuration file for all interfaces.

  3. Flexibility: Supports both simple and advanced networking scenarios like VLANs and bridges.

Prerequisites

Before diving into Netplan, ensure you have the following:

  • A supported Ubuntu system (18.04 or later).

  • Administrative privileges (sudo access).

  • Basic knowledge of network interfaces and YAML syntax.

Locating Netplan Configuration Files

Netplan configuration files are stored in /etc/netplan/. These files typically end with the .yaml extension and may include filenames like 01-netcfg.yaml or 50-cloud-init.yaml.

Important Tips:
  • Backup existing configurations: Before making changes, create a backup with the command:

    sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
  • YAML Syntax Rules: YAML is indentation-sensitive. Always use spaces (not tabs) for indentation.

Configuring Network Interfaces with Netplan

Here’s how you can configure different types of network interfaces using Netplan.

Step 1: Identify Network Interfaces

Before modifying configurations, identify available network interfaces using:

Go to Full Article
George Whittaker

Linux Mint 22.1 Released, This is What’s New

2 months 2 weeks ago

A major new release of Linux Mint is now available to download. Linux Mint 22.1 is the first update in the Linux Mint 22.x series and, like that version, is built on top of Ubuntu 24.04 LTS and uses Linux Kernel 6.8 (though the distro plans to release newer kernel updates more often by opting-in to the Ubuntu HWE). Being based on Ubuntu 24.04 LTS means Linux Mint 22.1 receives on-going updates until July 2029. Though it features few foundational changes, Linux Mint 22.1 brings improvements to what sits on top – a new version of the Cinnamon desktop, Wayland-friendly features, new […]

You're reading Linux Mint 22.1 Released, This is What’s New, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Ubuntu Patches Major Security Vulnerabilities in Rsync

2 months 2 weeks ago

Doing anything right now? Oh, you’re reading this – appreciated – but once you’re done go and install the pending update to Rsync, pushed out to all supported versions of Ubuntu desktop and server this week. Rsync is a command-line tool preinstalled in all versions and flavours of Ubuntu. It’s used for data-efficient copying and synchronising of files between locations, be it local or remote. You might not (knowingly) use it (it’s not a GUI app) it’s there, on your system. And the fact it’s there is important. This week, security researchers at Google disclosed major vulnerabilities in the Ubuntu […]

You're reading Ubuntu Patches Major Security Vulnerabilities in Rsync, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

GNOME 48 Expands Core Apps With New Audio Player

2 months 3 weeks ago

When GNOME 48 is released in March it will debut with a brand-new audio player. Per a recent merge request, Decibels graduates from GNOME Incubator to GNOME Core Apps as part of GNOME 48, making the software something GNOME recommends downstream Linux distributions include to give users a fully-featured GNOME experience. You may be familiar with or even using Decibels already. I wrote about the app in late 2023, and it’s been available to install from Flathub for almost as long. For anyone not familiar with it, Decibels is a no-frills audio player designed for the GNOME desktop (but can […]

You're reading GNOME 48 Expands Core Apps With New Audio Player, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Flatpak 1.16 Improves USB Access, Wayland Integration & Accessibility

2 months 3 weeks ago

A new stable release of Flatpak is out with a wealth of improvements in tow. Flatpak 1.16.0 is the first stable release in the new 1.16.x series, coming more than two years after the Flatpak 1.14.x cycle began and containing features, fixes, and other work undertaken from the 1.15.x development releases. Such as? Well, the way that Flatpak apps access USB devices is improved in Flatpak 1.16.x thanks to a new input device permission. Developer Georges Basile Stavracas notes that this is “technically still a sandbox hole that should be treated with caution” but enables apps to purposefully limit the scope […]

You're reading Flatpak 1.16 Improves USB Access, Wayland Integration & Accessibility, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Navigating Service Management on Debian

2 months 3 weeks ago
by George Whittaker

Managing services effectively is a crucial aspect of maintaining any Linux-based system, and Debian, one of the most popular Linux distributions, is no exception. In modern Linux systems, Systemd has become the dominant init system, replacing traditional options like SysVinit. Its robust feature set, flexibility, and speed make it the preferred choice for system and service management. This article dives into Systemd, exploring its functionality and equipping you with the knowledge to manage services confidently on Debian.

What is Systemd?

Systemd is an init system and service manager for Linux operating systems. It is responsible for initializing the system during boot, managing system processes, and handling dependencies between services. Systemd’s design emphasizes parallelization, speed, and a unified approach to managing services and logging.

Key Features of Systemd:
  • Parallelized Service Startup: Systemd starts services in parallel whenever possible, improving boot times.

  • Unified Logging with journald: Centralized logging for system events and service output.

  • Consistent Configuration: Standardized unit files make service management straightforward.

  • Dependency Management: Ensures that services start and stop in the correct order.

Understanding Systemd Unit Files

At the core of Systemd’s functionality are unit files. These configuration files describe how Systemd should manage various types of resources or tasks. Unit files are categorized into several types, each serving a specific purpose.

Common Types of Unit Files:
  1. Service Units (.service): Define how services should start, stop, and behave.

  2. Target Units (.target): Group multiple units into logical milestones, like multi-user.target or graphical.target.

  3. Socket Units (.socket): Manage network sockets for on-demand service activation.

  4. Timer Units (.timer): Replace cron jobs by scheduling tasks.

  5. Mount Units (.mount): Handle filesystem mount points.

Structure of a Service Unit File:

A typical .service unit file includes the following sections:

Go to Full Article
George Whittaker

Enlightenment 0.27 Released with Bug Fixes, New Modules

2 months 3 weeks ago

Enlightenment 0.27, released this week, brings a wealth of incremental improvements to users of this unique desktop environment. Though not as well known or widely used as GNOME, Xfce, KDE Plasma, et al, Enlightenment (often abbreviated as just ‘E’) differentiates itself through the use of Enlightenment Foundation Libraries (EFL). An assembly of modules, Enlightenment offers a lightweight window manager, compositor, and desktop shell built using Enlightenment Foundation Libraries (EFL), plus a small set of native EFL-based apps including a file manager, photo viewer, and terminal. Enlightenment’s aesthetics aren’t to everyone’s tastes (it’d be a boring world if it did; most […]

You're reading Enlightenment 0.27 Released with Bug Fixes, New Modules, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Tiling Shell’s Newest Feature Speeds Up Window Snapping

2 months 3 weeks ago

Window snapping GNOME extension Tiling Shell —not that you need an introduction to it by now— adds a nifty new feature in its latest update. Tiling Shell v16 introduces Windows Suggestions, a feature the add-on’s author described as being able to “provide intelligent recommendations for other windows to tile, making window management smoother and more intuitive.” Per the GIF below, placing a window in a tile using the tiling system results in on-screen suggestions for other windows to tile in the the remaining gaps. If too many windows are open (so suggestions don’t fit within the available space) it’s scrollable. […]

You're reading Tiling Shell’s Newest Feature Speeds Up Window Snapping, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

VLC Developers Working on AI-Powered Real-Time Subtitles

2 months 3 weeks ago

Real-time AI subtitling is in the works for VLC, the phenomenally popular open-source media player. VideoLAN, the non-profit in charge of VLC development, demoed automatic subtitle generation in VLC during CES 2025 —where not using AI made you stand out this year— and shared a clip of the feature in action at their CES booth on X last week. No cloud service or internet connection is needed for VLC to auto-generate subtitles with AI. The feature works offline to provide real-time translation support for more 100+ languages; is able to translate/display two languages at once; and can ‘save’ translations to […]

You're reading VLC Developers Working on AI-Powered Real-Time Subtitles, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Linux Foundation & Google Form New Group to Manage Chromium

2 months 3 weeks ago

Google is teaming up with the Linux Foundation, Microsoft, Meta, and Opera to form a new Supporters of Chromium-Based Browsers group. Members of the group, managed by the Linux Foundation, will work together, pool resources, talent, time, and expertise to improve, innovate, and accelerate development of the open-source Chromium codebase. Why the Linux Foundation? Google cites their “long established practices for open governance, prioritizing transparency, inclusivity, and community-driven development.” For its part, Google says it has no intention of reducing its contributions to Chromium (which made up roughly 94 percent of all commits to the codebase in 2024), but will […]

You're reading Linux Foundation & Google Form New Group to Manage Chromium, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

System76 Release COSMIC DE Alpha 5: What’s New?

2 months 3 weeks ago

A new alpha update to System76’s COSMIC desktop environment has arrived with a clutch of interactive improvements. This is the fifth alpha of the Rust-based DE since August 2024. More alphas will arrive each month until all the features planned to ship in the first stable release – or ‘epoch’, as System76 is calling them – are in place, at which point beta testing will begin. Arriving alongside this alpha is a refreshed ISO of Pop!_OS 24.04 (Alpha) with COSMIC Alpha 5 preinstalled — but, just like previous COSMIC desktop alpha releases, users of other Linux distributions, like Arch Linux, […]

You're reading System76 Release COSMIC DE Alpha 5: What’s New?, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Exploring Statistical Analysis with R and Linux

2 months 3 weeks ago
by George Whittaker Introduction

In today's data-driven world, statistical analysis plays a critical role in uncovering insights, validating hypotheses, and driving decision-making across industries. R, a powerful programming language for statistical computing, has become a staple in data analysis due to its extensive library of tools and visualizations. Combined with the robustness of Linux, a favored platform for developers and data professionals, R becomes even more effective. This guide explores the synergy between R and Linux, offering a step-by-step approach to setting up your environment, performing analyses, and optimizing workflows.

Why Combine R and Linux?

Both R and Linux share a fundamental principle: they are open source and community-driven. This synergy brings several benefits:

  • Performance: Linux provides a stable and resource-efficient environment, enabling seamless execution of computationally intensive R scripts.

  • Customization: Both platforms offer immense flexibility, allowing users to tailor their tools to specific needs.

  • Integration: Linux’s command-line tools complement R’s analytical capabilities, enabling automation and integration with other software.

  • Security: Linux’s robust security features make it a trusted choice for sensitive data analysis tasks.

Setting Up the Environment Installing Linux

If you’re new to Linux, consider starting with beginner-friendly distributions such as Ubuntu or Fedora. These distributions come with user-friendly interfaces and vast support communities.

Installing R and RStudio
  1. Install R: Use your distribution’s package manager. For example, on Ubuntu:

    sudo apt update sudo apt install r-base
  2. Install RStudio: Download the RStudio .deb file from RStudio’s website and install it:

    sudo dpkg -i rstudio-x.yy.zz-amd64.deb
  3. Verify Installation: Launch RStudio and check if R is working by running:

    version
Configuring the Environment
  • Update R packages:

    update.packages()
  • Install essential packages:

    install.packages(c("dplyr", "ggplot2", "tidyr"))
Essential R Tools and Libraries

R's ecosystem boasts a wide range of packages for various statistical tasks:

  • Data Manipulation:

    • dplyr and tidyr for transforming and cleaning data.

Go to Full Article
George Whittaker