No Windows, particularmente as versões mais antigas, era comum os programas armazenarem arquivos de configuração e dados não constantes no diretório C:\Program Files
. Isso é derivado de como os programas geralmente eram instalados e executados sob o DOS de usuário único, sem rede, sem permissão de arquivo.
Do ponto de vista da segurança, esta é uma má ideia. Locais onde o código executável deve ser separado dos dados modificáveis. Dessa forma, é mais fácil aplicar permissões de arquivo apropriadas para impedir a modificação de binários instalados por usuários não autorizados. Da mesma forma, os diretórios de bibliotecas que podem ser atualizados separadamente dos executáveis principais também devem estar em um diretório separado.
Com o advento dos aborrecimentos do Vista e do UAC, esta tradição está finalmente começando a perder seriamente a tração.
UNIX, e Linux, sendo um sistema multiusuário de muito antes, tinham a tendência de separar diretórios executáveis de outros diretórios muito antes, já que era necessário impedir que outros usuários que não o root modifiquem os binários instalados. É também por isso que /usr
e mesmo /sbin
são, por vezes, partições separadas - um administrador particularmente consciente da segurança pode montar essas partições readonly e remontá-las para leitura / gravação quando é necessário instalar / desinstalar.
Os pacotes geralmente são instalados de um gerenciador de pacotes. Existem vários gerenciadores de pacotes, como aptitude
(distribuições Debian e derivada), yum
(Redhat e distribuições derivadas), pacman
(esqueça qual distro é essa ...) e outros.
O gerenciador de pacotes permite que você navegue por repositórios, baixe, instale, consulte e remova softwares, da mesma forma que uma sofisticada (e gratuita) "loja de aplicativos". Assume a responsabilidade de garantir que as dependências sejam atendidas e rastreie o que está atualmente instalado.
Normalmente, o gerenciador de pacotes também permite as mesmas operações em um pacote que você baixou manualmente fora de qualquer repositório. As ferramentas também estão disponíveis se você quiser criar o seu próprio software que você criou ou compilou.
Como o pacote em si NÃO é um arquivo executável, você não precisa executar um executável não confiável, que você realmente não sabe o que ele faz. (O Windows finalmente está chegando com as atualizações distribuindo .msu
em vez de .exe
- mas .msi
está por aí há algum tempo ...)