Компания Microsoft объявила (https://azure.microsoft.com/en-us/blog/powershell-is-open-so... об открытии исходных текстов командной оболочки PowerShell (https://ru.wikipedia.org/wiki/Windows_PowerShell), сочетающей в себе язык сценарием и инструментарий управления конфигурацией и автоматизации работ. Код открыт (https://github.com/PowerShell/PowerShell/) под лицензией MIT. Одновременно заявлено о портировании PowerShell для Linux и macOS. Первые экспериментальные сборки уже доступны (https://github.com/PowerShell/PowerShell/releases) для Ubuntu 14.04/16.04 и CentOS 7.В качестве причины открытия PowerShell называется желание вывести данный инструментарий из категории специфичных для Windows разработок и превратить его в полноценный кросс-платформенный продукт, уступив пожеланиям клиентов, которые ценят возможности PowerShell, но не довольны привязкой к платформе Windows. В условиях роста популярности гетерогенных программных сред, в которых применяются решения на базе разных операционных систем, привязка решения к одной платформе воспринимается как недостаток и снижает потенциал продукта, поэтому Microsoft вначале осуществила адаптацию для Linux и macOS платформы .NET, а теперь настала очередь PowerShell.
Для улучшения совместимости с принятыми в других системах методами работы, PowerShell также расширен средствами удалённого выполнения скриптов с использованием SSH в качестве транспорта, вместо специфичного для Windows протокола. В перспективе перевод PowerShell на многоплатформенные рельсы позволит адаптировать и другие инструментарии Windows и Azure, такие как Operations Management Suite и Desired State Configuration, для унификации управления инфраструктурами с разнородными ОС.
URL: https://azure.microsoft.com/en-us/blog/powershell-is-open-so.../
Новость: http://www.opennet.me/opennews/art.shtml?num=44995
Следующий этап исходные код Windows?
Наверное сначала исходные коды cmd.exe
Ничего невероятного, вполне возможно.
Вынесут всю полезную функциональность в аналог Google PlayServices, а остальное откроют и назовут WOSP.
Это какую полезную функциональность вынести в гаппс?кроме фичи установки и обновленияПО
Вы не путайте g apps и g services для начала.
Аналог g apps это Office, его (как и g apps) никто и никогда не откроет, об этом и речи нет.
Аналог g services это, например, DirectX.
> Вынесут всю полезную функциональность в аналог Google PlayServices, а остальное откроют
> и назовут WOSP.А смысл? Учитывая что MS никогда не рассматривал кастомизацию и тем более разработку своей оси кем-то кроме себя и приложили усилия к устранению системщиков из своих систем - толку будет ноль. Ну вывалят они сотни специфичного кода. И? В нем никто не разбирается, драйверы умеет писать полтора человека из крупных контор, которые уже при делах.
Все прибито на гвозди. Бред про IoT - отлично, только в их системе даже гуй нельзя отодрать, при том что в IoT на него смотреть некому и он только на ровном месте требует железо в разы мощнее (и, ясенхрен, дороже). Да и поддержка железа в винде хромая на обе ноги нынче. Достаточно посмотреть как инвалидные виндофоны поддерживают аж целый квалком.
Итого? Это как накидать самосвал мусора со свалки и выгрузить у тебя во дворе. Настолько же перспективно в плане получения спасиб в свой адрес.
Не торопитесь. Сапёр на очереди.
> Не торопитесь. Сапёр на очереди.Их уже с дюжину разных написали - поздняк метаться :)
>> Не торопитесь. Сапёр на очереди.
> Их уже с дюжину разных написали - поздняк метаться :)Этот же "Оригинальный" от авторов Лидера Рынка -- Оригинального Солитёра.
---ОТ: Какая гадость.
Лично для меня это "открытие чисто поржать"...
Нафига это дерьмище в линуксах?
Вот и я, мяко говоря - в ах-е: "уступив пожеланиям клиентов, которые ценят возможности PowerShell" ...
Это же насколько надо быть уродом чтобы _такое_ ценить?!
Вы не правы. PS основная среда управления в данный момент в инфраструктуре MS.
И кстати, я знаю и bash и PS и могу сказать что PS во многом более удобное и функциональное.Но главное теперь появляется возможность тесной интеграции win-Lin систем. Для меня например стояло несколько задач которые были решены костылями именно в связи с отсутствием данных действий MS в сабже.
и каким образом будет обеспечиваться интероп повершелоскриптов с башем и другими классическими тулами на нем или консольными тулами?
авторы повершела будут писать парсеры под каждую утилиту? допустим для стандартных тул это прокатит
но как быть с тоннами других пользовательских скриптов
>могу сказать что PS во многом более удобное и функциональное.Но все-таки признаете, что PS - "оно".
>Но главное теперь появляется возможность тесной интеграции win-Lin систем.
Фраза из рекламной методички ни о чем. Разверни мысль.
>Для меня например стояло несколько задач
Примеры?
Оно не может быть удобнее bash на данный момент... В будущем возможно...
Mono Asp.Net Core DNX
Компании Microsoft даже это уже не поможет...
Асиметричный ответ Microsoft на портирование FAR.
FAR имеет какое-то отношение к Microsoft?
Если бы имел - не портировали бы.
> FAR имеет какое-то отношение к Microsoft?Ясен пень, он только на нем и существует.
Я не для того на линукс с винды ушел, чтобы эта срань меня и тут преследовала
Они потому и портировали, что от них пользователь сбежал раньше времени. Вернитесь назад, не то - хуже будет.
> Они потому и портировали, что от них пользователь сбежал раньше времени. Вернитесь
> назад, не то - хуже будет.Честон говоря, думал минут десять... Так и не понял, нафига оно вообще мне тут, нафига оно открытое, и что мне с этим делать... Уже не вспоминая о том, что так и не понял, какой мне лично на линусках от этого прок. Расскажите?
Это для клоунов, которые убунточку в виртуалочке юзают, чтобы потом понтоваться перед клоунами которые не юзают.
>> Они потому и портировали, что от них пользователь сбежал раньше времени. Вернитесь
>> назад, не то - хуже будет.
> Честон говоря, думал минут десять... Так и не понял, нафига оно вообще
> мне тут, нафига оно открытое, и что мне с этим делать...
> Уже не вспоминая о том, что так и не понял, какой
> мне лично на линусках от этого прок. Расскажите?Если вам не нужно. не используйте. Зачем вы здесь сотрясаете воздух.
У вас отобрали bash?П.С. Красноглазие прям таки захлестывает обсуждение новости.
>> Они потому и портировали, что от них пользователь сбежал раньше времени. Вернитесь
>> назад, не то - хуже будет.
> Честон говоря, думал минут десять... Так и не понял, нафига оно вообще
> мне тут, нафига оно открытое, и что мне с этим делать...+много Там наверху, я не читал, лицензия не Апач-2? А то мож, просто готовят тело к биореактору? Последние ритуально-маркетинговые услуги, омовение (опен-вошь) тушки -- только в неделю(*пошёл второй месяц) майкрософта на опенет, майкрософту скидки!
...А вдруг вурдалак не вурдулак, а некромансер? Зовите Вина Рара Дизеля.
> Уже не вспоминая о том, что так и не понял, какой
> мне лично на линусках от этого прок. Расскажите?
Embrace, extend and extinguish же
правда, у них, скорее всего, уже не получится, — поезд уехал
Судя по тексту это все для их азура. Там уже треть машин - линуксы. Ну и во вторую очередь для тех, кто у себя использует обе ОС. Видимо опасаются других инструментов управления _разными_ ОС
> Я не для того на линукс с винды ушел, чтобы эта срань
> меня и тут преследовалаК счастью дотнет и эту срань используют полтора инвалида. Если от тебя кто-то начинает это хотететь, считайт что тебе повезло: более удачного индикатора что с тобой пытается работать му...к просто не найти. Смело посылай гада на... и в... - пусть грузится в свою пробэкдореную десятку и лижет мракософту и их друзьям из АНБ дальше.
Ты от PowerShell'a бежал на линукс? Угу. Действительно, PowerShell - корень всех проблем
А чего он такого умеет что на Linux пригодится?! Открыли потому что нет финансовой ценности у этого продукта
Хотят, видимо, чтобы энтузиасты сами дотянули эту штуку до bash'а с zsh'ами.
эта штука концептуально круче bash'а и zsh'а изначально
Ключевое слово - "конуцептуально". Как и многое у MS - идея хороша, исполнение - тяжеловесный многословный монстр.
> эта штука концептуально круче bash'а и zsh'а изначальноЭто изначально кривое поделие нафиг не упало при наличии нормального pdksh, не говоря уж.
И да, мы ведь все помним тот диалог некрософтовского манагера с Дэвидом Корном? ;-)
> И да, мы ведь все помним тот диалог некрософтовского манагера с Дэвидом Корном? ;-)Я об этом даже не знал, так что оставлю это здесь:
https://en.wikipedia.org/wiki/David_Korn_(computer_scientist...
Спасибо за ссылочку. Вот бы ещё видео из 98-го.
> Спасибо за ссылочку. Вот бы ещё видео из 98-го.В 98-м с видео было "не очень". В лучшем случае его можно было наверное записать на какую-нибудь видеокамеру. Но размеры этих дур были далеко не смартфонными и поэтому их никто на всякий случай, про запас с собой не таскал.
98й это вам не начало 90х, эпоха VHS и любительских камер! Выводы из башки такие выводы...
> 98й это вам не начало 90х, эпоха VHS и любительских камер! Выводы
> из башки такие выводы...Ты VHS камеры вообще видел? Этой штукой можно было взять и у...ть :). Поэтому в отличие от смартфона их никто просто так с собой не таскал. Даже варианты где использовались уменьшенные кассеты с переходничком в полную были размером с добрый кирпич.
А вот нифига. Баш настолько крутой, потому что он тупой. Поэтому и десятилетиями живет.А подход PowerShell "накатить кучи объектного дерьма дерьма поверх дотнета" -- говно, неудобно, и годен разве что для поливания "неполноценного" баша говном в комментариях. На деле это говнище ни к чему не пригодно.
Спросите любого сисадмина, администрирующего, например, Exchange - пригодно оно или нет.
Впрочем, вы вероятно заявите что про Exchange то же самое что и про PowerShell.
Оно пригодно только ввиду безальтернативности. Куда им деваться-то, бедным виндоадминам. Кушают, что дают.
Появилась альтернатива для Exchange?
> Появилась альтернатива для Exchange?Да. Не пользовать его, например.
Что же вы предлагаете использовать в тех случаях где раньше использовали Exchange?
> Что же вы предлагаете использовать в тех случаях где раньше использовали Exchange?У вас свет клином сошелся на нем?
Обрывки воспоминания говорят, что это почтовик, но мне глубоко фиолетово, интеграция ssh озночает желание мс заиметь средства управления чем-то вроде libvirt, которое портировать в венду никто не собирается, а пирожок сладкий.
Это не просто почтовик. Кто уже подсел на это дело не захочет переползать на "обычный почтовик". Слишком много вкусного дает, при всей своей кривости. Поэтому и вменяемой, открытой замены ему нет.
>Это не просто почтовик...А что такоего уникального есть в Exchange кроме того, что оно "шурупами приколочено" к MSO?
Collaborate-календари? Их многоразных, в том числе умеющих этот... как его... MAPI...
Коллективная файлопомойка с раздачей прав? Да хоть OwnCloud возьми...
Поинтересуйся как работает CommuniGate...
>>Это не просто почтовик...
> А что такоего уникального есть в Exchange кроме того, что оно "шурупами
> приколочено" к MSO?
> Collaborate-календари? Их многоразных, в том числе умеющих этот... как его... MAPI...
> Коллективная файлопомойка с раздачей прав? Да хоть OwnCloud возьми...
> Поинтересуйся как работает CommuniGate...Пытались тут совместить все ваше перечисленное в одном дистрибутиве что бы "изкоробки". Как его там называли? Да кто вспмонит где он? Видать даже если задаться целью создать продукт (кстати его продавали за деньги) все равно не очень то получается.
Это на словах Лев Толстой...
> Пытались тут совместить все ваше перечисленное в одном дистрибутиве что бы "изкоробки".У эксченжа коробка большая. И вылезает он из нее полдня. Особенно приятно когда он вылез наполовину, расширив схему активной директории, и тут вдруг нашел в вашей системе фатальный недостаток. И полез обратно в коробку. Нет, remove или undo для подобных вещей не существует как класа и даже откат из резервных копий - огого какая эпопея, потому что надо синхронно откатить контроллеры домена. Если вы это вдруг рискнете - у вас полдня не будет работать вход в домен и вас конкретно вы...т за это.
> У эксченжа коробка большая. И вылезает он из нее полдня. Особенно приятно
> когда он вылез наполовину, расширив схему активной директории, и тут вдруг
> нашел в вашей системе фатальный недостаток. И полез обратно в коробку.
> Нет, remove или undo для подобных вещей не существует как класа
> и даже откат из резервных копий - огого какая эпопея, потому
> что надо синхронно откатить контроллеры домена. Если вы это вдруг рискнете
> - у вас полдня не будет работать вход в домен и
> вас конкретно вы...т за это.Давно так откровенно не ржал. А всё почему? Потому что правда написана.
Дык есть в нём уникальное. Winmail.dat называется.
> Это не просто почтовик. Кто уже подсел на это дело не захочет
> переползать на "обычный почтовик". Слишком много вкусного дает, при всей своей
> кривости. Поэтому и вменяемой, открытой замены ему нет.Zimbra?
>> Поэтому и вменяемой, открытой замены ему нет.
> Zimbra?
Я тут стороной, но вы слили. Очередной опенанус комментатор ака "Спорю о чем не знаю "
>Спросите любого сисадмина, администрирующего, например, Exchange - пригодно оно или нет.На безрыбье - рыбу раком! Другого то тула у них тупо нет!
Самое смешное, что в нонешнем EX есть вещи которые можно сделать только через PS :) Нету в их новой гуйной управлялке методов "против Кости Сапрыкина" :)>Впрочем, вы вероятно заявите что про Exchange то же самое что и про PowerShell.
Я - да. Но за него согласны платить, "а это значит" (С) Мишка
А теперь объясни смысл нативного PS без нативного EX на линях? Скриптики писать да? 8-D
> Самое смешное, что в нонешнем EX есть вещи которые можно сделать только через PSНичего смешного, это совершенно осознанная стратегия.
Уже довольно давно админы Exchange из PowerShell не вылазят, и чувствуют себя неплохо.
> Уже довольно давно админы Exchange из PowerShell не вылазят, и чувствуют себя неплохо.Если не считать того что роскошь содержания полновесного дотнет-дева в роли эникея для мелкой автоматизации может позволить полторы компании на планете. Powershit сложный, требует знания дотнета и там крайне сложные взаимосвязи. Просто запайпить что-то куда-то? Ну что вы, так там нельзя. Там объекты и даже матерый дотнетчик не всегда иожет сказать что получится в результате.
А чувствуют себя неплохо только те наивные додики которые не видели сколько времени занимает в *никсах установка почтаря и вебсервера. ЧСХ если ты подолбаешься во всех позах с сложным и кривым IIS - это еще не значит что ты переплюнешь по скорости нжинкс или что под это будет столько же софта сколько под хотя-бы LAMP'у пресловутую.
>Ничего смешного, это совершенно осознанная стратегия.
>Уже довольно давно админы Exchange из PowerShell не вылазят, и чувствуют себя неплохо.Знаете, виндовый админ, как свинья в луже, всегда чувствует себя неплохо.
...
Я помню был на курсах по Cisco, которые посещали и виндовые админы. Так вот как раз PShell'a только появился (во времена vista или типа того). Они бросали в небо чепчики и кричали "аллилуя! как это удобно и здорово!" Они не знали, что вобще такое бывает. Никогда через шел не пытались работать. Слаще морковки ничего никогда не пробовали. И для Exchange альтернатив на той платформе, ес-но, нет. Это же не говорит, что pshell теперь лучше других шелов. (Видели окошко pshell? там нельзя выделить строку текста мышкой. там выделяется квадратный _блок_! это при работе со строками! очень неудобно)
Microsoft опять хочет захватить мир и это то, за что я лично ненавижу эту компанию. За их лживый маркетинг и за то, за проблемы, которые возникают в итоге с их решениями. Ведь еще 5-10 лет и поколение виндовых админов (студентов) начнет плодить "кросплатформенные" скрипты и писать хаутушки... Если bash живет себе спокойно и никто его не проталкивает, то psh будет навязываться и навязываться.
> Знаете, виндовый админ, как свинья в луже, всегда чувствует себя неплохо.А что вы хотели от тех кого устраивает консоль без нормальной копипасты и вкладок? Это как разговаривать о преимущесвах браузеров с пользователем IE 5.0 :)
>А теперь объясни смысл нативного PS без нативного EX на линях? Скриптики писать да?Ну наверное. Если они захотели сделать .NET под Линь, то возможно, шелл который умеет нативно работать с его оъектами удобней для скриптиков, чем тот, что не умеет.
И может быть им стало влом писать операционку - все хаят. Вот они по примеру РН решили монетизироваться, а че - вхерачим окошки на Линукс и вуаля.
А если что работать не будет - все вопросы к Вайну. Несогласные могут идти в РеактОс.
> Спросите любого сисадмина, администрирующего, например, Exchange - пригодно оно или нет.И то и другое жосское гэ - как бывший энтерпрайзный админ говорю.
Майкрософт угробил весь пойнт шелла. У них получился тормозной урод с сложными взаимосвязями. Чтобы им пользоваться - надо быть как минимум .NET разработчиком. Ты же не думаешь что дотнет разработчик будет заниматься мелким скриптингом автоматизации за зарплату эникея типа тигара? В результате найти кого-то на это дело часто не получается вообще. Те кто хотят хардкорный кодинг - идут в кодеры и получают кодерскую зарплату, ворочая куда более сложные и интересные проекты. Для админов powershit слишком замороченнй и сложный. В баше автоматизировать задачку за 5 минут может любое тело которое не прогуливало информатику в школе или на первой паре курсов любого технического универа. С дотнетом - жесть и хардкор, простейшая автоматизация которую юниксоиды ворочают за 5 минут превращается в кодинг и дебаг на пару дней. В результате большинство виндовых админов просто не способны к автоматизации чего либо. Вообще. А радоваться сабжу могут полтора кодераса. Которых в лине не больно то и ждут. Если кто еще не заметил по "ломовой" популярности mono и прочих asp.
Вообще, серверные технологии MS оверинженернуты донельзя, очень капризны и крайне сложны в установке и эксплуатации. При том что ничем таким особенным (кроме жосского гемора при случае) они не привносят.
Чтобы поржать - попробуй что-то сделать с Exchange если ESE NT storage engine не смог смонтировать базу. Извини, чувак, ты даже почту оттуда не достанешь. Проприетарный формат, поэтому тулинга - ноль. И если у тебя не было нужного бэкапа (а бэкапы там отдельное приколючение - еще пару ракетных инженеров придется нанять) - ну ты попал. Вменяемые эксченжи кончались примерно на 2003. Дальше начался совсем ад.
эт точно ... как админящий этот шит говорю.Особенно умиляет - когда база по всем тестам clean, а смонтировать ты её не могёшь. из-за ошибки 0x800хз-что ... Причём когда лезешь за объяснением этой ошибки вываливает кучу продуктов акромя Exchange.
Ну а про бакап Exchange - это тоже чистая правда. Надо сразу покупать что-нибудь типа veritas-а.
При том veritas глючит при восстановлении Exchange. Может насмерть починить, реплей логов у ESE NT работает через раз. А без реплея база не будет в актуальном состоянии. И если кто не спец в ESE - сдохнет у него сервак с вероятностью 50/50 и удачи в его починке.
Это чем же?
Ну да. Теоретически - лошадь, а практически - не везёт
дык "концептуально круче bash'а и zsh" вещей в UX - было и есть в разЫ больше чем у мелкомокрых. собсно с ряда оных - оно и срисовано. то что по дефолту в б-ве дистров ничего кроме баша не ставится - не слабость а сила их. аналогично кстати и с вендой - нех туда было Принудительно пишать пауэршелл куда надо и куда не надо, рубя функционально standalone утилиты, попутно, пытаясь Заставить это УГ юзать, вместо того чтобы заставить его органично Дополнять все это и виндовз в целом.
>> эта штука концептуально круче bash'а и zsh'а изначальноbash и zsh расширяются и становятся круче и куда удобнее этого вашего PowerShell, только тут вопрос: кому это надо?
>А чего он такого умеет что на Linux пригодится?!Например, с его помощью можно изучить PowerShell, не покидая привычной среды обитания.
>>А чего он такого умеет что на Linux пригодится?!
> Например, с его помощью можно изучить PowerShell, не покидая привычной среды обитания.Может, Я чего-то не понимаю, но ЗАЧЕМ ЭТО изучать?
> Может, Я чего-то не понимаю, но ЗАЧЕМ ЭТО изучать?Вдруг тебе жизнь кажется слишком простой и ты хочешь научиться делать все криво и сложно? Powershell может с этим желанием помочь.
клоун: что более осмысленно: получить массив объектов типа файл у которых есть реквизит типа Дата (Microsoft PowerShell), или вывести всю информацию о файлах каталога и пытаться распарсить полученные строки регулярными выражениями (bash)?
> клоун: что более осмысленно: получить массив объектов типа файл у которых есть
> реквизит типа Дата (Microsoft PowerShell), или вывести всю информацию о файлах
> каталога и пытаться распарсить полученные строки регулярными выражениями (bash)?Мы-то, ретрограды, читаем stat(1) и выводим структурированно, разбирая по полочкам...
получается и осмысленно, и быстро. Ну, примерно как chmod vs NT ACL.
> примерно как chmod vs NT ACLНе совсем корректное сравнение, т.к. NT ACL более гибкие, чем классические юниксовые права доступа. NT ACL уместнее сравнивать с getfacl/setfacl -- по удобству использования последние всё равно лучше, но тут хотя бы "весовые категории" значительно ближе.
>> примерно как chmod vs NT ACL
> Не совсем корректное сравнение, т.к. NT ACL более гибкие, чем классические юниксовые
> права доступа.Сравнение так и было задумано -- да, более гибкие, но оказываются слишком дорогими в эксплуатации, бишь забивают на их изучение и применение массово. А простые юниксовые -- применяются.
> Не совсем корректное сравнение, т.к. NT ACL более гибкие, чем классические юниксовые
> права доступа.С другой стороны, ВСЕ их фичи правильно понимает полтора человека. Как ты понимаешь, это открывает целое поле для злоупотреблений и пранков.
> клоун: что более осмысленно: получить массив объектов типа файл у которых есть
> реквизит типа Дата (Microsoft PowerShell), или вывести всю информацию о файлах
> каталога и пытаться распарсить полученные строки регулярными выражениями (bash)?Ну, на, болезный:
$ ls |xargs stat -c %y\!%n |while IFS=\! read mtim name; do echo "File \"${name}\" has mtime = \"${mtim}\""; echo; done
linux, bash и никаких _бессмысленных_ пшелов.
Не умеешь -- не берись. Ладно бы якорил на чего супер-супер, чего без перла-питора-руби не протолкнуть, а то "имя-время", понимаешь. Слабак!
---Йода: Не пытыйся.
Сколько же можно на эти грабли наступать? Пробел или еще какой спецсимвол в имени файла и привет факап. Все таки find -print0 и xargs -0 не просто так придумали. Ну или хотя бы xargs -d '\n'
> Все таки find -print0 и xargs -0 не просто так придумали.Ещё grep -Z и sort -z: http://www.altlinux.org/Secure_Packaging_Policy
> клоун: что более осмысленно: получить массив объектов типа файл у которых есть
> реквизит типа Дата (Microsoft PowerShell), или вывести всю информацию о файлах
> каталога и пытаться распарсить полученные строки регулярными выражениями (bash)?Баш не предназначен для сложной логики. На нем пишется glue code объединяющий готовые программы между собой. Этот glue - адаптер между программами и может быть самую капельку логики, не критичной к скорости и надежности. Т.е. дело баша - позвать более подходящие для такого фокуса программы и наладить толкание между ним результатов. С этим он справляется.
А когда твой монстр будет толкать какие-то реквизиты - умрешь понимать что в каком случае можно и нельзя и замучаешься переубеждать его что то что ты хочешь - технически валидно, и вообще, пятиминутная автоматизация превращается в полдня кодинга и полдня дебага. Извини но такая системная автоматизация даром не вперлась. За сутки долботни я напишу еще более крутое решение на чистом си, оно еще и заткнет дотнет в 3 раза по скорости и в 20 раз по времени запуска. И из depends будет только libc6, чего доброго. Без 100 метров рантайма.
> Баш не предназначен для сложной логики.Зам ты заменил "не асилил" этой портянкой из двух абзацев бесполезного текста?
> Баш не предназначен для сложной логики. На нем пишется glue codeНаверное для вас это будет шоком, но:
https://github.com/mydzor/bash2048
> Наверное для вас это будет шоком, но:
> https://github.com/mydzor/bash2048А в чем шок? Теоретически то любой ЯП позволяет писать программы произвольной сложности. Практичкски - есть некоторые нюансы. Из-за которых результат может получиться забагованным и небезопасным, глючным, сложным в майнтенансе или можно просто задолбаться его кодить, обнаружив что то же самое делалось где-то еще в пять раз проще.
В результате вот как-то так и получается что DHCP сервера отгружают любителям баша опции с кавычками и далее следует remote code injection. Прости но для работы с недоверяемыми входными данными баш та еще порнография. А такой порнографии в системах много. Файлы и пути, кретативные симлинки имена процессов и много чего еще. Внутри себя все файловые операции например - это сишный код. Они нормально относятся к любым вещам, кроме того что / для них это смена уровня а 0x00 - конец строки. Все остальное - пролезает только в путь. Кстати очень интересно как PS и скрипты на нем смогут с этим жить. Он в винде не мог столкнуться с тем что путь может быть "C:\*.lol > CON". В винде такая закорюка означала все что угодно, но только не имя файла. В *никсе можно создать файл с таким именем. Хоть н и будет вызывать подглюкивания у необдуманно написанных скриптов и некоторых утилит :)
Наверное для вас и всякие KolibriOS сложные и "забагованные, небезопасные, глючные, сложные в майнтенансе (что это за слово такое?) "? А тем не менее туда даже Quake портировали. Умеют же, могут?Это уж не говоря про ядро Linux, которое содержит исключительно C и ASM. Вот уж где, наверное, прострелили ногу через голову не один раз и ещё не один раз прострелят. Да только это работает и это, о ужас, даже разрабатывают до сих пор и очень активно. К вашему сведению - Си считается "опасным" языком, только потому что все операции с памятью выполняются в ручную программистом. Создал объект? Будь добр удалить его. То есть ядро Linux и утилиты GNU по вашей логике небезопасны\забагованны\глючны по умолчанию?
К чему я всё это веду? Надо знать инструмент, на котором программируешь. Да, язык это только инструмент и для многих языков нужно иметь голову на голове. И скриптовой язык не должен обладать "мощностью" языка высокого уровня. Нужен достаточно сложный скрипт для автоматизации? Если не можешь в баш, выбери Ruby\Python\Lua\Что-то_ещё, и таскай за собой кучу рантаймов, вместо одного busybox в initrd. Иначе напиши на баш один раз и забудь на 10 лет.
Я всё сказал.
>> голову на голове"голову на плечах", тоесть, тьфу.
> Наверное для вас и всякие KolibriOS сложные и "забагованные, небезопасные, глючные, сложныеНет, они просто бесполезные с точки зрения real-world применений. Автор(ы) страдают фигней. Их авторское право на что время убивать, но это не отменяет того что это страдание фигней.
> в майнтенансе (что это за слово такое?) "?
Окончишь школу - узнаешь.
> А тем не менее туда даже Quake портировали. Умеют же, могут?
А дум на фотоаппарате запускали, чтоли. Только врядли кто-то будет на фотоаппарате в дум играть. Концептуально и ... бесполезно.
> Это уж не говоря про ядро Linux, которое содержит исключительно C и
> ASM. Вот уж где, наверное, прострелили ногу через голову не один
> раз и ещё не один раз прострелят.Более того - прострелят в любой программе сложнее hello world. Вон сотни кривой вебни на всяких PHP, python и ruby позволяют хаксорам ломать вебсервера. Без всякого си и асма, заметим. Скоро туда же присоединится Go, просто потому что на нем много наколенщиков пишет левой пяткой. Да и Rust врядли отстанет. Глядя на адептов.
А самый дорогой факап планеты говорят вообще вышел с использованием Ада. Языка, который вроде бы должен факапы предотвращать. А вот поди ж ты, ракета взорвалась из-за ошибки в софте.
> что все операции с памятью выполняются в ручную программистом. Создал объект?
В си и ассемблере изначально нет такого понятия как объект.
> Будь добр удалить его. То есть ядро Linux и утилиты GNU
> по вашей логике небезопасны\забагованны\глючны по умолчанию?По умолчанию забагована любая программа сложнее hello world. И даже не так уж важно на чем она написана, скорее важна общая сложность и насколько успешно сложность смогли понизить. Линуксное ядро - далеко не хучший пример в этом плане. В нем ошибок на 1000 строк кода заметно ниже чем в других проектах, а для проекта такого размера - там ошибок не так много. Большинство других проектов давно бы сколлапсировало при таком размере и интенсивности разработки.
> голову на голове. И скриптовой язык не должен обладать "мощностью" языка
> высокого уровня.Баш имхо нормален только как glue логика между программами-модулями. Как низкоуровневое нечто он тормознут и крайне крив в плане эскейпинга. Для сложной логики - он ничего такого не умеет и на нем все это выглядит мерзко и криво и разобраться в этом может только автор этого безобразия. Ну так, глядя как в альтлинуксе никто не хочет майнтайнить их упражнения.
> одного busybox в initrd. Иначе напиши на баш один раз и забудь на 10 лет.
А в busybox, чтоб ты знал, не bash а его собственный шелл. И он таки не прожует все фичи которые понимает полный bash. И на практике если наворотить на баше - альтлинукс теперь и таскает баш 3.х, про который все давно забыли. У них эти навороты на баше которые теперь некому переписывать. Любитель сложной логики на баше на это забил, остальным такое счастье и подавно не надо, и вот как-то так это потом и работает. И глядя на это - умный человек может и поучиться на чужих ошибках.
> Я всё сказал.
По-моему кого-то долбит синдром утенка.
Это не аргумент хотя бы потому что https://github.com/themattrix/sed2048/tree/master/src/lib
то-же наверное что и с 'зачем это ЮЗАТЬ?'
незачем, категорически. и на оффтопике - оно лишь репрессивными мерами как-то вяло внедряется ввиду безльтернативности и ампутации функциональной привычных и полюбившихся всем инструментов.
В девопсовских штучках для оффтопика часто применяется
> В девопсовских штучках для оффтопика часто применяетсяДевопс в оффтопике - это звучит как забег на костыляз.
>> В девопсовских штучках для оффтопика часто применяется
> Девопс в оффтопике - это звучит как забег на костыляз.Да просто эникеи себя так называют, для "солидности".
> Да просто эникеи себя так называют, для "солидности".Эникеи powershit в жизни не осилят - там дотнет знать надо. А если рожа выучила дотнет - эт не эникей а гордый велопер, эникеить не будет уже. Да и превращать мелкую системную автоматизацию в хардкорную разработку на нете - может додуматься только MS. Хотя ты пришел к не менее странным паттернам с другого бока, пытаясь использовать баш в роли хардкорного девтула.
Оно умет запускаться десяток сукунд и жрать сотни мегабайтов ОЗУ при исполнении не сложных действий!
что за бред? "уступив пожеланиям клиентов, которые ценят возможности PowerShell, но не довольны привязкой к платформе Windows". все эти полтора клиета - пациенты психбольниц. кому это нафиг нужно на нормальной ОС(на линуксе)?.
>все эти полтора клиетафанатов powershell'а довольно много. ...хотя лично я не понимаю, что в нём такого особенного. возможно оно просто оно на два порядка функциональнее cmd.exe
> хотя лично я не понимаю, что в нём такого особенногоунифицированная работа с объектами, а не строковым мусором
>> хотя лично я не понимаю, что в нём такого особенного
> унифицированная работа с объектами, а не строковым мусоромХозяйке на заметку: это же тело, смело ходя через tor, орало "круче bash/zsh" выше и пыталось оскорблять здесь и в паре соседних новостей. Вот чему они потом удивляются?
>>> хотя лично я не понимаю, что в нём такого особенного
>> унифицированная работа с объектами, а не строковым мусором
> Хозяйке на заметку: это же тело, смело ходя через tor, орало "круче
> bash/zsh" выше и пыталось оскорблять здесь и в паре соседних новостей.
> Вот чему они потом удивляются?это не хозяйке, а владельцу этого ресурса, который поощряет анонимность с целью показа большего количества рекламы.
>>>> хотя лично я не понимаю, что в нём такого особенного
>>> унифицированная работа с объектами, а не строковым мусором
>> Хозяйке на заметку: это же тело, смело ходя через tor, орало "круче
>> bash/zsh" выше и пыталось оскорблять здесь и в паре соседних новостей.
>> Вот чему они потом удивляются?
> это не хозяйке, а владельцу этого ресурса, который поощряет анонимность с целью
> показа большего количества рекламы.Владелец тут сам сepит прикидываясь клоуном.
Строковый мусор легко сделать не мусором, если все стандартные команды научить работать с json на входе и на выходе, и добавить команду для процессинга json (а-ля xslt, только с коротким и человеческим синтаксисом).А этот вот многословный java-стиль в шелле, который ежедневно и ежечасно используется для написания одноразовых однострочников, - нет уж, увольте.
JSON не слишком хорошо совмещается с tacit AKA point-free стилем пайпов.
Даже в Haskell лучшее что смогли сделать - это lens.
Вообще-то пайпы чинить надо давно. А то текут :-) Как минимум - стандартная возможность обратной связи от переднего по цепочке заднему (причём - запуская справа налево) и какие-то метаданные параллельным потоком - собственно, этой пары достаточно, чтобы любую структуру ввести абсолютно прозрачно для всего, что её не понимет. Но и помимо много интересного можно сделать - от flow control до вывода процентиков - сколько обработано.
> Вообще-то пайпы чинить надо давно.Давайте обсудим, интересно.
> Как минимум -
> стандартная возможность обратной связи от переднего по цепочке заднему (причём -
> запуская справа налево) и какие-то метаданные параллельным потоком - собственно,
> этой пары достаточно, чтобы любую структуру ввести абсолютно прозрачно для всего,
> что её не понимет.Я пока не понял какое отношение это может иметь к сложным вложенным древовидным структурам, насколько я понимаю, вы предлагаете расширить пайпы до произвольного графа потока управления общего вида. Первый вопрос очевиден - как вы это предлагаете выразить синтаксически?
> Но и помимо много интересного можно сделать
> - от flow control до вывода процентиков - сколько обработано.Можно и до полноценных корутин доделать.
>> Вообще-то пайпы чинить надо давно.
> Давайте обсудим, интересно.Например:
dataloss:... https://www.midnight-commander.org/ticket/3128
> When tee -a is unable to write to destination file, it returns "not 0". But tee is not the final stage of the pipe, and we can't get it's return value (like $?). Bash provides $PIPESTATUS, other shells don't. We must provide the portable shell code here.
Отношение простое - чтобы прозрачно реализовать структурированный поток в пайпе источник должен знать, готов ли реципиент этот поток принимать. Значит, он должен иметь возможность получить от реципиента эту информацию. С другой стороны, реципиент тоже не должен гадать, что ему шлют - то есть ему нужна возможность узнать, что пришедшие ему данные сериализованы.Мне кажется, это должно выглядеть похожим на пару bind/accept - то есть для fd есть возможность создать зависимый fd. Плюс соглашение, что для первого полученного/созданного таким образом fd формат данных фиксирован и он используется как поток метаданных о содержимом основного потока. Я бы взял какой-то бинарный формат, вроде MessagePack, и слал ключ/значение. Тип содержимого описывал бы mimetype=XXX.
Вопрос - можно ли это сваять, не забираясь дальше libc и шелла.
> иметь возможность получить от реципиента эту информацию. С другой стороны, реципиент
> тоже не должен гадать, что ему шлют - то есть ему
> нужна возможность узнать, что пришедшие ему данные сериализованы.
> как поток метаданных о содержимом основного потока. Я бы взял какой-то
> бинарный формат, вроде MessagePack, и слал ключ/значение. Тип содержимого описывал бы
> mimetype=XXX.Есть же прекрасные JSON, XML, и дрютыщи мильярдов простых #:) текстовых форматов!
> Вопрос - можно ли это сваять, не забираясь дальше libc и шелла.
Внешним %)) фильтром, юникс-вей же!
Вот для JSON-а есть jq http://www.opennet.me/openforum/vsluhforumID9/10061.html#1
(Для XML-я всё, наверное, так же (xmlslt какой... perl+модулЯ...) "кудряво", наверное.)Лучше?(ТМ)
Потоки бинарного непрозрачного "структуированного" сознания в пшелле, надо полагать (да, я сужу прямо с потолка), _намного_ страшнее....
Вопрос в другом. Как источнику понять, умеет приёмник структурированные данные или нет, и выдать в зависимости от этого либо их, либо текст, как сейчас? А конкретный формат сериализации - это то, что называется "детали реализации" м собого значения, честно говоря, не имеет. Понятно, что к нему должны быть соответствующие инструменты кодирования/декодирования, но если они есть - вообще пофигу. Мне бинарные форматы ближе - хотя бы потому, что через пайпы отнюдь не только текст может летать, не в uuencode/mime64 же его заворачивать.
> Вопрос в другом. Как источнику понять, умеет приёмник структурированные данные или нет,
> и выдать в зависимости от этого либо их, либо текст, какА, об Большом.... Ну "чиним пайпы" заменой _каждого_ двунаправленным сокетом с двунаправленным протоколом. А-ля pop3. А если а-ля imap, то "сразу" получаются конкурентные запросы. И Сетевая Прозрачность -- тоже даорм.
$ ls |sort
ls: failed to login: sort: "no SSL"
$ ls
ls: failed to login: /dev/tty/133: "no SSL"
$ _> сейчас? А конкретный формат сериализации - это то, что называется "детали
Тогда уже дождаться kdbus и заменить всё на него :-) А если всерьёз - то вопрос - можно ли описанное выше сделать, не косплея Поттеринга, а обеспечив полную обратную совместимость. Если да - то есть смысл повозиться, пожалуй... А там - вопрос, понравится народу или нет. Собственно, лично меня и вариант "все участники пайпа становятся участниками приватной dbus-like шины и все метаданные гоняют по ней" устроил бы, но такое точно не взлетит.
> Тогда уже дождаться kdbus и заменить всё на него :-) А еслиНе жди, уже Bus1. (Если только неделю до бесплатного чтения этой статьи на LWN...)
[$] Bus1: a new Linux interprocess communication proposal
Anyone who has been paying attention to Linux kernel development in recent years would be aware that IPC — interprocess communication — is not a solved problem. There are certainly many partial solutions, from pipes and signals, through sockets and shared memory, to more special-purpose solutions like Cross Memory Attach and Android's binder https://lwn.net/Articles/466304/ . But it seems there are still some use cases that aren't fully addressed by current solutions, leading to new solutions being occasionally proposed to try to meet those needs. The latest proposal is called "bus1". -- httpы://lwn.net/Articles/697191
Только оно про другое. IPC - не механизм композиции (пайпы шелла). Реймонд в taoup писал.
> всерьёз - то вопрос - можно ли описанное выше сделать, не
> косплея Поттеринга, а обеспечив полную обратную совместимость. Если да - тоТо ли про xkcd-шный 14+1 стандарт вспомнить, то ли ссылкой на [U]"Web Design: The First 100 Years"[/U] поделиться... Когда юниксу K&R (или кто там папа пайпов?) стукнет 100 лет, может, и народят ся в CS/IT ещё пара гениев. Ну, то есть я не испытываю никакого оптимизна по поводу "можно ли". Но оптимисты -- пость пытаются (--ой, опять это слово)
> есть смысл повозиться, пожалуй... А там - вопрос, понравится народу или
> нет. Собственно, лично меня и вариант "все участники пайпа становятся участниками
> приватной dbus-like шины и все метаданные гоняют по ней" устроил бы,
> но такое точно не взлетит."Простые пайпы" обросли сами по себе куууучей всего "нипаняааатного". Начиная с того, что кроме stdin->stdout ещё есть stderr, и терминал, и пользователь, и... сигналы? И заканчивая вселившимся уже в некоторые утилиты СверхРазумом, который _в_пайпах_ общается с терминалом (`ps`, shame on you!!)
PS: 2gvy: В тех гайдлайнах есть про негодника `ps` с требованием всегда грепать не ps ax, а вот именно ps axww ?
---Пришёл ли уже Bus1-фактор за Леннартом?!
> PS: 2gvy: В тех гайдлайнах есть про негодника `ps` с требованием всегда
> грепать не ps ax, а вот именно ps axww ?Не-а. Правда, в изолированном сборочном окружении и /proc-то нету, если не запрошено через BuildRequires (и при этом разрешено на хосте всем или конкретно собирающему).
Bus1 или нет - не слежу. А что "не для пайпов" - понятное дело. Шутка такой был, потому как сокеты - это, в общем, в даннном случае примерно на столько же неподходящее решение, вместе с конкуретными запросами и т.п.А насчёт xkcd и стандартов... Мыслей "сделать истинный стандарт и положить конец бардаку" нет - скорее, добавить инструмент и пощупать, удобно ли. Если да - то и ладушки.
> Не жди, уже Bus1. (Если только неделю до бесплатного чтения этой статьи на LWN...)Не в обиду LWN, похороникс писал про эту штуку уже пару месяцев назад. Там же был живой разработчик этой штуки, мнения о прожЭкте изучал. На тот момент это был эксперименит, где ничего не выбито в камне. Можно было выйти и высказать свое мнение что не так и как кто себе видит такую штуку. А появилась затея после многочисленных высказываний фи со стороны ядерщиками про kdbus и еще больше про dbus в LKML. Тут до разработчиков kdbus стало доходить что можно и не ограничиваться только разгоном dbus до 88 миль в час.
> Только оно про другое. IPC - не механизм композиции (пайпы шелла). Реймонд в taoup писал.
До такой перверсии в шелле как использование шины кажется еще никто не додумался, патентуй скорее. Майкрософту налицензируешь, богатым станешь.
> ---Пришёл ли уже Bus1-фактор за Леннартом?!
Водителем первого маршрута работает не леня, а Давид Херрвам чтоли :)
> Вообще-то пайпы чинить надо давно.ну init систему уже починили... может лучше пусть текут?
Вот поэтому и не надо ждать, пока чинить придёт Лёня сотоварищи.Чинил-то он не то чтобы совсем не сломанное, просто сделал уродски - и в плане архитектурных решений (те самые бинарные логи - и плохи они не бинарностью, а тем, что текст не лежит там, где его оидают существующие тулзы), и организацией кода (см. релизацию hostnamed, который не понимает изменения, внесённые командой hostname), и самим стилем кода - тут таки примерчики на днях были, что уши вянут.
Чтобы ТАКОЕ прокатило и было повсеместно принято нужно, что бы оно решало крайне наболевшие проблемы. А здесь - чинить придёт ребята из freedesktop.org, и будет вместо пайпов DBus во все поля. То есть шина - не то чтобы плохо, опять же, но не в их многословном и тормозном исполнении.
так... а мне вот не нравятся бинарные логи ни в каком виде и dbus шину я считаю плохой, потому что лишней. мне вот как-то совершенно непривычно видеть dbus в пустом контейнере. может, все-таки не надо ничего чинить. вот solaris знаешь? что они починили так починили за последние 10 лет? init исправили - исправили. шина у них есть? нету вроде.
Мне бинарные логи не нравятся только в том плане, что это поломанная совместимость. В том числе - с такими товарищами, как crypt :-) Поэтому я считаю правильным, чтобы бинарный лог можно было отключить (или не включать), а текстовый - включить (или не отключать). И при этом по-прежнему иметь индекс для быстрого поиска. Насчёт шины D-Bus - то же самое. В общем, если доавляешь какую-то факультативную возможность - делай её, чёрт возьми, факультативной.Вот "чинить" надо так же - чтобы кто хочет - пользовался, а остальные - даже не заметили изменений, а при желании - могли собрать без этого куска функуионалоьности вообще. А дальше - либо станет распространённым, либо помрёт, если на фиг не нужно.
Кстати, насчёт D-Bus - как по мне - какой-то механизм обмена информацией между приложениями, ни черта друг о друге не знающими, был бы полезен. Хотя бы чтобы сказать "ребята, я тут сейчас сожру много памяти ненадолго" - и остальные могли к этому как-то подготовиться. И тому подобная кооперация.
Но вот солярис - плохой пример. Где тот солярис? Угу, где-то есть. Может быть.
Присоединюсь к crypt. Бинарные логи не нужны в никсах ни в каком виде. Также как и объектные пайпы, бинарные конфиги и прочая срань. Хотите всего этого - для вас уже есть винда.
> Присоединюсь к crypt. Бинарные логи не нужны в никсах ни в каком виде.Ну тогда вы должны перстать gzip'ать логи, как минимум. А то интересно оказывается - некоторые бинари, типа *.gz - вроде бы и не такие уж плохие, а некоторые - фи.
>> Присоединюсь к crypt. Бинарные логи не нужны в никсах ни в каком виде.
> Ну тогда вы должны перстать gzip'ать логи, как минимум. А то интересно
> оказывается - некоторые бинари, типа *.gz - вроде бы и не
> такие уж плохие, а некоторые - фи.То есть ты сжатие потока от представления отличить не можешь?
>И при этом по-прежнему иметь индекс для быстрого поиска.На лоре, в системд тредах уже проверяли: grep быстрее.
> На лоре, в системд тредах уже проверяли: grep быстрее.А проверяли как обычно на локалхосте?
>> На лоре, в системд тредах уже проверяли: grep быстрее.
> А проверяли как обычно на локалхосте?А не-на-локалхосте огрызки вроде journal вообще незачем, требования другие совсем.
> так... а мне вот не нравятся бинарные логи ни в каком видеА ты умеешь в gzip деревья хафмана на глаз декодировать? Или ты старые логи не гзипуешь принципиально? А так невелика разница - позвать gzip или journalctl какой.
> за последние 10 лет? init исправили - исправили.
Исправили. С XML и скулайтом. Пожалуй леня получше исправил - с текстовыми конфигами в обычной файлухе. Без XMLно-скулайтового варианта регэдита.
>> так... а мне вот не нравятся бинарные логи ни в каком виде
> А ты умеешь в gzip деревья хафмана на глаз декодировать? Или ты
> старые логи не гзипуешь принципиально?да, вполне такое бывает, не сжимаю.
>> за последние 10 лет? init исправили - исправили.
> Исправили. С XML и скулайтом. Пожалуй леня получше исправил - с текстовыми
> конфигами в обычной файлухе.xml этот редактировать не каждый день, зато это все еще init, а не мегакомбайн. а наломал он гораздо больше.
> да, вполне такое бывает, не сжимаю.А большинство дистров по дефолту настроено сжимать. Но это ерунда. Подумай о том что технически обычная ФС - специализированная бинарная база данных. С кучей деревьев/хэшей и прочими прелестями. И если они разваливаются - парсинга можно хлебнуть по уши, кста.
А еще - уверен что знаешь все о своих логах? А если https://habrahabr.ru/post/308116/ почитать - точно об этом знал? Я видал и примеры поинтереснее, с атаками на парсинг текстовых логов. Нуачо, поскольку на поля не структурировано и фильтрацию мало кто делает нормально - атакующий в два счета проводит реструктуризацию по своему вкусу.
> xml этот редактировать не каждый день, зато это все еще init, а
> не мегакомбайн. а наломал он гораздо больше.Не знаю кто там что наломал, у меня от системд одни плюсы. Теперь можно прописать многие глубоко системные вещи в простой конфиг и не долбаться с кодингом самому. И он сам разберется когда какой сискол вызвать на мой конфиг. А если попробует не разобраться правильно - ему админы багов налепят оптом, придется чинить. Хорошо баги - поттеру, а не лично мне. Да, я пользуюсь фичами линукса. Я расставляю приоритеты, урезаю сисколы, меняю планировщики и расставляю лимиты. Я запиливаю сервисы которые смысл существования устройства и поэтому мне в кассу если там будет вачдог апи на случай если сервис угораздит загнуться. Это should never happen, но ракеты падают даже у европейских космических агенств, с софтом на аде. А я не могу позволить себе такой же уровень валидации софта.
> А большинство дистров по дефолту настроено сжимать.я меняю настройки, если надо.
> Подумай о том что технически обычная ФС - специализированная бинарная база данных.
вопрос не в этом, а в том, что есть большой набор средств работать с текстовым файлом (есть гибкость), а с "логом поттеринга" я могу работать только при помощи средств поттеринга. у тебя все ок. я это уже предвижу, можешь не отвечать.
> Не знаю кто там что наломал, у меня от системд одни плюсы.[устало] А кто ты, Вася пупкин, аноним с опеннета? Опыт? Хорошо, если ты админишь хотя бы десяток серверов. Зарегился бы. Завтра напишешь в соседний тред что-нибудь такое же "умное" по инжект в логи, а я тебя не узнаю. И судя по твоему энтузиазму, про инжект логов я услышал, когда ты еще не знал, что такое bash...
> я меняю настройки, если надо.А что насчет каких-нибудь b-деревьев и т.п. в файлухе? Ты логгишь сразу на принтер, чтобы не парсить всякие там деревья в бинарной файлухе? А то мало ли - ядро может однажды и не подцепить файлуху. А ты логи не сможешь прочитать.
> могу работать только при помощи средств поттеринга.
У поттеринга в journalctl есть вывод записей журнала в stdout в виде текста. Дальше с этим делается то же что и обычно, если хочется радоваться неспешному грепанию гиговых логов или что там еще.
> у тебя все ок. я это уже предвижу, можешь не отвечать.
Я в курсе что в байте 256 возможных значений и совершенно не имею ничего против использования всех 256 вариантов. Особенно если это привносит что-то новое. В журнале поттера по крайней мере достаточно просто понимать какой сервис что записал в лог, при том что это агрегированный сислог.
В чисто-тесктовом логе - парсить это чтобы одно только название сервиса выделить задолбаешься. Особенно с учетов возможных пранков как тут с SSH показывали, с инжектом ремотно текста сильно косящего под текстовый лог самого ssh. Так что парсеры чаще всего обламываются и можно легко забанить ... скажем, админа сервера, его же fail2ban'ом, достаточно его айпишник знать и грамотно подпихнуть в лог фэйк :)
> я тебя не узнаю. И судя по твоему энтузиазму, про инжект
> логов я услышал, когда ты еще не знал, что такое bash...Да вот что-то получение через DHCP рута было совсем недавно. Видимо инжекты всякой пакости в хзкак структурированный обмен информацией - новость не только для меня :)
> А ты умеешь в gzip деревья хафмана на глаз декодировать? Или ты
> старые логи не гзипуешь принципиально? А так невелика разница - позвать
> gzip или journalctl какой.ldd `which journalctl`
ldd `which gzip`Сравни, а потом готовся к 1-му сентября.
> Сравни, а потом готовся к 1-му сентября.А ты сравни что умеет gzip и что умеет journalctl, приколист. Gzip даже просто элементарный tamper resistance ни в одном глазу не обеспечивает. Поэтому любой уважающий хацкер первым делом вытирает себя из логов и это получается совершенно беспаливно.
И ты уж извини но мне нужна система которая подыгрывает мне а не хацкерам. Логи - это такой себе flight recorder и саботаж оного должен по крайней мере быть очевидным. А не так что мы тут поправили неудобные параметры тихой сапой, задним числом и никто не заметил.
> и самим стилем кода - тут таки примерчики на днях были, что уши вянут.Интересно взглянуть.
Ну, это уже отдельный вопрос.Можно не совсем честный json, а по объекту в строке:
{"name": "foo", "size": 100}
{"name": "bar", "size": 200}Вполне совместимо со всякими wc -l и подобным. На это построчно всякие jq, и уже неплохо для начала.
Ну и необязательно JSON, можно и другой структурированный формат.
> унифицированная работа с объектами, а не строковым мусоромИ на этой почве прогрев мозга и много сложностей на ровном месте, там где *никсоиды делают все просто и быстро.
тогда приведите примеры как оно унифицировано работает с пользовательскими шел скриптами на баше или просто стандартными консольными утилитами linux например
клоун: PowerShell работает с функциями API. Программы-прослойки, которые получают параметры функции, вызывают функцию, и выводят полученные результаты в консоль, в PowerShell не используются, он использует API напрямую.Удобство такого подхода ощущаешь сразу и уже не хочется возвращаться.
> Удобство такого подхода ощущаешь сразу и уже не хочется возвращаться.Куда возвращаться? Ты куда уехал?
>> Удобство такого подхода ощущаешь сразу и уже не хочется возвращаться.
> Куда возвращаться? Ты куда уехал?Он tsh никогда не видел. Там можно прямо вызывать ядерные функции прямо через С. :)
> Удобство такого подхода ощущаешь сразу и уже не хочется возвращаться.Возвращаться на cmd.exe? Хаха, хорошая шутка. И не в обиду, функции API удобнее вызывать из более нормальных программ. А скрипты удобно использовать как glue-code между более высокоуровневыми утилитами. Это и называется unix way. По своему хорош - разделяет уровни абстракции и делает ряд вещей сильно проще.
Поэтому напрограмить периодическую синхру rsync с анализом результата операции и какой-нибудь отправкой админу мыла при обломе синхры займет пару минут. А на powershell...
cmd.exe? оболочка для ping и ifconfig?)) блин, ну функциональнее этого будет даже табурет)
> cmd.exe? оболочка для ping и ifconfig?)) блин, ну функциональнее этого будет даже
> табурет)"ifconfig" -> systemd: "ip"
> "ifconfig" -> systemd: "ip"$ whereis ip
ip: /usr/sbin/ip /usr/share/man/man7/ip.7.gz /usr/share/man/man8/ip.8.gz
$ rpm -qf /usr/sbin/ip
iproute-4.4.0-3.fc24.x86_64
$Какое отношение systemd имеет к iproute?
Читайте документацию и планы разработчиков! Он же объектноориентированный! А следующая версия будет с блютусом! А потом с брызговиками!
Короче, да, хрень ненужная.
Сама по себе структурированность - штука хорошая, кто пытался парсить вывод ps - знает. Но то, как именно это сделано в PowerShell, и что оно очевидно никак не соответствует посиксовым реалиям - сводит затею на нет.
AWK отлично парсит вывод ps, но ты же его не осилил верно?
awk? Спасибо, у меня perl есть.Только вот ты вообще не понял, в чём вопрос. В выводе ps вместо команды может быть написано что угодно. С любыми символами, любой длины. Его вообще невозможно гарантированно корректно распарсить.
Ты удивишься на что спосебен AWK) Только осилить его с начала не забудь)
awk или Perl это непринципиально, к тому же именно изучать в 2016 году awk всё-таки наверное не лучшая трата времени.
Проблема ведь не в этом, проблема в самом принципе ad-hoc парсинга "от примера".
Потом команда выдает, например, еще одно поле - но ваш скрипт его уже не увидит, потому что тот пример её вывода, который вы рассматривали составляя awk или Perl шаблон, этого поля не содержал.
Ошибаешься, Perl создавался как язык для обработки неструктурированного текста, а awk как раз создавался для обработки структурированного текста типа таблица, который является стандартным выводов все утилит, то есть каждый раз создавая скрипт на перле для парсинга таблиц, ты по сути заново изобретаешь awk. AWK предоставляет средства для перебора всех столбцов и строк таблицы и выполнения над ними операторов, если например ты не знаешь точный индекс нужного столбца, но знаешь его имя, ты можешь создать переменную со строкой, например "%CPU", так как вывод ps является таблицей, то первая строка этой таблицы будет название ее столбцов, перебрав все записи ее и сравнив со строкой "%CPU" в переменной, можно найти индекс интересуюшего тебя столбца по его имени, ну и узнать кто же все таки жрет так много cpu, хотя и так все знают что это java)
То, для чего перл создавался и то, что он умеет (или удобно умеет) сейчас - это немного разные вещи, скажем так. Впрочем, такую тривиальщину, как распарсить табличку, в нём никогда проблемой не было.@names=split /\s+/, <>;
while(<>) {
chomp;
my @row = split /\s+/, <>;
push @rows, [@row];
}
Ужас нах. Срочно читать man perlrun на тему -a, -n, -p, -F, -l и прочего.
Напиши ;-) С учётом того, что первая строка обрабатывается отдельно и что это должно быть читабельным, а не шеллоавком в другом синтаксисе. И что к этому потом прицепится тело, которое с полученными данными будет что-то делать.
Мы все еще говорим об однострочниках или уже о скриптах на страницы, в которых никакие пайпы не нужны?
Мы всё ещё говорим о том, что писать надо так, чтобы было понятно и надёжно. Сколько надо для этого строк - столько и будет. Чай, не индусам за строки платить.
А, так тебе просто поболтать и не важно о чем. Тогда без меня.P.S. Запусти свой код под use strict.
Если ты хоть чуточку себя считаешь линуксоидом, с awk тебе непременно нужно познакомится)
Кем?
Это всё предрассудки.На кой мне три синтаксиса (sh, sed, awk) для обработки текста, если я уже знаю перл (это один из моих основных языков, кормивший меня не один год), который всё это умеет в куда более читабельном виде?
Я давно пришёл к выводу, что всё, что больше десятка строк или содержит хоть какую-то сложную обработку текста - на shell писать не нужно. Перл, питон, lua, D - что угодно будет более читабельным и много быстрее пишется (с учётом отладки).
Ты таки тупишь. Дело не в awk. Дело в том, что, во-первых, команду можно назвать как угодно, включая "foo --agv=value", во-вторых, в самой программе можно установить argv[0] во что угодно (в пределах длины оригинальной команды) и именно оно будет показано ps.
Вот что в следующем примере команда, что - аргументы?5977 pts/7 R+ 0:07 aaaaaaaaaaaaa aaaa -std=aaaaaa --param=bar
Правило командной строки sh гласит, первая неразрывная строка интерпретируется как команда, все что после пробела является аргументами передающимися в массив agrv собственно программы. Неужели ты не можешь написать регулярку под это простейшее правило, которая парсила по имени команд, ах да они же у тебя рандомноназываемые, ну что ж, тогда "*" тебе в помощь.
alex@ws ~/ttt $ ls -la
total 40drwxr-xr-x 2 alex alex 66 Aug 19 01:02 .
drwxr-xr-x 27 alex alex 4096 Feb 14 2016 ..
-rwxr-xr-x 1 alex alex 8572 Aug 19 00:55 aaaaaaaaaaa aaaa -std=aaaaaaДошло, в чём проблема?
Теперь дошло, ты тот еще извращенец....
> Теперь дошло, ты тот еще извращенец....А если завтра вой^Wскидди в гости заглянет и целенаправленно таких файликов понасоздаёт?
Всё-таки и на шелле стоит писать в стиле defensive programming, если результату надо работать. Это вполне возможно -- в ALT и Owl примеров множество (например, авторства ldv@ и legion@).
Шелл довольно много символов трактует специально. Это делает defensive programming на нем делом кривым и утомительным.
> Шелл довольно много символов трактует специально.
> Это делает defensive programming на нем делом кривым и утомительным.Я ж не зря сразу предложил, на что посмотреть.
Если хочется экстрима (притом полезного), можно и конкретизировать: https://github.com/legionus/libshell
А если попроще и местами почитабельней -- то, скажем, http://git.altlinux.org/gears/c/control.git?p=control.git;a=... (это http://altlinux.org/control)
Мне проще всякое низкоуровневое и работающее с хзчем на си накорябать - там в байте 8 битов и все значения равноправны.
> -rwxr-xr-x 1 alex alex 8572 Aug 19 00:55 aaaaaaaaaaa aaaa
> -std=aaaaaa
> Дошло, в чём проблема?Ой! :D Сервиспак для #210:
ls |xargs -I{} stat -c %y\!%n "{}" |while IFS=\! [,,,,]
Да, нечитаемо, неисправимо и неподдерживаемо... (И не :) awk.)
Вот именно. А хотелось бы что-то типа
ls |xargs --so -L 1 sh -c 'echo -n --so "File {{name}} has mtime "; date -d {{mtime}}; echo'где --so указывает, что мы понимаем "структурный" формат,{{xxx}} - значение поля с соотв. именем, ну и date -d этот формат тоже понимает
А ещё лучше - чтобы echo {{name}} и date -d {{mtime}} выставляли бы своему источнику соответствующий флаг, тот - своему (а заодно выражение в скобках передавалось бы как аргумент для команды), и всё бы начинало работать "магически":
ls |xargs (echo -n "File {{name}} has mtime "; date -d {{mtime}}; echo )
В шелле есть read, который может читать ввод в переменные. Остается только правильно отформатирвать вывод. Так что задача решаема без необходимости городить ради этого монстра вроде powershell и учить все существующие и будущие утилиты работать с объектами типа .NET.
Знову за рибу гроши. Какая именно задача решаема? Не допустить двусмысленности в сериализованном потоке и получить максимально простой и ясный код? Ни хрена она сейчас не решаема.
Ну если ты не понимаешь, как ее решить с помощью этих инструментов, и не можешь строить пайпы без объектов, то иди на винду к сабжу.
> Знову за рибу гроши.за риббон? :)
> Правило командной строки sh гласитА при чем тут sh? Ты поинтересуйся что такое argv** и argc, envp и все такое. И какие там реально значения могут быть. И вот все это - может свалиться на голову скрипту на шелле. Включая программу с креативным именем "hello $%#@'\n|<>:* world". А теперь попробуй это имечко файла из шелла обработать без спецэффектов. Я как-то в имена файлов повключал 0x0D и 0x0A. К тому что в имени файла будет перевод строки - морально не готовы большинство скриптов и даже некоторые системные программы :). А поскольку в *никсах в путях валидно ВСЕ кроме / и 0x00...
> Правило командной строки sh гласитА при чем тут sh? Ты поинтересуйся что такое argv** и argc, envp и все такое. И какие там реально значения могут быть. И вот все это - может свалиться на голову скрипту на шелле. Включая программу с креативным именем "hello $%#@'\n|<>:* world". А теперь попробуй это имечко файла из шелла обработать без спецэффектов. Я как-то в имена файлов повключал 0x0D и 0x0A. К тому что в имени файла будет перевод строки - морально не готовы большинство скриптов и даже некоторые системные программы :). А поскольку в *никсах в путях валидно ВСЕ кроме / и 0x00...
Команда (оригинальный исполнимый файл) никуда не девается, просто не показывается по-умолчанию в ps. Но если использовать опцию -o, можно достичь требуемого результата:myaut@panther:~> ps -o comm,args -p $$
COMMAND COMMAND
bash /bin/bash
Да, я в курсе. И /proc/$pid/cmdline выводит корректное имя (как и top). Проблема в том, Что товарищ выше всего этого не знает и не хочет даже думать, что где-то могут быть подводные камни.
> Сама по себе структурированность - штука хорошая, кто пытался парсить вывод ps - знает.Шеллу вообще тяжко сгружать произвольные недоверяемые данные. Но в *nix ты вообще можешь не трогать ps и обойти proc сам, получив кучу технической инфы, название бинаря и что там тебе еще надо. Если уж надежность твое все, используй сисколы и файловые операции.
И удачи тебе накодить на ps анализ списка процессов виндовса, для начала. Не забудь засечь сколько времени на это убьется.
не шибко много, https://technet.microsoft.com/en-us/library/ee176855.aspx
Не стоит так рьяно плеваться от всего что MS делают, там есть вменяемые инженерные решения.
> Не стоит так рьяно плеваться от всего что MS делают, там есть
> вменяемые инженерные решения.Оки доки, когда-то MS сделал AJAX. Только JS лучше б выкинуть и XML никто в здравом уме не использует, потому что и пухлый и парсинг утомителен. Но идея в целом прокатила, да.
Я где-то выше писал - у MS часто неплохие идеи, но монструозные реализации
> ... у MS часто неплохие идеиМожно список идей?
Ну, из того, что вспомнилось:
- OLE
- Вся система - набор компонентов с интерфейсами (ага, COM) - ну это они вместе с IBM делали
- WSH
- Кастомные "папки" - Windows Shell Objects - FUSE появился существенно позже, если что
- стандартная система кодеков - это даже сделано довольно неплохо, благодаря чему существуют такие штуки, как AviSynthЕсли что - я допаускаю, что половину из этого изобрели раньше - но лично я не встречал. И всё, кроме кодеков, реализовано так, что добровольно никто не пользуется, только если деваться некуда.
> - Кастомные "папки" - Windows Shell Objects - FUSE появился существенно позже,
> если чтоВот только FUSE доступен через POSIX API всем программам. А shell objects понимают полторы программы на планете, которые явно в курсе что это такое. И толку с него? Я не пользуюсь Explorer, а какой-нибудь far, mc, архиватор и даже микрософтовский же cmd.exe - не в курсе что это такое...
> Ну, из того, что вспомнилось:
> - OLE
> - Вся система - набор компонентов с интерфейсами (ага, COM) - ну
> это они вместе с IBM делали
> - WSH
> - Кастомные "папки" - Windows Shell Objects - FUSE появился существенно позже,
> если что
> - стандартная система кодеков - это даже сделано довольно неплохо, благодаря чему
> существуют такие штуки, как AviSynthЯ же просил список _хороших_ идей...
> Я где-то выше писал - у MS часто неплохие идеиТак купить неплохие идеи - много ума не надо, были бы деньги.
> Сама по себе структурированность - штука хорошая, кто пытался парсить вывод ps
> - знает. Но то, как именно это сделано в PowerShell, и
> что оно очевидно никак не соответствует посиксовым реалиям - сводит затею
> на нет.если у тебя есть перл, бери инфу сразу из proc, зачем тебе ps. вот тоже мне с больной головы на здоровую.
Ну да - то есть избавиться от пайпов и текстового неструктурированного потока, заменив его структурированными данными из /proc. О том и речь, что разбирать текст - не самое лучшее решщение. Это, кстати, и к логам относится.
Не знаю за что ему минус. Но на хабре вывесили эпичный пример подделки логов ssh. При том что даже прошареный чувак с fail2ban может наломать дров. Например забанив не тот айпишник. Ну разве не крутая идея - забанить админа на его же ssh собственным же fail2ban-ом? :)
> При том что даже прошареныйЭто который до белых списков не дочитал, бросился настраивать?
> чувак с fail2ban может наломать дров.
> Это который до белых списков не дочитал, бросился настраивать?
>> чувак с fail2ban может наломать дров.Что характерно - на эти грабли встают почти все. С dhcp серверами которые рутают машины - довольно жестковато встали, кстати.
> Читайте документацию и планы разработчиков! Он же объектноориентированный! А следующая
> версия будет с блютусом! А потом с брызговиками!
> Короче, да, хрень ненужная.Чья б мычала, тут половина на системды онанирует.....
Самый прикол, что фанатов PowerShell, которые с ним работать умеют хотя б на том уровне, на котором обычный пользователь никсов умеет работать с bash — днём с огнём.
Т.е. фанаты они исключительно до тех пор, пока можно на словах рассказывать «чем Виндоус круче Линукса», а по жизни предпочитают не связываться.
У bash скучные обои)
> У bash скучные обои)Разрешаю. Поменяй.
> У bash скучные обои)У большинства терминалок обои настраиваются. А винда это не умеет до сих пор. Там и вкладок в консоли до сих пор нету, равно как и чего-нибудь типа screen/tmux. Представляешь себе, виндовые админы с консолью работают очень похоже на браузинг при помощи Internet Expoorer 4.0, переключаясь между кипой окошек. Сами окошки не умеют чуть менее чем ничего. Что в DOS BOX, что альтернативной куете для PS.
>У большинства терминалок обои настраиваются. А винда это не умеет до сих пор.Ты глубоко отстал от жизни. Открываешь ISE дл PowerShell. Сервис-ЮНастройки и чего там только нет.
А вот чего нет в Баше из коробки - это болтающегося сбоку таба (при желании) с подсказками из mana какие есть параметры у набираемой команды, с возможностью их заполнить по форме и вставить в набираемую команду.
Прогресс не стоит на месте. Скоро шелл еще и колыбельную научится насвистывать в зависимости от поведения пользователя. :)
> А вот чего нет в Баше из коробки - это болтающегося сбоку
> таба (при желании) с подсказками из mana какие есть параметры у
> набираемой команды, с возможностью их заполнить по форме и вставить в
> набираемую команду.Вы глубоко отстали от жизни, даже в баше появилось более-менее работающее программируемое автодополнение. Хотя в zsh таб всё равно ещё приятней.
Ну, я бы тоже предпочёл, чтобы оно вытсреливало не в самом терминале, а где-нибудь в сторонке. Или хотя бы убиралось - но это, опять же, выходит за пределы терминала как однонаправленной последовательности вывода. Которой, по факту, уже лет двадцать минимум нигде нет, а есть буфер.
> Ты глубоко отстал от жизни. Открываешь ISE дл PowerShell. Сервис-ЮНастройки и чего
> там только нет.Только на поверку оказывается что XFCE Terminal умеет больше. И в какой-нибудь хубунте есть их коробки, сразу же и запускаясь на вызов терминала. И такая фигня не менее 10 лет подряд. Расскажи мне про терминальные инновации, юный падаван :)
А еще - случайно поплевался на неудобство в взаимодействии этого терминала с mc. Мимо проходил разработчик, он взял и починил. У MS я таких success story что-то не припоминаю. Убедить их что-то починить, и тем более включить исправления в винды... нууу... разве что через 5 лет, в следующую версию, может быть.
> А вот чего нет в Баше из коробки - это болтающегося сбоку
> таба (при желании) с подсказками из mana какие есть параметры у
> набираемой команды,Вообще-то у баша сто лет есть расширяемый autocompletion, поэтому когда я печатаю git log и бахаю TAB - без вопросов подскажет git log ЧТО я могу посмотреть, с вполне конкретными именами из вполне конкретно вот этой вот репы git в которой я сейчас. И все это появляется само, если git поставить. Бонусом и автокомплит для баша к нему идет.
> с возможностью их заполнить по форме и вставить в набираемую команду.
Вообще-то автодополнение при помощи расширений примерно так и работает, только не так топорно и навязчиво как в powershell. А вот чего PS не умеет - так это автодополнение путей. Зато винда умеет всякие дурные пути с пробелами и проч. Которые в принципе не рабтают в PS. В результате в *никсхах 90% длинного пути за меня печатает машина. В винде админ чертыхается и трепыхается, вводя половину пути сам. Чтобы совсем хорошо, копипаст тоже сделан через известное место. Сразу видно - люди или не пользуются этим или посчитали ниже своеого достоинства бутануться в *никс и посмотреть как оно бывает.
> Прогресс не стоит на месте. Скоро шелл еще и колыбельную научится насвистывать
> в зависимости от поведения пользователя. :)И поэтому будет активно мешаться под ногами вместо того чтобы помогать. Извини, шелл мне нужен не в качестве няньки для самых маленьких.
Не беспокойтесь, shell (без bash'измов) — весьма трудный язык. Поэтому т.н. пользователи bash почти не отошли от пользователей bat-языка, который, кстати, тоже не такой бедный как казалось ранее.
> Не беспокойтесь, shell (без bash'измов) — весьма трудный язык.Поэтому все кроме наиболее отчаянных кактусогрызов и свалили на баш.
>> Не беспокойтесь, shell (без bash'измов) — весьма трудный язык.
> Поэтому все кроме наиболее отчаянных кактусогрызов и свалили на баш.... а скриптинг так и ниасилили.....
>все эти полтора клиета - пациенты псих. льниц. кому это нафиг нужно на нормальной ОС(на линуксе)?.Не надо грести всех под одну гребенку. Иметь возможность администрить Винду из под лялиха, это хорошо, а powershell инструмент годный.
Таки да!
Вам что sshd под вин запретили?
Нативно же!
> Нативно же!НаИмно же //fixed, виндовые лолки - ну какой ps нативный в лине?
> Вам что sshd под вин запретили?Его там нет в природе. А тот, что есть - сторонний и зело платный.
>>все эти полтора клиета - пациенты псих. льниц. кому это нафиг нужно на нормальной ОС(на линуксе)?.
> Не надо грести всех под одну гребенку. Иметь возможность
> администрить Винду из под лялиха, это хорошо, а powershell инструмент годный.Опух от изумления.., Вот это дичь... Изврат какой даже не снился в кошмарах...
АДМИНИТЬ ВИНДЫ В ПОВЕРШЕЛЛЕ...
мусье знает толк в изврате...
Мусье знает толк в командной строке и не лениться писать повторяемые действия в виде скриптов. И это неплохо помо гает.
> Мусье знает толк в командной строке и не лениться писать повторяемые действия
> в виде скриптов. И это неплохо помо гает.Попробуй нарулить Windows Core Server без использования гуя, если такой умный и считаешь что твой шелл и все что вокруг - good enough. Вот уж воистину забег по асфальту на лыжах. А любой *никсовый сервер я штатно по ssh башем и mc и рулю, приколись? Это не вызывает боли в жеппе в отличие от виндового сервера. Вообще совсем. Это эффективная, комфортная и удобная процедура. Но с виндами так не получится. Вообще совсем.
>> Мусье знает толк в командной строке и не лениться писать повторяемые действия
>> в виде скриптов. И это неплохо помо гает.
> Попробуй нарулить Windows Core Server без использования гуя, если такой умный и
> считаешь что твой шелл и все что вокруг - good enough.
> Вот уж воистину забег по асфальту на лыжах. А любой *никсовый
> сервер я штатно по ssh башем и mc и рулю, приколись?
> Это не вызывает боли в жеппе в отличие от виндового сервера.
> Вообще совсем. Это эффективная, комфортная и удобная процедура. Но с виндами
> так не получится. Вообще совсем.Ты реально сам пробовал или так, Рабинович напел?
Мне нужно, например
Так это же старый советский мем "по просьбам трудящихся"!
Порт Виндового терминала на Линукс?
Я теперь, видел в жизни все!
Ты что забыл негласное правило Microsoft? Оно гласит - "Линуксоиды должны страдать!"
Людей, которые наслаждаются системой, которая даже во времена своего изготовления в середине прошлого века вызывала, политкорректно выражаясь, смешанные чувства, заставить страдать - это практически невыполнимая задача.
Ну так MS и продолжает эту славную традицию)
> Ну так MS и продолжает эту славную традицию)Только у MS консоли остались в эпохе винтукея, а шеллы никогда не были и не будут вменяемыми. Родовое проклятье гуйных мышевозил.
> Ты что забыл негласное правило Microsoft? Оно гласит - "Линуксоиды должны страдать!"Они не страдают. Они мазохисты и наслаждаются.
> Порт Виндового терминала на Линукс?
> Я теперь, видел в жизни все!В окнах есть терминал???
Интересно, оно тоже тянет Иксы и %уеву тучу зависимостей, типа того же МОНО?
.NET Core ему должно хватать по идее. А оно достаточно легковесно.
> .NET Core ему должно хватать по идее. А оно достаточно легковесно.Не поленился, полюбопытствовал и скачал
https://github.com/PowerShell/PowerShell/releases/download/v...Там похоже все в лучших традициях МС "все свое носи с собой":
/tmp/xa-qarOox/opt/microsoft/powershell/6.0.0-alpha.9
System.Net.dll
System.Net.Http.dll
System.Net.Http.Native.so
System.Net.Http.WinHttpHandler.dll
System.Net.NameResolution.dll
System.Net.NetworkInformation.dll
System.Net.Ping.dll
Очень похоже на то, что NET там уже свой.
Правда, не пойму зачем еще и DLL-ки, (причем что file, что hex говорят о том, что это действительно PE-шники с классическим "под досом не запущать, не работает!" – аж умилился этому легаси) — может собирали "професианалы", а может там хитромудрые технологии позволяют загружать NET-код прямо из DLL.В общем, в распакованном виде это чудо занимает 120MБ — "легковесность прям изо всех щелей" )
А прикинь, PE EXE с сказками что под досом не пущать - это все бинари дотнета такие. Но это еще что. В UEFI засунули этот же формат. С сказками про белого бычка и дос. И все бы ничего, но DOS чисто технически не грузится в режиме уефи, поэтому такое сообщение невзможно увидеть даже чисто теоретически. Иногда бывает так что легаси-совместимость доходит до совсем уж маразма. У MS большие офисы - когда в шкафу кончается место для скелетов, они переходят в соседнюю комнату.
> У MS
> большие офисы - когда в шкафу кончается место для скелетов, они
> переходят в Новости опеннет.фикс
Я правильно понимаю, чтобы добавить поддержку этого шела к программе, то надо делать отдельный stdin/stdoot который работает с объектами шела? Иначе пайпы не будут работать?
http://www.leancrew.com/all-this/2011/12/more-shell-less-egg/
Пусть лучше NTFS под MIT откроют!
Лучше Oracle ASM.
Нет! NTFS лично мне нужнее)
И именно под MIT?
Ее же IIRC отреверсили вдоль и поперек уже давно?
Да пофиг на MIT, лишь бы было совместимо с GPL и желательно в виде модуля ядра ляликса) Чет меня понесло...
Ой, не знаю. Помню только, что нтфс в Линуксе глючила в 2009, а работать нормально стала где-то в 2010. С 2011 - не знаю, ибо не использую вообще, даже на чужих USB-карманах.
> Лучше Oracle ASM.Напиши свой, лучше этого.
Концепция разделения прав другая, скрестить ежа с ужом нормально всё равно не выйдет.
Чтобы оно действительно по-настоящему взлетело в мире UNIX нужно будет (кроме очевидных вещей типа нормальной работы с нормальным pty) "объектифицировать" хотя бы все coreutils.
В принципе, ничего невозможного, info в руки и сотня студентов за месяц понапишет врапперы.
Думаю что для сотен, тысяч индусов из MS это не проблема)
Огромная проблема.
Вся надежда только на опенсорс-сообщество.
Неужели ты думаешь что в MS дураки сидят? Может они и криворукие, но точно не дураки, чтобы выпускать софт без его дальнейшей поддержки и развития.
Мой винфон, закопанный в недрах какой-нибудь технологической свалки, несколько раз прокрутился в своей коробке-гробу.
И это только первое, что пришло на ум. Пр множество хороших, но брошенных проектов можно романы писать.
Фэйлы у всех бывают, просто одни это не понимают и прут напролом бетонной стены, тот же Blackberry или гугл со своим сраным g+, другие осознают свой фэйл и идут другим путем MS с его Azure, Surface Hub, ноутбуками-трансформерами, которые почти все на Win10, портировании дотнета и аспнета под линь и грядущем переносе SQL Server на Linux. А ты можешь и дальше петушиться...
Падение рыночной доли виндофона за год в три раза намекает что с осознанием проблем в MS не всегда бывает хорошо.
Вы не подскажите какая рыночная доля у g+?
> Вы не подскажите какая рыночная доля у g+?Без понятия. К тому же для гугля это второстепенный проект. Если он загнется, ничего не изменится. А вот рынок писюков - сдуется в пользу смартов и планшетов. Потому что большинству хомяков их для браузинга веба и смотрения киношек - выше крыши, а больше они с компьютерами и не делали ничего. Вот так MS и потерял будущее и влияние на него. Спешный дамп сорцов - "балласт за борт!!!111". Поздняк, у гугля более 80% смартов, под 70% планшетов и самый популярный браузер на планете. Они уже перехватили управление развитием технологий определяющих будущее. И базируются на открытых технологиях. Стиль такой.
MS это признал. И запилил WebGL в своих недобраузерах. Иначе гуглокарты у пользователей ишака - урезанные. И VP9, потому что в него пожаты самые качественные варианты контента на ютубе. Не хочешь - не поддерживай, но у пользователей IE будет картинка в ютубе хуже. Вот все и валят на хром :)
А знаешь что такое https://aomedia.googlesource.com/aom ? Это то, при помощи чего завтра хомяки будут смотреть видео по всей сети. Во всех браузерах. MS признал это и присоединился. А теперь посмотри внимательно git log и проч. Чье там core технологий. Да, там примерно 80% - это то что должно было называться VP10. Остальные 20% надерганы из Daala. И даже хостинг на гугле. Google wins another round. И это вам не какой-то плюс, это core tech на котором будет держаться полинтернета. И у них большинство спецов по этому, а остальные - так, на подхвате :)
> Мой винфон, зако панный в недрах какой-нибудь технологической свалки,
> несколько раз прокрутился в своей коробке-гробу.Ну а что, пользователи маздйки должны страдать. Если кто не понимает чем вендорлок плох по хорошему - ему при случае объясняют по плохому. MS умеет это доступно и смешно, прокатив на апдейт скайпа своих же пользователей свежих галимий например.
А для сравнения, community driven Maemo до сих пор живые. Даже древние N8x0 с их 128 метров оперативки. До сих пор народ поддерживает репки, клепает апдейты на системные компоненьы и даже портирует проги иногда. Железо конечно лучше не станет но сам факт - долгоиграющий проектец вышел. Нужен народу, которому по кайфу - ну вот и не загибается. Даже чуть ли не 10 лет спустя и несмотря на устаревание спеков железок.
> И это только первое, что пришло на ум. Пр множество хороших, но
> брошенных проектов можно романы писать.А они это умеют. И опенсорсной культуры у них нет. А взаимодействовать с proprietary minded кодерасами - просто мерзко и неудобно. К MS отфильтровались всякие rob pike-образные. Которые просто не командные игроки и плевать хотели на удобство всех кроме себя. При этом можно быть сколь угодно крутым кодером, но мало-мальски крупный проект с такими участниками поймает клин, уперевшись в ограниченность возможностей одого тела.
MS в этом плане вообще по жизни на грабли наступает. Тот же TFS - твердолобый, отсталый и неудобный. Не умеет это MS.
> Что-то страшное получится от скрещивания православного Linux с дьявольским Windows(((Сеанс буквоедства. Подскажите дистр, одобренный попАми в России, плз?
>> Что-то страшное получится от скрещивания православного Linux с дьявольским Windows(((
> Сеанс буквоедства. Подскажите дистр, одобренный попАми в России, плз?Учим слова... Аллегория, метафора, etc...
я тут недавно выучил одно- гуманитарий ;)
> я тут недавно выучил одно- гуманитарий ;)Не матерись! Это бранное слово!
> Первые экспериментальные сборки уже доступны для Ubuntu 14.04/16.04 и CentOS 7.Огого! MS собрал пакеты для линукса. Это прям тяжелая артиллерия в ход пошла.
MS любит тебя и всегда старается тебя сделать)
Во сколько подарков линуксоидам: VS Code, SQL Server, Skype, jscript движок.
> Во сколько подарков линуксоидам: VS Code, SQL Server, Skype, jscript движок.Вот, кстати, про MSSQL-скрвер под Linux...
Кто-нибудь может поделиться впечатлениями?
ИЧСХ, что за "подарок" не возьми, то окажется такое дерьмище, что в жизни не поверишь как этим можно пользоваться.Из перечисленного:
1) мизерная нашлёпка над Atom'ом, который сам по себе не очень.
2) который под линуксами нафиг никому не упал, потому что есть посгрес
3) который никогда нормально не работал. А в последних версиях сначала сломали поддержку alsa, одновременно убив поддержку старых клиентов, затем вообще выкатили перелицованный хром с предустановенной страницей вебверсии.
4) аналогично п 2. Есть V8, который рвёт всё остальное с биндингами ко всему что шевелится.Ах да, ты ещё забыл кастрированный ASP.NET
Я правильно понял?
powerShell - это аналог Bash, и теперь в линуксе можно будет пользоваться АНАЛогом Bash, вместо оргинального bash
Такой же аналог баш, как ИнтеллиДжей аналог Вим.
Это про разное, хотя с определенной стороны и про одно, но все же про разное.
> Я правильно понял?
> powerShell - это аналог Bash, и теперь в линуксе можно будет пользоваться
> АНАЛогом Bash, вместо оргинальноСовсем не аналог. МС, как обычно, все делает на свой лад. Нет там мощных средств обработки текста, зато там есть попытка сделать подобие ООП, есть об'екты, свойства, методы. Выглядит странновато, но позволяет добраться до нутра винды. Соответственно длиннющие названия.
А в общем и целом PowerShell предназначен для скриптов. Но с Bash не сравнить, постоянно открытый шелл держать не будешь, только набор повторяемых действий, ощущения свободы нет.
Майкрософт уже столько всего портировало под линух... Кто-то этим реально пользуется?
> Майкрософт уже столько всего портировало под линух... Кто-то этим реально пользуется?Интересно, пользуется само МС Линуксом и тем, чего для него напортировало.
> Интересно, пользуется само МС Линуксом и тем, чего для него напортировало.Линуксом пользуется. Хотя-бы для отгрузки даунлоадов. Попробуй IIS'ом с виндой грузить статику оптом, не забудь рассказать как тебе сочетание супер-технологий в виде иновационного сервера, прогрессивного NTFS и прочая.
пользуются конечно
внутренний почтовый гейт использовал фряху, а на линуксах разверную хадуп
да и потом, вряд ли бы они смогли так быстр портировать свои обрезки, если бы не были знакомы с линуксом :)
"пожеланиям клиентов, которые ценят возможности PowerShell, но не довольны привязкой к платформе Windows"А такие есть?
И на кой хрен под линуксом эта сущность, приколоченная гвоздями к WMI и прочим кишкам винды, но без аналога оных? В качестве 100500го скриптового языка?
Если тут есть суровые win-админы, расскажите, чем это может пригодиться? Можно, например, будет из линукса запустить New-ADUser?
DNX
Я не суровый и не только win-админ, но скажу: НИЧЕМ!
> из линукса запустить New-ADUserТеоретически для того, чтобы так сделать, наличия помервшела мало, надо "подключиться" к этому AD. WinRM + возможность авторизоваться.
Если sssd уже вполне рабочий и годный клиент AD (в отличии от всяких там winbind)... оно вас правильно авторизует, но с "подключением" возникнут проблемы, нужен WinRM на стороне Линукса или ssh на стороне домен-контроллера. Ни того не другого, как я понимаю, нет. Кстати, если у вас мудацкий корень леса, типа rogaandkopyta.local то даже на этапе авторизации вы хапнете горя.Всё это делается не для того, чтобы с линукса управлять вендой, а наоборот! С чего вообще кто-то решил, что МС задумывается о пользователях Линукс или тем более об админах?! Они просто поняли что у них вообще нет нормального оркестратора и сами msn.com ушли на chef для своей же инфраструктуры. И помервшел на линуксе нужен ради DCS и прочих выпуков МС.
...пожеланиям клиентов, которые ценят возможности PowerShell, но не довольны привязкой к платформе Windows...Вот прямо представляю бородатого гентушника, обливающегося крокодильими слезами из-за того, что ему приходится работать с bash, а не powershell.
Лучше бы скайп наконец-таки обновили для linux
> Лучше бы скайп наконец-таки обновили для linuxНе обновили а сделали нормальным, а то при обновлении в стиле хром-внутри и запрете работы предыдущей версии(вполне реально) будет только хуже.
Не под GPL не нужно. Под GPL было бы хотя бы смешно.
скоро, очень скоро майкрософт под управление GNU перейдет
На очереди IIS?
> На очереди IIS?Ну да. В рейтинге самого бесполезного и ненужного — пожалуй, вверху списка.
Заголовок новости составлен таким образом, что в него, чисто стилистически, гармонично вписались бы глаголы "убил" и "расчленил".
> Заголовок новости составлен таким образом, что в него, чисто стилистически, гармонично
> вписались бы глаголы "убил" и "расчленил".флеймогонный сабж, так-то :)
"Компания Microsoft объявила об открытии исходных текстов командной оболочки PowerShell..."Добби свободен!
Если взять говно и открыть в нём исходники, то оно превратится не в конфетку, а в говно с открытыми исходниками.
Как-то с болшим трудом все это понимается. Когда же вы устанете холиварить о поливать дерьмом? Если это инструмент существует - значит, это кому-то да нужно. Да и вообще быть приверженцем любой из сторон - как доказательство непрофессионализма. Я даже не могу понять с какой точки зрения вы его рассматриваете? Да и вообще стоит ли обсуждать инструменты...
Нет, ты не понял, здесь обсуждают сначала Microsoft, а потом уже их инструменты(
> Нет, ты не понял, здесь обсуждают сначала Microsoft, а потом уже их
> инструменты(Какая компания - такие и инструменты. И обработка pull request'ов такая же. Нет, ты знаешь, если индусы выдают на гора только джамшутинг и отписки - и инструментарий получается настолько же хорошим. На бумаге он как бы крут, а пользоваться им - нарыдаешься. Powershell именно такой, как по нотам. Он может быть для чего-то и пригоден, но это не мелкая повседневная системная автоматизация, с которой у винды больше всего проблем.
> Нет, ты знаешь, если индусы выдают на гора только джамшутинг и отпискиЭто ещё что... поищите "как сменить Segoe UI", только поберегите нервную систему и не смотрите, что этот "шрифт" из себя представляет (и уж тем более -- какие предлагаются в нынешних форточках средства "настройки" его отображения).
> Если это инструмент существует - значит, это кому-то
> да нужно.Ну-ка, расскажи, кому же нужен ленточный интерфейс офиса, эксплорера и т.д.?
> Да и вообще быть приверженцем любой из сторон -
> как доказательство непрофессионализма.Во-первых, Вы путаете непрофессионализм и субъективность.
Во-вторых, Вы субъективны.
>> Да и вообще быть приверженцем любой из сторон -
>> как доказательство непрофессионализма.
> Во-первых, Вы путаете непрофессионализм и субъективность.Это Вы путаете, Миша.
> Во-вторых, Вы субъективны.
А Вы?
>>> Да и вообще быть приверженцем любой из сторон -
>>> как доказательство непрофессионализма.
>> Во-первых, Вы путаете непрофессионализм и субъективность.
> Это Вы путаете, Миша.Нет.
>> Во-вторых, Вы субъективны.
> А Вы?Да.
Автор curl попросил удалить алиасы 'curl' и 'wget' из PowerShell
> Автор curl попросил удалить алиасы 'curl' и 'wget' из PowerShell
> https://github.com/PowerShell/PowerShell/pull/1901Майкрософт не упустил случая показать каким они местом к пользователям, админам и разработчикам: https://github.com/PowerShell/PowerShell/pull/1901#issuecomm...
Да-да, эти проприетарные фаготы просто вывалили сорц. А свои кривые проприетарные процессы разработки они оставили на месте. Такой вот опенсорс, когда изменение в гитхабовском issue попросить нельзя. Но вы можете написать в спортлото, там даже адрес микрософтовского филиала привели :)
> I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!В первый раз такое на GitHub вижу. Вот это понимаешь сервис :D
> Майкрософт не упустил случая показать каким они местом к пользователям,
> админам и разработчикам:Не, к пользователям вот тут: http://world.fedpress.ru/print/328028 :]
https://en.wikipedia.org/wiki/Embrace,_extend_and_extinguish
круто, но мне оно ни на виндах особо было не надо, окромя chocolatey да пары сценариев ака sysctl'ы местные виндовые поменять т.к. много чего deprecated внутри netsh или как там его где можно было сетевой стек тцп айпи потвикать, да и то полезность этого была скромная. Хотя chocolatey довольно удобный способ устанавливать кучу софта из их если можно сказать так репозитариев ;) и никаких проблем с ним и вирусов не залетало на комп. Но я уже винду пол года не юзаю если не больше.
> окромя chocolatey
> Хотя chocolatey довольно удобный способЗачем же ты так стыдливо сократил chocolate eye, вендузоед?
редхат и арчь первые прикрутят как с системд
"уступив пожеланиям клиентов, которые ценят возможности PowerShell"клиенты, наверное, ms certified :)))))
Не знаю какие там клиенты, вроде как MS совершенно не изменился - https://github.com/PowerShell/PowerShell/pull/1901#issuecomm... очень в духе ответов саппорта майкрософта.
есть у меня знакомые, которые гордо именуются "system architect" на .NET
скоро эти хомячки обратят взоры на наши островки свободы :)
> есть у меня знакомые, которые гордо именуются "system architect" на .NET
> скоро эти хомячки обратят взоры на наши островки свободы :)Да кому нужен ваш самодельный буллшит.... что за самомнение.
>>Вы не правы. PS основная среда управления в данный момент в инфраструктуре MS.И кстати, я знаю и bash и PS и могу сказать что PS во многом более удобное и функциональное.
В Linux и своих консолей хватает; зачем нам еще и МС-вские? Чем Gnome-terminal плох?! Да очень даже неплох и хорошо работает! А мелкомягким уже делать нечего! Загибается их контора, вот и хотят нам все сбагрить!
Почему новости с заголовком Microsoft собирают больше всех комментариев? Даже systemd сливает по популярности Microsoft-у.
> Для улучшения совместимости с принятыми в других системах методами работы, PowerShell также расширен средствами удалённого выполнения скриптов с использованием SSH в качестве транспорта, вместо специфичного для Windows протокола WINRMТак почему не реализовать необходимый минимум протокола WINRM?
>> Для улучшения совместимости с принятыми в других системах методами работы, PowerShell также расширен средствами удалённого выполнения скриптов с использованием SSH в качестве транспорта, вместо специфичного для Windows протокола WINRM
> Так почему не реализовать необходимый минимум протокола WINRM?Код открывают. Бери - и реализуй, делов-то.