LINUX.ORG.RU

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

Speech to text

Форум — General

Кто имеет опыт работы с новыми средствами для распознавания речи? Что порекомендуете на десктопную машину без CUDA/OpenCL? Свободное или бесплатное. Английский, русский, французский, украинский, испанский. Скорость распознавания хотя бы 1:1.

P.S. Превращать в текст звуковые файлы.

Ответ: Vosk вполне устраивает.

 

question4
()

Программы, которые не тормозят

Форум — Desktop

С каждым годом программы тормозят все больше, от базовых утилит, до операционных систем и bios.

Предлагаю составить список программ, которые работают быстро, или терпимо.

Но для начала я напишу то чего стоит избегать

  • qt5, qt6, gtk3, gtk4 они тормозят, открываются с задержкой, есть ощутимый лаг при взаимодействии
  • electron
  • wxWidgets если в качестве бекенда используется gtk3 или qt5
  • старые версии программ, например xfce до перехода на gtk3, или xpdf до перехода на qt5. они не тормозили, но они уже не развиваются, интереснее узнать что есть из живого, или хотя бы такого что будет легко установить без перекомпиляции

Программы которые работают терпимо

  • xfe файловый менеджер (не путать с xfce http://roland65.free.fr/xfe/ )
  • (x)nedit простой текстовый редактор c номерами строк и подсветкой
  • grafx2 рисовалка, ориентирована на pixelart
  • mpv просмотр видео
  • palemoon браузер. с отключенным javascript, ощущается приятно, открывает больше чем какой нибудь netsurf
  • OpenOffice офис. тормозит но тормозит намного быстрее чем LibreOffice
  • xdm дисплейный менеджер
  • jwm, icewm оконные менеджеры похожие на windows, быстрые и не требующие сложной настройки
  • cmus аудиоплеер с двухпанельностью. консольный что минус, но быстро работает с библиотекой, сканирует, поддерживает cp1251
  • mutt+msmtprc консольный почтовик, относительно легко настроить и управлять

Пользователь d советует рассмотреть проекты

  • suckless
  • pwmt

Пользователь xsaeta рекомендует

  • zzzfm двухпанельный файловый менеджер
  • nsxiv просмотрщик изображений
  • mpd для музыки
  • ClawsMail почтовик
  • приложения Trinity
  • приложения LXDE
  • Pidgin — мультипротокольный IM-клиент на GTK+2

Пользователь tiinn подсказывает XPaint программу для рисования

Пользователь posixbit рекомендует

  • SpaceFM (очень быстрый и мощный файловый менеджер GTK+ 2 с большим количеством плагинов).
  • Double Commamder (версия GTK+ 2; быстрый двухпанельный файловый менеджер, почти полная копия Total Commander).
  • Sylpheed (классический и самый быстрый почтовый клиент; GTK +2).
  • LillyTerm (терминал с настройкой через графический интерфейс на GTK+ 2), st (самый простой терминал; не использует Qt и GTK), Kitty (простой терминал, но с GPU-ускорением) {{MOPKOBKA: Kitty у меня тормозит}}.
  • Rainbow-CM, Parcelite (менеджеры буфера обмена на GTK+ 2).
  • Zathura-PDF-MUPDF (самая быстрая читалка PDF — именно эта версия с MuPDF, а не Poopler).
  • LXTask (диспетчер задач; можно собрать с GTK+ 2).
  • Cinelerra GG (самый быстрый, но довольно функциональный видеоредактор под Linux; не использует Qt и GTK).
  • GMPC (музыкальный плеер — быстрый и мощный графический клиент GTK+ 2 к mpd).
  • TransGUI (самый быстрый и лёгкий торрент-клиент; использует GTK+ 2, требует для работы установленный и запущенный transmission-daemon).
  • CudaText-GTK2 (довольно быстрый и развивающийся текстовый редактор, вдохновлённый SublimeText). {{MOPKOBKA: У меня тормозит}}
  • LiteXL (довольно быстрый текстовый редактор на Lua; не использует Qt и GTK). {{MOPKOBKA: на SDL2 думаю будет тормозить, не пробовал}}
  • Abiword (лёгкий и функциональный текстовый процессор) и Gnumeric (самый быстрый и функциональный табличный процессор под Linux; великолепная совместимость с xls/xlsx) — обе эти программы можно собрать с GTK+ 2. {{MOPKOBKA: У меня тормозит}}
  • Dia (лёгкий редактор диаграмм, схем и графиков; на GTK+ 2).
  • FreeOffice (самый быстрый офисный пакет под Linux, имеет хорошую совместимость с файлами Microsoft Office; использует Xlib, а не Qt или GTK).
  • ImageMagick-GUI (различные быстрые операции над изображениями; не использует Qt и GTK).
  • AzPainter (быстрый, но мощный графический редактор на Xlib).
  • Oculante (быстрый просмотрщик изображений; не использует Qt и GTK). {{MOPKOBKA: Rust}}
  • maim (простая, но гибкая утилита для создания скриншотов с настройкой через консольные команды; не использует GTK и Qt); {{MOPKOBKA: Не пробовал, но мне нравится scrot}}
  • Dunst (простейший центр уведомлений; не использует Qt и GTK).
  • FTP/SFTP-менеджер gFTP (GTK+ 2)
  • IRC-клиенты HexChat (GTK+ 2) и XChat-SE (Xlib) {{MOPKOBKA: HexChat все }}

Пользователь firkax советует свой WM https://dev.m1089.ru/fwmx

Коллективный анон советует

  • moc(p) - TUI
  • mpg123/ogg123 - CLI
  • xcalc - калькулятор {{MOPKOBKA: Входит в набор X11 Applications, там все хорошо работает, но не все актуально}}
  • https://codeberg.org/newsraft/newsraft - rss читалка

Пользователь vbcnthfkmnth123 рекомендует

Пользователь stabilitron рекомедует

  • ffplay - игрок видео, аудио, стримов, гифок, картинок и пр. {{MOPKOBKA: Программка проекта ffmpeg}}

Пользователь SPRATAY исползует

  • Bluetui - TUI for managing bluetooth on Linux
  • Lazygit - simple terminal UI for git commands

У пользователя dhubsith на скриншоте в LQ обнаружил

  • Avidemux - Редактор видеофайлов

Якобы не тормозят, но у меня тормозят еще как

  • gpu ускоренные терминалы
  • xterm, rxvt, vte терминалы
  • AbiWord замена ворда
  • SublimeText текстовый редактор
  • vim, emacs в любом виде

 , ,

MOPKOBKA
()

Бесплатный хостинг / Бесплатный домен :)

Форум — Talks

Кто какими пользуется, какие бывают. Поисковики выдают хренову тучу вариантов. Все их проверять удел сильных духом. Чтобы локация была в РФ, если дают ssh то клёво. Дохлость ресурсов, аптайм в целом по барабану. Кое-как работает и ладно. Интересно узнать как и о просто хостингах куда можно залить статику хоть по FTP и всё без всяких CMS (или если цмски как опция) так и VPS,VDS. Я выпал из всего этого, просто интересно было-бы узнать что сейчас ну стабильное что ли, пусть и скромное.

Ну и чтобы без всяких приколов типа, превышен некий лимит и тебе выставляют счёт. Не скажу что сильно надо, но на перспективу узнать хорошо бы. Если не знаете «хорошие» места, но знаете плохие места, то тоже будет полезно узнать. И не только мне. Гы ::)

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

 , , , ,

LINUX-ORG-RU
()

Ищу ПМ-софт для реальной жизни

Форум — Talks

Сабж. Я понимаю что project management и реальность связаны только в фантазии ПМа, но мало ли.

От софта нужно два основных режима: план времени/ресурсов и их трекинг.

В плане помимо прочего нужны:

  • прямые зависимости (без А нет Б и поставить его в план нельзя)
  • обратные зависимости (если Б сильно позже А - будет веселый мерж на пару дней)
  • процент времени на задаче (тестировщик чихнул, разработка переделывает, хотя уже начата другая задача)
  • оценка в днях (без минут как в жире)
  • коэффициент «реальности» и планирование ресурсов (один хрен никто не даст 100% времени работать)
  • гантт для тех кто не умеет читать
  • автоплан был бы збс

В трекинге нужно по сути иметь ответ на два вопроса - когда будет и почему опять поздно.

  • Нужно иметь возможность добавлять вечно приходящий со стороны пиндец (задачи) и на основе этого сдвигать проектные тайминги
  • соответственно нужен «break out», когда задача встаёт чтоб разработка переключилась тушить новый пожар
  • нужна сверка план-реальность и проекция плана, соответственно
  • Трек реального времени на задаче не нужен - его один хрен никто не заполняет, только примерно (30% дня, например).
  • Очень нужна графа «просрано на невероятно полезные митинги», чтоб не выглядело что 25% времени разработка репу чешет.

Основная проблема с первым пунктом. По плану все збс но вечно приходят задачи типа «мне срочно тебе легко», и нужно чётко показывать чем это «легко» грозит (мне не жалко, время оплачено, но потом не надо удивляться что тайминги поплыли)

Смотрел жиру и её плагины типа bigpicture, везде очуменный оверхед, я по факту код вообще писать перестану чтоб это всё настроить и поддерживать. В итоге пока нафигачил на гуглотаблице, но там понятно, как на бумажке рисовать. Да и на 10 человек я потяну, а дальше жопа.

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

Падскажите короче, шпасибо

 , , ,

upcFrost
()

Почему ThinkPad не стал моим основным рабочим устройством

Форум — Linux-hardware

Как-то (божественный) утубчик решил показать мне один маленький видосик про ThinkPad, типа «любимый ноут бывалого админа» ну и всё такое.

Ладно, смотрим. Про синкпады мне пояснял и один многоуважаемый айтишник, который вообще большой спец, и всё за что берется доводит до абсолюта, а вот у него любимый ноут – синкпад.

Ладно, глянул видосик. Да что там один, наверное штук 5 посмотрел, так утубчик стригерился выдавать мне рекомендации по теме. Там синкпад и в космос летает, и не ломается и вообще такая вундервафля, что даже айпятый в нем работает как айсидьмой, реально.

На следующий день в парке, где я наматывал шаги, на скамейке сидел какой-то хикан с синкпадом. «Айтишник» – подумал Штирлиц. Ну думаю, везде этот чудо девайс меня преследует.

Начал изучать предложение. Выяснил, что новые они сейчас сплошь с распаяной памятью и стоят конских денег, и так методом перебора и исключения дошел до L14 gen 2.

На i5 1145G7, у меня такой камушек в элитбуке, который меня всем прям радует, думаю, синкпад вообще, наверное, бомба.

Ладно. Нашел состояние нового у перекупа, с коробкой, даже бъется как будто бы на гарантии глобальной.

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

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

Всё это в сумме не даёт асчушчэния чего-то топового.

В итоге сегодня весь день разбирался как отключить AMT и прочие приблуды Intel ME. Пока ниасилил. Проблема с кулером, который всё время активен, напомнила HP, потому как там было тоже-самое пока я не вырубил IME. После отключения волосы у меня сразу стали мягкими и шелковистыми.

В HP Elitbook это делается в биосе флажком disable, в слуаае с синкпадами весь интернет завален мануалами про то, как это половчей сделать через прошивку UEFI/BIOS и у кого дешевле программатор.

Короче, вот что меня затянуло, это то, что нарисовался такой квест, типа раскурить и сделать самому. В общем, вызов принят, но хайпа вокруг этих поделок ИМХО больше чем оно того заслуживает.

Цена моего элитбука и этого синкпада одинаковые до копейки, но вот хулит как-то лучше продуман и делать там реально нечего, всё уже сделали, а с синкпадом получаешь еще и квест.

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

 ,

unclestephen
()

Где взять заграничный VPS с оплатой российскими картами?

Форум — Talks

Собственно сабж. VPS нужен за пределами России. Хочу поднять себе VPN.

Например вижу предложение от RU VDS в Казахстане. Но не знаю что там с местной цензурой. А то из огня да в полымя.

Вопрос в догонку: какой протокол VPN выбрать и какое железо нужно, чтобы 50 мбит/с тянуло?

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

 ,

ox55ff
()

мобильное приложение для zabbix

Форум — Mobile

Коллеги, подскажите аналог tabbix для удобного просмотра графиков и алертов на android?

Zabbix 6+

 , tabbix,

pinachet
()

Замедление YouTube в РФ и yt-dlp

Форум — Talks

Как многие, вероятно, слышали, с недавних пор работа youtube в России замедлилась. СМИ в основном говорят, что это проблемы оборудования самого гугла, другие связывают со всё приблиющейся блокировкой. Небезызвестный @ValdikSS рассказал (не тут, на другом форуме), что почти все провайдеры замедляют ютьюб по домену *.googlevideo.com. При этом фильтр пока не применяется к IP-адресам Google, в том числе к IP-адресам кеширующих серверов Google Global Cache. «Это либо техническая ошибка, либо особенность, которую не учли, […] Технических проблем в работе оборудования, конечно же, никаких нет».

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

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

Но вот скачивание с помощью yt-dlp, как оказалось, тормозит нещадно. Скорость пляшет между 40 и 200 KiB/s, что ни в какие ворота, особенно для многогигабайтных видео.

Посему первый банальный вопрос: У всех так же? Или может кого тормоза миновали, или наоборот и на сайте тоже тормозит?

Думал, что проблему можно обойти, если качать не с самого youtube.com, а с piped.video. Но оказалось, что с него тормоза ровно такие же. Так что второй вопрос: Почему так? Разве через piped.video не проксируется всё, и тормоза в РФ не должны быть побоку? Или сам piped.video тоже в РФ, и он теперь вообще у всех тормозит? или?.. В общем, у кого есть понимание на этот счёт?

Для себя пока проблему решил с помощью очевидного --proxy "socks5://127.0.0.1:5222". Но у меня VPN медленный, сам по себе реальную скорость скачивания с ютуба выдаёт в 5–10 MiB/s, а хотелось бы как раньше, побыстрее. Понятно, что проблема решается покупкой другого VPN, рассчитанного именно на хорошую скорость скачивания, а не самого дешёвого VPS, который я, собственно, и юзаю, ибо для просмотра сайтиков в обход блокировки (и пары других нужд, к теме не относящихся) его хватает за глаза. Но может кто-то решил эту проблему как-то иначе? Есть какие-то лайфхаки, сайты, проксирующие видео с ютуба по типу piped.video, только быстрые, или ещё что-то?

N.B.: Если вы живёте не в РФ, и поэтому у вас всё зашибись, я очень рад за вас, сообщать об этом в этой теме в очередной раз не обязательно. Как и о том, что «ютуб не нужен» — об этом тоже все курсе, но всё же иногда там бывают полезные, интересные или нужные видео, начиная от лекций, заканчивая музыкальными клипами.

Перемещено maxcom из linux-org-ru

 , ,

CrX
()

YT-DLP, очевидное-невероятное

Статьи — Desktop

В последнее время ютуб затеял какую-то реорганизацию и стал убирать из некоторых своих видео формат 22 (720p, единый файл, не dash). Может я наговариваю, конечно, на ютуб, но формат best (720p) всегда был, имхо.


