Какой каталог MUST существуют в / для квалификации ОС как Linux

Можно использовать инструменты как nmap сделать это. Однако удостоверьтесь, что Вы знаете локальные законы прежде, чем выполнить инструмент как nmap. Запрещается использовать такие инструменты без явного разрешения администратора сети даже в Вашей офисной сети.

nmap -O

-O опция делает операционную систему “снятие отпечатков пальцев”. Версия 5.50 Nmap имеет 2 982 цифровых отпечатка ОС и 7 319 подписей обнаружения версии.

Для получения дополнительной информации об использовании nmap обратитесь к: http://www.linuxforu.com/tag/advanced-nmap-series/

4
02.02.2014, 07:04
8 ответов

Для ответа на вопрос линии на дюйм, я думаю, что нет никакого фактического каталога и что это - вопрос о приеме! Linux не имеет никаких обязательных каталогов, которые должны присутствовать, он может быть установлен в любую структуру (структуры) каталогов, которую каждый выбирает, это настраивается.


Я действительно вскапывал эту страницу, названную: 4. Иерархия каталогов Linux: Ориентированный на Программные части. Это говорит следующее:

выборка

Поэтому давайте суммировать то, что FHS должен сказать о каталогах Linux:

Системные каталоги Linux

------------------------------------

/usr/bin

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

/ мусорное ведро

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

/usr/sbin

Как/usr/bin, но содержит только исполняемые файлы, к которым должен получить доступ администратор (пользователь root). У обычных пользователей никогда не должно быть этого каталога в их $PATH. Если Ваше программное обеспечение является демоном, Это - каталог для некоторых исполняемых файлов.

/sbin

Как/usr/sbin, но только для процесса начальной загрузки жизненные исполняемые файлы, и к этому получит доступ системный администратор для некоторого системного поддержания. Команды как fsck (проверка файловой системы), init (родительский элемент всех процессов), ifconfig (конфигурация сети), монтируются, и т.д. может быть найден здесь. Это - самый жизненный каталог системы.

/usr/lib

Содержит динамические библиотеки, и поддерживайте статические файлы для исполняемых файлов в/usr/bin и/usr/sbin. Можно создать подкаталог как/usr/lib/myproduct для содержания файлов помощника или динамических библиотек, к которым получат доступ только программным обеспечением без вмешательства пользователя. Подкаталог здесь может использоваться в качестве контейнера для плагинов и расширений.

/ lib

Как/usr/lib, но содержит динамические библиотеки, и поддерживайте статические файлы, необходимые в процессе начальной загрузки. Вы никогда не будете находить исполняемый файл в / мусорном ведре или/sbin, которому нужна библиотека, которая является вне этого каталога. Модули ядра (драйверы устройств) находятся под / lib.

/ и т.д.

Содержит конфигурационные файлы. Если Ваше программное обеспечение использует несколько файлов, подвергните их подпапке как/etc/myproduct/

/ var

Название происходит от "переменной", потому что все, что находится под этим каталогом изменения часто и система пакета (об/мин), не удерживает контроль над. Обычно / var смонтирован по отдельному высокоэффективному разделу. В/var/log файлах журнала растут. Для веб-контента мы используем/var/www и так далее.

/ домой

Содержит пользователя (настоящие люди) корневые каталоги. Ваш Пакет программного обеспечения никогда не должен устанавливать файлы здесь (во время установки). Если Ваша бизнес-логика требует, чтобы специальный пользователь UNIX (не человек) был создан, необходимо присвоить ему корневой каталог под / var или другим местом снаружи / домой. Никогда не забывайте это.

...

Можно думать, плохая идея повредить программное обеспечение (в целом) во многих частях, вместо того, чтобы сохранить все это в соответствии с автономным каталогом. Но система пакета (об/мин) имеет базу данных, которая управляет всем этим для Вас очень профессиональным способом, заботясь о конфигурационных файлах, каталоги и т.д. И если Вы распространите свое программное обеспечение с помощью FHS вне пользовательского дружелюбия, то Вы принесете интуитивный путь системному администратору, настраивают его и работают лучше с производительностью и безопасностью.

Мое заключение

Так, по крайней мере, согласно этому более позднему разделу к FHS это некоторые каталоги, которые можно было считать как свободно обязательным, но Linux не должен следовать за FHS. Даже LSB (Основа Стандартов Linux) является только руководством, не ridgid спецификацией.

Единственной вещью, которой Linux пытается придерживаться, является соответствие POSIX, и POSIX не делает передач, таких как это когда дело доходит до определенного варианта UNIX.

Ссылки

