Unter Windows, insbesondere in älteren Versionen, war es üblich, dass Programme Konfigurationsdateien und nicht konstante Daten in ihrem C:\Program FilesVerzeichnis speichern . Dies ergibt sich aus der Art und Weise, wie Programme normalerweise unter DOS für Einzelbenutzer ohne Netzwerk und ohne Dateiberechtigung installiert und ausgeführt wurden.
Aus Sicherheitsgründen ist dies eine schlechte Idee. Orte, an denen ausführbarer Code lebt, sollten von veränderbaren Daten getrennt werden. Auf diese Weise ist es einfacher, geeignete Dateiberechtigungen anzuwenden, um zu verhindern, dass nicht autorisierte Benutzer Änderungen an installierten Binärdateien vornehmen. Ebenso sollten sich Bibliotheksverzeichnisse, die möglicherweise getrennt von den ausführbaren Hauptdateien aktualisiert werden, in einem separaten Verzeichnis befinden.
Mit dem Aufkommen von Vista und UAC-Ärgernissen verliert diese Tradition endlich ernsthaft an Traktion.
UNIX und Linux, die von Anfang an ein Mehrbenutzersystem waren, hatten die Tendenz, ausführbare Verzeichnisse viel früher von anderen Verzeichnissen zu trennen, da andere Benutzer als root daran gehindert werden mussten, installierte Binärdateien zu ändern. Dies ist auch der Grund /usrund /sbinmanchmal sogar separate Partitionen. Ein besonders sicherheitsbewusster Administrator kann diese Partitionen schreibgeschützt bereitstellen und sie beim Lesen / Schreiben erneut bereitstellen, wenn eine Installation / Deinstallation erforderlich ist.
Pakete werden normalerweise von einem Paketmanager installiert. Es gibt verschiedene Paketmanager wie aptitude(Debian und abgeleitete Distributionen), yum(Redhat und abgeleitete Distributionen), pacman(vergessen Sie, welche Distribution dies ist ...) und andere.
Mit dem Paketmanager können Sie Repositorys durchsuchen, Software herunterladen, installieren, abfragen und entfernen, ähnlich wie in einem hoch entwickelten (und kostenlosen) "App Store". Es übernimmt die Verantwortung dafür, dass Abhängigkeiten berücksichtigt werden und verfolgt wird, was aktuell installiert ist.
Normalerweise erlaubt der Paketmanager dieselben Vorgänge auch für ein Paket, das Sie manuell außerhalb von Repositorys heruntergeladen haben. Tools sind auch verfügbar, wenn Sie Ihre eigene Software erstellen möchten, die Sie selbst erstellt oder kompiliert haben.
Da das Paket selbst KEINE ausführbare Datei ist, müssen Sie keine nicht vertrauenswürdige ausführbare Datei ausführen, von der Sie nicht wirklich wissen, was sie tut. (Windows kommt endlich mit Updates durch das Verteilen von .msu's anstelle von .exe' s - aber es .msigibt schon eine Weile ...)
rpm, könnenrpm -q --whatprovidesSie den Paketnamen für eine bestimmte Datei ermitteln und dannrpm -q -aherausfinden, welche Dateien ein Paket installiert hat.