On 2012-11-12, Eugene Berdnikov wrote:
* Если доступаться к файлам пакета по требованию не безопасно с точки зрения
возможности обновлять пакет in place - стоит ли писать/переписать
программу в стиле - открыть все возможные файлы, а затем использовать
полученые дескрипторы?
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).
Можно перечитать. Последний подраздел главы отсылает
On 2012.11.11 at 00:34:10 +0200, Oleksandr Gavenko wrote:
Packages can be upgraded in place, even in running systems.
Собственно понятие на юзерском уровне есть. Как бы обновление без
перезаuрузки или остановки сторонних сервисов.
Естественно что такие действия опасные. Например случаи:
Victor Wagner vi...@wagner.pp.ru writes:
[…]
Кроме уже рассмотренного системного вызова unlink(2) есть еще вызов
rename(2). Он отличается тем, что работает атомарно. Поэтому если
записать файл на диск под именем something.tmp а потом удалить старый
something и переименовать
On 2012-11-12, Victor Wagner wrote:
Cygwin работает на файловой системе NTFS. Которая не позволяет удалять
файлы, открытые работающим процессом.
В Unix-подобных системах, в том числе и в Linux файловая система
работает по-другому. Ссылка на файл из каталога (т.н. hardlink) и
ссылка на файл
On Mon, Nov 12, 2012 at 10:29:28PM +0200, Oleksandr Gavenko wrote:
* У программы есть ресурсы, например иконки, раскиданые по файлам, которые
загружаюся по необходимости. Если я обновлю пакет и программа из пакета
будет запущенной - то новые запросы на ресурсы вернут дескрипторы на
On Sun, Nov 11, 2012 at 12:34:10AM +0200, Oleksandr Gavenko wrote:
* Если разделяемая библиотека загружена в память несколькими процесами.
То?
* Если программа из одного пакета обращается к файлу из другого пакета (-bin
и
-data пакеты).
А вы так не делайте
Что позволяет (какие
демоны-то как раз перезапускаются, когда надо. ejabberd, samba, ssh, например -
при обновлении очень даже рестартятся. из опасного - gdm, например, который,
если запущен в момент обновы, спрашивает, перезапустить ли сейчас (грохнув иксы
и все брахало в них), или пущай дальше работает, а в
On Sun, Nov 11, 2012 at 03:10:01PM +0400, dimas wrote:
демоны-то как раз перезапускаются, когда надо. ejabberd, samba, ssh, например
- при обновлении очень даже рестартятся.
Только при обновлении себя, но не библиотек.
См. тж. checkrestart(1) из пакета debian-goodies.
а в остальных -
11 ноября 2012 г., 21:53 пользователь Andrey Rahmatullin написал:
On Sun, Nov 11, 2012 at 03:10:01PM +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 sleep.pid`
все удалилось без вопросов, процесс висит.
аналогично
On Sun, Nov 11, 2012 at 09:15:10PM +0600, Dmitry Fedorov wrote:
а в остальных - запущенный бинарник уже в памяти давно висит, ему же все
равно, что там на диске с ним, разве нет?
Обычно да, но в пакетах не только бинарники.
Нет, исполняющиеся бинарники отмаплены на их файлы,
Какая разница.
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
Andrey Rahmatullin w...@wrar.name writes:
поэтому при попытке замены выдаётся Text File Busy.
Не замены, а открытия на запись.
А то, что в библиотеки писать не запрещено - по-моему, просто странные
детали реализации.
Стало быть, при замене пакета сначала удаляются файлы старого пакеты, а
а, понял. таки да, при изменении выдает ошибку. через удаление и пересоздание -
пожалуйста.
2012-316 21:45 Andrey Rahmatullin w...@wrar.name wrote:
все удалилось без вопросов, процесс висит.
аналогично проделал с yes - вывод продолжается...
Что вас удивляет? man 2 unlink
--
To
15 matches
Mail list logo