- Posted on
- Featured Image
Welcome to Linux Bash!
Thank you for visiting our website, here you will find the best content for managing your servers operating system, Linux.
Bash (Bourne Again Shell) is the free and enhanced version of the Bourne shell distributed with Linux and GNU operating systems. Linux comes in a few flavours but all run the same Linux Bash format. Bash is a command processor that typically runs in a text window where the user types commands that cause actions. Bash can also read and execute commands from a file, called a shell script. In order to take advantage of all Linux' features, a good understanding of Bash is advised.
At first sight Bash appears to be a simple command/reply system, where users enter commands and Bash returns the results after those commands are run. However, Linux Bash is more than that, it is a programming platform whereby users are able to write programs that accept input and produce output using commands in scripts. A shell then runs these commands from the executable files (a.k.a. scripts). Scripts are often given the sh file type, which is where we got inspiration for our project domain, linuxbash.sh
Most Popular Posts From Last 30 Days
-
When setting up a web server, Apache HTTP Server combined with PHP is one of the most popular stacks due to its efficiency, extensive support, and flexibility. In this article, we'll walk through the installation of Apache with PHP support via the libapache2-mod-php package on a Linux system. This guide is beginner-friendly and hopes to equip you with the necessary knowledge to get your web server running smoothly with PHP supported by Apache. Before installing any new packages, it's a good practice to update your system's package list to ensure you are installing the latest versions available.
-
- Posted on
- Featured Image
For developers and system administrators looking to set up web servers, combining PHP with Apache remains a popular choice, thanks to their extensive compatibility, ease of deployment, and comprehensive feature sets. This blog post explores how to run PHP within the Apache HTTP server using mod_php, which is an Apache module specifically for handling PHP scripts. mod_php is an Apache module that provides a robust interface for running PHP scripts directly on the Apache webserver. It processes PHP scripts by embedding the PHP interpreter into the Apache process itself, allowing PHP scripts to execute whenever a PHP page is requested. -
- Posted on
- Featured Image
In the ever-evolving landscape of enterprise IT, Linux-based operating systems remain pivotal, thanks largely to their stability, security, and open-source nature. Red Hat Enterprise Linux (RHEL) has been a top contender in this space, renowned for its robust performance and extensive support. However, the shift in Red Hat’s strategy towards CentOS—a free derivative of RHEL commonly used in the enterprise—led to the rise of two significant alternatives: Rocky Linux and AlmaLinux. For organizations relying heavily on Linux systems, understanding the compatibility of these new entrants with Red Hat systems is crucial. Here, we delve into how Rocky Linux and AlmaLinux stack up against RHEL. -
- Posted on
- Featured Image
Linux-based systems, known for their stability and flexibility, can accumulate unused packages and dependencies over time. This "digital clutter" can waste valuable disk space and potentially impact performance. Whether you're using Ubuntu, Fedora, or openSUSE, managing these unused components is essential for maintaining a smooth-running system. In this article, we'll navigate through the clean-up processes using three popular package managers: apt, dnf, and zypper. Before diving into the cleanup process, let's briefly understand the tools at our disposal: APT (Advanced Package Tool) - Used primarily by Debian-based distributions like Ubuntu. -
- Posted on
- Featured Image
When setting up a Linux environment, ensuring that filesystem permissions are correctly allocated is crucial for maintaining security and functionality. Mounting filesystems with user-specific permissions enables fine-grained control over who can read, write, or execute files on those filesystems. This is particularly important in multi-user environments or when using external storage devices. In this blog, we'll explore how to configure and manage filesystem mounts in Linux using Bash, focusing on setting user-specific permissions. A filesystem in Linux is a hierarchy of directories and files laid out under one unified root directory, known as "/". -
- Posted on
- Featured Image
Apache HTTP Server, commonly known as Apache, is one of the most widely used web servers in the world, credited for its robustness, flexibility, and open-source nature. Meanwhile, Perl remains a popular programming language, particularly praised for its text manipulation capabilities and CGI scripting. Combining these two via mod_perl, an Apache module, enhances performance for web applications by embedding a Perl interpreter in the Apache server. This setup enables you to write Apache modules entirely in Perl, thus extending the server capabilities with the flexibility of Perl scripting. In this guide, we will explore how to set up Apache with Perl using mod_perl on a Linux system. -
- Posted on
- Featured Image
In the landscape of a Linux filesystem, directories serve as more than just folders. They are pivotal components that structure data and maintain order. Among these directories, /mnt and /media play crucial roles when it comes to managing devices and storage media. This blog post will delve into what these directories are, how they differ, and their significance in the Linux environment. Before we dive into the specifics of /mnt and /media, it’s essential to understand the concept of mount points in Linux. A mount point is simply a directory where additional filesystems can be attached. When a filesystem is "mounted" to a mount point, the contents of that filesystem become accessible through the path of the mount point. -
- Posted on
- Featured Image
In today’s interconnected world, managing who can access your website or server based on geographic location is more important than ever. Whether it’s enhancing security, complying with legal requirements, or optimizing content delivery, GeoIP blocking can be a powerful tool. For Linux server administrators, one of the easiest ways to implement this is through the mod_geoip module for the Apache HTTP Server. GeoIP blocking, or geographic IP blocking, is a technique used to restrict or allow access to content based on the user's geographical location. This is determined by the IP address of the user. -
- Posted on
- Featured Image
With the increasing need for powerful cross-platform development environments, the integration of Linux capabilities in Windows through WSL (Windows Subsystem for Linux) has become a game-changer. WSL allows users on Windows 10 and Windows 11 to run a Linux distribution alongside their Windows applications, offering remarkable flexibility. This dual capability enriches your environment to manage and deploy software using popular Linux package managers like APT, DNF, and Zypper. Whether you are a developer, a systems administrator, or just a tech enthusiast, mastering these tools within WSL can enhance your workflow significantly. In this guide, we'll dive deep into using these package managers efficiently in WSL. -
- Posted on
- Featured Image
The evolution of web protocols over the years has consistently aimed at making the web faster, more reliable, and secure. HTTP/3, the upcoming third major version of the Hypertext Transfer Protocol, uses QUIC as the underlying transport layer network protocol, replacing TCP at the same time. QUIC (Quick UDP Internet Connections) was originally designed by Google to provide security equivalent to TLS/SSL along with reduced connection and transport latency. The incorporation of QUIC into HTTP/3 means websites can benefit from improved performance particularly on networks with high latency and packet loss. Let’s take a look at how to configure QUIC (HTTP/3) with the Apache HTTP Server. -
- Posted on
- Featured Image
As of today's web standards, HTTP/2 is a necessity for better performance over the network. Apache, being one of the most widely used web servers, supports HTTP/2 starting from version 2.4.17, provided it runs with a compatible SSL/TLS library. HTTP/2 boasts numerous advantages over its predecessor, including header compression, request multiplexing, and server push capabilities, all of which contribute to reduced latency and faster page load times. Before you begin to enable HTTP/2, ensure that you have the following: Apache version 2.4.17 or higher. OpenSSL 1.0.2 or newer if you plan to use HTTPS. Access to the server with sudo or root privileges. Basic knowledge of Linux Bash commands and Apache configurations. -
- Posted on
- Featured Image
In the ever-evolving realm of Linux, ensuring that your system runs smoothly often involves managing packages efficiently. Occasionally, you may encounter a scenario where a package does not function as expected due to corruption, incomplete installation, or other issues. In such cases, forcing a reinstallation of the package can resolve the problem. This process can vary slightly depending on which package manager your system utilizes. In this blog post, I will guide you through the steps to force a reinstallation of packages using three popular package managers: apt for Debian-based systems, dnf for Fedora systems, and zypper for openSUSE systems. 1. -
- Posted on
- Featured Image
Selecting the perfect Linux distribution (distro) for your needs involves various factors, but a crucial one to consider is whether your hardware meets the system requirements of the distro you're considering. Linux is famous for its wide range of distros, catering to different needs from servers and professional workstations to personal laptops and tiny single-board computers like the Raspberry Pi. In this article, we'll guide you through the system requirements of some popular Linux distros to help you make an informed decision. Ubuntu is one of the most popular Linux distros, particularly among new users transitioning from other operating systems. -
- Posted on
- Featured Image
When you are managing Linux systems, you'll occasionally encounter issues with broken package dependencies. This generally means that a package requires another package that isn't installed (or is incorrectly installed) on the system. Such issues can prevent you from installing new software or updating existing packages. Let's explore how to resolve these problems on different Linux distros using their respective package managers: apt, dnf, and zypper. Debian-based distributions use the apt package manager. It's quite robust but may sometimes run into dependency issues, especially when you are using third-party repositories or after an interrupted upgrade process. -
- Posted on
- Featured Image
In the world of Linux, performance optimization and analysis is a critical skill. Fortunately for system administrators and developers, Linux offers powerful tools for monitoring and analyzing system performance. One such tool is perf, a versatile performance counter toolkit. perf provides a robust framework for tracing Linux system and application performance with access to a wide range of hardware performance counters. perf, also known as perf_events, is a performance analyzing tool in Linux, available by default in the Linux kernel. It allows you to analyze performance related to software and hardware, helping you identify bottlenecks that require optimization. -
- Posted on
- Featured Image
In the world of Linux, ensuring that your storage devices are properly mounted is crucial for system performance and usability. Traditional mounting methods involve editing the /etc/fstab file, which, while effective, does not offer the flexibility and on-demand capabilities modern systems may require. This is where systemd.automount shines, offering a dynamic and efficient way to handle mount points in Linux. systemd.automount is a feature of systemd, the system and service manager used in most modern Linux distributions. It allows for mounting filesystems on demand when they are accessed, not just at boot time. -
- Posted on
- Featured Image
Sharing files between different systems on a network can seem daunting at first, but with tools like NFS (Network File System) and Samba, the process becomes seamless on Linux environments. In this guide, we’ll walk you through setting up NFS and Samba on Linux systems, and we’ll cover how to install and configure these services using various package managers including apt, dnf, and zypper. NFS is a distributed file system protocol that allows a user on a client computer to access files over a network much like local storage is accessed. NFS is particularly effective for centralizing data on a network, allowing multiple users to access shared resources. Samba, on the other hand, is a re-implementation of the SMB networking protocol. -
- Posted on
- Featured Image
In the world of Linux, managing packages and repositories is a routine. For users of SUSE and openSUSE, Zypper is the command-line interface of choice for managing these packages. However, sometimes things can go wrong, and you may encounter issues like broken repositories, leading to errors during package installations or updates. In this blog post, we’ll explore how to troubleshoot these problems with Zypper, and provide guidance on apt and dnf where applicable. Repository not responding - This happens when Zypper is unable to access the repository URL, potentially due to network issues, the repository being down, or it no longer existing. -
- Posted on
- Featured Image
Managing Apache servers is a fundamental skill for any web administrator or developer operating on a Linux system. Two essential commands that greatly simplify the management of your site configurations are a2ensite and a2dissite. Both play critical roles in enabling and disabling websites hosted on an Apache server. Whether you are a novice or seasoned administrator, understanding how to effectively use these tools will help you manage your web environments more efficiently. The commands a2ensite (which stands for "Apache2 enable site") and a2dissite ("Apache2 disable site") are scripts used to manage the symbolic links in the Apache configuration directories. -
- Posted on
- Featured Image
Path Limits and Filenames in Linux: Understanding the Basics for Efficient File Management When navigating the Linux operating system, knowledge of how paths and filenames are structured is crucial for effective file management and system administration. Understanding these concepts will help you avoid common errors, optimise your scripts, and ensure compatibility across different filesystems. Let's dive deep into the concepts of path limits and filenames in Linux. What are Path Limits? In Linux, path limits define the maximum length of a pathname and the components (filenames) within that path. These limits are inherently tied to the underlying filesystem being used. PATH_MAX: This defines the maximum number of bytes a path can contain. -
- Posted on
- Featured Image
Web developers seeking to deploy Python web applications have several good options at their disposal, but Gunicorn and uWSGI are two of the most popular and powerful choices. Both serve as Web Server Gateway Interface (WSGI) servers, which act as the middlemen between web applications written in Python and the web server itself. Here’s a comprehensive guide on setting up a WSGI server using Gunicorn and uWSGI, to help you deploy your web applications efficiently and manage web traffic effectively. Before diving into the specifics, it’s crucial to understand what WSGI really is. WSGI is a specification that describes how a web server communicates with web applications. -
- Posted on
- Featured Image
When setting up or maintaining a stable environment on your Linux system, sometimes you need to install a specific version of a package. This could be due to compatibility issues, testing requirements, or rollback scenarios after an update didn’t go as expected. While the process can vary slightly depending on the package manager you are using — whether it's APT (used by Debian and Ubuntu), DNF (used by Fedora), or Zypper (used by openSUSE) — the fundamental approach remains similar. Let's explore how to handle this task in each package manager. APT (Advanced Package Tool) is the default package manager for Debian-based distributions like Ubuntu. -
- Posted on
- Featured Image
Switching between different Linux distributions can sometimes be like moving between two different worlds, especially when you come across the package format impasse. Debian-based systems use .deb files, and Red Hat-based systems use .rpm files. This can pose a problem when you want to install a software that is only available in a format not native to your distribution. Thankfully, a handy tool named alien can help bridge this gap. In this blog post, we'll explore how to use alien to convert packages between DEB and RPM formats and provide operating instructions for using the converted packages with different package managers like apt, dnf, and zypper. -
- Posted on
- Featured Image
When managing packages on a Linux system, it's crucial to maintain clean and manageable software installations. Linux distributions use different package managers, but all have mechanisms to review past transactions, an excellent way to troubleshoot installation issues, verify changes, or simply audit installed software. In this blog, we'll explore how to use dnf history on Fedora and similar distributions, while also covering equivalent commands in apt for Debian/Ubuntu systems, and zypper for openSUSE/SUSE Linux Enterprise. dnf (Dandified YUM) is the default package manager on Fedora and other RPM-based distributions like CentOS and Red Hat Enterprise Linux. -
- Posted on
- Featured Image
Whether you're developing a new server application, setting up a local test environment, or configuring services on a Linux machine, encountering the “Address already in use” error can be a frustrating roadblock. This common issue indicates a port conflict, meaning that the port your application is trying to bind to is already occupied by another process. To resolve these conflicts and manage your applications efficiently, it's crucial to understand why these issues occur and how to address them. The error “Address already in use” typically appears when you try to start a server or service that binds to a specific TCP/UDP port, and that port is already occupied by another application.