Программа youtube-dl умеет скачивать в т.ч. и с Яндекс.Музыки.
Читать далее Скачиваем альбом или все треки исполнителя с Яндекс Музыки бесплатно
Автор: Михаил Новоселов
Замена домена в базе данных 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
— произвести замены.
Установка ОС на физический диск в виртуальной машине
Подключил новый SSD-диск к компьютеру (в SATA). Встал вопрос: как бы поставить на него ОС из-под виртуальной машины? Вопрос решился просто:
Читать далее Установка ОС на физический диск в виртуальной машине
Как в GNU/Linux работает резолвинг DNS? Как система превращает имя DNS в IP-адрес?
Почти все программы слинкованы с системной glibc (libc.so.6). Когда в glibc поступает запрос на резолвинг имени хоста, поочередно опрашиваются плагины NSS (Name Switch Service), прописанные в /etc/nsswitch.conf
в строке hosts
. В случае
rosa-2016 ~ # cat /etc/nsswitch.conf | grep ^hosts hosts: mdns4_minimal files nis dns wins myhostname mymachines mdns4 rosa-2016 ~ #
сначала будет попытка разрешить имя через Avahi по протоколу multicast DNS (mdns4_minimal), затем через файл /etc/hosts
(files
), затем через nis (устаревшая штука), затем, собственно, сам dns
. Кто первый ответит, тот ответ и принимается.
Отладка dlopen (динамической подгрузки) библиотек в Linux/UNIX
Понадобилось узнать, почему FreeIPA выдавала ошибку загрузки библиотеки, не выдавая подробный текст ошибки. Этот способ позволяет выполнять dlopen() библиотек и смотреть, успешно ли прошла операция, и видеть ошибки.
Используется Python CFFI.
Читать далее Отладка dlopen (динамической подгрузки) библиотек в Linux/UNIX
Пример использования valgrind для отладки в т.ч. зависания программы
named-pkcs11 при запуске зависает.
Читать далее Пример использования valgrind для отладки в т.ч. зависания программы
Использование системного youtube-dl в Youtube DL GUI (Youtube DLG)
Есть весьма корявенькая, но очень полезная программа Youtube DLG — графический интерфейс для youtube-dl — программы для скачивания с Youtube, Вконтакте, Facebook, Одноклассников Яндекс Диска и множества других сайтов.
Читать далее Использование системного youtube-dl в Youtube DL GUI (Youtube DLG)
Дефрагментирование BTRFS со снапшотами
У меня был read only снапшот примерно 1.5 ТБ данных, на диске было свободно около 900 ГБ. Запeстил дефрагментацию (btrfs defrag). В итоге получил ошибку, что не осталось свободного места, а место реально закончилось. Это произошло потому, что снапшот был read only, то есть доступен только на чтение, при дефрагментации выполнялось копирование файлов в новое расположение, а из read only снапшота их удалить нельзя, поэтому место закончилось. Удалили снапшот, место освободилось.
Нагуглил по этому вопросу:
1) «Is it dangerous to defragment subvolume which has readonly snapshots?»
2) Обсуждение в рассылке «defragmenting best practice?»
Особенность чистки файлового хранилища на BTRFS
Решил почистить файловое хранилище на BTRFS. Чистка включает в себя:
- анализ, чем занято место на диске, через консольную утилиту ncdu, удаление ненужного
- удаление старых снапшотов (резервных копий)
- проведение
btrfs balance /точка_монтирования
Выше написан правильный порядок действий. А я сначала удалил ненужные снапшоты, а потом начал пытаться запустить ncdu. В результате фоном работает процесс btrfs-cleaner, который создает большую нагрузку на ввод-вывод с небыстрого HDD диска, и все остальное работает очень медленно. Нужно было делать в той последовательности, которая описана выше, чтобы фоновые операции, создающие большую нагрузку на систему, выполнялись уже после завершения всех работ человеком.
Запуск abf rpmbuild с сохранением лога в файл
script -c "sh -c \"abf rpmbuild 2>&1\"" build.log