LINUX.ORG.RU

Сообщения kawaii_neko

 

Посоветуйте файловую систему для большого раздела с мультимедиа

Форум — General

Конечно же первое, что пришло в голову — это xfs, но вот только на пустом разделе

$ df -h /mnt/big-media
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc2        20T  389G   20T   2% /tmp/big-media

Быстрый гуглинг показал, что если я откажусь от crc и reflink, то все станет намного лучше.

Вопрос:

  1. Много ли я теряю?
  2. А может вообще лучше lvm? Тем более, что дисков планирую добавить.

 

kawaii_neko
()

Посоветуйте недо-NAS на коленке

Форум — Linux-hardware

Нашел в квартире свободное место в шкафу. Хочу запихнуть туда 4 жестких диска и еще какую-то железку сверху, чтобы раздавать кинчик по DLNA для телевизора и сливать туда фоточки с телефона, дабы не платить дяде за облако. Бонусом также думается заливать туда бакапы важного с локалхоста.

Как обычно, возникло несколько вопросов:

  1. В шкафу никакой особой вентиляции нет, поэтому хочется cpu/mb попрохладнее. Получается, что старые зионы с алиэкспресса отпадают. Что вообще недорогое выбрать?

  2. Диски хочу организовать в виде X физических разделов со, скажем, xfs, где будет храниться медиатека, которую не сильно страшно частично потерять в случае чего. Ну а для хранения важного объединить отдельные разделы с дисков в lvm mirror, а то и вовсе какой-нибудь ручной rsync настроить.

  3. Какие есть опенсорсные решения для синхронизации фото/видео альбомов со своими мобильными приложениями для айфонов? Можно, конечно, через ifuse ручками сливать, но это уже черезур гиковато, как по мне.

Перемещено hobbit из general

 

kawaii_neko
()

Мощь LSP для анализа кода

Форум — Development

Дано: большая чужая кодовая база на C++.

Хочется: указав две функции A и B, узнать, через какую последовательность функций A вызывает B, либо получить ответ, что «такого пути нет».

Понимаю, что могут быть извращения вроде «передали лямбдочку, которая вызывает B» или вызов функций через указатель и готов смириться с тем, что такое я статически не отловлю.

До сих пор довольствовался «найти, кто вызывает эту функцию» в редакторе через LSP, а теперь хотелось бы это заскриптовать: дать две пачки функций узнать, какие между ними есть связи.

 

kawaii_neko
()

Грусть гентушника

Форум — Talks

Собрался я пересобирать мир, а там

>>> Running pre-merge checks for dev-qt/qtwebengine-6.9.3
 * Checking for at least 48 GiB RAM ...            [ ok ]

Грустный пакет вообще говоря, ибо

     Fri Feb 16 16:07:08 2024 >>> dev-qt/qtwebengine-5.15.12_p20240122
       merge time: 31 minutes and 21 seconds.

     Wed May 29 15:26:54 2024 >>> dev-qt/qtwebengine-5.15.13_p20240510
       merge time: 31 minutes and 1 second.

     Sat Nov 30 18:09:11 2024 >>> dev-qt/qtwebengine-6.7.3
       merge time: 47 minutes and 30 seconds.

     Wed Mar 19 14:38:05 2025 >>> dev-qt/qtwebengine-6.8.2-r1
       merge time: 49 minutes and 27 seconds.

     Mon May 12 00:39:18 2025 >>> dev-qt/qtwebengine-6.8.3
       merge time: 59 minutes and 20 seconds.

при том, что

     Fri Sep 19 08:24:08 2025 >>> www-client/firefox-140.3.0
       merge time: 15 minutes.

     Wed Mar 19 13:15:30 2025 >>> app-office/libreoffice-24.2.7.2-r2
       merge time: 22 minutes and 37 seconds.

В итоге пришлось отказаться от zeal, который эту тяжеленную штуку за собой тащил.

 

kawaii_neko
()

Сложный роутинг через mikrotik + linux PC

Форум — Admin

Есть одна домашняя сеть с микротиком. Все устройства получают от него адреса автоматически, включая default gateway на этот самый микротик.

Хотелось бы незаметно для клиентов пустить часть трафика через роутер на компьютере, ну и попутно кое-как обработать этот трафик.

Завел правило в firewall/mangle с set routing mark

 3 X  ;;; linux pc
      chain=prerouting action=mark-routing new-routing-mark=linux_route passthrough=yes protocol=tcp src-address=192.168.88.0/24 dst-address-list=addrs dst-port=443 log=no log-prefix="" 

