Por que o apt-get requer o sudo?
Nem sempre. Você pode usar perfeitamente apt-get sem sudo . Há casos em que você não precisa de sudo , como usar apt-get download , que baixa um pacote para seu diretório atual , apt-get source que baixa os arquivos de origem debian em seu diretório atual, changelog , que baixa e imprime o changelog de um determinado pacote, e qualquer comando que tenha o --simulate / --dry-run / --no-act (no caso de install , você também precisa de --no-download ).
Isso ocorre porque essas ações / comandos não exigem a gravação de diretórios do sistema.
Agora, por que apt-get precisa de sudo ? Na verdade isso não acontece. Você pode usar o apt-get, baixar um pacote com wget e usar dpkg --extract e extrair o pacote no diretório que desejar. Há também --instdir , que deve funcionar apenas para o pacote binário.
Agora, por que isso não é o padrão? Porque é uma dor. Para fazer o que você deseja, precisaríamos reempacotar cada pacote duas vezes, um para o caminho certo e outro para fazer o que você deseja. No build, os binários normalmente precisam saber onde estão os arquivos e bibliotecas de que precisam (em alguns casos, isso é codificado na compilação).
Agora, o que você pode fazer? Apenas chroot algum ambiente a la virtualenv, onde você pode instalar pacotes sem raiz.
Resumo, este não é o modo pelo qual o apt-get foi feito para ser usado, e eu não conheço outro gerenciador de pacotes similar ao apt-get que permita que você faça isso. No final do dia, apt-get é apenas um front-end para o dpkg, que poderia fazer um pouco disso.