Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What is the evolution of package manager in Linux system

2025-02-25 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/01 Report--

This article to share with you is about the Linux system package manager evolution is how, Xiaobian feel quite practical, so share to everyone to learn, I hope you can read this article after some harvest, not much to say, follow Xiaobian to see it.

Every computer device uses some form of software to perform its intended tasks. Early in software development, products are rigorously tested for bugs and other defects. For the past decade or so, software has been distributed via the Internet with the aim of fixing any bugs by applying new versions of the software. In some cases, each application has its own updater. In other cases, it is up to the user to decide how to acquire and upgrade the software.

Linux early adopted the practice of maintaining a centralized location where users could find and install software.

How was software installed on Linux before package manager?

Historically, software has been delivered either via FTP or via mailing lists (eventually this distribution will include the basic website). Only a few small files contain instructions for creating binary files (usually in tarfiles). You will unzip the file, read the readme file, and as long as you have gcc or some other form of C compiler, you will usually run a./ configure A script with a list of attributes, such as pasting files into library files, creating locations for new binaries, and so on. In addition, the configure process checks your system for application dependencies. If any major requirements are missing, the configuration script exits and installation cannot proceed until all dependencies are satisfied. If the configuration script completes successfully, Makefiles are created.

What's a package?

Software packages were invented to combat this complexity. To facilitate migration and storage, packages collect multiple data files together into an archive file, or simply compress files to reduce storage space. The binaries included in the package are precompiled from normal defaults chosen by the developer. Packages also contain metadata such as the software name, a description of its purpose, a version number, and a list of dependencies required for the software to function properly.

While packages themselves do not directly manage dependencies, they are a big step forward in Linux software management.

What is a software repository?

A few years ago, before the proliferation of smartphones, the idea of building a software repository was difficult for many users to understand if they weren't involved in the Linux ecosystem. So far, most Windows users still seem to need to open a web browser to search for and install new software. Those with smartphones, however, are used to the idea of software "stores." The way smartphone users get software is no different than the way package managers work. Although there have been several attempts to create an attractive UI for software libraries, the vast majority of Linux users still use the command line to install packages. A software repository is a centralized list of all available software for any repository the system is configured to use.

Here is a brief overview of some of the most famous package managers:

RPM-based package manager

Updating RPM-based systems, especially those based on Red Hat technology, has a very interesting and detailed history. In fact, the current versions of Yum (for enterprise distributions) and DNF(for communities) combine several open source projects to provide their current functionality.

Initially, Red Hat used a tool called rpm(Red Hat Package Manager), which is still in use today. However, its primary purpose is to install RPMs, which you own locally, rather than search software repositories. The package manager named up2date was created to notify users of package updates and enable them to search remote repositories and install dependencies easily. While serving its purpose, some community members felt that up2date had some obvious shortcomings.

The current mantra against Yum comes from several different community efforts. Yellowdog Updater (YUP) was developed by Terra Software Solutions personnel in 1999-2001 as a backend engine for graphical installers. Yellow Dog Linux. Duke liked the idea of Yes and decided to improve it. They created the improved Yellow Dog Updater (Yum), which was eventually adapted to help run the Red Hat Linux system at the university. Yum is growing in popularity and it is estimated that by 2005 it will be used by more than half of the Linux market. Today, almost all Linux distributions that use RPM use YUM for package management (with some notable exceptions).

Debian-based package manager

Debian is one of the oldest Linux distributions currently maintained, and its system is very similar to RPM-based systems. They use.deb packets, which can be made up of packets named dpkg. dpkg is very similar to rpm and is therefore designed to manage locally available packages. It does no dependency resolution (although it does dependency checking), and there is no reliable way to interact with remote repositories. To improve the user experience and ease of use, the debian project commissioned a project called god. This code name was eventually abandoned and changed to Advanced Packaging Tool (APT).

ARCH Based Package Manager

ARCH Linux uses the name Parkman. Unlike.deb or.rpm files, Pacman uses more traditional tarball and LZMA2 compression (.tar.xz), which makes Arch Linux packages much smaller than other forms of compressed archives (e.g. gzip). One of Pacman's main strengths is that it supports archery, a system for building packages from source. The build system consists of a file called PKGBUILD that contains metadata (such as version numbers, revisions, dependencies, etc.) and a shell script that contains the flags needed to compile Arch Linux compliant packages. Then package the resulting binary file into the file above. The tar.xz file is for Parkman.

This system led to the creation of ARCH User Library (Aur), a community-driven repository containing PKGBUILD files and supporting patches or scripts. This makes almost endless software available in Arch. The obvious advantage of this system is that if users wish to make software available to the public, they do not need to go through official channels to receive it in the main repository. The downside is that it relies on community management, similar to Docks Hub, CANTEN's Snapshot Pack, or other similar mechanisms. There are many Aur specific package managers that can be used to download, compile, and install from PKGBUILD files in Aur.

Of course, this only scratches the surface of what package managers can do. There are many other package managers that I can't cover in this space. Some distributions, such as Ubuntu or Element OS, have gone to great lengths to provide a graphical approach to package management.

The above is how the evolution of package manager in Linux system is, Xiaobian believes that some knowledge points may be seen or used in our daily work. I hope you can learn more from this article. For more details, please follow the industry information channel.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report