Re: perl 5.20.2-3+deb8u6
On Wed, Jul 27, 2016 at 12:55:37PM +0300, Victor Wagner wrote:
>
> Тут при установке очередного секьюрити-апдейта perl возникла проблема
>
> Cannot write to /usr/bin/cpan: Device or resource busy.
...
> 1. Сначала руками поставить perl-base - возникает та же ошибка на
> другом исполняемом файле (/usr/bin/perl)
Выглядит так, как будто эти файлы кто-то держит открытыми по mmap(),
а инсталлятор пытается открыть их на запись. Для файла /usr/bin/cpan
это вообще очень странно, потому что это не бинарник, а перловый скрипт,
он не должен mmap-иться при запуске. Покажите выдачу
fuser -v /usr/bin/cpan
fuser -v /usr/bin/perl
Инсталлятор тоже не должен открывать на запись существующие файлы,
он должен создавать временный файл, записывать в него новую версию,
затем делать атомарный rename(2). Я бы посмотрел результат
strace -o /tmp/upd.strace aptitude install perl-...
egrep '/usr/bin/(perl|cpan)' /tmp/upd.strace
а потом поковырял /tmp/upd.strace на предмет того, из какого подпроцесса
выполняются сисколы, вызывающие ошибку. Если ошибку вызывает rename(), то
скорее всего в ядре включены какие-то вычурные опции security.
--
Eugene Berdnikov
Reply to: