Роман Алискин: .local share baloo занимает много места baloofileextractor сильно грузит процессор baloofile ᐱ

Каталог /home/user/.local/share/baloo/ занимает много гигабайт? Вы его постоянно удаляете, но он снова-и-снова появляется. Что делать? Без художественных вступлений(!), рассказываю Пакет baloo (в него входит несколько программ) предназначен для индексирования (или индексации?) файлов. Зачем индексация нужна? Ну хотя бы для быстрого поиска файлов, если вы задаете в графической программе, расширенные параметры поиска (по содержимому, по дате, по размеру).
В Убунте (или Убунту) есть два очень схожих (почти одинаковых пакета): baloo4 и baloo-kf5. Какая разница между ними я детально не интересовался. В этих пакетах есть такие программы\команды:
balooctl — управляет всем индексированием

baloo_file_extractor — каким то хандибубером
извлекает метаданные из файлов

baloosearch — для поиска файлов по всему индексу,
или в конкретной директории

baloo_file — наверное используется для обработки одного файла.
Детально не вникал. Но в сети полно жалобливых жалоб,
на тему того что этот процесс грузит систему на 100%.

balooshow — какая-то хрень, которая выводит какую-то
информацию о наличии каталогов и файлов в индексе
(количество строк, какой-то номер и еще что-то)

Афигенно я опьясняю, да?
Вы также можете заметить файл baloo_filemetadata_temp_extractor, но он, НАВЕРНОЕ, предназначен для показа метанформации на панели файлового менеджера.
Этот файл не из этого пакета. Далее… Стоить обратить внимание на balooctl. Запустив команду с параметром -h мы увидим:
balooctl -h
Использование: balooctl [параметры] command status enable disable start stop restart
suspend resume check index clear config monitor indexSize

Параметры:
  -f, --format <format>  Output format <json|simple|multiline (default)>.
                         Only applies to "balooctl status <file>"
  -v, --version          Отобразить информацию о версии.
  -h, --help             Отобразить эту справку.

Аргументы:
  command                Команда для выполнения.
  status                 Вывести состояние программы индексирования файлов.
  enable                 Включить индексирование файлов.
  disable                Выключить индексирование файлов.
  start                  Запустить индексирование файлов.
  stop                   Остановить индексирование файлов.
  restart                Перезапустить индексирование файлов.
  suspend                Приостановить индексирование файлов.
  resume                 Возобновить индексирование файлов.
  check                  Найти непроиндексированные файлы и проиндексировать
                         их.
  index                  Проиндексировать указанные файлы.
  clear                  Забыть указанные файлы.
  config                 Изменить настройку Baloo.
  monitor                Наблюдать за индексированием файлов.
  indexSize              Показать объём дискового пространства, используемого
                         индексом.
Не знаю стоит ли мне повторять то что так должно быть понятно(?) Остановлюсь лишь на некоторых важных вещах: Чтобы остановить индексирование (!!!ЕСЛИ ПРОГРАММА АКТИВНО РАБОТАЕТ!!!), сначала выполните команду

balooctl suspend

и только потом

balooctl stop

Почему так? Потому что при balooctl stop (!!!ЕСЛИ ПРОГРАММА АКТИВНО РАБОТАЕТ!!!), процессы продолжают работать.Потом приходится искать процесс в памяти и убивакивать его или просто без поиска процесса стрельнуть командой killall baloo_file. Для наблюдения за текущим индексированием выполните команду
balooctl monitor
Для полного запрета автоматического старта индексирования можете выполнить
balooctl disable
Все это хорошо, но как решить проблему с большой и не нужной папкой /home/user/.local/share/baloo/ ??? Щас еще чуток теории, а потом всё станет понятно. Обратим внимание на опцЫю config. А точнее на
balooctl config list
Список параметров конфигурации, которые можно просмотреть:

  hidden                   Следует ли Baloo индексировать скрытые файлы и папки
  contentIndexing          Следует ли Baloo индексировать содержимое файлов.
  includeFolders           Список папок, которые Baloo должен индексировать
  excludeFolders           Список папок, которые Baloo не должен индексировать
  excludeFilters           Список фильтров, используемых для исключения файлов из процесса индексирования
  excludeMimetypes         Список типов файлов, используемых для исключения файлов из процесса индексирования.
