Linux/BSD: популярные дистрибутивы (general, network)

  • Корпоративный сегмент: грубо говоря 45% debian (ubuntu+debian+raspbian), 45% rhel (centos+rhel+fedora), 10% остальные
  • Популярные дистрибутивы могут выбирать не самую продолжительную (отличную от Long term support, LTS) по поддержке сборку Linux Kernel для своей работы (напр. Fedora, Ubuntu) – чтобы как можно раньше находить баги с новыми версиями.


Читать дальше

Linux: rsync, scp передача файлов между серверами Linux

RSYNC

rsync – удобная утилита для выгрузки файлов с одного сервера на другой. Часто используется для backup. Rsync поддерживает шифрование (для уменьшения объема передаваемых данных) и может работать по ssh (мной только так и используется) при использовании опции -e (для безопасной передачи по сети).

Читать дальше

Linux: работа с текстом (fmt, sed, awk, tr, cut, cat/tac, tee, column, uniq, sort)

GREP в отдельной статье

fmt
  • примеры есть в cheat.sh
  • вариаций форматирования много

Форматирование данных на входе – к примеру по умолчанию fmt осуществит форматирование, которое приведет к лучшему чтению:

    • объединение слов в одну строку если слов мало в каждой строке
    • или наоборот, вместо одной длиной строки сделает несколько коротких
root@serv:~# cat >sw
Hello
world
and
not
world
root@serv:~# fmt sw
Hello world and not world

root@spr:~# cat >sw
Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world Hello world and not world
root@spr:~# fmt sw
Hello world and not world Hello world and not 
world Hello world and not world Hello world 
and not world Hello world and not world 
Hello world and not world


tr ; CUT
  • The cut utility cuts out selected portions of each line (as specified by list) from each file and writes them to the standard output
# Print a range of each line with a specific delimiter:
command | cut --delimiter="," --fields=1

# Print a specific character/field range of each line:
command | cut --characters|fields=1|1,10|1-10|1-|-10

Подмена всех пробелов (в том числе повторяющихся) на одну запятую с использованием tr и опции -s

 -s Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character.


Читать дальше

PHP wget/curl

Для простых get-запросов достаточен file_get_contents, для чего-то более сложного рекомендуют использовать библиотеку curl. Примеры использования Curl можно взять тут.
Пример
Выгрузка содержимого страницы в php. Юзал fopen насколько помню, чтобы отдать URL с переменной нужно заменить скобки ” на “”.


Читать дальше

Linux сервис на well-known порту

В Linux нельзя запустить прослушивание порта на well-known портах без прав админа. Это касается любого приложения – ruby сервера, linux утилит.
~$ nc -l 80.87.194.88 1111  - ok
~$ nc -l 80.87.194.88 90 - fail
nc: Permission denied
~$ sudo nc -l 80.87.194.88 90 - ok 


Читать дальше

SecureCRT, Termius, MPutty, (supper)Putty, SolarPutty, mRemoteNG, iTerm, Mobaxterm

Альтернативы SecureCRT:

  • Termius – кросс-платформенная альтернатива
  • Windows: mRemoteNG, MPutty, SupperPutty, SolarPutty, Mobaxterm (препод Linux особенно хвалил)
  • MacOS: iTerm2 – шикарная альтернатива на Mac

 

 

PUTTY

Король, использую его + закладки сессий самой Windows. Получается довольно удобно. 🙂

По PPK можно легко получить public key – это делает WinSCP с кнопки.

Читать дальше

Linux: packet flow, обработка в ядре пакетов, фильтрация, connection tracking, statistics: iptables, ipset, ipfw, nftables, bpfilter, firewalld, conntrack, BPF, packetfilter, netstat, iptraf, jool

Фильтрация на базе DPDK
 О ОБРАБОТКЕ ПАКЕТА В  ЯДРЕ LINUX
  • Разное из интересного про сетевые карты из презентации google о BIG TCP (сама преза по ссылке):

    • Часть функционала, который поддерживается loopback драйвером не поддерживается реальными аппаратными NIC. Поэтому тестирования сетевого приложения по loopback – спорная тема.


Читать дальше

WhatsApp

Из Wiki интересные тех. подробности (явно устаревшие) о WhatsApp – Erlang, FreeBSD, 96ГБ ОП и до 3 млн. соединений на сервер.

Серверное ПО WhatsApp написано на Erlang; в январе 2012 года сервера WhatsApp использовали ОС FreeBSD, в них было установлено по 96 ГБ оперативной памяти, и каждый мог обрабатывать от 1 до 2,8 млн соединений


Читать дальше

Методы установки приложений, компиляция приложений

  • Через средство управления пакетами ОС (Ubuntu: apt-get, CentOS: yum, Gentoo: emerge). Пакет чаще всего имеет не последнюю версия приложения/компилятора (ruby, phantomjs), но она почти гарантированно stable и легко ставится.
Для установки приложений в среде операционной системы GNU/Linux лучше всего пользоваться средствами управления пакетами вашего дистрибутива.


Читать дальше