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.