Linux: использование yum в CentOS (обновление, установка, удаление приложений)

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

CentOS работает с .rpm пакетами (так же как и RHEL, Fedora, Suse, Mandriva).

Вот тут есть очень хорошая шапаргалка. Ниже только самое используемое, остальное проще взять оттуда.

Обновление всех приложений (сразу и обновляем данные из репозиториев о пакетах и ставим эти пакеты)

sudo yum update

Если в списке обновлений было ядро – без перезагрузки не обойтись (если нужно проверить что код нового ядра запустится корректно прямо сейчас).

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

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

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

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

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

0) Запустить приложение через nohup.

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

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

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

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

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

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

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

Логи /var/log/emerge.log

Просмотр

Посмотреть все установленные пакеты.

qlist -I (qlist -Iv с версиями)

Смотрим какие версии приложения установлены и какие активны.

$ eselect postgresql list
Available PostgreSQL Slots
 10 * 10.1
Обновление пакетов и ОС

Очень хорошо и подробно описано тут.

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

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

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

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

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

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

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

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/Debian

APT – advanced package tool. Пакетный менеджер на ubuntu (и Debian) – позволяет легко искать приложения, скачивает приложения из репозиториев, устанавливает и их зависимости, удаляет все это при необходимости. Apt работает с пакетам .deb (так же как и Debian, на основе которого построен Ubuntu).

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

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).


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