Language Selection

English French German Italian Portuguese Spanish

today's howtos

Filed under
HowTos
  • Pygments style gallery

    The content below was created by pygsgallery.py which is included in my PicoPygments repository. It is inspired by this script which I found on this page. Most of the builtin styles don't define a default text color; whenever pygsgallery.py encounters such a situation, it adds one that is the complement of the background color.

  • Every Unix Command Becomes a Startup

    The Unix philosophy is

    Write programs that do one thing and do it well.

    Write programs to work together.

    Write programs to handle text streams, because that is a universal interface.

    Many of these unix programs would later end up as wildly successful web companies. (This original observation comes from Chris Dixon back in 2014).

  • A Linux PAM setup and the problem of stopping authentication

    Suppose, not hypothetically, that you have a Linux system where SSH logins are authenticated with passwords and then a MFA challenge. This is implemented the only sensible way, with a PAM module to do MFA, such as the one from Duo; you add this PAM module to your setup along side the existing PAM stuff used for SSH logins. This is all easy to set up and there's plenty of documentation on it, but now you'd like to go the extra distance so that the login fails immediately if people get the password wrong, rather than going on to also do a (pointless) MFA challenge.

  • Understanding the effects of PAM module results ('controls' in PAM jargon)

    There are two forms for these controls; the 'historical' and still very common single-word form that uses things like 'required' and 'sufficient', and the newer, more detailed and complicated syntax. There are two descriptions of the meanings of the historical single-word forms in pam.conf; the somewhat informal main description, and then the potentially more explicit version that restates them in terms of the newer and more detailed syntax. All of this makes for a system that can be hard to understand and follow.

  • [Old] SSH Port Forwarding and the Command Cargo Cult

    Both of these use at least one option that is entirely redundant, and the second can cause ssh to fail to connect if you happen to be using password authentication. However, they seem to still persist in various articles about ssh port forwarding. I myself was using the first variation until just recently, and I figured I would write this up to inform others who might be still using these solutions.

  • Tonight we're gonna log on like it's 1979 (Telenet, Dialcom and The Source)

    Teletypes may have killed a lot of forests by emitting every line to hard copy instead of a screen, but there's something to be said for the permanence of paper, especially when people hang onto it for some reason. While getting duff units to build a functional Silent 700 Model 765 ASR teletype, which will of course be a future article, one of them was more interesting for what else it came with: a set of teletype transcripts of several users logging onto The Source, one of the earliest online services, and a complete photocopy of the service's user manual. So get out your copy of Pink Floyd's The Wall, start blasting "In The Flesh," and let's head back to 1979 and 1980 when these transcripts were printed. We'll talk a little bit about the service generally and then log on exactly as these people did — because the Silent 700 transcripts indeed show exactly what transpired and how they used them.

  • How to Enable_Disable Line Numbering in Vi

    Vi/vim text editor is popular for Linux users because of its many unique features. Developers and regular users use its many features, one of which is that Vi can enable/disable its line number. The line number is the essential feature of Vi text editors, primarily for programming.

    Since the editor in Vim/vi has many commands that use the line number for navigation, this is the reason the line number is even more critical for Vim/Vi. Knowing just the number of a specific line, you can quickly move the cursor on it. Now, we will discuss this feature on how to enable/disable line numbering in Vi.

  • How to Create VPC (Virtual Private Cloud) Network in GCP

    VPC is a virtual private cloud in public cloud like GCP (Google Cloud Platform) and AWS. In simple terms, VPC is a dedicated private network for your project in google cloud platform. It provides networking for virtual machines, containers and app engine.

    In this guide, we will learn how to create customize VPC network in GCP (Google Cloud Platform) step by step. Without any further delay, let’s jump into steps.

  • How to Install Battle.net on Ubuntu 22.04 Linux Desktop

    Blizzard makes some extremely popular PC games, and their Battle.net application is how gamers install those games on their systems and keep them up to date. The only problem is that Blizzard has neglected the Linux community by never porting their Battle.net application over to it. Fortunately, most of the games still work pretty well on Linux if you are using Wine. We’ll show you how to install Wine and run Battle.net on Ubuntu 22.04 Jammy Jellyfish in this tutorial.

    Before getting started, it’s a good idea to make sure that your system has the latest graphics drivers installed. This will make the games run smoother and save you a possible headache later on.

  • How to Install/Enable FirewallD GUI on Fedora 36 Linux

    FirewallD is software that provides the system firewall feature to protect Fedora users from unwanted access by disabling and enabling ports, services, or protocols. However, for users that are used to an interface such as Graphical User Interface (GUI), then the command line may seem difficult at first glance because there’s no visual representation and who are not comfortable learning the command line terminal to the possibility of having an unsecured system.

    However, you can install the FirewallD GUI. This sleek and simple design program is a perfect match for those who want easy access to what’s going on in their system without having too many bells and whistles to distract them from maintaining security.

    In the following tutorial, you will learn how to install and enable FirewallD and install FirewallD GUI on Fedora 36 Linux using the command line terminal.

  • How to Install Linux Kernel 5.17 or 5.4 LTS on Rocky Linux 8

    Rocky Linux, as many know, is a downstream version of RHEL, which often means it is incredibly stable but usually has very outdated packages in terms of features and not security updates. Currently, Rocky Linux features kernel 4.18, but some users may require a more recent kernel for purposes of better hardware compatibility, among many other things.

    ELREPO has both Linux Kernel Mainline LTS versions. The mainline version is the most recent stable release of the Linux Kernel, and the current LTS Kernel they are supporting is 5.4.

    The following tutorial will show you how to import the ELRepo kernel repository and install 5.17 or with the alternative 5.4 LTS kernel on Rocky Linux 8 Workstation or Server using the command line terminal.

  • How to Install GCC Compiler on Ubuntu 22.04 LTS

    GCC, better known as The GNU Compiler Collection, is a set of compilers and development tools. Front ends such as C, C++, Objective-C, Fortran, Ada, Go, and D. GCC is open-source and is widely used as it was the original compiler for GNU and is currently used to compile the Linux Kernel along with many other projects.

    In the following tutorial, you will learn how to install GCC on Ubuntu 22.04 LTS Jammy Jellyfish desktop or headless server using the command line terminal with alternative installation options and handy hints to switch between GCC Compiler versions.

  • How to Install OpenJDK 8 on Ubuntu 22.04 LTS

    Java is a general-purpose, class-based, object-oriented multipurpose programming language that is popular due to the design of having lesser implementation dependencies, meaning that the compiled Java code can be run on all platforms that support Java without the need for recompilation. Java is also fast, secure, and reliable, therefore. It is widely used for developing Java applications in laptops, data centers, game consoles, scientific supercomputers, cell phones, etc.

    The tutorial will look at installing the OpenJDK version instead of the default Oracle JDK. The difference between these two is licensing. OpenJDK is an entirely free, open-source Java with a GNU General Public License, and Oracle JDK requires a commercial license under the Oracle Binary Code License Agreement. Other differences are release schedules and other factors that come into play; however, performance is the same.

    In the following tutorial, you will learn how to install OpenJDK 8 LTS or better known as Java 8 LTS, on Ubuntu 22.04 LTS Jammy Jellyfish with the standard APT installation from Ubuntu’s repository along with the PPA version, which may suit some users better. The tutorial will also demonstrate how to switch Java alternative default versions.

  • Ansible Reboot

    Rebooting essentially means restarting the system you are using. As we all know, while using any computer, there are many reasons you might want to restart or reboot it.
    Rebooting allows your system to reset. The temporary memory gets cleared and the system starts again. Rebooting can be done either through hardware or software. In this article, we will be discussing how you can reboot your computer through Ansible.

    As you may know, Ansible can be used to control your system and its resources. So, Ansible can be used to control the computer on which it is installed. So, among carrying out other basic functions, you can also use it to reboot your system. For this, you can use the Ansible reboot module.

  • Dual Boot Debian and Windows

    This tutorial explains how to install Debian and Windows with dual boot.

    This article is useful for Windows users or a clean disk to install both systems.

    The tutorial gives optional instructions to prepare a Windows disk space to add Debian Linux and covers the Linux posterior installation to support dual boot. It does not cover the Windows installation process but instructions to make your Windows support adding Debian if you do not have an additional free disk for Linux.

More in Tux Machines

digiKam 7.7.0 is released

After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. Read more

Dilution and Misuse of the "Linux" Brand

Samsung, Red Hat to Work on Linux Drivers for Future Tech

The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. Read more

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.