Завел маршрут для таблицы linux_route, трафик приходит линуксовую машину, он его перенаправляет на хост, но вот ответ на эти пакеты не покидает линуксовую машину. Если напрямую прописать адрес линуксовой тачки в качестве default gateway, то все работает, трафик успешно ходит через него. А вот если mikrotik => linux pc, то нифига.

Подскажите, куда копать?

 ,

kawaii_neko
()

Переезд с vim на neovim

Форум — Development

Когда-то давным-давно я напилил конфиг вима, суть которого заключалась в установке кучи плагинов через vundle и тюнинга ограниченного числа опций.

Посмотрел обзоры neovim, все эти клевые фичи: tree-sitter, telescope, встроенная поддержка lsp, поддержка rgb-цвета в терминале — и захотелось туда переехать.

Но возникли вопросы:

  1. Среди цветовых схем с поддержкой tree-sitter не понравилась ни одна. Насколько сложно допиливается обычная схема до поддержки tree-sitter и есть ли об этом мануалы?

  2. Автор nvim продвигает идею, что ctrl-n/ctrl-p/ctrl-y — это прямо очень удобно для автокомплита, с чем я категорически не согласен. Если уж доходит до выбора варианта из выпадающего меню, я предпочитаю стрелки + tab. И, помнится, были какие-то приключения с PUMvisible, чтобы сделать более-менее вменяемое поведение. Насколько эта часть кастомизируемая? Можно ли допилить до состояния «после ./-> показываем варианты автокомплита автоматом, в противном случае только по хоткею»?

  3. Есть ли в neovim какие-нибудь красивые интеграции со внешними форматтерами? Понятно, что можно настроить комбинацию на запуск clang-format по хоткею, но вдруг есть что-то более современное? Опять-таки видео от разработчиком neovim с приседаниями вокруг связки lsp+format пугает.

 

kawaii_neko
()

ALSA + микрофон = либо треск, либо очень тихо

Форум — General

TLDR: каким плагином можно набросить децибел при захвате микрофона?

pcm.mic {
	type rnnoise
	slave.pcm "plughw:0,0"
}

Более подробно: микрофон выдает неприятный фоновый гул, который отлично подавляется плагином rnnoise, но вне зависимости от шума звук получается очень тихий. Выставление mic boost в любое ненулевое значение дает ужасные помехи и вообще неюзабельно.

Хотелось бы набросить чем-то децибел, чтобы звук был чистый и громкий.

 

kawaii_neko
()

Не могу пробрасывать порты в связке Mikrotik + miniupnpc

Форум — General

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

Есть один микротик, в нем разрешен upnp. При попытке открыть порт через upnp получается такое:

$ upnpc -a 192.168.88.2 1300 1200 tcp
upnpc : miniupnpc library test client, version 2.2.5.
 (c) 2005-2023 Thomas Bernard.
Go to http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
for more information.
List of UPNP devices found on the network :
 desc: http://192.168.88.1:2828/gateway.xml
 st: urn:schemas-upnp-org:device:InternetGatewayDevice:1

Found a (not connected?) IGD : http://192.168.88.1:2828/upnp/control/gxoikaqkhf/wanipconn-1
No valid UPNP Internet Gateway Device found.

Подглядывание в трафик показало, что в gateway.xml сильно не хватает сервисов:

<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <device>
    <deviceType>urn:schemas-upnp-org:device:InternetGatewayDevice:1</deviceType>
    <friendlyName>MikroTik Router</friendlyName>
    <manufacturer>MikroTik</manufacturer>
    <manufacturerURL>https://www.mikrotik.com/</manufacturerURL>
    <modelName>Router OS</modelName>
    <UDN>uuid:UUID-MIKROTIK-INTERNET-GATEWAY-DEVICE-4TGD-040J</UDN>
    <serviceList>
      <service>
        <serviceType>urn:schemas-microsoft-com:service:OSInfo:1</serviceType>
        <serviceId>urn:microsoft-com:serviceId:OSInfo1</serviceId>
        <SCPDURL>/osinfo.xml</SCPDURL>
        <controlURL>/upnp/control/xmuyiblasz/osinfo</controlURL>
        <eventSubURL>/upnp/event/noviisxcmc/osinfo</eventSubURL>
      </service>
    </serviceList>
    <presentationURL>http://192.168.88.1/</presentationURL>
  </device>
  <URLBase>http://192.168.88.1:2828</URLBase>
</root>

Ах да, еще я в списке интерфейсов upnp задизейблил external-интерфейс, полагая, что это запретит обращаться к upnp извне.

Я ССЗБ?

 mikroik,

kawaii_neko
()

