Установка openCL из состава драйвера amdgpu-pro

Скачиваем архив с драйверами https://www.amd.com/ru/support
Создаем папку для локального репозитория

sudo mkdir -p /var/lib/repo

Распаковываем тарбол в выше созданную папку с сохранением структуры каталогов
Создаем repo файл

1
2
3
4
5
6
7
8
[amdgpu]
name=AMDGPU Packages
baseurl=file:///var/lib/repo/
enabled=1
skip_if_unavailable=1
gpgcheck=0
cost=500
metadata_expire=300

Устанавливаем пакеты

1
sudo zypper install libdrm-amdgpu libdrm-amdgpu-common clinfo-amdgpu-pro opencl-amdgpu-pro-comgr amdgpu-pro-core opencl-amdgpu-pro-icd libopencl-amdgpu-pro

Далее нужно найти файл mesa.icd и удалить его или переименовать.

Перезагрузить ПК.

Автоматическая разблокировка зашифрованного раздела LUKS

Создать папку для ключей, например

sudo mkdir -p /etc/keys

Создать ключи

sudo dd if=/dev/urandom of=/etc/keys/home.key bs=1024 count=4

Даем права на файлы ключей

 sudo chown root:root /etc/keys/home.key
 sudo chmod 0400 /etc/keys/home.key

Добавляем ключи в слоты LUKS

sudo cryptsetup luksAddKey /dev/sdxX /etc/keys/home.key

Отредактировать файл /etc/crypttab добавив путь до созданного файла ключа

luks-home UUID=ABCD012345 /etc/keys/home.key luks

После перезагрузки разделы будут расшифровываться автоматически.
Для хранения ключей от корневого раздела желательно хранить на аппаратных токенах.

Автоматическое резервное копирование

Создаем скрипт

backup.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh
set -e

dir="/srv/www/htdocs/nextcloud/"
file="/media/BACKUPS/CLOUD/nextcloud_$(date +%d.%m.%Y-%H.%M).tar.bz2"
key="FEAFA65DEABC54090D31CDDF7CF4FAF9806C240E"

echo -n "Создаю резервную копию $file..."
tar --one-file-system \
--use-compress-program=pbzip2 \
--exclude=".Trash" \
-c -p -f $file -C $dir . \
2>/dev/null && echo " Выполнено." || echo " ОШИБКА!"

echo -n "Подписываю резервную копию используя открытый ключ..."
gpg2 --out "$file.asc" --recipient "$key" --encrypt "$file" && echo " Выполнено." || echo " ОШИБКА!"

echo -n "Удаляю незашивровынный файл бекапа..."
rm -f "$file" && echo " Выполнено." || echo " ОШИБКА!"

echo "Резервная копия $file.asc успешно создана"

dir= что копируем

file= имя и расположение файла бекапа

key= Наш публичный ключ

--use-compress-program=pbzip2 многопоточное сжатие в bz2 архив

--exclude= Исключенные папки из резервной копии

Автоматизация

Создаем сервис и таймер

Сервис

1
2
3
4
5
6
[Unit]
Description=Backup contents of user's home directory

[Service]
Type=oneshot
ExecStart=/root/bin/backup.sh

Таймер

1
2
3
4
5
6
7
8
9
10
[Unit]
Description=Daily backup contents of user's home directory

[Timer]
OnCalendar=*-*-* 1:00:00
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target

Включаем таймер

systemctl enable --now blabla-backup.timer

Расшифровка архива

gpg2 --out "nextcloud_ДД.ММ.ГГГГ-чч.мм.tar.bz2" --decrypt "nextcloud_ДД.ММ.ГГГГ-чч.мм.tar.bz2.asc"

Настройка входа по ЭП на сайт Госуслуг на openSUSE

Скачиваем плагин и устанавливаем

https://ds-plugin.gosuslugi.ru/plugin/upload/

Так же должен быть установлен пакет lsb-cprocsp-pkcs11 из состава КриптоПРО

Далее нужно создать несколько символических ссылок

sudo ln -s /etc/opt/chrome/native-messaging-hosts/ru.rtlabs.ifcplugin.json /etc/chromium/native-messaging-hosts/

sudo ln -s /opt/cprocsp/lib/amd64/libcppkcs11.so.4.0.5 /usr/lib/mozilla/plugins/lib/libcppkcs11.so

В файл /etc/ifc.cfg добавить несколько строк для включения PKCS11

1
2
3
4
5
6
7
8
{
name = "CPPKCS11_2001";
alias = "CPPKCS11_2001";
type = "pkcs11";
alg = "gost2001";
model = "CPPKCS 3";
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
}

Работает в любом браузере.

Исправляем кривое отображение программ при использовании темных тем в системе

Можно добавить переменную запуска к приложению

env GTK3_RC_FILES= GTK_DATA_PREFIX= GTK_THEME=Adwaita /usr/bin/foo-bar

или для GTK2 приложений

env GTK2_RC_FILES= GTK_DATA_PREFIX= GTK_THEME=Adwaita /usr/bin/foo-bar

Можно добавить глобальную переменную

необходимо добавить в файл /etc/environment пару строк

Для GTK3

GTK3_RC_FILES= GTK_DATA_PREFIX=GTK_THEME=Adwaita

Для GTK2

GTK2_RC_FILES= GTK_DATA_PREFIX=GTK_THEME=Adwaita

Перезагружаем систему

systemctl reboot

Выносим кеши браузера Firefox в tmpfs

запустим Firefox и откроем страницу

about:config

найдём в списке переменную

browser.cache.disk.parent_directory

(при отсутствии создадим) и присвоим ему строковое значение

/tmp/firefox

чтобы кэш очень сильно не разрастался, укажем в переменной

browser.cache.disk.capacity

(тип целое) максимальный размер в килобайтах, например

262144

(256 МБ)
перезапустим браузер для применения новых изменений.

Множественное подключение к ВМ через SPICE

Открываем на редактирование виртуальную машину

sudo virsh edit WM

Редактируем таким образом

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
....
    <qemu:commandline>
        <qemu:env name='SPICE_DEBUG_ALLOW_MC' value='1'/>
    </qemu:commandline>
</domain>

В домен добавили строку

xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'

И сам параметр разрешающий множественное подключение

 <qemu:commandline>
     <qemu:env name='SPICE_DEBUG_ALLOW_MC' value='1'/>
 </qemu:commandline>