LINUX.ORG.RU
ФорумTalks

Не сломалось — не чини. Очередное свидетельство неадекватности многих линукс-админов.

 , ,


1

1

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

Ок, посмотрел как это делается. И как мне теперь это развидеть? Вот тривиальный пример:

$ export PS1="\e[0;31m[\u@\h \W]\$ \e[m "

Почему это уродство вообще существует? Почему никто не возражает? Не сломалось ещё? А мне кажется сломалось. Мозги у админов сломались. Такой формат конфига просто не имеет права на существование. Это дно. Абсолютное.


Ответ на: комментарий от zloelamo

Т.е. проблема не в говнокоде, а в процессе взаимодействия с терминалом.

По-моему всё ещё проще: проблема в том, что ТС просто впервые в жизни увидел esc-последовательности. И пока ему тут не объяснили, не понимал, что это такое. Ну, всегда всё бывает в первый раз. И да, когда видишь откровенное заклинание и не понимаешь его смысла – это неприятно, по себе знаю. Но про последовательности ему вроде уже объяснили, всё остальное – чистая инерция, можно бы уже оставить его тут лететь дальше, пока накопленная кинетическая энергия не кончится, так нет же, собрались и давай дружно подталкивать, чтоб веселее было.

Хуже другое: иногда у таких «паладинов прогресса» что-то получается, особенно когда под рукой оказывается источник админресурса, как у поцтеринга, у создателей вяленого, у команды gcc, а ещё – у всех без исключения создателей так называемых «стандартов» (эти вообще лучше всех устроились – им даже реализовывать не нужно ту дичь, которую они напридумывали, ибо есть те, кто по долгу службы будут вынуждены в standard compliance). И весь мир вынужден потом жрать их высеры. А результат всего этого, как я уже неоднократно повторял, в том, что в области IT примерно четверть века уже нет никакого прогресса, вместо прогресса – глубокая деградация, которую как раз ньюфаги и называют зачем-то прогрессом.

Croco ★★★
()
Ответ на: комментарий от crypt

Ну ещё меньше 20 лет назад, в живую так приходилось работать, набрал вслепую команду, ждем пока отрисуется. Но подобный эффект легко можно получить и в 2022, достаточно попасть под ddos. Лет 10 назад одному клиенту с офисным инетом прилетело, какие там «части экрана по минуте» тут на ввод команды и её отображение по несколько минут уходило. Если к этому были бы прикручены какие-то свистелки, я бы точно монитор разбил.

anc ★★★★★
()
Ответ на: комментарий от anc

достаточно попасть под ddos

Да можно и без ddos, скажем, если «та» машина физически находится где-нибудь на Шри-Ланке или ещё в какой медвежьей дыре. Или если она вообще в тайге, где нет никакой связи, кроме спутникового телефона, и у её пользователя (геолога или кто там ещё может быть) что-то пошло не так. И значение date "+%Y" вообще-то не влияет ни на что, кроме количества ньюфагов вокруг и общей громкости их визгов.

Croco ★★★
()
Ответ на: комментарий от Croco

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

anc ★★★★★
()
Ответ на: комментарий от windows10

В свою очередь, если система станет работать так как хочешь ты, пакетами - это поломает сам принцип работы Linux, скрипты, программы stdin\stdout и прочая. Ты не сможешь к примеру сделать tail -f /dev/ttyUSB0, потому что твой tail в душе не гребет, КОГДА конец пакета и пора выводить данные на экран.

Ты не сможешь подключиться к удаленным серверам через KVM, iLO, потому что они будут к примеру ожидать твой пароль «123» в текстовом виде, а получат «[packet_start color=red mode=plain_text text_begin 123 text_end packet_end]»

Проблема цвета в терминале не настолько критична, чтобы ради нее уронить весь Линукс =)

Вероятно подразумевалось бы, что в случае использования каких-то более сложных протоколов для обмена данными между приложениями пришлось бы переписать все эти приложения, включая shell ?

Например, PowerShell позволяет отдельным cmdlet обмениваться через pipeline объектами, а не фрагментами многострочного текста или символьными потоками:

https://www.darkoperator.com/blog/2013/1/28/powershell-basicsndashobjects-and...

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

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 3)
Ответ на: комментарий от sanyo1234

Например, PowerShell позволяет отдельным cmdlet обмениваться через pipeline объектами, …