[1] Следующий материал извлечен от Graham Glass и короля Ables, Linux для Программистов и Пользователей, Pearson Prentice-Hall, 2006. ISBN 0-13-185748-7. p 4-15

13
27.01.2020, 20:44
  • 1
    Они все относятся к UNIX. Если я понимаю вопрос правильно, он хочет знать, какие каталоги могли бы дифференцировать Linux от UNIX (возможно,/sys и/selinux?) –  jordanm 02.02.2014, 09:17
  • 2
    @jordanm - источник этой информации прибыл из "4. Иерархия каталогов Linux: Ориентированный на Программные части". Тот URL упомянул их. На URL ссылаются выше. –  slm♦ 02.02.2014, 09:30
  • 3
    Да, но это просто цитирует FHS, который должен относиться ко всему UNIX. Временно назначенный –  jordanm 02.02.2014, 09:40
  • 4
    @jordanm - Я понимаю, что, исследую это для понимания этого также, я просто цитировал тот ресурс, страница, которую я процитировал, далее указывала FHS wrt к Linux, если я читал его правильно. Я не думаю, что это /selinux так как это - дополнительная часть s/w и /proc и /sys и /dev являются виртуальными, т.е. не реальные каталоги. –  slm♦ 02.02.2014, 09:43
  • 5
    Казалось бы, что "корректный" ответ экзамена - что-то вроде этого, так как lpi.org/linux-certifications/programs/lpic-1/exam-101 в конце имеет строку "Кандидаты, должно быть полностью знакомо со Стандартом иерархии файловой системы (FHS), включая типичное расположение файлов и классификации каталогов". (шахта акцента) –  samiam 02.02.2014, 15:20

Вы знаете, я полузаставлен сделать пользовательский дистрибутив Linux где:

  • Загрузчик помещает init в другом месте, как hey_lpi_guys_this_is_a_linux_system/sh
  • При помощи ext2ed или подобный инструмент, удалите '.' и '..' от корневого каталога (в то время как я в нем, взлом e2fsck для не жалобы этого и '..' не на верхнем уровне).
  • Удостоверьтесь пространство пользователя (вероятно, только sh так как это будет подтверждением концепции), не возражает против корневого каталога, не имеющего '.' и '..'

Факт вопроса - это: Linux может загрузиться в к системе без единственного каталога, который типичная файловая система Linux имеет тенденцию иметь. И это будет работать. Нет в значительной степени никаких существенно необходимых вещей в Linux - это - питание открытого исходного кода.

Гибкость Linux является обоюдоострым мечом. Одна оборотная сторона - то, что что-то столь же простое как, "как я удостоверяюсь эта программа, запускается во время начальной загрузки системы?" имеет несколько несовместимых ответов, в зависимости от дистрибутива и init системы.

6
27.01.2020, 20:44

Я не уверен, но я сказал бы, что вопрос относится к /proc. Это имеет к, существует на Linux в / поскольку это создается ядром и не находится на диске.

Системы Unix, кажется, имеют /proc также, таким образом, это не эксклюзивно, но я думаю, что можно считать вопрос в пути который "если /XYZ не существует, затем это не Linux", вместо "если /XYZ существует, это может только быть Linux". Вторая версия может всегда опровергаться на Вашей MAC OSX путем выполнения sudo mkdir /XYZ для любого невсе же существующего каталога в /

4
27.01.2020, 20:44
  • 1
    я сказал бы это, является неправильным. /proc/sys) смонтированы пространством пользователя в initrd. Встроенный Linux не мог бы смонтировать их вообще. Это тривиально (с chroot) создать главным образом рабочую среду Linux без /proc). И /proc используется на многих других клонах UNIX - видят, что en.wikipedia.org/wiki/Procfs - так не является Linux, конкретный так или иначе. –  abligh 02.02.2014, 12:39
  • 2
    Кроме того, быстрый поиск Google показывает, что FreeBSD и Солярис оба имеют /proc, например, docs.oracle.com/cd/E23824_01/html/821-1451 / … –  samiam 02.02.2014, 13:52
  • 3
    @samiam - Q действительно - когда линия на дюйм говорит, что каталог они имеют в виду реальный или виртуальный? /proc, /dev, и /sys виртуальные каталоги что создание ядра во время начальной загрузки. –  slm♦ 02.02.2014, 16:32

Любая другая информация о том, что превращает Unix в Linux, ценится.

С точки зрения иерархии каталогов нет действительно ничего; /proc не уникально для Linux. Это также используется на Солярисе и по крайней мере некоторых формах BSD. Далее, я думаю, что ядро Linux может все еще быть настроено без него или поддержка sysfs.

