Назад | Перейти на главную страницу

Устранит ли локальное монтирование корневых файловых систем всех удаленных серверов необходимость совместного использования файлов точек?

У меня есть около 10 удаленных серверов, управляемых через SSH, и я обычно просто подключаюсь к каждому из них по SSH для задач удаленного управления. Это требует, чтобы я дублировал многие из моих точечных файлов (например, .zshrc, .vimrc) на каждом сервере, чтобы у меня был единый опыт работы с каждым из них. Следовательно, внесение изменений в один из этих файлов означает его распространение на все серверы (в худшем случае - вручную, а в лучшем случае - с помощью инструмента подготовки, такого как Ansible).

Но если бы мне пришлось смонтировать корневые файловые системы всех этих серверов на моей локальной рабочей станции (например, в / mnt / servers / server1 /, / mnt / servers / server2 / и т.д.), используя что-то вроде NFS, SSHFS, Samba или что-то еще , тогда устранит ли это необходимость совместного использования и копирования файлов точек на каждом из этих серверов?

Поскольку я использую свою локальную оболочку и Vim, используются только мои локальные .zshrc и .vimrc. Если мне нужно отредактировать / etc / hosts на server3, я делаю это с моей локальной рабочей станции vi / mnt / servers / server3 / etc / hosts, чтобы редактировать файл hosts.

Устранит ли это необходимость синхронизации моих точечных файлов на всех серверах, которыми я управляю?

Это плохая практика в отношении того, что вы пытаетесь сделать. Во-первых, вам не следует использовать ssh-соединение с серверами так часто, чтобы вам потребовались ваши .vimrc и .zshrc на удаленных хостах. В большинстве случаев производственные машины требуют входа в систему в аварийных ситуациях, и даже тогда вся работа выполняется с root-правами.

Во-вторых, если вам все еще нужно это сделать, вы можете сделать это с помощью файла конфигурации клиента ssh "~ / .ssh / config".

Поместите это в свой "~/.ssh/config" на клиенте, с которого вы постоянно подключаетесь:

кошка ~ / .ssh / config

Host *
  PermitLocalCommand yes
  LocalCommand scp /home/my_username/.*rc my_username@%h:/home/my_username/

Это скопирует ваши файлы ~ /.* rc на каждый сервер, к которому вы подключены по ssh. Но опять же, это небезопасное и нежелательное решение.

Я храню свои точечные файлы в репозитории git вместе со скриптом, который управляет символическими ссылками на них. В моем файле профиля (который создается при входе в систему) я запускаю git pull и этот сценарий.