Samba и BTRFS

При использования модуля VFS (Virtual File System, виртуальная файловая система) BTRFS в сервере Samba можно добиться:

  • увеличение скорости и производительности копирования, т.к. вместо повторной записи данных может быть использованы возможности BTRFS для создания нескольких связей с одной копией данных на диске
  • аттрибут сжатия (chatrr -C) файлов и директорий BTRFS маппиться в галку сжатия файлов и папок в [Проводнике] Windows
  • экспериментальная поддержка экспортирования снапшотов BTRFS как истории версий файла в Проводнике Windows

Ссылки на документацию:

Скорость прокрутки мышью в Firefox

В about:config у параметра mousewheel.default.delta_multiplier_y по умолчанию значение 100. Поменял его на 300, прокрутка колесиком мыши стала значительно быстрее.

Firefox научился работать с темной системной темой

Пока менеджеры Google не собираются чинить вырвиглазную белую адресную строку, Firefox наконец научился нормально работать с темными системными темами.

В about:config добавить:
"widget.content.gtk-theme-override": "Clearlooks"

То есть зайти в about:config, нажать правой мышью на свободное место, выбрать «Добавить», «Поле», название поля — widget.content.gtk-theme-override, значение — Clearlooks.
https://bugzilla.mozilla.org/show_bug.cgi?id=1158076

Раньше было так. Обратите внимание, что я на самом деле написал буквы в строку, но они не видны.

Стало вот так, если добавить такую настройку.

Проверку выполнял на packages.ubuntu.com.

Как упаковать папку в .tar.xz с максимальным сжатием и с распараллеливанием на все ядра процессора

env XZ_OPT="--extreme -9 --threads=0 -v" tar cJf chromium2.tar.xz chromium-70.0.3538.110

где chromium-70.0.3538.110 — имя упаковываемой директории (папки), chromium2.tar.xz — имя файла результирующего архива.

Получаем список коммитов, добавляющих нужный функционал, которые нужно бекпортировать

Сначала ищем, в каких файлах есть нужная строка:
$ grep -inHr BIND_LDAP_SO

install/share/bind.named.conf.template:52:dyndb "ipa" "$BIND_LDAP_SO" {
ipaplatform/base/paths.py:194:    BIND_LDAP_SO = "/usr/lib/bind/ldap.so"
ipaplatform/base/paths.py:201:    BIND_LDAP_SO_64 = "/usr/lib64/bind/ldap.so"
ipaplatform/redhat/paths.py:38:        BIND_LDAP_SO = BasePathNamespace.BIND_LDAP_SO_64
ipaserver/install/bindinstance.py:815:            BIND_LDAP_SO=paths.BIND_LDAP_SO,

Теперь составляем список коммитов, добавлявших эти строки:
$ ( for i in install/share/bind.named.conf.template ipaplatform/base/paths.py ipaplatform/redhat/paths.py ipaserver/install/bindinstance.py ; do git blame $i | grep BIND_LDAP_SO ; done ) | awk '{print $1}' | sort | uniq
4d2ef43f28
e8a2abd548

Превращаем нужные коммиты в файлы-патчи:
$ git format-patch -1 4d2ef43f28

pkgconfig при сборке RPM

Смотри, как это работает.
Когда ты делаешь urpmi 'pkgconfig(libuv)', ищется RPM-пакет, у которого в Provides есть pkgconfig(libuv). Как он там появляется? Очень просто: один из скриптов https://abf.io/soft/rpm5#?path=scripts автоматически ставит Provides: pkgconfig(libuv) на собранный пакет, если находит в нем файл libuv.pc (разбирается ли содержимое этого файла, не знаю). Файлы *.pc всегда лежат в -devel пакетах, соответственно, при urpmi 'pkgconfig(libuv)' будет сделано urpmi lib64uv-devel.

Патч usb-modeswitch-data для поддержки RTL8188GU

Патч для usb-modeswitch-data, добавляющий поддержку для USB WiFi адаптеров на базе чипа Realtek RTL8188GU:
https://abf.io/import/usb_modeswitch-data/blob/rosa2016.1/ROSA-Add-support-for-Realtek-RTL8188GU-based-USB-Wi-Fi-adapters.patch (patch -p2)
При подключении этого поделия к компьютеру он прикидывается CD-диском (не работающим!) для автоматической установки драйверов для Windows, его нужно насильно перевести в режим WiFi-адаптера, чем и занимается usb_modeswitch, как с USB-модемами.

Рабочего драйвера на Linux я не нашел, но благодаря usb_modeswitch хотя бы смог узнать точную модель чипа (RTL8188GU).
В моем случае это адаптер Tenda W311MI.

dmesg:

[ 4466.760493] usb 2-4: new high-speed USB device number 8 using ehci-pci
[ 4466.908127] usb 2-4: New USB device found, idVendor=0bda, idProduct=1a2b
[ 4466.908145] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 4466.908154] usb 2-4: Product: DISK
[ 4466.908163] usb 2-4: Manufacturer: Realtek
[ 4466.909479] usb-storage 2-4:1.0: USB Mass Storage device detected
[ 4466.910038] scsi host3: usb-storage 2-4:1.0
[ 4467.531428] usb 2-4: USB disconnect, device number 8
[ 4467.797199] usb 2-4: new high-speed USB device number 9 using ehci-pci
[ 4467.944706] usb 2-4: New USB device found, idVendor=0bda, idProduct=b711
[ 4467.944723] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4467.944733] usb 2-4: Product: 802.11n WLAN Adapter
[ 4467.944742] usb 2-4: Manufacturer: Realtek
[ 4467.944750] usb 2-4: SerialNumber: 00E04CB82101

Копирование файлов BigBlueButton на другой сервер

for i in $(dpkg -l | grep -E 'bbb|bigbluebutton' | awk '{print $2}'); do dpkg -L "$i" ; done > bbb-files.list

while read line; do if ! file $line | grep -q directory; then echo $line >> bbb2.list ; fi; done < bbb-files.list

while read line; do scp -P 6905 "$line" "root@XXX.XXX.XXX.XXX:/var/lib/machines/bbb1/${line}" ; done < bbb2.list

Nvidia CUDA на FreeBSD

Проприетарной Nvidia CUDA нет на FreeBSD, несмотря на наличие проприетарного драйвера для нее. На FreeBSD давно есть линуксатор для запуска линукс-бинарников. Теперь в нем можно запускать свежую версию CUDA.
http://www.phoronix.com/scan.php?page=news_item&px=FreeBSD-12.0-Beta-4

IBM POWER9 со свободной фирмварью

IBM производит свои процессоры POWER (на них раньше были Mac-и). В последние годы они много вложили в поддержку этой архитектуры в GCC, clamg, FFmpeg и множестве других свобрдных программ, важных для применения их процессоров.

Недавно вышел сервер (а скоро будет и рабочая станция) на базе процессоров POWER с полностью открытым кодом всех фирмварей. Он показал очень хорошую производительность в сравнении с AMD и Intel:
http://www.phoronix.com/vr.php?view=27063