note

Облегчаем docker контейнеры

Иногда требуется сократить использование RAM, например на слабых хостингах, в тестовых средах или для локальной разработки.

Для сокращения использования памяти контейнерами mysql, mariadb можно добавить "--innodb-buffer-pool-size=64m" к запуску. Например для docker-compose:

  db:                                                                                             
    image: mariadb:10.1
    ...                                                                          
    command: --innodb-buffer-pool-size=64m

Сбросить пароль IPMI SUPERMICRO

Качаем тут утилиту IPMICFG

https://www.supermicro.com/SwDownload/SwSelect_Free.aspx?cat=IPMI

Там есть под разные операционки.
Закидываем например на линух

для удобства можно сделать симлинк типа

ln -s /<путь где лежит утилита>/IPMICFG-Linux.x86_64 /user/local/bin/ipmicfg

Узнаем текущие сетевые настройки

ipmicfg -m
ipmicfg -k
ipmicfg -g

Сбрасываем к заводским

ipmicfg -fd

Проверяем не сбросились ли текущие сетевые настройки, при необходимости устанавливаем их с теми же ключами что и смотрели

Заметка по GIT

1.В дире разработки смотрим статус, что было изменено

# git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
 
        modified:   navegacion_en_dispositivos.php
 
no changes added to commit (use "git add" and/or "git commit -a")

2.Коммитим с комментариями
# git commit -m 'added huawei3 in navegacion_en_dispositivos.php' -a

Формат файлов зон на bind9 slave

После того как поднял slave на свежем bind9 заметил, что файлы зон начали выглядеть в бинарном формате и не читаемы для глаз. Народ пишет, что это было сделано начиная с версии 9.9, для оптимизации скорости передачи данных с мастера на слейв.

Для того, чтобы вернуть всё к читабельному виду необходимо добавить опцию masterfile-format text; в настройки зоны на слейве

zone "lan" {
        type slave;
        file "/etc/bind/db.lan";
        masterfile-format text;
        masters {
          xx.xx.xx.xx;
        };
};

и перезапустить bind

dumping master file: /etc/bind/tmp-WshV8qdRaf: open: permission denied

dumping master file: /etc/bind/tmp-WshV8qdRaf: open: permission denied

Проблема возникла, когда я решил перенести slave на другую тачку на debian 10 и поставил новый bind.
Оказалось, что apparmor защищает от записи каталог /etc/bind/

находим файлик /etc/apparmor.d/usr.sbin.named
и менеяем в нем строчку

/etc/bind/** r,

на

/etc/bind/** rw,

после этого перечитываем настройки apparmor

apparmor_parser -r /etc/apparmor.d/usr.sbin.named

Не переключается раскладка в RDP на windows 2008

При подключении к серверу по RDP не работает переключение раскладки клавиатуры на русский язык, хотя в трее значоек раскладок показывает что переключается.

На сервере поправить реестр.
[HKLM\System\CurrentControlSet\Control\Keyboard Layout]
добавить ключ
"IgnoreRemoteKeyboardLayout"=dword:00000001

Python. Вывод чисел с плавающей точкой в фиксированном формате.

Чтобы вывести число с плавающей точкой в фиксированном формате с указанным числом знаков после запятой:

>>> '%0.8f' % (0.00004069/185)
'0.00000022'

raw_input() и input() в python

Откуда то из интернетов...

Какая разница между raw_input() и input() в python3.x?

Разница в том, что raw_input() не существует в Python 3.x, а input() существует. На самом деле старый raw_input() был переименован в input(), а старый input() пропал, но его легко смоделировать с помощью eval(input()). (Помните, что eval() - это зло. Попытайтесь использовать более безопасные способы анализа вашего ввода, если это возможно.)
+
В Python 2, raw_input() возвращает строку, а input() пытается запустить ввод как выражение Python.

Вернуть имена интерфейсов с enp0s1 на eth0

Вернуть старые имена для интерфейсов

В файле загрузчика (/etc/default/grub), необходимо понять значение строки:
GRUB_CMDLINE_LINUX=""
на
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

После сделанных изменений, необходимо в конфигурационном файле /etc/network/interfaces имена интерфейсов enpXsY поменять на ethX.

После этого применяем сделанные изменения в загрузчике, выполняем команду:
update-grub

vsftpd проблемы с авторизацией selinux nologin centos7

смотрим настройки selinux

# getsebool -a | grep ftp
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> on
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> on
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off

добавляем команды в /etc/sysconfig/selinux

setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on
setsebool -P ftpd_use_passive_mode on