Заметки сисадмина с 2013 года: Linux, nginx, OpenWRT, Zabbix — и теперь LLM.
Переезд блога с WordPress на Hugo: 13 лет заметок в статику вместо PHP
Этот блог жил активной жизнью с 2013 по 2018 год, за это время в нём накопилось 120 заметок про Linux, nginx, OpenWRT и Zabbix. Далее мне было недосуг обновлять его содержимое, поэтому следующие 8 лет он просто существовал, продолжая всё это время работать на древнющей виртуалке с Debian 6 и таким же старым WordPress. В целом, я понимал, что это бомба замедленного действия. Но недавно оно стало тикать неприлично громко. Ниже о том, как это было и на что я наступил. ...
Я из 2058-го: ИИ не убил человечество — он приручил его
Перевод Мы победили старение. Мы решили проблему энергии. Мы отменили смерть. Но… какой ценой? АКТ I. ИГРУШКА 2022–2024 30 ноября 2022 года. Я сижу у себя в квартире в Остине, ем остывший пад-тай и листаю Twitter. Мой сын, ему пять, спит в соседней комнате. ...
Отключение автообновлений Ubuntu-Server
Ubuntu в качестве серверной платформы любит обновиться в автоматическом режиме и радостно рапортует при входе на сервер о необходимости перезагрузки Управление автоматическими обновлениями регламентируется с помощью unattended upgrades. О принципах работы этого пакета можно почитать, к примеру, на хабре. Для тех же, кому по душе следить за обновлениями системы самостоятельно, есть возможность отключения: ...
Удаление старых ядер в linux
Обновления системы привносят в систему хаос из кучи версий ядер. Если под /boot выделен отдельный мелкий раздел, то рано или поздно можно столкнуться с нехваткой места на нем. Хранить всю ветку старых ненужных ядер ни к чему, достаточно оставить самое свежее и предыдущее (вдруг будет необходимость откатиться). Остальные сносим командой ...
Перенос корневой системы с SW RAID1 на LVM
На сервере кончается свободное место на дисках, а купить новый в этом месяце в бюджет не заложено? Ищем не самые полезные с точки зрения отказоустойчивости методы решения вопроса и вспоминаем, что все сервера у нас собраны на программных зеркалах mdadm raid1. Пришло время избавиться от дублирования данных в угоду увеличению объема тех самых данных. Это увеличит риски потерять все в случае выхода из строя любого из дисков, но иногда можно этим пренебречь (как говорил классик, все люди делятся на три категории: 1) те кто еще не делают бэкапы, 2) те кто уже делает, 3) кто проверяет что он там набэкапил). ...
Сертификаты Lets Encrypt на старых серверах
Благодаря Let’s Encrypt, стало гораздо проще получать сертификаты для доменов и уверенно двигаться в ногу со временем навстречу HTTP/2. Несколько тормозит прогресс наличие огромного количества необновляемых в силу ряда причин серверов под управлением старых операционных систем. Не будем вдаваться в моральные и прочие аспекты обслуживания этого разношерстного зоопарка, в рамках данной статьи рассмотрим, как условно безболезненно получать и обновлять сертификаты для доменов на таких железках. ...
Пустые графики без текста в свежем Zabbix
При установке zabbix-server 3.0 в Debian 9 в связке nginx + php7.0-fpm из коробки не совсем корректно взлетел веб-интерфейс Заббикса. Графики отображаются пустыми, без легенд и надписей внутри себя. Как выяснилось, проблема не в обновленном php-gd или иных прелестях свежего Debian-дистрибутива. Оказалось, известный разработчикам заббикса прикол. Чинится просто: находим в папке zabbix-frontend директорию шрифтов с содержимым и указываем путь к своим системным шрифтам. Примерно так: ...
Открытие ссылок из PDF в браузере
Речь идёт о любых соответствиях расширений приложениям. В данном конкретном случае рассматривается некорректное открытие ссылок внутри PDF-файлов, просматриваемых с помощью Okular, через текстовый редактор gedit. Все операции производятся в Ubuntu 16.04.3 LTS. Выполнить команду kcmshell4 filetypes Найти в списке типов желаемый html и поднять на первое место необходимое приложение в поле Application Preference Order Нажать Apply и OK. Перезапустить при необходимости Okular Ссылки: ...
Установка 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. ...
Экономия оперативной памяти с 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. ...
Запуск гостевой системы Virtualbox с физического раздела диска
Зачастую на компьютере установлено несколько операционных систем. Например, Windows с переменным успехом дружит с разными версиями GRUB и вполне уживается с Linux в пределах одного компьютера. Но часто из системы в систему не попрыгаешь даже в текущих реалиях жизни, где сплошь и рядом SSD и молниеносные дисковые операции. Для каких-то вещей вполне хватило бы виртуалки со второй системой, но настраивать всё заново долго, а быстрые гигабайты стоят по-прежнему космических денег. ...
Перенос облака с Селектела на Vscale
Дисклеймер: всё нижеописанное использовать вдумчиво и под свою ответственность! Шпаргалка создана для личных целей, использовать исключительно в качестве инструкции “как делать не надо”. Большинство команд восстановлено по памяти, но отражают суть дела. Статья не претендует на уникальность или адекватность, но метод рабочий. ...
Как узнать версию 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 Ссылки: ...
Отключение рекламы в мобильном клиенте Вконтакте
В ленте мобильного клиента ВКонтакте то и дело мелькает реклама различных мобильных приложений. Возможность их отключения есть из коробки, но мало кто об этом знает. Чтобы отключить рекламу, необходимо проделать следующие шаги: Зайти в клиент и выбрать в правом меню пункт “Настройки”. Опустить в самый низ и найти там “О программе” Трижды нажать на собаку (при этом ничего не произойдет) Войти в звонилку и ввести секретный код *#*#856682583#*#* (на Т9 это слово vkontakte) - откроется сервисное меню приложения Опуститься вниз меню и поставить галочку напротив “Отключить рекламу” Способ был обнаружен во время ознакомления с программой Secret Codes для Андроида. Софт позволяет найти скрытый функционал внутри установленных на телефоне приложений. Также с его помощью можно войти в сервисное меню, если в устройстве отсутствует звонилка (например, на планшете).
Увеличение корневого раздела на LVM в Linux
Предположим, нам стало места на системном разделе в виртуальной машине под KVM/VMWare или вовсе в облаке какого-либо хостинга.После физического увеличения размера блочного устройства для виртуальной машины внутри ничего не поменяется, и система продолжит думать, что всё плохо. Последовательность действий при использовании LVM такова: 1. Увеличиваем размер раздела, выделенного под LVM 2. Увеличиваем физический раздел pv 3. Увеличиваем логический раздел lv по аналогии с обычной системой разметки 4. Расширяем файловую систему на увеличенном разделе ...
Как скачать заблокированный торрент
Правообладатели наступают на пятки и портят настроение простому обывателю, который в пятницу вечером решил скачать свежее кино. Большинство раздач на популярных трекерах имеют вместо кнопки “Получить магнет” или “Скачать” фразу “Раздача заблокирована”. Что несомненно заставляет грустить. Поначалу. На самом деле существует возможность все же получить ссылку на торрент-файл. ...
Killall в Debian
По умолчанию в Debian нет предустановленного killall. Проблема легко решаема. В репозиториях есть пакет psmisc, содержащий эту утилиту. Обнаружить это можно, выполнив команду apt-get update && apt-get search killall sysvinit-utils - аналоги утилит System-V psmisc - utilities that use the proc file system Ставим недостающий пакет и пользуемся ...
Добавление поддержки HTTPS в Wordpress
Ходят слухи, что гугл поднимает сайты с поддержкой HTTPS повыше в поисковой выдаче. Кроме того, добавление SSL сертификата повысит безопасность сайта в целом. Тем более, что помимо StartSSL и WoSign бесплатные сертификаты совсем скоро начнет выдавать Let’s Encrypt. Wordpress по умолчанию хранит все ссылки с добавлением протокола, поэтому для полноценной поддержки необходимо внести изменения в базу данных. При этом следует учесть, что чтобы не сломать HTTP, можно перейти на относительные ссылки внутри сайта вместо абсолютных. Для этого в консоли mysql делаем для БД блога замену в таблице wp_posts (если используются плагины подмены имен таблиц, название нужно заменить на своё корректное): ...
Перенос корневой системы OpenWRT на флешку
Не секрет, что основной проблемой при пользовании OpenWRT является недостаток свободной памяти на роутере под программы, с которыми приходится работать. При превращении роутера в медиакомбайн первым шагом является подключение внешнего накопителя для системных и пользовательских файлов. Предположим, что произодитель был щедрым китайцем и порт USB распаян на плате (в противном случае начать следует с поисков следов наличия возможности сделать это собственноручно). Первым делом необходима поддержка USB ядром. Так как мы далеко в 21 веке, контроллер непременно USB2.0 (EHCI). ...
Конвертация IP в число и обратно в Bash
Внутри shell-скриптов иногда нужно оперировать IP адресами. Например, необходимо вычислить, входит ли адрес 123.4.56.7 в диапазон адресов 123.0.0.1-123.5.255.255. Проще всего это сделать, переведя адрес в целое число и сравнив его с граничными значениями. Для этих целей подойдут две функции в BASH. ...