Что Linux эквивалентен C:\Program Files?

При применении полномочий к каталогам на Linux биты полномочий имеют различные значения, чем на регулярных файлах.

  • Чтение укусило (r) позволяет нужному пользователю перечислять файлы в рамках каталога
  • Запись укусила (w) позволяет нужному пользователю создавать, переименовывать, или удалять файлы в рамках каталога и изменять атрибуты каталога
  • Выполнить бит (x) позволяет нужному пользователю вводить каталог, и файлы доступа и каталоги внутри
  • Липкий бит (T, или t если выполнить бит установлен для других), указывает, что файлы и каталоги в рамках того каталога могут только быть удалены или переименованы их владельцем (или корень)
64
01.11.2012, 23:38
7 ответов

Проект Документации Linux имеет описание иерархии файловой системы Linux, где они объясняют различные папки и их (частично исторический) значение.

Как xenoterracide уже указанный /bin и /opt стандартные каталоги, которые могут сравниться с "Программными файлами" в Windows.

/bin содержит несколько полезных команд, которые полезны для обоих системный администратор, а также непривилегированные пользователи. Это обычно содержит оболочки как bash, csh, и т.д..... и наиболее часто используемые команды как cp, mv, rm, cat, ls.

(заключенный в кавычки из TLDP)

/opt резервируется для всего программного обеспечения и дополнительных пакетов, которые не являются частью стандартной установки. Например, StarOffice, Kylix, Netscape Communicator и пакеты WordPerfect обычно находятся здесь.

(заключенный в кавычки из TLDP)

60
27.01.2020, 19:32
  • 1
    Разве / Не, выбирают только используемые пакеты, которые не содержатся в repos? Папки приложения для inkscape, калека, rhythmbox и т.д. расположен в/usr/share. Это не было бы эквивалентом? –  c76c3r8c42b347r8 11.09.2011, 16:33
  • 2
    См. linuxfoundation.org/en/FHS для более свежей информации об иерархии файловой системы (FHS). (Отметьте: сайт снижается в данный момент, но должен скоро вернуться). –  jw013 11.09.2011, 19:20
  • 3
    @Toxicbits: По крайней мере, на хинду в / выбирают существуют двоичные пакеты - особенно те, которые не могут быть установлены на/usr из-за нестандартной иерархии файловой системы. –  Maciej Piechotka 11.09.2011, 21:10
  • 4
    TLDP кажется большим! Ну, на ноте стороны; в первый раз, когда я видел TLDP, я думал: "слишком долго... не достигал максимума? что?" –  Ege Özcan 12.09.2011, 12:10
  • 5
    Это неправильно. / мусорное ведро содержит только исполняемые программы. Каталог Windows Program Files содержит подкаталог для каждого установленного приложения, которое содержит все исполняемые файлы, dlls, файлы данных и все остальное необходимое / поставленный с приложением. –  psusi 09.03.2012, 05:01

Нет никакого прямого эквивалента. Структура каталогов очень отличается. В соответствии с Windows, у Вас есть единственный каталог для каждого установленного пакета/программного обеспечения, который содержит все файлы, связанные с (например. C:\Program Files\MyProgram). В соответствии с Linux каждое программное обеспечение "рассеивается" во многих каталогах согласно типу файла и некотором другом правиле.

Как пример, мы можем исследовать где различные файлы, связанные с 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
[ ... ]

Не волнуйтесь, обычно когда установщик спрашивает, где установить на, корректный ответ является одним из следующего: /, /opt, /usr, /usr/local

Как Вы видите, вполне весь (1) файлы xscreensaver установлены под /usr согласно некоторому простому правилу: исполняемые файлы в /usr/bin, страницы руководства в /usr/share/man, документация в /usr/share/doc/packages/PROGRAMNAME и так далее.

Когда установщик просит установку prefix, обычно это хочет к теперь основному пути под который установка программа. В моем xscreensaver пример, это /usr.

Как простое правило: / должен содержать только программу, которые необходимы для начальной загрузки системы (как C:\windows\system32), /usr/local должен содержать программы, которые необходимы только на том уникальном компьютере, /opt(2) все дополнительные программы, которые имеют нестандартную структуру каталогов и /usr все стандартное программное обеспечение.

В любом случае это существует стандарт, который определяет все эти правила подробно: Стандарт Иерархии Файловой системы

(1) конфигурационные файлы в масштабе всей системы должны находиться в /etc

