локальная установка пакетов

Вы наверняка сталкивались с ситуациями, когда нужно установить какой-то пакет, а его нет в репозиториях. Приходится скачивать и устанавливать его локально. Это не рекомендуемый вариант, но все же нужно знать, как установить пакет локально. Ниже опишу способы, которыми пользуюсь для установки пакетов в системах Debian/RedHat. Debian Для установки пакетов в Debian-based системах предусмотрено несколько программ: dpkg apt-get aptitude Эти программы идут из коробки, так сказать. К сожалению, из коробки не предусмотрено нормальной установки локального пакета с разрешением зависимостей.

переименование хостов в zabbix

Система мониторинга Zabbix имеет свой API через который удобно производить массовые или автоматические изменения. К таким изменениям как раз и относится переименование хостов. Да, бывает, что меняются стандарты именования серверов, и надо массово их переименовывать. Несмотря на то, что Zabbix имеет неплохой web интерфейс, большое количество хостов проще переименовать через API. Привожу свой скрипт на python для переименования. Для его использования вам понадобится модуль pyzabbix (pip install pyzabbix). Если вы используете ip в качестве интерфейса подключения к хосту, то удалите две последние строки, они вам не пригодятся.

мониторинг puppet agent

Когда инфраструктура описана и управляется системой конфигурации, то эту систему было бы неплохо замониторить во все места. С удивлением обнаружил, что на работе не проверяется ошибка при компиляции каталога puppet. Вот пример такой ошибки для наглядности:

puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter uers on Class[Users::Test] at /etc/puppet/environments/hadoop/manifests/init.pp:36 on node centos7.local
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

конфиг nginx для drupal 6

Как мы уже писали, мы переехали с Drupal 6 на статический генератор сайтов. Недавно просматривая старый репозиторий наткнулся на конфиг nginx и решил им заделиться, т.к. в свое время мы потратили немало времени на компоновку конфига nginx для drupal и доведение его до рабочего состояния. В принципе, конфиг должен подойти и для новых версий Drupal, но я его не тестировал. Drupal 6 в свое время был выбран за стабильность и безопасность, а также его можно было практически бесконечно кастомизировать.

убираем www из url в nginx

Редко когда встретишь уже использование www перед доменом, но иногда лучше подстаховать и сделать редирект, вместо того чтобы пользователь попал на пустую страницу. Если вы конечно не указали его в server_name :) Для этого на необходимом домене в конфиг, который как правило находится для дебиано-подобных систем в /etc/nginx/sites-enabled, добавляем следующую конструкцию: server { server_name www.domain.com; return 301 $scheme://domain.com$request_uri; } При надобности можете сделать прямой редирект на https, просто сменив $scheme.

не запускается steam под linux

Что делать, если Steam перестал запускаться после обновления или при запуске выдает ошибки вида? Error: OpenGL GLX context is not using direct rendering, which may cause performance problems glgeterror Достаточно удалить два файла, чтоб Steam снова заработал. Данную проблему я схватил на Debian Jessie x86_64. rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6 rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1 Вот и всё. Steam снова работает, я снова играю в cs 1.6 :)

dnsmasq как локальный кэширующий DNS

Кэширующий DNS сократит вам время определения доменных имен и улучшит общее качество браузинга. Я опишу, как настроить простенький DNS сервер dnsmasq в качестве кэширующего. Для начала установите пакет dnsmasq (Debian/Ubuntu). sudo apt-get install dnsmasq Простая конфигурация, которая отключает DHCP (он же вам не нужен, верно?), увеличивает размер кэша и отключает кэширование отрицательных ответов. В /etc/dnsmasq.conf включите следующие опции. По умолчанию там все закомментировано. no-dhcp-interface=eth0 cache-size=10001 no-negcache Больше опций можно посмотреть в man dnsmasq

системные настройки высоконагруженного сервера

Настройки Linux по-умолчанию не годятся для высоких нагрузок. Под высокими нагрузками я понимаю от 10000 запросов в секунду. В данной статье рассмотрим два «переключателя», покрутив которые мы добьемся от сервера устойчивости и отзывчивости при высоких нагрузках. Эти переключатели: limits.conf и sysctl.conf limits.conf Это конфигурационный файл для pam_limits.so модуля. Он определяет ulimit лимиты для пользователей и групп. В Linux есть системные вызовы: getrlimit() и setrlimit() для получения и установления лимитов на системные ресурсы.

форсируем ssl с hsts

Как вы, наверное, заметили, блог стал доступен по протоколу SSL. Сертификат был получен совершенно бесплатно у StartSSL. Сейчас появилось несколько способов заполучить халявный доверенный SSL сертификат. Например, Cloudflare дает SSL доступ всем желающим пользователям с помощью технологии Universal SSL Еще один способ пока еще в стадии разработки, но уже успел нашуметь в среде IT. Это, так называемая инициатива Let’s Encrypt. Но разговор сейчас зайдет не о получении SSL, а о способе обезопасить SSL соединение от MITM атак.

переезд с drupal на hugo

Drupal 6, на котором крутился сайт, морально устарел и мы решили переехать. Рассматривались разные движки для переезда, хотелось отказаться от реляционных баз данных в пользу удобства резервного копирования (интересовал полный перенос в git со всеми плюшками), но при этом не хотелось и навредить поддержкой, с написанием новых статей самому себе при использовании выбраного движка. И среди интересующих движков нас заинтересовали сайты на статике, отличный сайт с выборкой можно найти на StaticGen, из вариантов рассматривали движки написанные на Python и Golang (последний был очень интересен как быстро растущий и требующий минимальных усилий при переносе на другой сервер, копируем бинарник и вуаля).