40 Must Know Linux related Terminologies
If you have been using any of the Linux distributions or intend to, you must be aware of the terminologies related to it. Therefore, with an objective to familiarize you with the new terms or the terms that you have heard of, I have tried my best to compile these 40 basic terminologies related to Linux.
Alien is a computer program that supports conversion between different Linux package formats. For example, it helps conversion between Linux Standard Base, RPM, deb, Stampede (.slp), Solaris (.pkg) and Slackware (.tgz) packages. It is also capable of automatically installing the generated packages, and can try to convert the installation scripts included in the archive as well.
# alien --to-rpm --scripts ./test.deb (test.deb converted to test.rpm)
Apache HTTP Server
The Apache HTTP Server commonly referred to as Apache is an open-source HTTP server for modern operating systems including Linux and Windows NT. It is also notable for playing a key role in the initial growth of the World Wide Web.
Now the application is available for a wide variety of OS, including UNIX, GNU, FreeBSD, Solaris, Novell NetWare, Mac OS X, Microsoft Windows, OS/2, TPF, and eComStation.
The Advanced Packaging Tool, or APT, is a free user interface that works with core libraries to handle the installation and removal of software on the Debian GNU/Linux distribution and its variants.
In the process of managing , APT automates the retrieval, configuration and installation of software packages, either from binary files or by compiling source code.
APT was originally designed as a front-end for dpkg to work with Debian’s .deb packages, but it has since been modified to also work with the RPM Package Manager system via apt-rpm.
A console is a computer program which acts as a medium to communicate with the computer via a text-only computer interface, such as a text terminal ot the command line interface of some operating systems (Unix etc).
In some GUI operating systems, such as Microsoft Windows, it is included as text-based interface.
A daemon is basically a computer program that runs in a background and is normally initiated as background processes. They come in handy while installing packages.
Daemons are normally executed at boot time. They often serve the function of responding to network requests, configure hardware, and run scheduled tasks.
This term was coined by the programmers of MIT’s Project MAC.
e.g. cron, httpd, chttpd, ftpd etc.
Among most Linux distributions, there are basically two major software packaging, RPM and DEB. A Debian package will automatically resolve dependencies, installing any other needed packages instead of simply reporting their absence, like RPM does.
Debian Packages are named with the software name, the version number, and the .deb extension.
The DEB format is much more capable than its RPM counterpart.
When referring to packages, dependencies are requirements that exist between packages.
For example, if you are installing a package, it may require files that are installed by another package. Therefore the other package must be installed or else the previous package will have unresolved dependencies.
RPM will not normally allow packages with unresolved dependencies to be installed.
The Dynamic Host Configuration Protocol (DHCP) is an auto-configuration protocol used on IP networks. Auto-configuration in a sense that DHCP allows a computer to be configured automatically, eliminating the need for intervention by a network administrator.
It also provides a central database for keeping track of computers that have been connected to the network. This prevents two computers from accidentally being configured with the same IP address.
Debian Package Tool (dpkg) is the software which is used to install, remove, and provide information about .deb packages.
Firewall is a device or set of devices and protocols that separates network traffic, usually on the basis of a set of rules to allow only certain traffic through
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. The compiler handles C programming language and now extended to compile C++. GCC has been adopted as the standard compiler by GNU/Linux, the BSD family and Mac OS X.
GCC is also available for most embedded platforms, for example Symbian, AMCC and Freescale Power Architecture-based chips.
GNU Network Object Model Environment is a desktop environment—a graphical user interface that runs on top of a computer operating system—composed entirely of free and opens source software. GNOME is part of the GNU Project.
It can be used with GNU/Linux
GNU is a Unix-like computer operating system developed by the GNU project. It is free software and contains no UNIX code.
GNU Compiler Collection (GCC), the GNU Binary Utilities (binutils), the bash shell, the GNU C library (glibc), and GNU Core Utilities (coreutils) are included in this OS.
The GNU Binary Utilities, or binutils, is a collection of programming tools for the manipulation of object code in various object file formats.
GNU Core Utilities
The GNU Core Utilities or coreutils is a package of GNU software containing many of the basic tools, such as cat, ls, and rm, needed for Unix-like operating systems.
Program include in core utensils : chcon, chgrp, chown, chmod ,cp ,ls, mkdir , mv , rmdir etc.
GNU GRUB (Grand Unified Boot Loader)
GNU GRUB is a boot loader which enables a user to have multiple operating systems. The user can choose which OS to run when the computer starts.
The GNU operating system uses GNU GRUB as its boot loader.
Hypertext Transfer Protocol Secure (HTTPS) is a combination of the Hypertext Transfer Protocol with the SSL/TLS protocol to provide encryption and secure (website security testing) identification of the server.
It uses port 443 whereas HTTP uses port 80.
HTTPS connections are often used for payment transactions on the World Wide Web and for sensitive transactions in corporate information systems.
ipkg, or the Itsy Package Management System, is a package management system designed for embedded devices that tries to resemble Debian’s dpkg.
It is used in the operating system for the Linksys NSLU2 (Optware), in OpenWRT, Openmoko, WebOS, Gumstix, the iPAQ, QNAP NASes, Synology NASes and elsewhere.
KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Windows, Solaris and Mac OS X systems.
It is best known for desktop environment provided as the default working environment on many Linux distributions, such as openSUSE, Mandriva Linux, Kubuntu, Red Flag Linux, and Pardus.
Kernel is a bridge between applications and the actual data processing done at the hardware level. A kernel can provide the lowest-level abstraction layer for the resources (especially processors and I/O devices).
In computing, the kernel is the central component of most computer operating systems.
Kopete is a multi-protocol, free software instant messaging client. Although it can run in numerous environments, it was designed for and integrates with the KDE desktop environment.
Linux refers to the family of Unix-like computer operating systems using the Linux kernel. Linux can be installed on a wide variety of computer hardware, ranging from mobile phones, tablet computers and video game consoles, to mainframes and supercomputers.
Linux Kernel (released under the GNU General Public License version 2 )
The Linux kernel is an operating system kernel used by the Linux family. It is one of the most prominent examples of free and open source software.
The Linux kernel was initially conceived and created by Finnish computer science student Linus Torvalds in 1991. Many Linux distributions have been released based upon the Linux kernel.
Nautilus is the official file manager for the GNOME desktop. The name is a play on words, evoking the shell of a nautilus to represent an operating system shell.
OpenSSL is an open source implementation of the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols. The core library (written in the C programming language) implements the basic cryptographic functions and provides various utility functions.
OpenSSL is based on SSLeay.
Versions are available for most operating systems including Solaris, Linux, Mac OS X , OpenVMS and Microsoft Windows.
A software package refers to computer software packaged in an archive format to be installed by a package management system or a self-sufficient installer.
Linux distributions are normally segmented into packages. Each package contains a specific application or service.
Examples of packages: a collection of fonts, or a web browser.
Package Management System
A package management system is a collection of tools to automate the process of installing, upgrading, configuring, and removing software packages from a computer .IT is sometimes incorrectly referred to as an installer.
e.g. dpkg, used originally by Debian and now by other systems, uses the .deb format ,
the RPM Package Manager for Red Hat,
YUM, which is used by Fedora, Red Hat Enterprise Linux 5, and Yellow Dog Linux
Pacman for Arch Linux, Frugalware and Lunar Linux, Minix
Smart Package Manager, used by CCux Linux
PETget, used by Puppy Linux
In computer operating systems there are various ways in which the operating system can store and retrieve data from secondary storage for use in main memory. One such memory management scheme is referred to as paging.
A repository is a central place where multiple databases or files are located for distribution over a network, or a repository can be a location that is directly accessible to the user without having to travel across a network.
In Linux terms, A central area for users to collect RPMs/DEBs/etc from.
RPM Package Manager is a package management system. The name RPM refers to two things: software packaged in the .rpm file format, and the package manager itself.
RPM was intended primarily for GNU/Linux distributions; the file format RPM is the baseline package format of the Linux Standard Base.
RPM has been criticized for a lack of consistency in package names and content which can make automatic dependency handling difficult.
A shell is a piece of software that provides an interface for users to an operating system which provides access to the services of a kernel. Operating system shells generally fall into one of two categories: command-line and graphical.
Command-line shells provide a command-line interface (CLI) to the operating system, while graphical shells provide a graphical user interface (GUI).
Security-Enhanced Linux (SELinux) is a Linux feature that provides a mechanism for supporting access control security policies, including U.S. Department of Defense style mandatory access controls, through the use of Linux Security Modules (LSM) in the Linux kernel.
It is not a Linux distribution, but rather a set of modifications that can be applied to Unix-like operating system kernels, such as Linux.
Synaptic Packet Manager
Synaptic Packet Manager is a computer program which is a GTK+ graphical user interface and front-end to the Advanced Packaging Tool for the Debian packages which is used to install, remove and upgrade software packages.
Desktop environments such as KDE and GNOME have programs that pop up a password query box before allowing a user to run commands that would typically require such access.
su ( switch user or substitute user)
su is a Linux command used to run the shell of another user without logging out.
It is commonly used to change to root user permissions for administrative work without logging off.
sudo (super user do) is a program for Unix-like operating systems such as BSD, Mac OS X, and Linux that allows users to run programs with the security privileges of another user (normally the system’s superuser) in a secure manner.
Linux and other Unix-like operating systems use the term “swap” to describe both the act of moving memory pages between RAM and disk, and the region of a disk where the pages are stored on. It is common to use a whole partition of a hard disk for swapping. These partitions are called swap partitions.
Terminal Emulator (tty)
A terminal emulator is a program that emulates a video terminal within some other display architecture. On Unix-like operating systems it is common to have one or more terminal windows connected to the local machine.
A terminal emulator inside a graphical user interface is often called a terminal window.
A web server is a computer program that delivers content, such as web pages, using the Hypertext Transfer Protocol (HTTP), over the World Wide Web.
The term web server can also refer to the computer or virtual machine running the program
X Window System (commonly X or X11)
The X Window System is a computer software system and network protocol that provides a graphical user interface (GUI) for networked computers. It creates a hardware abstraction layer where software is written to use a generalized set of commands, allowing for device independence and reuse of programs on any computer that implements X.
X originated at MIT in 1984.
The Yellowdog Updater, Modified (YUM) is an open-source command-line package-management utility for RPM-compatible Linux operating systems and has been released under the GNU General Public License. There are several other tools which provide graphical user interfaces to yum functionality.