Упаковка снимка BTRFS в сжатый файл-образ

Рассмотрим упаковку подраздела (subvolume) BTRFS в сжатый файл-образ.


Читать далее Упаковка снимка BTRFS в сжатый файл-образ

Как быстро скачать видео с GetCourse на Linux скриптом

Написал простой скрипт для скачивания видео с GetCourse без перекодирования: https://github.com/mikhailnov/getcourse-video-downloader

Некоторые инструкции в интернете предлагают скачивать видео с GetCourse с помощью VLC, однако это требует перекодирования видео.

Этот скрипт скачивает видео-уроки с Геткурса без перекодирования. Работает на Linux, BSD, macOS и в др. UNIX-подобных окружениях.
Читать далее Как быстро скачать видео с GetCourse на Linux скриптом

Автоматизация GDB с помощью xdotool

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

Открыл 2 терминала, в одном запустил программу под gdb, поставил точку остановки (breakpoint), запустил (run), другой средствами оконного менеджера закрепил поверх других окон, запустив в нем:
sleep 5; while true ; do xdotool type c && for type in A B ; do xdotool key KP_Enter && xdotool key p && xdotool key space && for i in $type E V R ; do xdotool type $i ; done; done && xdotool key KP_Enter ; sleep 0; if ! ps aux | grep -vE 'gdb|grep' | grep -q '/usr/bin/python3 /usr/bin/livecd-creator' ; then break ; fi; done
Этот код вводит нужные команды в gdb и проверяет, не остановился ли процесс, т.е. не произошел ли сегфолт, а если произошел, то перестает их вводить. Пошел по своим делам, оно само отработало, вернулся, передо мной был наглядный результат.

Как на коленке записывать, сколько памяти занято и чем в Linux

Понадобилось раз в N минут записывать, сколько памяти занято и чем.
Читать далее Как на коленке записывать, сколько памяти занято и чем в Linux

Скачиваем альбом или все треки исполнителя с Яндекс Музыки бесплатно

Программа youtube-dl умеет скачивать в т.ч. и с Яндекс.Музыки.
Читать далее Скачиваем альбом или все треки исполнителя с Яндекс Музыки бесплатно

Распаковка AppImage

AppImage-ы, собранные свежими версиями AppImage Kit, можно легко распаковать, например, для правки файлов перевода. Рассмотрим на примере ночных сборок Kdenlive 19.04.

Сначала создаем отдельную папку, в которую будем распаковывать AppImage. Я обычно для таких целей использую ~/.local/lib/ (по умолчанию такой директории нет, я ее придумал сам).
И так, создадим папку и переведем терминал в нее:

mkdir -p ~/.local/lib/kdenlive/
cd ~/.local/lib/kdenlive/

Читать далее Распаковка AppImage

Как в Linux/BSD распараллелить скачивание файлов по списку

Дано: есть список ссылок для скачивания в текстовом файле, по ссылке на строку, файл называется input.txt.
Задача: скачивать по N файлов одновременно, то есть скачивать список в N потоков.

Не путать с множеством потоков скачивания одного файла. Здесь мы качаем N файлов одновременно, и каждый файл качается в один поток.

Делается так:
parallel -a <(cat "input.txt") -P 16 wget "{1}"
Предварительно установить wget и parallel.

Пример с реализацией в скрипте скачивания аудио-книг с сайта "Книга в ухе" (knigavuhe.com):
https://gitlab.com/mikhailnov/kvigavuhe-download/blob/master/download.sh#L43

UPD. Дополнение от Романа Кудоярова:
"Можно xargs заюзать. И не ставить parallel
< input.txt | xargs -n 1 -P 16 -I {} wget {} "

Автоматически обрезать поля в PDF

Понадобилось в PDF на всех страницах автоматически убрать поля, т.к. большие поля мешают чтению PDF на и так маленьком экране электронной книги.
Читать далее Автоматически обрезать поля в PDF

Автоматизация пересборки зависимых пакетов при обновлении библиотек в Росе

(Эта статья будет дописываться) Как составить список пакетов для пересборки, смотрите статью №698. Нужно сделать текстовый файл с построчным списком пакетов. Предположим, что этот файл называется krb5.list .
Читать далее Автоматизация пересборки зависимых пакетов при обновлении библиотек в Росе

Автоматическое обновление Ubuntu

UPD: приведенный ниже скрипт превратился в целую систему автообновлений с блокировкой выключения во время обновления: system-autoupdate


Замучился постоянно устанавливать обновления на сервер с Ubuntu, unnatended-upgrades не хочу конфигурировать, да и делает он не совсем то, что нужно, поэтому сделал автообновление системы скриптом. Его код ниже. Что делает скрипт, прописано в коде комментариями.
Читать далее Автоматическое обновление Ubuntu