linux-kernel-ncurses-config-interface

How to compile vanilla Linux kernel from source on Fedora

The kernel is the most important component of an operating system: among the other things, it provides support for different types of hardware and manages resource allocations.

Linux is a monolithic kernel: although its functionalities can be included statically or built and loaded as separate modules, it always runs as a “single piece” in the same address space. In this tutorial we will see how to download, compile and install a vanilla Linux kernel. The instructions provided should work on all Linux distributions, however this guide is focused on compiling the kernel on a Fedora system.

In this tutorial you will learn:

  • How to configure, compile and install a vanilla Linux kernel
  • How to package the compiled kernel and its modules

linux-kernel-ncurses-config-interface

The ncurses-based configuration menu for the Linux kernel

Read more

javascript-fetch-api

Introduction to the JavaScript Fetch API

Compared to XMLHttpRequest and the libraries built around it, like JQuery.ajax, the fetch API defines a more modern and cleaner way of performing asynchronous requests, based on the use of promises. In this article we will see some of the interfaces provided by the API, like Request and Response, and we will learn how to use the fetch method to perform various types of asynchronous requests.

In this tutorial you will learn:

  • How to send asynchronous requests using the fetch method
  • How to work with the Request and Response objects provided by the fetch API

Read more

bond0_status

How to configure network interface bonding on RHEL 8 / CentOS 8 Linux

Network interface bonding consists in the aggregation of two or more physical network interfaces, called slaves, under one logical interface called master or bond interface. Depending on the bonding mode, such setup can be useful to achieve fault tolerance and/or load balancing. In this tutorial we will learn what the available bonding modes are and how to create a network bonding on RHEL 8 / CentOS 8.

In this tutorial you will learn:

  • What is network interface bonding
  • How to configure network interface bonding on RHEL 8 / CentOS 8
  • What are the different bonding modes

bond0_status

The Bond status as seen by the Linux kernel

Read more

union-statement-result

How to combine the results of multiple SQL queries using the UNION statement

In a previous article we talked about the various type of JOIN we can use in a MariaDB/MySQL database. This time, instead, we take a look at the UNION statement: how it works, how we can use it to combine the result of queries run on different tables, and what are its peculiarities.

In this tutorial you will learn:

  • How to use the UNION statement in a MariaDB/MySQL server
  • What are the properties of the UNION statement

Read more

node-logo

How to install node.js on RHEL 8 / CentOS 8 Linux

Node.js is a Javascript runtime environment based on the V8 open source engine made by Google and originally used in Chrome. Thanks to Node.js we can run Javascript outside of the browser context, and use it also like a server-side scripting language, thus creating an entire web application around it. In this tutorial we will see how to install Node.js in the RHEL 8 / CentOS 8 distribution.

In this tutorial you will learn:

  • How to list the available Node.js versions on RHEL 8 / CentOS 8
  • How to install a specific version of Node.js
  • How to switch between Node.js versions on RHEL 8 / CentOS 8

node-logo

The Node.js – RHEL 8

Read more

python-logo-requests-index

How to perform HTTP requests with python

In this series of article about python and HTTP protocol, we work with HTTP requests and responses. In the first article we explore standard library functions such as urllib.request.urlopen or urllib.request.urlretrieve. In the second part we focus on the external “requests” library, which let us perform complex operations, writing less code.

Read more

python-logo-requests-requests-library

How to perform HTTP requests with python – Part 2 – The request Library

In the previous article we saw how to perform basic HTTP requests using the python3 standard library. When requests become more complex, or we just want to use less code, and we don’t mind adding a dependency to our project, it’s possible (and sometimes even recommended) to use the external requests module. The library, which adopted the “HTTP for Humans” motto, will be the focus of this article.

In this tutorial you will learn:

  • How to perform HTTP requests with python3 and the ‘requests’ library
  • How to manage server responses
  • How to work with sessions

Read more

python-logo-requests-standard-library

How to perform HTTP requests with python – Part 1: The standard Library

HTTP is the protocol used by the World Wide Web, that’s why being able to interact with it programmatically is essential: scraping a web page, communicating with a service APIs, or even simply downloading a file, are all tasks based on this interaction. Python makes such operations very easy: some useful functions are already provided in the standard library, and for more complex tasks it’s possible (and even recommended) to use the external requests module. In this first article of the series we will focus on the built-in modules. We will use python3 and mostly work inside the python interactive shell: the needed libraries will be imported only once to avoid repetitions.

In this tutorial you will learn:

  • How to perform HTTP requests with python3 and the urllib.request library
  • How to work with server responses
  • How to download a file using the urlopen or the urlretrieve functions

Read more

interface-file-edited

How to configure a static IP address on RHEL 8 / CentOS 8 Linux

There are many cases in which we may want to set a static IP for a network interface. In RHEL 8 / CentOS 8, the network connections are managed by the NetworkManager daemon, so in this tutorial we see how we can perform such task by editing an interface file directly, by using a command line utility, nmcli, or via a text user interface, nmtui.

In this tutorial you will learn:

  • How to set a static IP address by directly editing an interface file
  • How to set a static IP address using the nmcli utility
  • How to set a static IP address using nmtui

interface-file-edited

The edited network interface file

Read more

phpmyadmin-login-page

How to install phpMyAdmin on RHEL 8 / CentOS 8

PhpMyAdmin is a php web application which let us manage a MariaDB/MySQL database from an intuitive graphical interface. The application is not provided in the RHEL 8 / CentOS 8 official repositories, and is usually installed from third party sources like EPEL. Epel-8 is, however, not yet available, so in this tutorial we will see how to fetch the upstream phpMyAdmin code and install it on our system “manually”.

In this tutorial you will learn:

  • How to download and install phpMyAdmin from source
  • How to verify the downloaded archive
  • How to access the phpMyAdmin configuration wizard

phpmyadmin-login-page

The phpMyAdmin login page

Read more

rpm-manpage

How to install packages on RHEL 8 / CentOS 8 Linux System

All modern linux distributions organize software in packages which contain applications binaries, files, metadata and information about the package dependencies, possible conflicts with other packages etc. The core Rhel package manager is called rpm itself, and it is the tool used also by dnf, the higher level package manager, which is capable to manage dependencies. A relatively recent technology , flatpak, let us install also sandboxed applications together with their runtimes.

In this tutorial you will learn:

  • The three main ways to install a package using rpm
  • How to install packages using dnf
  • How to install applications graphically from the gnome-software utility
  • How to install sandboxed applications with flatpak

rpm-manpage

The rpm package manager manual

Read more

php-modules-rhel8

How to install php on RHEL 8 / CentOS 8 Linux

In the RHEL 8 / CentOS 8 Linux systems, the way software is organized has changed: critical packages are now contained in the BaseOs repository, while the AppStream one contains multiple versions of some of the most common used applications and programming languages which are organized in modules, and updated independently of the distribution release cycle. This strategy has been adopted in order to avoid the problem of being stuck with a certain, too outdated or too recent release of a certain software.

In this tutorial you will learn:

  • How to install PHP on RHEL 8 / CentOS 8
  • What are software modules in RHEL 8 / CentOS 8
  • How to install and switch between different versions of the PHP module
php-modules-rhel8

Available php modules on RHEL 8

Read more