Узнать динамический адрес хоста

Форум — Desktop

Собственно, есть два рабочих места в разных концах нашей славной столицы. Хочется иметь возможность заходить с одного на другой через SSH. Нюанс заключается в том, что адрес динамический.

Первое, что приходит в голову — написать какого-нибудь jabber-бота, у которого можно спросить его адрес, но вроде бы это уже не модно и недостаточно молодежно.

Когда-то слышал про dyndns, но платить не хочу, тем более «потенциально недостаточно дружественным странам».

Что еще можно придумать, чтобы было надежно?

 

kawaii_neko
()

Wifi USB-брелок не успевает «увидеться» к моменту старта net.wifi0

Форум — Desktop

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

Система: gentoo + openrc, никаких systemd/network manager

Воткнул USB-брелок на чипсете aetheros в десктоп, настроил wpa-supplicant, в conf.d/net прописал modules="wpa_supplicant", после чего при загрузке системы получаю ругань «wpa_supplicant can't find wireless device».

Устройство доинициализирутся несколько секунд спустя, после чего ручной /etc/init.d/net.wifi0 start ожидаемо работает.

Подскажите, чего бы такого можно было придумать?

Сходу в голову приходит привязаться к udev для запуска по событию «add», но из предыдущих опытов с хотплагом клавиатуры я понял, что таких событий прилетает много, соответственно, будет много попыток запустить net.wifi0, что не очень хорошо.

Посоветуйте каких-нибудь костылей поизящнее, чем sleep 5 && net.wifi0 start где-то в local.d

 , , ,

kawaii_neko
()

Вывод ядра при загрузке на консоль при использовании EFI

Форум — Linux-install

Дано: (предположительно) криво сконфигуренное ядро, efi. Чтобы понять, что может идти не так, было бы хорошо видеть хоть какой-то выхлоп, но его нет.

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

 uef

kawaii_neko
()

Есть ли какой-то путеводитель по алгоримам?

Форум — Development

Помню, на cppcon был обзорный доклад по всем алгоримам стандартной библиотеки. Хотелось бы чего-то похожего, но более обширного со всякой экзотикой типа ахо-корасика.

Нагуглил https://en.wikipedia.org/wiki/List_of_terms_relating_to_algorithms_and_data_s... но не хватает группировки и искать там алгоритм, скажем, поиска k-й статистики — тот еще полный перебор.

 

kawaii_neko
()

mpv + yt-dlp = 403 ошибки на некоторых видео

Форум — General

С некоторого времени начала твориться непонятная дичь: mpv получает HTTP 403 по url, который получает от yt-dlp. При этом сам yt-dlp напрямую отлично все скачивает.

Попробовал сделать --dump-headers и дернуть адрес curl-ом с теми же заголовками — тоже 403. curl через прокси работает с любыми заголовками.

Никто с такой фигней не сталкивался?

 , ,

kawaii_neko
()

А в чем, собственно, сложность «поддержки» legacy BIOS?

Форум — General

Я тут год назад переезжал не осилил emerge -vuND world после длительного перерыва, и решил переустановться. Попутно обнаружил, что grub-0.9x больше нет в ебилдах.

В итоге взял 512 байт из MBR и содержимое /boot/grub (еще около 500kb), и вот уже длительное время мои ОС загружает «неподдерживаемый загрузчик, найти гентушные патчи для которого не представляется возможным.

Кажется, что legacy BIOS — одна из тех штуковин, которые просто работают и есть не просят — в чем глубинный смысл отказа?

 

kawaii_neko
()

А какой дистрибутив у нас нынче хорош для ноутбуков?

Форум — Desktop

Убунта очень не нравится навязыванием gnome, сам я предпочитаю openbox.

Последней каплей стал апдейт firefox, после которого тот перестал работать, а в новом профайле оказалось, что в убунте yandex идет дефолтной поисковой системой — ну это же просто днище.

Хотелось бы:

  • Беспроблемной работы на ноутбуке (т. е. не хочется руками что-то конфигурировать)
  • Возможности установки deb-пакетов (всякие slack, zoom)

 ,

kawaii_neko
()

Выяснить в runtime по backtrace, из какого исходного файла была вызвана функция

Форум — Development

Есть один бинарник, который использует несколько библиотек и подозревается в чрезмерной растрате памяти (не утечке — динамика роста RSS не такая взрывная). Хочется выяснить, какая библиотека за это ответственна. Для этого можно взять jemalloc, добавить вручную арен и средствами jemalloc уже вести учет выделенной памяти. Но появляется важный нюанс: как выяснить, кто позвал *alloc?