Ну вы заведите себе какой-нибудь форум типа «www.win.org» и рассказывайте там друг-другу про всякие прелести PowerShell-а… пакет установки которого в Linux весит больше 60-ти мегов. Чего вы сюда-то лезете с этим бредом?

Надо бы за одно упоминание срамного слова «PowerShell» просто банить здесь )

vinvlad ★★
()
Ответ на: комментарий от anc

Почему только матричных?

А не знаю почему именно матричные так запомнились. 1B2A216006 для 24 иголок - точно.

Там фишка была в том, что надо было печатать многометровые портянки геофизических разрезов. А матричные принтеры были доступны, а специальные плоттеры нет, а 10 метров бумаги и не заправить одной лентой больше никуда. АЦПУшная бумага, кажется, ещё была.

Как-то так. На других принтерах не было нужды мимо драйверов напрямую в команды, видимо.

Toxo2 ★★★★
()
Ответ на: комментарий от firkax

поэтому лучше уж молиться на sysvinit.

А OpenRC и S6? RunIt ?

Так-то их существует около десятка разных систем инициализации, с поддержкой в популярных дистрах с этим пока похуже.

sanyo1234
()
Ответ на: комментарий от anc

Да фиг с ними с рельсами, предлагаю тему электрических вилок и розеток обсудить, вот уж где разнообразие.

А в целом большое количество разных стран, законов, стандартов, и т.п.?

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от vinvlad

рассказывайте там друг-другу про всякие прелести PowerShell-а

Про Plan 9 можно? Его образ для виртуалки больше по объему, чем PowerShell?

sanyo1234
()
Ответ на: комментарий от crypt

«не сломалось - не чини», нужно гнать из профессии.:(

Он ( @firkax ) сам то кто по профессии? Руками водитель?

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от zloelamo

Можем, но это частный случай, в общем там какой-то другой алгоритм работает.

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

crypt ★★★★★
()
Ответ на: комментарий от vinvlad

+100500

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

Что до ТС с его влажными претензиями - не нравится, не ешь, только и всего.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от sanyo1234

… рассказывайте там друг-другу про всякие прелести PowerShell-а

Про Plan 9 можно? Его образ для виртуалки больше по объему, чем PowerShell?

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

Пользоваться в индивидуальном порядке - да хоть чем!) Но вот упоминать всякую хрень в темах, где обсуждаются какие-то базовые архитектурные вопросы Unix/Linux систем, не надо.

vinvlad ★★
()
Ответ на: комментарий от vinvlad

Лично мне *nix системы как раз нравятся своей относительной простотой (KISS), легковесностью и изяществом.

Пример с PowerShell я привел просто в качестве примера того, как через pipe гоняют объекты (пакеты) по умолчанию by design, а не после дополнительной кастом сериализации в текст или блоб, что несложно сделать и в Linux.

Да и внутри PowerShell вероятно тоже какая-то сериализация для этого, просто уже встроенная?

Но с другой стороны in real life так сказать, что мешает иметь контейнер или виртуалку с PowerShell внутри, если они решают некоторые задачи намного проще и быстрее (трудозатраты админа), чем голый Bash?

sanyo1234
()
Ответ на: комментарий от vinvlad

Видите ли, упоминание о размере установочного пакета было этаким тестом

А сколько весит поставить Dev среду для популярного Go, который для кого-то почти что «как скрипты»?

Сколько весит современный Ansible со всеми свистоперделками?

sanyo1234
()
Ответ на: комментарий от sanyo1234

А сколько весит поставить Dev среду для популярного Go …

Вот я про то и говорю, что вы чего-то не догоняете… Если вы собираетесь «мыслить» про революционные изменения в каких-то базовых архитектурных вещах Unix/Linux систем (впрочем, и других тоже), то вы должны исключить из рассмотрения то, что тянет за собой установку runtime и dev среды таких платформ как Java или .Net.

vinvlad ★★
()

> Почему это уродство вообще существует?

Ты про переменную PS1? Не знаю, уже давно PS5 вышла. Наверно, имя переменной давали в 1995 году.

ZenitharChampion ★★★★★
()

не знал что так можно

было

PS1='\[\033[32m\][\t]\[\033[32m\][\j]\[\033[32m\][\h \w]\[\033[01;33m\]\$\[\033[0m\] '

стало

PS1="\e[32m[\t][\j][\h \W]\e[33m\$ \e[m"
amd_amd ★★★★★
()
Ответ на: комментарий от gremlin_the_red

Какой такой формат и какого такого конфига?