Как Вы распознаете, FHS предназначается для покрытия множества подобных Unix систем. Однако это производится и сохраняется Основой Linux, и текущая версия (2.3) действительно включает главу 6 "Операционная система Определенное Приложение" только с одним разделом, 6.1 Linux (версия PDF более хороша читать, btw). Существует различный Linux определенные конвенции включая несколько обязательных вещей в /dev (null, zero, tty) и мог бы быть вектор, комбинирующий их, который уникален. Причина кто-то не определил это, состоит, вероятно в том, потому что она не имела бы никакого значения использования (существуют лучшие способы определить ядро ОС, такое как выяснение у нее непосредственно).

2
27.01.2020, 20:44
  • 1
    , это может быть настроено тот путь; можно выключить procfs и поддержку sysfs во время компиляции. они - вероятно, модули, так или иначе. это сказанное, они являются достаточно сформировавшимися, который Вы, вероятно, повредите часть пространства пользователя путем выполнения так. (и, как примечание стороны, /proc даже не характерно для UNIX. План 9 имеет его.) –  strugee 03.02.2014, 00:40
  • 2
    @strugee: я предположил бы, что существуют некоторые встроенные контексты со специализированным пространством пользователя, которые не делают не, используют proc/sys. –  goldilocks 07.02.2014, 16:47
  • 3
    , конечно. мы говорим о ядре Linux - Это О Выборе (TM). Я имел в виду стандартное пространство пользователя. –  strugee 07.02.2014, 18:44

Я сознательно поместил это как другой ответ, поскольку он полагается на очень литеральную интерпретацию вопроса:

Which directory MUST exist in / to qualify this OS as Linux

Ну, я вижу:

amb@ubuntu$ ls -la /
total 1380
drwxr-xr-x  27 root root    4096 Jan  3 10:19 .
drwxr-xr-x  27 root root    4096 Jan  3 10:19 ..

(... other stuff...)

Согласно моему другому ответу, никакому каталогу, существующему в / однозначно определяет ОС как Linux в противоположность любому другому UNIX и всегда там. Однако оба . и .. ДОЛЖЕН существовать в / чтобы ОС квалифицировала как Linux. IE они оба необходимы, но не достаточные условия.

4
27.01.2020, 20:44
  • 1
    я думаю, что это - ответ. Каждый каталог в Linux всегда имеет '.' и '..' записи. Ну, хорошо, почти всегда. Возможно удалить их с ext2ed или что не, но fsck жалуется очень громко прежде, чем восстановить их. –  samiam 02.02.2014, 14:01
  • 2
    Это - в любом случае, функция файловой системы а не ОС. –  dmckee --- ex-moderator kitten 02.02.2014, 23:05

Linux является клоном Unix операционной системы, записанного с нуля Linus Torvalds с помощью со стороны свободно связанной команды хакеров через Сеть. Это нацеливается к POSIX и Единственному соответствию Спецификации UNIX.

Это имеет все функции, которые Вы ожидали бы в современном абсолютном Unix, включая истинную многозадачность, виртуальную память, общие библиотеки, загрузка спроса, совместно использовали исполняемые файлы копии на записи, надлежащее управление памятью и сети мультистека включая IPv4 и IPv6.

Архивы Ядра Linux - О Ядре Linux - Что такое Linux?.

Из Единственной ссылки Спецификации UNIX:

Common Directories and Devices

The Single UNIX Specification describes an applications portability environment, and as such defines a certain minimal set of directories and devices that applications regularly use. The following directories are defined:

/
    The root directory of the file system.

/dev
    Contains the devices /dev/console, /dev/null, and /dev/tty.

/tmp
    A directory where applications can create temporary files. 

The directory structure does not cross into such system management issues as where user accounts are organized or software packages are installed. Refer to XBD, Section 10.1, Directory Structure and Files for more information.

XBD, Chapter 10, Directory Structure and Devices also defines the mapping of <control>- char sequences to control character values, and associated requirements on system documentation.

От Станд. IEEE Open Group 1003.1, 2013 Выпуск т.е. POSIX:

The following directories shall exist on conforming systems and conforming applications shall make use of them only as described. Strictly conforming applications shall not assume the ability to create files in any of these directories, unless specified below.

/
    The root directory.
/dev
    Contains /dev/console, /dev/null, and /dev/tty, described below.

The following directory shall exist on conforming systems and shall be used as described:

/tmp
    A directory made available for applications that need a place to create temporary files. Applications shall be allowed to create files in this directory, but shall not assume that such files are preserved between invocations of the application.

