Preseed is the equivalent of Kickstart for the RedHat family of distributions, and “autoinstall” for Ubuntu. By preparing a “preseed” file, and populating it with answers to the questions asked by the Debian installer, we can perform unattended and replicable Debian installations. In this tutorial, we learn how to create a preseed file or generate it from an existing installation, and how to pass it to the Debian installer.
Egidio Docile
How to install the Zed code editor on Linux
Zed is a high-performance, “multiplayer”, free and open source code editor written in Rust and developed in the open on GitHub. It was created by the same authors as the Atom text editor, and although it has IDE features, it is very responsive. In this tutorial, we learn how to install Zed on some of the most used Linux distributions.
How to keep two directories in sync using lsyncd on Linux
Lsyncd (Live Syncing Daemon) is a free and open source we can use to keep a source and a target directory tree in sync. Written in the LUA programming language, it works by keeping track of filesystem events on the source, and replicating them on the target, typically using tools like rsync and ssh, under the hood. In this tutorial, we learn how to install lsyncd on the most used Linux distributions, and how to configure it to keep local and remote directories in sync.
SSH Tunnels: Secure Remote Access and Port Forwarding
SSH is a communication protocol that allows us to access remote hosts and securely transfer data over unsecure networks, thanks to encrypted connections. By using the ssh tunnel technique, we can forward TCP traffic from and to a local machine, bypassing firewall restrictions. In this tutorial, we learn the difference between local and remote SSH tunnels, and how to create them.
Self-Host Immich: Open Source Google Photos Alternative
Immich is a free and open source alternative to Google Photos, with a focus on privacy. Both the server software and the mobile client application, are developed in the open on GitHub. Thanks to the container technology, deploying a private, self-hosted instance of Immich is quite easy. In this tutorial, we learn how to run a self-hosted Immich instance using Docker, to manage and backup our photos and videos.
How to manage files on cloud storage with Rclone on Linux
Rclone is a free and open source command line program to manage files on cloud storage services like Google Drive, Backblaze B2, Amazon S3, and many more. The application is written in the Go programming language, and its source code is hosted on GitHub. In this tutorial we learn how to install Rclone on the most used Linux distributions, and how to perform basics operations like copying, syncing, moving and deleting data. In the process, we also see how to obtain Google Drive API credentials, and how to configure a Google Drive remote for Rclone.
How to write and perform Ubuntu unattended installations with autoinstall
Being able to provision and create replicable installations of an operating system is crucial, especially in corporate environments. To perform unattended installations, Ubuntu used to support Debian preseed and Kickstart files. Starting with Ubuntu server 20.04, and version 23.04 of the Ubuntu desktop, those installation methods became deprecated, and the distribution adopted a new autoinstall format, which takes advantage of cloud-init.
How to install and configure a restic REST server on Linux
Restic is an efficient and modern deduplicating backup system which supports encryption; it is able to store backups locally and remotely, via an SFTP connection or on one of the many supported storage platforms, such as Amazon S3 buckets and Google Cloud storage. By using the restic REST backend API, it is also possible to push backups using the HTTP or HTTPS protocols to a remote server which implements the restic REST API.
How to automate interactive cli commands with expect
Expect is a free and open source utility we can use to automatically answer to interactive prompts according to scripts which includes expects/sends commands. In this tutorial, we learn how to install expect on the most used Linux distributions, how to use it to automatically answer to interactive prompts, and how to generate expect scripts with autoexpect.
How to run Podman containers under Systemd with Quadlet
Quadlet is a free and open source tool written in C which let us create and run Podman containers under Systemd. The tool let us declare containers, volumes, networks, and their relationships, using dedicated Systemd units.
Netplan network configuration tutorial for beginners
Netplan is a utility developed by Canonical, the company behind Ubuntu. It provides a network configuration abstraction over the currently supported two “backend” system (“renderer” in Netplan terminology): networkd and NetworkManager. Using Netplan, both physical and virtual network interfaces are configured via yaml files which are translated to configurations compatible with the selected backend.
How to use docker-compose with Podman on Linux
Podman is a free and open source alternative to Docker, created by Red Hat. Although Docker is probably more widespread, to the point that it became a synonym for “containers”, from a technical point of view, Podman is superior: it was designed, right from the start, to be daemonless, it is able to run without the need for root privileges, and is better integrated in the Linux environment. One of the things which potentially prevented many to migrate from Docker to Podman, was the lack of a full-fledged Podman equivalent for docker-compose. By creating a layer of compatibility between Podman and Docker, it is now actually possible to user docker-compose as if it was a Podman native tool.