Ну вот в принципе и всё. Дальше можете без подсказок понять что к чему и зачем, но… Да, есть еще одно но: Индексировать скрытые файлы\папки оно не хочет (по состоянию на конец июля 2019), а также имеются некоторые баги-непонятки. В итоге отрываем файл конфигурации
/home/user/.config/baloofilerc
и указываем что нужно индексировать, а что не нужно. Думаю, вы сумеете разобраться в 10 строках этого файла. У меня из индекса исключены такие директории:
balooctl config ls excludeFolders 
/home/user/.cache 
/home/user/.local/share/baloo 
/home/user/.mozilla 

хотя конечно это наверное тупо, запрещать индексирование в скрытых директориях
если оно и так не работает (в скрытых!)

/home/user/NB_8.2 
/home/user/VirtualBox VMs 
/home/user/books 
/home/user/dnl 
/home/user/netbeans-8.2
А индексируется вот это:
balooctl config ls includeFolders 
/home/user 
/var/www 
При этом если вы запретили индексацию монтируемого раздела диска, но хотите включить в индекс какую-то директорию на этом разделе, то добавив путь к директории в конфигфайле, она будет индексироваться. Ну и понятное дело, ненужные картинки, медиафайлы можно
(нужно!)
исключать из индекса. Глянуть что исключено
balooctl config ls excludeFilters
Все настройки удобнее задавать, редактируя конфигфайл. У меня размер папки с структурированными данными
уменьшился
с 1,7 ГБ до 45 МБ
. И напоследок пару слов о поиске по индексу. Обратите внимание на параметр
-d
baloosearch 
Использование: baloosearch [параметры] запрос

Параметры:
  -l, --limit <ограничение>   Максимальное число результатов поиска.
  -o, --offset <смещение>     Смещение в списке результатов поиска.
  -t, --type <название_типа>  Тип данных для поиска
  -d, --directory <каталог>   Ограничить поиск указанным каталогом.
  -h, --help                  Отобразить эту справку.
  -v, --version               Отобразить информацию о версии.

Аргументы:
  запрос                      Список слов, которые следует искать.
Ааа, и еще одно: Если когда-то индексация будет применима к скрытым файлам\папкам, то наверное стоит исключить путь ~/.local/share/baloo/ из индексации. Почему так не хочу объяснять :). И напоследок: команда считающая занимаемое место
du -hs /бла-бла
.
user@mbs:~$ du -hsc .local/share/baloo/*
45M     .local/share/baloo/index
4,0K    .local/share/baloo/index-lock
45M     итого
user@mbs:~$ 
Ну и еще рекомендую познакомиться с
ncdu
.
--- /media/user/466/MEDIA
                         /
   56,4 GiB [##########] /FILMS
   40,1 GiB [#######   ] /Video
    3,0 GiB [          ] /Music
    2,1 GiB [          ] /unsort
Эта консольная программа позволяет быстро оценить кто\что сколько занимает места в файловой системе. Есть еще какая-то фигня тоже шототипа связанная с индексированием, но собирает она данные об установленных программах(?), называется xappian или xcapitan. Я ее убрал уже давно-давно, сразу же после установки. И сейчас я точно не помню что я делал. Для примера показываю свой конфигфайл (обратите внимание на
exclude filters=
):
[Basic Settings]
Indexing-Enabled=true

[General]
dbVersion=2
exclude filters=CMakeFiles,CVS,.obj,*.rej,*.gmo,.xsession-errors*,_darcs,lost+found,moc_*.cpp,*.vm*,lzo,*.swap,.uic,.moc,*.loT,autom4te,libtool,litmain.sh,*.o,__pycache__,*.m4,.hg,*.orig,*~,CTestTestfile.cmake,*.nvram,*.pyc,*.pc,*.tmp,.histfile.*,core-dumps,*.rcore,CMakeCache.txt,*.part,*.la,qrc_*.cpp,ui_*.h,*.omf,po,CMakeTmpQmake,.git,*.po,*.elc,.svn,cmake_install.cmake,conftest,.bzr,.pch,*.aux,*.class,*.lo,*.moc,*.csproj,confdefs.h,CMakeTmp,config.status,confstat,Makefile.am,*.mp3,*.mp4,*.avi,*.png,*.gif,*.jpg,*.jpeg
exclude filters version=2
exclude folders[$e]=/media/user/60/,/media/user/466/,$HOME/dnl/,$HOME/books/,$HOME/NB_8.2/,$HOME/netbeans-8.2/,$HOME/.local/share/baloo/,$HOME/VirtualBox VMs/,$HOME/.cache/,$HOME/.mozilla/
first run=false
folders[$e]=$HOME/,/var/www/
index hidden folders=false
only basic indexing=false
view 0
Роман Алискин
создатель tbs-mbs
asc
Для добавления комментариев выполните вход на сайт