Переезд блога с WordPress на Hugo: 13 лет заметок в статику вместо PHP

Этот блог жил активной жизнью с 2013 по 2018 год, за это время в нём накопилось 120 заметок про Linux, nginx, OpenWRT и Zabbix. Далее мне было недосуг обновлять его содержимое, поэтому следующие 8 лет он просто существовал, продолжая всё это время работать на древнющей виртуалке с Debian 6 и таким же старым WordPress. В целом, я понимал, что это бомба замедленного действия. Но недавно оно стало тикать неприлично громко. Ниже о том, как это было и на что я наступил. ...

2 ноября 2026 г. · 4 минуты · xandros

Отключение автообновлений Ubuntu-Server

Ubuntu в качестве серверной платформы любит обновиться в автоматическом режиме и радостно рапортует при входе на сервер о необходимости перезагрузки Управление автоматическими обновлениями регламентируется с помощью unattended upgrades. О принципах работы этого пакета можно почитать, к примеру, на хабре. Для тех же, кому по душе следить за обновлениями системы самостоятельно, есть возможность отключения: ...

3 июля 2018 г. · 1 минута · xandros

Удаление старых ядер в linux

Обновления системы привносят в систему хаос из кучи версий ядер. Если под /boot выделен отдельный мелкий раздел, то рано или поздно можно столкнуться с нехваткой места на нем. Хранить всю ветку старых ненужных ядер ни к чему, достаточно оставить самое свежее и предыдущее (вдруг будет необходимость откатиться). Остальные сносим командой ...

3 июля 2018 г. · 1 минута · xandros

Перенос корневой системы с SW RAID1 на LVM

На сервере кончается свободное место на дисках, а купить новый в этом месяце в бюджет не заложено? Ищем не самые полезные с точки зрения отказоустойчивости методы решения вопроса и вспоминаем, что все сервера у нас собраны на программных зеркалах mdadm raid1. Пришло время избавиться от дублирования данных в угоду увеличению объема тех самых данных. Это увеличит риски потерять все в случае выхода из строя любого из дисков, но иногда можно этим пренебречь (как говорил классик, все люди делятся на три категории: 1) те кто еще не делают бэкапы, 2) те кто уже делает, 3) кто проверяет что он там набэкапил). ...

9 мая 2018 г. · 8 минут · xandros

Сертификаты Lets Encrypt на старых серверах

Благодаря Let’s Encrypt, стало гораздо проще получать сертификаты для доменов и уверенно двигаться в ногу со временем навстречу HTTP/2. Несколько тормозит прогресс наличие огромного количества необновляемых в силу ряда причин серверов под управлением старых операционных систем. Не будем вдаваться в моральные и прочие аспекты обслуживания этого разношерстного зоопарка, в рамках данной статьи рассмотрим, как условно безболезненно получать и обновлять сертификаты для доменов на таких железках. ...

9 апреля 2018 г. · 2 минуты · xandros

Пустые графики без текста в свежем Zabbix

При установке zabbix-server 3.0 в Debian 9 в связке nginx + php7.0-fpm из коробки не совсем корректно взлетел веб-интерфейс Заббикса. Графики отображаются пустыми, без легенд и надписей внутри себя. Как выяснилось, проблема не в обновленном php-gd или иных прелестях свежего Debian-дистрибутива. Оказалось, известный разработчикам заббикса прикол. Чинится просто: находим в папке zabbix-frontend директорию шрифтов с содержимым и указываем путь к своим системным шрифтам. Примерно так: ...

25 марта 2018 г. · 1 минута · xandros

Открытие ссылок из PDF в браузере

Речь идёт о любых соответствиях расширений приложениям. В данном конкретном случае рассматривается некорректное открытие ссылок внутри PDF-файлов, просматриваемых с помощью Okular, через текстовый редактор gedit. Все операции производятся в Ubuntu 16.04.3 LTS. Выполнить команду kcmshell4 filetypes Найти в списке типов желаемый html и поднять на первое место необходимое приложение в поле Application Preference Order Нажать Apply и OK. Перезапустить при необходимости Okular Ссылки: ...

28 февраля 2018 г. · 1 минута · xandros

Установка Mysql 5.6 или 5.7 в Debian 7 и 8

В Debian Wheeze и Jessie (7 и 8 версии, соответственно) по умолчанию в репозиториях содержится только Mysql server версии 5.5. Но разработчики предлагают легкий способ установки последних стабильных релизов с помощью полуавтоматического добавления официальных репозиториев с помощью конфигуратора. Непосредственно конфигуратор лежит внизу страницы http://dev.mysql.com/downloads/repo/apt/. На момент написания статьи там представлен файл https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb. Скачиваем, устанавливаем и настраиваем (запустится автоматически) выбор версии, после чего ставим непосредственно mysql. ...

18 декабря 2017 г. · 1 минута · xandros

Экономия оперативной памяти с KSM

KSM (Kernel SamePage Merging, также: Kernel Shared Memory, Memory Merging) - технология ядра, позволяющая объединять одинаковые страницы памяти между различными процессами в одну для совместного использования. Эта возможность позволяет снизить общее использование памяти виртуальными гостевыми системами при использовании KVM. Модуль ядра ksmd запускает сканирование памяти с заданным интервалом времени (настройка sleep_millisecs). Идентичные блоки объединяются в одну, а освободившиеся дубликаты удаляются. При этом, общая на несколько процессов страница помечается флагом “copy-on-write” и будет разделена ядром при следующем изменении каким либо из процессов. KSM поддерживается ядром Linux, начиная с версии 2.6.32, и доступно в QEMU с версии 0.12. ...

