Что касается
Если двоичный пакет обеспечивает какие-либо независимые от двоичного файла модули (foo.py файлы), соответствующие скомпилированные модули байта (foo.pyc файлы) и оптимизированные модули (foo.pyo файлы) не должны поставляться в пакете. Вместо этого они должны быть сгенерированы в postinst пакета и удалены в prerm пакета. prerm пакета должен удостовериться, что и foo.pyc и foo.pyo удалены.
Это означает, что байт скомпилировал файлы (.pyc/pyo
) должен быть удален в prerm фазе.
Таким образом, я получил ответ к сначала своему вопросу.Not отмечающий это как корректный.Needs больше внимания на это.
IIRC, когда-то был патч только для RedHat, который делал это настраиваемым в ядрах RedHat.
Инго Молнар предложил нечто подобное в 2007 году, но его патч не был объединен.
Текущие ядра используют фиксированный однодневный интервал, введенный коммитом 11ff6f05f1e836a6a02369a4c4b64757e484adc1 в марте 2009 г.
Выдержка из fs/inode.c:
/* * With relative atime, only update atime if the previous atime is * earlier than either the ctime or mtime or if at least a day has * passed since the last atime update. */ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode, struct timespec now) { if (!(mnt->mnt_flags & MNT_RELATIME)) return 1; /* * Is mtime younger than atime? If yes, update atime: */ if (timespec_compare(&inode->i_mtime, &inode->i_atime) >= 0) return 1; /* * Is ctime younger than atime? If yes, update atime: */ if (timespec_compare(&inode->i_ctime, &inode->i_atime) >= 0) return 1; /* * Is the previous atime value older than a day? If yes, * update atime: */ if ((long)(now.tv_sec - inode->i_atime.tv_sec) >= 24*60*60) return 1; /* * Good, we can skip the atime update: */ return 0; }
Я не совсем уверен, что это также зависит от используемой файловой системы. Согласно linux-4.2.4/Documentation/filesystems/ocfs2.txt
, OCFS2
имеет atime_quantum
...