On Thu, Jan 18, 2007 at 04:15:25PM +0200, Doroshok Stanislav wrote:
> есть к примеру пакет foobar.
> в нём 4 конфигурационных файла.
> я изменил один файл. при обновлении 
> этого пакета 3 файла будут обновлены и один останется
> нетронутым, потому как я его изменял (согласно debian-policy).
> вопрос: как посмотреть что 3 файла были заменены.

У каждого файла есть 3 timestamp-а:
 - atime - время, когда к файлу обращались (читали)
 - mtime - время, когда изменялись данные файла (write,truncate,open с
   опциями TRUNCATE CREATE и т. д.)
 - ctime - время, когда менялись атрибуты файла (в широком смысле слова
   - включает в себя и изменение данных файла).

То есть можно тупо смотреть на ctime (я примерно год назад делал
табличку из системных вызовов и timestamp-ов которые они помечают для
обновления - могу еще раз запостить).

В /var/lib/dpkg/info есть файл <имя_пакета>.postinst. По моим
предположениям ctime у него должно быть не больше, чем время, когда
начнется распаковка файлов пакета из подархива data.tar.gz (и тем более
будет запущен postinst скрипт).

Соответственно мое предположение, что если ctime у конфига не меньше,
чем ctime у этого файла - то он был переписан при обновлении пакета или
позже.

Если файл был просто распакован из data.tar.gz, то похоже, что файл
<имя_пакета>.list будет не старее, чем оный конфиг.

Если конфиг редактировался из postinst скрипта, то он может быть заметно
новее, чем <имя_пакета>.list (на несколько секунд или минут).

Все умозаключения проведены на примере пакета libclamav1 (и вроде фактам
не противоречат). Запостить не могу по причине того, что на данный
момент у меня не работает copy-paste (пишу в голой консоли, а
извращаться с запихиванием результатов команд с соседней машины в текст
мне лень).

WBR
Dmitri Ivanov


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить