Ловушка для пользователей проприетарщины (Dropbox)

Пользователи проприетарщины в очередной раз попали в ловушку, ха-ха!
Проприетарный синхронизационный клиент Dropbox прекращает поддержку всех ФС в Linux, за исключением Ext4: http://www.opennet.ru/opennews/art.shtml?num=49119
https://www.dropboxforum.com/t5/Syncing-and-uploads/Linux-Dropbox-client-warn-me-that-it-ll-stop-syncing-in-Nov-why/m-p/290058#M42250

Типа разработчики Dropbox хотят использовать расширенный атрибуты файловой системы (xattrs), они поддерживаются в _большинстве_ файловых систем, в т.ч. BTRFS и XFS, однако, судя по всему, разработчкам проприетарщины стало влом тестировать свои костылепеды на них и поэтому они решили просто отказаться от их синхронизации, хотя чисто технически все должно работать.

Вот так вот пользователи проприетарщины внезапно обломались.

Если что, клиент облака mega.nz megasync имеет открытый код и работает на BTRFS. yandex-disk (проприетарный) тоже на ней нормально работает.

BigBlueButton: онлайн просмотр записи во фрейме на другой веб-странице

Использовать следующий код:

<iframe src="ССЫЛКА НА СТРАНИЦУ С ЗАПИСЬЮ" width="1024" height="550"></iframe>

Читать далее BigBlueButton: онлайн просмотр записи во фрейме на другой веб-странице

phpmyadmin: Variable lc_messages can’t be set to the value of ru_RU

У меня на Ubuntu 18.04 + MySQL 8.0 + phpmyadmin + панель Vesta CP возникла такая ошибка:
Variable 'lc_messages' can't be set to the value of 'ru_RU'

Решением стало переименование папки с русской локализацией:
Читать далее phpmyadmin: Variable lc_messages can’t be set to the value of ru_RU

Пересоздаем MySQL после серьезного повреждения (в т.ч. на Vesta CP). Сброс root-пароля MySQL. Закончилось место на BTRFS, MySQL упал.

Симптомы в логе MySQL такие:

[ERROR] InnoDB: Invalid redo log header checksum.
[ERROR] InnoDB: Plugin initialization aborted with error Generic error

Читать далее Пересоздаем MySQL после серьезного повреждения (в т.ч. на Vesta CP). Сброс root-пароля MySQL. Закончилось место на BTRFS, MySQL упал.

WPS Office на ALT Linux

$ wpp
/opt/kingsoft/wps-office/office6/wpp: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory

Решается так:

su -
ln -s /lib64/libbz2.so.1 /lib64/libbz2.so.1.0
exit

ALT bug 35320
ROSA bug 9286

Отзываем ключ SSH на серверах

Сначала смотрим, какие ключи авторизованы (обратите внимание, что у каждого пользователя свой набор авторизованных ключей SSH):
cat ~/.ssh/authorized_keys
На каждой строке будет авторизованный ключ, а в конце строки идет имя_пользователя@имя_хоста авторизованного пользователя. В моем случае это было user@ChuwiHi12-Linux.
Нам нужно удалить у всех пользователей этот публичный ключ из списка авторизованных ключей SSH, для этого выполняем команду:
for i in $(/bin/ls /home/); do sudo sed -i -e '/ChuwiHi12/d' /home/$i/.ssh/authorized_keys; done

где вместо ChuwiHi12 текст, содержащийся в каждой строке, подлежащей удалению.

Работать будет и с BSD, и GNU coreutils, в т.ч. в минималистичном POSIX-шелле /bin/sh.

Обратите внимание, здесь подразумывается, что домашние папки всех пользователей имею путь вида /home/имя_пользователя, однако технически путь может быть любым, и тогда эта команда не сработает, но вы вряд ли захотите ее копипастить, если самостяотельно настроили нестандартные домашние каталоги пользователей Linux/FreeBSD/Solaris/UNIX.

Зачем я это делал? Планшет перестал включаться, он еще на гарантии, и несу его в ремонт. Не хочу, чтобы с него могли без пароля войти на мои сервера.

Сжимаем файл через xz

Захотелось мне сжать образ вирутальной машины для отправки другому человеку.
xz -e --threads=0 --keep -8 -v ALT_LXDE_Sisyphus.qcow2
Создаст сжатый файл ALT_LXDE_Sisyphus.qcow2.xz

Образ диска или раздела через dd пайпом в архиватор xz

Упаковать раздел в файл:
sudo dd if=/dev/sda9 bs=1M status=progress | xz --format=lzma > out.lzma
затем на новом диске создайте раздел в той же файловой системе и распакуйте в него упакованное с LiveCD (запустив любуой линукс с флешки):
su -
xz -F lzma -d -k -c out.lzma | dd of=/dev/sda9 bs=1M

В последней команде наверняка есть лишнее, это копипаста по ссылке, но работать должно.

Другое сжатие, не в один поток, а используя все ядра процессора:
sudo dd if=/dev/sdg bs=8M | xz -8 --threads=0 --keep -8 -v > obraz.img.xz

Говорят, еще есть qt5-fsarchiver, но я бы не стал им пользоваться, когда можно сделать влоб.
Последнюю команду можно изменить так, чтобы полученный архив распаковать в образ, а образ примонтировать как loop-устройство в режиме только чтения, открыть через самый обычный файловый менеджер и вручную скопировать нужные файлы

PulseAudio 12.0, PulseEffects 4.1.1, calf-plugins 0.90.0 на Ubuntu 18.04, 18.10

Сегодня у нас сборочные сервера Canonical усердно работали и собрали:

* PulseAudio 12.0 для Ubuntu 18.04 (Mint 19) и 18.10 вместо штатной PulseAudio
В 12.0 сделали адекватную работу module-switch-on-connect (включен по умолчанию в Ubuntu и делает подключаемые устройства вывода дефолтными) при добавлении вирутальных устройств вывода. Это нужно для работы PulseEffects без ручных переключений в pavucontrol после запуска (https://github.com/wwmm/pulseeffects/issues/99).
* * PulseAudio 12.0 собран с сохранением убунтопатчей для дефолтных конфигов, но патчи для AppArmor и Snappy убраны, поэтому _может_ отвалиться звук у snap-пакетов
* * Собрано только в тестовый PPA: https://launchpad.net/~mikhailnov/+archive/ubuntu/desktop1-dev/

Для установки PulseAudio 12.0 на Ubuntu 18.04, 18.10, Mint 19:

sudo add-apt-repository ppa:mikhailnov/desktop1-dev
sudo apt dist-upgrade

* calf-plugins 0.90.0, которые нужны для правильной работы PulseEffects ⩾ 4.0 (https://github.com/wwmm/pulseeffects/issues/227)
* PulseEffects 4.1.1

calf-plugins и pulseffects собраны и в основной репозиторий PulseEffects, и в упомянутый выше ppa:mikhailnov/desktop1-dev, и в мой основной репозиторий ppa:mikhailnov/utils. Pulseaudio 12.0 только в тестовый репозиторий desktop1-dev.

Для установки PulseEffects на Ubuntu 18.04, 18.10:

sudo add-apt-repository ppa:mikhailnov/pulseeffects
sudo apt install pulseeffects

P.S. Теперь add-apt-repository автоматически делает apt update, но это отключается ключом ‘-n’.