Можно использовать инструменты как nmap
сделать это. Однако удостоверьтесь, что Вы знаете локальные законы прежде, чем выполнить инструмент как nmap. Запрещается использовать такие инструменты без явного разрешения администратора сети даже в Вашей офисной сети.
nmap -O
-O опция делает операционную систему “снятие отпечатков пальцев”. Версия 5.50 Nmap имеет 2 982 цифровых отпечатка ОС и 7 319 подписей обнаружения версии.
Для получения дополнительной информации об использовании nmap обратитесь к: http://www.linuxforu.com/tag/advanced-nmap-series/
Для ответа на вопрос линии на дюйм, я думаю, что нет никакого фактического каталога и что это - вопрос о приеме! 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
Вы знаете, я полузаставлен сделать пользовательский дистрибутив Linux где:
ext2ed
или подобный инструмент, удалите '.' и '..' от корневого каталога (в то время как я в нем, взлом e2fsck для не жалобы этого и '..' не на верхнем уровне).sh
так как это будет подтверждением концепции), не возражает против корневого каталога, не имеющего '.' и '..'Факт вопроса - это: Linux может загрузиться в к системе без единственного каталога, который типичная файловая система Linux имеет тенденцию иметь. И это будет работать. Нет в значительной степени никаких существенно необходимых вещей в Linux - это - питание открытого исходного кода.
Гибкость Linux является обоюдоострым мечом. Одна оборотная сторона - то, что что-то столь же простое как, "как я удостоверяюсь эта программа, запускается во время начальной загрузки системы?" имеет несколько несовместимых ответов, в зависимости от дистрибутива и init системы.
Я не уверен, но я сказал бы, что вопрос относится к /proc
. Это имеет к, существует на Linux в /
поскольку это создается ядром и не находится на диске.
Системы Unix, кажется, имеют /proc
также, таким образом, это не эксклюзивно, но я думаю, что можно считать вопрос в пути который "если /XYZ
не существует, затем это не Linux", вместо "если /XYZ
существует, это может только быть Linux". Вторая версия может всегда опровергаться на Вашей MAC OSX путем выполнения sudo mkdir /XYZ
для любого невсе же существующего каталога в /
/proc
(и /sys
) смонтированы пространством пользователя в initrd
. Встроенный Linux не мог бы смонтировать их вообще. Это тривиально (с chroot
) создать главным образом рабочую среду Linux без /proc
). И /proc
используется на многих других клонах UNIX - видят, что en.wikipedia.org/wiki/Procfs - так не является Linux, конкретный так или иначе.
– abligh
02.02.2014, 12:39
/proc
, например, docs.oracle.com/cd/E23824_01/html/821-1451 / …
– samiam
02.02.2014, 13:52
/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
) и мог бы быть вектор, комбинирующий их, который уникален. Причина кто-то не определил это, состоит, вероятно в том, потому что она не имела бы никакого значения использования (существуют лучшие способы определить ядро ОС, такое как выяснение у нее непосредственно).
/proc
даже не характерно для UNIX. План 9 имеет его.)
– strugee
03.02.2014, 00:40
Я сознательно поместил это как другой ответ, поскольку он полагается на очень литеральную интерпретацию вопроса:
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 они оба необходимы, но не достаточные условия.
fsck
жалуется очень громко прежде, чем восстановить их.
– samiam
02.02.2014, 14:01
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
.
Вопрос Вас спрашивают, плох (не ТАК вопрос).
Я подозреваю ответ, который они ищут, также /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:
/bin
/dev
/etc
/home
/lib
/lost+found
/mnt
/proc
- см. http://en.wikipedia.org/wiki/Procfs/root
/run
/sbin
/tmp
/usr
/var
Следующее уникально (или почти уникально) к Linux, но существует много конфигурации Linux (встроенные, старые и т.д.), которым не нужны они:
/lib32
/lib64
/selinux
/sys
Следующее является полностью распределением / пользовательский зависимый и могло относиться к любому UNIX:
/media
/cdrom
/srv
Этот находится там почти на каждом Linux, но является ненужным на (например). EC-2, где Вы используете внешнее ядро, а также на некоторых, встроил конфигурации Linux:
/boot
Таким образом, нет никакого каталога который
Таким образом, каков правильный ответ? Если Вы отвечаете на вопрос, 'Какой каталог MUST существуют в / для квалификации этой ОС как Linux' полностью буквально, это могло бы означать, 'какой каталог, если отсутствующий, сделает его не Linux'. Ответ здесь не является linux-y /proc
, /sys
, /selinux
или /boot
поскольку можно запустить Linux вполне счастливо без них при некоторых обстоятельствах - действительно можно скомпилировать ядро без поддержки первых 3, и последней является конвенция загрузчика.
Я сказал бы, что ответ /sbin
. Почему? Хорошо /sbin
единственный каталог, трудно кодированный в ядро Linux, в этом, загрузочный код по умолчанию выполняется /sbin/init
. Это не относится к /bin
или что-либо еще. Теоретически другие могли все быть переименованы, не изменяя ядро Linux.
init=
параметр командной строки ядра). Но это остается тем, что это - единственный каталог в /
упомянутый ядром Linux, кроме .
и ..
(согласно моему другому ответу - то, которое я все больше думаю, является правильным),
– abligh
02.02.2014, 14:05
/sbin/
symlinked к /usr/sbin
или даже /usr/sbin
кому: /usr/bin
таким образом, они не содержат каталог sbin
.
– Maciej Piechotka
02.02.2014, 22:20
Имена папок файловой системы не что-то, что может классифицировать Unix как Linux или нет. На самом деле, там существует контрпример к любой общей файловой системе дистрибутива Linux, которую называют GoboLinux (идея позади него является полной перестройкой файловой системы).
Машинально, потенциально можно переименовать любой каталог с любым именем, делающим даже стандартную неопознаваемую файловую систему.
/selinux
так как это - дополнительная часть s/w и/proc
и/sys
и/dev
являются виртуальными, т.е. не реальные каталоги. – slm♦ 02.02.2014, 09:43