¿Cuáles son las principales diferencias entre los diferentes gestores de paquetes?

En mi opinión, hay dos tipos de gestores de paquetes: específicos del idioma y específicos de la distribución.

Los gestores de paquetes específicos del idioma como RubyGems, Python setuptools and distribution , Node’s npm , PHP’s PEAR y PECL, y probablemente otros parecen menos maduros que sus abuelos específicos de la distribución. En mi opinión, todos sufren porque intentan admitir Windows.

Los gestores de paquetes específicos de la distribución, como apt / dpkg , yum , portage y ports, son paquetes de software más antiguos y totalmente integrados que están profundamente integrados en una distribución particular del sistema operativo. Hay patos extraños como el portage de Gentoo que construyen todo desde la fuente. dpkg se encarga de eliminar de forma segura los archivos binarios de setuid para evitar una exposición prolongada después de un incidente de seguridad: ¿cuántos administradores de paquetes de idiomas específicos piensan en eso?

El panorama general es un tipo de problema de expresión. Algunos optan por admitir una clase de paquete relativamente estrecha en tantas plataformas como sea posible. Otros optan por admitir todos los paquetes posibles en una clase de plataforma.