LINUX.ORG.RU

Сообщения fk0

 

Использование raid в Linux.

Форум — Admin

Пока пользуешься raid-1 и не волнует скорость, глубина всех труднострей плохо понятна. Ситуация сейчас такая:

raid10                   280 МБ/с запись, 380 МБ/с чтение.

dm-integrity + raid10    200 МБ/с запись, 280 МБ/с чтение.

dm-integrity + raid5     50 МБ/с запись, чтение даже не смотрел
                         (синхронизация падает до 20МБайт/с)

raid5                    какая-то приличная скорость, сравнимая с ZFS,
                         не помню деталей, такая конфигурация не интересна

ZFS                      < 140 МБ/с запись, синхронизация
                         с первой космической скоростью.

Неустраивает что медленно. Диски самые дешевые, SMR, на 5600об/с. Что не устраивали критику – сравнил с CMR на 7200 и не увидел заметной разницы, может процентов на 20 по скорости записи больших блоков и раза в два при записи кучи мелких. То что «raid на SMR не работает» – в значительной степени миф. Может на дисках WD и не работает, в данном случае Seagate.

Интересует в первую очередь скорость записи больших файлов, а не работа в качестве сервера СУБД (тогда CMR).

Во вторую очередь интересует контроль целостности записанных данных, ввиду понимания, что на сколько-нибудь большом объёме единичные ошибки это уже как правило, а не редкая случайность.

В чём проблема: применение dm-integrity сильно замедляет. Сравнивал без bitmap’а и без журнала, понимаю, они тормозят ещё больше. Конкретно raid5 замедляется катастрофически, и хуже того, я попробовал всё то же самое сделать на SSD и получил те же 50МБ/сек!!! Это полное фиаско!

Проблема не в дисках, проблема в самом линуксе! Скорость записи дисков порядка 160..80МБ/сек (снижается к концу диска) у SMR и 180..80 у CMR. SMR хуже ведут себя только на массе мелких записей, не фатально, раза в два всего.

Более того, я был шокирован, когда увидел, что изначально конструкция dm-integrity + raid10 работает быстрей, чем raid10 без ничего. Потыкался и сменил io scheduler с mq-deadline на bfq, скорость немного подрасла, и самое главное всё стало на свои места. raid10 без ничего всё же заметно быстрей, чем с dm-integrity. Но для raid5 ничего не помогает, он просто медленно пишет и совершенно непонятно где затык.

ZFS конечно всем хороша, но скорость записи у ней ограничена скоростью одного диска и через это не перепрыгнешь. Честно говоря, смотря на цифры raid10 без integrity понимаю, что хочу видеть что-то подобное, может процентов на 10 хуже, но никак не в разы.

Кроме того, в ZFS неудобно с шифрованием (zfs поверх четырех разделов dm-crypt – это какой-то идиотизм). В смысле с шифрованием все ок, но совершенно не ок с возможностью подмены данных (с обычным dm-crypt это невозможно, все развалится).

Кроме того, в ZFS нет writeback кеша на ssd. Только writethrough, что ограничивает скорость записи дисками (и нужно много памяти для самой zfs). Хотелось бы сверху всего иметь dm-cache.

Всё же видимо integrity и raid5 в linux катастрофически не совместимы и проще смириться и забыть оставшись с raid10. Может кто посоветует, как поднять скорость записи. Как я понимаю, в значительной степени проблема в том, что linux пишет прерывисто, когда работает с dm-integrity, есть лаг между окончанием предыдущей записи и началом следующей. При записи на сырой диск с помощью dd, при работе raid10 без integrity, такой проблемы нет. Странно, казалось бы проблема носит массовый характер, но в интернете мало об этом пишется. Каких-то толковых советов что подкрутить не нашел. Пробовал readahead увеличивать – без толку (правильно, тут же чистая запись), пробовал у raid5 stripe cache size увеличивать, ускоряет но лишь немного, и как я писал, смена io scheduler на bfq тоже несколько ускоряет.

В btrfs raid5 вроде ж не работает. Может стоит попробовать raid10 в btrfs? Там же вроде встроенная проверка целостности данных?

Может быть, имеет смысл разделить всё на два «раздела». Быстрый raid10 без integrity для часто изменяемых данных и медленный ZFS для остального. Но так неудобно.

Да и неудобство бэкапов с ext4. Снапшота нет, что там dump запишет – одному богу известно…

 , , ,

fk0
()

Установить gentoo на dm-integrity + dm-raid + dm-crypt.

Форум — Linux-install

Как установить gentoo на dm-integrity + dm-raid + dm-crypt ? На диске для установки нет, ядро не скомпилено, модулей нет, dm-integrity. Там так же нет zfs, но на админ-диске оно нашлось (но без dm-integrity).

Ставить на какой-нибудь диск, пересобирать ядро, а потом переносить, только так?

 ,

fk0
()

Сетевая карта WiFi.

Форум — Linux-hardware

Посоветуйте хорошие сетевые карты для WiFi, ибо задолбался с роутерами и их глюками.

  1. карта в комп: PCI express, и 2.4ГГц, и 5ГГц, желательна работа в режиме точки доступа, не менее двух антенн.

  2. карта в «роутер» (сделан из неттопа и модема), только USB, обязательно работа в режиме точки доступа, обязательно две антенны. Видимо, придётся две карты использовать, одна 2.4ГГц, другая 5ГГц.

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

Реалтек в PCI express – генерирует безумное количество прерываний, в виндах аж звук заикался. В линуксе не заикается, но такого не хочется.