Я так понял, речь о формате КЛЮЧ = ЗНАЧЕНИЕ. Альтернативу, конечно, никто не озвучил.

skiminok1986 ★★★★★
()
Ответ на: комментарий от goingUp

Ему не нравятся плейсхолдеры типа \u, видимо он хочет что-то типа {USER}. Резонно, я бы сказал.

Ну, в целом, а не пофиг? Если целыми днями настраивать приглашение командной строки, то, наверное, и правда раздражает.

А если esc-последовательности, так у нас терминал до сих пор ANSI-шный по большому счёту. Тут уж KISS.

skiminok1986 ★★★★★
()
Ответ на: комментарий от Usruser

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

Для начала возьми эмулятор терминала без этого легаси. Шелл – дело десятое :)

skiminok1986 ★★★★★
()
Ответ на: комментарий от Usruser

Это нормально. Это бывает. Плохо то, что некоторые хватаются за это неидеальное решение, объявляют его идеальным и ничего не хотят менять. Десятилетиями.

Никто не объявляет его идеальным. Просто всем пофиг – работает, кушать не просит.

skiminok1986 ★★★★★
()
Ответ на: комментарий от no-such-file

Ну Wayland же придумали и даже продвигают, хотя аргументация такая же.

И уже лет десять «ещё чуть-чуть и иксам точно кабзда». И в обозримом будущем мало что изменится.

skiminok1986 ★★★★★
()
Ответ на: комментарий от sanyo1234

Например, PowerShell позволяет отдельным cmdlet обмениваться через pipeline объектами

А мои две программы на Пыхе могут вообще общаться между собой телепатически. Осталось только переписать 90% существующего софта под эту телепатию ;)

Вот когда Поверщель будет занимать 2 мегабайта (или сколько там busybox весит), при этом запускаться на любой кофемолке (включая 20-летней давности) - вот тогда и поговорим.

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

Ты хочешь ездить на лыжах по городу, но на лыжах не получается, поэтому ты прибил к лыжам ролики, и считаешь это правильным решением ?)

windows10 ★★★★★
()
Ответ на: комментарий от crypt

Если говорить про ddos, то как её решить, если на сотни байтиков только один твой полезный пролезает? Я команды копипастой отправлял, потому что исправлять ошибку при наборе на удаленной консоле совсем скучно оказалось. Представьте, считаешь кол-во символов потом столько раз нажимаешь стрелочку влево ;)

anc ★★★★★
()
Ответ на: комментарий от windows10

Вот когда Поверщель будет занимать 2 мегабайта (или сколько там busybox весит), при этом запускаться на любой кофемолке (включая 20-летней давности) - вот тогда и поговорим.

Кто же мешает сделать легкую сериализацию пакетов из struct в pipe на C/C++ ? С какой-нибудь сигнатурой начала потока подобного объектного пайпа.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от vinvlad

Вот я про то и говорю, что вы чего-то не догоняете… Если вы собираетесь «мыслить» про революционные изменения в каких-то базовых архитектурных вещах Unix/Linux систем (впрочем, и других тоже), то вы должны исключить из рассмотрения то, что тянет за собой установку runtime и dev среды таких платформ как Java или .Net.

Да я просто привел пример того, что существуют шелы, где поток в pipe - это не только лишь raw data из устройства или приложения, но и ценный мех :) причем концептуально изначально на уровне shell, а не отдельных приложений типа например, zfs send | receive.

https://hsto.org/r/w1560/getpro/habr/upload_files/bba/8c0/762/bba8c0762e10d40...

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от sanyo1234

Пример с PowerShell я привел просто в качестве примера того, как через pipe гоняют объекты (пакеты) по умолчанию by design

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

что несложно сделать и в Linux.

Да, переписать всю базовую систему, чтобы любая утилита выдавала этот ваш бестолковый «объект». Флаг в руки и барабан на шею. Переписывайте. Заведите себе, сцуко, winux.org.ru и обсуждайте этот идиотизм там.

что мешает иметь контейнер или виртуалку с PowerShell внутри, если они решают некоторые задачи намного проще и быстрее (трудозатраты админа), чем голый Bash?

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

