Size: a a a

2021 May 18

Лс

Лень с Самосознанием... in pro.bash
Без...?
источник

∀lǝxǝʎ in pro.bash
@Laziness_Itself, ладно, страдай, но почему вообще в этом чате?)
источник

Лс

Лень с Самосознанием... in pro.bash
Ну и оригинал)
источник

Лс

Лень с Самосознанием... in pro.bash
А чёрт его знает.
На мой взгляд время от времени стоит позволять определённое количество флуда
источник

зк

захар который... in pro.bash
Не работает.  А может быть такое, что вызванный из программы скрипт думает, что его путь = путь программы?
источник

зк

захар который... in pro.bash
Извини, всё работает
источник

зк

захар который... in pro.bash
Это я затупил нереально
источник

зк

захар который... in pro.bash
тестовый скрипт запускал, а требовал искать путь к файлу рядом с исходным...
источник

зк

захар который... in pro.bash
Спасибо большое!
источник
2021 May 19

n

nod in pro.bash
За 3 года пару раз менял дистр. За последние полтора на арче несколько раз его сам ломал, но не переставлял
источник

n

nod in pro.bash
А что делать с пакетами? У меня их тысячи полторы было. Тебе придется это все переставлять вручную или писать мудреный скрипт, который будет все это ставить за тебя. Стоит учитывать, что источников может быть несколько помимо стандартных реп - например, аур или ппа. Это первая проблема.
Вторая - мэинтейнер в каком-то ауре может просто забить на сопровождение пакета и со временем он перестанет работать. Например, программа на сишке и у тебя обновился gcc.
Третья проблема - версии пакетов. Пакет может обновиться и у тебя эта обновленная программа может не работать или в ней уберут функционал, сломают ABI, переделают конфиг и старый не будет работать итд. Версию чаще всего можно откатить, но это не работает, если от этой софтины зависит какая-то другая.
Все это не проблема в никсоси, бай десигн.
Ну а конфиги и так держатся в одном месте, просто сорсятся в конфиге того же хоум менеджера. Системный конфиг, конфиг хоум менеджера и конфиги софта можно держать например в гит репозитории. При установке ты просто размечаешь диск, клонируюешь два конфига (при необходимости правя под железо), вводишь одну команду и все остальное уже делается за тебя.
источник

n

nod in pro.bash
Намного интереснее становится, когда машин несколько. Тут вариантов особо нету: либо поднимать ансибл, либо нискось, либо все вручную на каждой машине.
Ещё интереснее, когда ты админ/девопс и у тебя несколько разрабов в команде. При этом часть на макоси, часть на винде и оставшиеся на своем любимом дистрибутиве (с которого они уйдут только через твой труп). И у всех должно быть одинаковое окружение, иначе процесс разработки превратится в АДЪ. Спорить одновременно с дедом на седьмом дебиане и хипстером арчеводом о том, что вы не можете использовать допотопную/самую новую версию либы - такая себе затея.
А так просто ставишь у всех никс, пишешь один .nix конфиг и все, проблема решена.
Для этого уже кое как научились использовать контейнеры, но это не так уж и просто, да и проблем с некоторым софтом создаёт немало, особенно графическим.
источник

n

nod in pro.bash
Kitty умеет вроде рисовать картинки, про видео не знаю. Я имею ввиду рисовать полноценно, в нормальном разрешении. Правда, в софте тоже должна быть поддержка. ranger умеет использовать для предпросмотра
источник

Лс

Лень с Самосознанием... in pro.bash
Пагади, а как .nix-ом решать проблемы версий?
Это ж не контейнер?
А менять дистр они не хотят
источник

Лс

Лень с Самосознанием... in pro.bash
Этот тоже умеет
источник

n

nod in pro.bash
Это простой вопрос со сложным ответом.
Да, никс пакеты - это не контейнеры, а другой вид абстракции. Но в конечном счете результат похожий.
Задаётся необходимая версия пакета и в результате создаётся нечто, что называется derivation. В свою очередь derivation - это штука, в которую тем или иным способом засовывается/линкуется всё, что необходимо для работы программы. Таким образом, можно одновременно использовать программу A, которой нужно libc версии 2.31 и программу B, которой нужно libc версии 2.10. Для libc обоих версий, в свою очередь, будет созданы свои независимые друг от друга derivation. Или же можно использовать несколько версий одной и той же программы.
Более того, в описании пакета, которое чем-то напоминает ebuild в gentoo, можно задавать кроме версии еще и флаги сборки. То есть одновременно может сосуществовать несколько вариантов одной и той же программы с разными флагами. Если в бинарном кэше оверлеев нету такого уже собранного варианта, программа будет собрана из исходников.
Деривации идентифицируются уникальными хэшами, поэтому если хоть что-то отличается при сборке одной и той же программы, хэш будет разным, а значит это будет две совершенно разные деривации.
Под капотом там довольно сложная система с хэш таблицами, симлинками, изменением линковки итд. И всё это работает на чистом функциональном языке, который очень похож на хаскель. Ещё есть специальные утилиты для патча динамической линковки в уже собранном софте (полезно для проприетарных помоев), исправления шебэнгов итд.
источник

n

nod in pro.bash
Вот так, например, выглядит небольшая часть в моём /nix/store. Там же лежат и архивы скачанных программ, но я отфильтровал только деривации
источник

n

nod in pro.bash
Первая часть имени - это хэш
источник

n

nod in pro.bash
А, не, я немного напутал. .drv  файлы - это промежуточный этап, в котором описывается, как собрать деривацию. Но сути не меняет.
источник

n

nod in pro.bash
Еще есть такая штука, как оверлеи. Похоже на репозитории в других дистрибутивах и очень похоже на оверлеи в генте. По сути, это репозиторий с .nix файлами, которые описывают пакеты.
Сейчас есть проблема с тем, что нельзя задавать зависимости от других оверлеев, но это пофиксили в флэйках, которые появятся в следующей стабильной версии в этом месяце.
источник