Building Your Own Ubuntu Personal Cloud: A Step-by-Step Guide to Creating a Secure Data Haven

1 month 2 weeks ago
by George Whittaker

In today’s digital world, data is more than just information; it’s a part of our lives. From photos and documents to sensitive personal information, our data represents our memories, work, and interests. While cloud storage services are widely available, they often come with privacy concerns, subscription fees, and limitations on customization. This is where building a personal cloud on Ubuntu comes in as a powerful alternative, giving you full control over your data with the flexibility to customize and expand as you wish.

This guide will walk you through setting up an Ubuntu-based personal cloud, using Nextcloud as the main application, and ensuring your setup is secure and robust.

Why Build a Personal Cloud on Ubuntu?

Ubuntu, one of the most popular Linux distributions, is well-suited for creating a personal cloud due to its stability, security, and vast community support. A personal cloud offers several advantages over public cloud services:

  • Data Privacy and Control: With a personal cloud, you own your data outright. Unlike traditional cloud services, you don’t have to rely on third-party terms of service, nor worry about your data being analyzed for advertising or other purposes.

  • Cost Savings: By using existing hardware (e.g., an old laptop or a Raspberry Pi), you avoid recurring subscription fees, making this a cost-effective solution for long-term data storage.

  • Customization: You can tailor the cloud to your needs, adding features or plugins that public cloud providers may not offer.

By the end of this article, you’ll have your own Ubuntu-based personal cloud, a secure, private data haven that you can access from anywhere.

Choosing Your Hardware Selecting the Right Device

You can set up an Ubuntu personal cloud on various types of hardware. Some common options include:

  • An Old PC or Laptop: If you have an unused computer lying around, repurposing it for your cloud is an excellent, low-cost choice.
  • Raspberry Pi: Affordable and energy-efficient, Raspberry Pi (especially Pi 4) is powerful enough for personal cloud usage, though it may have limitations with heavy workloads.
  • Dedicated Server or NAS: If your storage needs are extensive, investing in a dedicated server or Network Attached Storage (NAS) system can provide robust performance.
Storage and Memory Requirements

Ensure your device has at least 2GB of RAM and sufficient storage for your data. Consider adding external storage drives if your initial setup runs low on disk space.

Go to Full Article
George Whittaker

Raspberry Pi Gives its Tiny Touch Display a Big Upgrade

1 month 2 weeks ago

Raspberry Pi has announced a new version of its 7-inch ‘Touch Display’ accessory. And given that the previous model was announced 9 years ago, some kind of update was arguably due for this device. The Raspberry Pi Touch Display 2 runs at a higher-resolution display than its predecessor, and uses a slimmer form factor now that the display driver board is integrated into the enclosure itself, streamlining the end setup. Yet despite those upgrades, the price point hasn’t changed: it still costs $60/£56 No details on the brightness, contrast, etc for the new model, and it’s notably described as offering […]

You're reading Raspberry Pi Gives its Tiny Touch Display a Big Upgrade, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Apple Maps on Web Now Works on Linux (But Only in Firefox)

1 month 2 weeks ago

Something to file under “won’t please many Linux users, but is nonetheless a good thing™ for choice”, Apple Maps on the web now works on Linux. Apple launched a web-based version of Apple Maps in beta in July, bringing its mapping service to non-Apple platforms for the very first time (the app comes preinstalled on iOS, iPadOS, and macOS). In an ideal world, any web-based service should work everywhere. But in the less-than-ideal world we actually live in, it often doesn’t. Initially, ‘Apple Maps on web’ (as Cupertino is calling it) only worked in Safari on macOS and iOS, and […]

You're reading Apple Maps on Web Now Works on Linux (But Only in Firefox), a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Linux Mint is Adding a Native ‘Night Light’ Feature to Cinnamon

1 month 2 weeks ago

