it-swarm-eu.dev

Co je Linux ekvivalentní s C: \ Program Files?

Chápu, že ve Windows, Linuxu a Unixu je možné nainstalovat program | aplikace | software do libovolného adresáře. Pokud jsou balíčky nainstalovány pomocí balicího systému distribuce, umístí soubory na správné místo.

Ale občas instalace softwaru vyzve k zadání umístění souborů. V případě linuxového distro, kde je toto výchozí místo (C:\Program Files nebo C:\progra~1 ekvivalent)? Je to různé pro různé distribuce? Pokud ano, kde by to bylo pro RHEL, Suse a Ubuntu?

65
Thomas

Linux Documentation Projectpopis hierarchie souborového systému Linux , kde vysvětluje různé složky a jejich (částečně historický) význam.

Jak již xenoterracid již zdůraznil /bin a /opt jsou standardní adresáře, které lze ve Windows porovnávat s „Program Files“.

/bin obsahuje několik užitečných příkazů, které jsou užitečné jak pro správce systému, tak i pro uživatele bez oprávnění. Obvykle obsahuje skořápky jako bash, csh, atd .... a běžně používané příkazy jako cp, mv, rm , cat, ls.

( citováno z TLDP )

/opt je vyhrazeno pro všechny softwarové a doplňkové balíčky, které nejsou součástí výchozí instalace. Například se zde obvykle nacházejí balíčky StarOffice, Kylix, Netscape Communicator a WordPerfect.

( citováno z TLDP )

60
Axel Knauf

Neexistuje žádný přímý ekvivalent. Struktura adresářů je velmi odlišná. V systému Windows máte pro každý nainstalovaný balíček/software jeden adresář, který obsahuje všechny soubory související (např. C:\Program Files\MyProgram). V systému Linux je každý software „rozptýlen“ v mnoha adresářích podle typu souboru a nějakého jiného pravidla.

Jako příklad můžeme prozkoumat, kde jsou nainstalovány různé soubory související s programem xscreensaver:

/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
[ ... ]

Nebojte se, obvykle, když se instalační program zeptá, kam nainstalovat, je správná odpověď jedním z následujících způsobů: /, /opt, /usr, /usr/local

Jak vidíte, všechny (1) soubory xscreensaver jsou nainstalovány pod /usr podle nějakého jednoduchého pravidla: spustitelné soubory v /usr/bin, manuální stránky v /usr/share/man, dokumentace v /usr/share/doc/packages/PROGRAMNAME a tak dále.

Když instalátor požádá o instalaci prefix, obvykle, chce nyní pod základní cestu pod které instalují program. V mém příkladu xscreensaver je to /usr.

Jako jednoduché pravidlo: / by mělo obsahovat pouze program, který je potřebný pro zavedení systému (jako C:\windows\system32), /usr/local by mělo obsahovat programy, které jsou potřeba pouze na tomto jedinečném počítači, /opt (2) všechny programy volitelné, které mají nestandardní strukturu adresářů a /usr veškerý software standardní.

V každém případě existuje standard , který podrobně definuje všechna tato pravidla: standard pro souborový systém hierarchie

(1) Celosystémové konfigurační soubory musí být umístěny v /etc

(2) docela zastaralý pod Linuxem

45
andcoz

Obvykle /bin, /usr/bin, /usr/local/bin nebo /opt/bin. Myslím /usr/bin a /opt/bin jsou nejblíže programovým souborům, protože obvykle jsou určeny pro nesystémové binární soubory nainstalované správcem systému, i když na rozdíl od oken oba obsahují programy nainstalované pomocí správce balíčků. Kde /usr/local/bin je pro software, který není součástí balení. /bin je pro systémové kritické binární soubory jako /bin/sh.

12
xenoterracide

Podívejte se do man hier je to „Popis hierarchie systému souborů“.

8
vasily-vm

Jak již zdůraznili ostatní, programy nainstalované prostřednictvím správce balíků jsou roztroušeny do několika adresářů. Zatímco binární kód se obvykle nachází /usr/bin, konfigurační soubory pro celý systém jsou v /etc, a tak dále.

Pokud aplikace není nainstalována prostřednictvím správce balíčků, měly by být soubory nainstalovány na místě, kde nezasahuje do správce balíčků. Toto místo je /usr/local.

Pokud budete požádáni o instalační cestu, nejběžnější volbou bude /usr/local/appname

3
Jan

Zadejte echo $PATH ve vašem terminálu, abyste viděli cestu (y), ve které bude Shell hledat příkaz. Jde o kontrolu souboru v pořadí, v jakém je vytištěn.

3
Jaseem

Všechna vaše řešení nenajdete v /bin a sbin, protože obsahují většinou systémové příkazy (tj. příkazy používané systémem).

/usr/bin lze ideálně nazvat "Program Files" unixového světa. Pokud jde o /opt velmi málo balíčků se rozhodlo použít toto umístění pro instalaci, totéž platí pro balíčky používající /etc/ nebo /var jako místa

1
pankajdoharey