Measuring network bandwidth with iperf3.

How to install iperf on RHEL 8

In our connected world, it is good to now in what shape our network is, from the end-user perspective. While we may not be able to change the network environment, knowing it’s limits is useful. If you have to upload a large ISO image to the server, you can decide to go grab a coffee after the transfer starts, if you know your corporate network will not be able to transfer that much data in the next hour. This is of course just a random fictional nightmare, but knowing the network throughput means knowing how our systems will perform regarding network communication, and have another known area when debugging.

iperf is a handy application allowing easy client-server setup, and able to measure network bandwidth, jitter, and packet loss ratio. While it has many options to tweak our measurements, we’ll use only the defaults to test the application’s work.

In this tutorial you will learn:

  • How to install iperf on Red Hat Enterprise Linux 8.
  • How to test network bandwidth to the system.
  • How to test network bandwidth from the system.

Read more

Checking swap size and usage with the free command

How to increase swap size on RHEL 8 / CentOS 8

On a system with memory-intense workload with common peak loads, a large swap memory can be useful to store large memory contents not needed at the moment. While using swap instead of memory will certainly have great impact on performance, sometimes this is preferable over adding more memory to the machine, as disk space is much cheaper. Sometimes there is simply no more memory, maybe a physical machine that is out of free slots, and there isn’t any larger memory modules on the market. At other times the slower performance on peak loads may be preferable over the application crashing with out of memory error.

In some cases swap memory needs to be increased, a live example could be expanding the memory in the machine, and so also expanding the swap space to match the double of the new memory size.

In this tutorial you will learn:

  • How to check swap space.
  • How to identify swap volume.
  • How to extend swap volume.
  • How to add another swap volume.

Read more

Summary of interactive yum update

Preparing for applying updates on Red Hat Linux

Objective

Our objective is to ensure that updating the operating system will run smoothly and without errors.

Operating System and Software Versions

  • Operating system: Red Hat Enterprise Linux 6+

Requirements

Privileged access to the systems

Difficulty

EASY

Conventions

  • # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
  • $ – given linux commands to be executed as a regular non-privileged user

Introduction

Keeping the system up to date is an every day task for a sysadmin, as well as a desktop user. By applying the latest (stable) available software on the system we can take advantage of the latest features, and will be more protected from security issues and hopefully suffer less from bugs. To update the system you will need configured yum repositories that act as the source of the updated software.

If you sit next to the machine that is running the operating system to be updated, you can easily act if something goes wrong during update, like checking the output on the terminal, or boot to a live system if the upgraded one does not return from reboot – but this is not always the case. Think of a datacenter with hundreds or thousands of (virtual) machines, or simply a physical PC that you have to upgrade remotely.

There are simple steps we can perform to prepare the system for upgrade, and possibly clear any problem that would endanger a successful update.

Read more

Tomcat providing the examples application

How to set up Apache webserver proxy in front of Apache Tomcat on Red Hat Linux

Objective

Our objective is to setup Apache httpd to work as a proxy in front of the Apache Tomcat application container.

Operating System and Software Versions

  • Operating system: Red Hat Enterprise Linux 7.5
  • Software: Apache httpd, Apache Tomcat

Requirements

Privileged access to the system

Difficulty

EASY

Conventions

  • # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
  • $ – given linux commands to be executed as a regular non-privileged user

Introduction

Using Apache httpd as a proxy to an Apache Tomcat application container is a common setup. It comes with many use cases, the most trivial is serving static content from httpd, while providing services implementing heavy business logic from an application written in Java that resides in the Tomcat container.

Read more

Disabling proxy for internal repository

How to add repositories to Red Hat Linux with and without a proxy

Objective

Our objective is to set up access to internal and remote yum repositories while some of them are behind proxy servers.

Operating System and Software Versions

  • Operating system: Red Hat Enterprise Linux 7.5

Requirements

Privileged access to the system

Difficulty

EASY

Conventions

  • # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
  • $ – given linux commands to be executed as a regular non-privileged user

Introduction

In a corporate environment it is common to limit Internet access – both for security and accountability. This is often accomplished by using proxy servers that enable access to the Internet after some sort of authentication, while inspect and log all traffic passing trough them. This way the company can, for example find the employee who downloaded the virus that wreak havoc within the corporate system (or at least the employee who’s credentials where stolen to do so), or filter the traffic, preventing access to well-known harmful sites to protect employee equipment.

