NixTux https://nixtux.ru На этом сайте делимся опытом, скриптами и советами в Linux и Свободных программах Fri, 03 Jan 2020 20:20:45 +0000 ru-RU hourly 1 https://wordpress.org/?v=5.3.2 Порядок применения макросов в RPM 4 https://nixtux.ru/988 https://nixtux.ru/988#respond Fri, 03 Jan 2020 20:20:45 +0000 https://nixtux.ru/?p=988 /usr/lib/rpm/openmandriva/macros -> /usr/lib/rpm/macros.d -> /etc/rpm/macros -> /etc/rpm/macros.d -> ~/.rpmmacros -> spec (от ngompa@)]]> /usr/lib/rpm/macros -> /usr/lib/rpm/openmandriva/macros -> /usr/lib/rpm/macros.d -> /etc/rpm/macros -> /etc/rpm/macros.d -> ~/.rpmmacros -> spec
(от ngompa@)

]]>
https://nixtux.ru/988/feed 0
API ABF для получения списка прикрепленных к платформе репозиториев https://nixtux.ru/983 https://nixtux.ru/983#respond Fri, 03 Jan 2020 18:29:12 +0000 https://nixtux.ru/?p=983 https://abf.rosalinux.ru/api/v1/platforms/5777/projects (авторизация не требуется)
где 5777 — ID платформы.

Список платформ в JSON: https://abf.rosalinux.ru/api/v1/platforms?type=main&per_page=100 (требуется авторизация)

ID платформ:
rosa2014.1 — 878
rosa2016.1 — 1550
rosa2019.0 — 5777
rosa2019.1 — 4084

]]>
https://nixtux.ru/983/feed 0
Включайте мозг, когда используете чужие пакеты https://nixtux.ru/979 https://nixtux.ru/979#respond Sun, 15 Dec 2019 19:04:13 +0000 https://nixtux.ru/?p=979 Читать далее Включайте мозг, когда используете чужие пакеты]]> Пользуясь случаем, на opennet.ru в комментариях рассказал забавную историю про PPA для Ubuntu, выкладываю ее здесь на память.

Разработчики дистрибутива Pop!_OS (компания System76) в свой PPA скопировали 2 пакета из моего PPA ppa:mikhailnov/pulseeffects: сам PulseEffects и PulseAudio [1], который я сначала собирал, чтобы для Ubuntu 18.04 была более новая версия с закрытым критичным для PulseEffects багом [2], а затем бекпортировал в 12.2 важный для патч из 13.0.

Пакеты-то скопировали, я ничего против не имею и только рад, но у них в настройках apt стоит такой приоритет для их репозиториев, что, если пакет есть в их репозитории, а в соседнем версия более новая, пакет обновлен не будет.

Я в свое время собрал PulseAudio для всех доступных релизов Ubuntu, для всех и скопировали, а в то время версии 13.0 еще не было в разрабатываемом релизе eoan. В итоге сейчас у них в репозитории для Ubuntu 19.10 eoan лежит PulseAudio 12.2, а в официальном репозитории Ubuntu 19.10 — 13.0, но из-за настроек приоритетов репозиториев в релиз Pop!_OS 19.10 [3] попала моя сборка 12.2.

Проблема в том, что в 13.0 добавили ряд новых API [4], а пакеты-то в Ubuntu 19.10 слинкованы уже с libpulse 13.0, а в системе лежит 12.2, некоторые программы могут просто падать. Спасает только то, что новые API мало кто использует.

Разработчики репозитория Pop!_OS приходят и просят обновить PulseAudio:
https://github.com/wwmm/pulseeffects/issues/585
Про важность для бизнеса никто не задвигал, просьба вполне нормальная, претензий к ней нет.

Но! Если вы используете чужие пакеты, не забывайте включать мозг, чтобы потом не бегать к мейнтейнерам разных PPA и не просить одного обновить пакеты, а другого, например, сабжа комментируемой новости, — срочно пересобрать пакеты под новый релиз Ubuntu, до которого ты обновился, предварительно не проверив доступность используемых пакетов.

