Представлен (https://blog.barisione.org/2018/03/12/karton-1-0/) первый стабильный релиз проекта Karton (https://karton.github.io/), развивающего инструментарий для организации запуска Linux-приложений в самодостаточном контейнере, который можно использовать в macOS, различных дистрибутивах Linux и на оборудовании с разной архитектурой (ARMv7, ARMv8, x86-64). Код инструментария написан на языке Python и поставляется (https://github.com/karton/karton) под лицензией LGPLv2.1.
C технической стороны Karton представляет собой надстройку над Docker, которая автоматически организует совместный доступ к каталогам и файлам из запускаемых контейнеров. Файлы пользователя делаются доступны как для основной системы, так и для программ, работающий в контейнерах. Запуск команд осуществляется прозрачно для пользователя, без необходимости явного старта и остановки контейнера. Начинка контейнера может формироваться на основе Ubuntu, Debian, Fedora и CentOS. В настоящее время поддерживается только запуск консольных программ, но в будущем планируется обеспечить поддержку графических приложений.URL: https://blog.barisione.org/2018/03/12/karton-1-0/
Новость: https://www.opennet.me/opennews/art.shtml?num=48247
>C технической стороны Karton представляет собой надстройку над Dockerдокатились, удивительно что не на js/go/rust написали
> Код инструментария написан на языке PythonВ чем разница ?
Принципиальной разницы нет. Просто с Питоном уже смирились. Это как церкви -- все понимают что нафиг не нужны, но... как-то так исторически сложилось что они есть и туда даже кто-то ходит.
Это вы мусульманам расскажите.. долго еще прошагаете по земле бренной после такого высказывания?
Уверен, что подавляющее большинство мусульман думают так же, но из-за местных традиций и уголовного кодекса боятся сказать вслух.
Уж извините, но Питон экономит очень много времени опытным программистам. Новички, конечно его могут начать использовать и в тех случаях, где он может принести много боли и страданий, в отличие от более подходящих для этих случаев языков.
Если уж экономия времени программиста так важна, самый крутой способ экономии времени - не писать никаких программ вообще! Времени будет завались, а нам не придется копаться в этих картонных макетах программ, пытаясь найти что-то более вменяемое.И вообше, господа рапидчики, давайте вы уже будете жить в доме из картона? И автомобиль себе из фольги склеите? И жратву непропеченную кушайте - экономить так экономить.
Вы сейчас пытаетесь что-то непонятное объяснить человеку, участвующем в коммерческом проекте. Если я приму решение в пользу неверного языка, то проект может понести серьёзные убытки. Это Вам не мода на языки, а тщательно взвешенные "за" и "против". Причём в таких случаях решение принимает не один программист, а решение чаще принимается общим обсуждением, или же тим лидом/сеньёрами с разрешения менеджера проекта, зависит от внутренних правил.
> Вы сейчас пытаетесь что-то непонятное объяснить человеку, участвующем в коммерческом проекте.
> Если я приму решение в пользу неверного языка, то проект может
> понести серьёзные убытки.А что, дропбокс переписывающий код аж 3 раза таки не понес убытков от трехкратного переписывания? В конце концов они с питона все же свалили, лол. Да и все остальные вебанашки в целом валят - слоупочность питона не лечится, а докупать сервера для компенсации кривизны вебмакак катит только до известного предела.
И таки далеко не любой лид и синьоры ведут свой проект к процветанию. На один стартап приходится 9 факапов. Вот если вы годиков через 5 не станете факапом - это будет аргумент.
5 годиков прошло, медленно, но расширяемся. Только не говорите, что теперь это для Вас станет аргументом, который что-то значит.Обычно в таких случаях говорят "значит повезло, подождём до 10 лет". А если 10 есть, значит исключительный случай и требуется 15. А через 10 лет весь текущий код действительно может стать legacy, т. к. скорее всего появится ещё более удобный и современный язык (хотя по факту 70% объёма подходящей для python работы уже в разы лучше решаются на Go).
> а нам не придется копаться в этих картонных макетах программ, пытаясь найти что-то
> более вменяемое.А что, разве кто-то не дает пройти мимо и заставляет копаться? И кто же это?
> И вообше, господа рапидчики, давайте вы уже будете жить в доме из картона? И автомобиль себе из фольги склеите? И жратву непропеченную кушайте - экономить так экономить.
Смотрите дети внимательно! Вот это – отличный образчик "готтентотской морали":
Когда речь заходит о системде (по духу не очень далеко ушедшей от питонянины с ее динамизмом и усиленным педалированием рантаймпроверок), то cей персонаж первый же начинает кричать, что ему все норм, его все устраивает, а остальные неосиляторы и надуте старперы, которых ведь никто не заставляет пользоваться.
А вот в этой новости не выдрежала "душа поэта" и сразу же начала поучать, что кому и как делать и как жить ))
> А что, разве кто-то не дает пройти мимо и заставляет копаться? И кто же это?Подобный софт засоряет собой поисковую выдачу, однако.
> Смотрите дети внимательно! Вот это – отличный образчик "готтентотской морали":
Все проще. Мне нравится софт который работает хорошо и не подкидывает лишний раз проблем. И когда софт написан на питоне - все это совершенно точно не про него. Питонософт реально затрахал глюками от того что програмеры гнали как на пожар, забивая на все что можно забить.
Вот я и предположил - если чувакам настолько ненавистно писать свою программу, что хочется отделаться от ее написания любой ценой - может быть, можно не писать ее вообще? В системд, между прочим, именно это и реализовали - вместо кривых потуг программирования стали конфиги, в них гамнокодить как-то проблематично :). Можно конечно внешний скрипт вызвать, но это неудобно и стимул несколько отбивает.
> Уж извините, но Питон экономит очень много времени опытным программистам.А вот у пользователей программ, написанных этими программистами, такой продукт не только не экономит, но нерационально расходует, то есть попросту крадёт время и деньги.
Пользователи, конечно, в массе не понимают, что их нагло стригут, как овец. Но всё может измениться.
Мы пользуемся своими специализированными продуктами для внутренних нужд и они очень нам экономят время и силы. Причём заметьте, что используем множество сторонних библиотек (python3-apt, python3-yaml, python3-numpy, pandas и т.д.). Не могу сказать, что как пользователь сторонних библиотек, я ими не доволен. Бывают недоразумения, как, например, большие усилия, чтобы сохранить json-файл с нужным порядком элементов, но проблемы решаемые. Если универсализуем, возможно даже когда-нибудь откроем исходники, как обычно и бывает. Мы чем-то отличаемся от других разработчиков? Или Вы сейчас о пользователях, которые используют то "сами не понимают что"?
Я о стоимости, ценности и цене времени и денег — моих, в данном случае. За большинством того, что я пишу здесь на форуме, стоит одна простая идея: прикладное ПО обычно пишется прежде всего для потребителя, а не для автора. Поэтому интересы потребителя должны всегда стоять на самом главном месте. Кстати, под этим девизом M$ покорил мир ПК. Автор ПО категорически не вправе требовать от потребителя программы смены оборудования или системного ПО, если раньше продукт на них работал без нареканий. Не вправе и принуждать к этому косвенными способами. Поясню на отвлечённом примере. Если вчера программа А работала на процессоре с частотой 100 МГц и умещалась вместе с со своими данными в 32 МБ системной памяти, ничего при этом не ломая и не вызывая лагами и глюками у потребителя приступов бешенства, сегодня, завтра и послезавтра работает так же — это хорошая программа. Если же с новыми версиями автор ПО заявляет возрастание системных требований без внятной технической аргументации — это плохая программа, а её автор мошенник или неадекватный человек. Типичного потребителя не интересует и не волнует (и не должно), как обстоят дела с инструментарием автора ПО. Это проблемы автора. Но умственно полноценного потребителя (я не учитываю жертв рекламы «новинок») живейшим образом волнует и беспокоит изменение условий его жизни, труда и досуга, продиктованное _чужими_ причинами. Для меня, к примеру, как для потребителя ПО не является приемлемым возрастание требований к объёму ОЗУ у программы установки дистрибутива Debian, поскольку я _не вижу_ внятного технически грамотного обоснования этому. Понимаете, мне абсолютно безразлично, что через три инстанции промежуточного ПО у какого-то хипстора на его новом ПК уже не тормозит третий питон, а потому хипстор решил, что можно «утяжелить» инсталлятор. У меня, предположим, сотня, или тысяча, или десять тысяч машин у людей — и никто не будет менять им эти машины, поскольку для этого _нет_ оснований: они не сломаны, не износились, не заржавели, их не залило волной цунами, не унесло ураганом, не украли воры, не изъяли компетентные органы, не случились и другие несчастья. Не имеет значения, что сейчас на барахолках цена одной такой машины 50 долларов вместе с установленной Windows XP — покупалось-то всё это за совсем другие деньги, и с течением времени эти деньги не самовосстановились в бюджете компании, организации или частного лица, а весь комплект системного и прикладного ПО, которым были некогда укомплектованы рабочие места, точно так же достаточен для выполнения поставленных задач, как и на этапе планирования данной информационной инфраструктуры. Именно по этим соображениям я отвергаю агитацию за смену «морально устаревшего» ПО и оборудования и регулярную замену его новым. Пусть авторы ПО лет десять поживут в картонных домиках для начала, меняя стены каждые три месяца — потом, возможно, они получат право рассказать мне и подобным мне прагматичным людям о том, как нам правильно считать _наши_ деньги и _наше_ время.
Научитесь сначала уважать читателя и разбивать свои <CENSORED> на абзацы. Ведь вы пишете не для себя, а для читателя.
На ващ bloatware даже ответить невозможно, так как сваленная каша
> Научитесь сначала уважать читателя и разбивать свои <CENSORED> на абзацы. Ведь вы
> пишете не для себя, а для читателя.
> На ващ bloatware даже ответить невозможно, так как сваленная кашаЯ намеренно не поделил на абзацы, чтоб вы не писали мне ответ. Простыни опеннетовских дискуссий никому не нужны. Свою мысль я донёс, мне этого достаточно.
>Я намеренно не поделил на абзацы, чтоб вы не писали мне ответ. Простыни опеннетовских дискуссий никому не нужны.Как и твоё мнение
На самом деле не донесли. Тот, кому Вы ответили, начал читать и почти ничего не прочёл. "Краткость - сестра таланта".
> Автор ПО категорически не вправе требовать от потребителя программы смены оборудования
> или системного ПО, если раньше продукт на них работал без нареканий.
> Не вправе и принуждать к этому косвенными способами. Поясню на отвлечённомУпотребляя категорию "вправе", вы, однако, игнорируете человеческий/общественный фактор (как и "99%" пишущих на технические темы).
Смысловой состав полного жизненного цикла ПО несколько изменился. Тот самый переход от кустарного производства к фабричному (знаю-знаю, я этим тезисом уже надоел).
Общая тенденция -- к построению решений поверх всё более объёмной пирамиды прочих решений. (Хотя очевидный стимул, а по сути, маниловская мечта -- "пишу одну строчку кода, собираю это с кучей готовых библиотек, и получаю результат" -- никогда не работает).
Кроме того, обрабатываемые модели всё-таки усложнились -- это естественный ответ на рост доступных аппаратных мощностей.
То есть изменения в первую очередь произошли в людях, но вряд ли можно их откатить праведным возмущением или уговорами. :))
Ну и итог: если в лохматые годы кто-то мог писать информационную систему на ассемблере, сейчас так не станет делать никто. И да, таким образом простой консольный текстовый редактор из 30 килобайт машинного кода (таким мне помнится norton editor 1-й серии) превратился в 215 кило (nano), и это ещё самый безобидный пример.
Вообще, это называется декомпозицией. Это один из основных принципов написания качественного кода. Из-за необходимости универсализации, кода получается в разу больше, он слегка медленнее работает, чем мог бы. Но на порядок уменьшаются шансы на появление ошибок и уязвимостей (всё можно покрыть модульными тестами) и в десятки раз увеличивается скорость разработки, т.к. уже сами тесты документируют код.
> примере. Если вчера программа А работала на процессоре с частотой 100
> так же — это хорошая программа. Если же с новыми версиями авторНу так и пользуйтесь "программой А" сколько угодно.
Зачем вам какой-то новый Debian?> требований к объёму ОЗУ у программы установки дистрибутива Debian, поскольку я
Или всё же в программе, которой достаточно 100 МГц, чего-то не хватает?
Если вы не в состоянии понять, о чём написано, зачем вы лезете спорить со своим мнением? Кто вас вообще о нём спрашивал? Я в своём комментарии изложил всё, что хотел сказать по этой теме. Не для дискуссии, а для фиксации в тексте. Меня не интересуют споры с людьми, которые не могут понять изложенное в письменной форме.
> Уж извините, но Питон экономит очень много времени опытным программистам. Новички, конечно его могут начать использовать и в тех случаях, где он может принести много боли и страданий, в отличие от более подходящих для этих случаев языков.Не извиню. Python писан наркоманами для наркоманов. В конечном итоге больше расходует времени, нежели экономит.
- Необычайно падуч. Удивляет своим поведением в самых неожиданных местах, где казалось бы ничего неверного быть не может.
- Стандартные библиотеки работают крайне неочевидным образом: по факту в них есть 100500 функций для всяких частных случаев, но обычно среди них нет той, которая подходит для конкретно твоей задачи.Раз: https://www.opennet.me/openforum/vsluhforumID3/112375.html#21
Два: https://www.opennet.me/openforum/vsluhforumID3/112203.html#38
Бегло посмотрел ссылки, в основном у Вас претензия к copystat? Она вызывается только в copy2, в copy - нет. copy2 может быть очень полезна для реализации чего-либо подобного rsync. Не вижу здесь поводов для претензий.И опять-таки, в Питоне можно написать дичайшие костыли, здесь вопросы к программисту, который их пишет. На Си, например, можно написать вещи гораздо хуже и ужаснее, уж поверьте, - я 4 новичков обучил.
> Бегло посмотрел ссылкиЧто бегло -- это видно.
> js
> go
> rustты божий дар то с яичницей не путай!
Среди этих трёх божий дар не просматривается.
Да и на яичницу не похоже. Она по крайней мере съедобная, в отличие от софта на этом. Странно что не на электроне написали, "всего лишь" на питоне.
>удивительно что не на js/go/rust написалиУгадайте с двух букв, на чём Docker написан? ;)
"го - это язык, на котором написан докер""руби - это язык, на котором написаны рельсы"
Серьёзно, он сливает по популярности даже полудохлому второму питону.
"питон - это язык, на котором написана джанга""жс - это язык, на котором написан ноджс"
"джава - это язык, на котором написан андроид"
"обжце - это язык, на котором написана айось"
Стоит ли говорить, что все эти языки создали свои экосистемы?
> "жс - это язык, на котором написан ноджс"90% ноджс написано на с/c++ (V8 и libuv). На JS там только высокоуровневая логика.
Надстройки над контейнерами. Фейспалм.Эти модные молодёжные авторы программ не в курсе, что операционную систему изобрели несколько десятилетий назад?
перечитайте новость еще раз, внимательно. Это "надстройка" только в том смысле, что использует готовые докерные контейнеры, а не высасывает из пальца нечто ненужное.> Эти модные молодёжные авторы программ не в курсе, что операционную систему изобрели несколько
> десятилетий назад?они в курсе. Вы - явно не в курсе, как обстоят дела в современных операционных системах на тему изоляции программ, и какие интересные проблемки при этом возникают.
этого в вашем институте в 82м году не проходили.
Да мало ли чего я в курсе или не в курсе. Мой поинт о методологии использования технических средств. Кольца защиты изобретены, подозреваю, тоже раньше рождения авторов модного и молодёжного контейнерного мышления. Как и ОС, вторично напоминаю. Не ОС ли, согласно ветхозаветным преданиям, распределяет права, полномочия и ресурсы? Ага. Забыли, небось, в пылу оборачивания в контейнер и укладывание в песочницу каждого байта. А то, что хипсторы не умеют использовать наличные средства, но с нуля пишут нечто новое, зато простое для _их_ понимания — это таки диагноз, в том числе поколению. Микроядро, кстати, тоже изобрели много лет назад, но почему-то пилить эту перспективную и полезную тему у хипсторов нет вдохновения. Почему? Потому что с жабоскриптом и эмоджи туда не добраться? Заодно напомню, что VMS и другие правильно спроектированные системы почему-то не ломают, и айбиэмовские мейнфреймы стоят незыблимыми скалами. Да что я, в самом деле, так далеко заглядываю? Нашу маленькую ручную милашку OpenBSD тоже ручками скрипткиддисов не шибко-то сломаешь.
ЗЫДа и название весьма символизирует, и эмблема. Всё для безопасности. :)
ЗЫ2Малыши даже текст без эмотиконов не решились написать:
http://i102.fastpic.ru/big/2018/0313/e6/375a05f850b700118ac7...
Серьёзный инструментарий, ага.
Стоя аплодирую.Без шуток.
Релиз сделали, а ни одного видео не выложили
Согласен. Теряют огромную аудиторию.
а существует обратное? запуск маковских бинарников в линухе?
Это было бы очень круто!
Нет, не было бы.
А чего там для МакОСи такого ценного есть? Для Венды ещё понятно, всякие там, среды разработки от производителей FPGA, например и т.д. А от МакОСи разве что Safari запускать.
хотябы Автокад.
> А чего там для МакОСи такого ценного есть? Для Венды ещё понятно,
> всякие там, среды разработки от производителей FPGA, например и т.д. А
> от МакОСи разве что Safari запускать.Вот он — типичный линуксоид: никогда не видел мак и не в курсе, зачем его люди творческих профессий предпочитают с середины восьмидесятых, но _мнение имеет_.
"люди творческих профессий" - как здорово сказал. И не обидно и цензурно.
Игры Spiderweb Software. Не виндовс-версии же эмулировать в самом деле.
https://www.darlinghq.org
> автоматически организует совместный доступ к каталогам и файлам из запускаемых контейнеров. Файлы пользователя делаются доступны как для основной системы, так и для программ, работающий в контейнерах. Запуск команд осуществляется прозрачно для пользователя, без необходимости явного старта и остановки контейнера.т.е. они распаковали контейнер?
Ждем от создателей
shlyapa — аддон к файрфокс, выполняющий автоматический вход во все аккаунты в анонимных окнах
xpdo — надстройка над sudo запускающая все приложения от рута, не требующая ввода пароля
brelok — надстройку над менеджером паролей, автоматически печатающую пароль для удобного напоминания пользователю в терминале и возле форм входа на сайтах
В новости этого нет, но если последовать по ссылке, то можно узнать:
1. Шарится не весь хомяк или вообще корень, а только каталоги, указанные при создании образа.
2. Сабж предназначен не для изоляции и секурности. Он сделан девелопером для удобства своей работы.
> Сабж предназначен не для изоляции и секурности.Это заметно.
> Сабж предназначен не для изоляции и секурноститакие вещи не плохо было бы писать везде первой строчкой в новости о каждой такой программы (которая не предназначена)..
ато ведь автоматически пользователь может подумать что безопасность-то соблюдается.
а тут бац и оказывается что "не для безопасности"!
> 1. Шарится не весь хомяк или вообще корень, а только каталоги, указанные
> при создании образа.
> 2. Сабж предназначен не для изоляции и секурности. Он сделан девелопером для
> удобства своей работы.Кратинки в тексте лучше текста, да:
http://i102.fastpic.ru/big/2018/0313/e6/375a05f850b700118ac7...
heepster - устройство для Вумного Дома (ессно под редхетикс), печатающее пароли на стикерах и вешающее их на монитор.
shlyapa - это какая-то утиль из RHEL :)
> т.е. они распаковали контейнер?нет, в том и дело.
Они сделали так, чтобы работал штатный контейнер, но дали ему дополнительные возможности (сохранив изоляцию в той степени, в которой было можно).
Можешь и вручную, конечно, штатными средствами - но заманаешься быстро и в результате переизобретешь этот же велосипед.> xpdo — надстройка над sudo запускающая все приложения от рута, не требующая
> ввода пароляэ... man sudo /NOPASSWD (в общем-то во многих отношениях более безопасная настройка, чем любая другая)
остального ждем-с с нетерпением.
(правда, мне кажется, код slyapa уже случайно включен в ночные билды самого файрфокса, только об этом еще не объявили)> brelok — надстройку над менеджером паролей, автоматически печатающую пароль для
> удобного напоминания пользователю в терминале и возле форм входа на сайтахэ...менеджеры-паролей, передающие пароли через clipboard - в общем-то гораздо опаснее. Рисовать их куда-нибудь в root window было бы прикольно, хотя и неудобно.
> man sudo /NOPASSWDладно, тогда для педантов пусть будет конфиг zsh, а не надстройка над судо. Идея в том, чтоб запускать все приложения под рутом для удобства пользователя, при этом давая пользователю ощущение безопасности, оставляя его под его пользовательстким аккаунтом
> ладно, тогда для педантов пусть будет конфиг zsh, а не надстройка надо, плагин!
> судо. Идея в том, чтоб запускать все приложения под рутом дляэто немолодежно. Надо угадывать (желательно, задействуя гугль для анализа команды), от рута ли должна запускаться данная программа, и, автоматически и не огорчая пользователя ненужными ему деталями, запускать ее через sudo. NOPASSWD в конфиг добавлять автоматически при установке, разумеется.
надстройка надстройки над надстройкой для надстройки
Изоляция там тоже картонная?
А для Mac OS это принципиально?
Просто хацкеры саипутся ломать линух софт в докере пущенном на макоси.
Точнее они подумают, что одмин отмороженный и пройдут мимо.
Стухл.
> Точнее они подумают, что одмин отмороженный и пройдут мимо.Они испугаются что админ IRL такой же красавец, а бронетрусы достать сложнее чем настроить файрвол.
>Dockerэто тот, который требует рута настолько, что может снести хост?
> надстройку над Docker, которая автоматически организует совместный доступ к каталогам и файлам из запускаемых контейнеровДля тех, кому в падлу набрать -v /share?
>> надстройку над Docker, которая автоматически организует совместный доступ к каталогам и файлам из запускаемых контейнеров
> Для тех, кому в падлу набрать -v /share?при каждом запуске контейнера (например, отладке) каждые пять минут. Ну да.
Даже не знаю, как тебе сказать… Вообще-то в шеллах, тех, которые интерактивные, есть история команд. Обычно стрелочкой вверх можно перейти к ранее введённым командам и не страдать. А ещё есть поиск по истории, обычно Ctrl+R, но это уже для совсем продвинутых, ты сначала со стрелочкой потренируйся.
ну вот пусть "продвинутые" дятлы типа тебя и "тренируются" долбить стрелку-вверх-стрелку-вверх (а если еще и контейнеров не один а пачка в связке работающих...)А нормальный программист написал себе скриптик и поделился с желающими.
> Файлы пользователя делаются доступны как для основной системы, так и для программ, работающий в контейнерах
> Запуск команд осуществляется прозрачно для пользователя, без необходимости явного старта и остановки контейнераБезопасность уровеня "devops"! Теперь, видимо, майнеры на докерах опередят IoT-устройства по хэшрейту.
> Безопасность уровеня "devops"! Теперь, видимо, майнеры на докерах опередят IoT-устройства
> по хэшрейту.Ничего, ща еще опеннетчики ударят ддосом по майнингу, и сетевая вакханалия приобретет невиданный размах.
я как раз недавно думал, что хорошо бы что-то типа флатпака, но с докером в виде бэкенда вместо той самопальной чуши, что у них там сейчас
> я как раз недавно думалНе ври