Если есть необходимость регулярно удалять старые письма, и на сервере в качестве почтового сервера используется Dovecot, то можно прописать в cron такую команду:
мин час * * * /usr/bin/doveadm expunge -u пользователь mailbox ящик savedbefore период
Например, так 0 4 * * * /usr/bin/doveadm expunge -u nospam@4xpro.ru mailbox Inbox savedbefore 30d
Типичные значения для ящика: Inbox (Входящие), Outbox (Исходящие), Trash (Корзина), Spam.
Так же есть возможность выполнить команду для всех пользователей, использовав вместо -u пользователь аргумент -A.

- Перово, Москва, Россия
- me@4xpro.ru
- XXXXPro
Новости сайта в Telegram
t.me/4x_proКомпьютерное
Автоматическая очистка почты при использовании Dovecot

Как починить повреждённый GRUB

Пару раз сталкивался с тем, что GRUB переставал работать, проваливаясь в выдавая ошибки вроде grub error symbol grub_disk_native_sectors not found. Чаще всего такое случается при некорректном обновлении, когда основная часть загрузчика (установленная в загрузочный сектор) обновилась, а модули в /boot/grub — нет, или наоборот, но могут быть и другие причины.
Что делать в таких случаях. Во-первых, можно попытаться загрузить Linux вручную с помощью команд:
insmod linux
set root=/dev/sdaX
linux /boot/vmlinuz-y.z-u-generic root=/dev/sdaX
initrd /boot/initrd.img-y.z-u-generic
boot
Вместо sdaX нужно указать свой раздел (например, /dev/sda1) , а вместо y.z-u-generic — свою версию ядра. Её можно посмотреть с помощью команды ls. Сначала ls покажет список устройств, которые видит grub вида (hd0,msdos1), (hd0,msdos2), (hd1). Дальше нужно повторить ls для каталога /boot с указанием имени устройства перед ним. Т.е. ls (hd0,msdos1)/boot. Дальше выбрать подходящий файл vmlinuz и соответствующий ему initrd (они должны быть одинаковой версии).
Однако в случае повреждения некоторых модулей GRUB такое не работает, начинаются ошибки после команд insmod или linux. Тогда есть два варианта. Либо найти установочный диск/флешку той же версии системы, что установлена на компьютере, и загрузиться с неё. Но загрузочный образ может быть весьма большим, поэтому может оказаться проще использовать другое решение — SuperGrub 2 Disk. Это крошечный образ ISO (менее 20 Мб), в котором есть только загрузчик GRUB с таким файлом конфигурации, который умеет автоматически находить операционные системы на всех доступных разделах, и начинать процесс загрузки. Очень удобно, если нужно чинить GRUB на удалённом сервере с возможностью монтирования ISO через KVM.
После того, как загрузиться удалось, нужно переустановить GRUB командой
sudo grub-install /dev/sdaX
В Debian-подобных системах имеет смысл также обновить файл конфигурации GRUB с помощью команды sudo update-grub.
Просмотр S.M.A.R.T. под Linux

Почти во всех современных жестких дисках есть встроенная система мониторинга состояния, называемая S.M.A.R.T., позволяющая выявить многие проблемы еще до того момента, как диск Но часто возникает вопрос: как посмотреть эти параметры, чтобы убедиться, что с диском все в порядке?
Обычно рекомендуют поставить утилиту smartctl (в большинстве дистрибутивов она идет в пакете smartmontools). Посмотреть параметры с помощью нее можно командой
sudo smartctl -a /dev/sdX
где вместо sdX нужно подставить имя конкретного устройства (sda, sdb и т.д.)
Но эта утилита предназначена для регулярного мониторинга, и при установке создает службу smartd, что нужно далеко не всегда. Поэтому возникает желание найти утилиту, которая только показывает SMART-параметры по запросу и ничего больше. Как выяснилось, в Mint Linux это умеет делать утилита hddtemp, установленная по умолчанию. Для этого ее нужно запустить в отладочном режиме:
sudo hddtemp /dev/sdX -D
Главный ее недостаток — утилита не показывает описания полей SMART-параметров, а только их номера. Но обычно требуется посмотреть только несколько основных, что можно сделать по номерам:
3 — Spin_Up_Time — время раскрутки диска.
5 — Reallocated_Sector_Ct — количество переназначенных секторов, если оно не равно нулю, диск начал разрушаться, и желательно его скорее заменить (кроме того, на большинстве дисков появление таких секторов ведет к падению производительности).
7 — Seek_Error_Rate — количество ошибок чтения из-за позиционирования головок диска.
10 — Spin_Retry_Count — количество повторных раскруток.
197 — Current_Pending_Sector — количество секторов, отмеченных как неустойчивые (кандидаты в relocated).
198 — Offline_Uncorrectable — количество неисправных секторов.
Аппаратное ускорение видео в Ubuntu

