Red Hat Bugzilla – Bug 136023
[FHS] [read-only /usr] python(?) creates files not tracked by RPM in /usr/lib/python2.3/lib-dynload/japanese/, others
Last modified: 2007-11-30 17:10:52 EST
After an installation of Fedora Core rawhide, an unknown process modifies files
in the path ``/usr/lib/python2.3/lib-dynload/japanese/'', and others.
``/usr/lib/python2.3/lib-dynload/japanese/'' is owned by the package ``python''.
``/usr is the second major section of the filesystem. /usr is shareable,
read-only data. That means that /usr should be shareable between various
FHS-compliant hosts and must not be written to. Any information that is
host-specific or varies with time is stored elsewhere.''
``/usr/lib includes object files, libraries, and internal binaries that are not
intended to be executed directly by users or shell scripts.''
The file __init__.pyo, in this hierarchy, does not appear to be an object file,
library, nor internal binary, but temporary optimized code. It is also not
tracked by package management as it was [apparently] generated or modified
during run time and left unassociated with the package it was generated by. As
the data appears to be regenerated on the fly, it may be best suited for storage
in the ``/var/lib'' or ``/var/cache'' hierarchies.
``/var is specified here in order to make it possible to mount /usr read-only.
Everything that once went into /usr that is written to during system operation
(as opposed to installation and software maintenance) must be in /var.''
``This hierarchy holds state information pertaining to an application or the
system. State information is data that programs modify while they run, and that
pertains to one specific host. Users must never need to modify files in /var/lib
to configure a package's operation.
State information is generally used to preserve the condition of an application
(or a group of inter-related applications) between invocations and between
different instances of the same application. State information should generally
remain valid after a reboot, should not be logging output, and should not be
``/var/cache is intended for cached data from applications. Such data is locally
generated as a result of time-consuming I/O or calculation. The application must
be able to regenerate or restore the data. Unlike /var/spool, the cached files
can be deleted without data loss. The data must remain valid between invocations
of the application and rebooting the system.''
Steps to Reproduce:
Created attachment 105327 [details]
list of all files in /usr/lib/python2.3/ that are in neither rpmdb nor rpmdb-fedora
This may have something to do with the fact that the buildroot is
present in the .pyc files (bug 131439)
python-2.3.4-12 should fix the .pyc files.
I now have python-2.4-0.b2.3 installed, and /usr/lib/python2.3 appears to be
orphaned. The directory itself is not owned by any package (/usr/lib/python2.4,
on the other hand, is owned by python-2.4-0.b2.3) and there are a large number
of files and subdirectories that are similarly orphaned.