Каталог /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