Долгое время никак не мог включить аппаратное ускорение видео в Chromium под Ubuntu Linux . В about:gpu выводилось Video Decode: Unavailable, а чуть ниже — Accelerated video decode is unavailable on Linux.
Причина этого выяснилась, когда я поставил утилиту vdpauinfo. Она выдала ошибку:
Failed to open VDPAU backend libvdpau_i965.so: cannot open shared object file: No such file or directory
Как выяснилось, в Ubuntu этот драйвер лежит в пакете с именем i965-va-driver
apt install vdpau-va-driver i965-va-driver
После установки этого пакета и включения в about:flags опции Override software rendering list в about:gpu появилось долгожданное Video Decode: Hardware accelerated.
Добавлено после: как выяснилось, этого недостаточно. До 88 версии в Chromium для Linux аппаратное ускорение было выключено в принципе, даже в about:gpu писалось, что оно есть. В более поздних версиях её можно включить с помощью опций командной строки:
chromium-browser --enable-features=VaapiVideoDecoder --use-gl=desktop
Можно попробовать пойти другим путём: установить драйвер для вывода ускоренного видео через OpenGL surface:
apt install vdpau-va-driver libvdpau-va-gl1
и затем запускать приложение, установив переменную среды VDPAU_DRIVER=va_gl vdpauinfo:
VDPAU_DRIVER=va_gl chromium-browser --enable-features=VaapiVideoDecoder --use-gl=egl
Задержка при загрузке Ubuntu 18.04

Обновился несколько дней назад с Lubuntu 16.04 до Lubuntu 18.04 и столкнулся со странной проблемой: компьютер стал очень долго загружаться. Утилита systemd-analyze показывала, что задержка возникает не в user space, а при загрузке ядра. Из dmesg было видно, что где-то на третьей секунде загрузки ядра компьютер останавливается и ждет 30 секунд без каких-либо ошибок, после чего продолжает загрузку как обычно.
Изначально я предполагал, что ошибка где-то в драйверах. Но после нескольких дней экспериментов и поисков в Google выяснилось следующее: при загрузке Linux пытается восстановиться из состояния гибернации из swap, который у меня отсутствует, и система останавливается, пытаясь считать содержимое памяти неизвестно откуда.
Решается это просто: в параметрах ядра при загрузке нужно указать параметр noresume. В случае, если используется загрузчик GRUB, нужно отредактировать файл /etc/default/grub: строку
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
заменить на GRUB_CMDLINE_LINUX_DEFAULT="quiet noresume"
После этого нужно выполнить
$ sudo /usr/sbin/update-grub
для того, чтобы был сгенерирован новый файл /boot/grub/grub.cfg. При следующей перезагрузке проблема исчезает.
Включаем кеширование DNS в Ubuntu

Недавно подключил Интернет напрямую в ноутбук, без роутера, и обнаружил, что многие сайты стали открываться ощутимо медленнее. При этом по данным speedtest.net скорость соединения стала существенно больше. Стал разбираться, в чем дело. Выяснилось, что хотя в Lubuntu по умолчанию все запросы идут через локальный DNS-сервер dnsmasq, в нем по умолчанию отключено кеширование! Но его достаточно легко включить.
Переключение раскладки по CapsLock в Lubuntu

Установил недавно Lubuntu и обнаружил, что настроить с помощью GUI переключение раскладки клавиатуры по CapsLock не получается. Стал искать решение, и нашел следующее:
Читать далее…Подключение внешнего монитора к ноутбуку с двумя видеокартами в Linux

Недавно сделал загрузочную флешку с ArchLinux. Система очень понравилась: компактная, занимает мало памяти, быстро загружается (12 секунд до консоли с флешки и 15 до GUI), определяет почти все "железо" без дополнительных действий. Решил использовать на ноутбуке, но тут возникла сложность: большую часть времени он у меня находится под столом, а изображение выводится на внешний монитор. Linux же выдавал изображение только на панель самого ноутбука. Кроме того, на аккумуляторах компьютер работал гораздо меньше, чем обычно. Я стал разбираться, что с этим делать.
Читать далее…