Linux Mint has announced it’s adding a native Night Light feature to the Cinnamon desktop. Earlier versions of Linux Mint included a third-party app called Redshift to provide similar ‘blue light’ filtering functionality. However, when the Mozilla location service shut down earlier this year the geo-location capabilities powering Redshift (which allowed the feature to automatically start at sunset for a user’s location) stopped working. Linux Mint’s developers felt asking its users to work-around the breakage by entering their location’s longitude and latitude coordinates manually in the app was a tough ask given its a distro focused on and famed for […]

You're reading Linux Mint is Adding a Native ‘Night Light’ Feature to Cinnamon, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

COSMIC Desktop Alpha 3 Brings Further Improvements

1 month 3 weeks ago

System76’s COSMIC desktop environment continues to take shape, with a third alpha snapshot now available for testing. The first alpha brought the core essentials, the second alpha delivered stack of new features, and this third alpha fills in gaps, fixes issues, and finesses the user experience further. Of note, COSMIC now lets you set a custom system font (if Fira Sans isn’t your fave), and boosts accessibility with initial support for the Orca screen reader, albeit not in native COSMIC apps just yet – accessibility is a priority, so “soon” hopefully. Other things I noticed: COSMIC Files gains a hover […]

You're reading COSMIC Desktop Alpha 3 Brings Further Improvements, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Thanks to AI, Python is Now the #1 Language on GitHub

1 month 3 weeks ago

Python has overtaken JavaScript as the most-used language on GitHub, according to the code-hosting platform’s latest Octoverse report. The company attributes this momentum to a massive influx of “data science and machine learning on GitHub”, which has seen a 59% increase in the number of contributions to generative AI projects. With Python being heavily used across ML, data science, and related fields, the rise makes sense – it’s less that traditional software developers are switching to Python but more that developers working with AI-related projects are needing to use it. Plus, it’s good news for open source, with GitHub reporting […]

You're reading Thanks to AI, Python is Now the #1 Language on GitHub, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

SuperTuxKart 1.5 Beta Brings Benchmark Test, UI Tweaks + More

1 month 3 weeks ago

It’s hallowe’en, and there’s a frightfully good treat waiting for fans of the free, open-source racing game SuperTuxKart – a new beta! The first beta of SuperTuxKart 1.5 offers an array of improvements, touching everything from the underlying game engine to the user-interface through to networking features and score announcements during online multi-player races. No new tracks, karts, characters, or items included this time (those are planned for SuperTuxKart 2.0 along with a myriad of other major changes) but there is a new music track for the Das Luna Arena. Other SuperTuxKart 1.5 beta 1 changes: Naturally, there’s also a […]

You're reading SuperTuxKart 1.5 Beta Brings Benchmark Test, UI Tweaks + More, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Why Linux Is The Open Source Backbone of Decentralized Applications (dApps) and Cryptocurrencies

1 month 3 weeks ago
by George Whittaker Introduction

Blockchain technology and Linux, while seemingly different, share a foundational philosophy: openness, security, and decentralization. Linux, an open source operating system, powers an immense range of devices, from servers to embedded systems, due to its stability, security, and flexibility. Blockchain, meanwhile, is a decentralized ledger technology that stores data in a secure, immutable, and transparent way, paving the way for new paradigms in finance, applications, and governance.

Together, Linux and blockchain technologies form a powerful synergy, where Linux’s open source infrastructure facilitates the secure, resilient, and decentralized environment blockchain applications require. In this article, we’ll explore how Linux powers decentralized applications (dApps) and cryptocurrencies, examining the unique benefits, challenges, and tools available on Linux for blockchain developers and enthusiasts.

Understanding Blockchain and Decentralization What is Blockchain?

Blockchain technology is a distributed ledger system in which data is stored across a network of computers in a series of linked “blocks.” Each block contains a set of transactions or data points, which are verified by network participants and cryptographically linked to the previous block, forming an unbroken “chain” of information.

This design ensures transparency (as all participants can view the ledger), immutability (as altering past data is nearly impossible), and security (as the decentralized nature of the network prevents single points of failure and reduces the risk of malicious interference).

