Linux distribution
A Linux distribution (colloquially called distro for short) is a software distribution based on the Linux kernel, and often a Package Management System that includes certain software packages, to meet the needs of a specific group of users, thus giving rise to home, business and server editions. In general, they are composed, totally or mainly, of free software, although they often incorporate proprietary applications or drivers.
In addition to the Linux kernel, distributions typically include the libraries and tools of the GNU Project and the X Window System. Depending on the type of users to whom the distribution is directed, other types of software such as word processors, spreadsheets, multimedia players, administrative tools, etc. are also included.
In the case of including code packages from the GNU project, it is called the GNU/Linux distribution.
There are distributions that are commercially supported, such as Fedora (Red Hat), openSUSE (SUSE) and Ubuntu (Canonical Ltd.); community-maintained distributions such as Debian, Arch Linux, and Gentoo; and distributions that are not related to any company or community, such as Slackware.
History
Before the first distributions came out, a Linux user had to be somewhat of a Unix expert; he not only had to know what libraries and executables he needed to start the system and make it work, but also the important details that are required in the installation and configuration of the files in the system.
Linus Torvalds developed the Linux kernel and distributed its first version, 0.01, in 1991. Initially, Linux was distributed only as source code and later as a couple of downloadable floppy images: one bootable and containing the Linux kernel itself, and the other with a set of GNU utilities and tools for setting up a file system. Since the installation procedure was complicated, especially with the increasing amount of software available, distributions arose to simplify it.
Linux distributions began to emerge soon after the Linux kernel was used by other programmers than the original creators. There was more interest in developing an operating system than in developing applications, user interfaces, or a convenient software package.
Early distributions included:
- H J Lu's Boot-root: Two 5,25-inch floppy disks named Boot-rootwith the core and a minimum of tools to use.
- MCC Interim Linux, which could be downloaded on a FTP public server at the University of Manchester in February 1992.
- TAMU, created by enthusiasts from the University of Texas A strangerM at the same time as SLS
- SLS (Softlanding Linux System) which included the X window system and was the most complete distribution for a short time (1992)
- Yggdrasil Linux created the first CD-ROM of a Linux distribution, being a commercial distribution (December 1992)
SLS was not well maintained; so Patrick Volkerding released a distribution based on SLS which he called Slackware ; released on July 16, 1993. This is the oldest distribution that is in active development.
Users saw Linux as an alternative to DOS operating systems, Microsoft Windows on the PC platform, Mac OS on the Apple Macintosh, and licensed (paid) versions of UNIX. Most of these early adopters had become familiar with the UNIX environment at work or school. They adopted GNU/Linux for its stability, low (or no) cost, and for the availability of the source code of the included software.
Distributions were originally a matter of convenience for the average user, avoiding installing (and in many cases compiling) separately commonly used packages, but today they have become popular even among experts in this type of operating system (UNIX/Linux). Although Linux has historically been better positioned in the server market, distributions focused on ease of installation and use, such as Fedora, Mandriva, OpenSuSE, Knoppix and Ubuntu, among others, have achieved greater acceptance in the home market..
Components
The typical set of a Linux distribution contains a kernel, tools and libraries, additional software, documentation, a window system, a window manager and a desktop environment, this is usually GNOME or KDE. Much of the included software is open source or free software and distributed by its developers in both compiled binary and source code form, allowing its users to modify or compile the original source code if they wish. Many distributions include proprietary software, not available in source code form.
Many distributions provide a graphical installation system like other modern operating systems do. Independent distributions such as Gentoo Linux, T2, and Linux From Scratch provide the source code for all software and only include the kernel binaries, build tools, and an installer; the installer compiles all the software for the specific CPU of the user's PC.
Package Management
Distributions are divided into "packages". Each package contains a specific application or service. Examples of packages are a library for handling the PNG image format, a collection of fonts, or a web browser.
The package is generally distributed in its compiled version and the installation and uninstallation of packages is controlled by a package management system rather than a simple file manager. In this case, each package built for that package system contains meta-information such as creation date, package description and its dependencies. The package system analyzes this information to allow searching for packages, updating installed libraries and applications, checking that all dependencies are met, and obtaining them if they are not available automatically.
Some of the most commonly used packaging systems are:
- RPM, created by Red Hat and used by a large number of Linux distributions, is the Linux Standard Base package format. Originally introduced by Red Hat, but it is now used in many distributions, such as Mandriva.
- Deb, Debian packages, originally introduced by Debian, but also used by others like Knoppix and Ubuntu.
- .tgz, used by Slackware, package the software using jar and gzip. But there are also some higher-level tools to deal with this format: slapt-get, slackpkg and swaret.
- Ebuilds, file that contains information about how to get, compile and install a package on the Portage system of Gentoo Linux with the pop-up command. These facilities are usually based on the compilation of sources, although some binary packages can be installed this way.
- Pacman, for Arch Linux, uses pre-compiled binaries distributed in a file .pkg.tar.gz or .pkg.tar.xz.
- PET, used by Puppy Linux, its derivatives and Quirky, its brother project.
Although distributions almost always come with much more software than proprietary systems, on occasion some users may install software that was not included in the distribution. An example could be installing an experimental version of one of the distribution's applications or some alternative (such as using a KDE application within GNOME or vice versa). If the software is distributed in source code form only, it will require computer compilation. However, if the program is compiled, the package will not be registered by the package manager and therefore cannot be controlled by it. This means that the computer administrator will have to take additional steps to keep the software up to date. The package manager will not be able to do this automatically.
Most distributions install packages, including the Linux kernel and other fundamental pieces of the operating system with a preset configuration. This makes installation easier, especially for new users, but it is not always acceptable, as there are programs that must be carefully configured to be functional, to work correctly with another application, or to have robust security. In these cases, administrators are forced to spend time reconfiguring and patching software supported by the distribution.
In other distributions the installation can be very slow, since it is possible to adjust and configure most or all of the software included in the distribution. Not all do. Some offer configuration tools to help with the process.
It is also possible to build a custom system in its entirety, ruling out even the use of a distribution. The first thing to do is generate a base system that allows you to get, compile, configure and install the source code. Generating the binaries for this base system will require another machine that is capable of generating the binaries for the desired device, this can be achieved by cross-compiling. See for example Linux from Scratch.
Types and trends
In general, Linux distributions can be:
- Commercial or non-commercial.
- Be completely free or include proprietary software.
- Designed for use at home or in companies.
- Designed for servers, desktops or embedded devices.
- Orientated to regular users or advanced users.
- General use or for highly specialized devices, such as firewall, router or computer cluster.
- Designed and even certified for specific hardware or architecture.
- Orientated towards specific groups, for example through the internationalization and localization of language, or by the inclusion of several packages for musical production or for scientific computation.
- Configured especially to be safer, complete, portable or easy to use.
- Supported under different types of hardware.
The diversity of Linux distributions is due to technical issues, organization and different points of view between users and providers. The free software licensing mode allows any user with sufficient knowledge and interest to adapt or design a distribution according to their needs.
Rolling Release Distributions
Rolling release distributions, rolling release (in English), such as Arch Linux, are kept up to date by small and frequent updates
Repositories of rolling release distributions often contain very recent software releases, often the latest stable versions available. They have pseudo-releases and installation media that are simply snapshots, snapshots (in English), of the distribution at the time of release from the installation image. A rolling release operating system installed from previous installation media can usually be fully upgraded after it is installed.
In terms of the software development process, standard releases require significant development effort to keep older releases up to date by propagating bug fixes to the newest branch, rather than focusing on the latest development branch.. Also, unlike rolling releases, standard releases require more than one branch of code to develop and maintain, increasing workloads for software developers and maintainers.
On the other hand, software features and technology planning are easier in standard releases due to a better understanding of upcoming features in the next release(s). Software release cycles can also be synchronized with those of major upstream software projects, such as desktop environments.
In terms of user experience, standard versions are often considered more stable and bug-free, as software conflicts can be more easily addressed and the software stack is more thoroughly tested and evaluated during development. software development cycle. For this reason, they tend to be the preferred choice in enterprise environments and mission-critical tasks.
However, rolling release versions offer more current software that can also provide greater stability and fewer software bugs along with the added benefits of new features, increased functionality, faster execution speeds, and improved system security and the application. With respect to software security, the rolling release model may have advantages in timely security updates, bug fixes, and system or application security vulnerabilities, than standard releases may have to wait until the next release. or patch in several versions. In a rolling release distribution, where the user has chosen to run it as a highly dynamic system, the constant stream of software packages can introduce new, unwanted vulnerabilities.
Distributions that do not require installation (Live CD)
A live distribution or Live CD or Live DVD, more generically Live Distro, (sometimes translated as live CD or stand-alone CD), is a distribution stored on removable media, traditionally a CD or DVD (hence their names), which can be run from it without need to install it on a computer's hard drive, for which it uses RAM memory as a virtual hard drive and the media itself as a file system.
When the operating system is run by a read-only device such as a CD or DVD, the user needs to use a USB flash drive or hard drive installed on the machine to retain their information between sessions. The operating system information is usually loaded into RAM memory.
The portability of these types of distributions makes them ideal for use in demos, recovery operations, when using a third-party machine, or as installation media for a standard distribution. Currently, almost all distributions have a stand-alone or "live" CD/DVD version.
Development
Community
Most distributions are, to a greater or lesser extent, developed and run by their developer and user communities. In some cases they are run and funded entirely by the community, as is the case with Debian GNU/Linux, while others maintain a commercial distribution and a community version, as RedHat does with Fedora, or SuSE does with OpenSuSE.
In many cities and regions, local associations known as user groups promote this operating system and free software. They usually offer free conferences, workshops or technical support or an introduction to installing Linux for new users.
In distributions and other free and open source software projects, IRC chat rooms and newsgroups are very common. Forums are also common, especially in user support, and mailing lists are often the primary means of discussing development, although they are also used as a means of user support.
Scale of development
A study of the Red Hat 7.1 distribution revealed that this particular distribution contains over 30 million lines of actual code. Using the COCOMO cost calculation model, it can be estimated that this distribution would require 8000 programmers per year for its development. Had it been developed by conventional closed-source means, it would have cost over $1 billion in the United States.
Most of its code (71%) was in the C language, but many other languages were used for its development, including C++, Bash, Lisp, Assembly, Perl, Fortran, and Python.
In addition, the predominant license for about half of its total code (counted in lines of code) was the GPL version 2.
The Linux kernel then contained 2.4 million lines of code, which represented 8% of the total.
In a later study, the same analysis was performed for Debian GNU/Linux version 2.2. This distribution contained more than 55 million lines of source code, and would have cost 1.9 billion dollars (year 2000) to develop by conventional means (not free); the Linux kernel as of October 2003 has about 5.5 million more lines.
Linux distributions (based or standalone)
Popular Distributions
The most popular Linux distributions include:
- Arch Linux, a distribution based on the KISS principle, with a continuous development system between each version (it is not necessary to reinstall the entire system to update it).
- Canaima, is an open socio-tech project, built collaboratively, developed in Venezuela and based on Debian.
- CentOS, a distribution created from the same Red Hat system code but maintained by a volunteer developer community.
- Debian, a distribution maintained by a network of volunteer developers with a great commitment to the principles of free software.
- Dragora and Trisquel, which acquire importance among the distributions that only contain free software.
- Elementary OS It is a Linux distribution based on Ubuntu 12.04
- Fedora, a distribution launched by Red Hat for the community.
- Gentoo, an advanced user-oriented distribution, known for similarity in your package system with the FreeBSD Ports, a system that automates the compilation of applications from your source code.
- Huayra, educational distribution, developed by the Argentine state, from the Anses / Programa Conectar Equality. It is based on Debian Jessie with MATE desktop environment.
- Knoppix, was the first live distribution to run completely from a removable medium. It's based on Debian.
- Kubuntu, the KDE Plasma version of Ubuntu.
- Linux Mint, a popular distribution derived from Ubuntu.
- Manjaro Linux is a fast, easy-to-use and desktop-oriented distribution based on Arch Linux.
- Mageia, created by former Mandriva workers, very much like their precursor.
- Mandriva, maintained by the French company of the same name, was a popular system in France and Brazil. It was based on Red Hat.
- openSUSE, originally based on Slackware is currently sponsored by SUSE (Micro Focus International).
- PCLinuxOS, derived from Mandriva, became a small project to a popular distribution with a large community of developers.
- Puppy Linux, version for old equipment or with few resources weighing about 130 MiB.
- Red Hat Enterprise Linux, derived from Fedora, is commercially maintained and supported by Red Hat.
- Slackware, one of the first Linux distributions and the oldest in operation. It was founded in 1993 and has since been actively maintained by Patrick J. Volkerding.
- Slax, it is a small, modern, fast and portable system with modularity. It's based on Slackware.
- Tuquito Based in Ubuntu, it was a distribution developed in Argentina with good graphical interfaces and universal drivers. It was recommended for initial users.
- Trisquel Distribution 100% free, uses the Linux-Free kernel and is suitable for end users.
- Ubuntu, a popular Debian-based desktop layout and maintained by Canonical.
- Zorin OS, Ubuntu-based distribution and Windows users who want to move to Linux as easy and as easy as possible.
- Void Linux, a flourishing distribution created from zero that uses runit as an init system.
The DistroWatch website offers a list of the most popular distributions; the list is based mainly on the number of visits, so it does not offer very reliable results about the popularity of the distributions.
Specialized distributions
Other distributions specialize in specific groups:
- 64 Studio, a Debian-based distribution designed for multimedia editing.
- ABC GNU/Linux, distribution for the construction of Beowulf clusters developed by Iker Castaños Chavarri, University of the Basque Country.
- Kali Linux, Debian-based distribution and specialized in network security.
- BackTrack, Ubuntu-based distribution and specialized in network security.
- WiFiSlax, Slackware-based distribution and specialized in network security.
- Wifiway, Ubuntu-based distribution and specialized in network security.
- Debian Med, Debian Med is a medical practice and biomedical research distro.
- Edubuntu, a Ubuntu project system designed for educational environments.
- Emmabuntüs is designed to facilitate the refurbishment of computers donated to Emmaus communities.
- Fedora Electronic Lab, distribution based on Fedora and specialized in electronic development.
- GeeXbox, fast and light distribution aimed at multimedia centers.
- ICABIAN, in Live USB format is designed for technical users as it contains a variety of programs for science and engineering.
- LULA, academic distribution for universities. LULA Project.
- mkLinux, Yellow Dog Linux or Black Lab Linux, targeting Macintosh users and the PowerPC platform.
- Musix, a distribution of Argentina for musicians.
- MythTV, geared for multimedia equipment or digital video recorders.
- OpenWrt, designed to be powered on routing devices.
- Scientific Linux, distribution for scientific development based on Red Hat.
- UberStudent, distribution dedicated to education and based in Ubuntu.
Gallery
Contenido relacionado
FLAC
Portage (software)
Bogie