От соседей избавиться не удастся, ни на 2.4, ни на 5ГГц. Есть какой-то странный эффект, что не все карты хороши. Например между телефоном и компом связь сильно лучше, чем между компом и роутером KEENETIC. Хотя у последнего аж 5 антенн и выше мощность. Но сигнал от соседей каким-то странным образом «глушит» роутер, он даже пинговаться перестаёт, а телефон работает. Подозрение, что влияют какие-то тонкие настройки вроде RTS или размер фрагмента, но их изменение особо ни на что не влияет. Догадываюсь, что в протоколе предусмотрена задержка передачи при занятом канале и роутер имеет слишком хороший, чувствительный приёмник и таким образом подавляется соседями. Может есть какая-то настройка, чтоб протокол не соблюдался и канал занимался безусловно? Многоквартирный дом со всеми последствиями…

 

fk0
()

Удалённая работа, mosh, ssh, etc...

Форум — Development

COVID вскрыл массу трудностей с удалённой работой. Основная из которых – чудовищная латентность и потеря пакетов в сети, шейпинг VPN провайдерами, идиотская организация VPN у работодателя, когда траффик из Москвы в Москву, на расстояние 3-х километров идёт через Лондон…

Вариант работы через ssh – практически мало применим из-за заметной латентности (в редакторе просто сложно перемещать клавишами курсор и попадать им в нужное место), из-за разрывов и переподключений.

Через VNC практически работать вообще невозможно. Тоже латентность и нужна большая ширина канала. Через RDP – в варианте когда RDP может работать через UDP (что вызывает массу сложностей в преодолении фаерволов) более-менее шевелится, но тоже так себе. И последнее работает только в варианте винды-винды, не для линукса.

Нашёл для себя mosh. Он более-менее сглаживает проблемы с ssh, но добавляет своих. Во-первых не всегда через фаервол проходит (проблемы как с просто блокировкой UDP, так и с тем, что в отсутствии траффика NAT забывает про соответствие портов). И самое главное, в нём проблемы с отмоткой буфера терминала назад (наверх) – её попросту нет (потому, что mosh эмулирует, условно, 80x24, только видимую часть, а не 80x2000).

Но нужна-то в основном не работа в консоли, а работа с редактором исходных текстов. И если редактор запускать в ssh, mosh, etc, то латентность так или иначе даст о себе знать. Гораздо лучше, когда редактор может работать локально, только передавая изменения по сети. С такими редакторами в linux всё достаточно плохо:

  1. Emacs имеет такой режим, но проблема Emacs в том, что он Emacs, кроме того, непонятно насколько хорошо там работает навигация по тексту, скорей не очень.

  2. Vim имеет такой режим только для галочки. Можете редактировать по одному файлику, при этом проблема с навигацией по исходникам (можно пропатчить tags файл от ctags, но с GNU global такой номер уже не проходит, с поиском по многим файлам тоже проблема).

  3. говорят что-то умеет sublime, но я не видел из-за бедности, и догадываюсь, там далеко не всё так волшебно как описывают.

  4. на удивление более-менее почти пристойно работает Visual Studio Code. Соединяется через ssh, вытаскивает оттуда файлы, редактирует, поиск производит удалённо на той стороне и только передаёт результаты (Vim тоже можно научить в принципе). Проблема VSCode в трудном, неудобном, интерфейсе и плохой навигации по исходным текстам (перейти к определению идентификатора она умеет, а в обратную сторону, найти все использования – только поиском, что не всегда быстро, удобно и корректно).

  5. про Eclipse не знаю… может кто расскажет.

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

Микрософтовский подход с RDP и UDP не так уж плох, думается, но к сожалению для Linux нет никакой альтернативы вообще. Хотелось хотя бы mosh с возможностью отмотки буфера экрана… (–no-init знаю, но в половине случаев это не работает).

Кроме того, UDP плохо проходит не только через фаерволы интернет-провайдера, но даже через корпоративные сети. В то время как HTTPS всегда везде разрешен. В идеале хотелось бы видеть что-то вроде mosh, но со следующими свойствами:

  1. работа через множественные короткоживущие HTTPS-соединения, фонтанное кодирование (как способ помехоустойчивого кодирования в условиях регулярных разрывов);

  2. симуляция не 80x24, а терминала вместе с буфером (несколько тысяч строк) и передача обновлений на сторону клиента;

  3. предсказание реакции на ввод с помощью обучения и симуляция реакции нажатия на клавиши (до того, как пакеты добежали до удалённой стороны, обработались, и фактическая картинка пришла обратно). mosh это умеет делать только в ограниченном множестве случаев, заданных вручную. Очевидно, реакцию под все возможные программы предусмотреть трудно, но при этом вполне возможно фактическое обучение на примерах.

  4. поддержка не единственного, а множества терминалов в рамках одного соединения (обычно для работы нужно несколько окон). Разные варианты вроде GNU screen и его альтернатив, увы, неудобны в использовании. Окна всё же хочется, чтоб управлялись оконным менеджером, чтоб между ними можно было переключаться, двигать их и т.п., причём принципиально мышью.

Могут заметить, мол зачем тогда терминалы. Чем RDP хуже? На самом деле, практически ничем кроме одного: совершенно не нужен «рабочий стол» с удалённой машины. Нужны только отдельные пять окон, например. И чтоб они управлялись локальным оконным менеджером, без задержек в отрисовке. Не знаю есть ли «бесшовный» RDP в современности, во времена Citrix (~2006г) что-то такое было. Кроме того буфер терминала, который проматывать можно нужен также локальный (чтоб отрисовывался без торможений), кроме того предиктивное обновление экрана с последующей заменой картинки фактическим результатом, чего RDP не умеет (и что очень просто психологически выматывает, когда работаешь на компьютере, где на экране нет обратной связи на все твои действия).

Может существуют какие-то проекты приближающиеся к описанным пожеланиям?

 , , , ,

fk0
()

Современный VPN-протокол.

Форум — Admin

Что сейчас, из opensource, следовало бы использовать для организации собственного VPN? В условиях когда популярные VPN-сервисы детектятся, шейпятся и портится траффик. По идее нужен протокол мимикрирующий под недолго живущие HTTPS-соединения.

 

