Raspberry PI — меняем пин для 1-wire

По умолчанию, Raspberry Pi работает с 1-wire на gpio-4, однако можно руками указать какой именно пин использовать для поиска устройств. Или несколько пинов сразу. Для этого нужно открыть файл /boot/firmware/connfig.txt и указать руками нужный пин:

    dtoverlay=w1-gpio,gpiopin=24

Соответственно для того чтобы поиск шел на нескольких пинов:

  dtoverlay=w1-gpio,gpiopin=24
  dtoverlay=w1-gpio,gpiopin=4
  dtoverlay=w1-gpio,gpiopin=17

После перезагрузки устройства появятся в /sys/bus/w1/devices

raspberry pi 1-wire

Astra Linux: перестаёт отображаться меню «Пуск»

Проблема: спустя пару часов после начала работы под этой ОС, перестаёт отображаться содержимое меню, после того как нажимаешь на кнопку «Пуск».

Решение: причину выяснить не удалось, потому пришлось «купировать» скриптом в crontab:

fly-wmfunc FLYWM_PRECREATE_STARTMENU

Astra Linux: установить обои из консоли

Задача: необходимо установить свои обои на рабочем столе Astra Linux при помощи скрипта на bash

Решение: проблема решается буквально одной строчкой:

#!/bin/bash
fly-wmfunc FLYWM_UPDATE_VAL WallPaper "~/scripts/wallpapersden.com_atomic-heart-gaming_1920x1200.jpg"

Для автоматической установки достаточно положить этот скрипт в ~/.config/autostart

Запрет доступа по протоколу https «для всех кроме»

Задача: на нескольких серверах ограничить доступ к сайту по протоколу http/https для всех, кроме избранных IP.

Решить можно несколькими способами:

  • поправить .htaccess, добавив в него deny from all и allow from IP
  • на уровне файревола

Мне предпочтительней было сделать это на уровне файревола, т.к. таким образом не нужно прописывать запрет на доступ на каждом сайте, а запрещаю на ВСЕХ сайтах размещенных на этом сервере одновременно.

Принцип прописывания правил для всех файреволов одинаков: запрещаем по умолчанию всё, кроме того что нужно. Так как у меня немного зоопарк по серверам, то два различных файревола.

Ubuntu и иже с ним:

ufw default deny outgoing
ufw default deny incoming
ufw allow out 53
ufw allow from 19.82.24.12 to any port 443
ufw allow from 19.82.34.12 to any port 80
service ufw restart

CentOS и иже с ним:

firewall-cmd --zone=public --remove-service=http
firewall-cmd --zone=public --remove-service=https
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="15.8.15.1" port port="443" protocol="tcp" accept'
firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="15.8.15.1" port port="80" protocol="tcp" accept'
systemctl restart firewalld.service

RedOS: обновление httpd из исходников

Как оказалось (по советам данным на linux.org.ru), наиболее правильным вариантом обновления существующей инсталляции httpd, является «опакечивание» исходных кодов в rpm, а затем штатная его установка. В этом случаем мы избавляемся от проблем с выбором правильных ключей и путей, которые пришлось бы устанавливать руками при компиляции/сборке httpd из исходников. Итак поехали:

Сначала как обычно подготовим среду сборки:

dnf install rpmdevtools rpmlint
dnf install apr-devel apr-util-devel libuuid-devel lua-devel openldap-devel
dnf install apr-util-ldap
dnf install perl libxml2-devel

Затем создадим структуру каталогов для сборки:

rpmdev-setuptree

Далее скачиваем исходные коды httpd:

wget https://dlcdn.apache.org/httpd/httpd-2.4.62.tar.bz2

И теперь «опакечиваем» их в rpm:

rpmbuild -tb httpd-2.4.62.tar.bz2

Если сборка вываливается с ошибками, то необходимо смотреть файл config.log и до устанавливать необходимые зависимости (смотря на что ругается)

Если сборка прошла успешно, то в папке ~/rpmbuild/RPMS/x86_64 будут пакеты готовые к установке. Устанавливать их можно штатно:

rmp -U *.rpm --force

ключ —force в данном случае нужен для того, чтобы установщик не ругался на уже существующие файлы настройки httpd (вот тут осторожно! лучше сначала попробовать без этого ключа и посмотреть ошибки)

Убедимся что версия обновилась:

httpd -V
обновление httpd из исходников

Вот и всё, остается перезапустить сервис httpd

1 4 5 6 7 8 59