Dependency resolution with apt-get and apt Evolutionary Tale

While Debian did not originate dependency resolution in Linux, it was the first major distribution to develop it to modern standards. As early as 1994, Debian was using dpkg, a low-level front end for libapt-pkg that freed package installation from dependency hell – the seemingly endless effort to provide all necessary dependencies for a new package. Debian even took the problem one step further, adding suggested packages: Those that enhanced a package but were not strictly necessary for basic functionality. Although universal today, at the time dependency resolution was so unusual that other developers joked that Debian coders ordered lunch by typing apt‑get sandwich. For ease of use, dpkg was soon supplemented by the even higher level apt‑get command, although dpkg is still used for installation of local packages. Since those early days, apt‑get has given rise to an entire ecosystem of utility scripts. In the past decade, the ecosystem became so complex that Ubuntu released apt, a simpler version of apt‑get aimed at beginners or casual users. Today, Debian package management has become a comprehensive system that continues to evolve, but one whose intricacies can sometimes be overwhelming.
apt-get vs. apt
This story is from the #285/August 2024: Kernel Exploits edition of Linux Magazine.
Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.
Already a subscriber ? Sign In
This story is from the #285/August 2024: Kernel Exploits edition of Linux Magazine.
Start your 7-day Magzter GOLD free trial to access thousands of curated premium stories, and 9,000+ magazines and newspapers.
Already a subscriber? Sign In

MADDOG'S DOGHOUSE
Planning and community effort can help welcome Linux beginners online without precluding more advanced discussions.

Cash as Cash Can
Mike Schilli uses the YNAB tool to keep an eye on his finances. Until recently, YNAB didn't have a terminal Ul programmed in Go, but Mike delivers it here.

Innovator
Re-inventing the Ubuntu experience

Play video games natively on Linux Gaming Your Way
Bazzite, an immutable Linux distro adapted for gaming, lets you play your favorite video games on your PC, handheld, or home theater PC.

Installing mods on Steam Deck Steam Gems
The Steam Deck gaming console offers a galaxy of creative modifications for the games you love to play.

Zack's Kernel News
Chronicler Zack Brown reports on the latest news, views, dilemmas, and developments within the Linux kernel community.

System Monitoring
Mission Center, a graphical system monitor, groups all important system statuses in a compact, intuitive interface.

Exploring the Unbound DNS resolver Unbound
The Unbound DNS resolver offers comprehensive security and many other useful features.

MakerSpace
If you need to store long-term historical data, you can cobble together some Arduino modules, sensors, and displays and get them all to talk to an SQL server.

Mix It Up
Solve Bash blind spots by embedding other scripting languages into your Bash scripts to get the features you need. Pete shows you solutions for floating-point math, charting, GUIs, and hardware integration.