Базовые команды в 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

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 с указанием шлюза который прописали ранее.

Увеличение дискового пространства в pfSense 2.4

    1. Откройте терминал под пользователем root и введите следующие команды:
    2. Выбираем пункт меню “Shell”
      Enter an option: 8
    3. Отключаем Swap
      swapoff /dev/label/swap0
    4. Удаляем раздел со Swap
      gpart delete -i 2 vtbd0s1
    5. Расширяем первый слайс диска
      gpart resize -i 1 vtbd0
    6. Применяем изменения
      gpart commit vtbd0s1
    7. Расширяем первый раздел диска (вместо X конечный объем диска в гигабайтах)
      gpart resize -i 1 -s XG vtbd0s1
    8. Добавляем раздел со Swap
      gpart add -t freebsd-swap vtbd0s1
    9. Ставим метку на раздел со Swap
      glabel label swap0 /dev/vtbd0s1b
      sed -i \"\" 's/dev\/ufsid\/[a-z0-9]*/dev\/vtbd0s1a/g' /etc/fstab
    10. Перезагружаем сервер
      reboot
    11. Расширяем файловую систему раздела
      growfs -y /dev/vtbd0s1a

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

      gpart show -p

Основные команды ZFS

Создать пул raidz:

$ zpool create -f -o ashift=12 tank raidz /dev/sda /dev/sdb /dev/sdc

Добавить диски в пул:

$ zpool add -f tank raidz /dev/sda /dev/sdb /dev/sdc
$ zpool attach tank /dev/sda /dev/sdb

Создать фс:

$ zfs create tank/storage

Включить сжатие:

$ zfs set compression=on tank/storage

Изменить точку монтирования:

$ zfs set mountpoint=/media/storage tank/storage

Добавить кэш диск l2arc:

$ zpool add tank cache /dev/sda -f

Добавить ZIL:

$ zpool add tank log /dev/sda -f

Если диск отпал (проблемы с кабелем) или специально его отключили можно подключить его обратно:

$ zpool online tank /dev/sda

Создать блочное устройство:

$ zfs create -V 5gb tank/vol

tun в lxc

В конфиге контейнера /etc/pve/lxc/[ID].conf добавить строку

Для tun устройства:

lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file

Дополнительно для openvpn

lxc.cgroup.devices.allow = c 10:200 rwm

Для fuse устройства:

lxc.mount.entry = /dev/fuse dev/fuse none bind,create=file

Для ppp устройства (для работы ppp требуется CAP_NET_ADMIN):

lxc.mount.entry = /dev/ppp dev/ppp none bind,create=file

настройка openvpn

Установка утилиты Easy-RSA

Все операции по созданию ключей и сертификатов можно выполнить с помощью утилиты openssl. Однако проще воспользоваться специально созданной для этого программой Easy-RSA, которая использует openssl для выполнения действий с ключами и сертификатами.

Ранее утилита Easy-RSA поставлялась вместе с OpenVPN, но теперь это отдельный проект.

Все операции с удостоверяющим центром и сертификатами можно (и нужно) проводить от имени непривилегированного пользователя.

$ ./easyrsa init-pki

На втором шаге с помощью команды build-ca создайте удостоверяющий центр CA:

$ ./easyrsa build-ca

Читать далее «настройка openvpn»