SK>>Было бы атомарно, если бы в ФС ставился один статичный файл на OS или приложение. если файлов (исполняемых, библиотек, зависимостей) больше одного, использует системные либы или либы притащенные другими, то оно по определению не атомарное. S>Нет. S>Атомарность это про операции, а не про файлы и их количество. Это когда операция выполняется либо целиком, либо никак.
Ну, это детали реализации. то что ты можешь видеть содержимое контейнера с OS мало влияет на его атомарность, он обновляется "всё разом" одной операцией.
SK>>...docker/shap/flatpack. S>Говнище это всё. В 99% случаев это тупой уход (как правило из-за лени) от обновления зависимостей в своём софте, чтобы соответствовать современным дистрибутивам.
Ну а как иначе в свободном мире опенсорса? Или ты агитируешь за проприетарный кровавый ентерпрайз?
S>Сжечь, обоссать и закопать.
Здравствуйте, Stanislaw K, Вы писали:
SK>>>Было бы атомарно, если бы в ФС ставился один статичный файл на OS или приложение. если файлов (исполняемых, библиотек, зависимостей) больше одного, использует системные либы или либы притащенные другими, то оно по определению не атомарное. S>>Нет. S>>Атомарность это про операции, а не про файлы и их количество. Это когда операция выполняется либо целиком, либо никак. SK>Ну, это детали реализации. то что ты можешь видеть содержимое контейнера с OS мало влияет на его атомарность, он обновляется "всё разом" одной операцией.
Я так и сказал: атомарность это про операции, а не про количество файлов.
SK>>>...docker/shap/flatpack. S>>Говнище это всё. В 99% случаев это тупой уход (как правило из-за лени) от обновления зависимостей в своём софте, чтобы соответствовать современным дистрибутивам. SK>Ну а как иначе в свободном мире опенсорса?
Так-же, как до этого 20 лет делали: не ленились и сопровождали проекты, поддерживая актуальность используемых либ. Ложить на это стало модно гдето в последние пару лет и мы ещё хлебнём жиденького из-за этой моды.
Здравствуйте, Философ, Вы писали:
Ф>Модификация но одинаковый. Ф>Лучше заставь дикпик страдать, вместо того чтобы тут писать.
Ну что тут сложного то? После распаковки архива получаем некий образ. Пусть разработчики кадый день создают новый образ — 1 раз в день. Этот образ одинаковый для всех пользователей.
Как из вчерашнего (или позавчерашнего) образа сделать сегодняшний? Если почти все одинаково, только несколько байт в некоторых местах различаются? Т.е. такой Diff нужно создать.
У меня была даже самописная прога, которая такой Diff создавала без передачи файла.
Здравствуйте, Shmj, Вы писали: S>Здравствуйте, Философ, Вы писали: Ф>>В связи с этим я думаю, вот что: тебе нужен отдельный котёл в аду, в который тебя запихнут вместе с ноутбуком, и пока ты не исправишь разрешения для отдельных элементов в JSON'е, ты оттуда не выйдешь. А когда поправишь, то тебя туда должны возвращать опять, по поводу того, что пропала какая-то фигурная скобка, и оно теперь не парсится. — чтоб ты нашёл и вернул фигурную скобку. S>Вы не в том направлении думаете. Реестр вообще нафиг не нужен — и никаких регистраций не нужно.
Ворох текстовиков, равномерно рассыпанных по винту раньше и на винде был. И инишки, и инфы, и кфг и прочее. До сих пор есть софт, который читает и пишет в system.ini.
До сих пор существуют апишные функции, которые позволят читать из инишек — как целикм, так и отдельные секции (для обратной совместимости их держат).
Более того, до сих пор кое-какой софт вместе с бинарями поставляет инишки. Мне до сих пор иногда приходится что-то такое править:
И вот что я тебе скажу: реестр лучше. Реестру быть, он должне быть. Не вот это текстовое говно, разбросанное по всему винту. S>Все просто: S>1. Образ ОС — это статичный неизменяемый файл — одинаковый байт в байт у всех людей в мире.
Всё непросто: в образ ОС входит туча разных библиотек и программ. Их иногда нужно обновлять. А в некоторых инсталляциях части из них быть не должно.
После патча образы уже будут неодинаковыми — контрольные суммы точно не совпадут. S>2. JSON-файл с индивидуальными настройками — только то, что вы прописали вручную. У меня там будте 5 параметров ровно. Для всех ОС один и тот же.
Если тебе нужно, чтобы там было ровно пять параметров, то тебе это и писать. Это слишком мало кому нужно. Ну или плати отдельно — сделают.
Если тебе правда нужно, то ты либо сделаешь, либо заплатишь чтоб сделали.
S>3. Программы — аналогично — каждая программа — один неизменяемый файл....
Флэтпак это вроде называется. Забавный ты: недавно же писали "ну это же флэтпак — ничего не поделаешь". И тут ты, с флэтпаком.
Я немного удивлён, что тебя не покусали до сих пор.
Да заставь же ты уже дикпик страдать! Чего ты сюда-то пишешь!?
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Философ, Вы писали:
Ф>И вот что я тебе скажу: реестр лучше. Реестру быть, он должне быть. Не вот это текстовое говно, разбросанное по всему винту.
Ничем он не лучше. Есть прога или либа и связанные с ней данные. Вот и пусть будут в ее папке. Удалил либу — удали связанную папку. Или может только настройки удалить — либа их создаст с нуля.
S>>Все просто: S>>1. Образ ОС — это статичный неизменяемый файл — одинаковый байт в байт у всех людей в мире.
Ф>Всё непросто: в образ ОС входит туча разных библиотек и программ. Их иногда нужно обновлять. А в некоторых инсталляциях части из них быть не должно. Ф>После патча образы уже будут неодинаковыми — контрольные суммы точно не совпадут.
Ну смотри. Пусть даже каждый день MS будет обновлять свой образ. Но каждый день — это одинаковый для всего мира — байт в байт образ. Зачем что-то другое?
И вся миссия обновления — это вчерашний образ синхронизировать с сегодняшним. Но по итогу все-равно у всех будет байт в байт один и тот же образ.
И учитывая данную модуль безопасности — когда троян не сможет что-то дописать в образ — ни в образ ОС, ни в образы программ — зацепиться в системе тому трояну будет ой как не просто.
S>>2. JSON-файл с индивидуальными настройками — только то, что вы прописали вручную. У меня там будте 5 параметров ровно. Для всех ОС один и тот же.
Ф>Если тебе нужно, чтобы там было ровно пять параметров, то тебе это и писать. Это слишком мало кому нужно. Ну или плати отдельно — сделают. Ф>Если тебе правда нужно, то ты либо сделаешь, либо заплатишь чтоб сделали.
Это у меня 5 параметров. Если ты кастомизируешь ОС сильнее — ну будет у тебя 50 параметров. Я не кастомизирую особо — у меня все по умолчанию.
S>>3. Программы — аналогично — каждая программа — один неизменяемый файл....
Ф>Флэтпак это вроде называется. Забавный ты: недавно же писали "ну это же флэтпак — ничего не поделаешь". И тут ты, с флэтпаком. Ф>Я немного удивлён, что тебя не покусали до сих пор.
Прога — фиксированный образ. Ее настройки — отдельно. Чем плохо?
Здравствуйте, Sheridan, Вы писали:
SK>>>>...docker/shap/flatpack. S>>>Говнище это всё. В 99% случаев это тупой уход (как правило из-за лени) от обновления зависимостей в своём софте, чтобы соответствовать современным дистрибутивам. SK>>Ну а как иначе в свободном мире опенсорса? S>Так-же, как до этого 20 лет делали: не ленились и сопровождали проекты, поддерживая актуальность используемых либ. Ложить на это стало модно гдето в последние пару лет и мы ещё хлебнём жиденького из-за этой моды.
Ну, не "пару лет". docker 2013, snap & flatpack выкачены в продакшен в 2015. appimg, из которого они идейно выросли, 2003-2004.
То есть — уже в 2004 проблема версионности либ и (преднамеренного отсутствия) обратной совместимости приобрела такие масштабы, что пришлось искать делать костыли.
Эти 20 лет поддерживалась актуальность и сопровождались проекты уровня CD-ejector. Или код превращался в "персональный адок", который тянулся одним человеком.
Зато, все наслаждаются полной свободой. Никаких тиранов, принуждающих соблюдать стандарты.
Здравствуйте, Stanislaw K, Вы писали:
SK>Ну, не "пару лет". docker 2013, snap & flatpack выкачены в продакшен в 2015. appimg, из которого они идейно выросли, 2003-2004.
Инструменты появились давно, да. Но модно стало их использовать недавно.
SK>То есть — уже в 2004 проблема версионности либ и (преднамеренного отсутствия) обратной совместимости приобрела такие масштабы, что пришлось искать делать костыли.
Это тупо лень разработчиков, которые клали на обновление используемых библиотек. И всякие флатпаки только заметают эту лень под ковёр. Рано или поздно она выстрелит в затылок.
Использование флатпаков и прочих контейнеров тупо для избегания обновления используемых библиотек — плохо. Тот кто так делает — тупой недальновидный идиот.
Здравствуйте, Sheridan, Вы писали:
SK>>Ну, не "пару лет". docker 2013, snap & flatpack выкачены в продакшен в 2015. appimg, из которого они идейно выросли, 2003-2004. S>Инструменты появились давно, да. Но модно стало их использовать недавно.
Лавинообразный характер — после локдауна, когда у всех появилось много времени на это.
SK>>То есть — уже в 2004 проблема версионности либ и (преднамеренного отсутствия) обратной совместимости приобрела такие масштабы, что пришлось искать делать костыли. S>Это тупо лень разработчиков, которые клали на обновление используемых библиотек.
Несогласен. Лень, безусловно, дает вклад, но по факту обычный человек физиологически не сможет развивать свою программу и удерживать в голове все зависимости. Времени хватит или на одно или на другое.
S>И всякие флатпаки только заметают эту лень под ковёр. Рано или поздно она выстрелит в затылок.
Естественным путем все уйдет "под крыло" ентерпрайза.
S>Использование флатпаков и прочих контейнеров тупо для избегания обновления используемых библиотек — плохо. Тот кто так делает — тупой недальновидный идиот.
Здравствуйте, Shmj, Вы писали:
S>Вот что подумалось...
S>В идеале хотелось бы такого... Скачиваешь архив, распаковываешь в корень диска (какой-нибудь osimage-файл). И все — вот и вся установка ОС в систему. При запуске если в корне несколько osimage — компьютер спросит с какой загружаться.
А как ты скачаешь и распакуешь архив если у тебя ОС не установлена? А если диск не размечен и корня у него пока еще нет?
Т.е. необходимый минимум это
1) Загрузиться с внешнего носителя
2) Разметить диск
3) Распаковать архив
4) Зарегистрировать ОС в EFI
А теперь сюрприз! Всё это можно сделать уже сейчас! Причем как с линуксом так и с виндой.
Только нафига это делать руками если инсталятор сделает ровно всё тоже самое за тебя?
S>И учитывая данную модуль безопасности — когда троян не сможет что-то дописать в образ — ни в образ ОС, ни в образы программ — зацепиться в системе тому трояну будет ой как не просто.
У тебя представление о троянах на уровне заметок 1980г в газете "Млад готвач".
Здравствуйте, Stanislaw K, Вы писали:
SK>>>То есть — уже в 2004 проблема версионности либ и (преднамеренного отсутствия) обратной совместимости приобрела такие масштабы, что пришлось искать делать костыли. S>>Это тупо лень разработчиков, которые клали на обновление используемых библиотек. SK>Несогласен. Лень, безусловно, дает вклад, но по факту обычный человек физиологически не сможет развивать свою программу и удерживать в голове все зависимости. Времени хватит или на одно или на другое.
Не вижу проблем вообще. Просто разрабатывать надо в обновляемом дистрибутиве и не выкачивать отдельно исходники библиотек.
S>>И всякие флатпаки только заметают эту лень под ковёр. Рано или поздно она выстрелит в затылок. SK>Естественным путем все уйдет "под крыло" ентерпрайза.
И?...
S>>Использование флатпаков и прочих контейнеров тупо для избегания обновления используемых библиотек — плохо. Тот кто так делает — тупой недальновидный идиот. SK>художника обидеть каждый может!
Тупых не жалко.
Здравствуйте, Константин Б., Вы писали:
КБ>А как ты скачаешь и распакуешь архив если у тебя ОС не установлена? А если диск не размечен и корня у него пока еще нет?
Продвинутый BIOS (Ну или там EFI — вообще не ясно зачем название трогали) — все это умеет. Даже скачать образ с сети умеет. Т.е. это базовая прошивка.
КБ>Т.е. необходимый минимум это
КБ>1) Загрузиться с внешнего носителя
Нет, забудьте. Не будет внешних носителей — это рудимент. Ни дискет ничего больше не будет.
КБ>2) Разметить диск КБ>3) Распаковать архив
Это все на уровне базовой прошивки.
КБ>4) Зарегистрировать ОС в EFI
Ничего регистрировать не нужно. Биос видит на диске образ — и просто запускает. Если образов несколько — спрашивает. Все просто.
КБ>А теперь сюрприз! Всё это можно сделать уже сейчас! Причем как с линуксом так и с виндой. КБ>Только нафига это делать руками если инсталятор сделает ровно всё тоже самое за тебя?
Сейчас:
1. Базовая прошивка не умеет запускать образы.
2. Файлы ОС — мутабельны. Хотелось бы иммутабельности.
Здравствуйте, Sheridan, Вы писали:
S>>>Это тупо лень разработчиков, которые клали на обновление используемых библиотек. SK>>Несогласен. Лень, безусловно, дает вклад, но по факту обычный человек физиологически не сможет развивать свою программу и удерживать в голове все зависимости. Времени хватит или на одно или на другое. S>Не вижу проблем вообще. Просто разрабатывать надо в обновляемом дистрибутиве и не выкачивать отдельно исходники библиотек.
А чего не "не использовать чужие библиотеки"?
S>>>И всякие флатпаки только заметают эту лень под ковёр. Рано или поздно она выстрелит в затылок. SK>>Естественным путем все уйдет "под крыло" ентерпрайза. S>И?...
Не знаю. свободу задушат? прогресс остановится? Что там манифестировал Столлман в 60х..
S>>>Использование флатпаков и прочих контейнеров тупо для избегания обновления используемых библиотек — плохо. Тот кто так делает — тупой недальновидный идиот. SK>>художника обидеть каждый может! S>Тупых не жалко.
пользователей, которые выбирают плохой, а правильный не выбирают?
S>>В идеале хотелось бы такого... Скачиваешь архив, распаковываешь в корень диска (какой-нибудь osimage-файл). И все — вот и вся установка ОС в систему. При запуске если в корне несколько osimage — компьютер спросит с какой загружаться.
КБ>А как ты скачаешь и распакуешь архив если у тебя ОС не установлена? А если диск не размечен и корня у него пока еще нет?
Как обычно — PXE IPMI UEFI.
КБ>Т.е. необходимый минимум это
КБ>1) Загрузиться с внешнего носителя
лишнее.
КБ>2) Разметить диск
не нужное.
КБ>3) Распаковать архив
избыточное.
КБ>4) Зарегистрировать ОС в EFI
само.
КБ>А теперь сюрприз! Всё это можно сделать уже сейчас! Причем как с линуксом так и с виндой. КБ>Только нафига это делать руками если инсталятор сделает ровно всё тоже самое за тебя?
Прямо сейчас я сейчас ставлю систему на реальное железо: руками принять EULA (1 раз ↵), выбрать версию системы (2 раза ↓, 1 раз ↵), подождать минуту, перезагрузить (1 раз ↓, 1 раз ↵).
Подождать 3 минуты, за которые доразметится диск, распакуется архив. задать пароль.
Здравствуйте, Stanislaw K, Вы писали:
S>>И учитывая данную модуль безопасности — когда троян не сможет что-то дописать в образ — ни в образ ОС, ни в образы программ — зацепиться в системе тому трояну будет ой как не просто.
SK>У тебя представление о троянах на уровне заметок 1980г в газете "Млад готвач".
Не сказал бы. Сейчас проблема — и данные и программы — все смешано. Можно даже txt-файл из загрузок запустить на выполнение.
Здравствуйте, Shmj, Вы писали:
S>>>И учитывая данную модуль безопасности — когда троян не сможет что-то дописать в образ — ни в образ ОС, ни в образы программ — зацепиться в системе тому трояну будет ой как не просто.
SK>>У тебя представление о троянах на уровне заметок 1980г в газете "Млад готвач".
S>Не сказал бы. Сейчас проблема — и данные и программы — все смешано. Можно даже txt-файл из загрузок запустить на выполнение.
Здравствуйте, Stanislaw K, Вы писали:
S>>Не сказал бы. Сейчас проблема — и данные и программы — все смешано. Можно даже txt-файл из загрузок запустить на выполнение.
SK>Всегда было смешано и всегда было можно.
Это и проблема.
Основное что нужно сделать — отделить котлеты от мух — данные от исполняемых файлов.
Второе — добавить иммутабельность для исполняемых и устранить Вавилон, т.е. когда их десятки тысяч и каждая своим пакетом.
Здравствуйте, Shmj, Вы писали:
S>>>Не сказал бы. Сейчас проблема — и данные и программы — все смешано. Можно даже txt-файл из загрузок запустить на выполнение.
SK>>Всегда было смешано и всегда было можно.
S>Это и проблема.
Это база. Основа современной архитектуры ОС. Другие варианты ОС не выжили в эволюционной борьбе.
S>Основное что нужно сделать — отделить котлеты от мух — данные от исполняемых файлов.
Не "всем нужно" а "хочется лично тебе". Проанализируй почему у тебя такое желание.
S>Второе — добавить иммутабельность для исполняемых и устранить Вавилон, т.е. когда их десятки тысяч и каждая своим пакетом.
Здравствуйте, Stanislaw K, Вы писали:
SK>Не "всем нужно" а "хочется лично тебе". Проанализируй почему у тебя такое желание. SK>Проанализируй почему у тебя такое желание.
Все очень просто — на первом месте — безопасность. Вот, сейчас любой зловред, получив права админа — сможет изменить какой-нибудь файл в системной папке — и я даже не узнаю об этом.
А ведь все было бы просто — если бы образ ОС был одинаковым для всех людей в мире и не изменялся (окромя как после обновления). Даже не было бы понятия переустановки ОС — образ либо целый либо поврежден. Если поврежден — восстанавливаешь на основе Diff-а.