Сжимаем файл через 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’.

PulseAudio в Ubuntu

Все-таки многие десктопные пакеты, например, PulseAudio, в Ubuntu качественно готовят.

В PulseAudio 11 в Ubuntu 18.04 патчами бекпортированы исправления багов, вошедшие только в PulseAudio 12, при чем многие из этих патчей написаны сотрудниками Canonical (почта у людей @canonical.com) и отправлены в апстрим.

Еще мне очень нравится, как в Ubuntu патчат дефолтный конфиг PulseAudio. Например, в него добавляют включение модуля module-switch-on-connect, благодаря чему при подключении USB/Bluetooth гарнитур, звуковых карт, микрофонов они становятся стройствами ввода-вывода по умолчанию до отключения, а все имеющиеся на момент подключения звуковые потоки перенаправляются в подключенное устройства. Это очень удобно. Подключил USB микрофон — он стал микрофоном везде и автоматически, не нужно вручную переключать.

Они еще в конфиге ставят flat-volumes = no, что позволяет регулировать громкость аудиопотока приложения (вкладка «Проигрывание» в pavucontrol) относительно громкости устройства вывода, иначе эти 2 громкости совпадают. Это тоже очень удобно.

Удалить программу в ROSA Fresh

Сначала узнаем пакет, которому принадлежит основной исполняемый файл docky:
urpmf $(which docky)
Эта команда выполнит команду which docky и подставит в первую команду результат ее выполнения.
urpmf в ответ выдаст название пакета, которому принадлежит основной исполняемый файл docky. Удаляем этот пакет: sudo urpme docky, где вместо docky обнаруженное название пакета, которое в данном случае наверняка будет одноименным.
Т.к. при установке docky в качестве зависимостей были подтянуты другие пакеты, но после удаления docky они останутся, они станут сиротами. Сирота — это пакет, автоматически подтянутый как зависимость, но затем ставший ненужным, когда удалили то, ради чего он ставился.
Команда
sudo urpme --auto-orphans
Но по моим наблюдениям работа этой команды в Росе нестабильна.

Откат снапшота BTRFS

mount /dev/sda1 /tmp/0

ls /tmp/0 выдаст:
@ @home (подтома как папки)

btrfs subvol snapshot /tmp/0/@ /tmp/0/@_snapshotname
btrfs subvol snapshot /tmp/0/@home /tmp/0/@home_snapshotname

ls /tmp/0 выдаст:
@ @home @_snapshotname @home_snapshotname (подтома как папки)

umount /tmp/0

Для отката как на горячую, так и из лайва/в чруте:
mv -v /tmp/0/@_rolledback
mv -v /tmp/0/@_snapshotname /tmp/0/@
reboot

dumasnap v0.2

В dumasnap добавлен таймер systemd, который раз в сутки автоматически через apt-btrfs-snapshot создает снапшот (снимок) корня системы, установленной в подтом BTRFS ‘@’.

Читать далее dumasnap v0.2

Разработчик ReactOS о BTRFS для Windows и ReactOS

Начало беседы: https://t.me/radioma/65298
> Чо там нового у Реактоса?
> Запиливаем BTRFS как основную фс
Читать далее Разработчик ReactOS о BTRFS для Windows и ReactOS

Обновляем MySQL 5.7 —> 8.0 на Ubuntu 18.04 с панелью Vesta

Скачиваем deb-пакет, который при установке автоматически настроит репозиторий MySQL Community Edition от Oracle. По ссылке внизу «No, tanks, just begin my download». Нажмите на нее правой мышью и скопируйте ссылку на deb-пакет, т.к. ниже я вставил ту, что была акутальна на момент написания статьи.

cd /tmp
wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
apt install ./mysql-apt-config*.deb

В открывшемся консольном диалоге настройки выберите, что сейчас у вас MySQL 5.7 (скрипт сам это определит и предложит), потом — что хотите поставить 8.0, нажмите стрелку вправо для перевода фокуса на нижний «Ok» и Enter.

apt update
apt dist-upgrade
mysql_upgrade --force -uroot -p