fk0
()

xrandr и виртуальные десктопы (vs zaphod mode)

Форум — Desktop

Hello…

В старые времена нужно было в /etc/X11/x11.conf вписывать экраны, дисплеи и всё такое прочее. В итоге можно было сконфигурировать, для двух мониторов, два разных дисплея и запускать на них принципиально разные программы…

Сейчас для этого есть xrandr, заменивший Xinerama. Но он работает немного по-другому – он объединяет несколько мониторов в один больший объемлющий «десктоп». И мышка может уезжать с монитора на монитор. Как в виндах.

Проблема в том, что такой подход препятствует использованию виртуальных десктопов, если между ними я привык перемещаться мышкой. Хорошо, не буду делать 2х2, а сделаю 2х1, а второй монитор повешу сверху и буду вообще с клавиатуры переключаться… Уже неудобно, но есть и другая проблема. При переключении десктопов на основном мониторе, они на дополнительном-то тоже переключаются! Там тоже так же 2х1. И хуже того, если мониторы разных размеров и маленькое окно, или свернутое в иконку, потерялось в неотображаемой области (не влезающей в меньший монитор).

А хочется такой юзкейс, когда один монитор, выделенный, и окна из него на основной и обратно никогда переезжать не будут. Там, обычно, пара консолек с логами и всё. И фокус ввода туда даже почти никогда не попадает. Просто смотреть. А на основном мониторе хочется работать в привычном режиме, с использованием виртуальных десктопов. Без которых работать невозможно, потому, что нужно первое-второе-третье и всё ни в какие мониторы не влезет. А на дополнительном мониторе всегда чтоб окна с логами висели, чтоб только глаза поднял – и видно. Независимо от состояния основного монитора. Вроде понятно объяснил.

Как такое сделать с xrandr? Не понимаю. Window manager – fvwm, хотя это наверное не принципиально, тот же icewm будет вести себя так же.

В fvwm можно нужные окна сделать «sticky» и оно размножаться на все десктопы этого монитора, но так неудобно тоже. Решение на раз, но не для постоянной работы.

Ещё с обоями большая проблема. Их растягивает по прямоугольнику объемлющему оба монитора. Xearth в частности, Xplanet тоже. xsetroot -grey выглядит тоскливо, суровый вид из 80-х. Хотелось бы динамическую картинку на задний фон. Вот xphoon хоть и из 80-х, а на двух мониторах даёт две картинки. Всё здорово, только она совсем уж монохромная.

 , , ,

fk0
()

скорость записи на SSD.

Форум — Desktop

Говорили жёсткие диски теперь не модно, говорили выкинь, мол теперь SSD и там всё в 10 раз быстрей…

Имеем:

dd if=/dev/sde of=/media/ssd/disk.img bs=$((1024*1024)) status=progress
90788855808 bytes (91 GB, 85 GiB) copied, 1535 s, 59.1 MB/s

Model=GIGABYTE GP-GSTFS31100TNTD, FwRev=SBFMX1.3

Это печально. Для сравнения, на обычный (7200 с одним блином) HDD в два-три раза быстрей и без задержек по 5 секунд.

 

fk0
()

Установка NVMe диска в ноутбук.

Форум — Desktop

Поставил Samsung EVO 970 Plus вместо того тормозного SSD что там стоял ранее. Биос его не видит…

На плате ноута разъём с M-ключем.

Я начинаю догадываться, что ключ B/M вообще глубоко побоку и у большинства производителей тупо выводится только SATA (или только PCIe – купил внешнюю коробку, она Samsung EVO видит, а старый SSD – нет).

И наверное в ноуте просто не вывели PCIe? К сожалению в инструкции ноль информации. Мне надо купить Samsung EVO 860 теперь?

Или может проблема только в BIOS? lspci не могу посмотреть. Записал дебиановский iso (через dd) на флешку – разделы на ней появились, биос их видит, с флешки не грузится, выкидывает в сетап. Вроде TPM и прочие secure boots выключены. WTF???

Вообще в ноуте ещё и памяти мало, хотел SSD воткнуть хороший, чтоб хоть своп туда положить. Что лучше всего с SATA интерфейсом?

 , ,

fk0
()

Сетевой вопрос, чертовщина, wifi, yota.

Форум — Desktop

Схема сети: Yota <—> роутер huawei <– ethernet –> роутер totolink <–> Wifi…. <– другие компьютеры.

Роутер totolink, отмечу, исключался из цепочки путем подсоединения через wifi напрямую к huawei. Разницы не было.

Теперь о сути проблемы. Новый ноутбук и раз, скорость на speedtest.net в пару мегабит максимум, обычно даже меньше, вплоть до 128kbps временами. А на других компьютерах где-то 20Мбит есть, ну сколько загруженный wifi позволяет. Которого кстати 3 канала, 2.4 и 5ГГц подсети – без разницы, везде плохо. Подносил вплотную к роутеру – ничего не менятся.

Казалось бы, подозрение на wifi в новом ноутбуке? Но контраргументы:

  1. подключаемься к wifi через мобильник – скорость нормальная;

  2. подключаемся с ноута через ssh к компу с линуксом (который сам на том же вайфае висит) и проверяем через прокси – скорость нормальная!!!

Т.е. вроде как железо и ни при чём? Далее, подключаем новый ноут к тотолинку кабелем – скорость опять же нормальная. Это контр-контр аргумент.

Что это такое, как такое может быть? Думал yota режет, крутил там TTL и т.п., без толку. Но если не yota, то кто??? Да, режется только входящий траффик.

Totolink можно вообще исключить, пробовал без него. Железо тоже можно исключить, т.к. через прокси в виде другого компа и тот же wifi траффик разгоняется. Под подозрением только Huawei или Yota. Которые как-то отличают три варианта:

  1. ноут через wifi (через два разных роутера и три разных сети 2.5/5ГГц – без разницы);
  2. ноут через ethernet;
  3. не-ноут (прокси).

И в первом варианте режется только входящий траффик. Ну вот как такое может быть? Я вообще не понимаю и прошу помощи читателей.

Всё таки склонясь к тому, что у Yota просто глючит шейпер. Но как он понимает, что вот эти пакеты нужно шейпить, эти нет???

У yota тариф для роутера, не для мобильника, т.е. резать не должно из-за TTL и т.п.

Да, на ноуте винда. Линукс потом поставлю, отпишусь.

 , ,

fk0
()

Как жить в современном линуксе?

Форум — Desktop

Не пользовался дома линуксом несколько лет… Снова захотелось. В общем проапдейтил sarge до buster в итоге. Даже иксы стартовали и сраный systemd удалось снести. Но дальше проблемы:

  1. В момент первого запуска иксов нет клавиатуры и мыши (в иксах), надо выткнуть и воткнуть – тут udev что-то делает и всё появляется. Но вот это что-то не делается значит на загрузке? Интересно что, дал бы кто намёк. Мучаюсь с этим последние лет 10.

  2. В alsa параллельно несколько программ не могут выводить! Вот это номер! Когда alsa появилось, то её преимуществом перед OSS заявлялось как раз возможность параллельной работы нескольких программ! Вычитал, что нужно dmix в конфиге. А как же раньше работало??? Ну когда своего .asoundrc не было. Работало же.

  3. Самый сложный вопрос. Каким браузером пользоваться? Установился firefox-esr, и там даже профиль мой старый есть. И сразу яндекс изо всех щелей лезет – спасибо не надо. На работе собрал себе Basilisk, но он явно косячный, часть сайтов приходится смотреть в Chrome. Как быть? В старые времена в дебиане был вполне вменяемый то ли IceWeasel, то ли IceCat. А сейчас? Хочется без яндекса и чтоб без шпионажа.

  4. Как быть с адблоком? Я понимаю, что можно поставить umatrix и/или ublock. Меня беспокоит, что они могут лазить по DOM всех страниц и читать там конфиденциальную информацию, и хуже того, отсылать в тот же яндекс. Получается лечение ещё хуже болезни.

  5. Решается ли проблема video/screen tearing’а в современных браузерах в linux? Через какой механизм, каким образом? Возможно ли с opensource драйвером «radeon» получить приемлимую картинку? Без композитного менеджера? В мане XV_VSYNC на что-то намекает, но что-то мне кажется, судя по отсутствию glxgears, что с textured adapter у меня проблемы. Ещё в мане нашлось «TearFree», надо попробовать…

  6. Куда делась Mesa? «couldn’t find RGB GLX visual…»

[    0.766170] smpboot: CPU0: AMD A10-7890K Radeon R7, 12 Compute Cores 4C+8G (family: 0x15, model: 0x38, stepping: 0x1)

[   11.674289] [drm] amdgpu kernel modesetting enabled.
[   11.674375] amdgpu 0000:00:01.0: CIK support provided by radeon.
[   11.674413] amdgpu 0000:00:01.0: Use radeon.cik_support=0 amdgpu.cik_support=1 to override.

[  995.679934] [drm] radeon kernel modesetting enabled.
[  995.680304] [drm] initializing kernel modesetting (KAVERI 0x1002:0x130F 0x1462:0x7969 0xD4).

[  995.681049] [drm] radeon: 1024M of VRAM memory ready
[  995.681090] [drm] radeon: 2048M of GTT memory ready.
[  995.681136] [drm] Loading kaveri Microcode
[  995.688204] radeon 0000:00:01.0: firmware: direct-loading firmware radeon/kaveri_pfp.bin

[  995.698643] [drm] radeon: dpm initialized
[  995.712868] radeon 0000:00:01.0: firmware: direct-loading firmware radeon/bonaire_uvd.bin
[  995.712925] [drm] Found UVD firmware Version: 1.64 Family ID: 9
[  995.728014] radeon 0000:00:01.0: firmware: direct-loading firmware radeon/BONAIRE_vce.bin
[  995.729239] [drm] Found VCE firmware/feedback version 40.2.2 / 15!
[  995.729303] [drm] GART: num cpu pages 524288, num gpu pages 524288
[  995.751766] [drm] PCIE GART of 2048M enabled (table at 0x000000000030E000).
[  995.751934] radeon 0000:00:01.0: WB enabled

[  997.423736] [drm] Initialized radeon 2.50.0 20080528 for 0000:00:01.0 on minor 0


And X11 logs:

[  1050.890] (II) xfree86: Adding drm device (/dev/dri/card0)
[  1050.925] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[  1050.925] (II) LoadModule: "glx"
[  1050.925] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[  1050.926] (II) LoadModule: "dri"
[  1050.926] (II) Module "dri" already built-in
[  1050.926] (II) LoadModule: "radeon"
[  1050.927] (II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so


[  1050.937] (--) RADEON(0): Chipset: "KAVERI" (ChipID = 0x130f)


[  1050.968] (II) Loading sub module "dri2"
[  1050.968] (II) LoadModule: "dri2"
[  1050.968] (II) Module "dri2" already built-in
[  1050.969] (EE) RADEON(0): gbm_create_device returned NULL

[  1051.383] (II) Initializing extension GLX
[  1051.383] (II) AIGLX: Screen 0 is not DRI2 capable
[  1051.383] (EE) AIGLX error: dlopen of /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
[  1051.383] (EE) AIGLX error: unable to load driver swrast
[  1051.383] (EE) GLX: could not load software renderer
[  1051.383] (II) GLX: no usable GL providers found for screen 0

Что не так-то хоть? Раньше (в squeeze) glxgears вроде крутился. Не помню. А до того и матьплата другая была (видео встроенное).

  1. Как отладить проблему в .asoundrc? Сообщения от aplay совершенно бесполезные (ассерты с номерами строк). Раньше был рабочий конфиг, но сейчас поломался (впрочем и железо сменилось, но буковки/циферки вписал от новых карт). Задача: вывести поток параллельно на две звуковые карты и пропустить через эквалайзер до раздвоения.
#defaults.pcm.card 0
#defaults.ctl.card 0

pcm.!default {
	type plug;
	slave.pcm plugequal;
}
ctl.!default {
	type hw
	card "Device"
}

pcm.plugequal {
	type equal;
	#slave.pcm both;
	slave.pcm "plug:both"
}

pcm.both {
	type route;
	slave.pcm {
		type multi;
		slaves.a.pcm "xonar";
		slaves.b.pcm "realtek";
		slaves.a.channels 2;
		slaves.b.channels 2;
		bindings.0.slave a;
		bindings.0.channel 0;
		bindings.1.slave a;
		bindings.1.channel 1;
		bindings.2.slave b;
		bindings.2.channel 0;
		bindings.3.slave b;
		bindings.3.channel 1;
	}

	ttable.0.0 1;
	ttable.1.1 1;
	ttable.0.2 1;
	ttable.1.3 1;
}

ctl.both {
	type hw
	card "Device"
}

pcm.xonar {
	type dmix
	ipc_key 1024
	slave {
		pcm "hw:1"
		#period_time 0
		period_size 1024
		buffer_size 65536
		#buffer_time 0
		#periods 128
		rate 48000
		channels 2
	}
	bindings {
		0 0
		1 1
	}
	slowptr 1
}

ctl.xonar {
	type hw
	card "Device"
}

pcm.realtek {
	type dmix
	ipc_key 2048
	slave {
		pcm "hw:4"
		#period_time 0
		period_size 1024
		buffer_size 65536
		#buffer_time 0
		#periods 128
		rate 48000
		channels 2
	}
	bindings {
		0 0
		1 1
	}
	slowptr 1
}

ctl.realtek {
	type hw
	card "Generic_1"
}

ctl.equal {
	type equal;
}
#pcm.plugequal {
#	type equal;
#	slave.pcm "plug:dmix";
#}
#pcm.!default {
#	type plug;
#	slave.pcm plugequal;
#}

 , , ,

fk0
()

Команда бесконечно печатающая ASCII таблицу.

Форум — General

Может кто вспомнит. В стародавние времена была команда (программа) аналогичная «yes», но она печатала не бесконечное «y», а бесконечную ASCII таблицу (только видимые символы, от пробела до тильды). Для проверки принтеров, дисплеев. В частности удобно использовать для проверки целостности файла при передаче (глазами, я понимаю, что заполнение псевдослучайной последовательностью лучше, но её глазами не проверишь).

 ,

fk0
()

Изменить цвет/шрифт для Qt/Gtk приложений.

Форум — Desktop

Как можно изменить цвет по-умолчанию (обычно слишком яркий белый на немного более серый) для Gtk и Qt-приложений? Желательно без изменения темы. И установить свои увеличенные шрифты, желательно незамыленные.

Может быть установить тему? Но какую, как? Для Gtk-2.0 и Gtk-3.0. Есть какой-нибудь способ предпросмотра? Устроила бы тема а-ля Gnome начала 2000-х. Когда всё ещё не было плоским и замыленным. Собственно в Gtk меня и тема Raleigh устраивает, только белый цвет мешает и буйство шрифтов. На ~/.gtkrc как я понимаю, теперь только доисторические программы реагируют. И нет никакого аналога qt-config даже. Может есть какой-то шаблонный файл конфига, который руками подредактировать можно?

С Qt сложней. Старый qt-config4 работает, а qt5ct — нет. Говорит «The QT_QPA_PLATFORMTHEME environment variable is not set correctly». Да она вообще не установлена! Где я её возьму и что делать?

 , , ,

fk0
()

fontfonfig из debian buster

Форум — Desktop

Обновил дебиан, установился fontconfig (а может ещё что-то) из buster. Шрифты стали — вырви глаз, слишком заглаженные (отсутствие сколько-нибудь резких границ создаёт эффект несфокусированного глаза, читать невозможно, тяжело): https://paste.pics/1fa0791b1160ab9d2ded07d0dad16fe1

Тяжело читать. Я умею в fonts.conf записать такое:

    $ cat ~/.fonts.conf
    <match target="font">
            <edit name="antialias" mode="assign">
                    <bool>true</bool>
            </edit>
    </match>

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

Что ещё можно сделать? И сразу вопрос дальше, как для современного Qt/Gtk задать шрифты?

В чём вообще может быть проблема? Последние изменения:

$ cat /var/log/dpkg.log | grep 2018-05-2| grep font |grep upgrad
2018-05-22 13:14:20 upgrade fontconfig-config:all 2.11.0-6.3 2.13.0-5
2018-05-22 13:14:22 upgrade libfontconfig1-dev:amd64 2.11.0-6.3 2.13.0-5
2018-05-22 13:14:23 upgrade libfontconfig1:amd64 2.11.0-6.3 2.13.0-5
2018-05-22 13:14:24 upgrade libfontconfig1:i386 2.11.0-6.3 2.13.0-5

 , ,

fk0
()

Куда лезет фаерфокс сразу после старта? Как это прекратить?

Форум — Security

Старт и запрос 192.168.0.1 — а чего оно забыло на амазоне и чёрти где ещё???

173.194.44.* — google (кто его просил?) 52.222.226.* — amazon

Как это (и другое) отключить? Понятно, там много траффика на незапрашиваемые ресурсы, но кто его просил?

17:54:21.446543 IP 192.168.0.100.47058 > 173.194.44.81.https: Flags [S], seq 1977460891, win 29200, options [mss 1460,sackOK,TS val 169013130 ecr 0,nop,wscale 7], length 0
17:54:22.563150 IP 192.168.0.100.54198 > 52.222.226.76.https: Flags [S], seq 305898223, win 29200, options [mss 1460,sackOK,TS val 169013409 ecr 0,nop,wscale 7], length 0
17:54:23.350950 IP 192.168.0.100.39798 > ec2-54-77-38-116.eu-west-1.compute.amazonaws.com.https: Flags [S], seq 983447588, win 29200, options [mss 1460,sackOK,TS val 169013606 ecr 0,nop,wscale 7], length 0
17:54:24.097911 IP 192.168.0.100.47514 > 192.168.0.1.http: Flags [S], seq 4231223268, win 29200, options [mss 1460,sackOK,TS val 169013793 ecr 0,nop,wscale 7], length 0
17:54:27.350394 IP 192.168.0.100.36732 > ec2-52-40-179-197.us-west-2.compute.amazonaws.com.https: Flags [S], seq 703735864, win 29200, options [mss 1460,sackOK,TS val 169014606 ecr 0,nop,wscale 7], length 0
17:54:28.037909 IP 192.168.0.100.59944 > 52.222.171.186.https: Flags [S], seq 2756436483, win 29200, options [mss 1460,sackOK,TS val 169014778 ecr 0,nop,wscale 7], length 0
17:54:29.458365 IP 192.168.0.100.59946 > 52.222.171.186.https: Flags [S], seq 2224463378, win 29200, options [mss 1460,sackOK,TS val 169015133 ecr 0,nop,wscale 7], length 0

 

fk0
()

tcp syn flood, ports 41190 и 58960

Форум — Security

Что это такое может быть? Это в современном мире нормально или не очень? Это адрес, полученный от провайдера, ранее использовался в торрентах, freenet и т.п.?

PS: на самом деле портов сильно больше, все какие-то рандомные и постоянный заметный траффик.

  17:30:50.638250 IP 235.pppoe-186.ip2.mkpnet.ru.50148 > 192.168.0.100.58960: Flags [S], seq 3477261718, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
  17:30:50.823024 IP client.yota.ru.56053 > 192.168.0.100.58960: Flags [S], seq 2447152188, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
17:30:50.865853 IP 185.93.184.74.5139 > 192.168.0.100.41190: Flags [S], seq 3295782166, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:30:52.259038 IP 93-170-246-81.proximanet.ru.49669 > 192.168.0.100.41190: Flags [S], seq 269793273, win 8192, options [mss 1344,nop,nop,sackOK], length 0
17:30:52.306235 IP 175.13.165.46.access-pools.setitagila.ru.55201 > 192.168.0.100.58960: Flags [S], seq 809439801, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:30:53.377613 IP 5.136.203.96.60006 > 192.168.0.100.41190: Flags [S], seq 1196855321, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:30:53.617367 IP 248.42.pppoe.mari-el.ru.62956 > 192.168.0.100.41190: Flags [S], seq 3596882185, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:30:53.636887 IP 235.pppoe-186.ip2.mkpnet.ru.50148 > 192.168.0.100.58960: Flags [S], seq 3477261718, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:30:53.859836 IP client.yota.ru.56053 > 192.168.0.100.58960: Flags [S], seq 2447152188, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
17:30:54.651214 IP 5.178.140.236.62704 > 192.168.0.100.58960: Flags [S], seq 3602423510, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:30:55.935584 IP 46.70.129.135.58791 > 192.168.0.100.41190: Flags [S], seq 541400083, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:30:56.373043 IP 5.136.203.96.60006 > 192.168.0.100.41190: Flags [S], seq 1196855321, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:30:57.391304 IP 176.50.247-185.xdsl.ab.ru.51819 > 192.168.0.100.41190: Flags [S], seq 3078581212, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:30:58.975095 IP 46.70.129.135.58791 > 192.168.0.100.41190: Flags [S], seq 541400083, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:30:59.176585 IP 82.200.40.26.32775 > 192.168.0.100.41190: Flags [S], seq 4201764902, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:30:59.638755 IP 235.pppoe-186.ip2.mkpnet.ru.50148 > 192.168.0.100.58960: Flags [S], seq 3477261718, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:30:59.813170 IP client.yota.ru.56053 > 192.168.0.100.58960: Flags [S], seq 2447152188, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:31:00.398935 IP 176.50.247-185.xdsl.ab.ru.51819 > 192.168.0.100.41190: Flags [S], seq 3078581212, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:01.366330 IP 208.mtsnet.ru.23207 > 192.168.0.100.58960: Flags [S], seq 3835826971, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
17:31:01.625765 IP ws.92.127.218.6.nsk.sibirtelecom.ru.58413 > 192.168.0.100.41190: Flags [S], seq 1671764912, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
17:31:02.175228 IP 82.200.40.26.32775 > 192.168.0.100.41190: Flags [S], seq 4201764902, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:31:02.380540 IP 5.136.203.96.60006 > 192.168.0.100.41190: Flags [S], seq 1196855321, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:31:03.388529 IP nat-minsk-pool-46-53-202-212.telecom.by.59348 > 192.168.0.100.41190: Flags [S], seq 3431318868, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:04.380640 IP ip-040-116-064-178.pools.atnet.ru.60103 > 192.168.0.100.41190: Flags [S], seq 2993284730, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:04.621829 IP ws.92.127.218.6.nsk.sibirtelecom.ru.58413 > 192.168.0.100.41190: Flags [S], seq 1671764912, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
17:31:04.913124 IP 46.70.129.135.58791 > 192.168.0.100.41190: Flags [S], seq 541400083, win 65535, options [mss 1360,nop,nop,sackOK], length 0
17:31:05.570911 IP 88-201-148-196.cable.pakt.spb.ru.1946 > 192.168.0.100.41190: Flags [S], seq 2668498572, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:06.160972 IP pool-46-63-65-11.x-city.ua.50702 > 192.168.0.100.41190: Flags [S], seq 824301628, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:06.389008 IP nat-minsk-pool-46-53-202-212.telecom.by.59348 > 192.168.0.100.41190: Flags [S], seq 3431318868, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:06.406106 IP 176.50.247-185.xdsl.ab.ru.51819 > 192.168.0.100.41190: Flags [S], seq 3078581212, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:31:07.365229 IP 208.mtsnet.ru.23207 > 192.168.0.100.58960: Flags [S], seq 3835826971, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:31:07.790245 IP 89.237.37.137.62335 > 192.168.0.100.58960: Flags [S], seq 3434566909, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:08.176383 IP 82.200.40.26.32775 > 192.168.0.100.41190: Flags [S], seq 4201764902, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:31:08.625170 IP 88-201-148-196.cable.pakt.spb.ru.1946 > 192.168.0.100.41190: Flags [S], seq 2668498572, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:09.161287 IP pool-46-63-65-11.x-city.ua.50702 > 192.168.0.100.41190: Flags [S], seq 824301628, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:10.632056 IP ws.92.127.218.6.nsk.sibirtelecom.ru.58413 > 192.168.0.100.41190: Flags [S], seq 1671764912, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:31:10.790794 IP 89.237.37.137.62335 > 192.168.0.100.58960: Flags [S], seq 3434566909, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:11.249880 IP 212-112-119-186.aknet.kg.49977 > 192.168.0.100.41190: Flags [S], seq 3461709285, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:12.389286 IP nat-minsk-pool-46-53-202-212.telecom.by.59348 > 192.168.0.100.41190: Flags [S], seq 3431318868, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:31:12.710042 IP vpn.imperial.net.ua.58571 > 192.168.0.100.58960: Flags [S], seq 638274751, win 8192, options [mss 1340,nop,wscale 2,nop,nop,sackOK], length 0
17:31:14.255023 IP 212-112-119-186.aknet.kg.49977 > 192.168.0.100.41190: Flags [S], seq 3461709285, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:14.627565 IP 88-201-148-196.cable.pakt.spb.ru.1946 > 192.168.0.100.41190: Flags [S], seq 2668498572, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:31:14.731959 IP ip-130-193-124-135.gnc.net.50485 > 192.168.0.100.41190: Flags [S], seq 2570671245, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
17:31:15.156209 IP pool-46-63-65-11.x-city.ua.50702 > 192.168.0.100.41190: Flags [S], seq 824301628, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:31:15.710908 IP vpn.imperial.net.ua.58571 > 192.168.0.100.58960: Flags [S], seq 638274751, win 8192, options [mss 1340,nop,wscale 2,nop,nop,sackOK], length 0
17:31:16.019822 IP 164.227.212.178.convex-tagil.ru.53926 > 192.168.0.100.41190: Flags [S], seq 1982156980, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:16.792515 IP 89.237.37.137.62335 > 192.168.0.100.58960: Flags [S], seq 3434566909, win 8192, options [mss 1360,nop,nop,sackOK], length 0
17:31:17.727209 IP ip-130-193-124-135.gnc.net.50485 > 192.168.0.100.41190: Flags [S], seq 2570671245, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
17:31:19.018370 IP 164.227.212.178.convex-tagil.ru.53926 > 192.168.0.100.41190: Flags [S], seq 1982156980, win 8192, options [mss 1360,nop,wscale 8,nop,nop,sackOK], length 0
17:31:19.635921 IP 95.56.91.79.megaline.telecom.kz.21434 > 192.168.0.100.41190: Flags [S], seq 3654234156, win 8192, options [mss 1360,nop,wscale 2,nop,nop,sackOK], length 0
17:31:20.250577 IP 212-112-119-186.aknet.kg.49977 > 192.168.0.100.41190: Flags [S], seq 3461709285, win 8192, options [mss 1360,nop,nop,sackOK], length 0

 

fk0
()

графика поверх видео, composite или XRender?

Форум — Development

Хочется такую штуку, чтоб было два окна. Одно над другим. В нижнем окне показывается видео, через mplayer -wid... например. В верхнем окне я рисую собственную графику. При этом нужно блендить два окна, с учётом альфаканала. Т.е. графика накладывается поверх видео и может быть (полу)прозрачной.

Как это можно сделать?

Вариант 1: делаем окно, которое с графикой, override redirect (чтоб им window manager не управлял), управляем его позицией и размером сами (по образу и подобию нижнего окна). Это потому, что оно должно в качестве parent иметь root window. И тогд можно использовать Composite extension, например, если запустить xcompmgr... Я проверил, даже работает. Не могу понять, используется ли при этом аппаратное ускорение или нет. Мне только не нравится, что при этом пропадает xearth из root window.

Вариант 2: даём mplayer'у какое-то окно, которое не замаплено в экран. И с использованием функций XRender вручную 50 раз в секунду блендим его с нашей графикой. Мне кажется, данный способ будет тормозным.

Ещё варианты? Мне кажется Xv мог бы поддерживать такую штуку, чтоб выводит в окно видео только в пиксели заданного цвета, а другие пиксели чтоб отображались как есть. Но вроде как Xv просто тупо растягивает картинку из source в destination.

 , , ,

fk0
()

xcompmgr, compton — не видно xearth (нет картинки в root window, серый экран)

Форум — Desktop

Почему при использовании xcompmgr и/или compton нет картинки на root window и как быть в таком случае? Монотонный фон не предлагать.

 , ,

fk0
()

Пропатчить GOT таблицу на MIPS.

Форум — Development

Как пропатчить KDE2 под FreeBSD GOT-таблицу на MIPS?

Более практически меня интересует перехватить вызов функции xxx() скажем. При условии, что мой код стартует после загрузки всех .so и линковки. LD_PRELOAD — нельзя.

Т.е. на x86 понятно как. Я беру адрес xxx — он же является адресом внутри PLT, откуда я извлекаю адрес ячейки GOT, в которой записан реальный адрес функции, и подменяю его на свой.

Проблемы MIPS: во-первых нет PLT. В момент вызова функции генерируется код, который сразу лезет в GOT, извлекает адрес, кладёт в t9 и делает jalr t9. Из этого следствие, что непонятно как получить адрес ячейки GOT: если, на уровне ассемблера, я использую символ xxx, например, то команда la xxx мне сразу генерит код лезущий в GOT (оканчивающийся на lw t9, offs(gp)) — и в регистре сразу у меня адрес самой xxx. А мне нужно не значение символа xxx, а адрес ячейки GOT (не адрес функции xxx, а адрес адреса в GOT). И вот здесь я не понимаю — возможно ли, и если возможно то как записать такую конструкцию. Складывается впечатление, что невозможно. Но меж тем задача инжекции своей функции в чужой код она же можно сказать типовая. Должно же быть какое-то решение. Наконец, как-то же это делает линкер, на момент загрузки (хотя, он может читать ELF, а я не очень-то хочу).

 , ,

fk0
()

Использование GCC разных версий при сборке библиотек, C++.

Форум — Development

Имеем ситуацию. Есть «тулкит» образца ~2006г. в составе имеет gcc-3.3.3, gdb-6.5, uclibc и binutils тех же времён... И включает он в себя ряд .so библиотек и программу. А моя задача дополнить это всё своей .so.

И имеем современное готовое ПО в исходниках, на C++, достаточно большого объёма и сложности, чтоб там не было желания что-то менять или отлаживать. Проблема в том, что похоже с gcc-3.3.3 оно не работает — ещё на этапе сборки натыкался на сбои в GCC, но обошёл, но после запуска тоже есть странности. Тем более, что взгляд на багтрекер для gcc-3.3.3 вызывает суицидальные настроения.

Вопрос. Можно ли взять более новую современную версию gcc и попросту пересобрать с теми же настройками (configure имеется ввиду) и начать использовать? Какие контраргументы?

Во-первых практический результат для gcc-4.8.4 (пересобрал gcc и binutils). Есть две программы: одна после этого даже не стартует. Валится в фиг знает где, gdb показывает полную чушь и попорченный стек. Вторая (маленькая, тест) стартует и даже как-то работает. Но gdb не показывает стек (bt) нормально, только пару-тройку функций сверху.

Во-вторых размышления на тему какие могут быть проблемы:

1) несовместимость ABI. Здесь (https://gcc.gnu.org/onlinedocs/libstdc /manual/abi.html) пунктом три приводятся версии libstdc++ для gcc и даны комментарии о несовместимости. В частности, для gcc-3.3.3 должно быть libstdc++.so.5 Практически у программы слинкованной gcc-4.8.4 есть зависимость тоже от libstdc++.so.5 (странно... хотя выше я пишу C++, но стандартная C++ библиотека вообще не используется — всё своё).

2) не знаю что ещё, надеюсь мне тут подскажут.

И, наконец, как быть. Использовать gcc-3.3.6 ? Кажется разумным вариантом. Но в имеющемся ПО дикий фарш из C++ кода и темплейтов, хоть формально всё и c++03, но судя по всему чем-то младше gcc-4.x никогда и не собиралось и не факт, что заработает. Хотелось бы потому gcc-4.x.

Платформа не x86, ежели что. Linux embedded, mips. Ядро и uclibc даны свыше (как и всё остальное), хидеров от ядра нет (uclibc пересобрать тоже сложно, но наверное можно, и вообще хотелось бы — но, насколько я понимая это вообще бессмысленно, ввиду несовместимости разных версий uclibc между собой).

 , , , ,

fk0
()

поломали

Форум — Admin

auth.log:Jan 19 14:28:16 pc sshd[31332]: Accepted keyboard-interactive/pam for root from 103.41.124.101 port 47104 ssh2

auth.log:Jan 19 18:36:32 pc sshd[418]: Accepted keyboard-interactive/pam for root from 148.163.4.178 port 40696 ssh2

537561 612 -rwxr-xr-x 1 root root 618631 Jan 20 01:33 /lib/libgcc.so

915632 612 -rwxr-xr-x 1 root root 618642 Jan 20 00:28 /usr/bin/zlsjlwybks

701174 0 lrwxrwxrwx 1 root root 20 Jan 20 00:28 /etc/rc1.d/S01zlsjlwybks -> ../init.d/zlsjlwybks

701320 0 lrwxrwxrwx 1 root root 20 Jan 20 00:28 /etc/rc3.d/S01zlsjlwybks -> ../init.d/zlsjlwybks

701197 0 lrwxrwxrwx 1 root root 20 Jan 20 00:28 /etc/rc2.d/S01zlsjlwybks -> ../init.d/zlsjlwybks

701453 0 lrwxrwxrwx 1 root root 20 Jan 20 00:28 /etc/rc5.d/S01zlsjlwybks -> ../init.d/zlsjlwybks

701384 0 lrwxrwxrwx 1 root root 20 Jan 20 00:28 /etc/rc4.d/S01zlsjlwybks -> ../init.d/zlsjlwybks

701617 4 -rw-r--r-- 1 root root 764 Jan 20 00:28 /etc/crontab

701002 4 -rwxr-xr-x 1 root root 323 Jan 20 00:28 /etc/init.d/zlsjlwybks

700947 4 -rwxr-xr-x 1 root root 229 Jan 20 00:28 /etc/cron.hourly/cron.sh

# strings libgcc.so

BB2FA36AAA9541F0

103.25.9.228

8.8.8.8

CAk[S

 

fk0
()

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