Базовые команды в ProxySQL

Это простейший вариант использования ProxySQL, именно как прокси, без балансировки и проверки состояния. Управление в ProxySQL оформлено в виде обычных sql запросов, как будто это самостоятельная субд.

Читать далее «Базовые команды в ProxySQL»

Как объединить PDF файлы в linux

Иногда возникает необходимость объединить несколько PDF файлов в один.

Из командной строки в Linux можно легко соединить множество PDF файлов с помощью утилиты convert, которая является частью пакета ImageMagick.

Прежде всего необходимо поставить пакет ImageMagick, частью которого является утилита convert:

$ sudo apt-get install imagemagick

Объединить несколько PDF в один

Объединить два PDF файла FILE1.pdf и FILE2.pdf в новый файл OUTPUT.pdf:

$ convert FILE1.pdf FILE2.pdf OUTPUT.pdf
$ convert -units pixelsperinch -density 288 -resize 45% FILE1.pdf FILE2.pdf OUTPUT.pdf

Склеить страницы в один PDF

Также возможно склеивание только определенных PDF страниц в один PDF файл.

Для этого мы передадим команде convert имена файлов с указанием необходимы страниц в квадратных кнопках.

Соединить 2-ую страницу из первого файла FILE1.pdf с 1-ой и 6-ой страницами из второго файла FILE2.pdf и сохранить результат в новый файл OUTPUT.pdf:

$ convert FILE1.pdf[1] FILE2.pdf[0,5] OUTPUT.pdf

Множество страниц в один PDF Файл

И конечно же, существует возможность соединять целые множества страниц.

Соединить первые 10 страниц из первого файла FILE1.pdf с первыми 5-ю страницами со второго файла FILE2.pdf и сохранить результат в новый файл OUTPUT.pdf:

$ convert FILE1.pdf[0-9] FILE2.pdf[0-4] OUTPUT.pdf

Конвертировать JPG в один PDF файл

$ convert file%d.jpg[1-14] $(date +%b%d_%H%M_%S)convert.pdf 
$ convert *.jpg $(date +%b%d_%H%M_%S)convert.pdf

АТ команды некоторых 3G модемов

Подключение:

Для подключения я обычно использую программу minicom:

sudo minicom -D /dev/ttyUSB0

Huawei E3372s и E3372h (МТС 827F, Мегафон М150-2, Билайн E3372s-hilink):

Примеры настроек USB-композиций:

at^setport="a1,a2;10,12,16,a1,a2"

— стандартная заводская композиция, В первичной композиции видны только CD и картридер, во вторичной — все АТ-порты, сетевая карта, CD, картридер.

at^setport="ff;10,12,16,a2"

— композиция без переключения. Очень удобна для использования в домашних роутерах и компьютерах с ОС, отличных от windows. После подключения модем сразу представляется как 2 АТ-порта, сетевая карта и картридер.

at^setport="FF;10,12,16,5,A,A1,A2"

— композиция с включенными всеми устройствами, какие только есть в модеме. Удобна для тех, кому надо иметь доступ к консолям модема.

AT^SYSCFGEX="00",3FFFFFFF,1,2,800C5,,

— зарегистрироваться во всех возможных сетях и диапазонах

AT^SYSCFGEX="0302",400000,1,2,800C5,,

— зарегистрироваться в сети LTE, если LTE недоступен, то в 3G (в 2G сетях модем регистрироваться не будет). Для LTE доступны все диапазоны, для 3G — только диапазон 2100.

Huawei E303

Ставим режим модема

AT^SETPORT="A1,A2;1,2,3"

ZTE MF823D

Ставим режим модема

AT+ZCDRUN=8

Устанавливаем pfSense на VPS/VDS

Предыстория

В определенный момент мне понадобился pfSense, установленный на VPS хостинге. pfSense не требователен к ресурсам, поэтому я остановил свой выбор на хостингах, работающих с KVM.

Проблема оказалась в том, что все хостинги предоставляют установку операционных систем только из доступных у них шаблонов, а это, как правило, Ubuntu, CentOS и иные подобные системы. В редких случаях это FreeBSD, но, опять же, чистый.

Что делать?

В итоге я решил развернуть у себя виртуальную машину на KVM c параметрами как у VPS-хостинга, а затем просто перенести образ жесткого диска на VPS.

