ssh + локальные переменные/конфиги.
Модераторы: SLEDopit, Модераторы разделов
-
SLEDopit
- Модератор
- Сообщения: 4824
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
ssh + локальные переменные/конфиги.
Что-то число машин, с которыми нужно работать постоянно растёт и я всё чаще задаюсь вопросом:
А как постоянно при себе держать последнюю версию своего настроенного рабочего окружения?
В процессе копания в манах ssh'а обнаружил только возможность проброса локальных переменных (что, впрочем, тоже немаловажно). Но мне же интересно пробросить так ж и локальные конфиги vim'a, shell'a и т.д.
Постоянно копировать, перед логином все эти настройки неинтересно. Хотя и можно сделать alias на ssh таким, чтобы он перед коннектом заливал туда все необходимые настроечные файлы, такой подход мне кажется совсем не юниксвейным.
Потом я подумал о github'e. Запихать туда все конфиги, и прописать в .bash_login команду на синкание с ним.
Следующей идеей было что-то типа puppet'a, что само будет везде разливать конфиги по мере изменения. Однако это ж надо редактировать и его конфиг. Нет, уж лучше github.
А как решаете эту проблему Вы? (и вообще решаете ли? (: )
А как постоянно при себе держать последнюю версию своего настроенного рабочего окружения?
В процессе копания в манах ssh'а обнаружил только возможность проброса локальных переменных (что, впрочем, тоже немаловажно). Но мне же интересно пробросить так ж и локальные конфиги vim'a, shell'a и т.д.
Постоянно копировать, перед логином все эти настройки неинтересно. Хотя и можно сделать alias на ssh таким, чтобы он перед коннектом заливал туда все необходимые настроечные файлы, такой подход мне кажется совсем не юниксвейным.
Потом я подумал о github'e. Запихать туда все конфиги, и прописать в .bash_login команду на синкание с ним.
Следующей идеей было что-то типа puppet'a, что само будет везде разливать конфиги по мере изменения. Однако это ж надо редактировать и его конфиг. Нет, уж лучше github.
А как решаете эту проблему Вы? (и вообще решаете ли? (: )
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: ssh + локальные переменные/конфиги.
git + репозиторий на своем сервере. Обновляю вручную, мне хватает.
Мои розовые очки
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: ssh + локальные переменные/конфиги.
аналогично·watashiwa_daredeska писал(а): ↑07.11.2011 13:26git + репозиторий на своем сервере. Обновляю вручную, мне хватает.
пара веток есть — для конфликтющих конфигураций (из-за ~/.ssh/config, обходного варианта пока не придумал):
ах, да, git.home — это alias (тоже через репозиторий определяется):
$ alias git.home='git --git-dir=/home/al/.git.home/'
и для bash-completion-а (и он тоже в этом репозитории):
$ cat ~/.bash_completion
complete -o filenames -F _longopt ll la l # это для комплишена после коротких алиасов ll la l
complete -o bashdefault -o default -o nospace -F _git git.home \
2>/dev/null || complete -o default -o nospace -F _git git.home
а вот процедура разворачивания на новой машине у меня не очень удобная (временное решение так и осталось постоянным):
1. клонирую как bare-репозиторий
$ git clone --bare ssh://some.server/~al/var/gits/home.git/ ~/.git.home
2. подправляю "bare=fales" в ~/.git.home/config
3. $ git --git-dir=/home/al/.git.home/ pull
4. $ git --git-dir=/home/al/.git.home/ checkout
скорее всего, потребуется переименование обновляемых файлов·
по крайней мере, ~/.bashrc
последнюю команду выполняю, пока не перестанет ругаться на перезаписываемые файлы (удаляя/переименовывая конфликтные файлы)
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: ssh + локальные переменные/конфиги.
А есть какой-нибудь плюс от использования нестандартного GIT_DIR? Я вот долго думал и не придумал :)
Мои розовые очки
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: ssh + локальные переменные/конфиги.
паранойя, сэр·watashiwa_daredeska писал(а): ↑07.11.2011 17:58А есть какой-нибудь плюс от использования нестандартного GIT_DIR? Я вот долго думал и не придумал
уже обсуждали как-то·
p.s. кстати, если б можно было, подключаясь по ssh, сразу попасть в какой-нибудь каталог, отличный от ~/, можно было бы совсем распараноиться…
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
SLEDopit
- Модератор
- Сообщения: 4824
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: ssh + локальные переменные/конфиги.
А прописать в какой-нибудь ~/.bashrc или общесистемный bash.bashrc не подходит?
ps Только в чем тайный смысл такой штуки?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: ssh + локальные переменные/конфиги.
Тогда уж в ~/.ssh/rc — он выполняется даже перед командами, а не только при интерактивном входе.
Мои розовые очки
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: ssh + локальные переменные/конфиги.
я расплывчато написал·
попасть в _указанный_ каталог·
что-то типа:
$ ssh --to-dir some.dir user@host
потому как
$ ssh user@host bash -c 'cd some.dir; bash'
всё равно приводит в домашний каталог·
попасть в _указанный_ каталог·
что-то типа:
$ ssh --to-dir some.dir user@host
потому как
$ ssh user@host bash -c 'cd some.dir; bash'
всё равно приводит в домашний каталог·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
SLEDopit
- Модератор
- Сообщения: 4824
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: ssh + локальные переменные/конфиги.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: ssh + локальные переменные/конфиги.
Ну, пробрасывай каталог в переменных среды, а в .ssh/rc делай cd. Не?
ssh -t user@host 'cd some.dir; bash' УМР. Хотя, это не совсем то же самое, что нормальный логин. Для имитации логина при запуске команд у меня есть скриптик rwp (run-with-profile):
Код: Выделить всё
#!/bin/sh
if [ -f $HOME/.profile ]; then
. $HOME/.profile
elif [ -f $HOME/.bash_profile ]; then
. $HOME/.bash_profile
fi
exec "$@"Этот rwp можно запихать и в .ssh/rc, если надо.
Мои розовые очки
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: ssh + локальные переменные/конфиги.
ага, так сработало·
тоже вариант·watashiwa_darede... писал(а): ↑08.11.2011 13:22Ну, пробрасывай каталог в переменных среды, а в .ssh/rc делай cd
но требует перенастройки sshd на целевой машине·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: ssh + локальные переменные/конфиги.
Что-то я никак не могу найти обсуждение. О какой паранойе речь-то, не напомнишь?
Мои розовые очки
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: ssh + локальные переменные/конфиги.
вроде, где-то тут: dotfiles и mercurialwatashiwa_daredeska писал(а): ↑08.11.2011 13:25Что-то я никак не могу найти обсуждение. О какой паранойе речь-то, не напомнишь?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: ssh + локальные переменные/конфиги.
вы забыли ещё парочку·
но какое отношение они имеют к вопросу
?
обсуждалось-обсуждалось·
про то, как _ещё_ больше застраховаться от своих ошибок·
только слово «паранойя», кажется, не фигурировало·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог