Почему мне нужно запускать ldconfig каждый раз, когда я помещаю библиотеку.so в такие каталоги, как /usr/local/lib, если это задано файлами конфигурации в /etc/ld.so.conf.d/?

Вы говорите о слабой/сильной модели хоста , а в Linux по умолчанию используется слабая.

Is there a way to check if a packet intended to interface eth1 did reach that interface?

Я бы сказал, что брандмауэр позволяет поставить такое ограничение.

I have cases where a packet arrives on an interface of a host (the first one on its way) but does not seem to reach the intended interface (the actual application is not brought up). Such a test would ensure that the firewalling/forwarding is OK and that the problem is elsewhere (in the configuration of the app, a bug in the app, etc)

Ранее в своем примере вы упомянули ICMP. Что плохого в том, чтобы использовать именно его, чтобы проверить, есть ли связь на самом деле?

Кроме того, на данный момент вы довольно близко подошли к практике использования петлевых интерфейсов для сервисов — в основном они используются в сочетании с динамической маршрутизацией, но основная идея довольно проста :не имеет значения, какой интерфейс запрашивал. пришло, важно только то, что оно вообще нашло свой путь, и ответ также может быть отправлен. Интерфейсы Loopback никогда не отключаются, если об этом не сообщается вручную — «настоящие» интерфейсы OTOH могут изменить свое состояние из-за потери связи и так далее.

0
27.02.2021, 13:47
1 ответ

Когда приложение запускается через LD_LIBRARY_PATH=PATH app, glibc сканирует все файлы в указанных каталогах.

Когда вы не используете этот флаг, для ускорения процесса открываются только кэшированные библиотеки (/etc/ld.so.cache). Представьте, что вам нужно запускать определенное приложение 100 000 раз подряд, и каждый раз нужно заново сканировать все каталоги. Это может замедлить все до минимума.

0
18.03.2021, 22:28

Теги

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