Конфигурация KVM в моем случае была такая: 256 RAM, 1 процессорное ядро, 5ГБ жесткий диск. HDD и Network — через VirtIO.

При создании виртуалки очень важно, чтобы тип хранилища был Raw. QCOW2, VDI и иже с ними не подойдут. Создал виртуалку, поставил pfSense, теперь самое главное перенести ее образ на VPS.

Делаем…

Выбранный нами VPS хостинг должен поддерживать доступ к консоли виртуальной машины напрямую, а не только по SSH. На VPS устанавливаем шаблонную Ubuntu 16.04. Как правило это чистая система с родным загрузчиком GRUB. Скачиваем туда образ любой Ubuntu/Debian netinstall CD, извлекаем ядро и initrd, например в папку boot, а дальше подсовываем GRUB это ядро и initrd. Обязательно ядру при загрузке указываем параметр rescue/enable=true. Попадаем в Ubuntu/Debian recovery mode, запускаем консоль без подключения к восстанавливаемой системе, а дальше

wget [АДРЕС НАШЕГО ОБРАЗА, ВЫЛОЖЕННОГО НА ЛЮБОЙ WEB-ХОСТИНГ] -q -O - | dd of=/dev/vda bs=10M

Ждем. (можно ждать долго, у кого то и 2-3 часов не хватит). По окончании работы команды перезагружаем нашу VPS виртуалку, и видим успешную загрузку pfSense.

Исходник

 

livecd образ archlinux с поддержкой zfs

Подготовка к сборке:

# pacman -S archiso
# cp -r /usr/share/archiso/configs/releng/* archlive

Добавить archzfs и multilib репозитории:

~/archlive/pacman.conf
...
[archzfs]
Server = http://archzfs.com/$repo/$arch
[multilib] 
Include = /etc/pacman.d/mirrorlist

Добавить archzfs-linux в список устанавливаемых пакетов.

~/archlive/packages.x86_64
...
archzfs-linux

Сборка iso образа

В директории ~/archlive, запустить:

# ./build.sh -v

Скрипт скачает и установит пакеты в папку work/*/airootfs, поставит ядро и initramfs, и соберет все это в образ iso в папке out/.

https://file.zveronline.ru/iso/archzfs

Синхронизация времени между Windows, macOS и Linux

Самым простым способом исправления ситуации, чтобы время больше не сбивалось после перезагрузки из одной ОС в другую – это внести пару изменений в системном реестре ОС Windows.

  1. Нажмите одновременно на клавиатуре кнопки “Win” + “R” и введите в открывшееся окно “Выполнить” команду “regedit
  2. Перейдите по пути: \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
  3. После чего справа создайте новый параметр:
    • DWORD – для 32 битных ОС Windows
    • QWORD – для 64 битных ОС Windows  (90% всех современных компьютеров)

Присвоить имя RealTimeIsUniversal созданному параметру

После чего добавить ему значение 1

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

openwrt overlay на внешнем usb диске

Подготовка

Установите следующие пакеты:

  • block-mount (подробную информацию смотрите в block_mount и в fstab).
  • kmod-fs-ext4 или kmod-fs-[файловая система, которую вы используете на USB-диске]
  • kmod-usb-storage-extras

    opkg update
    opkg install block-mount kmod-fs-ext4 kmod-usb-storage-extras
  • Если opkg выдаёт ошибку при установке kmod-usb-storage-extras, следует сперва установить

    kmod-usb-core

Читать далее «openwrt overlay на внешнем usb диске»

pfSense на vps

pfSense на vps можно использовать для получения статического внешнего (белого) ip адреса, и даже нескольких, при том что провайдер предоставляет только внутренний (серый) ip адрес или внешний динамический.

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

ifconfig em0 inet x.x.x.x netmask 255.255.255.255
route add -host y.y.y.y -interface em0
route add default y.y.y.y

x.x.x.x – внешний ip адрес
y.y.y.y – шлюз
em0 – сетевой интерфейс (может быть другим)

После этого заходим в интерфейс и прописываем шлюз в разделе Система / Маршрутизация / Шлюзы.
Так же нужно поставить галку на строке “Используйте нелокальный шлюз” в расширенных настройках.
Далее нужно прописать статический ip в разделе Интерфейсы / WAN с указанием шлюза который прописали ранее.