[1] https://gitlab.com/nixtux-packaging/pulseaudio-ubuntu
[2] https://github.com/wwmm/pulseeffects/issues/99
[3] https://github.com/wwmm/pulseeffects/issues/585
[4] https://abi-laboratory.pro/index.php?view=timeline&l=pulseaudio
[5] https://github.com/wwmm/pulseeffects/issues/585

]]>
https://nixtux.ru/979/feed 0
Драйвер и клиентское ПО для USB считывателя RFID-меток Micro-EM (Микро-ЭМ) https://nixtux.ru/974 https://nixtux.ru/974#respond Fri, 13 Dec 2019 02:16:11 +0000 https://nixtux.ru/?p=974 https://github.com/mikhailnov/microem-rfid-linux

]]>
https://nixtux.ru/974/feed 0
Как на коленке записывать, сколько памяти занято и чем в Linux https://nixtux.ru/964 https://nixtux.ru/964#respond Thu, 12 Dec 2019 23:46:12 +0000 https://nixtux.ru/?p=964 Читать далее Как на коленке записывать, сколько памяти занято и чем в Linux]]> Понадобилось раз в N минут записывать, сколько памяти занято и чем.

Создаем файл /usr/local/bin/memory-monitoring (или другой) и в него записываем:

#!/bin/sh
LC_ALL=C free -m
ps -eo size,pid,user,command --sort -size | awk '{ ms=$1/1024 ; printf("%.1f Mb ",ms) } {print $0}' | head -n 10

Делаем его исполняемым:
chmod +x /usr/local/bin/memory-monitoring

Создаем сервис systemd, записав в файл /etc/systemd/system/memory-monitoring.service:

[Unit]
Description=Log memory usage

[Service]
StandardOutput=journal
StandardError=journal
Type=oneshot
ExecStart=/usr/local/bin/memory-monitoring

Создаем таймер systemd для запуска того сервиса раз в 2 минуты, записав в файл /etc/systemd/system/memory-monitoring.timer:

[Unit]
Description=Log memory usage

[Timer]
OnUnitActiveSec=2minutes
OnBootSec=5minutes

[Install]
WantedBy=timers.target

Включаем таймер:
sudo systemctl enable memory-monitoring.timer

Узнать, работает ли он, когда был в последний раз запущен:
sudo systemctl status memory-monitoring.timer

Первая команда
LC_ALL=C free -m на английском языке выводит, сколько памяти и свопа в мебибайтах занято и свободно, LC_ALL=C задает английский язык для единообразия логов на разных системах для удобства их обработки.

Вторая команда выводит топ 10 процессов по потреблению памяти.

Потом эти записи видны в journalctl --unit=memory-monitoring, в т.ч. с помощью journalctl --unit=memory-monitoring --boot=-N можно отобразить журнал N загрузок системы назад.

]]>
https://nixtux.ru/964/feed 0
Медленно работает Wi-Fi на Prestigio 116A03 на Linux https://nixtux.ru/961 https://nixtux.ru/961#respond Sun, 01 Dec 2019 22:51:55 +0000 https://nixtux.ru/?p=961 Решение:
в файл /etc/modprobe.d/wifi.conf написать:
options r8723bs ant_sel=2
и перезагрузиться

На ядре 5.3 и Fedora 31 из коробки работают звук, регулировка яркости, 32-битный UEFI, определение заряда батареи.

]]>
https://nixtux.ru/961/feed 0
Grub2 2.04 с поддержкой сжатия zstd на BTRFS для Ubuntu 18.04 и 19.04 https://nixtux.ru/956 https://nixtux.ru/956#respond Wed, 06 Nov 2019 13:37:55 +0000 https://nixtux.ru/?p=956 Читать далее Grub2 2.04 с поддержкой сжатия zstd на BTRFS для Ubuntu 18.04 и 19.04]]> В репозиториях Ubuntu < 19.10 Grub2 2.02, в котором нет поддержки загрузки с корневого раздела BTRFS, сжатого с помощью ZSTD. Собрал Grub2 2.04 из Ubuntu 19.10 для 18.04 и 19.04, в котором есть поддержка загрузки с корневого раздела в btrfs, сжатом zstd.

https://launchpad.net/~mikhailnov/+archive/ubuntu/grub2

Для установки:

sudo add-apt-repository ppa:mikhailnov/grub2
sudo apt dist-upgrade

