[devel] R-base upgrade (was: cpio...)
Alexey Tourbin
at на altlinux.ru
Вт Янв 30 22:15:29 MSK 2007
On Tue, Jan 30, 2007 at 10:00:03PM +0300, Dmitry V. Levin wrote:
> > > То есть это некая типовая ситуация: переместил каталог, поставил симлинк
> > > для совместимости. Обновление нормально работать не будет. Как быть в
> > > такой ситуации?
> >
> > Новый прикол.
>
> Не надо превращать каталог с файлами в симлинк на каталог с файлами.
> Если очень хочется это сделать, то необходимо обеспечить отсутствие этой
> ссылки до тех пор пока не будет удалена старая сборка пакета.
> Иначе при обновлении пропадут файлы, которые присутствуют в обеих сборках.
Кажется я начинаю понимать, в чем здесь может быть дело.
То есть в соответствии с со стадиями обновления, описанными здесь:
/usr/share/doc/rpm-4.0.4/manual/triggers
дело обстоит так:
1) rpm сначала распаковывает все новые файлы;
2) чрезе некоторое время после этого rpm удаляет все старые файлы.
Если рассмотреть это на уровне системных вызовов, то происходит вот что:
1)
mkdir /etc/R
unlink /etc/R/ldpaths -- like install(1)
open /etc/R/ldpaths O_WRONLY
...
symlink ../../etc/R /usr/lib/R/etc
2)
unlink /usr/lib/R/etc/ldpaths
Вся трудность в последнем unlink'е. Симлинк уже стоит и
/usr/lib/R/etc/ldpaths фактически разрешается в /etc/R/ldpahts.
Следовательно, будет удален новый файл /etc/R/ldpahts.
Что-то мысли мои смутились.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.org/pipermail/devel/attachments/20070130/67bf3ad2/attachment.bin
Подробная информация о списке рассылки Devel