LINUX.ORG.RU

Избранные сообщения macumazan

FEATURES для каждого пакета индивидуально

 ,

Поставил я значиццо Calculate (использовал Gentoo 12 лет назад). Полёт нормальный.

Но хочется иногда компилировать пакеты. Попробовал вот этот способ чтобы менять переменные окружения для каждого пакета отдельно https://wiki.gentoo.org/wiki/Knowledge_Base:Overriding_environment_variables_per_package, но он почему-то не работает.

ЧЯДНТ, как-то уже по-другому это делается?

michwill
()

Dovecot dbox единое хранилище вложений

 ,

Привет.

Подскажите как настраивается единое хранилище для вложений в письма:

dbox storage is extensible. Single instance attachment storage was already implemented as such extension.

https://wiki2.dovecot.org/MailboxFormat/dbox#Alternate_storage

Или оно работает из коробки для ящиков в формате mdbox / sdbox?

Второе, есть ящики в формате Maildir, часть писем в них сжата.

При вызове dsync mirror для конвертирования в формат mdbox появляются сообщения о том, что реальный размер файла не соответствует размеру письма.

Это так и есть, файл сжат.

Теперь все распаковывать?

Спасибо.

UPD

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

Посмотрел в директории с вложением есть директория hashes, в которой лежит файл под именем равным хэше, а в директории выше находятся hardlink ссылки на этот файл с некоторым суффкиксом.

Получается, что как только письмо с вложением будет удалено, то будет удалён и hardlink для этого письма и как только не останется hardlink`ов, то и сам файл будет удалён?

Это так?

infomeh
()

я нашёл обновлённый отладчик TclPro

 ,

tcl-щики следили за программой tcl bounties, и кое-кто высказывал недоумение - где же обновлённый отладчик из Tcl Pro, за который кто-то получил 20 тысяч долларов? Мы сошлись во мнении, что результат работы зажали. Но это оказалось не так.

Вот же он, в репозитории того же самого регистранта гитхаба, который и публиковал эти баунти:

https://github.com/flightaware/TclProDebug

Я загрузил, собрал, опробовал на первом попавшемся скрипте. Сразу не упал. Хотя не могу быть уверен, что этот скрипт как-то зависит от tcl 8.6, но думаю, что 20 тысяч долларов не просто так отдали.

Мои поздравления всем столь же непрошаренным в гугле, как и я, любителям tcl/tk!

den73
()

Mutt + Offlineimap + Maildir

 , ,

Дико туплю с конфигурацией mutt. Offlineimap забирает почту, создает каталоги, mutt читает полученное, отправляет новое и вообще круто, но.

У меня не сохраняются отправленные письма. Есть Sent. Указан copy, но письма не в каталог Sent. Почта Яндекса, если важно.

set mbox_type = Maildir

set copy = yes                 # Если я правильно понял, то тут мы говорим "сохрани копию в отправленные"

set folder = "~/Mail/Personal"
set mbox = "~/Mail/Personal"
set spoolfile="~/Mail/Personal/INBOX"
set record="+Sent"             # А тут мы указываем где у нас отправленные
set postponed="+Черновики"

set my_imap_login = "Логин типа"
set my_imap_pass = "Пароль"

set imap_user = $my_imap_login
set imap_pass = $my_imap_pass

set from = "foo@bar.com"

set smtp_url = "smtps://"$imap_user@"smtp.yandex.ru:465/"
set smtp_pass = $my_imap_pass
set smtp_authenticators = 'login'

Где-то я накосячил, но не пойму где именно.

lx1
()

Экранирование символов expect/bash

 , , ,

По мотивам этого.

Нужно в пароле заэкранировать все специальные символы bash/expect(Tcl) с использованием того же bash или, в крайнем случае, perl.

Как сделать эффективно?

Twissel
()

@module-rebuild собирает модули для другой версии ядра

 ,

Привет ЛОР. Сабж.
Linux t430 4.19.141-gentoo #2 SMP Tue Sep 22 15:13:39
Загружено ядро 4.19.141 но @module-rebuild собирает модули для 4.19.113. Как сделать так чтоб модули собирались для загруженой версии ядра?

xaTa
()

Создал ebuild, как его теперь добавить в дерево portage?

 , ,

Написал ebuild, скопировал /usr/portage к себе в хомяк, добавил туда этот ebuild, прогнал repoman full и сделал repoman -dx commit. Что делать дальше? Как отправить свои изменения? Нагуглить не получается.

panter_dsd
()

bird ospf не отдает маршруты

 

Никак в мануалах не могу найти настройку чтобы bird полученные маршруты отдавал дальше другим маршрутизаторам.

antech
()

Bird bgp

 

Здравствуйте! Скажите пожалуйста какой конфиг сервера достаточный под bird ? Какова нагрузка на сеть при использовании bird ? Дело в том что впервые сталкиваюсь с bgp и не совсем пока понимаю принцип работы. Мы получили блок ip и AS теперь необходимо поднять bird так как сетевого оборудования нет. Насколько это вообще надёжно работает ? Если кто может помочь разобраться в данном вопросе на платной основе буду очень рад …)

Serjjj
()

совпадение ip

 ,

#!/usr/bin/env tclsh

set str {172.19.3.191,172.19.3.192,172.19.3.19,172.19.3.193}
set ip 172.19.3.19
set RE "$ip\[\D\]"
puts [regexp -expanded $RE $str null]

Пытаюсь понять, есть ли ip адрес в строке. Но что-то идет не так. В онлайн чекерах регексп вроде верный, а тут не работает - выдает 0. Куда копать?

macumazan
()

Gentoo. Нужно выпинывать питон 2.7?

 ,

Решил тут обновить, ну почитал, что от питон 3.6 отказались, что теперь PYTHON_TARGETS="python2_7 python3_7" сделал как советовали в новости: emerge --depclean; emerge -1vUD @world. Потом решил обновить систему, получил:

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:                                          
                                                                                                                               
dev-python/pygments:0                                                                                                          
                                                                                                                               
  (dev-python/pygments-2.6.1:0/0::gentoo, ebuild scheduled for merge) USE="-doc -test" ABI_X86="(64)" PYTHON_TARGETS="python3_7
 (-pypy3) -python3_6 (-python3_8)" conflicts with                                                                              
    dev-python/pygments[python_targets_python2_7(-),python_targets_python3_7(-),-python_single_target_pypy3(-),-python_single_t
arget_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] re
quired by (dev-python/docutils-0.16:0/0::gentoo, ebuild scheduled for merge) USE="" ABI_X86="(64)" PYTHON_TARGETS="python2_7 py
thon3_7 (-pypy3) -python3_6 (-python3_8)"

Почитал https://forums.gentoo.org/viewtopic-p-8454088.html?sid=59aadbc9bd435eabb97adc... , если правильно понял, то проблема в том, что docutils может в питон 2.7, а pygments только в 3.6 и выше. Или не правильно?

Вроде, минимум, достаточно прописать в /etc/portage/package.use/:

dev-python/docutils  PYTHON_TARGETS: -python2_7
но, можно и как-то так:
*/* PYTHON_TARGETS: -python2_7

# Exceptions:
dev-libs/libxml2        PYTHON_TARGETS: python2_7
dev-python/cython       PYTHON_TARGETS: python2_7 

Но как-то оба варианта не нравятся, до этого PYTHON_TARGETS вобще не трогал. Это потом не создаст проблемы при очередном обновлении? Во втором варианте не нравится, что нужно будет как-то отслеживать, что пакет может без 2.7 и убирать его из списка исключений.

mky
()

В iptables сломали TRACE?

 

Модуль загружен.

# cat /proc/net/netfilter/nf_log
 0 NONE ()
 1 NONE ()
 2 nf_log_ipv4 (nf_log_ipv4)
 3 NONE ()
 4 NONE ()
 5 NONE ()
 6 NONE ()
 7 NONE ()
 8 NONE ()
 9 NONE ()
10 NONE ()
11 NONE ()
12 NONE ()

# lsmod | grep -i log
xt_LOG                 16384  0
nf_log_ipv4            16384  0
nf_log_common          16384  1 nf_log_ipv4
x_tables               45056  7 xt_conntrack,nft_compat,xt_TRACE,xt_LOG,xt_tcpudp,ip_tables,xt_limit

Счетчик наполняется.

# iptables -t raw -n -L -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
  756 63504 TRACE      all  --  *      *       192.168.56.211       0.0.0.0/0

С rsyslog все в норме. Ставишь -j LOG - работает, ставишь -j TRACE - в логах пусто.

Система такая:

# cat /etc/*-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian

# uname -r
4.19.0-8-amd64

Вроде накосячить негде, а не работает.

emcode
()

Dovecot softdelete

 , ,

Вопрос по сабжу.

Можно ли реализовать «отложенное удаление» в dovecot?

У меня ничего не нагуглилось)

На случай: я случайно удалить одно письмо из 10 тыс. — верни его!

Twissel
()

Концепция слотов в генте неправильная

 , ,

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

Там ещё есть деление на субслоты и слоты, но это от двуличия. Мол, если ABI одинаковый, то мэйнтейнер делает один слот с разными субслотами для разных версий. Т.е. версия по видению мэйнтейнера размазывается на слот и субслот, а версия по видению девелопера отображается в номере слота.

На самом деле, в процессе потребления ПО участвуют и другие люди, такие, например, как пользователи. У пользователей могут быть свои соображения, отличные от соображений мэйнтейнеров. И может возникнуть желание установки нескольких экземпляров программы с одинаковыми SLOT/SUBSLOT, но при этом в разные места на диске.

Было бы совершенно чудесно, если бы portage позволял в переменную SLOT записывать строки с произвольным количеством разделителей, так же как строки с версиями ПО сейчас, и предоставлял функции типа ver_cut, только для SLOT (slot_cut?).

Пример использования №1: Пользователь хочет установить дебужную и релизную версию ПО одновременно. Что ему делать? Или только дебужную. Или только релизную.

Пример использования №2: Хочется иметь разные установки для разных сценариев использования. Например несколько профилей среды разработки, чтобы они использовали разные конфигурационные директории.

Пример использования №3: Оставлять одновременно несколько версий прикладной программы на случай, если в новой версии удалили какую-то функциональность (как это часто делают в Firefox)

Почему вместо переменной SLOT нельзя использовать любую другую переменную? Потому что только слоты можно добавить в DEPEND atom в файл /var/lib/portage/world. Там ещё есть лазейка - можно делать ограничение по репозиториям. Например сделать два репозитория - один для релизных билдов, другой для дебужных билдов. Но как-то это менее удобно, и не покрывает все сценарии использования.

Если бы я умел выделять версию SUBSLOT-а, можно было бы ещё подумать на тему user-patches с выбором вариантов на основе этого значения. Но в любом случае с сабслотами что-то не так - их внутрь ebuild-файла записывают или не записывают мэйнтейнеры. А надо что-то такое, чтобы оно записывалось в world-файл (пользователем) и было доступно внутри .ebuild.

Почему обязательно надо записывать в world-файл и нельзя обойтись переменными окружения, прописываемыми каждому пакету персонально? Потому что для установки нескольких экземпляров нужно, чтобы portage знал о каждом из установленных экземпляров приложения. Это работа именно пакетного менеджера - следить за установленными файлами.

Перемещено shell-script из development

Einstok_Fair
()

Spamassassin изменение spamscore

 

Добрый день. Подскажите как решить следующую задачку. В последнее время много писем от подрядчиков попадает в спам, в 90% случаев основную «ценность» добавляет параметр MIXED_ES. В конфиге нашел это значение только в одном файле /opt/.../spamassassin/state/3.004000/updates_spamassassin_org/72_score.cf Как я понимаю этот конфиг со значениями обновляется с общедоступного сервера. Возможно значение параметра MIXED_ES задать 1.399 в каком либо другом конфиге? Не могу найти как и где подтягиваются эти значения в спам фильтр...На сервере стоит Amavis/Clamav/Zimbra

X-Virus-Scanned: amavisd-new at ite.ru X-Spam-Flag: YES X-Spam-Score: 4.079 X-Spam-Level: **** X-Spam-Status: Yes, score=4.079 tagged_above=-10 required=4 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, KAM_MANYTO=0.2, MIXED_ES=3.28, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_ABUSE_BOTCC=2.5] autolearn=no autolearn_force=no

xan
()

Языку Tcl (Тикль) исполнилось 30 лет

 , ,

Языку Tcl (Тикль) исполнилось 30 лет
Группа Разработка

Динамический язык программирования Tcl (tcl.tk) (Tool Command Language) празднует своё тридцатилетие. В январе 1989 года был опубликован первый экспериментальный выпуск языка Tcl, предложенный для тестирования сторонним разработчикам. Tcl представляет собой динамический язык программирования, распространяемый совместно с кроссплатформенной библиотекой базовых элементов графического интерфейса Tk. Несмотря на то, что основное распространение Tcl получил для создания интерфейсов пользователя и как встраиваемый язык, Tcl также подходит для других задач, таких как web-разработка, создание сетевых приложений, администрирование систем и тестирование.

Как написал один из пользователей почему он в него такой влюбленный:

  • вики, где есть даже игрушки (там можно подсмотреть интересное :)
  • шпаргалки
  • а ещё — это просто красиво и красиво

    От себя добавлю - со связкой tcl/tk знаком 20 лет (тоже Юбилей) и с удовольствием на ней пишу. Последнее что недавно написал это удостоверяющий центр CAFL63

    Спасибо создателю этого замечательного языка Tcl/Tk!

>>> Подробности (opennet.ru)

TclTk
()

Финальная версия криптографической утититы cryptoarmpkcs. Создание самоподписанных SSL-сертификатов

 , , , ,

Финальная версия криптографической утититы cryptoarmpkcs. Создание самоподписанных SSL-сертификатов
Группа Проприетарное ПО

Вышла финальная версия утилиты cryproarmpkcs. Принципиальным отличием от предыдущих версий является добавление функций, связанных с созданием самоподписанных сертификатов. Сертификаты могут создаваться как с генерацией ключевой пары, так и по ранее созданным запросам на сертификаты (PKCS#10). Созданыый сертификат вместе с созданной ключевой парой помещается в защищенный контейнер PKCS#12. Контейнер PKCS#12 можно использовать при работе с openssl с поддержкой ГОСТ Р 34.10-2012. Утилита абсолютно самодостаточная и работает на платформах Linux, Windows, OS X.

Скачать 64-битную версию для Linux
Скачать исходные тексты
Остальные платформы и версии

Некоторые пояснения по сборке из исходников

>>> Подробности (habr.com)

TclTk
()

Не работают хуки portage

 , ,

Создаю хук для gentoo-sources, почему-то не работает. Хук находиться по адресу /etc/portage/env/sys-kernel/gentoo-sources, всё как в документации(раз (gentoo.org), два (gentoo.org)), файлы исполняемые. В gentoo-sources вот эти три строчки:

pre_pkg_unpack(){
    echo "sdlfkj"
}
Когда я запускаю emerge нужной строки нет. При том bashrc отрабатывает фазу на отлично:
if [ "${EBUILD_PHASE}" == "unpack" ] || [ "${EBUILD_PHASE}" == "postrm" ];
then
  echo ":: Calling aide --update to update its database"
  echo ":: Calling updatedb to update its database"
fi
И сообщение выводятся.

Подскажите, может где напортачил.

emerge --version
Portage 2.3.84 (python 2.7.17-final-0, default/linux/amd64/17.1, gcc-9.2.0, glibc-2.29-r7, 4.19.97-gentoo x86_64)
towe
()

Asterisk. Follow me для внешних звонков.

 

Проблемка. Есть эластикс со встроенным в него астериском. Входящие звонки все попадают в один custom context, после отделным скриптом из agi-bin распределяются по сотрудникам в зависимости от того, кто звонит. Если звонит контрагент определенного сотрудника - вызов ему и отправляется. Скрипт лезет в mysql базу, по номеру КА находит отвественного сотрудника и отправляет вызов ему.

Все работает хорошо.

Сейчас есть задача - если этот сотрудник не берет трубку, отправить вызов либо на внешний номер, либо в заранее созданную группу вызова.

Follow me отлично работает при звонке внутри сети. Звоню с любого внутреннего на тот, у кого есть follow me - через 15 секунд звонок перенаправляется. Все в порядке.

При звонке с внешки - follow me не пытается сработать вовсе. Звонок уходит отвественному сотруднику и продолжается до тех пор, пока не возьмут трубку, не даст отбой вызывающий, либо АТС не надоест принимать звонок.

Подозреваю, что связано как раз с этим распределяющим скриптом из agi-bin для custom context. Но как именно? В какую сторону смотреть?

stabst
()

Две подписи DKIM одновременно

 

Доброго дня!
Согласно требованиям со стороны mail.ru для сервисов рассылок Email Service Provider (ESP) необходимо включать в заголовок письма две DKIM подписи. Одна подпись для домена ESP, вторая подпись для домена клиента FROM.
У меня установлен postfix+dovecot+opendkim
Вопрос. Как технически реализовать так, чтобы одномоментно opendkim вставлял две разные подписи в одно письмо, как настроить opendkim ?
Может сделать связку opendkim + dk-milter?
Или создать два процесса opendkim с разными портами?
Или еще как?

Спасибо!

rafaello
()