Возможно глупый вопрос, но ответа на него к сожалению не нашел.
Иногда при подключении к удаленному FreeBSD 8 серверу консоль Putty зависает. При нажатии каких-то клавиш выдается сообщение что подключение разорвано.
Скорее всего где-то по пути пропадают пакеты или еще что.
Так вот, что делать в этом случае, если например как раз в этот момент шла установка какого-то порта ?
Он доставится в фоне или нужно запускать мейк инсталл заново ?
Несколько раз такое уже было, потом в пакаджинфо установленные пакеты не значатся.Тоесть вопрос: демон ссш распознает такую ситуацию так же как и Путти и прекращает выполнение сценария установки ?
Чем потенциально грозит такая ситуация ? Может порт криво встанет или еще что.
>[оверквотинг удален]
> нажатии каких-то клавиш выдается сообщение что подключение разорвано.
> Скорее всего где-то по пути пропадают пакеты или еще что.
> Так вот, что делать в этом случае, если например как раз в
> этот момент шла установка какого-то порта ?
> Он доставится в фоне или нужно запускать мейк инсталл заново ?
> Несколько раз такое уже было, потом в пакаджинфо установленные пакеты не значатся.
> Тоесть вопрос: демон ссш распознает такую ситуацию так же как и Путти
> и прекращает выполнение сценария установки ?
> Чем потенциально грозит такая ситуация ? Может порт криво встанет или еще
> что.в общем случае наверно фатального ничего не случится
но можно пофантазировать на тему полуустановленного ядерного модуля и тогда последствия могут быть печальны
ну или не только же порты ставите, порваная сессия на этапе редактирования например /etc/rc.conf или /etc/pf.conf тоже малоприятноно вас спасет sysutils/screen - на проблемных каналах незаменимая штука
> но вас спасет sysutils/screen - на проблемных каналах незаменимая штукаНа любых каналах незаменимая штука :)
~/.screenrc
######
startup_message off
backtick 1 600 600 hostname
caption splitonly "%?%F%{= yk}%:%{= Kk}%? %n %t%="
hardstatus alwayslastline "%{= rY} %1` %{= kg} %0c %{= bY} %-w%{= Yk} %n %t %{-}%+w %=%{g}%l "
######
> Возможно глупый вопрос, но ответа на него к сожалению не нашел.
> Иногда при подключении к удаленному FreeBSD 8 серверу консоль Putty зависает. При
> нажатии каких-то клавиш выдается сообщение что подключение разорвано.
> Скорее всего где-то по пути пропадают пакеты или еще что.
> Так вот, что делать в этом случае, если например как раз в
> этот момент шла установка какого-то порта ?
> Он доставится в фоне или нужно запускать мейк инсталл заново ?сеанс оборвался, как следствие умрут запущенные в нем интерактивные сеансы.
> Несколько раз такое уже было, потом в пакаджинфо установленные пакеты не значатся.
# make clean (в этом пакете и в зависимостях)
затем желательно удалить последний установленные порт - на всякий случай
после чего:# cd /usr/ports/sysutils/screen
# make install clean# screen
после чего уже унутри screen'а устанавливаете пакеты
CTRL-A-D отстоединиться от screen и оставить его работать в фоне,
можно выйти из SSH/Putty# screen -r (повторно присоединиться к сеансу screen
при работе с портами, либо установить и настроить:
- portconf (с единым конфигом портов для разных порт-пакет менеджеров) предварительно
настроив
- portmasterдля установки портов в BATCH режиме (НЕИНТЕРАКТИВНОМ)
# portmaster -m BATCH=yes остальные опции
либо:
- настроить /etc/make.conf для работы с портами для NON-INTERACTIVE сборки
# make BATCH=yes WITH_OPTION1=yes WITHOUT_OPTION2=yes install clean
> Тоесть вопрос: демон ссш распознает такую ситуацию так же как и Путти
> и прекращает выполнение сценария установки ?
> Чем потенциально грозит такая ситуация ? Может порт криво встанет или еще
> что.
> затем желательно удалить последний установленные порт - на всякий случайЯ бы посоветовал немножко иначе:
# portsnap fetch update
# portmaster --check-depends
# portmaster --check-port-dbdir
# portmaster -s
# portmaster -ta
И уже потом смотреть и думать.> # screen -r (повторно присоединиться к сеансу screen
Настоятельно рекомендуется в ~/.screenrc воткнуть строку:
sessionname somename
и впоследствии открывать детачнутые сессии по имени:
screen -Rd somename
или
screen -Rd some
Скрин умеет экспандить указанное имя, и, в случае обнаружения в списке детачнутых подходящей - аттачить ее. Если подходящих более одной - ругнется.
>> затем желательно удалить последний установленные порт - на всякий случай
> Я бы посоветовал немножко иначе:# portsnap fetch extract
> # portsnap fetch update
> # portmaster --check-depends
> # portmaster --check-port-dbdir
> # portmaster -s
> # portmaster -ta
> И уже потом смотреть и думать.согласен, но при работе с портами лучше думать заранее, особенно при удаленной
установке, те подразумевается batch установка, зависимости уже должны быть
продуманы и внесены либо в make.conf, либо в ports.conf>> # screen -r (повторно присоединиться к сеансу screen
> Настоятельно рекомендуется в ~/.screenrc воткнуть строку:
> sessionname somename
> и впоследствии открывать детачнутые сессии по имени:
> screen -Rd somename
> или
> screen -Rd some
> Скрин умеет экспандить указанное имя, и, в случае обнаружения в списке детачнутых
> подходящей - аттачить ее. Если подходящих более одной - ругнется.в целом, полностью согласен
Понятно.
Всем спасибо за советы.Для себя решил таки для перестраховки поставить screen и спать спокойно.
> Для себя решил таки для перестраховки поставить screen и спать спокойно.Обратите внимание на аналог screen - Tmux
>[оверквотинг удален]
> нажатии каких-то клавиш выдается сообщение что подключение разорвано.
> Скорее всего где-то по пути пропадают пакеты или еще что.
> Так вот, что делать в этом случае, если например как раз в
> этот момент шла установка какого-то порта ?
> Он доставится в фоне или нужно запускать мейк инсталл заново ?
> Несколько раз такое уже было, потом в пакаджинфо установленные пакеты не значатся.
> Тоесть вопрос: демон ссш распознает такую ситуацию так же как и Путти
> и прекращает выполнение сценария установки ?
> Чем потенциально грозит такая ситуация ? Может порт криво встанет или еще
> что.юзать screen?
запуск задачи в фоне. отвал от консоли никак не влияет на продолжение работы процесса.