Why Decentralization Matters

In traditional centralized systems, data and control are managed by a single entity, such as a bank, corporation, or government. In contrast, decentralized systems distribute power across a network of participants, ensuring autonomy, privacy, and control are in the hands of users rather than any central authority. Decentralized networks can operate without intermediaries, reducing inefficiencies, lowering costs, and creating new opportunities for transparency and fairness.

Linux and Blockchain: Why Linux is Ideal for Blockchain Development Open source Nature and Community Support

Linux’s open source framework aligns perfectly with blockchain’s decentralized ethos. Because Linux code is freely available, developers can modify and optimize it for specific blockchain needs, tailoring it to enhance both performance and security. The Linux community also contributes to the ecosystem with blockchain-focused libraries, tools, and frameworks, fostering rapid innovation and support for blockchain-specific challenges.

Go to Full Article
George Whittaker

Google Chrome Update Offers More Control Over Memory Usage

1 month 3 weeks ago

The latest stable update to Google Chrome improves its Memory Saver with new controls that could, depending on your workflow and hardware, help reduce the browser’s memory footprint. And some would say it needs it. Google Chrome has a rep for being a memory hog. But is it deserved? Once upon a time, perhaps. Yet whenever people do tests they tend to find that Chrome’s RAM usage is less egregious than popular opinion would contend. Anecdotally, many users still say otherwise. Which is perhaps why the latest update to Google’s dominant web browser introduces 3 new options to control the existing […]

You're reading Google Chrome Update Offers More Control Over Memory Usage, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Ubuntu 25.04 Opens Development with Major Build Change

1 month 3 weeks ago

Ubuntu developers today announced that Ubuntu 25.04 ‘Plucky Puffin’ is officially open for development. There’s even a release date: Ubuntu 25.04 is out on April 17, 2025. Still, that’s a way off; there are 6 months of development stretching out ahead of us. But looking in to the distance one can’t help but wonder what new features Ubuntu 25.04 will offer. It’s too early in the release cycle to know, although GNOME 48, a newer Linux kernel (likely 6.14), and Snap app improvements are all-but a given. Still, would it be too much to hope that the Plucky cycle finally […]

You're reading Ubuntu 25.04 Opens Development with Major Build Change, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Audacity 3.7 Delivers Bug Fixes, Improves Compatibility with Linux

1 month 3 weeks ago

Music makers, podcast producers, and amateur audio enthusiasts alike will be pleased to hear a new version of Audacity is out – and it fixes a lot of bugs. Audacity 3.7.0 marks a new series of maintenance releases which will fix flaws, balm bugs, and nix niggles in the current editions. Big new features are in the works for Audacity 4.0, but as the Audacity 3.6 series earlier this year wasn’t without issues, some breathing space to focus on getting timely fix ’em up releases out, to benefit users now, feels like a sound approach. Audacity 3.7.0: Key Changes As […]

You're reading Audacity 3.7 Delivers Bug Fixes, Improves Compatibility with Linux, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Pre-Orders Open for Pine64’s e-Ink Linux Tablet

1 month 3 weeks ago

Forget Amazon’s recent Kindle refresh, the most exciting e-ink device around is the PineNote from prolific open-source hardware makers Pine64. I reported last month that Pine64 had confirmed a new PineNote production run, the first in several years, now that it has a solid Debian-based OS to run. And now it’s begun taking pre-orders, with shipping expected to begin in mid-November. The PineNote has a 10.1-inch e-ink scratch-resistant display with up to 16 levels of greyscale at a resolution of 1404×1872 (227 DPI). Powered a quad-core RK3566 SoC with 4 GB RAM, 128GB storage, on-board Wi-Fi, Bluetooth, a front-light, speakers, […]

You're reading Pre-Orders Open for Pine64’s e-Ink Linux Tablet, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Mousam is a Detailed Desktop Weather App for Linux

1 month 3 weeks ago

Being a Linux nerd I rarely go outside —that’s a joke— but knowing what the weather is doing beyond my basement walls —still a joke— is useful – if only because it usually gives me an excuse to stay at my desk compiling my own kernel —not a joke. Scores of Linux weather apps, widgets, and add-ons exist. These put current temperature, conditions, and (usually) near-term forecasts within easy reach, or permanently on show. And honestly? That’s all the weather data most of us care to know. It answers ‘will I need a jacket?’, ‘will it rain today?’, ‘can I […]

You're reading Mousam is a Detailed Desktop Weather App for Linux, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

ONLYOFFICE 8.2 Improves Startup Times, Adds New Theme + More

1 month 3 weeks ago

A big update to ONLYOFFICE Desktop Editors, a free, open-source office suite for Windows, macOS, and Linux is available to download. ONLYOFFICE 8.2 offers a clutch of new features, several performance gains, and a miscellany of smaller enhancements across the full suite, which is composed of a word processor, spreadsheet tool, presentation maker, form filler, and a PDF editor. For a lighter look, ONLYOFFICE 8.2 includes a new grey theme in its appearance settings. This is not enabled by default but can be applied to all apps in the suite from the main settings, or applied to just specific components, […]

You're reading ONLYOFFICE 8.2 Improves Startup Times, Adds New Theme + More, a blog post from OMG! Ubuntu. Do not reproduce elsewhere without permission.

Joey Sneddon

Unlocking Data Science Potential Understanding Machine Learning and Data Analysis with JupyterLab

1 month 3 weeks ago
by George Whittaker Introduction

In recent years, JupyterLab has rapidly become the tool of choice for data scientists, machine learning (ML) practitioners, and analysts worldwide. This powerful, web-based integrated development environment (IDE) provides a flexible and interactive workspace for performing data analysis, machine learning, and visualization, making it indispensable for professionals and enthusiasts alike.

In this guide, we will explore what makes JupyterLab so essential for data analysis and machine learning. We’ll look at its strengths and unique features, walk through the setup process, delve into its core functionalities, and explore best practices that will streamline workflows and maximize productivity. By the end, you’ll have a robust understanding of how JupyterLab can become an integral part of your data science journey.

Why JupyterLab for Machine Learning and Data Analysis? Unmatched Flexibility and Interactive Computing

JupyterLab stands out for its interactive computing capabilities, allowing users to run code cells, modify them, and see results in real-time. This interactivity is a game-changer for machine learning and data analysis, as it promotes rapid experimentation with data, algorithms, and visualizations.

Ideal for Data Exploration and Visualization

JupyterLab’s notebook format makes it easy to document the process, combining code, markdown, and visualizations in one place. This aspect is crucial for both exploratory data analysis (EDA) and storytelling in data science, providing a platform for creating visually intuitive and logically organized reports.

Extension Ecosystem and Customization

The JupyterLab ecosystem includes an extensive range of extensions, enabling users to add custom functionalities for project-specific needs. From visualization tools like Plotly and Bokeh to data handling and machine learning libraries, the extension ecosystem allows JupyterLab to be customized for a variety of workflows.

Go to Full Article
George Whittaker

Hardening Linux Servers Against Threats and Attacks

1 month 4 weeks ago
by George Whittaker Introduction

Linux servers are known for their reliability and security, which has made them popular in both enterprise and individual deployments. However, no system is impervious to attacks. With cyber threats evolving constantly, server administrators must adopt proactive measures to secure their systems against vulnerabilities and attacks. This guide dives into a range of hardening techniques and best practices to create a fortified Linux environment that’s resilient against various threats.

Understanding the Threat Landscape

Before diving into specific measures, it’s essential to understand the types of threats Linux servers may encounter. These include:

  • Brute-Force Attacks: Attempts to gain unauthorized access by systematically trying all possible combinations of passwords.
  • Rootkits and Malware: Malicious software that can gain unauthorized access to server resources.
  • Denial of Service (DoS) Attacks: Overloading server resources, rendering services unavailable.
  • Zero-Day Vulnerabilities: Exploits targeting unknown or unpatched vulnerabilities in the system.