Read more

Installing custom scripts with rpm

Unifying custom scripts system-wide with rpm on Red Hat/CentOS

Objective

Our goal is to build rpm packages with custom content, unifying scripts across any number of systems, including versioning, deployment and undeployment.

Operating System and Software Versions

  • Operating system: Red Hat Enterprise Linux 7.5
  • Software: rpm-build 4.11.3+

Requirements

Privileged access to the system for install, normal access for build.

Difficulty

MEDIUM

Conventions

  • # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
  • $ – given linux commands to be executed as a regular non-privileged user

Introduction

One of the core feature of any Linux system is that they are built for automation. If a task may need to be executed more than one time – even with some part of it changing on next run – a sysadmin is provided with countless tools to automate it, from simple shell scripts run by hand on demand (thus eliminating typo errors, or only save some keyboard hits) to complex scripted systems where tasks run from cron at a specified time, interacting with each other, working with the result of another script, maybe controlled by a central management system etc.

Read more

Verifying changes with grep

How to create a hot standby with PostgreSQL

Objective

Our objective is to create a copy of a PostgreSQL database that is constantly synchronizing with the original one and accepts read-only queries.

Operating System and Software Versions

  • Operating system: Red Hat Enterprise Linux 7.5
  • Software: PostgreSQL server 9.2

Requirements

Privileged access to both master and slave systems

Read more

Solving dependencies with rpm

Working with package dependencies on Red Hat Linux

Objective

Our goal is to get used to the tools available to find out information about package dependencies on an RPM based system.

Operating System and Software Versions

  • Operating system: Red Hat Enterprise Linux 7.5
  • Software: rpm 4.11, yum 3.4.3

Requirements

Privileged access to the system.

Difficulty

EASY

Conventions

  • # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
  • $ – given linux commands to be executed as a regular non-privileged user

Introduction

RPM, which stands for Red Hat Package Manager, is a well-known and mature package manager used by all Red Hat flavor distributions, as well as SuSE. With RPM the packager can define relations between packages, and even with versions of packages – for example, an Apache Tomcat server needs proper Java environment present to be able to run.

On the other hand, to install a Java environment, you don’t need a Tomcat server – you may decide to run some different Java based application, maybe one written by yourself started by hand when needed to do it’s job. In other words, the Tomcat server depends on Java.

Read more

SSL error message in Firefox browser

How to setup SSL/TLS with Apache httpd on Red Hat

Objective

The objective is to set up Apache webserver with SSL/TLS support on Red Hat Linux, using the packages shipped with the distribution.

Operating System and Software Versions

  • Operating system: Red Hat Enterprise Linux 7.5
  • Software: Apache httpd, mod_ssl

Requirements

Privileged access to the webserver.

Difficulty

EASY

Conventions

  • # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
  • $ – given linux commands to be executed as a regular non-privileged user

Introduction

Installing a webserver is pretty easy on modern distributions, as use cases of a webserver are so common that most if not all distributions provide packages in their repositories. Apache httpd is a reliable webserver used by a large portion of the Internet, and many modules are available to extend it’s functionality.

Read more

PostgreSQL performance tuning for faster query execution

Objective

Our objective is to make a dummy query execution run faster on PostgreSQL database using only the built in tools available
in the database.

Operating System and Software Versions

  • Operating System: Red Hat Enterprise Linux 7.5
  • Software: PostgreSQL server 9.2

Requirements

PostgreSQL server base install up and running. Access to the command line tool psql and ownership of the example database.

Read more

FreeIPA login page

How to install and configure FreeIPA on Red Hat Linux

Objective

Our objective is to install and configure a standalone FreeIPA server on Red Hat Enterprise Linux.

Operating System and Software Versions

  • Operating System: Red Hat Enterprise Linux 7.5
  • Software: FreeIPA 4.5.4-10

Requirements

Privileged access to the target server, available software repository.

Difficulty

MEDIUM

Conventions

  • # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
  • $ – given linux commands to be executed as a regular non-privileged user

Introduction

FreeIPA is mainly a directory service, where you can store information about your users, and their rights regarding login, become root, or just run a specific command as root on your systems that are joined your FreeIPA domain, and many more. Although this is the main feature of the service, there are optional components that can be very useful, like DNS and PKI – this makes FreeIPA an essential infrastructural part of a Linux-based system. It has a nice web-based GUI, and powerful command line interface.

Read more