[sisyphus] резолвер в чруте

Michael A. Kangin mak на complife.ru
Ср Апр 10 19:58:59 MSK 2019


On 04/10/2019 05:06 PM, Dmitry V. Levin wrote:

>>> Я так понимаю, что вопрос из-за того, что какой-то resolv.conf
>>> лежит в /var/resolv/etc/, а изменения в /etc/resolv.conf не
>>> во всех случаях становятся актуальными без запуска update_chrooted
>>> (или изменения /var/resolv/etc/resolv.conf другим способом каким-
>>> нибудь). Хотя вопрос, каков сейчас список приложений, которые
>>> используют /var/resolv/ тем или иным образом.
>>
>> "каков сейчас список приложений" - а это разве не на общесистемном
>> уровне применяется?
> 
> Нет, конечно, на уровне приложений.

Хорошо, из того, что я попробовал, резолвингом из чрута (/var/resolv) 
пользуются:
- ping
- traceroute
- curl
- wget
- firefox
- chromium
- chrome

Если это не "общесистемно", то разница настолько тонка, что ускользает 
от меня.


>> В общем, для меня тот факт, что resolv.conf и hosts используются из
>> чрута /var/resolv/, создаёт дикое количество затруднений и проблем, и я
>> был бы очень рад, если бы нашёлся путь использовать версии файлов
>> непосредственно из /etc (как это в RHEL например работает).
> 
> Что за дикое количество затруднений и проблем?
> Вы всю систему в netns запихиваете, что ли?

- я довольно часто модифицирую /etc/hosts. Меня очень утомляет и 
расстраивает, когда его изменения не применяются сразу, а требуют еще 
операции по обновлению чрута.
- люди, впервые сталкивающиеся с Альтлинуксом, неизменно впадают в 
глубокий когнитивный диссонанс от этой милой особенности. Реально, это 
довольно серьёзная проблема, и пожалуй основная причина, препятствующая 
использовать решения на Альт для корпоративной инфраструктуры.
- требуются дополнительные (и неоправданные) усилия по задачам типа 
"сделать резолвинг в initrd".
- "Научите ip netns exec... не забывать про /var/resolv/"

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

Поэтому я был бы крайне признателен за способ, как можно вытащить 
резолвер из чрута для всех приложений разом. У control ручку не нашёл, 
на вики никакой информации (кроме фразы "Даже libresolv выполняется в 
chroot") не нашёл.


Подробная информация о списке рассылки Sisyphus