Understanding these potential threats is the first step to building an effective security strategy.

User and Access Control

One of the most critical aspects of server security is managing user access effectively. Limiting who can access your server and how they can do so is vital in reducing risk.

Go to Full Article
George Whittaker

Crafting a Custom Linux Kernel for Your Embedded Projects

2 months ago
by George Whittaker Introduction

Embedded systems have become a cornerstone of modern technology, powering everything from IoT devices to automotive control systems. These specialized systems rely on software that is lightweight, efficient, and highly optimized for specific hardware configurations. At the heart of this software stack lies the Linux kernel, which is widely used in embedded devices due to its flexibility, robustness, and open-source nature.

However, the generic Linux kernel is often bloated with unnecessary drivers, modules, and features that are irrelevant for embedded applications. For developers working on embedded systems, building a custom Linux kernel is not only a means to optimize performance but also a way to reduce the system's resource consumption, improve security, and enhance hardware compatibility.

In this article, we will guide you through the intricate process of building a custom Linux kernel for embedded systems. We will explore the reasons for kernel customization, the necessary prerequisites, step-by-step instructions for configuring, compiling, and deploying the kernel, and finally, best practices to ensure stability and performance in production environments.

Why Customize the Linux Kernel for Embedded Systems? Performance Optimization

One of the key reasons to build a custom Linux kernel for an embedded system is performance. The default kernel comes packed with features that are designed to work across a wide range of hardware platforms, but these general-purpose features are often unnecessary in embedded applications. By removing unused drivers and modules, you can significantly improve system performance, reduce boot times, and optimize resource usage. This allows the embedded system to run faster, with fewer interruptions and lower power consumption, which is crucial for devices with limited computational power or battery life.

For instance, an IoT device running on an ARM-based processor doesn't need support for high-performance networking protocols or advanced graphical interfaces. Customizing the kernel ensures that only the essential features are included, thus reducing overhead.

Reduced Resource Consumption

Embedded systems often operate with limited memory, storage, and CPU power. A lean, stripped-down kernel can minimize memory usage, helping the device operate more efficiently. By eliminating unnecessary features such as unused file systems, debugging symbols, and kernel-level services, you can conserve valuable system resources. This is especially important for real-time embedded systems, where even small inefficiencies can result in delayed responses or missed deadlines.

Go to Full Article
George Whittaker

The Evolution of Linux Package Management and Its Impact on Modern Computing

2 months ago
by George Whittaker Introduction

If you’ve ever used a modern Linux distribution, you’ve likely experienced the convenience of installing and updating software with a single command. Package managers, the tools behind this ease of use, have become a cornerstone of the Linux ecosystem, providing a structured and efficient way to manage software. However, the history of Linux package management is a long and evolving journey, beginning in the days when installing software was a manual, tedious, and error-prone process.

In this article, we’ll take a look at the evolution of Linux package management, from the early days of manual installations to today’s advanced, automated tools. We’ll explore how package managers were developed to address growing user demands, dependency problems, and the need for more efficient software distribution. By the end, you’ll have a deep understanding of how Linux package management has evolved and where it might be headed in the future.

The Early Days: Manual Installation of Software The Beginning of Linux Distributions

When Linux was first introduced in the early 1990s, it was an exciting but highly technical operating system. Unlike today, there was no easy way to install software with a single command. Early Linux distributions, such as Slackware and Debian, required users to manually download source code, compile it, and install it themselves.

Tarballs and Source Code Compilation

In the early days, software was distributed in tarballs—compressed files that contained the source code of a program. Users had to unpack these tarballs, typically with the command tar -xvf, and then compile the software on their system. This was often a multi-step process that required running a configuration script (./configure) to check for system dependencies, compiling the source code into executable binaries using make, and finally installing the program with make install.

This process gave users maximum control but was fraught with difficulties:

Go to Full Article
George Whittaker

A Simple Overview of GRUB Bootloader Configuration

