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 лучше всего пользоваться средствами управления пакетами вашего дистрибутива.


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

Linux: обновление приложений, ОС и драйверов в UBUNTU/Debian, установка системы

  • Аналог статьи про CentOS
  • Debian 10 в web VM: https://webvm.io/
  • (ubuntu/debian, OS loading) В ubuntu есть lifepatching, который позволяет обновить ядро и systemd без перезагрузки как системы, так и сервисов!
  • (Centos, Ubuntu) PackageKit — открытый и свободный набор приложений для обеспечения высокоуровнего интерфейса для различных пакетных менеджеров.


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

Linux: Date, time, timezone, ntp, ptp

  • NTP 123 UDP port by default
  • в NTP есть возможность broadcasting/multicasting time информации для клиентов пассивно ожидающих обновления времени после первоначального round trip calibrating exchange
  • NTP – грубо millisecond accuracy (по факту в lan может быть меньше)
  • PTP (IEEE 1588) – грубо microsecond accuracy (по факту может быть меньше)

(дублируется в видео-аудио и PTP 1588) Dante аудио синхросигналы по времени (ptp 1588) передаются мультикастом, поэтому мультикаст должен проходить (возможны проблемы с настройками igmp, прошивками, ACL, у каких то вендоров есть необходимость отключения *stp и проч), при этом передается немного – всего 4 пакета в секунду.

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

Hostname change

hostnamectl set-hostname – меняем Hostname. После установки hostname для применения настроек в текущей сессии перезапускаем bash командой bash.
[user1@host1 ~]$ hostnamectl set-hostname hostx.example.com
==== AUTHENTICATING FOR org.freedesktop.hostname1.set-static-hostname ===
Чтобы настроить статическое имя компьютера, а также его «красивое» имя, необходимо пройти аутентификацию.


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

Hostname show

hostname – позволяет узнать текущее имя хоста

hostnamectl – смотрим Hostname и hardware компоненты (тип ПК – vp/laptop, тип ОС Linux – Ubuntu, CentOS, RHEL, версию Linux ядра, архитектуру)
redkin.p@govnoserver:~$ hostnamectl
   Static hostname: govnoserver
         Icon name: computer-vm
           Chassis: vm
           Boot ID: e965d0a9925e44a8af55557b58842542
  Operating System: Ubuntu 14.04.3 LTS
            Kernel: Linux 3.13.0-65-generic
      Architecture: x86_64

[user1@host1 ~]$ hostnamectl
   Static hostname: host1.example.com


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

Groups

groups/id |username| – по умолчанию показывают в каких группах состоит текущий пользователь, команда id еще выдает ID пользователя и ID групп. При указании аргументом username другого пользователя выводит информацию про него.

~$ groups
admin
~$ groups redkin_p
redkin_p : redkin_p
~$ id
uid=1001(admin) gid=1001(admin) groups=1001(admin)
~$ id redkin_p
uid=1000(redkin_p) gid=1000(redkin_p) groups=1000(redkin_p)


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

Myself

who am i – покажет вывод аналогичный who, но только про самого пользователя
~$ who am i
admin pts/1 2016-08-22 21:35 (89.179.128.38)
whoami – покажет логин shel пользователя (если сделать Login в другого пользователя то измениться и вывод whoami)
~$ whoami
admin
logname –  покажет логин подключеннго пользователя (если сделать Login в другого пользователя, вывод logname все равно будет показывать первичного пользователя)
~$ logname
admin
groups/id – подробнее в groups


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

Linux: информация о системе (system info, uptime, dmidecode)

uptime – маленькая утилита. Показывает Uptime, количество юзеров, load average (1, 5, 15 min).
~$ uptime
 16:18:52 up 14 days, 16:17, 1 user, load average: 0.00, 0.01, 0.05
proc/uptime – из этого файла можно извлечь uptime в секундах.
To get uptime in seconds:
awk '{print $1}' /proc/uptime
w – показывает текущих пользователей, запущенные процессов и времени, подключенных серверу и TTY, что может быть полезно для write.


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