[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: