LINUX.ORG.RU

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

Select с условием в зависимости от результата

Форум — Development

Привет всем

Вопрос в следующем, как оптимально для Mysql изобразить следующую конструкцию:

Скажем дана таблица вида id, filename, status, protocol

Необходимо сделать

select * from files where filename = 'test' and status = 'ok';

В случае если совпадений больше одного, то добавить к условиям protocol и вытаскивать тот, где значением является 'ftp'. Однако при первичной выборке использовать только первые два условия, добавление к исходному запросу третьего может повлиять на общий результат не в лучшую сторону. Пример синтетический, но кейс описывает.

 , ,

phoen
()

хочется странного: декларативный язык для проверки compliance

Форум — Admin

Доброго времени суток

Все знакомы с системами централизованного управления ( cfengine/puppet/chef/ansible ). В которых используется свой декларативный язык для описания конфигурации ( например, содержимое конфига X должно таким. Сервис Y должен быть запущен. Пользователь Z должен существовать с такими-то паролем, группами и shell'ом )

А встречались ли вам системы для проверки на соответствие требованиям ( compliance ) ? Или ( в идеале ) системы централизованного управления, которые могут кроме приведения системы в соответствие с требованиями просто проверить систему на соответствие этим требованиям и выдать человекочитаемый отчёт?

 , ,

router
()

Репликация

Форум — Admin

Здравствуйте!

Пытаюсь настроить dsync по tcp. Пробовал многое, ничего не получается. Документацию http://wiki2.dovecot.org/Replication разработчик пусть засунет себе куда подальше, она отвратительна и не описывает полностью сервер. В гугле не нашел.

У кого есть опыт, и т.д., поделитесь, пожалуйста.

 , ,

uspen
()

apache внезапно не запускается на 0.0.0.0:443

Форум — Admin

Привет! Сегодня днем обнаружил проблему с apache2 на gentoo.

 * Starting apache2 ...
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
 * start-stop-daemon: failed to start `/usr/sbin/apache2'

`netstat -plan | grep 443` дает пустоту.

а `netcat -t -l -p 443` запускается и успешно работает.

в интернете писали, что это бывает от избытка логов, но я их всех потер — не помогло.

отчего такое бывает и что с этим делать?

Спасибо!

ien
()

sys-power/upower vs sys-power/upower-pm-utils: в чем принципиальная разница?

Форум — General

$subj. Установлен второй, первый я так понимаю не завязан на депрекейтед pm-utils?

 

leg0las
()

Поделюсь скриптом для Gentoo

Форум — Talks

Любителям пересборки различных наборов пакетов предлагаю слегка переработанный мной вариант от Jordan Callicoat.

Назначение: вывод списка пакетов, ещё не обработанных emerge.

Зависимости: python 2.

Ъ:

#!/usr/bin/python2

# Script to read portage resume list
# Jordan Callicoat < MonkeeSage at gmail dot com >
# public domain

import sys, getopt, os, portage

def main(argv):

    try:
        opts, args = getopt.getopt(argv, "bf")
    except getopt.GetoptError as err:
        print str(err)
        print 'Usage:\n{} [-bf]'.format(os.path.basename(sys.argv[0]))
        sys.exit(2)
    keyname = 'resume'
    keyname2 = 'mergelist'
    for opt, arg in opts:
        if opt == "-b":
            keyname = 'resume_backup'
        if opt == "-f":
            keyname2 = 'favorites'
    if (portage.mtimedb.has_key(keyname) and
        len(portage.mtimedb[keyname][keyname2]) != 0):
            if keyname2 == "mergelist":
                for item in portage.mtimedb[keyname][keyname2]:
                    print item[2]
            elif keyname2 == "favorites":
                for item in portage.mtimedb[keyname][keyname2]:
                    print item

if __name__ == "__main__":
    main(sys.argv[1:])

 , ,

pS
()

gentoo, apparmor и libvirt (svirt)

Форум — General

Для изоляции виртуальных машин (от хоста и друг от друга), ато решето, как недавно было с виртуальным контроллером флоппи-дисковода.

Есть такое дело - sVirt, как я понимаю, может работать с использованием apparmor или selinux.
AppArmor есть, aa-status показывает, вроде работает.
Пишу в /etc/libvirt/qemu.conf: security_driver = «apparmor»

Демон не стартует:

2015-07-12 00:00:45.068+0000: 10388: error : virSecurityDriverLookup:93 : internal error: Security driver apparmor not found
2015-07-12 00:00:45.068+0000: 10388: error : qemuSecurityInit:449 : Failed to initialize security drivers
2015-07-12 00:00:45.068+0000: 10388: error : virStateInitialize:783 : Initialization of QEMU state driver failed: internal error: Security driver apparmor not found
2015-07-12 00:00:45.068+0000: 10388: error : daemonRunStateInit:908 : Driver state initialization failed
И нет, например, файла /usr/lib/virt-aa-helper, хотя для него есть правило apparmor (правила в данном случае из убунты).

Получается, это libvirt собран без поддержки apparmor? USE-флаг такой не вижу, в ебилде, судя по всему (насколько я могу понять) такое вообще не предусмотрено.

Как это исправить (ебилд)? В исходниках в configure такие параметры есть (--with-apparmor, --with-apparmor-mount, --with-secdriver-apparmor, --with-apparmor-profiles), но не make install же делать. И таки что конкретно из этого нужно включать, всё сразу?
Потом, куда зарепортить, чтобы в дереве пофиксили (поддержка apparmor в гентушке есть, даже статья в вики, а софт, который его поддерживает - без его поддержки)?

 , , , svirt

TheAnonymous
()

не понимаю поведения оператора слота :=

Форум — General

Опять проблемы с обновлением генты. Имеется выхлоп emerge -avDuN --with-bdeps=y @world:

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-lang/perl:0

  (dev-lang/perl-5.24.1-r1:0/5.24::gentoo, ebuild scheduled for merge) pulled in by
    =dev-lang/perl-5.24* required by (virtual/perl-AutoLoader-5.740.0-r4:0/0::gentoo, installed)
    ^              ^^^^^                                                                                                                               
    (and 48 more with the same problem)

  (dev-lang/perl-5.22.3_rc4:0/5.22::gentoo, installed) pulled in by
    dev-lang/perl:0/5.22=[-build(-)] required by (dev-perl/XML-Simple-2.200.0-r1:0/0::gentoo, installed)
                 ^^^^^^^^                                                                                                                   
    (and 146 more with the same problem)

Как мы видим, у нас dev-lang/perl желает обновиться до версии 5.24, но уже установленные модули перла (в eclass'е которых написано что-то типа DEPEND=«dev-lang/perl:=[-build(-)]») препятствуют этому. Очевидно, на момент установки модулей версия перла была 5.22, в соответствии с логикой оператора слота := в DEPEND).

Знатокам вопрос — а как ж emerge сказать, чтобы он все ставшие «неактуальными» слоты с оператором := таки обновил? Понятно, что можно решить проблему топорно — установить новый dev-lang/perl без учета зависимостей (emerge --nodeps), а уж потом запускать обновление мира. Но очевидно, это не то, на что рассчитывали авторы портаджа.

---

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

 , ,

demidrol
()

подключить usb модем к asterisk

Форум — Linux-hardware

нужно подружить usb модем c Asterisk, есть 4 модема - E171(2шт), E3276 и MF112

пробую в Gentoo, планирую перенести в OpenWrt, не получается их завести, прошу помощи!

просто не работает и всё, даж хз какие логи постить ... если работали с ними, то помогите хоть один подрубить

 , , ,

adminlinwin
()

Привычно-понятное CDR

Форум — Admin

Поступает звонок, потом звонок маршрутизируется dialplan`ом или операторами, в итоге проходит звонок через многие exten.

CDR
В cdr это все отражается правильно, но с точки зрения человека, звонок-то один. Как весь этот путь собрать, ведь cdr uniqueid на пути звонка все время меняется?

CEL
В CEL ввели linkedid и да он один на все звонки.

Данные CDR или CEL брать за основу для анализа? Каков может быть алгоритм?

 , , cel

petav
()

zsh + screen title + xterm title

Форум — Desktop

Народ, кто-нибудь добивался нормального отображения запушенной в zsh программы как заголовке xterm'a так и в screen'e, и что самое важное, в screen'e и xterm'e одновременно.

(вот тут чел показал как по-нормальному сделать zsh + xterm caption: http://www.semicomplete.com/blog/productivity/better-zsh-xterm-title-fix.html)

Так же если кто-нибудь при этом умудрится сделать номальный (красивый) prompt, то будет вообще супер. Максимум из того, что я нашел, это вот такое:

PROMPT='[%?] [%n@%B%m]%b%// %l%1v%!> ' RPROMPT='(%T, %w)' function precmd { echo -n "^[]0;//$USER@$HOSTNAME$PWD/ ($UNAME)^G" }

Опять же, это дает заголовок только для xterm'a...

>>>

Harliff
()

как изменять параметры в папке /sys при старте?

Форум — General

нужно сделать при загрузке

echo "mmc0" > /sys/class/leds/lamobo_r1\:green\:usr/trigger

как это правильно сделать?

 ,

Deleted
()

Genkernel пихает старую версию lvm в initramfs

Форум — Admin

Добрый вечер. На диске lvm с thin пулом, через genkernel создаю initramfs, но там версия 2.0.88, а нужно >=2.0.89. Можно как нибудь подставить туда lvm поновее? LFS'ом не занимался, поэтому собирать initramfs ручками сложно.

 , , ,

mfhunruh
()

Tcl в 2016 году.

Форум — Development

Вроде неплохой язык, выучился довольно просто, батареек огромное количество на все случаи жизни, работает почти везде, в т.ч. и под виндой, есть Tk чтобы быстро накидать простой гуй. Все меня в нем устраивает, но почему он так мало распространён? Ведь есть же всё, чтобы писать код и решать задачи. Не загнется ли он в ближайшее время из-за малого сообщества и падающей популярности? Что с ним не так?

 ,

WRG
()

Анонсирован выпуск RSBAC версии 1.4.0

Новости — Безопасность
Группа Безопасность

RSBAC(Rule Set Based Access Control — контроль доступа по набору правил) является одной из ведущих систем управления доступом в GNU/Linux системах. Выпущены патчи для версий 2.4.37 и 2.6.27.10 ядра.

Основные возможности:

  • Поддержка автоматического изменения политик управления доступом
  • Хранение атрибутов объектов всех моделей в хэшах
  • Встроенное в ядро управление пользователями (исчезает необходимость использования /etc/passwd)
  • Поддержка управления сетевыми соединениями
  • Псевдоанонимный вход
  • Расширенные возможности ведения логов
  • Перенаправление ссылок (ссылки могут перенаправлять на другое расположение в зависимости от роли (role), uid, уровня безопасности (security level) или удалённого адреса)
  • Возможность отключения Linux DAC
  • Безопасное удаление (файла, директории или целой ФС с учётом MAC-политик)
  • Скрытие процессов
  • Режим «заморозки» (RSBAC настройки не могут быть изменены после перезагрузки)
  • «Мягкий» режим (RSBAC запускается в не форсированном режиме, позволяет быть отключённым через single-логин)
  • X11 поддержка
  • Наследование атрибутов
  • Низкое сокращение производительности

Основные модули:

  • Модули регистрации
  • AUTH
  • RC (Role Based)
  • ACL
  • MAC
  • Поддержка PaX
  • Dazuko антивирусный интерфейс (реализована поддержка кэширования)
  • CAP (Linux Capacities Control)
  • JAIL («герметичный», безопасный chroot, простая конструкция rsbac_jail <опции> <приложение> сделает это!)
  • RES (система контроля ресурсов Linux)
  • FF (Дополнительные RSBAC атрибуты)
  • PM (Privacy Module)


Хэндбук

>>> Анонс

 rsbac,

wyldrodney
()

Androwish - Tcl/Tk 8.6.1 для Андроид

Новости — Android
Группа Android

Tcl/Tk с его батарейками доступен для мобильных устройств на базе Android.

  • Цель проекта Исполнение под Андроидом существующих Tcl/Tk скриптов без необходимости их изменения
  • Андроид 2.3.3 и выше на x86 или ARM
  • Tcl/Tk версии 8.6.1
  • Используется эмуляция X11 на базе AGG (Anti-Grain-Geometry) и SDL 2.0
  • Поддерживается сглаживание линий, овалов и дуг в canvas
  • Рендеринг шрифтов используя freetype
  • Подключение (монтирование) имеющихся APK используя встроенный ZIP VFS
  • «Батарейки» практически на все случаи жизни - более 600 пакетов на борту
  • Доступ к Андроид-специфичным функциям:
    • .. осуществляется через SDL командой «sdltk»
    • .. и напрямую командами «borg» (управление и взаимодействие с Android),«rfcomm» (передача данных по bluetooth) и «usbserial» (передача по USB)
    • .. уведомление о события через привычный механизм tk::bind и виртуальные события. К примеру типа <<PinchToZoom>>,<<LocationUpdate>>,<<SensorUpdate>> и тому подобные
  • удалённое тестирование и отладка используя tkconclient
  • экспериментальная возможность создания автономных приложений, то есть APK включающий интерпретатор, ваши скрипты и только необходмые пакеты

Сайт проекта: http://www.androwish.org

Страница на tcl.tk: http://wiki.tcl.tk/39022 и список пакетов http://wiki.tcl.tk/39023

В последней версии «The Wizard of Oz» (2014-08-17) обновлены SQLite до версии 3.8.16, OpenSSL до 1.0.1h, исправлены баги в работе со специфичным оборудованием (акселерометр, компас) и пофикшены мелкие баги.

Дистрибутив (~22М) доступен как в исходных текстах, так и в бинарном виде APK подписанным отладочным ключом. Для установки должны быть включена галочка «install from unknown sources» в настройках

>>> официальный сайт

 , ,

MKuznetsov
()

Состояние экосистемы Gentoo

Форум — Talks

Скажите, какое оно? Как можно помочь проекту (и стоит ли)? Спрашиваю, ибо уже не первый год ходят разговоры о том, что вымирает постепенно коллектив. Да и сам вижу, что многие приложения давно не обновляются. Тот же blender, например.

В последнее время всё реже обновляю систему, потому что обновлений всё меньше. Есть пара команд (KDE, например), которые занимаются поддержкой, но всё дерево как будто уже не так живо, как лет 5 назад, скажем.

 

alextk
()

Ищется нормальный индикатор раскладки клавиатуры

Форум — General

Сейчас используется xxkb, регулярно падает. Например, из-за изменения яркости подсветки экрана, и не только. Конечно, можно при выявлении такой зависимости вроде «поменял яркость — падает» писать костыль, который по нажатию клавиши изменения яркости будет не просто её менять, а делать killall xxkb, менять яркость, запускать xxkb. Но это же костыль.

Требования:
отсутствие привязки к какому-либо DE и лишних зависимостей
изкоробочность
максимально стабильная работа

Используется i3wm и gentoo.

 , ,

yura_ts
()

Нормально ли такое поведение для PaX

Форум — Security

В общем у бинарников не стоит никаких флагов в расширеных атрибутах.
Если включить softmod, то он продолжает защищать, если сделать paxctl-ng -C /my/binary, то все работает.
Может я что-то не так настроил? Или это нормальное поведение?

 , , ,

deterok
()

1GB карта 82541GI. Предельная нагрузка. Как расширить производительность?

Форум — Admin

Доброго дня!
На серваке воткнута 82541GI с драйвером e1000.
Intel выложило вот такой интересный документ: Small Packet Traffic Performance Optimization for 8255x and 8254x Ethernet Controllers Application Note (AP-453)
http://download.intel.com/design/network/applnots/ap453.pdf
в котором радостно сообщает, что: Theoretical Maximum Frame при Rate Maximum-sized Ethernet frames carrying TCP/IP data (1538 byte) составляет 81,274 packets per second (approx.), при минимальных размерах (64 byte) 1,488,095 packets per second (approx.)

Что имеется по факту. Максимум примерно. RX+TX=100000 pp/s. Выше не поднимается. Соотношение трафика: 66-255 10% 256-511 10% 512-1023 25% 1023-1538 55% Скорость передачи данных при этом: 450 RX, 250 TX. При этом количество пакетов примерно 48000-50000 что на TX, что на RX.

Собственно вопрос: следует ли считать, что «уперлись» в предел производительность интерфейса? К сожалению, документ не уточняет, что подразумевается под Theoretical Maximum Frame суммарно RX+TX или же отдельно RX и TX количество пакетов в секунду.

Есть ли у кого-нибудь опыт решения таких проблем?

Использовали ли вы 10GB сетевые карты?

Если что:
cat sysctl.conf
net.ipv4.neigh.default.gc_thresh3=8192
net.netfilter.nf_conntrack_max=1048576
net.core.rmem_default=201250
net.ipv4.tcp_keepalive_probes=3
net.ipv4.conf.all.secure_redirects=0
net.ipv4.neigh.default.gc_thresh1=2048
net.core.wmem_default=201250
net.core.netdev_max_backlog=100000
net.ipv4.tcp_mtu_probing=1
net.core.somaxconn=300000
net.core.wmem_max=16777216
net.ipv4.conf.all.send_redirects=0
net.ipv4.ip_local_port_range=«1024 65000»
net.nf_conntrack_max=1048576
net.core.rmem_max=16777216
net.ipv4.tcp_wmem=«4096 65536 16777216»
net.ipv4.tcp_keepalive_intvl=5
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.tcp_fin_timeout=15
net.ipv4.neigh.default.gc_thresh2=4096
net.ipv4.tcp_rmem=«4096 87380 16777216»

Процессор при этом не загружен в 100%. В среднем 30-40% id всегда есть

gich
()