2 months 1 week ago
by George Whittaker

Understanding the intricacies of the Linux boot process and the GRUB bootloader configuration is essential for system administrators, developers, and Linux enthusiasts who want to harness the full potential of their operating systems. This article provides an exploration of the boot sequence in Linux systems, highlighting the role of GRUB and offering practical insights into its configuration and customization.

Introduction to the Boot Process and GRUB

The boot process is a critical phase in a computer's operation, initiating the system software and hardware interactions necessary for a functioning environment. In Linux systems, the GRand Unified Bootloader (GRUB) is often at the heart of this process, serving as the intermediary that manages the transition from machine power-on to the loaded operating system.

Overview of the Linux Boot Process BIOS/UEFI Initialization

Upon powering up a computer, the Basic Input/Output System (BIOS) or the Unified Extensible Firmware Interface (UEFI) takes charge. These system firmware options perform initial hardware checks and prepare the system components for the operating system load. While BIOS is the traditional firmware used in older systems, UEFI is more prevalent in modern machines due to its enhanced capabilities, such as support for larger hard drives and quicker boot times.

MBR and Bootloader

Following the system checks, the control is passed to the Master Boot Record (MBR) or GUID Partition Table (GPT) on the primary storage device. The MBR, located in the first sector of the drive, contains the GRUB bootloader, which acts as a launching pad for the operating system. GRUB's ability to read multiple file systems and configurations makes it particularly powerful in multi-boot setups.

GRUB Loading

GRUB is loaded from the MBR/GPT and presents the user with a menu to select from multiple operating system entries, if available. It can also load directly into the default operating system after a timeout period. GRUB's flexibility allows it to handle various operating systems, kernels, and recovery options.

Kernel Initialization

Once an entry is selected, GRUB loads the kernel into memory. The kernel then initializes the hardware devices and mounts the root file system as specified by the boot parameters. During this phase, the initial RAM disk (initrd) or initial RAM filesystem (initramfs) is used to preload necessary drivers and files required to successfully boot the Linux system.

Go to Full Article
George Whittaker

Simplifying Linux File Compression With Tar and Gzip

2 months 1 week ago
by George Whittaker

File compression is a crucial technique in managing data, particularly in systems administration and software development. It helps reduce file size, making storage and transmission more efficient. Linux, known for its robust command-line utilities, offers powerful tools for this purpose, with tar and gzip being among the most frequently used. This article delves into the use of these tools, providing insights and detailed instructions to help you efficiently compress and decompress files in a Linux environment.

Understanding the Basics What is tar?

tar, short for tape archive, is a standard Unix utility that combines multiple files into a single archive file, commonly known as a tarball. While tar itself does not compress files, it is often used in conjunction with compression tools like gzip to reduce the archive's size. The primary advantage of tar is its ability to preserve file metadata such as permissions, dates, and directory structures, making it ideal for backup and distribution.

What is gzip?

gzip (GNU zip) is a compression tool specifically designed to reduce the file size of a single file. Unlike tar, gzip cannot archive multiple files or directories. However, when used together with tar, it effectively compresses the entire tarball, leading to significant space savings. gzip is favored for its speed and effectiveness, especially with text files.

How tar Works Basic Syntax and Options

The basic syntax for tar is:

tar [options] [archive-file] [file or directory to be archived]

Key options include:

  • -c: Creates a new archive.
  • -x: Extracts files from an archive.
  • -v: Verbose mode, shows progress.
  • -f: Specifies the filename of the archive.
  • -z: Filters the archive through gzip, used for compression or decompression.
Creating Archives with tar

To create a simple uncompressed tar archive, you would use:

tar -cvf archive_name.tar /path/to/directory

This command archives all files and subdirectories in /path/to/directory into archive_name.tar and displays the files being archived due to the verbose (-v) option.

Extracting Files from a tar Archive

To extract the contents of an archive, use:

tar -xvf archive_name.tar

Go to Full Article
George Whittaker