Когда я выполняю следующую команду на своем Lubuntu 12.10
[11:09 PM] ~ $ find /usr/share/icons/ -iname icon-theme.cache -type f
Я получаю следующее (после того, как, добавляя последнюю измененную дату и размер):
/usr/share/icons/lubuntu/icon-theme.cache 20121125 61.2 KiB
/usr/share/icons/Humanity-Dark/icon-theme.cache 20120810 40.6 KiB
/usr/share/icons/Humanity/icon-theme.cache 20120810 931.9 KiB
/usr/share/icons/gnome/icon-theme.cache 20121017 65.8 MiB
/usr/share/icons/ubuntu-mono-light/icon-theme.cache 20130408 140.0 KiB
/usr/share/icons/LoginIcons/icon-theme.cache 20130408 628 bytes
/usr/share/icons/ubuntu-mono-dark/icon-theme.cache 20130408 139.9 KiB
/usr/share/icons/hicolor/icon-theme.cache 20130406 12.4 MiB
/usr/share/icons/elementary-mono-dark/icon-theme.cache 20120926 12.4 KiB
И все эти файлы, как показано в примере ниже, имеют тип TrueType font data
:
[11:09 PM] ~ $ file /usr/share/icons/hicolor/icon-theme.cache
/usr/share/icons/hicolor/icon-theme.cache: TrueType font data
Мои вопросы, все тесно связанные:
icon-theme.cache
и какова его функция? Из чего значение cache
в этих именах файлов? Определение кэш-тега - это: "кэш хранит временные данные поблизости так, чтобы это могло быть получено намного более быстро, чем выборка его от реального запоминающего устройства (диск, сеть), или перевычисление некоторого результата снова и снова".gnome
и hicolor
самое большое, потому что они обеспечивают значки нейтрализации (поскольку я читал где-нибудь)? ubuntu-mono
потому что они пришли, когда я установил light-themes
по телефону 20130408. Эти файлы становятся измененными в ходе переключающихся тем, или даты являются просто отражением даты установки?Для понимания, почему нам нужны эти файлы необходимо сначала понять понятие отображающихся файлов к памяти.
Файлы С отображенной памятью: файлы С отображенной памятью являются сегментами виртуальной памяти, которые непосредственно отображаются на физическом файле на диске, байте байтом. Это обладает многими преимуществами по традиционному вводу-выводу на основе потоков, такими как производительность во время произвольного доступа к большим файлам или способность совместно использовать расширенную память между различными потоками и процессами.
Доступ к файлам с отображенной памятью быстрее, чем использование прямых операций чтения и операций записи по двум причинам. Во-первых, системный вызов является порядками величины медленнее, чем простое изменение в локальной памяти программы. Во-вторых, в большинстве операционных систем регион памяти, отображенный на самом деле, является кэшем страницы ядра (кэш файла), подразумевая, что никакие копии не должны быть созданы в пространстве пользователя.
Теперь, отвечая на Ваши вопросы один за другим:
Что такое значок-theme.cache и какова его функция? Каково значение кэша в этих именах файлов?
Значок-файла-theme.cache содержит кэшируемую информацию о значках в дереве каталогов ниже определенного каталога (который, оказывается, тот, содержащий index.theme
для конкретной темы).
GTK + может использовать файлы кэша для предотвращения большого системного вызова и поиска на диске наверху, когда приложение запускается. Так как формат файлов кэша позволяет им быть с отображенной памятью совместно использованный несколькими приложениями, полное потребление памяти уменьшается также.
Почему размеры файла так разнообразны?
Размеры файла зависят от количества значков в знаковой теме.
Что относительно дат?
Если мы берем кэши памяти, что-то присутствует в кэше, только если некоторый процесс получает доступ к конкретной ячейке памяти и остается там, если кэш не полон, и тот элемент должен быть удален.
Следовательно, дата модификации, скорее всего, зависела бы от того, когда некоторый процесс обновил ее. В этом случае это могло бы быть, когда значки от темы использовались.
Существует, действительно, команда для обновления названного кэша значка gtk-update-icon-cache
.
Источники и дополнительная информация:
man gtk-update-icon-cache
в текущем (13.04) страницы справочника