(2) довольно устаревший в соответствии с Linux

45
27.01.2020, 19:32
  • 1
    /opt предпочтен для внешнего программного обеспечения /usr/local в течение достаточно долгого времени. –  Steve-o 11.09.2011, 13:30
  • 2
    Просто объяснение, /usr/share назван "долей", потому что она совместно используется различной архитектурой (документация, сценарии, изображения), в то время как /usr/lib* для архитектурно-зависимых файлов (и не исполняемые файлы, чтобы к /usr/bin). –  eudoxos 11.09.2011, 19:26

Ususually, /bin, /usr/bin, /usr/local/bin, или /opt/bin. Я думаю /usr/bin и /opt/bin являются самыми близкими к Программным файлам, потому что обычно они для не система критические двоичные файлы, которые установлены системным администратором, хотя в отличие от окон оба из них содержат программы, установленные с диспетчером пакетов. Где /usr/local/bin для не серийное программное обеспечение дистрибутива. /bin для системы критические двоичные файлы как /bin/sh.

12
27.01.2020, 19:32
  • 1
    , почему четыре опции? /bin, /usr/bin, /usr/local/bin или /opt/bin. Нет ли одно стандартное местоположение? Причина, которую я спрашиваю, состоит в том, потому что я устанавливаю программное обеспечение на некоторых, VM's и местоположение по умолчанию берет, к которому когда-либо раздел имеет самое большое пространство. Я хочу изменить пространство раздела на каталог, куда программное обеспечение обычно переходит в и не поместило программное обеспечение по-другому во всем VM's. –  Thomas 11.09.2011, 12:15
  • 2
    стандарт указывает несколько местоположений idk, почему путь снижается, но здесь является ссылкой на кэшируемый FHS, который входит в большее количество определения о том, что это, и действительно это во многом зависит от того, что Вы устанавливаете. Также RHEL, SuSe и Ubuntu отличаются, таким образом, они могут поместить то же самое в немного отличающиеся местоположения. /opt например, обычно используется для собственного программного обеспечения. –  xenoterracide 11.09.2011, 12:30
  • 3
    Также обычно... обычно это - все на том же разделе... иногда /usr/ отдельный раздел. –  xenoterracide 11.09.2011, 12:38
  • 4
    Некоторые люди (например, проект Hurd) утверждают что /bin и /usr/bin дискриминация является устаревшей теперь; исторически, критический по отношению к системе материал был бы в /bin, /lib... (непосредственно в корне), в то время как /usr/usr/bin, /usr/lib...) был бы смонтирован позже (возможно, по сети), не будучи необходимым для функциональности базовой системы. –  eudoxos 11.09.2011, 19:29
  • 5
    @Thomas, /opt не были должны выходы. Некоторые люди раньше думали в прошлом, что это была хорошая идея иметь некоторые приложения в другом месте из всех других приложений. /bin находится на корневом разделе. С тех пор в некоторой системе, пространство на корневом разделе ограничено, несущественные двоичные файлы (т.е. все пользовательские приложения) были перемещены в /usr/bin. –  Jan 12.09.2011, 23:11

Смотрите в man hier это - "Описание иерархии файловой системы".

8
27.01.2020, 19:32

Как другие указали, программы, установленные через диспетчер пакетов, рассеиваются по нескольким каталогам. В то время как двоичный файл обычно находится /usr/bin, конфигурационные файлы в масштабе всей системы находятся в /etc, и так далее.

Если приложение не установлено через диспетчер пакетов, файлы должны быть установлены в месте, где они не вмешиваются в диспетчер пакетов. Это место /usr/local.

Если бы Вас просят относительно пути установки, наиболее распространенный выбор был бы /usr/local/appname

3
27.01.2020, 19:32

Ввести echo $PATH в Вашем терминале для наблюдения пути (путей) оболочка заглянет для нахождения команды. Это идет, проверяя на файл в порядке, это печатается.

3
27.01.2020, 19:32
  • 1
    Это, не отвечает на то, что спросил OP. –  Francesco Turco 02.11.2012, 14:59

Хорошо Вы привычка находите все свои решения в /bin и sbin потому что они содержат главным образом системные команды (т.е. команды, используемые системой).

/usr/bin может быть идеально назван "Program Files" из мира Unix. Относительно /opt очень немного пакетов решили использовать то местоположение для установки, то же относится к использованию пакетов /etc/ или /var как местоположения

1
27.01.2020, 19:32

Теги

Похожие вопросы