Для пересборки делал так:
backportpackage -u ppa:mikhailnov/grub2 -s eoan grub2 -d bionic --suffix=~bionic1

]]>
https://nixtux.ru/956/feed 0
Скачиваем альбом или все треки исполнителя с Яндекс Музыки бесплатно https://nixtux.ru/947 https://nixtux.ru/947#respond Wed, 04 Sep 2019 17:19:15 +0000 https://nixtux.ru/?p=947 Читать далее Скачиваем альбом или все треки исполнителя с Яндекс Музыки бесплатно]]> Программа youtube-dl умеет скачивать в т.ч. и с Яндекс.Музыки.

Пример команды для запуска скачивания из консоли:
youtube-dl https://music.yandex.ru/album/5579584/track/41083763
Также ссылку можно вставить в графический интерфейс для youtube-dl — Youtube-DL-GUI

Но на данный момент youtube-dl не умеет скачивать весь альбом целиком. Но можно довольно легко скачать либо весь альбом, либо все треки исполнителя. Для этого открываем список треков в браузере Chromium/Chrome, нажимаем правой кнопкой мыши на название трека, нажимаем: «Просмотреть код» (Ctrl+Shift+I), см. скриншот:

Далее в открывшейся справа панели находим такой тег (код), при наведении мышью на который подсвечивается синим область страницы с треками. Нажимаем на этот кусок кода правой мышью, выбираем: Copy -> Copy element (см. скриншот)

Далее открываем любой текстовый редактор (Блокнот, Geany), вставляем скопированное и сохраняем под любым именем в удобном месте.

Теперь запускаем такой sh-скрипт в консоли ОС:
for i in $(cat "/tmp/m.txt" | sed -e 's,https://,\nhttps://,g' -e 's,</a>,\n,g' -e 's,\"><div class,\n,g' | grep ^https://music.yandex.ru | grep '/track/' ); do youtube-dl $i ; done

/tmp/m.txt замените на путь к файлу, в который вы сохранили скопированный код.Это составит список ссылок на треки и скачает их все.

]]>
https://nixtux.ru/947/feed 0
Замена домена в базе данных WordPress https://nixtux.ru/941 https://nixtux.ru/941#respond Mon, 26 Aug 2019 11:07:39 +0000 https://nixtux.ru/?p=941 Читать далее Замена домена в базе данных WordPress]]> В общем при смене домена в WordPress-ах с Beaver Builder-ом надо заменять домен в базе данных не просто как замену текста, а специальными утилитами, которые умеют заменять «сериализованные данные» так, чтобы они не ломались
В wp-cli это есть

Пример:
wp search-replace 'xn--d1amkdfpf.xn--80agbsneq0b4h.xn--p1ai' 'product.dumalogiya.ru' --verbose --dry-run — посчитать, сколько замен будет сделано, ничего не заменяя.
wp search-replace 'xn--d1amkdfpf.xn--80agbsneq0b4h.xn--p1ai' 'product.dumalogiya.ru' --verbose — произвести замены.

]]>
https://nixtux.ru/941/feed 0
Установка ОС на физический диск в виртуальной машине https://nixtux.ru/935 https://nixtux.ru/935#respond Sun, 25 Aug 2019 11:36:14 +0000 https://nixtux.ru/?p=935 Читать далее Установка ОС на физический диск в виртуальной машине]]> Подключил новый SSD-диск к компьютеру (в SATA). Встал вопрос: как бы поставить на него ОС из-под виртуальной машины? Вопрос решился просто:

— в virt-manager создал виртуальную машину
— вручную отредактировал файл /etc/libvirt/qemu/имя_машины.xml, в него перед </devices> добавил проброс диска:

<disk type='block' device='disk'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/sda'/>
  <target dev='sda' bus='virtio'/>
</disk>

Обратите внимание, что указывать диски как /dev/sdx — не лучшая идея, т.к. от перезагрузки к перезагрузке буква может меняться, лучше всего указать, например, так: /dev/disk/by-id/wwn-0x5e83a971fbb84a60, но я поставлю ОС и удалю виртуальную машину, поэтому некритично.
— подключил к виртуальной машине образ диска, поставил ОС

Источник решения

]]>
https://nixtux.ru/935/feed 0