The following files shall exist on conforming systems and shall be both readable and writable:

/dev/null
    An empty data source and infinite data sink. Data written to /dev/null shall be discarded. Reads from /dev/null shall always return end-of-file (EOF).
/dev/tty
    In each process, a synonym for the controlling terminal associated with the process group of that process, if any. It is useful for programs or shell procedures that wish to be sure of writing messages to or reading data from the terminal no matter how output has been redirected. It can also be used for applications that demand the name of a file for output, when typed output is desired and it is tiresome to find out what terminal is currently in use.

The following file shall exist on conforming systems and need not be readable or writable:

/dev/console
    The /dev/console file is a generic name given to the system console (see System Console). It is usually linked to an implementation-defined special file. It shall provide an interface to the system console conforming to the requirements of General Terminal Interface. 

Так как SUS потребовал, чтобы каталоги были подмножеством приспосабливания POSIX, и начиная с целей Linux к соответствию обоим, затем мы можем сказать, что ОС квалифицирует как Linux в этом отношении, если это имеет the *POSIX* conforming list of 5 directories plus the root(/) directory.

1
27.01.2020, 20:44

Вопрос Вас спрашивают, плох (не ТАК вопрос).

Я подозреваю ответ, который они ищут, также /boot или /sys, но оба из тех неправы. Я думаю, что лучший ответ /sbin.

Вот то, что находится в моем корневом каталоге:

  • /bin
  • /boot
  • /cdrom
  • /dev
  • /etc
  • /home
  • /lib
  • /lib32
  • /lib64
  • /lost+found
  • /media
  • /mnt
  • /proc
  • /root
  • /run
  • /sbin
  • /selinux
  • /srv
  • /sys
  • /tmp
  • /usr
  • /var

Из каталогов, используемых Linux, следующее находится в SuS или в других отношениях широко использующееся через многие UNIXes:

Следующее уникально (или почти уникально) к Linux, но существует много конфигурации Linux (встроенные, старые и т.д.), которым не нужны они:

  • /lib32
  • /lib64
  • /selinux
  • /sys

Следующее является полностью распределением / пользовательский зависимый и могло относиться к любому UNIX:

  • /media
  • /cdrom
  • /srv

Этот находится там почти на каждом Linux, но является ненужным на (например). EC-2, где Вы используете внешнее ядро, а также на некоторых, встроил конфигурации Linux:

  • /boot

Таким образом, нет никакого каталога который

  • присутствует на всех экземплярах Linux; и
  • не присутствует ни на каких экземплярах не-Linux

Таким образом, каков правильный ответ? Если Вы отвечаете на вопрос, 'Какой каталог MUST существуют в / для квалификации этой ОС как Linux' полностью буквально, это могло бы означать, 'какой каталог, если отсутствующий, сделает его не Linux'. Ответ здесь не является linux-y /proc, /sys, /selinux или /boot поскольку можно запустить Linux вполне счастливо без них при некоторых обстоятельствах - действительно можно скомпилировать ядро без поддержки первых 3, и последней является конвенция загрузчика.

Я сказал бы, что ответ /sbin. Почему? Хорошо /sbin единственный каталог, трудно кодированный в ядро Linux, в этом, загрузочный код по умолчанию выполняется /sbin/init. Это не относится к /bin или что-либо еще. Теоретически другие могли все быть переименованы, не изменяя ядро Linux.

0
27.01.2020, 20:44
  • 1
    ну, у Вас мог быть init быть/bin/sh, и затем не нуждаются в/sbin каталоге установкой Grub (или безотносительно), чтобы иметь ядро используют другой init. –  samiam 02.02.2014, 13:59
  • 2
    Это правда (использующий init= параметр командной строки ядра). Но это остается тем, что это - единственный каталог в / упомянутый ядром Linux, кроме . и .. (согласно моему другому ответу - то, которое я все больше думаю, является правильным), –  abligh 02.02.2014, 14:05
  • 3
    , Некоторые дистрибутивы (по крайней мере, Fedora и Arch) имеют a /sbin/ symlinked к /usr/sbin или даже /usr/sbin кому: /usr/bin таким образом, они не содержат каталог sbin. –  Maciej Piechotka 02.02.2014, 22:20

Имена папок файловой системы не что-то, что может классифицировать Unix как Linux или нет. На самом деле, там существует контрпример к любой общей файловой системе дистрибутива Linux, которую называют GoboLinux (идея позади него является полной перестройкой файловой системы).

Машинально, потенциально можно переименовать любой каталог с любым именем, делающим даже стандартную неопознаваемую файловую систему.

0
27.01.2020, 20:44

Теги

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