Валите уже на винфак со своей убогой и совершенно бесполезной поверщелью, сраные неосиляторы. Если вас ваш хозяин заставил вызубрить какое-то лютое дерьмище, это не значит, что об этом надо всем рассказывать. Поплачьте там у себя в туалете и обратно на работу, удовлетворять начальника использованием неюзабельного говна. А сюда ходить и рассказывать о ваших БДСМ отношениях и забавах на работе - не стоит. Это сначала смешно, а потом начинает раздражать.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Да, переписать всю базовую систему, чтобы любая утилита выдавала этот ваш бестолковый «объект». Флаг в руки и барабан на шею. Переписывайте. Заведите себе, сцуко, winux.org.ru и обсуждайте этот идиотизм там.

Ведь я же упоминал уже:

С какой-нибудь сигнатурой начала потока подобного объектного пайпа.

+ какой-нибудь CRC/Hash заголовков или что-то похожее для надежности детектирования объектного потока.

Где тут:

переписать всю базовую систему

?!?!?

sanyo1234
()
Ответ на: комментарий от Stanson

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

Лично я его использую просто как либу готовых админских решений для вызова из скриптов на C#.

Синтаксическая ООП надстройка над привычным Bash - это действительно достаточно своеобразный синтаксис, который понравится далеко не всем.

sanyo1234
()
Ответ на: комментарий от Stanson

Валите уже на винфак со своей убогой и совершенно бесполезной поверщелью, сраные неосиляторы. Если вас ваш хозяин заставил вызубрить какое-то лютое дерьмище, это не значит, что об этом надо всем рассказывать. Поплачьте там у себя в туалете и обратно на работу, удовлетворять начальника использованием неюзабельного говна. А сюда ходить и рассказывать о ваших БДСМ отношениях и забавах на работе - не стоит. Это сначала смешно, а потом начинает раздражать.

Походит на то, что кто-то разжигает межоперационную рознь?

Неосиляторы чего?

systemГовна? Шизндоуз? вредных привычек?

Ах ах, ну простите, что не осилил.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от sanyo1234

Кто же мешает сделать легкую сериализацию пакетов из struct в pipe на C/C++ ?

Начинайте.

С какой-нибудь сигнатурой начала потока подобного объектного пайпа.

и с blac ну вы поняли

anc ★★★★★
()
Ответ на: комментарий от anc

Начинайте.

Спонсируйте :)

Только не вот это:

Кто же мешает сделать легкую сериализацию пакетов из struct в pipe на C/C++

А хотя бы генератор договоров для:

Как вам такие условия лицензирования скриптов при контрактной работе? В виде удобной сравнительной таблицы. (комментарий)

sanyo1234
()
Ответ на: комментарий от anc

«Я сильный, но легкий?»

Чтобы быть тяжелым, надо более лучше питаться и вот это все.

sanyo1234
()
Ответ на: комментарий от crypt

Все равно похоже на мистику. Могу только предположить, что демонстрируют факт не разрыва соединения. «Но это другое».

anc ★★★★★
()
Ответ на: комментарий от anc

ты будешь и дальше предполагать или мне тебе рассказать суть презентации, потому что ты не хочешь ее смотреть? я узнал о mosh из этого треда. но посмотрел.

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от anc

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

PolarFox ★★★★★
()
Ответ на: комментарий от crypt

в презентации mosh забивают канал и демонстрируют.

Похоже вы слишком буквально восприняли демо-показуху. Если на вас прет DDOS или просто кто-то серверную локалку загаживает широковещательными пакетами, то у вас могут возникать паузы по несколько секунд между доставкой отдельных IP-пакетов в/от сервера, причем пофигу каких - хоть TCP, хоть UDP.

Экономия траффика с таким же успехом возможна и в обычном telnet-протоколе - никто не заставляет упаковывать каждый байт в отдельный IP-пакет.

vinvlad ★★
()
Ответ на: комментарий от crypt

но mosh показал себя лучше

да ничего он не показал - это вам показали )

Единственная реальная фишка mash - это работа на UDP-подложке, что позволяет менять по ходу сессии IP-шник клиента. Это действительно принципиальный момент для всяких мобильных сетей.

vinvlad ★★
()
Ответ на: комментарий от crypt

не, там мультиплексор терминала свой есть.

И что? Ну просто серверная часть как бы эмулирует внутри себя терминал, сохраняя его «историю» и выплевывает эту историю клиенту по возможности более крупными блоками.

Если же там «выплевывается» не поток, а текущий «слепок» экрана, то это вообще весьма ограниченное решение - типа, альтернатива работы с Midnight Commander. Под «remote development» такое уже не подсунешь - там целостный поток нужен.

vinvlad ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.