Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-13 Пенетрантность Oleksandr Gavenko
On 2012-11-12, Eugene Berdnikov wrote: * Если доступаться к файлам пакета по требованию не безопасно с точки зрения возможности обновлять пакет in place - стоит ли писать/переписать программу в стиле - открыть все возможные файлы, а затем использовать полученые дескрипторы?

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-13 Пенетрантность Eugene Berdnikov
On Tue, Nov 13, 2012 at 10:42:51PM +0200, Oleksandr Gavenko wrote: On 2012-11-12, Eugene Berdnikov wrote: Вообще, рекомендую посмотреть главу 5 книжки Э.Рэймонда Искусство программирования для UNIX (E.Raymond, Art of UNIX Programming). Можно перечитать. Последний подраздел главы отсылает

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-12 Пенетрантность Victor Wagner
On 2012.11.11 at 00:34:10 +0200, Oleksandr Gavenko wrote: Packages can be upgraded in place, even in running systems. Собственно понятие на юзерском уровне есть. Как бы обновление без перезаuрузки или остановки сторонних сервисов. Естественно что такие действия опасные. Например случаи:

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-12 Пенетрантность Ivan Shmakov
Victor Wagner vi...@wagner.pp.ru writes: […] Кроме уже рассмотренного системного вызова unlink(2) есть еще вызов rename(2). Он отличается тем, что работает атомарно. Поэтому если записать файл на диск под именем something.tmp а потом удалить старый something и переименовать

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-12 Пенетрантность Oleksandr Gavenko
On 2012-11-12, Victor Wagner wrote: Cygwin работает на файловой системе NTFS. Которая не позволяет удалять файлы, открытые работающим процессом. В Unix-подобных системах, в том числе и в Linux файловая система работает по-другому. Ссылка на файл из каталога (т.н. hardlink) и ссылка на файл

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-12 Пенетрантность Eugene Berdnikov
On Mon, Nov 12, 2012 at 10:29:28PM +0200, Oleksandr Gavenko wrote: * У программы есть ресурсы, например иконки, раскиданые по файлам, которые загружаюся по необходимости. Если я обновлю пакет и программа из пакета будет запущенной - то новые запросы на ресурсы вернут дескрипторы на

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-11 Пенетрантность Andrey Rahmatullin
On Sun, Nov 11, 2012 at 12:34:10AM +0200, Oleksandr Gavenko wrote: * Если разделяемая библиотека загружена в память несколькими процесами. То? * Если программа из одного пакета обращается к файлу из другого пакета (-bin и -data пакеты). А вы так не делайте Что позволяет (какие

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-11 Пенетрантность dimas
демоны-то как раз перезапускаются, когда надо. ejabberd, samba, ssh, например - при обновлении очень даже рестартятся. из опасного - gdm, например, который, если запущен в момент обновы, спрашивает, перезапустить ли сейчас (грохнув иксы и все брахало в них), или пущай дальше работает, а в

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-11 Пенетрантность Andrey Rahmatullin
On Sun, Nov 11, 2012 at 03:10:01PM +0400, dimas wrote: демоны-то как раз перезапускаются, когда надо. ejabberd, samba, ssh, например - при обновлении очень даже рестартятся. Только при обновлении себя, но не библиотек. См. тж. checkrestart(1) из пакета debian-goodies. а в остальных -

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-11 Пенетрантность Dmitry Fedorov
11 ноября 2012 г., 21:53 пользователь Andrey Rahmatullin написал: On Sun, Nov 11, 2012 at 03:10:01PM +0400, dimas wrote: а в остальных - запущенный бинарник уже в памяти давно висит, ему же все равно, что там на диске с ним, разве нет? Обычно да, но в пакетах не только бинарники. Нет,

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-11 Пенетрантность dimas
Нет, исполняющиеся бинарники отмаплены на их файлы, поэтому при попытке замены выдаётся Text File Busy. хм, а если так: cp /bin/sleep /tmp cd /tmp/ start-stop-daemon -Sbvx /tmp/sleep -mp /tmp/sleep.pid -- 20m rm ./sleep ps `cat sleep.pid` все удалилось без вопросов, процесс висит. аналогично

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-11 Пенетрантность Andrey Rahmatullin
On Sun, Nov 11, 2012 at 09:15:10PM +0600, Dmitry Fedorov wrote: а в остальных - запущенный бинарник уже в памяти давно висит, ему же все равно, что там на диске с ним, разве нет? Обычно да, но в пакетах не только бинарники. Нет, исполняющиеся бинарники отмаплены на их файлы, Какая разница.

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-11 Пенетрантность Andrey Rahmatullin
On Sun, Nov 11, 2012 at 07:24:44PM +0400, dimas wrote: Нет, исполняющиеся бинарники отмаплены на их файлы, поэтому при попытке замены выдаётся Text File Busy. хм, а если так: cp /bin/sleep /tmp cd /tmp/ start-stop-daemon -Sbvx /tmp/sleep -mp /tmp/sleep.pid -- 20m rm ./sleep ps `cat

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-11 Пенетрантность Dmitrii Kashin
Andrey Rahmatullin w...@wrar.name writes: поэтому при попытке замены выдаётся Text File Busy. Не замены, а открытия на запись. А то, что в библиотеки писать не запрещено - по-моему, просто странные детали реализации. Стало быть, при замене пакета сначала удаляются файлы старого пакеты, а

Re: Как реализован in place upgrade в Дебиан? На чем основан и чем чревато?

2012-11-11 Пенетрантность dimas
а, понял. таки да, при изменении выдает ошибку. через удаление и пересоздание - пожалуйста. 2012-316 21:45 Andrey Rahmatullin w...@wrar.name wrote: все удалилось без вопросов, процесс висит. аналогично проделал с yes - вывод продолжается... Что вас удивляет? man 2 unlink -- To