it-swarm.com.de

Was ist das Linux-Äquivalent zu C: \ Programme?

Ich verstehe, dass sowohl unter Windows als auch unter Linux und Unix ein Programm | eine Anwendung | Software in einem beliebigen Verzeichnis installiert werden kann. Auch wenn Pakete mit dem Verpackungssystem der Distribution installiert werden, werden die Dateien am richtigen Speicherort abgelegt.

Manchmal fordert eine Softwareinstallation jedoch zur Eingabe eines Pfads zum Ablegen von Dateien auf. Im Falle einer Linux-Distribution, wo ist dieser Standardort (C:\Program Files oder C:\progra~1 äquivalent)? Ist es für verschiedene Distributionen unterschiedlich? Wenn ja, wo wäre das für RHEL, Suse und Ubuntu?

65
Thomas

Das Linux Documentation Project hat ein Beschreibung der Linux-Dateisystemhierarchie , in dem die verschiedenen Ordner und ihre (teilweise historische) Bedeutung erläutert werden.

Wie Xenoterracide bereits betonte /bin und /opt sind die Standardverzeichnisse, die unter Windows mit "Programme" verglichen werden können.

/bin enthält mehrere nützliche Befehle, die sowohl für den Systemadministrator als auch für nicht privilegierte Benutzer von Nutzen sind. Es enthält normalerweise die Shells wie bash, csh usw. und häufig verwendete Befehle wie cp, mv, rm , cat, ls.

( zitiert aus TLDP )

/opt ist für alle Software- und Add-On-Pakete reserviert, die nicht Teil der Standardinstallation sind. Beispielsweise finden Sie hier normalerweise StarOffice-, Kylix-, Netscape Communicator- und WordPerfect-Pakete.

( zitiert aus TLDP )

60
Axel Knauf

Es gibt kein direktes Äquivalent. Die Verzeichnisstruktur ist sehr unterschiedlich. Unter Windows haben Sie für jedes installierte Paket/jede installierte Software ein einziges Verzeichnis, das alle zugehörigen Dateien enthält (z. B. C:\Program Files\MyProgram). Unter Linux ist jede Software je nach Dateityp und einer anderen Regel in vielen Verzeichnissen "verteilt".

Als Beispiel können wir untersuchen, wo verschiedene Dateien im Zusammenhang mit dem Programm xscreensaver installiert sind:

/etc/pam.d/xscreensaver
/etc/xscreensaver
/etc/xscreensaver/README
/usr/bin/xscreensaver
/usr/bin/xscreensaver-command
/usr/bin/xscreensaver-demo
/usr/bin/xscreensaver-gl-helper
/usr/share/X11/app-defaults/XScreenSaver
/usr/share/applications/xscreensaver-properties.desktop
/usr/share/doc/packages/xscreensaver
/usr/share/doc/packages/xscreensaver/README
/usr/share/locale/ca/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/da/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/de/LC_MESSAGES/xscreensaver.mo
[ ... ]
/usr/share/locale/zh_TW/LC_MESSAGES/xscreensaver.mo
/usr/share/man/man1/xscreensaver-command.1.gz
/usr/share/man/man1/xscreensaver-demo.1.gz
/usr/share/man/man1/xscreensaver.1.gz
/usr/share/man/man6/xscreensaver-gl-helper.6x.gz
/usr/share/pixmaps/xscreensaver.xpm
/usr/share/xscreensaver
/usr/share/xscreensaver/glade
/usr/share/xscreensaver/glade/screensaver-cmndln.png
/usr/share/xscreensaver/glade/screensaver-colorselector.png
[ ... ]

Keine Sorge, normalerweise lautet die richtige Antwort, wenn ein Installer fragt, wohin installiert werden soll: /, /opt, /usr, /usr/local

Wie Sie sehen können, werden ziemlich alle (1) Dateien von xscreensaver unter /usr Nach einer einfachen Regel installiert: ausführbare Dateien in /usr/bin, Handbuchseiten in /usr/share/man, Dokumentation in /usr/share/doc/packages/PROGRAMNAME und so weiter.

Wenn ein Installer nach einer Installation fragt prefix, normalerweise möchte er nun den Basispfad unter welche das Programm installieren. In meinem Beispiel xscreensaver ist es /usr.

Als einfache Regel: / Sollte nur ein Programm enthalten, das zum Starten des Systems benötigt wird (als C:\windows\system32), /usr/local Sollte die Programme enthalten, die nur auf diesem eindeutigen Computer benötigt werden. /opt (2) alle optional Programme mit nicht standardmäßiger Verzeichnisstruktur und /usr Alle standard Software.

In jedem Fall gibt es einen Standard , der alle diese Regeln im Detail definiert: Dateisystem-Hierarchie-Standard

(1) Systemweite Konfigurationsdateien müssen sich in /etc Befinden.

(2) unter Linux ziemlich veraltet

45
andcoz

Normalerweise /bin, /usr/bin, /usr/local/bin, oder /opt/bin. Ich glaube /usr/bin und /opt/bin sind den Programmdateien am nächsten, da sie normalerweise für nicht systemkritische Binärdateien gelten, die vom Systemadministrator installiert werden. Im Gegensatz zu Windows enthalten beide Programme Programme, die mit einem Paketmanager installiert wurden. Wo /usr/local/bin ist für nicht in der Distribution verpackte Software. /bin ist für systemkritische Binärdateien wie /bin/sh.

12
xenoterracide

Werfen Sie einen Blick in man hier es ist eine "Beschreibung der Dateisystemhierarchie".

8
vasily-vm

Wie bereits erwähnt, sind die über den Paketmanager installierten Programme auf mehrere Verzeichnisse verteilt. Während die Binärdatei normalerweise gefunden wird /usr/bin, die systemweiten Konfigurationsdateien befinden sich in /etc, und so weiter.

Wenn eine Anwendung nicht über den Paketmanager installiert wird, sollten die Dateien an einem Ort installiert werden, an dem sie den Paketmanager nicht beeinträchtigen. Dieser Platz ist /usr/local.

Wenn Sie nach einem Installationspfad gefragt werden, ist die häufigste Wahl /usr/local/appname

3
Jan

Art echo $PATH in Ihrem Terminal, um die Pfade anzuzeigen, in denen die Shell nach einem Befehl sucht. Es wird nach einer Datei in der Reihenfolge gesucht, in der sie gedruckt wird.

3
Jaseem

Nun, Sie werden nicht alle Ihre Lösungen in /bin Und sbin finden, da sie hauptsächlich Systembefehle enthalten (d. H. Die vom System verwendeten Befehle).

/usr/bin Kann idealerweise als "Program Files" Der Unix-Welt bezeichnet werden. In Bezug auf /opt Entscheiden sich nur sehr wenige Pakete dafür, diesen Speicherort für die Installation zu verwenden. Gleiches gilt für Pakete, die /etc/ Oder /var Als Speicherorte verwenden

1
pankajdoharey