Почему пользовательские программы всегда устанавливаются в/, выбирают,/srv,/usr/local, и т.д. а не в ~ / (домашняя) папка?

Система Linux имеет так называемый интерфейс обратного шлейфа, который предназначен для внутренней связи. Имя хоста - localhost, а IP-адрес - 127.0.0.1.

Когда вы запускаете nmap на localhost, вы фактически запускаете portscan на интерфейсе обратной связи по циклу virtual. 192.168.1.1 - это IP адрес вашего физического (скорее всего eth0) интерфейса.

Таким образом, вы запустили nmap на двух разных сетевых интерфейсах, поэтому есть разница в открытых портах. Они оба верны.

Если у вас открыт TCP-порт 23, скорее всего, у вас запущен сервер telnet (что не очень хорошо из-за отсутствия шифрования) или на вашей машине есть какой-то троянский конь.

.
1
24.06.2014, 22:42
2 ответа

Руководства скажите вам установить в / usr / local / или / opt и т. д., чтобы другие могли их использовать.

Если вы устанавливаете в свой домашний каталог, то только вы будете иметь к ним доступ. Если вы просто компилируете для себя, тогда это нормально.

2
27.01.2020, 23:28

Это не жесткое правило, но то, что по умолчанию / opt , обычно является самодостаточным и может потребовать, чтобы вы скопировали исполняемые файлы или сделали символическую ссылку на исполняемый путь или добавьте внутреннюю папку в $ PATH . Это достаточно просто, чтобы понять, предпочитаете ли вы поместить его в другое место и использовать $ HOME / bin .

Исходный код, который по умолчанию имеет значение / usr / local , однако может также устанавливать совместно используемые библиотеки и страницы руководства. Если вы хотите поместить его в другое место, обычно вы сначала экспортируете переменную PREFIX (или указываете ее в командной строке с помощью make ); ./ configure --help может подтвердить и объяснить это.

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

bin/
lib/
include/
share/
    man/
        man1/

Вы можете создать еще manX каталогов (модель см. В / usr / share / man ), хотя установщики могут создайте их, если они не существуют. Затем вам понадобится следующее, например, ~ / .profile :

export PATH=~/bin:$PATH
export LD_LIBRARY_PATH=~/lib:$LD_LIBRARY_PATH
export MANPATH=~/share/man:$MANPATH

Если пакет действительно использует разделяемые библиотеки, LD_LIBRARY_PATH имеет решающее значение, иначе исполняемые файлы не будут возможность ссылаться на них. MANPATH может работать не во всех системах и в любом случае не является строго необходимым - если man foobar выйдет из строя, вы, вероятно, будете знать, где его искать.

1
27.01.2020, 23:28

Теги

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