Se você realmente quiser gerenciar todo o seu sistema (incluindo a versão do kernel) como o git, você está procurando NixOS .
Para uma versão menos envolvida, você pode usar o gerenciador de pacotes do NixOS, nix, de quase qualquer unix. O Nix pode ser instalado como um usuário simples, embora seja mais fácil instalá-lo como root. Depois que o nix for instalado, você poderá usá-lo para instalar pacotes como um usuário não privilegiado e ele será executado bem ao lado do gerenciador de pacotes existente, sem conflitos. Também é muito fácil remover completamente o nix do seu sistema, então não há realmente nenhuma desculpa para não experimentá-lo. ; -)
Para abordar diretamente sua pergunta, o Nix define seu sistema instalado completo como um ambiente, que é muito semelhante a um git commit, um ponteiro para um conjunto de ponteiros para versões muito específicas de todos os pacotes instalados.
Quando o Nix atualiza um pacote, ele cria um novo ambiente, que aponta para um novo conjunto de ponteiros para pacotes (principalmente para os existentes, para pacotes que não foram atualizados; novamente, isso é muito semelhante a um novo commit do git , que aponta principalmente para arquivos inalterados anteriores e algumas novas versões de arquivos modificados).
É claro que é trivial mudar para uma versão anterior do ambiente e, acredito, bifurcar (ou seja, criar um novo ambiente baseado em um antigo que seja anterior). Um ambiente pode ser carregado para um shell específico (é, na verdade, o conjunto de variáveis de ambiente disponíveis para um shell, daí o nome), então você também pode facilmente ter diferentes ambientes para diferentes projetos na mesma máquina. Não há mais problemas de dependência porque um projeto não relacionado precisa de outra versão de uma biblioteca!
O NixOS leva isso para o próximo nível e gerencia todo o seu computador, incluindo o kernel, de maneira semelhante, permitindo atualizações de risco muito baixas de toda a máquina.
Ainda não terminei de ler todos eles, mas recomendo pílulas Nix lethalman como uma introdução ao Nix.