KDE is a global community that develops free, open-source, software. They have created more than 200 nifty little apps that run on any Linux desktop and other platforms as well. KDE desktop environments such as Plasma are renowned for their adaptability and ability to be customized to the tastes of the user.
Here, we’ve outsourced a complete list of the most practical KDE applications that will make great additions to your software library. You can be sure that this list has something for everyone because it includes everything from simple paint software to a robust movie editor.
Contents:
1. Dolphin (File Manager)
2. Kdenlive (Video Editor)
3. Okular (Document Viewer)
4. KDE Connect (Device Integration)
5. Konsole (Terminal Emulator)
6. Kate (Text Editor)
7. Spectacle (Screenshot Tool)
8. Gwenview (Image Viewer)
9. Ark (Archive Manager)
10. KCalc (Calculator)
11. KFind (File Search Tool)
12. Discover (Software Center)
13. Filelight (Disk Space Visualizer)
14. Krita (Digital Painting)
15. KHelpCenter (Documentation and Help)
16. KColorChooser (Color Picker)
17. KGpg (PGP Key Manager)
18. Kasts (Podcast Client)
19. Alligator (RSS Feed Reader)
20. Krfb (Remote Desktop Sharing)
21. Pikasso (Image Viewer and Organizer)
22. PlasmaTube (YouTube Client)
23. Khipu (Diagram Drawing Tool)
24. Kirogi (Drone Remote Control)
25. Vakzination (Health Tool)
26. Nota (Text Editor)
27. KDE Partition Manager
28. KSystemLog (System Log Viewer)
29. Yakuake (Drop-Down Terminal Emulator)
30. Skanlite (Scanning Application)
31. KolourPaint (Painting Application)
32. KMouseTool (Mouse Automation Tool)
33. Kompare (Text File Comparison)
34. KTorrent (BitTorrent Client)
35. KTimer (Timer Application)
Conclusion
1. Dolphin (File Manager)
You can view and traverse the contents of your hard disks, USB sticks, SD cards, and other storage devices using Dolphin, which is KDE’s file manager. Creating, sharing, and deleting files and folders with Dolphin is simple and quick.
Its right-click menu offers a variety of rapid operations, including the ability to replicate, share, and compress files. Besides that, this file manager shows documents and folders from a variety of Internet cloud services and other distant computers as though they were on your desktop.
With strong plugins, you can enhance Dolphin’s functionality even further and customize it to fit your workflow. The git integration plugin can be used to interact with git repositories. In addition, you can use the NextCloud plugin to synchronize your files online.
Additionally, Dolphin accumulates low storage on your KDE desktop and comes with an integrated terminal that lets you execute commands on the currently open folder.
Dolphin – KDE File Manager
2. Kdenlive (Video Editor)
Want a free, high-quality video editor that works with all Linux distributions? Check out Kdenlive, a non-linear video editor software that accepts a variety of audio and video formats, enables the addition of effects and transitions, and renders the finished product in the format of your choice.
This app comes preinstalled on KDE, and it is the ideal video editing solution for your upcoming project thanks to features like multitrack video editing, audio and video effects and transitions, and a customizable UI.
There are a couple of online tutorials available if you’re interested in learning how to get the most out of Kdenlive. A list of textual and video lessons covering everything from fundamental editing to intricate methods can be found on the official Kdenlive website.
Kdenlive – Video Editing Freedom
3. Okular (Document Viewer)
Okular, which bills itself as “The Universal Document Viewer” steps up to the plate by providing a quick, cross-platform document viewer for Windows, Linux, macOS, and other platforms.
Besides that, Okular incorporates built-in support for a variety of document formats, including PDF, EPUB, DjVu, MD, JPEG, PNG, GIF, TIFF, and WebP. You can rest assured that it can open any document type you encounter.
Okular – Document Viewer
4. KDE Connect (Device Integration)
For connecting your computer and smartphone, KDE Connect comes with a number of functions. First, it lets you pair the KDE Linux distro with your smartphone, and with that connection, you can use it to check notifications, send remote input, control media playing, share files, and do many other things with it.
All supported operating systems include Linux (for mobile), Android, FreeBSD, Windows, and macOS.
KDE Connect – Enable Communication Between Devices
5. Konsole (Terminal Emulator)
Konsole is a terminal used to run a command shell that offers cutting-edge features like split views, tabs, multiple profiles, bookmark support, activity monitoring, and more.
Konsole is more accessible and practical because it is incorporated into so many other KDE programs. For instance, applications such as Dolphin, KDevelop, and Kate all use Konsole as an integrated terminal emulator.
Konsole – KDE Terminal Emulator
6. Kate (Text Editor)
Kate is a free, open-source, multi-view text editor and multi-document renowned for its advanced capabilities and user-friendly interface. You can browse and modify all of your text files more easily with Kate thanks to its rich features.
Kate packs the following features out of the box: customizable shortcuts, shell integration, code and text folding, spell checking, scriptable using JavaScript, encoding conversion, and more.
Additionally, Kate supported over 300 languages, making it simpler to comprehend code in practically all programming languages.
Kate – Text Editor
7. Spectacle (Screenshot Tool)
For taking screenshots of your desktop, Spectacle comes in handy. With this app, you can take screenshots in the following areas: a desktop, one monitor, the active window, the window controlled by the mouse, or a rectangle area of the screen.
The images can then be printed, shared with other programs for editing, or instantly stored without modification.
Spectacle – Screenshot Capture Utility
8. Gwenview (Image Viewer)
KDE’s Gwenview is a quick and simple image viewer that is great for exploring and showcasing an assortment of pictures. It supports a variety of image formats and is excellent for browsing and presenting collections of photographs.
Basic image editing tools like rotate, crop, resize, mirror, flip, minimize red eye, and change brightness, contrast, or gamma are also available in Gwenview. Besides that, it does dual duty as an embedded viewer and standalone program in the Konqueror web browser.
Gwenview – Image Viewer
9. Ark (Archive Manager)
The KDE community developed Ark, which is a free open-source file compression and decompression program that supports a variety of file types, including rar, tar, gzip, bzip2, and more.
With Ark, users can browse, extract, make, and modify archives, and even without extracting files, read the contents of the file.
Ark – File Archiver
10. KCalc (Calculator)
KCalc is a scientific calculator that has all the features you would anticipate from a scientific calculator, KCalc includes trigonometric functions, logic operations, and statistical computations.
The recall of past calculation results is made simple via a results stack. User-defined precision is available, and numbers can be cut and pasted on the display.
The display’s typeface and colors can be changed, which improves usability. It is simple to use KCalc without a pointing device because of key bindings.
KCalc – Scientific Calculator
11. KFind (File Search Tool)
KFind is an open-source file search tool that can be opened from your menu section, KRunner, or as a separate search engine.
Additionally, it has been incorporated into Dolphin and Konqueror as a Find File in the Tools menu. Files can be found using the KFind search engine by name, type, or content.
KFind – File Search Utility By KDEKFind
12. Discover (Software Center)
You can install applications such as games and tools with the aid of Discover. You can search apps, browse by category, view screenshots, and read reviews using Discover.
The software repository for your operating system, Flatpak repos, the Snap store, or even AppImages from shop.kde.org may all be managed with Discover.
Discover also gives you the ability to find, install, and manage add-ons for Plasma and all of your favorite KDE applications.
Discover – Plasma Resources Management GUI
13. Filelight (Disk Space Visualizer)
Filelight is a disk-use visualization tool that shows files and folders on your computer from an intuitive perspective of concentric circles.
To examine extensive information about files and directories, Filelight can scan local, remote, or removable disks. You can also eliminate files or folders that are eating up too much space.
Dolphin, Konqueror, and Krusader file managers are integrated with Filelight, which includes customizable color schemes.
Filelight – Quickly Visualize Disk Space Usage
14. Krita (Digital Painting)
Krita is a free and open-source program that is used for sketching and painting. It gives a complete method for masters to create digital painting files from scratch.
Krita is a fantastic option for producing matte paintings, comics, rendering textures, and concept art. Numerous color palettes, including RGB and CMYK, are all supported by Krita at 8 and 16 bits for integer channels. 16 and 32 bits for floating point channels.
Enjoy painting with Krita’s cutting-edge brush engines, incredible filters, and a plethora of useful tools.
Krita – Digital Painting
15. KHelpCenter (Documentation and Help)
As the name implies, KHelpCenter is an app that offers a single point of access to all of your KDE applications’ and system utilities’ documentation.
It can be launched from the command line, the program launcher, or the help menu of an application. KHelpCenter shows documentation from a variety of sources, such as man pages, KDE community apps, and more.
KHelpCenter – Software Documentation Viewer
16. KColorChooser (Color Picker)
KColorChooser is an amazing tool for creating custom color palettes and color blending schemes. It can obtain the color of any pixel on the screen using the dropper function.
There are several popular color schemes present, including the oxygen color scheme and the typical Web colors. KColorChooser can be downloaded on KDE using Discover and other AppStream application stores.
KColorChooser – A Small Utility to Select Color
17. KGpg (PGP Key Manager)
GnuPG keys can be managed using the free and open-source encryption program KGpg. KGpg offers a graphical interface to create, manage, import, and export GnuPG keys. You can also use it to encrypt, decode, sign, and validate communications and files.
The steps below describe how to use KGpg to produce a new GnuPG keypair:
From the main menu, open KGpg by choosing Applications > Utilities > KGpg.
The application will walk you through the process of generating your own GnuPG keypair if you have never used KGpg before.
When prompted to create a new key pair, the dialog box that displays asks for your name, email address, and an optional comment.
Select your key’s algorithms, key strength (number of bits), and expiration time.
In the following dialog box, enter your passphrase.
Within the main KGpg window, your key will show up. Look in the ID column next to the freshly produced key to find your GnuPG key ID.
KGpg – Simple Interface for GnuPG
18. Kasts (Podcast Client)
If you’re looking for a podcast application for your KDE Plasma desktop, Kasts comes in handy. Kasts provides an intuitive user interface (UI) and has a number of features, including variable playback speed, full system integration, episode management through play queue, and search for podcasts.
You can subscribe to podcasts using its subscription feature. Additionally, Kasts offers you the chance to make a playlist for continuous playback of your preferred podcasts.
Kasts – Kirigami-Based Podcast Player
19. Alligator (RSS Feed Reader)
For Linux desktops, there are various feed reader applications that are mostly GTK-based. Introducing Alligator, a Qt-based feed reader for desktops running KDE Plasma.
It has the simplest user interface and offers capabilities like browsing and subscribing to feeds, as well as several ways to view them.
Alligator – Kirigami-Based RSS Reader
20. Krfb (Remote Desktop Sharing)
The KDE desktop application Krfb acts as a Virtual Network Computing (VNC) server, enabling other users to log in and view your screen via VNC clients.
This app has a wide range of settings, including an IP address and a connection to the system that requires a password. You may also set up the VNC service to broadcast to the LAN. For simple remote training connections and system assistance, Krfb is the ideal client.
Krfb – Desktop Sharing
21. Pikasso (Image Viewer and Organizer)
Pikasso is an open-source simple drawing program that Is written using Rust and Lyon programming languages. This tool provides you with a blank canvas on which to sketch using mouse or touch motion.
Additionally, the fundamental colors and forms (circles, rectangles, and lines) are included. It’s a great program for kids and is ideal for learning the basics of drawing.
Pikasso – Drawing Programs Using Kirigami
22. PlasmaTube (YouTube Client)
PlasmaTube is a desktop client for YouTube built with QtMultimedia and youtube-dl. With this application, you can watch videos and explore YouTube on your desktop.
It has extra features, including text searching and playlist subscriptions. When utilizing PlasmaTube, you can access the standard YouTube features like the view count, description, and playback control.
PlasmaTube – YouTube Video Player
23. Khipu (Diagram Drawing Tool)
A graph plotter on your desktop is an essential app if you’re a student or a teacher. Khipu is a sophisticated mathematical function plotter application that supports the following functionalities, 2D and 3D planes, dictionaries, and other features.
Additionally, Khipu’s backend uses the Analitza library to perform its functions.
Khipu – Advanced Mathematical Function Plotter
24. Kirogi (Drone Remote Control)
Kirogi is an open-source program that facilitates touch-based navigation and drone flight controls.
Additionally, you can control drones utilizing Kirogi’s functions, such as flips and turns. It also supports joysticks and gamepads, live video feeds, customizing speed and altitude, and other features.
Kirogi – Ground Control Application for Drones
25. Vakzination (Health Tool)
Vakzination is an app that lets you manage all of your health certifications. With Vakzination, you can import any certificates that are based on PDF or QR codes. The certificates are then organized for you.
However, even though this application is designed for mobile phones, you can still install it on your KDE desktop using Flatpak.
Vakzination
26. Nota (Text Editor)
Nota is a simple text editor with many features that you can use. The Nota text editor’s key benefit is its responsive layout, which also works with Plasma Mobile.
Additionally, it has several tabs, a built-in dark mode, and syntax highlighting. Besides that, you can see a thumbnail view of the working text files during your session on its special overview page.
Nota – Multi-Platform Text Editor
27. KDE Partition Manager
You can manage the drives, partitions, and file systems on your computer with the use of the KDE Partition Manager. You can also, quickly and without data loss, create, copy, transfer, remove, backup, restore, and resize files.
Numerous file systems, such as XFS, ext2/3/4, btrfs, reiserfs, NTFS, FAT16/32, and JFS, are all supported by KDE Partition Manager.
KDE Partition Manager
28. KSystemLog (System Log Viewer)
You can view and examine system logs on your computer using KSystemLog, a system log reader. To view log files, including kernel logs, system logs, daemon logs, and general journal logs, a graphical interface is provided.
KSystemLog has the ability to sift and filter log lines, as well as provide the admin with real-time alarm messages by email, text, and Slack. KSystemLog can be launched from the main menu. It attempts to open the /var/log/syslog file, which is the most practical log, by default.
You can choose other log files from the File menu or use the Open Log File button on the toolbar if you want to view other log files.
KSystemLog
29. Yakuake (Drop-Down Terminal Emulator)
Yakuake is an open-source terminal emulator based on KDE Konsole technology that offers a tabbed interface, adjustable dimensions, animation speed, and a powerful D-Bus interface.
By navigating to Applications > System > Yakuake from the main menu, you can launch the app.
Yakuake
30. Skanlite (Scanning Application)
Skanlite is an image-scanning application included in the KDE Applications collection. It is designed to scan with flatbed scanners and, when used with supported scanners, can capture not only images and documents but also clear slides and film strips.
For the final scan, Skanlite offers a preview with a selection feature, and it can store photographs right away in a designated folder with automatically generated names and formats.
Skanlite – Image Scanning Application
31. KolourPaint (Painting Application)
KolourPaint is a free, open-source painting program. It is similar to Microsoft Paint but with several extra capabilities, including rotation, color harmony, and support for transparency.
For sketching different forms, such as lines, rectangles, rounded rectangles, ovals, and polygons, KolourPaint offers a number of tools to choose from. Additionally, it allows text, lines, curves, selects, rotation, monochromatic, and other sophisticated effects.
KolourPaint
32. KMouseTool (Mouse Automation Tool)
KMouseTool is an open-source app that belongs to the KDE application suite. The app helps people who suffer from repetitive strain injuries and find it painful to touch buttons.
Every time the mouse cursor pauses for a split second, KMouseTool clicks the mouse. The amount of time that KMouseTool waits before clicking or dragging can be changed.
It’s recommended to get familiar with KMouseTool’s default settings before clicking. Particularly at first, you might want to keep Smart Drag deactivated. Once you feel confident clicking, practice using Smart Drag.
KMouseTool – Program That Clicks the Mouse
33. Kompare (Text File Comparison)
Kompare is a GUI front-end tool that makes it possible to view and merge discrepancies between source files. It can be used to compare changes to files or folder contents, and it supports a variety of diff formats and offers a wide range of settings to personalize the information level shown.
Kompare – Graphical File Differences Tool
34. KTorrent (BitTorrent Client)
KDE’s KTorrent is a BitTorrent program that enables you to download files by means of the BitTorrent protocol. It has extensive capabilities, including connection through a proxy, system tray integration, queuing of torrents, and global and per-torrent speed limits.
Besides that, this app has built-in functionalities such as support for webseeds, support for torrents and private trackers, support for µTorrent’s peer exchange, and more.
KTorrent
35. KTimer (Timer Application)
The KDE Applications collection includes the timer program KTimer. With this app, you can customize the text, color, and sound settings. In addition, you can enter multiple tasks and set a timer for each of them. It is possible to start, stop, modify, or loop the timers for each activity.
KTimer
Conclusion
That said, there is an app for everyone and anything, thanks to the KDE community. Need a program to create digital graphics? You have Krita. Install Kast if you need a podcast program.
The availability of such a sizable selection of free software makes the switch to KDE for newcomers much simpler.
USB creator tools are essential when it comes to experiencing varying distributions in a live system without the stress of burning an image onto a compact disc.
There are a number of different tools that can be used to create a bootable USB drive with multiple operating systems. In this article, we will discuss four of the most popular tools:
Contents:
1. YUMI – Multiboot USB Creator
2. SARDU MultiBoot Creator
3. Ventoy – Bootable USB Solution
4. Popsicle – Multiple USB File Flasher
5. Rufus – Create Bootable USB Drives
Conclusion
1. YUMI – Multiboot USB Creator
YUMI (Your Universal Multiboot Installer) is a versatile tool designed to craft multiboot USB drives. It efficiently combines multiple ISO files into a single bootable flash drive.
With YUMI, users can effortlessly launch a variety of live Linux OS, Windows installers, antivirus tools, backup solutions, penetration testing utilities, diagnostics, and more.
YUMI is that tool that will enable to write more than a few Linux images onto a single USB drive and it’s especially useful for folks looking to try out multiple Linux distros without having them installed on an actual PC – the only limit to the use of the tool is the size of your thumb drive.
Features:
Supports a wide range of distributions, including Windows, Linux, and various utilities.
User-friendly interface that guides users through the process.
Uses syslinux for booting Linux distributions and NTFS for Windows.
YUMI – Multiboot USB Creator
2. SARDU MultiBoot Creator
SARDU MultiBoot Creator is a free and open-source software application that can be used to create bootable USB drives and DVDs with multiple operating systems, antivirus tools, utility programs, and other ISO images.
It is a powerful and versatile tool that can be used for a variety of purposes, including:
Installing multiple operating systems on a single computer.
Troubleshooting computer problems.
Creating a recovery disk.
Testing different operating systems.
Demonstrating new software to clients.
It is easy to use and supports a wide range of operating systems, including Windows, Linux, macOS, and FreeBSD. It also supports a variety of bootable file formats, including ISO, IMG, BIN, and VHD.
SARDU MultiBoot Creator
3. Ventoy – Bootable USB Solution
Ventoy is an open-source tool that revolutionizes the creation of multiboot USB drives. Unlike traditional methods that require formatting and partitioning for each ISO file, Ventoy allows users to directly copy multiple ISO files onto a USB drive.
Once the drive is set up, adding or removing an OS is as simple as dragging and dropping the ISO file. Its user-friendly approach eliminates complex steps, making it a favorite for tech enthusiasts and professionals alike.
Supporting both legacy BIOS and UEFI boot modes, that ensures compatibility across a wide range of systems, making multiboot tasks more efficient and straightforward.
Ventoy Bootable USB Creator
4. Popsicle – Multiple USB File Flasher
Popsicle is an open-source dynamic Linux utility designed for writing image files to multiple USB devices simultaneously by ensuring consistency and efficiency.
Whether you’re setting up a batch of bootable drives or distributing software across several devices, Popsicle makes the task seamless with its intuitive interface that provides clear progress indicators for each device, reducing the margin for error.
As a testament to its adaptability, it supports a variety of image formats, including ISO and IMG. For users seeking a reliable and efficient multi-device flashing solution, Popsicle stands out as a top choice.
Popsicle – Multiple USB File Flasher
5. Rufus – Create Bootable USB Drives
Rufus is a renowned utility that facilitates the creation of bootable USB drives, especially for Windows environments. While primarily known for single-boot drive creation, advanced users have leveraged Rufus to craft multiboot USBs, housing multiple operating systems and tools.
Its lightweight nature, combined with a user-friendly interface, makes Rufus a preferred choice for many when it comes to preparing USBs for OS installations, system rescues, or diagnostic tools.
The software’s efficiency in handling various image formats, including ISO and IMG, and its compatibility with both UEFI and BIOS systems, underscores its versatility and prowess in the realm of bootable media creation.
Rufus – Create Bootable USB Drives
Conclusion
Creating a bootable USB with multiple operating systems is an invaluable resource for troubleshooting, testing, and even regular use. Whether you’re trying out different Linux distributions, setting up a recovery toolset, or installing various Windows versions, these tools make the process hassle-free.
Choose the one that fits your needs and expertise, and equip yourself with a powerful multiboot USB toolkit.
USB writer tools are essential softwares that enable you to write Linux ISO images onto USB drives, so you may run a live system or install an operating system onto a PC or multiple systems.
These tools are usually minimalistic and there are more than a few of them out there; however, I’ve chosen those which I feel are the best in both user experience and functionality for this list.
1. Gnome Multi-Writer
The Gnome Multi-Writer USB tool from the GNOME project is quite the multitasker as it can write a single image (ISO or IMG) to multiple drives subsequently.
The little program functions best with desktop environments using GNOME as its base and these include Unity, Cinnamon, and Mate – just to name a few.
Gnome MultiWriter
The supported USB sizes range from 1GB to 32GB and you can always find the program in the standard Linux repository should you develop a liking for it.
$ sudo apt install gnome-multi-writer [On Debian, Ubuntu and Mint]
$ sudo yum install gnome-multi-writer [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/gnome-multi-writer [On Gentoo Linux]
Etcher is a relatively new cross-platform and open-source image-burning tool by Balena that was developed using JS, HTML, node.js, and GitHub’s Electron framework. It supports writing both IMG and ISO images to SD and USB cards.
The application is primarily used for creating bootable USB drives or SD cards with its user-friendly interface that simplifies the process, making it accessible even for those with limited technical expertise.
Etcher Bootable USB Creator
You can head on to Etcher’s website to make a download, for Linux or other platforms. You can run the application from the terminal in Linux by going to the directory in which you downloaded it and executing the command below from the terminal.
$ sudo chmod +x Etcher-linux-x64.AppImage
$ sudo ./Etcher-linux-x64.AppImage
3. Unetbootin – Create Bootable Live USB Image
Unetbootin has been around longer than GNOME Multiwriter and Etcher; it’s a widely used and acclaimed bootable live USB creator on Linux that is also cross-platform with support for a wide variety of ISO images including Windows and macOS.
The application is open source and also has the ability to download images directly from their source to write directly on your USB drive.
UNetbootin
To install UNetbootin from the Ubuntu PPA, run the commands:
$ sudo add-apt-repository ppa:gezakovacs/ppa
$ sudo apt-get update
$ sudo apt-get install unetbootin
Unetbootin is also available as a binary package for other Linux distributions that you need to download and run it from the desktop or terminal.
4. ISO Image Writer
ISO Image Writer is a KDE-based tool that is specifically designed for writing ISO files to USB drives. As part of the KDE suite of applications, it integrates seamlessly with the KDE Plasma desktop environment.
The software aims to provide a straightforward and user-friendly interface, making the process of creating bootable USB drives hassle-free.
KDE ISO Image Writer
To install ISO Image Writer, just download the AppImage file, set the executable permission, and run it as shown.
Alternatively, it is also available to install from flatpak and snap as shown.
$ flatpak install flathub org.kde.isoimagewriter
$ flatpak run org.kde.isoimagewriter
OR
$ sudo snap install isoimagewriter
5. Popsicle
Popsicle is a versatile tool designed for Linux systems that allows users to flash multiple USB devices simultaneously. Ideal for situations where mass duplication of data across several USB drives is required, Popsicle streamlines the process, ensuring efficiency and consistency.
With its user-friendly interface, users can easily select an image file, such as .iso or .img, and then choose the target USB drives. Once initiated, Popsicle takes care of the flashing process, providing real-time progress updates for each device. Whether you’re setting up multiple bootable drives for a workshop, class, or event, Popsicle offers a reliable solution to get the job done swiftly.
Popsicle – Multiple USB File Flasher
Conclusion
I haven’t had the chance to try a whole lot of USB tools in the past. However, I’d love to hear your thoughts on those I’ve selected on this list or any others you may have in mind in the comments below.
RAR files, a common compressed file format, are widely used to store and share large amounts of data efficiently. While Linux natively supports various compression formats like ZIP and TAR.
RAR is the most popular tool for creating and extracting compressed archive (.rar) files. When we download an archive file from the web, we require a rar tool to extract them.
RAR is available freely under Windows operating systems to handle compressed files, but unfortunately, the rar tool isn’t pre-installed under Linux systems.
In this article, we’ll guide you through the process of installing unrar and rar command-line tools to open, extract, uncompress, or unrar and create an archive file on a Linux system.
Table of Contents
Install Unrar on Linux
How to Extract RAR Files in Linux
How to List RAR Files in Linux
How to Check Integrity of RAR File in Linux
How to Install Rar in Linux
How to Create RAR File in Linux
How to Delete Files in RAR Archive
How to Repair RAR Files in Linux
How to Add Files to RAR Archive
How to Set Password to RAR File
How to Lock RAR File
Conclusion
Install Unrar on Linux
To work with RAR files on Linux, you’ll need the unrar tool, which allows you to extract content from RAR archives. To install unrar, open a terminal and use the default package manager specific to your Linux distribution.
On other popular Linux distributions, you can install it using your default package manager as shown.$ sudo emerge -a app-arch/unrar [On Gentoo Linux] $ sudo apk add unrar [On Alpine Linux] $ sudo pacman -S unrar [On Arch Linux] $ sudo zypper install unrar [On OpenSUSE]
If your distribution does not offer an unrar package, you need to download the latest unrar/rar file and install it using the following commands.
————— On 64-bit —————
# cd /tmp # wget https://www.rarlab.com/rar/rarlinux-x64-623.tar.gz
Once you have unrar installed, you can easily open or extract the contents of a RAR file in the current working directory by using the following command with the e option.
$ unrar e tecmint.rar
Extracting RAR Files
To open/extract a RAR file in a specific path or destination directory, just use the e option, it will extract all the files in the specified destination directory.
$ unrar e tecmint.rar /home/tecmint/rarfiles
Extracting RAR Files to the Directory
To open/extract an RAR file with its original directory structure, just issue the below command with the x option, which will extract according to their folder structure see below the output of the command.
$ unrar x tecmint.rar
Extracting RAR Files with Directory Structure
How to List RAR Files in Linux
To list the contents of an RAR file in Linux, you can use the unrar l command, which will display the list of files with their sizes, dates, time, and permissions.
$ unrar l tecmint.rar
Listing Content of RAR Files
How to Check Integrity of RAR File in Linux
To check the integrity of an RAR archive file, you can use the unrar t command, which will perform a complete integrity check for each file for errors and displays the status of the file.
$ unrar t tecmint.rar
Testing RAR Files
The unrar command is used to extract, list, or test archive files only. It has no option for creating RAR files under Linux. So, here we need to install the RAR command-line utility to create archive files.
How to Install Rar in Linux
The rar command-line utility is used to create RAR archives, you can install rar using a package manager appropriate for your Linux distribution,
$ sudo apt install rar [On Debian, Ubuntu and Mint]
$ sudo yum install rar [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a app-arch/rar [On Gentoo Linux]
$ sudo apk add rar [On Alpine Linux]
$ sudo pacman -S rar [On Arch Linux]
$ sudo zypper install rar [On OpenSUSE]
How to Create RAR File in Linux
To create an archive (RAR) file in Linux, run the following command with a option, which will create an archive file for a tecmint directory.
$ rar a tecmint.rar tecmint
Creating RAR File in Linux
How to Delete Files in RAR Archive
The rar d command is used to delete files from an existing RAR archive in Linux. The d option directly modifies the existing RAR archive by removing the specified files.
$ rar d tecmint.rar randfile001 randfile002
In the above command, the randfile001 and randfile002 files will be deleted from the tecmint.rar RAR archive.
Delete Files in the RAR Archive
How to Repair RAR Files in Linux
The rar r command is used to repair and recover data from damaged or corrupted RAR archives in Linux.
$ rar r tecmint.rar
Repair RAR Archive
How to Add Files to RAR Archive
To update or add files to the existing archive file, use the rar u command, which allows you to add files to an existing RAR archive or update files within the archive.
$ rar u tecmint.rar hello.py
Now, verify that the file tecmint.sql is added to the archive file.
$ rar l tecmint.rar
Add Files to the RAR Archive
How to Set Password to RAR File
This is a very interesting feature of the rar tool, which allows us to set a password to the RAR archive file using the following command.
$ rar a -p tecmint.rar
Set Password to RAR File
Now verify it by extracting the archive file and see whether it will prompt us to enter the password that we have set above.
$ rar x tecmint.rar
Extract Password Protected RAR File
How to Lock RAR File
The rar k command is used to lock an existing RAR archive file, which is useful if you want to prevent further modifications to the archive.
$ rar k tecmint.rar
Lock RAR File
Conclusion
For more RAR and Unrar options and usage, run the following command it will display a list of options with their description.
$ man unrar
$ man rar
We have presented almost all of the options above for rar and unrar commands with their examples. If you feel that we’ve missed anything in this list and you would like us to add, please update us using the comment form below.
Are you trying to locate files with specific file permissions for different purposes, such as security auditing? Fortunately, the find command provides a handy “-perm” flag which enables users to list all the files that match the provided file permissions.
However, this blog post assumes you are already familiar with file permissions and how to check or grant them. If that’s not the case, refer to our beginner’s guide on changing file permissions.
Now that you’re prepared and have an understanding of file permissions, this guide will help you search for your desired files based on their permissions, using the well-known “find” and “ls” commands.
Find Files Based on Permissions in Linux
The syntax of the find command for locating files based on their permission is stated below:$ find [path] -type f -perm [permissions]
Here’s what each part of the syntax means:
[path] – It states the directory or path from where you want to begin your search. For instance, to look for the file in the root directory use “/”.
-type f – This option filters the search results to only include regular files, excluding other types of files.
-perm [permissions] – This option specifies the permission mode you intend to find. You can add Minus (-) or Slash (/) prefixes before the permission mode, or no prefix at all.
Let’s quickly review permission prefixes before delving into examples for further clarity.
No prefix – exact permissions.
Minus (-) prefix – At least specified permissions, with extras allowed.
Slash (/) prefix – At least any category (owner/group/others) must have specified permission bit(s).
1. Find Files That Have Specific Permissions
In this example, we will look for files in the “UbuntuMint” directory that have exactly read and write permissions for the owner only “600” by executing the command stated below.
Before executing the following command, you can run “ls -l ~/UbuntuMint” to review the permissions of files within this directory:
$ ls -l ~/UbuntuMint $ find ~/UbuntuMint -type f -perm 600
Find Files by Specific Permissions
You can notice that the above command has returned the “file4.txt” which exactly meets the specified criteria.
2. Find Files That Have Executable Permissions
If you want to search files with executable permissions for their owner, group, and other users, simply execute.$ find ~/UbuntuMint -type f -perm 111
Find Files with Execute Permissions
Upon executing this command, you’ll notice files that precisely match the specified executable permissions.
3. Find Files That Have Read/Write Permissions
Before delving into this example, let’s use the “ls” command within the directory to inspect current file permissions. Here, you’ll observe two files with read and write (6) permissions for the file owner, and read permissions (4) for the group and other users.
In this scenario, the find command will enumerate multiple files with “644” permission:
$ ls -l ~/UbuntuMint
$ find ~/UbuntuMint -type f -perm 644
Find Files with Read Write Permissions
4. Find Files That Have Owner’s Read/Write Permissions
Let’s use the “-” minus prefix before the file permissions to list all the files that possess at least read and write permissions for the file owner.
So basically the command mentioned below will return files with permissions like “600”, 601, 602, 610, 620, 630, and so on:
$ find ~/UbuntuMint -type f -perm -600
Find Files with Owner’s Read and Write Permissions
5. Find Files with Any Category Meeting Specified Permissions
Next, let’s explore the working of the slash (/) prefix before file permissions by executing the provided command. This will retrieve files within the “UbuntuMint” directory where at least one of the categories (owner, group, or others) meets the specified permission bits.
$ find ~/UbuntuMint -type f -perm /600
Find Files with Exact Permissions
6. Find Files That Have Symbolic Permissions
Users can opt for symbolic permissions instead of the numerical mode to specify file permissions. Execute the command below to find files with read and write permissions for the owner and read permissions for the group and others within the “UbuntuMint” directory:
$ find ~/UbuntuMint -type f -perm u=rw,g=r,o=r
This command is equivalent to the above command:
$ find ~/UbuntuMint -type f -perm u+rw,g+r,o+r
Note: Prefixes can be utilized with symbolic permissions as well.
Find Files with Symbolic Permissions
Now that you have learned the usage of the find command with the “-perm” flag, let’s explore another command that combines both the “ls” and “grep” commands.
Find Files Based on Permissions Using the ‘ls’ and ‘grep’ Commands
You can even utilize the powerful combination of the ls command piped with the grep command to display all files in the current directory and subsequently filter out files that match the specified permission.
Note: The “-l” flag in the “ls” command helps in displaying detailed information about files including file permissions, ownership, size, modification time, and more.
Let’s run the command mentioned below to look for files that have read and write permissions for the file owner. Here in this command, the “^” symbol specifies that the grep command will only filter files not directories:
$ ls -l | grep “^-rw——-“
Find Files Based on Permissions
However, if you want to focus on only permissions for a specific user like file owner and don’t care about permission of other user classes, you can define the permissions for that particular user bits and employ a wildcard character for the rest, as shown below:
$ ls -l ~/UbuntuMint/ | grep “^-rw-*”
Find Files by Specifying Particular User Bits
This command effectively identifies all files within the “~/UbuntuMint/” directory that possess read and write permissions for the file owner.
Conclusion
If you’re seeking to identify files within a directory based on specific file permissions for security audits or other purposes, this guide is your essential resource. It offered two distinct commands, accompanied by numerous examples, to assist you in pinpointing files according to their permissions.
File compression is a common practice in Linux, where its users shrink files and directories using tools like Gzip to free up storage space and increase their system’s performance.
This compression technique also smooths out the process of sending files across networks – fast and efficient. But here’s the twist: when you need to use or change these compressed files, you wish they could return to their original, uncompressed state.
This is where the powerful command “Gunzip” steps in. It acts like a digital magician, letting you effortlessly restore files and directories with extensions like “.gz” or “.z” to their primary state with the previous file size and format.
Quick Note: Gzip is a widely used utility employed to compress files, directories, tar archives, and even websites effectively. Think of it as a clever way to neatly pack your clothes in a suitcase before a trip – it’s all about saving space in the most efficient way possible.
Let’s dive into this article, where we’ll delve into the usage of the “gunzip” command with examples in Linux.
1. Use of the “gunzip” Command in Linux
Gunzip is a command-line utility designed for decompressing files that have been compressed using the GNU Zip (gzip) compression algorithm. It efficiently restores files with suffixes, such as, “-gz”, “.gz”, “.z”, “.taz”, “.tgz”, “_z”, “-z”, or “.Z” back to their initial/actual forms.
During this process, the compressed file is seamlessly replaced with its uncompressed version. While Gunzip can even compress a file or directory, it is primarily renowned for its proficiency in decompression tasks.
Let’s discuss the syntax of gunzip command.
$ gunzip [OPTION]… [FILE]…
The syntax of the “gunzip” command has two parts: Option and File.
The Option/Flag is used to change the conduct of the command whereas File is the representation of the input files that need to be decompressed. The flag or option comes with a hyphen after the “gunzip” command.
Run the 'gunzip -h' command in your terminal to view the available options of the ‘gunzip‘ command along with their explanations:
$ gunzip -h
These flags make it easy for a Linux user to perform compression and decompression in different cases.
Gunzip Command Help
2. Why Do We Use Gunzip?
Let’s discuss a few of the reasons why Linux users prefer the “gunzip” command for decompressing files and directories:
The Gzip compression is a widely used and standardized compression format, making it compatible across different systems and platforms.
The “gunzip” is used to decompress files that have been compressed using the gzip compression algorithm, which reduces the file size, making it more efficient for storage and data transfer.
The compressed files are smaller in size, which means they can be transferred over networks more quickly.
The compression not only saves space but also helps identify data corruption during transfer.
The “gunzip” command proves to be very flexible due to the variety of flags that it offers.
It can be integrated with many other Linux tools like tar etc, hence making it more convenient to use.
The “gunzip” simplicity and consistent behavior make it ideal for scripting and automation purposes. Linux users often employ it within scripts and automated workflows to efficiently manage decompression tasks.
Moving ahead, now we will discuss some examples of the gunzip command to understand its usage.
3. How to Unzip (Open) Gz File
At times when you need to unzip a single file, just execute the command provided below:
$ gunzip singleFile.gz
This will decompress the “singleFile.gz” file and restore the original file named “singleFile”. To verify if your file is decompressed, simply execute the “ls” command.
Extract Gz File Linux
4. How to Extract Multiple Gzip Files
At times, you may need to decompress multiple files all at once by specifying the names of the .gz files you intend to decompress.
This will decompress all three files (“multiFile1.gz”, “multiFile2.gz”, “multiFile3.gz”) and bring them to their previous corresponding decompressed states (“multiFile1”, “multiFile2”, “multiFile3”).
Extract Multiple Gz Files in Linux
5. Force Decompress a Gz File
Sometimes, you may need to decompress a file while a decompressed file of the same name already exists in the directory. In such cases, a warning about file overwriting can arise.
To address this situation, the “gunzip” command provides the "-f" or "--force" flag, which empowers you to forcefully decompress the file with a ".gz" extension.
Note: The default behavior of the “gunzip” command is to replace the actual file. If you require to preserve/retain the actual file intact, you can combine the "-f" and "-k" flags.
For instance, to forcefully decompress the file “forceFile.gz” within a directory containing a file named “forceFile“, you can execute the mentioned command:
$ gunzip -f forceFile.gz
Force Decompress Gz File
This command will effectively decompress the file “forceFile.gz” to “forceFile“, even if an existing “forceFile” file is present on your system.
6. How to Unzip a Gz File to a Directory
Until now you must have noticed that all the decompressed files resided in the same directory where their corresponding compressed files were located. This might have sparked the question:
“Can we decompress files directly into another directory or location?” The answer is yes, we can simply use the “-d” flag to decompress a file in another directory.
To do so, simply specify the path of the directory where you want to decompress the desired file, followed by the file’s name after the “-d” flag, as demonstrated below:
$ gunzip -d ~/to/Ubuntu/Mint/directory/file.gz
Unzip Gz File to Directory
This will decompress the file “file.gz” in the “~/to/Ubuntu/Mint/directory” directory.
7. How to Unzip Gzip File While Keeping Original File
Consider a scenario where you want to send a compressed file to your friend and keep the decompressed file for yourself or vice versa. In either case, the objective is to retain both versions of the file in your system. For this purpose, the “gunzip” command offers the "-k" option.
To implement this approach, run the command stated below, which will decompress the files “originalFile1.gz” and “originalFile2.gz“, simultaneously redirecting the decompressed output to new files named “originalFile1” and “originalFile2“, all while retaining the compressed versions of the files:
$ gunzip -k originalFile1.gz originalFile2.gz
Executing this command will effectively decompress the specified files, creating new decompressed versions while retaining the original compressed files intact. To confirm the change, display all the files in the current directory.
Unzip Gzip File by Keeping Original File
8. How to Unzip Gzip File to Standard Output
Want to see the content of a compressed file but don’t want to decompress it? Well, no worries you can simply use the “-c” flag to view the text of the compressed file:
$ gunzip -c ubuntuMintFile.gz
This command will display the textual content of the file “ubuntuMintFile.gz”.
View Gzip File Contents
In the output below you can see that you get the same output by using the “-c” flag and by unzipping the file first and then using the cat command to read data from a file and display it on the console as output.
9. How to Check the Information of Gzip File
Being a Linux user, you might face a situation where you’ve compressed a file and you want to know the details about it. Ideally, you should be decompressing it before and then you might be able to get its details.
The “gunzip” command provides a “-l” flag which displays the information about the compressed file without necessitating its decompression. This information might be the size of the original file, the size of a compressed file, the name of the actual file, and the ratio of compression.
Let’s try it out by using a compressed file “ubuntuMintFile.gz”:
$ gunzip -l ubuntuMintFile.gz
This will display comprehensive information about the “ubuntuMintFile” file.
View Gzip File Info
10. How to Decompress a Gzip File with Max Compression
There are instances when you’ll encounter a situation where the quality of the decompressed file takes precedence over the time consumed by the decompression process. In such instances, you can use the “-9” flag of the “gunzip” to achieve a higher-quality decompression, as demonstrated below:
$ gunzip -9 betterFile.gz
This command decompresses the file “betterFile.gz” in better quality but obviously will consume more time in the decompression process.
Decompress Gzip File Better
11. How to Decompress a Gzip File Faster
Likewise, you can even prefer speed over quality while uncompressing a file or directory. In this case, use the “-1” option followed by the filename that is to be decompressed.
$ gunzip -1 fasterFile.gz
This command extracts the file “fasterFile.gz” in a lesser time with a considerable speed.
Decompress Gzip File Faster
12. How to View Gzip Decompress Process
To decompress a file while receiving detailed feedback, the “gunzip” command provides the useful “-v” flag that displays the progress and details of the decompression process.
$ gunzip -v verboseFile.gz
View Unzip Gzip File Progress
Conclusion
The “gunzip” command is one of the best algorithms used by Linux enthusiasts for file decompression. This guide covered various commands for decompressing files and directories using the “gunzip” utility that are compressed by the “gzip” command.
An Internet of Things OS is any Operating System specifically designed to work within the constraints that are particular to IoT devices which are typically limited in memory size, processing power, capacity, and built to enable swift data transfer over the Internet.
There are several (mostly Linux-based) Operating Systems that you can use for IoT but they wouldn’t allow you to get the best out of your setup and that’s the reason why IoT-focused distros exist.
Here are the list of top Operating Systems you can use for your Internet of Things projects.
Contents:
1. Zephyr (Operating System)
2. Ubuntu Core
3. RIOT OS
4. FreeRTOS
5. Mbed OS
6. Fuchsia OS
7. Contiki-NG
8. TinyOS
9. BalenaOS
10. MicroPython
11. Windows for IoT
12. OpenWrt
13. Embedded Linux
14. Fedora IoT
Conclusion
1. Zephyr (Operating System)
Zephyr is a small, scalable, open-source, and real-time operating system (RTOS) for connected devices, that provides modularity which allows developers to optimize the system for a specific use. It supports multiple architectures and offers features like Bluetooth, LoRa, and NFC.
Zephyr is designed to be easy to use and efficient, with a small memory footprint and low power consumption. It also includes a number of features that make it well-suited for IoT devices, such as support for networking, security, and power management.
Some of the key features of Zephyr include:
Small memory footprint and low power consumption.
Support for multiple hardware architectures.
Connectivity support for Wi-Fi, Bluetooth, and Ethernet.
Security features, such as encryption and authentication.
Power management features, such as dynamic voltage and frequency scaling.
A modular design that makes it easy to add new features and drivers.
Zephyr is used in a wide variety of IoT devices, including sensors, actuators, gateways, and wearables. It is also used in some industrial and automotive applications.
2. Ubuntu Core
Ubuntu Core is a robust version of Linux’s most popular distro, Ubuntu, made particularly for large container deployments and Internet of Things devices. It was built by Canonical to use the same kernel, system software, and libraries as Ubuntu but on a much smaller scale, and it is used to power robots, gateways, digital signs, etc.
Ubuntu Core is designed to provide users with a secure embedded Linux for IoT devices. All of its aspects are verified in order to maintain immutable packages and persistent digital signatures. It is also minimal and enterprise-ready.
3. RIOT OS
RIOT is a free, friendly, and open source Operating System designed for working with IoT devices with the aim of implementing all relevant open standards that support secure, durable, and privacy-friendly IoT connections.
RIOT‘s features include a minimum RAM and ROM size of ~1.5kB and ~5kB, full support for C and C++, multi-threading, modularity, and MCU without MMU.
Here are some of the features of RIOT OS:
Supports a wide range of hardware platforms, including 8-bit, 16-bit, and 32-bit microcontrollers.
Provides a real-time kernel with guaranteed response times.
It boasts a minimal memory footprint, ideal for devices with limited resources.
Is modular, making it easy to add or remove features.
Provides a uniform API for accessing hardware and services.
It is open source, allowing for free modification and redistribution.
RIOT OS is a popular choice for developing IoT applications by a wide range of companies and organizations, including Bosch, Siemens, and the European Space Agency.
If you are looking for an OS for your IoT project, RIOT OS is a good option to consider, It is a powerful, versatile, and open-source OS that can be used to develop a wide variety of applications.
4. FreeRTOS
FreeRTOS is an open-source, real-time operating system (RTOS) for microcontrollers, which is a lightweight kernel that offers basic functionality for task management, scheduling, and synchronization.
FreeRTOS is free to use and distribute, and it is supported by a large active community and used by a wide variety of embedded systems, including industrial automation, medical devices, consumer electronics, automotive, networking, smart home devices, and Internet of Things (IoT).
Here are some of the key features of FreeRTOS:
It is a small and efficient kernel that takes up minimal memory and processing resources.
It supports multiple tasks that can run concurrently.
It provides a variety of scheduling algorithms to choose from.
It provides a variety of synchronization mechanisms to ensure that tasks do not interfere with each other.
It provides a variety of memory management options, including static and dynamic allocation.
It has been ported to over 35 microcontroller platforms.
It provides a variety of security features, such as secure boot and over-the-air updates.
If you are developing an embedded system, FreeRTOS is a good choice for an RTOS. It is reliable, efficient, and easy to use.
5. Mbed OS
Mbed OS is an open-source, real-time operating system (RTOS) designed for embedded systems, specifically targeting Internet of Things (IoT) devices.
Developed by Arm, one of the industry leaders in microprocessor technology, Mbed OS offers a range of features and tools that make it easier for developers to produce efficient, secure, and scalable products.
Here are some of the key features of Mbed OS:
A lightweight operating system that takes up minimal memory and processing resources. This makes it ideal for resource-constrained IoT devices.
It is designed to be efficient in terms of power consumption and performance. This is important for IoT devices that need to operate on batteries or other limited power sources.
Provides a variety of security features to protect IoT devices from attack. This includes secure boot, over-the-air updates, and cryptography.
Portable to a wide range of Arm Cortex-M microcontrollers. This makes it easy to develop IoT devices that can run on a variety of hardware platforms.
Has a large and active community of developers and users. This means that there is a lot of support available, and you are more likely to find solutions to problems that you encounter.
If you are developing an IoT device, Mbed OS is a good choice for an operating system, as it is lightweight, efficient, secure, and portable, and it has a large and active community of support.
6. Fuchsia OS
Fuchsia is an open-source capability, real-time operating system created for the Internet of Things devices by Google. Unlike two of Google’s much-loved products, Chrome and Android, which are based on the Linux kernel, Fuchsia OS is based on the Zircon kernel.
It ships with Node.js which enables support for JavaScript and it is expected to be able to run on AMD devices as well as on phones and tablets with the ability to run Android apps.
Want to see Fuschia in action? Check out this demo link.
7. Contiki-NG
Contiki-NG (short for Contiki Next Generation) is an open-source operating system for resource-constrained, networked, Internet of Things (IoT) devices. It serves as the successor to the older Contiki OS and offers enhanced features, stability, and performance.
Designed with tiny devices in mind, Contiki-NG provides multitasking capabilities and a built-in Internet Protocol (IP) suite, making it suitable for a wide range of IoT applications.
Here are some of the key features of Contiki-NG:
Supports a variety of low-power communication protocols, including 6LoWPAN, IPv6, 6TiSCH, RPL, and CoAP.
It provides a variety of security features, including secure boot, over-the-air updates, and cryptography.
Portable to a wide range of hardware platforms, including 8-bit, 16-bit, and 32-bit microcontrollers.
Designed in a modular way, which makes it easy to add new features and adapt it to different applications.
Has a large and active community of developers and users, which means that there is a lot of support available.
8. TinyOS
Tiny OS is a free and open-source BSD-based Operating System aimed at low-power wireless devices e.g. devices used in sensor networks, Personal Area Networks, universal computing, smart meters, and smart buildings.
It initially started as a project hosted on Google Code where it was writeable by only selected core developers but it has since 2013, transitioned to GitHub where it is more open to the open-source community and is averaging at least 35,000 downloads per year.
Here are some of the key features of TinyOS:
It is designed to be lightweight and efficient, taking up minimal memory and processing resources.
It is based on a component-based architecture, which makes it easy to develop and maintain applications.
It uses an event-driven programming model, which means that applications are event-driven and do not have to worry about managing the underlying hardware.
It is designed to be network-aware, making it easy to develop applications that communicate with each other over a network.
An open-source operating system, which means that it is free to use and modify.
9. BalenaOS
BalenaOS is a Linux-based operating system optimized for running Docker containers on embedded devices. It is based on the Yocto Project, and it uses Docker as its container runtime, which is designed to be lightweight, secure, and easy to use.
Here are some of the key features of BalenaOS:
Designed to be lightweight and efficient, taking up minimal memory and processing resources.
It uses Docker as its container runtime, which makes it easy to deploy and manage applications.
Includes a variety of security features, such as secure boot and over-the-air updates.
Provides a variety of tools and documentation to help developers get started.
BalenaOS is used by a variety of companies, including Bosch, Intel, and Samsung. It is also used by a number of open-source projects, such as Home Assistant and OpenHAB.
10. MicroPython
MicroPython is a streamlined and optimized version of the Python 3 programming language, incorporating a minimal portion of the Python standard library and designed specifically for microcontrollers and resource-restricted settings.
It is a smaller and more lightweight version of Python that is designed to run on microcontrollers and other embedded systems with limited resources. It is based on the Python programming language, but it has been stripped down to the essentials to make it more efficient and portable.
MicroPython is a good choice for developing applications for embedded systems, such as IoT devices, robotics, educational projects and prototypes..
11. Windows for IoT
Windows for IoT represents Microsoft’s endeavor to carve out a place in the burgeoning Internet of Things (IoT) landscape. Specifically tailored for IoT devices, this platform offers developers and businesses a means to create smart, interconnected solutions with a familiar Windows framework.
The platform is split mainly into two primary editions Windows 10 IoT Core and Windows 10 IoT Enterprise and can be integrated seamlessly with Azure IoT Suite, Microsoft’s cloud solution for IoT, providing an end-to-end solution for businesses.
With the massive growth of IoT, Microsoft’s Windows for IoT is positioning itself as a reliable, scalable, and efficient platform, bridging the gap between everyday devices and the power of smart, interconnected technology.
12. OpenWrt
OpenWrt is an open-source firmware project aimed at embedded devices, particularly routers. Unlike many factory-default firmware that offer limited customization and functionality.
Originating from a firmware created for the Linksys WRT54G series in 2004, OpenWrt has evolved to support a vast array of hardware from various manufacturers. Its modular design enables users to personalize their device’s functionalities by choosing from a vast collection of available packages tailored for different needs.
One standout feature of OpenWrt is its package management system that allows for easy installation of software and extensions, providing enhanced functionalities beyond the capabilities of standard firmware.
13. Embedded Linux
Embedded Linux is a term used to describe the latest generation of embedded Linux operating systems, which is based on the Ubuntu Core distribution and features a number of improvements over previous versions, including:
It is designed to be more lightweight and efficient, making it ideal for resource-constrained devices.
Built on a modular architecture, which makes it easier to customize and update the operating system.
Built on a secure foundation, with features such as AppArmor and Seccomp to protect devices from cyberattacks.
Designed to be cloud-native, making it easy to develop, deploy, and manage applications on embedded devices.
14. Fedora IoT
Fedora IoT is a variant of the Fedora operating system, tailored for IoT devices that provides a robust, secure, and open-source platform for edge computing, ensuring consistent updates and strong community support.
With its modular design, Fedora IoT simplifies device management, making it an ideal choice for developers and enterprises venturing into the Internet of Things ecosystem.
Conclusion
Choosing the right IoT operating system is crucial in ensuring the functionality, efficiency, and security of connected devices. Factors like memory constraints, required connectivity protocols, and scalability need to be considered.
Do you already use any of the above-mentioned Operating Systems for your IoT projects? Or are you familiar with recommendable ones not on the list? Drop your comments in the discussion section.
2022 was an exceptional year for numerous applications, particularly those that are both free and open source. While various Linux distributions include a set of default apps, users have the freedom to replace them with any free or paid alternatives they prefer.
Today, we bring you a list of Linux applications that have been able to make it to users’ Linux installations almost all the time despite the butt-load of other alternatives.
Simply put, any app on this list is among the most used in its category, and if you haven’t already tried it out you are probably missing out.
Linux Backup Tools
Certainly, backing up data is crucial for any system, including Linux and there are various tools available for Linux that cater to different backup needs.
1. Rsync
rsync is one of the most popular open-source command-line-based bandwidth-friendly backup tools for performing swift incremental file transfers and synchronization.
Timeshift provides users with the ability to protect their system by taking incremental snapshots which can be reverted to at a different date – similar to the function of Time Machine in Mac OS and System Restore in Windows.
Transmission is also a BitTorrent client with awesome functionalities and a major focus on speed and ease of use. It comes preinstalled with many Linux distros.
Tixati is a distinctive Bittorrent client known for its detailed user interface, advanced bandwidth charting, and peer properties.
Free from spyware and ads, it offers a pure torrenting experience, prioritizing user privacy and efficient downloading capabilities.
To install Tixati in Linux, visit the official Tixati website to download the appropriate package for your Linux distribution (typically a .deb file for Debian/Ubuntu or a .rpm file for Fedora/RedHat) and install it.
Tixati Bittorrent Client
Linux Cloud Storage
Cloud storage solutions have become increasingly popular as they offer a convenient way to store, access, and share data across devices and locations.
Here’s a categorization of some of the popular Linux cloud storage solutions:
7. Dropbox
The Dropbox team rebranded its cloud service earlier this year to provide an even better performance and app integration for their clients. It starts with 2GB of storage for free.
To install Dropbox in Linux, run:
$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf - [On 32-Bit]
$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf - [On 64-Bit]
$ ~/.dropbox-dist/dropboxd
Dropbox – Secure Cloud Storage
8. Google Drive
Google Drive is Google’s cloud service solution and my guess is that it needs no introduction. Just like with Dropbox, you can sync files across all your connected devices. It starts with 15GB of storage for free and this includes Gmail, Google Photos, Maps, etc.
Google Drive – Personal Cloud Storage
9. Mega
Mega stands out from the rest because apart from being extremely security-conscious, it gives free users 20GB to do as they wish! Its end-to-end encryption ensures that they can’t access your data, and if you forget your recovery key, you too wouldn’t be able to.
MEGA Cloud Storage
Linux Commandline Editors
10. Vim
Vim is an open-source clone of a vi text editor developed to be customizable and able to work with any type of text.
To install Vim in Linux, run:
$ sudo apt install vim [On Debian, Ubuntu and Mint]
$ sudo yum install vim [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/vim [On Gentoo Linux]
$ sudo apk add vim [On Alpine Linux]
$ sudo pacman -S vim [On Arch Linux]
$ sudo zypper install vim [On OpenSUSE]
Vim Text Editor
11. Emacs
Emacs refers to a set of highly configurable text editors. The most popular variant, GNU Emacs, is written in Lisp and C to be self-documenting, extensible, and customizable.
Here’s a categorization of some of the popular Linux download managers:
13. Aria2
Aria2 is an open-source lightweight multi-source and multi-protocol command line-based downloader with support for Metalinks, torrents, HTTP/HTTPS, SFTP, etc.
uGet has earned its title as the #1 open-source download manager for Linux distros and it features the ability to handle any downloading task you can throw at it including using multiple connections, using queues, categories, etc.
XDM, Xtreme Download Manager is an open-source downloader written in Java. Like any good download manager, it can work with queues, torrents, browsers, and it also includes a video grabber and a smart scheduler.
There’s a wide range of email clients available for managing, sending, and receiving emails. Here’s a categorization of some of the popular Linux email clients:
16. Thunderbird
Thunderbird is among the most popular email applications. It is free, open-source, customizable, feature-rich, and above all, easy to install.
Gaming on Linux has seen significant growth over the years, thanks to various tools and platforms that have made it easier for gamers to enjoy their favorite titles on this open-source OS.
21. Steam
Steam is a video game digital distribution service responsible for thousands of gamers having access to the several now-available games for the Open Source community and gaming issues on Linux are virtually a thing of the past. If you’re a gamer, you can’t go wrong with Steam.
Integrated Development Environments (IDEs) and code editors are essential tools for developers, providing a comprehensive environment for coding, debugging, testing, and sometimes even deployment.
23. Eclipse IDE
Eclipse is the most widely used Java IDE containing a base workspace and an impossible-to-overemphasize configurable plug-in system for personalizing its coding environment.
Eclipse IDE Editor
24. Netbeans IDE
A fan-favorite, Netbeans enables users to easily build applications for mobile, desktop, and web platforms using Java, PHP, HTML5, JavaScript, and C/C++, among other languages.
Netbeans IDE Editor
25. Brackets
Brackets is an advanced text editor developed by Adobe to feature visual tools, preprocessor support, and a design-focused user flow for web development. In the hands of an expert, it can serve as an IDE in its own right.
Light Table is a self-proclaimed next-generation IDE developed to offer awesome features like data value flow stats and coding collaboration.
Light Table – Code Editor
27. Visual Studio Code
Visual Studio Code is a source code editor created by Microsoft to offer users the best-advanced features in a text editor including syntax highlighting, code completion, debugging, performance statistics and graphs, etc.
Visual Studio Code
Linux Instant Messaging
Instant messaging (IM) on Linux has evolved over the years, and there are several applications and platforms available for users.
28. Pidgin
Pidgin is an open-source instant messaging app that supports virtually all chatting platforms and can have its abilities extended using extensions.
Skype is a telecommunications application offering video calls, voice chats, and instant messaging.
To install Skype in Linux, run:
$ sudo snap install skype --classic
Skype – Telecommunications Application
30. Empathy
Empathy is a messaging app with support for voice, video chat, text, and file transfers over multiple protocols. It also allows you to add other service accounts to it and interface with all of them through it.
Linux is generally considered more secure than some other operating systems, but it’s still important to be cautious, especially on shared or networked systems.
31. ClamAV/ClamTk
ClamAV is an open-source and cross-platform command-line antivirus app for detecting Trojans, viruses, and other malicious codes. ClamTk is its GUI front-end.
Linux offers a variety of desktop environments (DEs) that cater to different user preferences in terms of aesthetics, functionality, and resource consumption.
32. Cinnamon Desktop
Cinnamon is a free and open-source derivative of GNOME and it follows the traditional desktop metaphor conventions.
To install Cinnamon desktop on Ubuntu and Fedora, run.
$ sudo apt install cinnamon [On Debian, Ubuntu and Mint]
$ sudo dnf install @cinnamon-desktop [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
Cinnamon Desktop
33. Mate Desktop
The Mate Desktop Environment is a derivative and continuation of GNOME developed to offer an attractive UI on Linux using traditional metaphors.
To install Mate desktop on Ubuntu and Fedora, run.
$ sudo apt install ubuntu-mate-desktop [On Debian, Ubuntu and Mint]
$ sudo dnf install @mate-desktop [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
Mate Desktop
34. GNOME Desktop
GNOME is a Desktop Environment comprised of several free and open-source applications and can run on any Linux distro and on most BSD derivatives.
Install Gnome desktop on Ubuntu, Debian and Fedora, use the following commands.
------ On Ubuntu and Linux Mint ------
$ sudo apt install tasksel
$ sudo apt update
$ sudo tasksel install ubuntu-desktop
------ On Fedora ------
$ sudo dnf group install “Fedora Workstation”
Gnome Desktop
35. KDE Desktop
KDE is developed by the KDE community to provide users with a graphical solution for interfacing with their system and performing several computing tasks.
Install KDE desktop on Ubuntu, Debian and Fedora, use the following commands.
------ On Ubuntu and Linux Mint ------
$ sudo apt install tasksel
$ sudo apt update
$ sudo tasksel install kubuntu-desktop
------ On Fedora ------
$ sudo dnf -y group install "KDE Plasma Workspaces"
KDE Desktop
36. XFCE Desktop
XFCE is a lightweight desktop environment that offers simplicity, speed, and low resource usage, making it ideal for older hardware and performance-conscious users.
Install the XFCE desktop on Ubuntu, Debian, and Fedora, use the following commands.
$ sudo apt install xfce4 [On Debian, Ubuntu and Mint]
$ dnf install @xfce-desktop-environment [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
XFCE Desktop
Linux Maintenance Tools
Linux maintenance tools help in optimizing, diagnosing, repairing, and monitoring your Linux systems.
37. GNOME Tweak Tool
The GNOME Tweak Tool is the most popular tool for customizing and tweaking GNOME and GNOME Shell settings.
To install the GNOME Tweak Tool on Ubuntu and Fedora, run.
$ sudo apt install gnome-tweak-tool [On Debian, Ubuntu and Mint]
$ sudo dnf install gnome-tweak-tool [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
38. Stacer
Stacer is a free, open-source app for monitoring and optimizing Linux systems.
The terminal, often referred to as the command line or shell, is an essential tool for Linux users to interact with the operating system and execute commands.
40. GNOME Terminal
GNOME Terminal is GNOME’s default terminal emulator that comes with tabs, profiles, and a customizable user-friendly interface to execute shell commands on Linux systems.
Konsole is the default terminal emulator for the KDE Plasma desktop environment that offers advanced features, multiple tabs, customizable profiles, and seamless integration with KDE applications.
Blender is the free and open-source 3D creation suite that supports the complete 3D pipeline i.e. rigging, modeling, video editing, animation, simulation, motion tracking, rendering, compositing, and 2D animation pipeline.
GIMP is the most popular open-source Photoshop alternative and it is for a reason. It features various customization options, 3rd-party plugins, and a helpful user community.
Krita is an open-source painting app that can also serve as an image-manipulating tool and it features a beautiful UI with reliable performance.
To install Krita in Linux, run:
$ sudo apt install krita [On Debian, Ubuntu and Mint]
$ sudo yum install krita [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/krita [On Gentoo Linux]
$ sudo apk add krita [On Alpine Linux]
$ sudo pacman -S krita [On Arch Linux]
$ sudo zypper install krita [On OpenSUSE]
Krita – Raster Graphics Editor
49. Lightworks
Lightworks is a powerful, flexible, and beautiful tool for editing videos professionally. It comes feature-packed with hundreds of amazing effects and presets that allow it to handle any editing task that you throw at it and it has 25 years of experience to back up its claims.
To install Lightworks in Linux, open your favorite browser go to the Lightworks download page choose the appropriate package for your system (DEB or RPM), and install it.
Lightworks – Pro Video Editing Software
50. Natron
Natron is a cross-platform open-source cross-platform application for video composition and editing as you would with Adobe After Effects.
Founded by Blackmagic Fusion to be free and portable, it offers sufficient tools for compositors to achieve high-quality results and fast rates.
To install Natron in Linux, you need to use the Snap Store by running the following command in the terminal.
$ sudo snap install natron
Natron Digital Compositor
51. OpenShot
OpenShot is an award-winning free and open-source video editor known for its excellent performance and powerful capabilities.
Pitivi is a beautiful video editor that features a beautiful code base, and an awesome community, is easy to use, and allows for hassle-free collaboration.
Kdenlive is a robust open-source video editor that supports multi-track editing, a wide range of video formats, and offers numerous effects and transitions.
With features like proxy editing, automatic backup, and a customizable interface, Kdenlive stands out as a comprehensive tool for video enthusiasts and professionals alike.
Linux Music Players encompass a diverse range of software tailored for the Linux operating system.
54. Rhythmbox
Rhythmbox possesses the ability to perform all music tasks you throw at it and has so far proved to be a reliable music player that it ships with Ubuntu.
Lollypop is a beautiful, relatively new, open-source music player featuring a number of advanced options like online radio, scrubbing support, and party mode. Yet, it manages to keep everything simple and easy to manage.
Amarok is a robust music player with an intuitive UI and tons of advanced features bundled into a single unit. It also allows users to discover new music based on their genre preferences.
Clementine is an Amarok-inspired music player that also features a straightforward UI, advanced control features, and the ability to let users search for and discover new music.
MOC (Music On Console) is a console audio player for Linux/Unix, designed to be both powerful and user-friendly.
To install Moc in Linux, run:
$ sudo apt install moc [On Debian, Ubuntu and Mint]
$ sudo yum install moc [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/moc [On Gentoo Linux]
$ sudo apk add moc [On Alpine Linux]
$ sudo pacman -S moc [On Arch Linux]
$ sudo zypper install moc [On OpenSUSE]
MOC – Music on Console
Linux Office Suites
Linux Office Suites provide a comprehensive range of productivity tools tailored to the Linux environment.
60. Calligra Suite
The Calligra Suite developed by KDE, is a versatile office and graphic design toolkit that boasts a rich array of tools, encompassing word processing, spreadsheet management, captivating presentations, intricate vector graphics creation, and comprehensive database editing.
LibreOffice is the most actively developed office suite in the open-source community, LibreOffice is known for its reliability and its functions can be increased using extensions.
WPS Office stands out as a streamlined, yet robust office suite that enhances productivity with tools like Writer, Presentation, Spreadsheet, and a dedicated PDF editor, ensuring optimal work efficiency and seamless document management.
To install WPS Office in Linux, visit the official WPS Office website to download the appropriate package for your Linux distribution (typically a .deb file for Debian/Ubuntu or a .rpm file for Fedora/RedHat) and install it.
WPS Office
Linux Screenshot Tools
Linux Screenshot Tools offer a diverse array of utilities designed to capture, annotate, and manage screen captures within the Linux environment.
63. Shutter
Shutter allows users to take screenshots of their desktops and then edit them using filters and other effects coupled with the option to upload and share them online.
Gnome Screenshot was once bundled with Gnome utilities but is now a standalone app. It can be used to take screencasts in a format that is easily shareable.
Linux Screen Recorders offers a diverse set of tools designed specifically for capturing and recording content on your Linux desktop.
66. SimpleScreenRecorder
SimpleScreenRecorder was created to be better than the screen-recording apps available at the time of its creation and has now turned into one of the most efficient and easy-to-use screen recorders for Linux distros.
Kooha is a straightforward screen recording tool designed with an uncluttered interface. With Kooha, recording is a breeze, as you can initiate it with a single click, eliminating the need for extensive configurations.
Key features of Kooha include:
Capture microphone, desktop audio, or both simultaneously.
Support for various formats, including WebM, MP4, GIF, and Matroska.
Choose to record a specific monitor, window, or a defined screen area.
Multiple source selection options for added flexibility.
Configure saving locations, pointer visibility, frame rate, and delay settings.
Experimental support for hardware-accelerated encoding, enhancing performance.
Notepad++ is a versatile text and source code editor that supports multiple programming languages, offers syntax highlighting, and boasts a plugin system for extended functionality, making it a favorite among developers.
To install Notepad++ in Linux, run:
$ sudo snap install notepad-plus-plus
Notepad++
70. Sublime Text
Sublime Text is easily among the most awesome text editors to date. It is customizable, lightweight (even when bulldozed with a lot of data files and extensions), flexible, and remains free to use forever.
Gedit is famous for its simplicity and it comes preinstalled with many Linux distros because of its function as an excellent general-purpose text editor.
Linux To-Do List Apps are specialized software tools designed for the Linux operating system to help users manage, organize, and prioritize their tasks and daily activities.
73. Evernote
Evernote is a cloud-based note-taking productivity app designed to work perfectly with different types of notes including to-do lists and reminders.
Everdo is a beautiful, security-conscious, low-friction Getting-Things-Done app productivity app for handling to-dos and other note types.
If Evernote comes off to you in an unpleasant way, Everdo is a perfect alternative.
To install Everdo in Linux, download the Everdo AppImage, make the file executable, and run it as shown.
$ chmod +x Everdo*.AppImage
$ ./Everdo*.AppImage
Everdo – Best GTD App
75. Org Mode
Org Mode is a GNU Emacs major mode for convenient plain-text markup and other tasks such as keeping notes, planning projects, authoring documents, maintaining to-do lists, etc., in a fast and effective plain-text system.
Org is bundled with GNU Emacs distributions, so most users can simply activate it without needing a separate installation and start exploring its features.
Org Mode for Emacs
76. Taskwarrior
Taskwarrior is an open-source and cross-platform command-line app for managing tasks. It is famous for its speed and distraction-free environment.
Obsidian is a powerful note-taking software that emphasizes linking thoughts and building a knowledge base. Its unique graph view visualizes connections, while its markdown support ensures flexibility and longevity for your notes.
To install Obsidian in Linux, download the Obsidian AppImage, make the file executable, and run it as shown.
VLC is my favorite video player and it’s so awesome that it can play almost any audio and video format you throw at it. You can also use it to play internet radio, record desktop sessions, and stream movies online.
Kodi is among the world’s most famous media players and it comes as a full-fledged media center app for playing all things media whether locally or remotely.
Install Kodi on Ubuntu and Debian, using the following commands.
SMPlayer is a GUI for the award-winning MPlayer and it is capable of handling all popular media formats; coupled with the ability to stream from YouTube, Chromecast, and download subtitles.
Install SMPlayer on Ubuntu and Debian, using the following commands.
Linux Virtualization Tools are specialized software solutions designed for the Linux ecosystem to create, manage, and run virtual machines (VMs) on a host system.
82. Qemu
Qemu is a generic, free, and open-source machine virtualizer and emulator that is capable of running any Operating System on any architecture that it supports.
It runs Xen and KVM virtual machines with near-native performance and enables users to run programs for another Linux/BSD on their machine.
VMware is a digital workspace that provides platform virtualization and cloud computing services to customers and is reportedly the first to successfully virtualize x86 architecture systems. One of its products, VMware workstations allows users to run multiple OSes in virtual memory.
To install VMWare in Linux, download the VMware Workstation Player (.bundle) file, make the file executable, and run it as shown.
Linux Web Browsers are software applications tailored for the Linux operating system to access and navigate the World Wide Web.
85. Chrome
Google Chrome is undoubtedly the most popular browser. Known for its speed, simplicity, security, and beauty following Google’s Material Design trend, Chrome is a browser that web developers cannot do without. It is also free to use and open source.
Install Google Chrome on Ubuntu and Debian, using the following commands.
Firefox Quantum is a beautiful, speedy, task-ready, and customizable browser capable of any browsing task that you throw at it. It is also free, open-source, and packed with developer-friendly tools that are easy for even beginners to get up and running with.
Vivaldi is a free and open-source Chrome-based project that aims to perfect Chrome’s features with a couple of more feature additions. It is known for its colorful panels, memory-friendly performance, and flexibility.
To install Vivaldi in Linux, visit the official Vivaldi website and download the RPM or DEB package suitable for your system, and install it as shown.
Opera is a versatile and innovative web browser known for its speed, security, and unique features. Originating in Norway, it introduced innovations like built-in ad blocking and free VPN.
Opera emphasizes user-friendly design, and its mobile versions, like Opera Mini, optimize browsing for slower connections.
To install Opera in Linux, visit the official Opera website and download the RPM or DEB package suitable for your system, and install it as shown.
Linux media servers are specialized software solutions designed to store, manage, and stream multimedia content such as videos, music, photos, and more.
89. Plex
Plex is a free and open-source media server software that can stream your personal media library to any device.
To install Plex in Linux, visit the official Plex website download the RPM or DEB package suitable for your system, and install it as shown.
Emby is a versatile media solution that organizes and streams multimedia content. It offers a rich interface, live TV support, and mobile sync.
Emby ensures personalized experiences with user profiles and parental controls, bridging the gap between online content and personal media collections seamlessly.
To install Emby in Linux, visit the official Emby website download the RPM or DEB package suitable for your system, and install it as shown.
Jellyfin is an open-source alternative to proprietary media servers that allows users to organize, manage, and stream their multimedia collections.
Being community-driven, it ensures data privacy, offering a customizable interface and plugins. It’s a go-to for those seeking a free, transparent, and adaptable home entertainment solution.
To install Jellyfin in Linux, you can use Flatpak or Snap packages as shown.
$ flatpak install flathub com.github.iwalton3.jellyfin-media-player
$ flatpak run com.github.iwalton3.jellyfin-media-player
Or
$ snap install jellyfin
Jellyfin Media System
Miscellaneous Software
Explore a diverse selection of Linux tools and applications, spanning various categories and purposes.
92. Synergy (Mouse and Keyboard Sharing)
Synergy is ideal for computer users who enjoy using more than one screen. It’s neither open-source nor is it a free app but it is the best app in its category available for Linux as far as I know so you might want to check it out.
Synergy – Share one mouse & keyboard across computers
93. ODrive (Google Drive Client)
ODrive combines your cloud storage services into one shareable encrypted account that you can access with a single password. Changes are synced across all accounts automatically and you can share files with anyone using web links.
ODrive – Google Drive GUI
94. FreeCAD (3D Modelling & Design)
FreeCAD is a full-featured open-source OpenCasCade-based mechanical engineering and product design tool that is customizable and can have its functionality extended with the use of plugins.
FreeCAD – 3D Parametric Modeler
95. Exaile Music Player
Exaile offers a music player featuring an intuitive interface and robust music management functions. Enjoy automatic album art and lyrics retrieval, internet radio streaming, tabbed playlists, smart playlists with advanced filtering, and more.
Exaile – Music Player
96. GitBook Editor
GitBook Editor is a well-designed free, open-source, and cross-platform desktop client developed for GitBook by GitHub. Try it out if you intend on using version control when you write your next publication.
GitBook Editor
Conclusion
That concludes our list for today. Did I skip a famous title? Tell me about it in the comments section below.
In Linux and other Unix-like operating systems, the init (initialization) process is the first process executed by the kernel at boot time, which has a process ID (PID) of 1, that is executed in the background until the system is shut down.
The init process starts all other Linux processes, that is daemons, services, and other background processes, therefore, it is the mother of all other processes on the system.
A process can start many other child processes on the system, but if a parent process dies, init becomes the parent of the orphan process.
Linux init Systems (1992-2015)
Over the years, many init systems have emerged in major Linux distributions and in this guide, we shall take a look at some of the best init systems you can work with on the Linux operating system.
1. System V Init
System V (SysV) is a mature and popular init scheme on Unix-like operating systems, it is the parent of all processes on a Unix/Linux system. SysV is the first commercial Unix operating system designed.
Almost all Linux distributions first used the SysV init scheme except Gentoo which has a custom init and Slackware which uses the BSD-style init scheme.
As years have passed by, due to some imperfections, several SysV init replacements have been developed in the quest to create more efficient and perfect init systems for Linux.
Although these alternatives seek to improve SysV and probably offer new features, they are still compatible with original SysV init scripts.
2. SystemD
SystemD is a relatively new init scheme on the Linux platform. Introduced in Fedora 15, it is an assortment of tools for easy system management. The main purpose is to initialize, manage, and keep track of all system processes in the boot process and while the system is running.
Systemd init is comprehensively distinct from other traditional Unix init systems, in the way it practically approaches system and services management. It is also compatible with SysV and LBS init scripts.
It has some of the following eminent features:
Clean, straightforward, and efficient design
Concurrent and parallel processing at bootup
Better APIv
Enables removal of optional processes
Supports event logging using journald
Supports job scheduling using systemd calendar timers
Storage of logs in binary files
Preservation of systemd state for future reference
Better integration with GNOME plus many more
3. Upstart
Upstart is an event-based init system developed by the makers of Ubuntu as a replacement for the SysV init system. It starts different system tasks and processes, inspects them while the system is running, and stops them during system shutdown.
It is a hybrid init system that uses both SysV startup scripts and Systemd scripts, some of the notable features of the Upstart init system include:
Originally developed for Ubuntu Linux but can run on all other distributions
Event-based starting and stopping of tasks and services
Events are generated during the starting and stopping of tasks and services
Events can be sent by other system processes
Communication with the init process through D-Bus
Users can start and stop their processes
Re-spawning of services that die abruptly and many more
4. OpenRC
OpenRC is a dependency-based init scheme for Unix-like operating systems, it is compatible with SysV init. As much as it brings some improvements to Sys V, you must keep in mind that OpenRC is not an absolute replacement for the /sbin/init file.
It offers some illustrious features including:
It can run on other many Linux distributions including Gentoo and also on BSD
Supports hardware-initiated init scripts
Supports a single configuration file
No per-service configurations supported
Runs as a daemon
Parallel services startup and many more
5. runit
runit is also a cross-platform init system that can run on GNU/Linux, Solaris, *BSD, and Mac OS X and it is an alternative to SysV init, which offers service supervision.
It comes with some benefits and remarkable components not found in SysV init and possibly other init systems in Linux and these include:
Service supervision, where each service is associated with a service directory
A clean process state guarantees each process a clean state
It has a reliable logging facility
Fast system boot-up and shutdown
It is also portable
Packaging friendly
Small code size and many more
6. s6
s6 offers a compact set of tools for UNIX, tailored for process supervision, similar to daemontools and runit. It facilitates operations on processes and daemons.
Designed as a low-level service administration toolkit, s6 provides diverse tools that can function independently or within its framework. These tools, when combined, deliver robust functionality with minimal code.
As I had earlier mentioned, the init system starts and manages all other processes on a Linux system. Additionally, SysV is the primary init scheme on Linux operating systems, but due to some performance weaknesses, system programmers have developed several replacements for it.
Here, we looked at a few of those replacements, but there could be other init systems that you think are worth mentioning.
kubectl describe [resource-type] [resource-name]: Get detailed information about a resource.
kubectl top [resource-type] [resource-name]: Display resource usage statistics.
Remember to replace placeholders like [resource-type], [resource-name], [pod-name], etc., with your actual resource and object names.
This cheatsheet should help you get started with Kubernetes and serve as a handy reference as you work with containers and orchestration in Kubernetes.