LINUX.ORG.RU

…или шаблонизировать оригинальный файл и напичкать его инклюдами. Или можно обнаружить, что у вас достаточно свежая система, чтобы вместо дописывания в файл можно было бы просто положить нужное в /etc/{fstab,sudoers,sysctl,modprobe,да-что-угодно}.d.

Без контекста, в общем, посоветовать можно что угодно.

thriller ★★ ()
Ответ на: комментарий от alozovskoy

Ой. Да. :) Я уже привык копипастить, что названия позабыл.

DALDON ★★★★★ ()
Ответ на: комментарий от thriller

Ого... Не знал, что можно в fstab.d. Круто. Ещё кстати, можно переписывать части upstart модулей, в systemd, тоже можно я думаю. В общем очень удобно!

DALDON ★★★★★ ()
Ответ на: комментарий от thriller

А в каком это дистрибутиве работает /etc/fstab.d и почему?

Вот здесь основное обсуждение этой фичи, и в конце решили не поддерживать это ни в libmount, ни в systemd, потому что /etc/fstab — это не просто какой-то там конфиг-файлик, это ABI. Хотя было бы очень круто, если бы /etc/fstab.d работал, но когда придумывали fstab, никто не задумывался о тех задачах, для которых каталог был бы удобнее.

gentoo_root ★★★★★ ()
Ответ на: комментарий от gentoo_root

Не знаю, я не пользователь fstab.d, я лишь заметил в своё время, что директория появляется после инсталляции, например, Debian 7.8 или Ubuntu 14.04. Причём, как оказывается, появляется она уже давно, вводя кучу людей в заблуждение.

thriller ★★ ()
Ответ на: комментарий от DALDON

Не знал, что можно в fstab.d

мда. жизнь полна сюрпризов, вроде на своем веку многое повидал, но про fstab.d слышу впервые.

Komintern ★★★★★ ()
Ответ на: комментарий от thriller

Контекст прост. Нужно добавить в /etc/apt/sources.list на клиенте следующие строки:

deb http://repo.percona.com/apt wheezy main
deb-src http://repo.percona.com/apt wheezy main
Ну и вообще на будущее, как в плейбуках прописывать аналог команды:
cat /file-na-hoste >> /file-na-kliente

iamroman ()
Ответ на: комментарий от iamroman

Ну, тут ответ простой: sources.list.d, тем более что он поддерживается уже почти 10 лет.

А на будущее общий ответ таков: ставьте задачу иначе. Смысл ваших действий ведь не в том, чтобы бездумно лепить какие-то там строчечки в конец, а гарантировать, что они там есть, что они там в единственном экземпляре¹ и что действия, связанные с изменением конфига (apt-get update тот же), будут воспроизведены только после, собственно, их изменения (см. handlers). А в остальном — см. выше.

____
¹ если только, конечно, не стоит какая-нибудь откровенно странная задача вида «дописать время запуска плейбука в отдельный лог» — тогда можно хоть shell module использовать.

thriller ★★ ()
Ответ на: комментарий от iamroman

cat /file-na-hoste >> /file-na-kliente

То есть именно с удаленного хоста на локальный (откуда запускаешь Ansible)? Для копирования есть модуль fetch, а так хоть через регистр. Ну или притащить файл локально а дальше любым способом, которым ты добавляешь строчки в файл на удаленном хосте с использованием delegate_to: localhost и run_once: true по необходимости.

alozovskoy ★★★★★ ()
Ответ на: комментарий от alozovskoy

Файл, который находится на моем компьютере (где ansible), нужно присоединить в конец файла, который находится на сервере. Я написал хост и клиент, потому что сервер виртуальный, соответственно, мой комп - хост, а виртуалка - клиент. Если я не путаюсь в терминологии.

iamroman ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.