today's howtos
-
Server Monitoring with Monit
I self-host my blog, other websites, Matomo, Mastodon, etc. I love self-hosting. But I need monitoring, to be alerted when things go wrong, as my setup is getting more and more complex. So, I recently asked a question on the Fediverse, being in need of a monitoring system for my VPS, as I need simple, common-sense health alerts. I got a recommendation for M/Monit, which seems to work well. This article shows my configuration.
-
An aggressive, stealthy web spider operating from Microsoft IP space
By the time I noticed it today this spider had made somewhere over 25,000 requests today in somewhat over twelve hours, or at least with that specific user agent (it's hard to see if it used other ones with all of the volume). It made these requests from over 5,800 different IPs; over 600 of these IPs are on the SBL CSS and one of them is SBL 545445 (a /32 phish server). All of these IP addresses are in various networks in Microsoft's AS 8075, and of course none of them have reverse DNS. As you can tell from the significant number of IPs, most IPs do only a few requests and even the active ones did no more than 20 (today, by the time I cut them off). This is a volume level that will fly under the radar for anyone's per-IP ratelimiting.
-
My talk on CSS runtime performance
In the end, I’m pretty satisfied with the talk. My main goal was to shine a light on all the heroic work that browser vendors have done over the years to make CSS so performant. Much of this stuff is intricate and arcane (like Bloom filters), but I hoped that with some simple diagrams and animations, I could bring this work to life.
-
5 ways to use the Linux terminal to manage your files
A terminal is an application that provides access to the user shell of an operating system. Traditionally, the shell is the place where the user and the OS could interface directly with one another. And historically, a terminal was a physical access point, consisting of a keyboard and a readout (a printer, long ago, and later a cathode ray tube), that provided convenient access to a mainframe. Don't be fooled by this "ancient" history. The terminal is as relevant today as it was half a century ago, and in this article, I provide five common file management tasks you can do with nothing but shell.
-
What to do if you encounter a Checksum mismatch error in Flatpak
The Checksum mismatch error may occur in Flatpak when installing or updating an application. The error indicates that the checksum of what it downloaded is different from what was expected – in other words, the download is probably corrupted or incomplete. Flatpak is smart enough to avoid installing the app or update when it can’t verify the integrity of the files it retrieved, and will issue an error message instead.
You can ordinarily just try updating the application again, or waiting until your internet connection is more stable. If you still receive the same error, then there are a few troubleshooting steps you can take in order to resolve the issue. In this tutorial, we will explore several causes of the Checksum mismatch error and show some troubleshooting steps that you can take to get your Flatpak tool installing apps and updates correctly again. Follow along with the step by step instructions below on your Linux system to get Flatpak working again as intended.
-
How to fix the Error updating application in Flatpak
Flatpak normally does a good job of keeping apps up to date by querying your configured remotes for new versions of installed apps. However, if Flatpak runs into trouble during an update, you may receive the Error updating application message in your terminal. This could occur for a variety of reasons, but usually just means that Flatpak can’t access the remote repository to install a needed update.
In other cases, the error could also indicate some other problem with Flatpak which is then manifesting itself as being unable to install new updates. In this tutorial, we will explore several causes of this error and show some troubleshooting steps that you can take to get your Flatpak tool downloading updates correctly again. Follow along with the step by step instructions below on your Linux system to get Flatpak working again as intended.
-
Fixing the Error creating sandbox error in Flatpak
One of Flatpak’s most fundamental features is that it runs all applications in their own sandbox. If Flatpak runs into an issue with creating a sandboxed environment for an application, it will issue the Error creating sandbox in your terminal. This may occur either when installing, updating, or running a Flatpak application, since these events trigger Flatpak to attempt to create a new sandbox for the app.
The error typically indicates an issue with either user permissions or access to system resources. In this tutorial, we will explore several causes of the Error creating sandbox message and show some troubleshooting steps that you can take to get your Flatpak tool to create sandbox environments correctly again. Follow along with the step by step instructions below on your Linux system to get Flatpak working again as intended.
-
How to Create a Flatpak Application from Scratch
Application developers will often choose Flatpak as a medium for packaging and distributing their software. Flatpak allows developers to make their software available across all types of Linux systems without having to publish individual installers to satisfy the requirements of each distribution. App developers can also utilize Flatpak’s distribution system which relies on software repositories; it is rather easy to host your own or upload your work to a renowned Flatpak remote.
In this tutorial, we will take you through the step by step instructions to create a Flatpak application from scratch on a Linux system. We are assuming that you have already built and compiled your application, but if not, we will work with a simple ‘Hello World’ Bash script just to illustrate how you can package your application in Flatpak and add it to a repository for distribution to other users.
-
Linux TMUX Command Tutorial
Linux has many commands to work with multiple terminals from a single window which is called a terminal multiplexer. Multiple tasks can be performed from a single screen by dividing the screen into multiple panes by a terminal multiplexer. Tmux is one of the terminal multiplexers of Linux to speed up the terminal tasks. This tool is installed by default in the latest version of the Linux operating system (ex-Ubuntu 20+). The uses of this tool are shown in this tutorial.
-
Bash Tree Command
The bash tree command is comparable to the well-known ls command of Linux, which is used to list the files and directories. The major difference among the commands is that the files and folders are presented in a tree-like structure by the tree command. The tree command iterates through a file hierarchy and prints the files and subdirectories in a formatted list with depth indentation. With the tree command of bash, we can quickly determine the positions of the files and folders, examine their access permissions, and also fetched the hidden files or directories.
-
Bash Declare an Empty Array?
Arrays are the collection of the same type of data elements that are stored in contiguous memory locations. Or we can say that it is the simplest form of a data structure whose elements can be accessed directly using the index number where these are stored. Most of the time, it becomes necessary to store the same kind of data in memory instead of creating multiple variables for each data. We can simply use an array to store data of similar type in a single array. Most of all, every programming language supports arrays the same as Linux does. We can also create an array using various commands and methods in Linux.
Using the bash array, we can store the data in contiguous memory. Bash array stores data in the form of indexing or it can also be said that it is a collection of variables. But in the typical array, we can only store the same type of elements but the bash array allows us to store all types of data in single arrays like storing the strings and numbers.
-
Linux Screen Command Tutorial
The screen command is a very useful command of the Linux operating system. When any task is done by dividing the task on multiple terminal windows, it is difficult to manage the task. This problem can be solved easily using the screen command. Multiple terminal instances can be opened in a single terminal window using the screen command. This command has many other advanced features that do not exist in the general terminal. The different uses of this command are described in this tutorial.
-
Resolving the Dependency not found error in Flatpak
You might receive the Dependency not found error in Flatpak whenever an application that you are trying to run or install has a dependency that can’t be currently found on your Linux system. Ordinarily, Flatpak will automatically download all necessary dependencies when it installs an application, but this does not always work perfectly in practice. The fix for this error usually involves identifying the missing dependency, and then installing it.
In this tutorial, we will explore several causes of the Dependency not found error in Flatpak. Once your dependency issues are resolved, the impacted Flatpak apps should be able to install, update, and run without a hitch.
-
Setting Up a Flatpak Remote Repository to Make Installing Apps Easier
Flatpak provides developers and administrators with a lot of flexibility in how they decide to distribute applications. Flatpak can query online repositories (or “remotes”) for software to download and for new updates to already installed applications. Developers can choose to host their own repo and share it with users that wish to download their software, or submit their work to a well known online repo like FlatHub.
Similarly, system administrators can create collections of software they wish to distribute to a network of computers, and create their own Flatpak repo to facilitate with the distribution and installation of that software, as well as using it to maintain updates. In this tutorial, we will take you through the step by step instructions to set up your own Flatpak remote repository to make installing apps easier on a Linux system.
-
How to Create and Publish Flatpak Packages
As an application developer, you may be interested in packaging and distributing your work through Flatpak. Lots of developers choose to use Flatpak because it allows them to deploy their application across a variety of different Linux system, without needing to worry about individual dependencies and differences between distributions. There are also many public software repositories, like FlatHub, where you can upload your work and not need to worry about hosting it yourself.
In this tutorial, you will see how to get started with developing Flatpak packages by creating and publishing your first Flatpak app. Follow along with the step by step instructions below as we take you through the steps to create, package, and publish your new Flatpak program on Linux.
-
Snapd vs Flatpak vs Appimage: Cons and Pros review
When it comes to software installation on Linux, package management systems like Snapd, Flatpak, and AppImage are frequently mentioned and compared. All three of them are distribution independent package managers, meaning that they can be used on any Linux system regardless of what distribution you are running. In this tutorial, we will look at the differences between these three tools and discuss their pros and cons to help you decide which one would serve you best.
-
How to set up Syncthing on a Chromebook
Syncthing is a decentralized syncing application for Linux, MacOS, and Windows. However, did you know you can also use it on Chrome OS? In this guide, we’ll go over how to set up Syncthing on your Chrome device.
-
How to Install Python Pip on Ubuntu 22.04 or 20.04
Python is a popular programming language for web development, data analysis, artificial intelligence, and more. One of the best tools for managing Python packages is pip, a package manager for Python. Pip is included with Python 2.7.9 and later and Python 3.4 and later, but it may not be installed by default on some Linux distributions. This guide will show you how to install Python Pip on Ubuntu Linux using the command line terminal.
-
How to set up Minio as an Object Storage in Rocky Linux Server
Object storage is a computer data storage that manages data as objects, as opposed to other storage architectures like file systems which manages data as a file hierarchy, and block storage which manages data as blocks within sectors and tracks. Object storage is used for housing videos and photos, music, and files for online collaboration.
-
How to use Helm charts with Portainer
Helm was created to simplify Kubernetes; MicroK8s was created to ease the complexity of Kubernetes deployment; Portainer was created to simplify container deployment. If you put those three things together, you have the means to deploy full-stack Kubernetes applications and services with ease. Believe it or not, it’s not nearly as hard as you might expect.
If a much simpler Kubernetes experience is what you desire, read on to learn how Portainer can help. If you haven’t already deployed Portainer to a MicroK8s cluster, find out how before continuing. Once you have Portainer deployed to your MicroK8s cluster, you can then take advantage of Helm, without any further installation.
-
How to Talk to Other Users on the Network in Linux
The write command in Linux allows two logged-in users to communicate with each other via the terminal in real time until they are on the same network.
This command copies the text from one terminal to another, making it possible to send messages or text content with or without piping.
Note that both parties need to have terminal write access turned on before they can talk to each other. If you don’t know what this means, check out our mesg command article.
So, let’s keep this aside and see how you can send message or text file content to another user with or without piping using the write command in Linux.
-
How to Check, Allow, or Disallow Terminal Write Access in Linux
By default, all the Linux systems accept standard input from another user connected in the same network using the wall or write commands.
It is possible due to the terminal’s ability to write messages received from another user on the screen; check out our article on Stdin, Stdout, and Stderr Streams in Linux, including what TTY is, to learn more.
The ability to receive messages from another network user and write them to your terminal can be enabled or disabled using the mesg command.
In this quick tutorial, you will learn how to check all the users and specific user terminal write access and how to set or stop the terminal’s permission for writing messages.
-
Beginners Guide for Uname Command in Linux
The uname (which stands for “Unix Name”) is a commonly used Linux command-line utility to print basic information about the operating system name and system hardware.
The output with the “-a” flag will give you a summary of your system architecture, kernel name, kernel release, kernel version, hardware platform, and many more.
In this quick tutorial, you will learn how to use the uname command and its options to get your desired system information (with practical examples).