Делаем демон приложения в CentOS

В CentOS, в отличии от Ubuntu, по умолчанию нет Start-stop-daemon для запуска своих процессов в виде демонов. При его наличии запуск приложения в виде демона решается простой командой (главное чтобы скрипт был исполняемым :)).

start-stop-daemon -Sbvx /home/redkin_p/bin/test.rb

Для того чтобы сделать это в CentOS есть такие варианты:

1) собрать start-stop-daemon для CentOS.

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

Скрипт на событие логина по SSH

Пришла идея создания скрипта для логгирования события подключения по SSH в таблицу SQL и уведомления о подключении определенных пользователей определенным пользователям:
  • писать всем пользователям о подключении их самих – сами пользователи знают, когда заходят и заход тогда, когда ты это делать не мог – есть повод обеспокоиться
  • админу писать о подключении всех пользователей, имеющих права на sudo
В целом логгирование в linux встроено по умолчанию – утилита last показывает полный лог авторизаций с момента создания файла /var/log/wtmp и продолжительность pts, а в lastlog есть информация о последнем подключении.

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

Использование emerge в Gentoo

Аналог статьи про Ubuntu.

https://wiki.gentoo.org/wiki/Gentoo_Cheat_Sheet – список необходимых команд, все что ниже там есть.

В целом мне не нравятся Gentoo/FreeBSD во многом из-за сравнения процессов работы с приложениями в CentOS, Ubuntu – там все намного быстрее и проще.

Portage — основная система управления пакетами в Gentoo Linux.


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

Популярные дистрибутивы Linux/BSD

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

TOP 10 Linux серверов с поддержкой (не обязательно коммерческой).

Список дистрибутивов Linux с прикольной картинкой, показывающей “фамильное дерево” дистрибутивов.

Вот тут есть обобщенное описание серверов от 2002 года, но в целом информация актуальна до сих пор (как ни странно и использование серверов IBM AIX и Sun Solaris Sparc в Enterprise).

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

Аутентификация на ssh-сервере Linux через RADIUS

Для аутентификации на Linux-сервере (например, RHEL) по SSH через удаленный RADIUS на сервер для взаимодействия с RADIUS обычно ставят модуль PAM-D (pam: gdm-password).

 

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

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


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

Обновление приложений и ОС в UBUNTU

Приложения

sudo apt-get update – получение списка всех доступных обновлений приложений

fetches the list of available updates

sudo apt-get dist-upgrade – обновление приложений на основе сформированного ранее списка обновлений. dist-upgrade лучше обычного upgrade (sudo apt-get upgrade) т.к. разрешает конфликты (доустанавливает/обновляет/удаляет необходимые зависимости).

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

Date, time, timezone, ntp

show

date – показывает дату и время. Вывод для удобства можно редактировать. Делал так для скрипта, который кладет логи в папку, чтобы можно было опрашивать просто по нужной дате и сортировать тупо-по имени без даты.

[root@host1 ~]# date
Tue Aug 2 12:31:11 MSK 2016
[root@host1 ~]# date "+%Y-%m-%d"
2016-08-02

Работа с датой:

date --date "-3 day" - дата 3 дня от текущей
date --date="255 days ago" - дата 255 дней от текущей
date -d "24 Oct 2017" "+%s" - получаем дату в секундах с 1970 года (epoch date).


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