LINUX.ORG.RU

Сообщения Khades

 

К спорам по systemd и debian

Делаю пост сюда, чтобы линковать его людям. Ибо на лоре есть разметка

Ситуация: Живём много лет на sysvinit, появляются всякие openrc и upstart, на которых работают две системы их большого количества. Появляется systemd и сразу большое количество систем переходят на него. Почему? Обьясню на примере debian, тестовой ветки и systemd из этой же ветки.

Почему появилось желание поменять sysvinit на чтото другое?

1) Структура скриптов для sysvinit подразумевает только возможность запуска скриптов с флагами start и stop. Внутреннее устройство скрипта ЦЕЛИКОМ на совести разработчика. Конечно это не повод считать что все скрипты для sysv говно, но всётаки встречаются такие экземпляры, что хочется просто плакать, когда их читаешь. Особенно изза того, что большую часть логики слежением за стотоянем службы пишется на баше. Хотя нынче половина инит скриптов завязанны на start-stop-service. В итоге - каша.

2)Никаких средств для учёта очерёдности запуска сервисов и паралельной их загрузки. Да, есть insserv, только оно ещё больше каши добавляет в скрипты инициализации.

Почему не upstart?

Уже несколько лет в дебиане висит, и ещё не пыталось стать стандартной системой инициализации. В нынешней ситуации, когда говорят о фичах, которые уже есть в других системах инициализации - говорят - «пфф, мы можем тоже такое написать» (тот же cgroup). В итоге функционал апстарта в текущем его состоянии ушёл не дальше sysvinit+insserv+start-stop-daemon. Зато хипстер-аура вокруг него просто знатная.

Почему не openrc?

Оно ещё старше, чем upstart, но разговоры о нём толком начались только при выборе между upstart и systemd. В итоге оно на бумаге конечно лучше чем systemd, но практически это даже проверить не возможно. Некая мифическая сущность, сферическая и в вакууме.

Почему systemd?

1) Он уже работает в тестинге, и не полагется на fallback на sysvinit. Когда я последний раз пробовал upstart без sysvinit скриптов он не работал, и все его преимущества скатывались в ничто. Просто не использовались. В итоге ситуация выглядит так:

systemd - сначала сделали поддержу, потом ещё предложили как стандарт.

openrc и upstart - сначала предложили, а поддержки нету, никакой. Вот если выберут - то поддержка будет. По мне - нарушение причинно-следственной связи.

2) Использование cgroup невероятно упрощает внутреннюю логику юнитов для запуска сервисов. СИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИИЛЬНО.

Вот например юнит для bluetooth демона

[Unit]
Description=Bluetooth service
[Service]
Type=dbus
BusName=org.bluez
ExecStart=/usr/sbin/bluetoothd -n

[Install]
WantedBy=bluetooth.target

Alias=dbus-org.bluez.service
И всё, так как bluetooth не требует какойто хитрой логики для остановки сервиса, он просто убивается. Пид ловится через cgroup

а теперь выполним одну весёлую комманду

khades@debian:/etc/init.d$ cat /etc/init.d/bluetooth |wc
201     584    4474
Разительная разница

А теперь о мифах про systemd.

JOURNALD БИНАРНЫЕ ЛОГИ ХУЖЕ ЧЕМ В RSYSLOG

syslog - это стандарт отправки и регистрации сообщений о происходящих в системе событиях

rsyslog - программа для организации хранения этих сообщений, полученных по системной шине, реализованной в ядре linux (/dev/log)

journald - легковесный сервис для хранения и чтения логов с хранением их в памяти для ускорения процессов ввода\вывода во время загрузки с ОПЦИОНАЛЬНЫМ хранением бинарей на диске. НЕ ЛОМАЕТ rsyslog.

PID 1: ВСЁ УПАДЁТ ЕСЛИ УПАДЁТ SYSTEMD

1) Почему systemd должен упасть?

2) Ядро тоже падает, давайте все ненавидеть ядро

PID 1: СИСТЕМД МНОГО ВСЕГО В ОДНОМ ПРОЦЕССЕ ДЕРЖИТ И МНОГО НА СЕБЯ БЕРЁТ!!!!

1) Для изоляции запускаемых процессов и придуман CGROUP.

2) khades@debian:~$ ps aux |grep systemd root 284 0.0 0.1 297788 11032 ? Ss фев13 0:01 /lib/systemd/systemd-journald root 295 0.0 0.0 42944 1924 ? Ss фев13 0:00 /lib/systemd/systemd-udevd root 2448 0.0 0.0 36928 1636 ? Ss фев13 0:00 /lib/systemd/systemd-logind

ПОТЦЕРИНГ ЧТОТО ПОМЕНЯЕТ И ВСЁ СЛОМАЕТСЯ

Даа, и это сразу попадёт в стейбл дебиана. инфа 100%.

И последнее, касаемо непортируемости на другие ядра. В нашем случае глупо не использовать передовую технологию (CGROUP) ради совместимости с принципиально другой системой, учитывая то количество ништяков, которое оно нам даёт реализовать. Я вообще в далёком будущем представляю как на помойку выкидывают selinux, потому что домены безопасности реализуют на основе namespaces и cgroup. Ах мечты, мечты.

 ,

Khades
()

Настройка бриджа lxc без перезапуска основного сетевого интерфейса (для debian)

Проверено на debian wheezy, ядро 3.2

90% копипаст с http://wiki.debian.org/LXC/VlanNetworking

Сначала ставим vlan и bridge-utils

apt-get install vlan bridge-utils 

добавляем в /etc/network/interfaces

iface eth0.123 inet manual
auto br0.123
iface br0.123 inet static
bridge_ports eth0.123
bridge_fd 0
bridge_maxwait 0
address 172.16.100.1
netmask 255.255.255.0

И стартуем его

ifup br0.123

добавляем в конфиг контейнера строчки

lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0.123
lxc.network.name = eth0
lxc.network.ipv4 = 172.16.100.2/24
lxc.network.veth.pair = veth-container_name
lxc.network.ipv4.gateway = 172.16.100.1

(айпи адреса, номер влана и имя сетевого интерфейса контейнера можно делать любыми)

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

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Чтобы не писать эти строчки каждый раз при старте системы:

1: разкоментируйте строчку

net.ipv4.ip_forward=1
в файле /etc/sysctl.conf

2: Поставьте пакет iptables-persistent. Если вы написали вышеуказанную строчку, то установщик сам сохранит вышеуказанное правило, иначе выполните строчки

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables-save > /etc/iptables/rules.v4

 

Khades
()

Начата разработка vst-bridge

Как оказалось, показав одному человеку програмку dssi-vst, я подкинул ему идею создания vst-vst бриджа под линукс, для оборачивания виндовых vst-файлов в линуксовые.so.

http://forum.renoise.com/index.php?/topic/37937-windows-32bit-and-64bit-suppo...

И даже както работает, собственно кода там много не ожидается, и такой бридж скоро уже будет готов (имхо). Пока не собирается 64битная обёртка (у меня, по крайней мере) и 32битная обёртка отпинывается сэндбоксером в ренойзе. Но если уж обёрнутый синт запустился, то работает он полностью, и с реалтаймом, и с правильным адекватным сохранением настроек, и с синхронизацией темпа и прочими няшками.

Когда автор починит пару багов - запилю аж репозитарий под это дело :3

 , , ,

Khades
()

Есть три лицензии на L4D2

юзернейм в стиме - khadesru

раздаю, Добавляйтесь и говорите что надо лицуху

Khades
()

Нет шрифтов в CS source и TF2

http://rghost.ru/43829260/image.png

Выглядят обе игры примерно так. Стояли шрифты и liberation и mscorefonts. И удалял, и ставил, и всё что угодно делал.

Debian Wheezy 64бит, Intel HD4000, mesa 8.0.5. Задавайе наводящие вопросы.

Khades
()

linux-kernel 3.2 и рандомные зависания графики

Есть такой великолепный баг, на который наткнулись много пользователей последней версии убунты

https://bugs.launchpad.net/ubuntu/ source/xserver-xorg-video-intel/ bug/993187

Как решение предлагается использовать ядро 3.3.6, в котором этот баг решён.

В выходящем дебиан wheezy точно не будет такого ядра, а соответствующий багфикс нужен.

Собственно вопрос - Куда писать? я не вижу чтобы можно было бы хоть както сделать багрепорт в дебиане на ядро

Оборудование - Asus k55a, core i5 3210, intel hd 4000. Обновление до ядра 3.4.6 помогло, но очень хочется сидеть на поддерживаемом дебианом ядре. В ядре 3.4.4 с экспериментала не заводится вывод звука с наушников никак, в 3.2 и 3.4.6 всё работает.

 , , ,

Khades
()

HoN с гарена под линуксом

Khades
()

Тихо умирает Zabbix

Попытался на предприятии поднять заббикс для мониторинга серверов и мониторинга соединения с провайдером ( ping ya.ru с графиком ).

Захожу на заббикс, а он лежит, при чём в логах нету вообще ничего об аварийном завершении работы.

До этого собирал заббикс с поддержкой unixodbc и винил её в этом злом баге, но это оказался не он.

Где и куда копать?

debian stable amd64

Khades
()

Как продиагностировать рейд-контроллеры HP smart array d410i?

Появились подозрения что на двух пролиантах начинают вышеуказанные рейдконтроллеры накрываться (180 и 360 пролианты).

Проявления: 1) Зависание компьютера с виндой 2003 под активным использованием жёсткого диска ( сливание 40гигового бэкапа по сети ) 2) ciss0 ADAPTER HEARTBEAT FAILED на машине с фряхой ( FreeBSD 7.1-RC1 )

Собственно стандартные утилиты диагностики ничего не показывают. (Кроме того что заведомо целый диск не хочет определяться в рейде 5+запасной диск на машине с виндой)

Как отловить ошибки и возможно ли это вообще?

Khades
()

[DIY][Chiptune] Khades - i lost count

http://soundcloud.com/khades/i-lost-count-finale-mix/s-a1QsT

написанно в milkytracker, переделано и пересведено в renoise

 

Khades
()

Таки ещё полнее о VST в линуксе.

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

http://khades-music.blogspot.com/2011/03/vst.html

дизайн блога ещё поменяю, так просто не так сильно давит на глаза ( ну мне )

Khades
()

The Dark Side of the Moon - The 8-bit Album

на pterodactyl squad НАКОНЕЦТО зарелизился альбом переделок сего знаменитого альбома в 8bit\Gamewave вариации.

9 разных авторов

http://www.ptesquad.com/more/pte030.html

Я знаю что качество моего трека УГ. Я писал его ещё в октябре, и так не пересвёл :<. А треки других, ну кроме последнего - ничотак.

Если вам не обломно - поделитесь с кем сможете.

Khades
()

[Я ПЕАРЮСЬ] Tracker Dreams Part 6

http://8bitcollective.com/music/khades/Tracker+Dreams+Part+6/

для Ъ - по ссылке чиптюн в мп3 за моим авторством

Khades
()

синхронизация RSS c различных мест использования

вот есть imap, если отметить прочитанное письмо по имапу то оно будет отмечено как прочитанное на серве и при входе на почту по имапу с любой машины будет обозначено как прочитанное

а можно ли както сделать подобное с RSS? тоесть я почитал на мобиле несколько рсс-постов, они отметились как прочитанные, пришел домой и дочитал непрочитанные без особой мороки аля «дык я уже это читал»

Khades
()

[я пеарюсь] trackerdreams4

Khades
()

AudigyLS и Вебкамера

[ 9.485766] uvcvideo: Found UVC 1.00 device iSlim 1300AF (0458:705c)
[ 9.492448] input: iSlim 1300AF as /class/input/input6
[ 9.504185] usbcore: registered new interface driver uvcvideo
[ 9.504189] USB Video Class driver (v0.1.0)
[ 9.824862] 4:3:1: cannot get freq at ep 0x84
[ 9.852708] usbcore: registered new interface driver snd-usb-audio
[ 10.017122] cannot find the slot for index 0 (range 0-0), error: -16
[ 10.017161] CA0106: probe of 0000:01:07.0 failed with error -12

тобишь нулевой слот при подкючении забивается микрофоном и аудиокарта неактивна, пока не дернешь вебку и запустишь alsaconf

как избавиться от такого поведения вебки?

Khades
()

[ФГМ][трекерщик] TD4

http://khades.pdj.ru/tracks/1023634/Tracker_Dreams_Part_4.html

сделал в milkytracker. используется 4 сампла, один как осцилятор, и три других из tr707

Khades
()

[request]скороговорки

лингвисты-логопеды. ищу скороговорки для оттачивания различий между звуками th, s и t. а также неплохо бы на звук r(который а-лямбда)

я слегка упорот, сорри:(

 

Khades
()

[нытикам] про mpd

ставим инкрон

добавляем юзера в /etc/incron.allow

incrontab -e

/media/hdb/music IN_MODIFY,IN_ATTRIB,IN_CREATE,IN_DELETE mpc update `echo $#|sed s@"/media/hdb/music/"@""@g`

и заменяете /media/hdc/music на свой путь до папки с музыкой и забываете про ручное добавление музыки в коллекцию

Khades
()

кодировка в Tintin++

зашел с оного на один сервак, поддерживающий только cp1251\коир\мак\исо кодировки, а локаль у меня ютфная

что делать

(Ответ - не юзать tintin++\этот серв\вааще не играть - не те, которые я ожидаю)

Khades
()

RSS подписка на новые темы