1 декабря 2016 г. · 3 минуты · xandros

Запуск гостевой системы Virtualbox с физического раздела диска

Зачастую на компьютере установлено несколько операционных систем. Например, Windows с переменным успехом дружит с разными версиями GRUB и вполне уживается с Linux в пределах одного компьютера. Но часто из системы в систему не попрыгаешь даже в текущих реалиях жизни, где сплошь и рядом SSD и молниеносные дисковые операции. Для каких-то вещей вполне хватило бы виртуалки со второй системой, но настраивать всё заново долго, а быстрые гигабайты стоят по-прежнему космических денег. ...

15 ноября 2016 г. · 3 минуты · xandros

Перенос облака с Селектела на Vscale

Дисклеймер: всё нижеописанное использовать вдумчиво и под свою ответственность! Шпаргалка создана для личных целей, использовать исключительно в качестве инструкции “как делать не надо”. Большинство команд восстановлено по памяти, но отражают суть дела. Статья не претендует на уникальность или адекватность, но метод рабочий. ...

23 августа 2016 г. · 6 минут · xandros

Как узнать версию BIND?

Чтобы узнать, что за версия BIND запущена на сервере, необходимо ввести команду # nslookup -q=txt -class=CHAOS version.bind. 0 Server: 0 Address: 0.0.0.0#53 version.bind text = "8.2.2-P5" Также можно воспользоваться более короткой (и легко запоминающейся) командой: # named -v named 8.2.2-P5-NOESW Mon Jan 24 13:43:58 EST 2000 Ссылки: ...

17 марта 2016 г. · 1 минута · xandros

Увеличение корневого раздела на LVM в Linux

Предположим, нам стало места на системном разделе в виртуальной машине под KVM/VMWare или вовсе в облаке какого-либо хостинга.После физического увеличения размера блочного устройства для виртуальной машины внутри ничего не поменяется, и система продолжит думать, что всё плохо. Последовательность действий при использовании LVM такова: 1. Увеличиваем размер раздела, выделенного под LVM 2. Увеличиваем физический раздел pv 3. Увеличиваем логический раздел lv по аналогии с обычной системой разметки 4. Расширяем файловую систему на увеличенном разделе ...

27 января 2016 г. · 3 минуты · xandros

Killall в Debian

По умолчанию в Debian нет предустановленного killall. Проблема легко решаема. В репозиториях есть пакет psmisc, содержащий эту утилиту. Обнаружить это можно, выполнив команду apt-get update && apt-get search killall sysvinit-utils - аналоги утилит System-V psmisc - utilities that use the proc file system Ставим недостающий пакет и пользуемся ...

24 ноября 2015 г. · 1 минута · xandros

Перенос корневой системы OpenWRT на флешку

Не секрет, что основной проблемой при пользовании OpenWRT является недостаток свободной памяти на роутере под программы, с которыми приходится работать. При превращении роутера в медиакомбайн первым шагом является подключение внешнего накопителя для системных и пользовательских файлов. Предположим, что произодитель был щедрым китайцем и порт USB распаян на плате (в противном случае начать следует с поисков следов наличия возможности сделать это собственноручно). Первым делом необходима поддержка USB ядром. Так как мы далеко в 21 веке, контроллер непременно USB2.0 (EHCI). ...

17 октября 2015 г. · 3 минуты · xandros

Конвертация IP в число и обратно в Bash

Внутри shell-скриптов иногда нужно оперировать IP адресами. Например, необходимо вычислить, входит ли адрес 123.4.56.7 в диапазон адресов 123.0.0.1-123.5.255.255. Проще всего это сделать, переведя адрес в целое число и сравнив его с граничными значениями. Для этих целей подойдут две функции в BASH. ...

22 сентября 2015 г. · 1 минута · xandros

Реальный IP посетителя на сайте за CloudFlare

Размещение веб-ресурса за сервисом CloudFlare позволяет скрыть IP сервера и тем самым обезопасить себя от возможного DDoS. Однако есть обратная сторона медали - айпишники пользователей, пользующихся вашим ресурсом, также заменяются на подсети CloudFlare. Вот как можно восстановить настоящие IP на сервере с nginx ...

7 июля 2015 г. · 1 минута · xandros

Перенос рабочей системы с одного диска на RAID1

Процесс переноса системы может производиться без прекращения функционирования сервера, но в ходе переноса может значительно снизится его производительность. Вкратце, все разделы постепенно переносятся на свободный жесткий диск, который переводится в состояние деградированного RAID1. После завершения переноса файлов и загрузчика на разделы рейда старый одиночный диск очищается от данных и добавляется к зеркалу. ...

4 марта 2015 г. · 3 минуты · xandros

Отключить обновление пакета в Debian

Так как репозитории Debian содержат зачастую стабильные, но устаревшие версии пакетов, довольно часто приходится устанавливать их вручную. После этого, если обновить систему, пакет или может быть заменен на более старый, или обновлен частично, или вообще прийти в нерабочее состояние. Чтобы менеджер установки пакетов не трогал нужные нам версии ПО, заблокируем его обновления. ...

18 февраля 2015 г. · 1 минута · xandros

Уменьшаем размер ibdata1 в MySQL

При работе с базами данных в MySQL рано или поздно начинает полнеть файл ibdata1. Этот файл содержит в себе индексы и данные всех innodb таблиц, если не было указано в настройках иное. При работе с крупными базами рекомендуется использовать опцию innodb_file_per_table, тогда этот файл будет гораздо меньше. Но просто добавлением опции дело не исправить, необходимо переложить все таблицы имеющихся баз руками в отдельные файлы и папки. ...

27 января 2015 г. · 1 минута · xandros