Для динамической линковки есть довольно надежный способ: сначала через backtrace, а в релизной версии грязными ассемблерными хаками получаем адрес возврата, через `/proc/$pid/map` понимаем, к какой so-шке относится этот адрес и дальше ведем себя соответственно.

Как быть при статической линковке? Есть ли способ отредактировать объектный файл, переопределив имя внешнего символа? Я знаю трюк с частичной линковкой (ld -r), когда можно подставить заглушку, которая будет вызывать нужный метод (так, например, можно все аллокации из libfoo.a заставить использовать malloc_foo/free_foo ценой одного косвенного перехода), но вдруг есть способ лучше?

На всякий случай уточню: исходники трогать нельзя, потому что: 1) так может каждый; 2) хочется странного

 ,

kawaii_neko
()

Посоветуйте опенсорные часы с bluetooth

Форум — Talks

Сабж. Есть один bt-девайс, который с часов контролировать удобнее, чем с телефона. Софта, естественно, нет. Отличный повод заняться мотивированным сплетением ног с опенсорсным устройством.

Хотелки:

  • чтоб было удобно разрабатывать
  • чтоб батарейки хватало хотя бы на неделю — эти современные «smart watch» со временем работы 16 часов просто курам насмех
  • чтоб были относительно ударопрочными
  • чтоб не боялись воды и пота — плавать с ними не собираюсь, но под открытым небом дождем полить вполне себе может

 

kawaii_neko
()

ipv6 туннель

Форум — General

Обнаружил, что у некоторых интересующих меня ресурсов появились ipv6 адреса, а это значит «bye-bye dpi».

Подскажите бесплатный ipv4-to-6 туннель, в идеале «без регистрации и SMS». Ну и как им пользоваться?

 ,

kawaii_neko
()

Кажется, настало время оставить firefox в прошлом

Форум — Talks

Решил обновить мир. Собираю firefox 88, параллельно запущена предыдущая версия — ну потому что не ожидаю подвоха —, как вдруг курсор мыши наичнает подозрительно плохо двигаться — да, не хватило памяти.

Ну ок, бывает. Запускаю top, а там

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                        
 2957 portage   20   0 2144,2m   2,0g  25,5m R 100,0  12,9   0:57.14 cc1plus                                                                                                                        
 3145 portage   20   0 1059,8m 967,5m  20,1m R 100,0   6,1   0:19.12 cc1plus                                                                                                                        
 3325 portage   20   0  614,7m 501,2m  16,5m R 100,0   3,1   0:03.78 cc1plus                                                                                                                        
 3237 portage   20   0  524,8m 463,2m  16,6m R 100,0   2,9   0:06.43 cc1plus                                                                                                                        
 3264 portage   20   0  494,3m 428,6m  16,5m R 100,0   2,7   0:06.05 cc1plus                                                                                                                        
27042 portage   20   0 1317,6m 295,5m  14,1m S   0,0   1,9   0:06.39 cargo                                                                                                                          
 3361 portage   20   0 1317,6m 283,0m   1,6m S   1,0   1,8   0:00.01 cargo                                                                                                                          
 3336 portage   20   0  317,1m 257,5m  16,0m R 100,0   1,6   0:02.89 cc1plus                                                                                                                        

В принципе, и раньше было понятно, что инженерами в mozilla все печально, но это уже последняя капля.

Только вот куда идти? Везде куцые web extensions, потребление сотен мегабайт памяти на простых страницах, никакущее юзабилити, трекинг и телеметрия.

Последний более-менее юзабельный браузер waterfox classic, но с древним gecko уже не работают новые морды teamcity и половина современных говносайтов.

Может есть какой проект, где к современному html/js движку энтузиасты прикручивают xul? Я бы поучаствовал.

 ,

kawaii_neko
()

Легковесный терминал с вкладками

Форум — Desktop

Пользовался mate-terminal, но с переходом на gtk3 его легковесность стала несколько сомнительной, а также мне лень расковыривать .gtkrc, чтобы получить темные табы при светлой gtk теме.

Обязательно:

  • отсутсвие привязки к DE
  • табы без tmux/screen на локалхосте!
  • полноэкранный режим без строки меню
  • поддержка 256 цветов
  • все основные действия (open/close tab, move tab и т.п.) должны иметь хоткеи, по возможности настраиваемые

Крайне желательно:

  • адекватная работа Shift-F{5..8} в midnight — в mate-terminal у меня S-F3 вызывает copy, S-F4 — move
  • подсветка url
  • наличие цветовых профилей для вкладок

 

kawaii_neko
()

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