Ubuntu’s popularity often makes it the default choice for new Linux users. But there are tons of other Linux operating systems that deserve your attention. As such, I’ve highlighted some Ubuntu alternatives so you can choose based on your needs and requirements—because conformity is boring.
That’s a problem of the package, not the package manager.
Generally this fits with Debian’s philosophy. But regardless I think it’s out-of-scope for why Apt is good. You could make a distro with Apt and not have your packages do this.
I’m not talking about
apt
the CLI tool, but the actual package manager. The plainapt
tool is only designed to be a convenience wrapper for common workflows implemented in other tools.As you correctly pointed out, Apt has the distinction between packages installed as a dependency (“auto installed”) versus packages installed directly (“manually installed”). This is precisely one of the reasons why I consider Apt the best package manager. (Yes, I know other package managers can do this, not all though.)
If you want to install a package as manual, then later mark it as auto, you can do that with
apt-mark
.Are you maintaining a PPA for others?
Frankly, I’ve never run into this problem.
dh_make
helps you create a package that adheres to Debian policy, and there is good reason for Debian to have those policies. But if you’re just packaging something yourself, you don’t have to use it. It’s just a template for new packages.At the end of the day, all you really need to create a deb is to create two files
debian/control
anddebian/rules
. These are the equivalent to a PKGBUILD. The control file specifies all of the dependency metadata, and therules
file contains the install script.The difference in packaging philosophy is that PKGBUILDs are external and they download the upstream sources. On the other hand, in Debian, they rehost the upstream package and add the
debian
directory. This means that building Debian packages is mostly hermetic: you don’t need access to the network.Mostly that it makes super useful distinctions between concepts. But there are other goodies.
I also do appreciate that Debian pre-configures packages to work together with the same set of conventions out of the box. But again, that’s a property of the packages, not of Apt.