Оказывается есть возможность получать другую таблицу форматов, отличную от дефолтной. У yt-dlp есть параметр --extractor-arg "youtube:player_client=mediaconnect" ([youtube] Format 22 is only sometimes extracted for some videos #10206).
Дефолтная таблица форматов:

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' 
Extracting cookies from firefox
Extracted 1328 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading ios player API JSON
[youtube] eUyr9MJnj4w: Downloading player 5b22937f
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │   FILESIZE   TBR PROTO │ VCODEC          VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                  mhtml │ images                                  storyboard
sb2 mhtml 80x45        1    │                  mhtml │ images                                  storyboard
sb1 mhtml 160x90       1    │                  mhtml │ images                                  storyboard
sb0 mhtml 320x180      1    │                  mhtml │ images                                  storyboard
233 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
234 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
139 m4a   audio only      2 │    1.32MiB   49k https │ audio only          mp4a.40.5   49k 22k low, m4a_dash
249 webm  audio only      2 │    1.30MiB   48k https │ audio only          opus        48k 48k low, webm_dash
250 webm  audio only      2 │    1.70MiB   63k https │ audio only          opus        63k 48k low, webm_dash
140 m4a   audio only      2 │    3.51MiB  129k https │ audio only          mp4a.40.2  129k 44k medium, m4a_dash
251 webm  audio only      2 │    3.51MiB  130k https │ audio only          opus       130k 48k medium, webm_dash
602 mp4   256x144     15    │ ~  2.33MiB   86k m3u8  │ vp09.00.10.08   86k video only
394 mp4   256x144     30    │    1.68MiB   62k https │ av01.0.00M.08   62k video only          144p, mp4_dash
269 mp4   256x144     30    │ ~  4.16MiB  154k m3u8  │ avc1.4D400C    154k video only
160 mp4   256x144     30    │    1.55MiB   57k https │ avc1.4D400C     57k video only          144p, mp4_dash
603 mp4   256x144     30    │ ~  4.18MiB  154k m3u8  │ vp09.00.11.08  154k video only
278 webm  256x144     30    │    2.35MiB   87k https │ vp9             87k video only          144p, webm_dash
395 mp4   426x240     30    │    2.70MiB  100k https │ av01.0.00M.08  100k video only          240p, mp4_dash
229 mp4   426x240     30    │ ~  5.70MiB  211k m3u8  │ avc1.4D4015    211k video only
133 mp4   426x240     30    │    2.35MiB   87k https │ avc1.4D4015     87k video only          240p, mp4_dash
604 mp4   426x240     30    │ ~  7.76MiB  287k m3u8  │ vp09.00.20.08  287k video only
242 webm  426x240     30    │    3.59MiB  133k https │ vp9            133k video only          240p, webm_dash
396 mp4   640x360     30    │    5.02MiB  186k https │ av01.0.01M.08  186k video only          360p, mp4_dash
230 mp4   640x360     30    │ ~ 11.41MiB  421k m3u8  │ avc1.4D401E    421k video only
134 mp4   640x360     30    │    4.13MiB  153k https │ avc1.4D401E    153k video only          360p, mp4_dash
18  mp4   640x360     30  2 │ ≈  7.64MiB  282k https │ avc1.42001E         mp4a.40.2       44k 360p
605 mp4   640x360     30    │ ~ 15.03MiB  555k m3u8  │ vp09.00.21.08  555k video only
243 webm  640x360     30    │    6.06MiB  224k https │ vp9            224k video only          360p, webm_dash
397 mp4   854x480     30    │    8.40MiB  310k https │ av01.0.04M.08  310k video only          480p, mp4_dash
231 mp4   854x480     30    │ ~ 15.17MiB  561k m3u8  │ avc1.4D401F    561k video only
135 mp4   854x480     30    │    6.09MiB  225k https │ avc1.4D401F    225k video only          480p, mp4_dash
606 mp4   854x480     30    │ ~ 20.80MiB  769k m3u8  │ vp09.00.30.08  769k video only
244 webm  854x480     30    │    8.50MiB  314k https │ vp9            314k video only          480p, webm_dash
398 mp4   1280x720    30    │   14.51MiB  536k https │ av01.0.05M.08  536k video only          720p, mp4_dash
232 mp4   1280x720    30    │ ~ 24.57MiB  908k m3u8  │ avc1.4D401F    908k video only
136 mp4   1280x720    30    │   11.09MiB  410k https │ avc1.4D401F    410k video only          720p, mp4_dash
609 mp4   1280x720    30    │ ~ 31.59MiB 1167k m3u8  │ vp09.00.31.08 1167k video only
247 webm  1280x720    30    │   13.61MiB  503k https │ vp9            503k video only          720p, webm_dash
399 mp4   1920x1080   30    │   24.33MiB  899k https │ av01.0.08M.08  899k video only          1080p, mp4_dash
270 mp4   1920x1080   30    │ ~ 73.64MiB 2721k m3u8  │ avc1.640028   2721k video only
137 mp4   1920x1080   30    │   39.45MiB 1458k https │ avc1.640028   1458k video only          1080p, mp4_dash
614 mp4   1920x1080   30    │ ~ 53.22MiB 1967k m3u8  │ vp09.00.40.08 1967k video only
248 webm  1920x1080   30    │   26.78MiB  990k https │ vp9            990k video only          1080p, webm_dash
616 mp4   1920x1080   30    │ ~131.47MiB 4858k m3u8  │ vp09.00.40.08 4858k video only          Premium
400 mp4   2048x1152   30    │   60.94MiB 2252k https │ av01.0.08M.08 2252k video only          1080p, mp4_dash
620 mp4   2048x1152   30    │ ~151.23MiB 5589k m3u8  │ vp09.00.50.08 5589k video only
271 webm  2048x1152   30    │   82.90MiB 3063k https │ vp9           3063k video only          1080p, webm_dash

Новая таблица форматов с единым файлом/потоком для 720p (и 1080p):

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect"
Extracting cookies from firefox
Extracted 1329 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading mediaconnect player API JSON
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │  FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                 mhtml │ images                                storyboard
sb2 mhtml 80x45        1    │                 mhtml │ images                                storyboard
sb1 mhtml 160x90       1    │                 mhtml │ images                                storyboard
sb0 mhtml 320x180      1    │                 mhtml │ images                                storyboard
140 m4a   audio only      2 │   3.51MiB  129k https │ audio only        mp4a.40.2  129k 44k medium, m4a_dash
160 mp4   256x144     30    │   1.55MiB   57k https │ avc1.4d400c   57k video only          144p, mp4_dash
91  mp4   256x144     30    │ ~ 4.16MiB  154k m3u8  │ avc1.4d400c       mp4a.40.5
133 mp4   426x240     30    │   2.35MiB   87k https │ avc1.4d4015   87k video only          240p, mp4_dash
92  mp4   426x240     30    │ ~ 5.70MiB  211k m3u8  │ avc1.4d4015       mp4a.40.5
134 mp4   640x360     30    │   4.13MiB  153k https │ avc1.4d401e  153k video only          360p, mp4_dash
93  mp4   640x360     30    │ ~11.41MiB  421k m3u8  │ avc1.4d401e       mp4a.40.2
18  mp4   640x360     30  2 │ ≈ 7.64MiB  282k https │ avc1.42001E       mp4a.40.2       44k 360p
135 mp4   854x480     30    │   6.09MiB  225k https │ avc1.4d401f  225k video only          480p, mp4_dash
94  mp4   854x480     30    │ ~15.17MiB  561k m3u8  │ avc1.4d401f       mp4a.40.2
136 mp4   1280x720    30    │  11.09MiB  410k https │ avc1.4d401f  410k video only          720p, mp4_dash
95  mp4   1280x720    30    │ ~24.57MiB  908k m3u8  │ avc1.4d401f       mp4a.40.2
137 mp4   1920x1080   30    │  39.45MiB 1458k https │ avc1.640028 1458k video only          1080p, mp4_dash
96  mp4   1920x1080   30    │ ~73.64MiB 2721k m3u8  │ avc1.640028       mp4a.40.2

Как скачивать 720p (формат единым файлом/потоком):

$ yt-dlp -f 95 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect" 

Как воспроизводить 720p (формат единым файлом/потоком):

$ mpv --ytdl-format=95 'https://youtu.be/eUyr9MJnj4w' --ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" 


Кроме того:

  • Для mpv можно создать профиль [youtube] в mpv.conf, где прописать условие срабатывания на ютубных ссылках, типа profile-cond=path:match('youtu%.?be') ~= nil или profile-cond=path:find('youtu%.?be') (1).
    И добавив в профиль параметр ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" и ytdl-format=95/best.
  • Для yt-dlp, чтобы при наборе команды в терминале мучительно долго не вспоминать указанную в начале заметки длиннющую опцию, можно создать алиас. В конфиге yt-dlp прописываем, как пример, --alias 95f '-f 95 --extractor-arg="youtube:player_client=mediaconnect"'. Теперь, чтобы скачать, пишем yt-dlp --95f 'https://youtu.be/eUyr9MJnj4w'.


Для чего все это надо?

  • минус издержки на склеивание dash-потоков видео и аудио средствами ffmpeg;
  • возможность отправлять ссылку на стандартный вывод (stdout) какого-либо плеера, например vlc;
  • плюс, оказывается, и для 1080p существует подобный формат единого файла.
  • лучшая отзывчивость при перемотке во внешнем плеере (возможно верно для всех hls и не зависит от таблицы форматов)

 ,

krasnh
()

Новорегам

Форум — Linux-org-ru

Здравствуй дорогой юный или не очень друг или подруга.
Сегодня я расскажу вам историю о том как не получить подзатыльника на сайте linux.org.ru за свой возможно первый, а может быть и нет вопрос.

Давайте рассмотрим типичный пример.Вы (не вы) установили (пытались установить) тот или иной дистрибутив linux (не linux) на свой (или не свой) персональный(или не очень) компьютер.

Но вот беда! Вы столкнулись с проблемой и понятия не имеете как её решать. Интернеты или кто-то ещё привели вас на linux.org.ru.

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

Вот тут мы остановимся, не надо писать куда попало, потратьте минутку и прочтите описание веток форума linux.org.ru/forum/. Но ошибка в выборе разделе это не страшно, модераторы могут перенести вопрос в нужный раздел, в случае когда видно что вы вообще не обращали внимания куда пишете, например вопрос по запуску игры в разделе Linux-install вместо Games вы можете «получить по шапке».

АХТУНГ, ВНИМАНИЕ!

-Если ваша проблема заключается в порче данных, утере данных,случайно удалённых данных, всем что связано с вашими личными файлами на вашем ПК, выключите его, сейчас же! И обратитесь на форум за советом что делать с другого устройства, например телефона.
-Любая ваша активность за ПК с вашим накопителем снижает вероятность восстановления данных. Даже перезагрузка этой страницы в браузере. 

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

+Всем привет!, установил линукс, не работает интернет, как настроить?

В ответ можно будет прочитать очень многое, но мало что будет относится к вашей проблеме. Юмор, вопросы к вам о вас, саркастические словечки и прочие весёлые сообщения, половину смысла которых поймут только завсегдатые этого ресурса, например заявления про устаревший libastral, советы что-то сделать через libastral. Ваша реакция на происходящее, как и финал подобной ситуации уже известны. Сколько их было, а сколько ещё будет. Типичная реакция задающего подобный вопрос на подстрекательства отвечающих это:

- Вы можете просто мне помочь, а не умничать?
- Я не хочу в этом разбираться, просто скажите мне как сделать то что я хочу.
- Я ничего не понял распишите мне пошагово всё.
- Всё ясно вместо того чтобы просто помочь только балаболить можете.
- Типичное СНГ сообщество, токсики и дегенераты
- Не тратьте моё время я хочу решение, а не разбираться

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

А вот теперь давайте встанем на место активных участников форума на помощь которых вы рассчитываете.

  • 1 В мире множество дистрибутивов linux и у каждого из них свои особенности, если не указать его название в своём вопросе, то и говорить не о чем. Если у вас сомнения по поводу названия укажите ссылку откуда вы скачали дистрибутив если вы его ещё не смогли установить, в случае если дистрибутив установлен выполните команду uname -aв выводе этой команды будет содержаться необходимый минимум информации, пример:
dron@gnu:~$ uname -a
Linux gnu 5.19.0-1-amd64 #1 SMP PREEMPT_DYNAMIC Debian 5.19.6-1 (2022-09-01) x86_64 GNU/Linux
dron@gnu:~$ 

Для уточнения можно ещё приложить вывод lsb_release -a

dron@gnu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux bookworm/sid
Release:	testing
Codename:	bookworm
dron@gnu:~$ 
  • 2 Не указана версия дистрибутива, да, они имеют версии и например Ubuntu более 30 разных выпусков за её историю развития, конечно можно предположить что у вас одна из последних версий, но даже между двумя стабильными выпусками аж 5 разных дистрибутивов. Так что даже указав название дистрибутива нужно будет много гадать и перебирать варианты. Эта информация также содержится в выводе uname -a

  • 3 Вы не указали на то какие у вас характеристики ПК. Да вы можете столкнуться с ситуацией когда вам характеристики неизвестны, по причине ещё не работоспособного устройства или вам неизвестно как получить информацию о вашем железе на новой для вас операционной системе. В любом случае вы можете чаще всего назвать например модель ноутбука. Если же у вас ПК и вы не знаете какое железо внутри, но вы уверены что железо имеет отношение к вопросу, как минимум названия процессора, количество оперативной памяти, названия накопителей видны в BIOS.

В случае если вы находитесь в рабочем дистрибутиве вы можете получить информацию о

  • lscpu Центральном процессоре
  • lsmem Оперативной памяти
  • lsusb USB устройствах
  • lspci PCI устройствах
  • lsmod Загруженных модулях ядра для вашего оборудования
  • lsblk Размере и разметке ваших накопителей

Отвечающие могут попросить показать вывод других программ, в зависимости от ситуации. Чаще всего нужна лишь часть информации, подумайте логически что из этого указывать в своём вопросе, в случае если программа выводит очень много текста логично скопировать вывод на pastebin или подобный сервис например https://www.klgrth.io

В дополнение и я бы даже сказал как перекрытие пункта 3 есть вариант предложенный товарищем @krasnh, а именно один раз выгрузить достаточно большую обезличенную информацию о системе и ссылаться на неё в своём вопросе, это делает утилита hw-probe которая к сожалению не установлена по умолчанию. Если ваша проблема не связана с установками пакетов, поломанными зависимостями то вы можете установить утилиту hw-probe через специфичный вашему менеджер пакетов, скачать в виде самодостаточной программы формата Appimage по этой ссылке далее выполнить команду ниже и приложить к своему вопросу ссылку выданную терминалом

В случае AppImage

#скачиваете по вышеприведённой ссылке Appimage файл
#делаете файл исполняемым
dron@gnu:~/Загрузки$ chmod +x ./hw-probe*.AppImage
#запускаете
dron@gnu:~/Загрузки$ sudo -E ./hw-probe-*.AppImage --all -upload
[sudo] пароль для dron: 
Probe for hardware ... Ok
Reading logs ... Ok
Uploaded to DB, Thank you!

Probe URL: https://linux-hardware.org/?probe=ba05383ec5

Если установка утилиты произведена в систему через пакетный менеджер.

dron@gnu:~$ sudo -E hw-probe -all -upload

 Probe for hardware ... Ok
 Reading logs ... Ok
 Uploaded to DB, Thank you!
 Probe URL: https://linux-hardware.org/?probe=68dbf33470

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

  • 4 Вы не указали как вы пытались решить проблему, искали ли вы ответы в интернете, воспользовались ли поиском на этом сайте https://www.linux.org.ru/search.jsp , то есть прилагали ли вы хоть какие то самостоятельные усилия. Возможно вы что-то пытались делать, но умолчали он этом. Также очень вероятно что вы в процессе экспериментов что-то сломали сами, указывайте все ваши действия, даже если вам кажется они не относятся к вашему вопросу, в рамках разумного конечно. Если ваш вопрос касается написания кода или скрипта то приложите ваш код или отрывок из него, опять же чтобы показать что вам не просто лень, а действительно нужен совет, а так же чтобы отвечающий видел по коду где у вас ошибка, что вы делаете не так или/и что вы понимаете не так.

  • 5 Заголовок сообщения, там не надо КАПСИТЬ!!1, от этого вам быстрее не помогут, а лишь будут вас тролить и высмеивать и виноваты в этом будете исключительно вы. Напишите спокойно например «Ошибка при установке Ubuntu» или «cron не исполняет задачи». Просто краткая суть вашей проблемы и всё.

  • Не указана информация о вашей графической оболочке, графическом сервере и/или наборе ПО с оконным менеджером. Вероятно вы понятия не имеете что это всё такое. Тем не менее если ваш вопрос по поводу работы какого-то графического приложения то нужно указать в каком окружении оно работает.

Вы можете используя команды:

  • echo $XDG_SESSION_TYPE узнать Xorg у вас или Wayland

  • echo $XDG_CURRENT_DESKTOPузнать какое у вас рабочее окружение

  • echo $XDG_SESSION_DESKTOP узнать какой у вас менеджер сессий

  • Вы не указали версию программы с которой у вас проблемы или вопросы по использованию, программы постоянно развиваются, меняются и что-бы дать однозначный ответ или хотя бы попытаться это сделать нужно знать о версии программы, в графическом интерфейсе программы найдите в меню опцию «about»,«о программе» часто такое есть, если нет то можно узнать из терминала введя имя программы --help вы увидите ключи часто есть ключ --version и например узнать о версии нужно ввести имя_программы --version.

Например:

dron@gnu:~$ firefox --version
Mozilla Firefox 102.2.0esr
dron@gnu:~$ 

Если у вас изначально возникают трудности с выявлением версии программы, задайте дополнительный вопрос о том как её узнать у конкретной программы.

И это ещё не всё, ещё важный аспект это форматирование вывод программ,ваш код, логи которые попросили вас выложить, всё это нужно оформить, всё познаётся в сравнении, к примеру меня попросили выложить вывод lsblk

Вот как он выглядит без форматирования

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 1,4T 0 disk ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 1,4T 0 part /home sdb 8:16 0 74,5G 0 disk ├─sdb1 8:17 0 3,7G 0 part └─sdb2 8:18 0 70,8G 0 part / sdc 8:32 0 74,5G 0 disk └─sdc1 8:33 0 74,5G 0 part /mnt/STORAGE sdd 8:48 1 0B 0 disk sr0 11:0 1 1024M 0 rom

А вот как с форматированием

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0  1,4T  0 disk 
├─sda2   8:2    0    1K  0 part 
└─sda5   8:5    0  1,4T  0 part /home
sdb      8:16   0 74,5G  0 disk 
├─sdb1   8:17   0  3,7G  0 part 
└─sdb2   8:18   0 70,8G  0 part /
sdc      8:32   0 74,5G  0 disk 
└─sdc1   8:33   0 74,5G  0 part /mnt/STORAGE
sdd      8:48   1    0B  0 disk 
sr0     11:0    1 1024M  0 rom  

Думаю разница очевидна, читать не отформатированный код и следовательно помогать никто не будет. А навести красоту легко. Три апострофа «```» на букву ё при английской раскладке, перевод на новую строку, ваш текст, перевод на новую строку и ещё раз три апострофа «```» Всё!

Если всё ещё непонятно умоляю прочтите >>> Как правильно копировать вывод терминала <<< потому что пользователь @Vsevolod-linuxoid уже устал, он очень добрый был, но вы его почти сломали, пусть он останется добрым, пожалуйста, пожалейте его и нас, форматируйте сообщения!

Маленькая ремарочка, обращение на «Ты» это нормально, тебе тут не тыкают, а не не выкают. В большинстве своём общение тут неформальное, лишние эпитеты бывают лишними, а обращение на «Вы» может даже посчитаться грубостью. Так что начать общение с вопросом к всему форуму лучше на «вы», а если в обсуждении вам вдруг сказали «ты» это не значит что вас не уважают, чаще всего это значит что общение неформальное, по свойски и к вам предрасположены. Говорят тут прямо и в лицо. Почему я тут постоянно выкаю? Потому что лень писать сделал/ла, сумел/ла и подобное, обращение к образному новорегу, а не тебе как личности. Нормально не значит обязательно, как хочется так и обращайтесь к другим, но если на обращение «вы» ответ «ты» оскорбляться не стоит.

И напоследок, вам тут никто ничего не должен, внезапно, да да! :D

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


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

 , , новенький, , новорег

LINUX-ORG-RU
()

sury обиделся на Россию =(

Форум — Admin

Есть варик как, не устанавливая VPN, установить php8.3 в debian 12…? Ошибка 451 - блокировка по юридическим причинам

 , ,

Shprot
()

Как вы выбираете смартфон?

Форум — Talks

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

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

Это же десятилетие (условное) создало сложности выбора в связи с постепенной утерей уникальности самих изделий. Что по внешнему виду, что по программному дизайну, что по эргономике. Касаемо внешнего вида, один производитель, разве что, может похвастаться уму непостижимым числу и расположению камер, в том числе передней. Программный дизайн: ну, кроме Андроид, выбора не будет, за исключением фирменной графической оболочки, которая представляет из себя исправления кривизны родной оболочки от самого Гугла и по-немножку остального: свои анимации, дизайн значков, главного экрана и отображение текста (при условии, что основное время пользования устройством в любом случае занимают непосредственно приложения). Эргономика давно перестала быть практикой после успешного заражения идеей сделать аппараты мобильным кинотеатром с диагональю под 7 дюймов.

Держа в расчёте всё вышеописанное я хочу спросить вас (заодно и я за себя отвечу), предположительно пользователей смартфона:

  1. Неужели всё так плохо по компатникам? Или я не там смотрю?

Я нынче приглядываюсь к компактам. Увы, нынче это не меньше 6.3 дюйма, и ассортимент ну очень скудный. В самом конце я приведу свою подборку.

  1. Важны ли для вас преимущества производителя, такие как облачные сервисы, приложения?

Вопрос в основном русским пользователям. Я надеюсь, не нужно объяснять, что нам нынче ограничивают или закрывают некоторые возможности, даже присутствующие в самой ОС. И, наверное, невозможно подобрать аппарат, который в программной составляющей полностью соответствовал бы версиям для других регионов (речь о глобал или даже ростест моделях). К сожалению, не знаком с этой ситуацией, но волнения возникают при том факте, что, к примеру, Гугл в своих Пикселях (в США, по кр. мере) дарит льготы при использовании их сервисов. Если здесь есть опытные, прошу прояснить, могут ли русские всё ещё пользоваться подобными льготами от производителя без бубнов с обходом блокировок.

В данный момент колеблюсь между Galaxy S24, Pixel 8 и Xperia 10 VI. Что пока собрал о каждом из них: S24 дорогой, НО бренд известный и всегда и везде доступный, и вероятность разочарования на фоне других брендов крайне мала; Pixel 8 называют плохими именами за склонность к перегреву (ибо проц Tensor), не впечатляющий срок заряда аккумулятора и, как говорилось, региональные ограничения в прошивке, по кр. мере по версии одного из ранних обзоров на аппарат, НО из плюсов это возможность получить новый опыт, тем более смартфон от самого Гугла; внешность Xperia 10 проживает где-то в 2010х (не так пугающе), странное соотношение сторон и страх перед надёжностью производителя, НО… чистый Андроид, проц Snapdragon… больше не знаю.

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

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

 ,

xt1zer
()

Вопросы по сну на ноутбуке Lenovo Xiaoxin 14 Pro

Форум — Linux-hardware

На Ali/Ozon сейчас продаются ноутбуки с Ryzen 7840HS по очень вкусной цене - Lenovo Xiaoxin (IdeaPad) 14 Pro. Естественно грех такое не купить, но затык в том, что здесь s2idle вместо s3, а онтоп, как известно, это дело не любит.

Вот и интересно, сон работает нормально, или придётся патчить ACPI и страдать прочим пердолингом? Одним оффтопиком не обойдёшься, привычка решает(

Вопрос, конечно, к тем, у кого он есть, был или ноут на схожей платформе.
P.S. в отзывах онтоп ставили, на s2idle никто не жаловался, но всё равно не ясно пока.

 , , , ,

whbex
()

Нужен недорогой VPS хостинг за бугром

Форум — General

Приветствую.

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

Спасибо.

 , ,

AngryHamster
()

Электронные голоса

Форум — Talks

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

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

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

Спасибо за внимание.

 ,

piyavking
()

Что думаете про дешевые новые HDD на авито?

Форум — Talks

Объявлений - тьма. По фоткам (фоток много и они не гуглятся как повторные) - новье. В упаковках. В т.ч. этих поролоново-пенопластовых кейсах.

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

Вроде бы, вариант не такой стремный как с ссд (лотерея, что внутри).

Но, что-то, я очкую. Хотя для планируемой покупки штук 8 больших дисков в 10-16тб каждый (рейд хранилища обновить), разница «магазин-авито» - огромная.

Где они их берут? Цены порой -50% от розницы.

 

dk__
()

Что почитать по машинному обучению?

Форум — Talks

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

В связи с этим вопрос: что почитать? Литературы по машинному обучению огромное количество, но с чего начать…

 

andalevor
()

Мои мысли про kubernetes

Форум — Talks

Решил написать заметку про kubernetes. Сам работаю с небольшим кластером, делаю всё один, а также в силу характера докапываюсь до всех мелочей, поэтому волей-неволей пришлось разбираться со многими вещами. Может кому полезно будет.

Ничего конкретного писать не буду, буду писать концептуально и про свой опыт. Конкретной информации в интернете хватает. Также многие моменты буду упрощать, просьба не цепляться к мелочам.

Кратко что это вообще такое

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

  1. Объединяет несколько разных компьютеров в один логический кластер.

  2. Позволяет создавать и запускать контейнеры. Сильно похоже на docker-compose, но k8s позволяет не указывать конкретный компьютер, на котором будет запущен контейнер, а сам его выбирает.

  3. Обеспечивает виртуальную сеть между всеми контейнерами в пределах кластера, обеспечивает т.н. service discovery, а также обеспечивает балансировку нагрузки междду сервисами внутри этой виртуальной сети. Т.е. я могу во-первых в своей программе по днс-имени postgres-1 узнат IP-адрес первого контейнера с постгресом, а во-вторых по днс-имени postgres-ro получить дважды виртуальный IP-адрес, при соединении на который моё соединение уйдёт на случайный инстанс постгреса.

  4. При надлежащей настройке делает это всё высокодоступным и масштабируемым. Т.е. при исчезновении по любым причинам любого сервера из вашего кластера, он продолжает оставаться работоспособным. А также запускает больше контейнеров при повышении нагрузки на сервис.

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

На самом деле современный k8s работает не поверх докера, а поверх легковесной абстракции CRI и её реализации обычно в виде containerd, но это частности

Кому это надо и какие альтернативы

В принципе это надо всем, кому не хватает одного сервера. Хотя не все понимают, что это им надо. В общем-то можно и полуручными способами обходиться довольно долго. Но нужно ли - вопрос открытый.

Альтернативы я знаю следующие:

Hashicorp Nomad. Штука похожая на k8s, но гораздо менее распространённая. По слухам настраивать гораздо проще. Сам не пробовал. Я человек мейнстрима и выбираю то, что выбирает большинство.

Docker Swarm. В принципе очень похоже на следующий шаг после docker compose. Если вам перестало хватать одного сервера, на котором всё было через docker compose, а времени/желания изучать полностью новую платформу у вас нет, наверное это логичный шаг. Его я сам тоже не пробовал.

Проприетарные облачные решения. У всех крупных вендоров они есть. К примеру AWS Fargate. Главный минус: ваше приложение будет прибито гвоздями к этому вендору. Съехать с него малой кровью не получится.

Ценность kubernetes вижу в следующем:

  1. Независимость от вендора. У каждого облака есть managed kubernetes. И хотя детали у них отличаются, но всё же сам kubernetes один и тот же. Переехать с одного облака на другое не намного сложней, чем переехать с Debian на RHEL.

  2. Опция селф-хоста. Если ни одно облако не нравится, всегда есть опция купить ящик с SuperMicro и поставить всё туда.

  3. Популярность. По большому счёту альтернативы на сегодня не взлетели. Специалистов по k8s найти проще, чем других. Документации в интернете очень много. Есть и компании, которые будут админить ваш кластер за вас.

Как это использовать

Основных способов два: либо своими силами поднимать кластер, либо использовать управляемое решение от облачного вендора.

Если своими силами поднимать кластер, надо понимать, что для кластера имеются следующие требования:

  1. Кластеру нужен балансировщик нагрузки. Это когда у вас есть публичный IP-адрес, и N адресов. И соединения, приходящие на этот публичный адрес будут равномерно распределяться на эти N адресов. Балансировщик нагрузки должен мониторить доступность клиентов и вовремя включать/выключать их.

  2. Кластеру нужно сетевое хранилище. Это когда вы можете какой-то сетевой диск подключить к любому (одному) компьютеру и потом в линуксе он должен появиться, как /dev/sdc.

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

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

Также можете тупо дать каждому серверу публичный адрес и все их вбить в DNS с коротким TTL. Не знаю, можно ли считать это балансировкой нагрузки, но с какими-то оговорками работать будет… Ну это так, из разряда дёшево и сердито.

Как сделать второй пункт самому, я не знаю. Есть ceph, есть ещё что-то, но это всё сложно. В принципе второй пункт не абсолютно критичен и если не запускать в кластере никакие сервисы, которым требуется что-то хранить, то без него можно обойтись. Также можно использовать локальный диск сервера, но надо понимать, что ваш контейнер с БД на другом сервере уже запустить не получится, данные магическим образом не переместятся. Ну и в целом использование локального диска в кубернетесе довольно геморное. Рекомендовать я его точно не буду. Есть какие-то решения, которые берут локальные диски всех серверов и автомагическим образом из них делают доступное сетевое хранилище, я такими не пользовался и в магию не верю.

Обе проблемы легко решаются, если вы своими силами поднимаете кластер, используя облачного провайдера, который предоставляет вам вышеописанные сервисы. Я именно так и делаю: мой провайдер использует OpenStack и Ceph и балансировщик нагрузки с сетевыми дисками у него доступен (под капотом балансировщик нагрузки это тупо две виртуалки с haproxy, но для меня это не важно).

Ещё с сетевыми дисками важно, чтобы был CSI-драйвер для них. Для OpenStack такой есть. Т.е. kubernetes должен этому драйверу отдавать команду «подключи мне диск pvc-7672ffed-9ddc-4df4-affd-a717a1c11c79 на сервер 10.160.3.160» а драйвер должен отвечать «смонтировано в /dev/sdg».

Для своего кластера есть следующие подходы:

  1. kubeadm. Это набор софта от разработчиков kubernetes, который устанавливает и обновляет компоненты кластера. Я использую этот подход. Под низом стоит обычный линукс. У меня это debian minimal. Проблем с ним я не испытывал. Вообще народ обычно убунту использует, меня от неё воротит. По идее можно и на центоси, есть и более экзотичные варианты вроде CoreOS, я не вижу смысла тут использовать что-то необычное.

  2. Talos Linux. Это офигенная штука: ядро линукса плюс необходимый набор софта плюс сам кубернетес. Это всё идёт как один ISO и грузится в память. Ему даже диск не нужен. И сразу работает. Короче это по сути kubernetes как ОС. Я слишком поздно про него узнал, вероятно я бы его предпочёл. Надо понимать, что штука относительно новая и экзотичная, но я от него в восторге. По крайней мере в концептуальном восторге, может на практике вылезут нюансы.

  3. kubespray это огромная куча ansible скриптов, которые обещают, что за тебя всё сделают и поставят. Сам не пробовал, меня такая концепция не устраивает. Если я и буду пользоваться кучей ansible скриптов, то только теми, которые пишу сам. Туда же дистрибутив от Flant. Есть, наверное, и менее популярные решения.

  4. Kubernetes the hard way. Это когда ты руками всё настраиваешь сам, ставишь каждый компонент и тд. В целом ничего сверхъестественного тут нет, весь kubernetes это несколько сервеных программ плюс кучка настроек для них вроде своего УЦ с сертификатами и прочим. Но это ненужное усложнение и оправдано только для изучения потрохов. Сам я его не делал и страданий от этого не испытываю. В общем что-то вроде Linux From Scratch.

Управляемые решения я сам не использовал. В целом они решают некоторые проблемы и добавляют свои. Самый главный плюс управляемого решения: хостер будет сам управлять серверами. К примеру при росте нагрузки хостер сам создаст дополнительные серверы, установит туда k8s и добавит их в кластер. При снижении нагрузки он эти серверы выведет из кластера и уничтожит. Это называется node autoscaling. В моём кластере такого нет. В принципе это можно и самому сварганить, если снизу инфраструктура с каким-то API, которая позволяет создавать и удалять серверы. Но это нетривиально и требует программирования.

В целом моё мнение на текущий момент: лучше использовать управляемый k8s от серьёзного облака. Он не так уж много сил экономит, как они это пытаются показать, но всё же сколько-то - экономит, а денег за него обычно не просят. На втором месте: использовать k8s поверх облака, которое даёт нужные «примитивы»: балансировщик нагрузки и сетевое хранилище. На третьем месте: использовать k8s на своём железе.

Неочевидные преимущества Kubernetes

Первое преимущество Kubernetes похоже на преимущество докера, которое я не сразу осознал. В докере помимо технологии есть ещё и коммьюнити. Это тысячи людей, которые собирают готовые пакеты. Если мне нужен postgres или wordpress или ещё что угодно, скорей всего это кто-то уже собрал. И даже если я решу собирать свой образ, я как минимум смогу посмотреть на чужие докерфайлы, а скорей всего мне хватит чужих. Это экономит много времени и сил. В кубернетесе похожая тема: для него создано куча софта и деплойментов, которые позволяют в пару строк деплоить в кластер довольно сложные конфигурации. К примеру прометей, собирающий метрики, локи, собирающий логи, ещё кучка вспомогательных агентов и графана, уже настроенная на отображение всего этого, ещё и с кучей готовых дашбордов, которые не стыдно директору показать. Почти для любого софта, который я хочу запустить в своём кластере, есть хельм от производителя, в котором всё уже прописано. И даже если я решу писать дескрипторы сам, я в этот хельм смогу посмотреть.

Второе преимущество Kubernetes на самом деле тоже похоже на преимущество докера, которое я тоже не сразу осознал. Это сближение программистов и админов. В классическом древнем подходе программист пишет код, сборщик собирает из этого кода артефакт, а деплоер устанавливает этот артефакт на сервер. Докер позволяет сблизить программиста и сборщика. Когда программист указывает в машинном виде все инструкции для сборки и все «входные» артефакты. Причём не в виде кучи непонятно каких скриптов, а в относительно стандартизованном виде. Вот Kubernetes с его ямлами делает похожую задачу и сближает программиста и деплоера. Когда ты можешь в своём софте написать в машинно-читаемом виде - какие volume-ы нужны твоему софту, какие конфиги, какие переменные окружения, какие порты твой софт выставляет и тд.

Третье преимущество в том, что есть некоторые уникальные софтины. К примеру я пускаю БД в кластере. БД управляется через оператора. Оператор это такая программа (которая тоже запущена в кластере) которая создаёт контейнеры с БД, настраивает их как надо и как бы следит за ними. К примеру я буквально несколькими строчками настроил запуск постгреса в двух копиях с периодическими бэкапами в S3 и постоянными бэкапами wal-логов туда же. В итоге имею high-available СУБД кластер с бэкапом и возможностью откатиться с гранулярностью в 5 минут. Руками такое настраивать я бы наверное несколько дней минимум потратил. Понятно, что если сломается, то в общем случае для починки придётся разбираться что там как устроено. Ну пока не ломалось. Может и не сломается.

Вот эти преимущества позволяют мне рекомендовать использовать Kubernetes даже там, где сегодня нет никакого кластера. Т.е. просто вместо докера, на обычном одном сервере. В таком варианте, кстати, не нужен ни балансировщик нагрузки, ни сетевые диски.

Недостатки Kubernetes

Вот это, наверное, самый важный раздел и то, на что частично отличается от того, что я читаю вокруг.

  1. Требования к железу. Для полноценного высокодоступного кластера требуется три сервера по 4GB RAM и 2 CPU, которые будут использоваться исключительно для Kubernetes (мастера). Также на каждом рабочем сервере нужно зарезервировать примерно 20% оперативной памяти. Также Kubernetes до недавнего времени не работал со свапом, а с недавнего начал работать в экспериментальном виде, но про это никто не пишет и не знает. В общем можно считать, что свопа нет. Для крупных проектов эти требования не очень существенны, если же весь ваш проект это 2GB VPS за $5, то kubernetes вам не подойдёт. Нужно свой бюджет расширять хотя бы до 8GB за $20.

1.1. А ещё желательно иметь два кластера. Один тестовый, а один боевой. И тестировать свои эксперименты на тестовом. Лично у меня такой возможности нет, я работаю в компании, которая экономит на всём, и $300 в месяц на тестовый кластер это дораха. Поэтому я написал нужные terraform скрипты и прочее, что позволяет мне поднимать тестовый кластер за 15 минут, а потом опускать его. Но лучше не экономить на спичках и держать два одинаковых кластера.

  1. Требования к квалификации. Для того, кто с k8s не работал, там всё будет новое. И хотя ничего особенно сложного там нет, но объём знаний всё же существенный. В целом готовьтесь потратить несколько месяцев на изучение и работу с тестовым кластером. Не вздумайте сходу переводить прод на k8s, если он нужен кому-то кроме вашей мамы. Также надо понимать, что kubernetes очень плотно работает с линуксом. cgroups, iptables, ebpf - эти слова не должны вводить вас в ступор (ebpf меня в ступор вводят, в частности поэтому я отказался от cilium).

  2. Он провоцирует к обезяньнему девопсингу. Этим термином я называю деятельность по копипасту непонятных команд с надеждой получить блестящее и пердящее UI. Я уже выше приводил пример с графаной, когда одной командой можно поставить около десятка сложнейшего преднастроенного софта. Вот это слишком провоцирует. А когда этот сложнейший преднастроенный софт сломается, то обезьяна ничего сделать не сможет. Поэтому обезьяньи порывы надо в себе подавлять и пользоваться только тем, в чём ты хорошо разобрался. А если не разобрался - то сидеть и разбираться. А когда уже разберёшься, тогда можно и готовыми комплектами пользоваться, хорошо понимая, что там где или хотя бы где посмотреть можно.

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

  1. В нём «из коробки» нет многого, что можно было бы ожидать от него. К примеру есть ингрессы (это описание входных точек для внешних сервисов), но ингресс-контролера нет, нужно выбирать и ставить, а их, между прочим, штук 15 разных. Да что там ингресс-контролер, там даже этой самой вышеописанной виртуальной сети нет, есть только некие интерфейсы, а реализацию, которая будет эту сеть «настраивать» - надо ставить самому (собственно это первое, что вы будете ставить в только что созданный кластер). Причём этих реализаций опять же штук 10 разных. И муки выбора - flannel, calico, а может модный cilium, а вот тут на реддите ещё про что-то писали, ааа, вот это при некотором складе характера может мучить. Меня мучает. Я боюсь сделать неверное решение. Если что, я выбрал ingress-nginx и calico для вышеописанных пунктов, как наиболее понятные и консервативные решения. Не жалею.

  2. Он провоцирует ставить и настраивать то, что вам в общем-то не особо и надо. Ну вот жили мы с докер-композом, проставляли реплики в конфиге руками и ладно. А тут вроде есть horizontal pod autoscaler, который будет в зависимости от нагрузки запускать больше или меньше реплик, круто же. А для него метрики нужны, надо ещё компонент для метрик поставить. А вот про istio прочитали, он вообще даёт возможность смотреть все запросы между сервисами, а-а-а, это же просто огонь. В общем вроде и не сказать, что это плохо, т.к. это всё даёт лишние возможности, но всё же тут важно не увлекаться. Может оно вам не так уж и надо, раз жили без этого. Каждая софтина это время на изучение документации, это постоянные затраты времени на чтение ченджлогов, обновления, обновления конфигов. А если это ещё и штука вроде istio, которая не сбоку-припёку, а влезает прям между вашими сервисами, то это ещё и потенциальная причина того, что всё сломается и вам придётся ковыряться в ихних кишках в самое неудачное время. Ну и ресурсы тоже каждая софтина требует, ага. Вроде и всё на го написано, вроде и не ресурсоёмко по большому счёту, но потихоньку набегают гигабайты…

  3. Несмотря на то, что я выше написал про докер, на самом деле с самим докером он плохо совместим. И если вам хочется сделать такую простую и понятную штуку, как запуск вашего CI в кластере - типа коммит прошёл, теперь надо docker build сделать, вот это простое желание на самом деле таит в себе столько нюансов, что я в итоге отказался от этого желания и для CI завёл тупо отдельный сервер с докером.

  4. Кубернетес из коробки адски небезопасен. Легко создать под, в котором будет подмонтирован корень вашего сервера. И удалить там всё, азаза. При этом, конечно же, есть все возможности закручивать гайки сколько угодно, но это надо делать. Когда пишешь helm install, обычно оно ставится от cluster-admin и в общем случае может делать с кластером что угодно. Если у вас отдел девопсов, которые там каждый ямл обнюхают и будут это делать каждую неделю, ставя новую версию, ну классно. А если весь ваш девопёс это я, занимающийся этим, когда других задач нет, и джуниор, который сам всё поломает, только доступ дай, то не классно. Поэтому см. пункт выше про отдельный тестовый кластер.

  5. Гитопс. Гитопс это круто и здорово, но я так и не впечатлился. В общем не рекомендую. С одной стороны - да, весь ваш кластер должен лежать у вас в гите, а не в голове и при необходимости подниматься несколькими командами (или несколькими десятками команд, не принципиальная разница, у меня второй вариант). С другой стороны внедрять прям 100% гитопс, когда вам реально надо коммитить в гит, чтобы там что-то срабоатло, я долго пытался это делать на flux, я его неплохо изучил, но в итоге отказался. Опять же если у вас отдел девопсов, которые будут там друг друга ревьюить и мерджить, то наверное ок. Если вам нужно держать не один кластер, а сто кластеров, развернутых и обновляемых из одного репозитория, то конечно ок (хотя тогда вы сами меня учить будете, а не читать это). А если вас один-два человека, ну я решил, что оно не надо. У меня весь репозиторий это terraform-шняга, которая просто создаёт серверы, на этих серверах через cloud-init при создании ставится containerd, kubelet и прочая ерунда, потом я туда по ssh захожу и вбиваю kubeadm join и всё. Это инфраструктура. Второй репозиторий это во-первых кучка скриптов (в основном helm update, чтобы не запоминать это всё), во-вторых кучка kustomize-ов, которые уже ставят либо то, что в helm не обернули (или я не захотел этим пользоваться), либо, собственно, тот софт, ради которого весь этот кластер вообще существует.

  6. Ямлы-ямлы-ямлы-ямлы. Не, я не особо жалуюсь, но всё же в кубернетесе эти ямлы они как-то совсем уж беспонтовые. И дело не в формате, а в том, что они совсем не добавляют синтаксический сахар. Это не является чем-то адски страшным, но когда пишешь

ports:
  - name: http
    containerPort: 3100

вместо

ports:
  http: 3100

или вся эта копипаста

spec:
  selector:
    matchLabels:
      app: loki
  template:
    metadata:
      labels:
        app: loki
    spec:
      containers:

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

  1. Также из коробки поставленный через kubeadm кластер не стабилен и сервер легко роняется одним подом, который решил сожрать всю память (у меня сервер просто перестал отвечать, где там были все эти ваши оом киллеры, я не знаю). Это меня неприятно удивило. А чтобы сделать его стабильным, мне потребовалось потратить не один час на чтение документации и разного рода настройки (в основном резервирование памяти для кублета, системы и тд). Что мешает kubeadm-у прописывать лимиты самому, я не понимаю.

  2. Если у вас три сервера, один сервер упал и вы ожидаете, что кубернетес в ту же секунду, радостно повизгивая, побежит перезапускать все поды на других серверах, то вы сильно ошибаетесь. Во-первых он вообще не сразу поймёт, что сервер упал. Во-вторых он ещё минут 5 подождёт. Ну вдруг тот не упал, а просто устал немножко и присел отдохнуть. Про 5 минут не уверен, кстати, может быть даже 15 минут, сорри, лень смотреть. В общем, как говорится, eventually он таки - да, перезапустит поды на других серверах. Но к вам за это время уже успеют прибежать и наорать, что ничего не работает.

Поэтому high availability это все ваши сервисы, запущенные в двух копиях минимум. Иначе это eventual availability. Что тоже неплохо и лучше, чем unavailability.

Вышеописанные таймауты можно настроить, если что. Но, наверное, не нужно. Я не стал.

Из этого, кстати, вытекает 12. Настроек очень много. Туториалов о том, как эти настройки настраивать - ещё больше. И на ютубе и в тексте. А вот какие значения нужно проставлять, какие плюсы, какие проблемы - тут все резко затыкаются.

  1. Будьте готовы читать много кода на go, копаться в исходниках и issues. Ну может мне так повезло или у меня такой стиль решения проблем. Но такого, как в традиционном линуксе - когда почитал man iptables или IPTABLES HOWTO и нашёл ответы на все вопросы - тут часто не получается. Какая-то мелкая, но нужная софтинка. В доке ничего не понятно, приходится лезть в исходники и смотреть - что там на самом деле. Или гуглишь - ничего релевантного. Залазишь в гитхаб issues, ищешь там и, таки, находишь ответ на свой вопрос.

 ,

vbr
()

Энтерпрайз ERP/CRM фо отомейшн оф ё сириоз бизнес

Форум — Talks

ERP-шники из прошлого треда сдулись, а мой интерес к вопросу только разгорелся. Моя попытка нарыть что-то более-менее объемное по теме создает ощущение, что ERP — это как онанизм: все занимаются, но никто не обсуждает. Нашел забавную статью на хабре:

https://habr.com/en/post/447162/ - Не купитесь на ERP

Сразу скажу, что я не согласен с автором, но позиция интересна. Если слегка смягчить ее, то получится что-то такое: если на вашем предприятии бардак, то ERP за вас не сможет его организовать; если же вы навели порядок на своем предприятии, то ERP вам уже особо и не нужна.

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

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

https://www.sapdatasheet.org/abap/tabl/mara.html

Ну или просто позволяя вам выбрать из готового набора 110 000 (сто десять тысяч) табличек те, которые подойдут вашему бизнесу... или не подойдут. Остроумен с коммерческой точки зрения такой подход потому, что с позиции человека, который не разбирается в IT, то есть, типового клиента SAP, какой-нибудь SAP R/3 предоставляет собой крупную хорошо проработанную и проверенную систему, которая покрывает чуть ли не все на свете варианты бизнес-процессов предприятия. В такие моменты я люблю вспоминать покойного Дейкстру:

“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.”

То есть, приходит менеджер, который отвечает за принятие решений, и спрашивает у продажника SAP: «у вас есть ${фичанейм} в системе? Насколько хорошо автоматизирует ${процесснейм} ваше решение?». Причем, говорить об этом до начала внедрения — это все равно, что спрашивать у женщины «вы можете родить мальчика или девочку? А мальчик будет гениальным?». Особенно если этой женщине 50 лет и ее маркетинговое преимущество — это что оба ее сына стали успешными учеными.

К чему это я... На рынке присутствует плохо закрытая ниша простых универсальных решений. Нет никакого смысла скрещивать ежа с ужом и пытаться втюхать гибрида — компьютерные системы для турагенства, сети мясных магазинов, и аптек должны отличаться, и это нормально. Однако, весьма тяжело найти тот самый общий знаменатель, который подошел бы всем и при этом не ограничивал бы никого.

Пока что, из моего опыта разработки CRM/недо-ERP, мне видится, что одно из ключевых препятствий на пути заполнения данной ниши — это реляционные СУБД, которые используется к месту и не к месту — просто потому, что РСУБД есть готовые в большом количестве. Как правило, даже у достаточно конкретного клиента есть ни разу не конкретные требования по автоматизации, которые меняются день ото дня, вроде «мы узнали длину члена Василия Петровича — давайте сохраним эту информацию в CRM записи про Василия Петровича, в надежде, что со временем удастся собрать аналогичные сведения по другим клиентам и вывести кореляции». Происходит это не только из-за сиюминутных прихотей конкретного менеджера, но и из-за постепенной смены коньюктуры и технологий в фирме.

Реляционная же модель приводит к тому, что когда внезапно появляется необходимость сделать связь сущностей N-к-M вместо какой-нибудь 1-к-N, то приходится перекраивать базу верх ногами, создавая новую таблицу связей между сущностями и изменяя алгоритмы создания-чтения-обновления-удаления. А в случае перехода от 1-к-1 в N-к-M нужно создавать уже две дополнительные таблицы. У того же SAP по этому поводу из коробки для целой кучи атрибутов есть поддержка множественных связей, откуда и появилось астрономическое количество табличек — в реальности таблиц корневых сущностей там всего несколько сотен.

Апгрейды, поддержка, доработка — это, между прочим, основной доход вышеупомянутой SAP. Моя воображаемая цель проста: уничтожить SAP с ораклом. По крайней мере, такова она по состоянию на момент создания треда.

Есть много опенсорсных попыток писания ERP софта (например, Odoo, OpenERP, IDempiere/Compiere/Adempiere/Openbravo/metasfresh), но каждая из них, как правило, представляет собой одну и ту же попытку повторить SAP в мелком масштабе. У меня есть некоторые абстрактные зарисовки по этой теме, но, как показывает практика, публиковать их не имеет смысла, а пытаться сделать что-то конкретное прямо сейчас у меня тупо нет времени/желания, поскольку я работаю над релизом предыдущего незаконченного проекта питоньей многозадачности. Так что принимайте эстафету.

 , , ,

byko3y
()

Удаление deb-пакетов с некорректными pre- и post-скриптами

Статьи — Администрирование

Иногда возникает ситуация (особенно на машине разработчика/мейнтейнера), когда deb-пакет нельзя ни корректно доустановить, ни удалить, поскольку сценарий prerm (postrm, preinst, postinst) содержит ошибки. Ключи в apt и dpkg, посвящённые сломанным пакетам (--force-remove-*, -f) тоже могут не помочь, поскольку в первую очередь разруливают битые зависимости между пакетами.

В этом случае эффективным может оказаться «лечение» на низком уровне. Наиболее радикальный метод предлагался на опеннете: просто зайти в /var/lib/dpkg/info и удалить все файлы package-name.*, после чего удалить упоминания о пакете из /var/lib/dpkg/status (подробности по ссылке). Однако в этом случае удалится лишь метаинформация о пакете, а вот хвосты в /usr, /etc и др. останутся, как отмечали в комментариях.

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

Далее мы заходим в /var/lib/dpkg/info и просто исправляем package-name.prerm или package-name.postrm так, чтобы он отработал корректно. Например, если в .prerm удалялся несуществующий каталог без проверки на его существование, стираем или комментируем команду удаления.

После этого, как обычно, сносим пакет средствами dpkg -r.

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

 , ,

hobbit
()