Debian
👉 Overview
👀 What ?
Debian is a free and open-source operating system, which uses the Linux kernel, and the basic tools from the GNU project. It was created by Ian Murdock in 1993, who named it after his then girlfriend Debra and himself, thus 'Deb' and 'Ian'. It's widely recognized for its robustness, reliability, security and the strict adherence to the software freedom principles.
🧐 Why ?
Understanding Debian is crucial because it forms the basis of numerous other distributions, including Ubuntu and Mint, which are some of the most popular Linux distributions. It's also important because it’s a free and open-source software (FOSS), meaning it respects the freedom of its users to run, study, change and distribute the software for any purpose.
⛏️ How ?
To use Debian, you first need to install it. You can download it from the official Debian website, and it has several installation guides to help you through the process. Once installed, you can access a wide range of pre-compiled software in form of packages, catering to the needs of almost all types of users and uses. The package management tools in Debian are also very powerful, allowing for easy installation, upgrading and removal of software.
⏳ When ?
Debian started back in August 1993, and since then it has been continuously evolving and improving. It's used by millions of people around the globe, both in personal and professional contexts, including being used as the base for many other distributions as well as in servers around the world.
⚙️ Technical Explanations
Debian is a comprehensive, free and open-source operating system that utilizes the Linux kernel. The Linux kernel is integral to the operating system as it communicates directly with the hardware of the computer, managing resources and facilitating interactions between the hardware and the software.
Beyond the Linux kernel, Debian employs a multitude of tools and applications from the GNU project, which contribute to its functionality as a complete operating system. The GNU project, initiated in 1983 by Richard Stallman, provides many of the basic tools and designs that make up a Unix-like operating system such as Debian.
A key aspect of Debian's functionality is its package management system, APT (Advanced Package Tool). This system simplifies the process of managing software on the Debian operating system, handling tasks such as the installation and removal of software. The APT system also tracks the versions of all installed packages and their dependencies. Dependencies are packages that need to be installed for a specific package to function correctly.
Debian adheres to a strict policy that includes commitment to software freedom, support for multiple architectures, and adherence to certain technical requirements to ensure quality. The software freedom essentially means that users of Debian have the liberty to run, study, change, and distribute the software for any purpose they choose. This commitment is part of Debian's broader philosophy of promoting user control and freedom.
Support for multiple architectures means that Debian can run on a variety of hardware, from laptops and desktops to servers, making it a versatile choice for many different contexts. Lastly, Debian's commitment to technical requirements ensures a high standard of quality in its functionality and performance.
In summary, Debian is a powerful, versatile, and user-focused operating system that is built on the principles of software freedom, versatility, and quality assurance.
Here are some of the most important commands in Debian with a bit more explanation:
sudo apt-get update
: This command updates the list of available packages and their versions, but it doesn't install or upgrade any of them. It should be executed before installing new packages or upgrading existing ones to make sure you're getting the latest versions.sudo apt-get upgrade
: This command upgrades all the packages on your system to their latest versions. Note that this command doesn't upgrade the system as a whole to a new release. For that, you need to usedist-upgrade
.sudo apt-get install [package]
: This command installs a package. Replace[package]
with the name of the package you want to install.sudo apt-get remove [package]
: This command removes a package. Replace[package]
with the name of the package you want to remove.sudo apt-get autoremove
: This command removes packages that were automatically installed to satisfy dependencies for other packages and are now no longer needed. This is useful for cleaning up the system.sudo apt-get dist-upgrade
: This command upgrades the system by handling changing dependencies with new versions of packages. It intelligently handles the dependencies, so it might remove obsolete packages or add new ones.dpkg --list
: This command lists all installed packages on your system. This is helpful to see what's currently installed on your system.sudo apt-get install -f
: This command fixes broken dependencies. If a previous installation process was interrupted or some dependencies are missing, this command will attempt to correct that.sudo dpkg -i [package.deb]
: This command installs a .deb package file. Replace[package.deb]
with the file path of the .deb package.sudo dpkg -r [package]
: This command removes an installed .deb package. Replace[package]
with the name of the package you want to remove.apt-cache search [keyword]
: This command searches the package database for a specific keyword. Replace[keyword]
with the keyword you're searching for.
These commands provide a good starting point for managing software on Debian. Remember, the terminal is a powerful tool, so be sure to use these commands wisely and responsibly.