Ниже будут выдержки цитат из рассылки nginx, которые объясняют простые вещи при открытии/переоткрытии сокета не только в случае nginx’a, а и некоторых общих случаях.
Читать далееАрхив рубрики: Linux
eBPF: трассируем приложения
The Berkeley Packet Filter (BPF) started (article 1992) as a special-purpose virtual machine (register based filter evaluator) for filtering network packets, best known for its use in tcpdump. It is documented in the kernel tree, in the first part of: Documentation/networking/filter.txt
The extended BPF (eBPF) variant has become a universal in-kernel virtual machine, that has hooks all over the kernel. The eBPF instruction set is quite different, see description in section “BPF kernel internals” of Documentation/networking/filter.txt or look at this presentation by Alexei.
eBPF enables programmers to write code which gets executed in kernel space in a more secure and restricted environment. Yet this environment enables them to create tools which otherwise would require writing a new kernel module.
Ссылки на материалы:
https://eax.me/bcc-ebpf/
https://habr.com/ru/post/435142/
https://habr.com/ru/company/otus/blog/436528/
cron, run-parts не выполняют скрипты с расширением
Причём не только с расширением «.sh», а вообще с любым. Это поведение по умолчанию и при этом задокументировано! Вот выдержка из man’a:
If neither the —lsbsysinit option nor the —regex option is given then the names must consist entirely of upper and lower case letters, digits, underscores, and hyphens.
[linux] Слушаем «не свои» интерфейсы
# sysctl net.ipv4.ip_nonlocal_bind=1
Данная опция позволяет bind на не свои IP-адреса.
Где используется:
- LoadBalancing (keepalived)
- тестирование
[docker] Попасть в контейнер через /proc
Через /proc/<pid>/root можно попасть в root контейнера. Где pid берётся из ps | efc | grep docker
Установка зависимостей для dpkg-пакета
Нашёл на просторах сети. Оставлю как есть:
dpkg doesn’not have dependency support. You have two choises;
1- use gdebi with
$ sudo apt-get install gdebi-core
gdebi install deb package and their dependency.
$ sudo gdebi package.deb
2- After sudo dpkg -i *.deb you should run,
$ sudo apt-get -f install
[debian] subprocess installed post-installation script returned error exit status 127
Она появляется когда post-script не смог отработать. Что бы избавиться от неё, нужно посмотреть внимательно на сам скрипт:
/var/lib/dpkg/info/[package_name].postinst
Что с ним делать — решать вам. Можно просто почистить и оставить там exit 0, либо отдебажить и понять на чём он валиться.
[Linux] Resize корневого раздела без потери данных
После того, как физически вы его расширили, нужно рассказать об этом ФС. И так, текущий размер 32Gb
Гарантированный запуск единичной копии скрипта
Принцип ее работы прост: для каждого процесса она создает файл и вешает на него lock. Как только процесс завершается, лок пропадает. Лок также пропадает в случае внезапной смерти процесса, и нет необходимости проверять pid на существование или делать другие телодвижения. Если процесс запускается повторно, а лок-файл еще не освободился, работа скрипта прерывается и выдается сообщение в STDERR. Читать далее
pidgin: ssl handshake failed
Или на русском: «ssl рукопожатие не удалось». Проблема заключается в том, что в новых версиях libnss3 не принимаются самоподписные сертификаты (selfsigned). На моей kubuntu 16 пришлось даунгрейдить 4 пакета до версии 3.15.4. Только после этого всё заработало. И так, вот эти пакеты:
ii libnss3:amd64 2:3.15.4-1ubuntu7 ii libnss3-1d:amd64 2:3.15.4-1ubuntu7 ii libnss3-nssdb 2:3.15.4-1ubuntu7 ii libnss3-tools 3.15.4-0ubuntu0.12.04.3