Покидайте vimrc :3
Vimrc-porn тип
Vimrc-porn тип
Есть Linux-сервер на проде: Ubuntu 24.04 LTS.
На машине запущен сайт.
Люди вообще обновляют такие машины командами
apt update && apt upgrade
?
Или запустили сайт, и забили на машину? И работает себе сайт.
Потому что была у меня история с обновлением: после апдейта функция сайта на JS стала время на 1 час назад возвращать – это было серьезной проблемой для сайта.
Перемещено hobbit из general
Нашел баг в iptables, при рестарте сервиса перестает работать iptables match его cgroup path.
Есть мнения?
Пишу сразу как shell скрипт чтоб было можно копи пастить. Скрипт исполняем на свежей Ubuntu 24.04, можно и в виртуалке.
# функция тестирования
webtest() { curl 127.0.0.1 -m1 &>/dev/null && echo WEB OK || echo WEB FAIL; }
systemctl restart nginx
iptables -F OUTPUT
# будем матчить nginx и банить ответы от него.
iptables -A OUTPUT -m cgroup --path system.slice/nginx.service -m comment --comment rule1 -j DROP
webtest
# => WEB FAIL , правильный результат
systemctl stop nginx.service
# здесь system.slice/nginx.service исчезает из дерева cgroup..
systemctl start nginx.service
webtest
# => WEB OK , неправильно!!! Видимо , когда по новой создался cgroup path, то старое правило iptables перестало его матчить..
#Теперь методы исправления. Времена чудес..
#method 1.
# Произойдет рефреш маппинга cgroup path в iptables. Необъяснимо, но работает.
iptables -Z OUTPUT 1
webtest
# => WEB FAIL , правильный резльтат
#method 2
# удалим старое правило (rule1) и добавим новое аналогичное (rule2). Произойдет рефреш маппинга cgroup path в iptables.
iptables -D OUTPUT -m cgroup --path system.slice/nginx.service -m comment --comment rule1 -j DROP
iptables -A OUTPUT -m cgroup --path system.slice/nginx.service -m comment --comment rule2 -j DROP
webtest
# => WEB FAIL , правильный результат
Есть сервер dovecot с поднятой sieve авторизация в коте через AD он же выступает сервером авторизации для postfix Если отдельная учетка глобал которая позволяет через userglobal зайти в любой ящик под единым паролем. Сейчас любой пользователь может сам править свои фильтры в sieve и это не подходит. Задачка минимум оставить право редактировать фильтры только если в ящик зашли через userglobal Задача максимум еще дать править свои фильтры пользователям у которых есть определенный атрибут в AD или скажем он состоит в отдельной группе AD
Прошу помощи, совета или просто кинуть в меня документацией о том как сделать. Немогу найти ничего подобного.
тут кто-то предлагал делиться новогодними подарками, ну так вот оно: https://chiselapp.com/user/nektomk/repository/fun/home.
выдалось время, набросал прототип итераторов в Tcl и даже слегка покрыл тестами. Пока-что это скажем так «api preview», то есть посмотреть/оценить насколько получается удобно и выразительно.
извините, из документации пока только cheats на основной странице, тесты и две «демки» в репозитарии;
# "lines of code" :-)
# iter`s concatenations demo
set loc [ fold { accum x } {
# simple, count elements
incr accum
# from other iterator
# [] - combination sign
} 0 [] filter { x } {
# filter elements
set x [ string trim $x ]
if { $x == {} || [ string index $x 0 ] == {#} } {
# empty lines and lines started from # (comment)
# wil drop
return false
}
return true
# from file
} <| $filename ]
Цель: чтобы удобно было писать на Tcl в функциональном стиле; В планах сделать внутри функциональную и комбинаторную оптимизацию.
в более дальних планах на следующий год: добавить операцию [] (та которая в функ. нотации точка по центру) уже непосредственно в парсер и исполнятор tcl.
Когда нужно пропатчить сорцы всё решается просто: кладем патч в /etc/portage/patches/<имя_пакета> и он автоматом применяется перед сборкой.
Есть ли какой-нибудь способ автоматического применения патча не к сорцам, а к ебилду?
Потребление свопа программами посмотреть просто: достаточно запустить, например, smem -s swap
, или своим скриптом распарсить /proc/$PID/smaps
интересующих процессов и просуммировать засвопленное.
Но в моём случае smem -s swap
показывает нули, и своп, по всей видимости, потребляют файлы из tmpfs (идёт расчёт и их там много). Есть ли какой-то способ получить статистику, какие файлы и по скольку занимают в свопе? Будет достаточно наводки на файлы из /proc
или /sys
, которые можно самому распарсить, если таковые имеются.
UPD: Пока я заметил, что у tmpfs при вытеснении файлов в своп уменьшается Неа, показалосьUsed
в df
, так что можно отследить общую сумму.
Добрый день! Дано: Astra Linux 1.7,
docker 1.5-2 all transitional package
docker-buildx 0.10.5astra1 amd64 Docker CLI plugin for extended build capabilities with BuildKit
docker.io 24.0.2+astra16 amd64 Linux container runtime
С помощью команд скачала и сохранила простейший образ для обучения:
docker pull hello-world
docker images
docker save hello-world > hworld.tar
Вижу, что в tar архиве расположен исполняемый файл, при запуске которого в текущей системе отображается «Hello World» Вопрос - как сделать свой собственный образ с нуля, если есть только исполняемый файл?
https://www.dmosk.ru/miniinstruktions.php?mini=docker-base-image В этой статье написано, что из репозитория ставится система. А как простейший образ без репозитория сделать?
Перемещено hobbit из general
Вышла новая версия службы динамической маршрутизации bird 2.14.
Основные нововведения:
>>> Подробности
Я как-то задавал вопрос про фильтр в Bird: Bird 2.14 (комментарий). Ответ в обсуждении не родился, но недавно я на него наткнулся. В вопросе остутствовал неожиданно ключевой момент, секция interface в секции area:
filter export_OSPF {
if net ~ 192.168.0.0/16 then reject;
}
protocol ospf v2 ospfv4 {
ipv4 {
export filter export_OSPF;
}
area 0 {
interface "eth*" {
type broadcast;
}
}
}
interface "eth0"
, либо а-ля interface 10.0.0.0/30
, где нейбор, и фильтр заработал. И вроде нигде не написано, что это важно.Здравствуйте.
Настроен почтовый сервер с dovecot, в котором настроен совместный доступ к почтовым ящикам пользователей:
namespace shared {
type = shared
separator = /
location = maildir:/opt/%%d/%%n:INDEX=%h/shared/%%u:INDEXPVT=%h/shared/%%u:LAYOUT=fs
subscriptions = yes
list = children
}
Команда LIST (IMAP) возвращает ошибку: Mailbox doesn’t exist: shared (0.001 + 0.000 secs).
Она же, судя по всему, является причиной того, что Outlook после каждой синхронизации оставляет журнал в «Ошибках синхронизации» c сообщением о невозможности синхронизировать папку shared.
Папки внутри shared (в стиле shared/user@example.ru) синхронизируются нормально.
Как добиться от dovecot того, чтобы он возвращал информацию о родительской папке shared без ошибки, например, как о пустой?
Тем, кто использует zram. Какой алгоритм компрессии используете? И какой у вас выхлоп zramctl
?
$ zramctl
NAME ALGORITHM DISKSIZE DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram1 lzo-rle 590,7M 288,6M 51,7M 54,4M 2 [SWAP]
/dev/zram0 lzo-rle 590,7M 287,8M 51,7M 54,3M 2 [SWAP]
На машине у меня две аудиокарты:
2b:00.1 Audio device: NVIDIA Corporation TU116 High Definition Audio Controller (rev a1)
Subsystem: Gigabyte Technology Co., Ltd TU116 High Definition Audio Controller
2d:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller
Subsystem: Micro-Star International Co., Ltd. [MSI] Starship/Matisse HD Audio Controller
Прочитал статью, испугался и хочу запустить от рута непривилегированный контейнер, как описано тут:
https://linuxcontainers.org/lxc/getting-started/#creating-unprivileged-contai...
Контейнер у меня уже есть, как привилегированный он запускается.
Я добавил файлы:
# cat /etc/subuid
root:1000000:65536
# cat /etc/subgid
root:1000000:65536
и строчки
# grep id /var/lib/lxc/guestos/config
lxc.idmap = u 0 100000 65536
lxc.idmap = g 0 100000 65536
сообщение об ошибке такое:
«newuidmap: uid range [0-65536) -> [100000-165536) not allowed»
# zgrep CONFIG_USER_NS /proc/config.gz
CONFIG_USER_NS=y
нашел багу:
https://bugs.gentoo.org/615298
выполнил команды
chmod 4755 /usr/bin/newuidmap
chmod 4755 /usr/bin/newgidmap
но ничего не поменялось.
journalctl -u lxc@guestos.service
после перезагрузки хоста пишет такое:
jan 20 02:08:12 hostos systemd[1]: Started Linux Container guestos.
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: conf.c: lxc_map_ids: 2999 newuidmap failed to write mapping "newuidmap: uid range [0-65536) -> [100000-165536) not allowed": newuidmap 6932 0 100000 65536
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: start.c: lxc_spawn: 1708 Failed to set up id mapping.
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: start.c: __lxc_start: 1939 Failed to spawn container "guestos"
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: conf.c: lxc_map_ids: 2999 newuidmap failed to write mapping "newuidmap: uid range [0-65536) -> [100000-165536) not allowed": newuidmap 6949 0 100000 65536 6>
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: conf.c: userns_exec_1: 4352 Error setting up {g,u}id mappings for child process "6949"
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: tools/lxc_start.c: main: 330 The container failed to start
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: tools/lxc_start.c: main: 336 Additional information can be obtained by setting the --logfile and --logpriority options
jan 20 02:08:12 hostos systemd[1]: lxc@guestos.service: Main process exited, code=exited, status=1/FAILURE
jan 20 02:08:12 hostos systemd[1]: lxc@guestos.service: Failed with result 'exit-code'.
Вопросы:
1) почему не работает?
2) что сделать, чтобы заработало?
Восхищен возможностями GNU screen, но никак не могу заставить в нем работать все 256 цветов (очень нужно для цветовых схем VIM'а и Mutt'а).
- xterm версии 200 собран с 256 цветами, TERM установлен в xterm-256color, с помощью строчки "XTerm*termName: xterm-256color" в .Xdefaults. Если использовать другие значения переменной TERM, то 256 цветов в описаниях terminfo уже не будет. А так:
$ xterm -v
XTerm(200)
$ infocmp|grep -i colors#
colors#256, cols#80, it#8, lines#24, ncv#32, pairs#256,
Вывод теста 256colors2.pl (лежит в тарболле с исходными кодами XTerm) тоже верен.
- screen версии 4.0.2 собран с поддержкой 256 цветов (опция configure --enable-colors256).
$ screen -v
Screen version 4.00.02 (FAU) 5-Dec-03
Теперь запускаем из под xterm'а screen и
$ infocmp|grep -i colors#
colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
$ echo $TERMCAP|grep Co
:Co#8:pa#64:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:AX:\
Шишъ! Причем вывод теста 256colors2.pl во-первых производится почти сразу, в отличии от первого случая, а во вторых _АНАЛОГИЧЕН_ первому случаю! Строчка в .screenrc "termcapinfo xterm-256color 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'" не помогает. Также в xterm команда echo -e "\e[1;34mstring" выводит строчку string ярко синим цветом, а эта же команда уже в screen'е, запущенном из этого xterm'а выводит эту же строчку уже темно синим цветом, что ИМХО неверное поведение.
Очень не хочется специально для XTerm делать terminfo описание терминала screen.xterm-256color, хочется разрулить все опциями screen'а termcap, terminfo и termcapinfo. Слил и перечитал весь список рассылки screen-users. Описанные там рецепты не помогли. Сам я не являюсь terminfo гиком, поэтому прошу помощи у всемогущего all. ОС естественно Gentoo GNU/Linux.
P.S. Также буду очень благодарен доброму человеку за ссылку на электронную англоязычную версию книги O'Reilly "Termcap and Terminfo". В Сети в свободном доступе не нашел. В пиринговых сетях есть, но буквально у пары человек, которых постоянно нет в онлайне. Для модераторов: это не варез, книга вышла 15 лет назад и сегодня ее уже не достать в бумажном виде в России.
Добрый день
Хочется прогнать sieve скрипты на уже существующих письмах, но sieve-filter
не видит виртуальных пользователей.
sieve-filter -v -u postmaster@domain.tld ~/sieve/managesieve.sieve INBOX
sieve-filter(root): Fatal: Unknown user
Во всяких формах писал пользователя, и даже подсовывал конфиг, и от vmail запускал
sudo -u vmail sieve-filter -c /etc/dovecot/dovecot.conf -v -u test@domain.tld /var/vmail/sieve/dovecot.sieve INBOX
sieve-filter(vmail): Fatal: Unknown user
Если не указать пользователя -u
, то он пытается всё проделать в домашней папке текущего пользователя.
Как его заставить увидеть виртуальных пользователей?
Ubuntu 20.04, iRedMail, dovecot 2.3.7.2 (3c910f64b), база в OpenLDAP
Добрый день. Есть imap папка public/.test, на папку подписался все Ок. Создал юзера test@domain.ru
Как отправлять письма через алиас в imap папку public.test ?
пробовал отправлять в public.test@domain.ru и public+test@domain.ru. Получаю в user unknown.
Как правильно привязать адрес и imap папку?
Нашел что делают через симлинк, но это решение выглядит криво.
Собственно, вопрос, как это можно сделать?
Ситуация:
Есть некая сеть, в которой внешние префиксы между устройствами анонсируются с приватных автономных систем. Необходимо, чтобы если маршруты анонсировались в мир, с них удалялись приватные автономные системы.
На bird это делается:
define LOCAL_ASN = [ 4200220000 - 4200229999 ];
filter foo {
bgp_path.delete(LOCAL_ASN);
}
Но, как это сделать на openbgpd, который в openbsd?
В каких случаях полезно в условиях отдельно взятого компа без виртуалок на борту? И имеет ли смысл энейблить в ведре БЕЗ использования параметра при загрузке? Я знаю что if unsure say Y, хочу разобраться нафига оно вообще надо и тогда не быть unsure.
Доброй ночи, господа.
Поскольку в генте пыхтон2_7 какбе стух, ну почти, вот вот начнёт разлагатцо...то..:-(
На 2_7 крутятся многие «полезные как БАД и ГМО» вещи, например скринлетс (да, я некрофил-свисто_без_предельщик). Про компыз пока что стращъно даже думать.
Собственно, вспышка давления желтой жидкости внутри пустой черепной полости привела меня к идее - cпихнуть скринлетс в chroot. Путем разгрёба тонн логов strace на предмет, чё_куда_почем_как, выяснилось, что цена вопроса 300 с чем то мегабайт. Ну ок. В принципе оно работает, не падает. НО!
Среди скринлетсов есть лаунчер. И тут возникает вопрос. Поскольку указанных команд для лаунчера в чруте нет (ясен пень, нафига тащить хромого, фокс и мате-терминал, ведь тогда туда весь рут прибежит O_O ), то как тогда передать в Иксы (elogind или dbus или что_угодно) или ..ммм...просто наружу «запусти_вот_эту_хрень». Причем, чтобы это было со всеми env, что есть снаружи. То есть как если бы лаунчер был не в чруте,а в текущей сессии иксов?
следующие → |