How to manage your Linux system with Cockpit

There are many ways to manage the services and resources that run on both your system and other systems on your network. They range from various vendor applications to the old backup SSH. However, on some Linux distributions, there is an excellent web tool called Cockpit. Cockpit is an extensible and easy-to-use web application designed to help you manage your Red Hat-based Linux systems, including RHEL, CentOS and Fedora. This guide will show you how to manage your Linux system with Cockpit.

Note: We are using Fedora for this tutorial, but the instructions will be similar for other distributions.

Cockpit installation

First, make sure your system is up to date. To do this, open a terminal and type:

Once this command is complete, enter the command to install Cockpit via the DNF package manager.

Cockpit is also part of the “Headless Management” software group, so install it from there with several other tools that help manage a workstation or Fedora server on the network.

To access your Cockpit web console, make sure to authorize Cockpit through the system firewall and start the service. To allow Cockpit through the firewall, enter the following command:

You will get a message that indicates success. Then start and activate the systemd service. To do this, enter the following command:

You can open your web browser and type localhost: 9090 and see the Cockpit Web console appear on your screen.

Cockpit web console

From there, log in with your usual username and password, and you will be greeted with a user-friendly overview. You can see various information, including your host name for network communications, system information, resource usage, and various navigation items. Use this information to view logs, storage, networking information, etc.

Cockpit presentation

Clicking Logs gives you an overview of the different system logs. This can be useful if you are having problems with a particular program or hardware on a system. For example, if you are using Fedora on a laptop and have problems with your Wi-Fi, you can check the Logs page in Cockpit to see if there are any kernel logs from iwlwifi and try to fix them.

Cockpit logsCockpit logs

If you click Storage, it displays a page where you can easily monitor the storage devices connected to your system, including SATA drives and CD / DVD drives. The Cockpit Storage page is a useful mix of drive activity, partition and device lists, storage logs, and NFS mount management, something hard to find in one tool. Rather than having multiple terminal tabs running to see all of this information, you can simply view this page in Cockpit.

Cockpit storageCockpit storage

The next item is Networking, where you can easily manage your network interfaces and firewall, including enabling or disabling network interfaces and configuring network links or VLANs. This can be incredibly useful for managing networking on a server or workstation with multiple network cards and server roles, allowing you to quickly and easily have all of your network cards in one, quickly accessible location.

Cockpit networkingCockpit networking

The Accounts tab is easily the easiest. You can manage accounts on your system. This can be useful if you have a server accessed by multiple administrators or users and need to manage their permissions.

Cockpit accountsCockpit accounts

Services are one of the most complex tabs in Cockpit. You can manage all of the services on your system from here. If a service has to be started for something on your server to work, i.e. libvirtd, sshd or cups, this is where you will go to start this service. There are other sections on the Services tab, but these are more likely to be more advanced edge use cases than the scope of this guide.

Cockpit serviceCockpit service

Go to Applications to add or remove additional functionality in Cockpit. You can add modules to manage SELinux, QEMU / KVM virtual machines and even podman containers. This can allow you to get started with these tools easily and avoid some of the headaches associated with learning complex tools for the first time.

Cockpit applicationsCockpit applications

Software Updates is a very useful page for managing security and software updates. You can choose to install only security updates, install all updates, and even configure automatic updates. This can be a huge boon for people managing Fedora servers that require fairly frequent updates. It can also be useful for people who choose to apply only security patches and not change anything in their other software.

Cockpit software updatesCockpit software updates

The terminal is the last tab in the Host section, and is used to give you access to more granular control of your system. For example, if you are working with software that does not have a Cockpit module, you can still manage it from a user-friendly web interface without having to jump into an SSH client or terminal on your local system.

Cockpit terminalCockpit terminal

Finally, you have the dashboard. From the dashboard, you can easily see the usage of all the main resources: CPU, memory, network I / O and disk I / O. You can also add other servers to this dashboard. You can quickly view a dashboard to see if one server has high CPU usage compared to the others. It is also incredibly useful for virtual servers.

Cockpit dashboardCockpit dashboard

Cockpit is a simple and user-friendly way to manage your Linux systems. Several Linux servers, physical or virtual, can easily be configured via Cockpit, and several different modules can be added to increase functionality. Now that you’ve heard of Cockpit, be sure to check out our other publications on remote system management for how to remotely access your Mac and how to configure remote access on a host with a dynamic IP address.

Related:

Is this article useful?

!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘400239050508508’);
fbq(‘track’, ‘PageView’);

Leave a Reply