Рейтинг:2

Скелетные файлы /etc/skel/ автоматическая синхронизация изменений для всех пользователей

флаг us

В дистрибутивах Linux некоторые важные сценарии и файлы конфигурации помещаются в каркас, откуда они копируются в домашний каталог каждого нового пользователя.В идеале вместо чего-либо, автоматически копируемого в домашнюю папку, должны использоваться общесистемные файлы, но это не всегда возможно или практично. В частности, сценарии запуска оболочки почти всегда помещаются в skel.

Это создает проблемы, когда пакеты обновляются и любые изменения, которые необходимо внести в эти сценарии, устанавливаются в /etc/skel/, но все существующие пользователи сохраняют старые версии в своих домах, и часто старая версия вызывает серьезные проблемы с измененной системой. программного обеспечения.

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

Мой вопрос в том, существует ли какое-либо умное решение для такой синхронизации? Я могу написать свой собственный скрипт на Python, но было бы неплохо, если бы кто-то уже разобрался с возможными проблемами.

Существует связанный с этим вопрос относительно конкретной настройки, но нет решения для синхронизации общего назначения: Добавление/обновление файлов каркаса после создания пользователя

Рейтинг:4
флаг in

Я знаю, что это, вероятно, похоже на отсутствие ответа, но мой ответ — избегать этого, если это вообще возможно.

Вещи под skel действительно должны быть только для каждого пользователя, и ими не нужно управлять после того, как они были развернуты.

Если у вас есть фрагменты оболочки и конфигурации, поместите их в /etc/профиль, /etc/profile.d.

Отбросьте все общесистемные сценарии под /USR/местные/бен.

Общесистемная конфигурация должна находиться в соответствующем файле в /и т.д. Или, если приложение не поддерживает общесистемную конфигурацию, возможно, добавьте файл конфигурации в /и т.д и разверните символическую ссылку на /и т.д файл конфигурации через skel.

Tronic avatar
флаг us
Я согласен абсолютно. К сожалению, дистрибутивы не получили эту заметку, поэтому они настраивают такие вещи, как завершение оболочки через skel, а затем ломают их в обновлениях.
Рейтинг:0
флаг kr

Вы должны использовать централизованные системы управления, такие как ansible (или любую другую систему, которую вы предпочитаете), для распространения скриптов вместо того, чтобы полагаться на автономные методы, такие как /etc/skel. Просто мои два цента.

Ответить или комментировать

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