LINUX.ORG.RU
ФорумTalks

Как прекрасен юникс-вей в 2020-х...

 , ,


6

1

…не зря Майкрософт еще в 80-х хотела с ДОСа мигрировать на Юникс. Но не вышло у пацанов, не фартануло.

Попросили вчера помочь с нетривиальной конфигурацией винды. Назанимался нетрадиционным секасом с в ней вдоволь… или вдоль. Точнее сказать, под любым юникс-лайк вся конфигурация была бы тривиальной, но это ж винда.

Большая часть действий делается через тупой GUI, в котором надо лазить по меню и натыкивать галки. Если нужно изменить конфиг, проверить и в случае чего вернуть как было, или протестировать разные варианты, то сидишь и надрачиваешь мышь. Система была рассчитана на людей, которые не могут выразить команду высшим достижением эволюции: человеческим языком.

Некоторые вещи вообще только через реестр. Ну сам реестр это отдельная история. Никакого вам аналога diff, meld, невозможно без дебильных приседаний с экспортом-импортом в текстовый файлик положить конфигурацию в git. Спасибо, хоть экспорт-импорт приделать не забыли. (В этом месте я вернулся сюда из абзаца, в котором писал про кодировки, и еще раз напишу: спасибо! От этих … специалистов можно было бы вполне ожидать, что и этого не будет.)

Система всё время ставит палки в колеса, если нужно часть действий выполнить от имени администратора. Типа, запускаю ФМ с полными правами админа. Создаю в нём файл. Открываю его в Notepad++ — а всё, Notepad++ уже работает не с полными правами админа. Может это, конечно, баг самого NPP, я хз.

Интерфейсы для работы с правами доступа находятся глубоко в категории «рисовал программист» и не обновлялись со времён NT. Там под виндой даже не столько сама система прав доступа сложная, сколько GUI к ней убогий.

И в целом многие интерфейсы сделаны так, что худшим образчикам из Linux и не снилось. Типа прокрутки гигантских списков в окошке фиксированного размера, в который влазит штук пять строк.

Чтобы сделать аналог линуксового «запуск фиксированной команды через sudo без пароля», нужно добавлять задание в тамошний аналог крон!. А чтобы сделать аналог «запуск фиксированной команды через sudo без пароля, но только для конкретной группы пользователей», я вообще не знаю, что делать. Тут моих навыков гуглёжки не хватило.

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

Если ты хочешь взять обычный Блокнот и написать в нём cmd-скрипт, то хрен там ночевал - Блокнот сохраняет файлы в кодировке 1251, а запускается скрипт в кодировке 866!!!! КАКОГО ХРЕНА?!

А если ты берешь весь из себя такой знаменитый Notepad++ с поддержкой кодировок и хочешь перекодировать уже написанный файл, то он не умеет конвертировать между этими кодировками!

Если в системе что-то сломалось, то хрен ты откатишь пакет для теста, нет в ней ни пакетов, ни внятной модели использования файловой системы. Всё навалено кучами легаси-хлама. Внутри папки system32 (которая теперь в целях совместимости теперь навечно будет system32, будь там под капотом хоть 128 бит в регистрах) вперемешку валяются драйвера, пользовательские библиотеки, конфиги, куски интерфейса и чёрт знает что. При этом есть еще такой смешной момент, что несмотря на кучи легаси-винегрета, стабильных расположений путей в ней тоже нет. Например, расположение папки с содержимым меню Пуск переезжало с места на место в каждой (!) крупной версии винды.

Когда что-то гуглишь по вопросам системной конфигурации, обычно попадаешь или на ВИО, где отвечающий тупее вопрощающего, или на официальные места поддержки, где ответ чаще всего «такая штука в Windows не поддерживается, но вы можете попробовать самостоятельно станцевать в гамаке на лыжах», или на поисковый спам.

Эта шляпа еще и на HDD стояла, а я уже забыл, что такое 64-битная винда на HDD. Это ад и израиль, сраный лагодром с загрузками по 5 минут, во время которых пытаются просраться несколько десятков системных сервисов и еще куча говнокода в пользовательском сеансе. И пока они не просрутся, Проводник висит, и весь гуй вместе с ним. Да по сравнению с этим что systemd, что до-systemd-шная баше-лапша - просто вершины архитектуры и топ производительности.

Кен Томпсон, Деннис Ритчи, Ричард Столлман, Линус Торвальдс, и вся Red Hat целиком, и все остальные причастные к Линуксу, и еще разработчики всех BSD, и даже почившая Sun Microsystems с Солярой, СПАСИБО вам всем! Что мы имеем технологичную, конфигурируемую, понятную ОС, и даже целое множество разных ОС. И не привязаны к этой жалкой пародии на OpenVMS, мутировавшей на отравленных землях MS-DOS-а, и по какой-то злой шутке судьбы дожившей до 2020-х!

…уф. Выдохнул.

★★★

Последнее исправление: wandrien (всего исправлений: 8)

Некоторые вещи вообще только через реестр. Ну сам реестр это отдельная история. Никакого вам аналога diff, meld, невозможно без дебильных приседаний с экспортом-импортом в текстовый файлик положить конфигурацию в git. Спасибо, хоть экспорт-импорт приделать не забыли. (В этом месте я вернулся сюда из абзаца, в котором писал про кодировки, и еще раз напишу: спасибо! От этих … специалистов можно было бы вполне ожидать, что и этого не будет.)

«Что ты черт побери такое несешь?» (с) :) .reg файлы дифать какая-то религия не позволяет? :)

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

А этот читать не умеет, виндой зрение посадил штоле

невозможно без дебильных приседаний с экспортом-импортом

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

Или без экспорта импорта, но ты просто не осилил :) Потому что ключи реестра не какая-то магия, а reg файлы можно просто исполнять, а не импортировать :)

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

«ну в этом и вся проблема, вы просто плохо знакомы с администрированием семейства windows систем, особенно актуальных» (с) Тред можно было на этом закрывать :) А на винфаке, где ему место, тебе, конечно, объяснят, что проблема в hands.sys

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

Реестр меняется постоянно, без действий пользователя. diff может тебе выдавать разный вывод каждый раз.

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

Дифать то что схоронил в гит никто не мешает все равно. А это смешная претензия что «лайв» система меняет что-то в себе.

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

У реестра вполне понятная и простая структура. Все эти «проблемы» в голове людей не в теме, которые натягивают свои шаблоны на систему, по которой достаточно прочитать доки. Например https://docs.microsoft.com/en-us/windows/win32/sysinfo/structure-of-the-registry

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

Вы вообще в курсе что такое «схема»? Это полное описание всех ключей, их типов, назначения, возможных значений если ключ содержит значение перечислимого типа, всегда доступное и хранящееся вместе со значениями, позволяющее проводить автоматическую валидация вводимых значений.

Например так как это сделано в dconf/gconf или ldap

И не надо в следующий раз лезть с мурзилкой для школоло в (около)технические темы

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

В курсе конечно. Только реестр не RDBMS общего назначения. Поэтому весь этот веский вскукарек про схему не по теме :) поэтому иди-ка ты со своей мурзилкой про схемы в тематические темы про RDBMS :) особенно когда дока от майкрософт по их операционной системе для тебя не авторитет по их системе.

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

Он и не DB, и не текстовый конфиг, и не рыба, и не мясо.

Полностью лишен смысла.

И не надо тут своими манами махать. Я под виндами с реестром работал еще когда половины местных форумчан на свете не было.

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

Он и не DB, и не текстовый конфиг, и не рыба, и не мясо.

ты иди с архитектором винды NTшной линейки подискутируй, который VMS в DEC разрабатывал еще, когда юниксов в проекте не было (у винды внутре те же арх. решения плюс-минус :) А ты тогда еще у папки в штанах не шевелился, вооруженный теперь все еще обрывочными послезнаниями из гугла и упоротостью :)

И не надо тут своими манами махать. 

Надо, это лучше чем твой троллинг тупостью: для троллинга тебя достаточно посылать тебя в RTFM почаще.

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

ты иди с архитектором винды NTшной линейки подискутируй, который VMS в DEC разрабатывал еще

Пойду упаду ниц от величия DEC, VMS и персонально Каттлера.

Кстати, где они? Великие архитекторы DEC, можно увидеть следы их жизнедеятельности в TOP-100 суперкомпьютеров мира, например? Или лучше сходить положить им венок на кладбище?

Надо, это лучше чем твой троллинг тупостью: для троллинга тебя достаточно посылать тебя в RTFM почаще.

Так правильно, безопаснее для собственной жопы просто посылать RTFM, а то если говорить конкретно, можно обосраться как Morin с его runas.

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

Кстати, где они? Великие архитекторы DEC, можно увидеть их в TOP-100 суперкомпьютеров мира, например? Или лучше сходить положить им венок на кладбище?

Ты тут все еще от наследия Каттлера бугуртишь, которое все еще распространено сильнее чем все остальное :)

Так правильно, безопаснее для собственной жопы просто посылать RTFM,

Потому что твою жопу немедленно разрывает в лоскуты, т.к. ты неасилел даже в гугл :)

а то если говорить конкретно, можно обосраться как Morin с его runas.

Конкретно ты порвался на страницу текста кококо :)

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

Он и не DB, и не текстовый конфиг, и не рыба, и не мясо.

Он файловая система. Причём изначально сделанная в unix-стиле - с монтированием «устройств» по путям.

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

Он файловая система. Причём изначально сделанная в unix-стиле - с монтированием «устройств» по путям.

Файловая система без интерфейса файловой системы.

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

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

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

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

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

Интерфейс наружу не сделали, да, но в целом не вижу тут ничего плохого. По аналогии: в линуксе есть sysctl с интерфейсом файловой системы в /proc, в FreeBSD /proc выпилили (ну, включить можно если вдруг кому надо для легаси-софта) и я ничуть об этом не сожалею.

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

Интерфейс наружу не сделали, да, но в целом не вижу тут ничего плохого.

Управление конфигурацией через какие костыли предлагается осуществлять в этой лапше?

Или официальный способ управления конфигурацией под виндой - это переустановка?

По аналогии: в линуксе есть sysctl с интерфейсом файловой системы в /proc, в FreeBSD /proc выпилили (ну, включить можно если вдруг кому надо для легаси-софта) и я ничуть об этом не сожалею.

/proc никаким местом не аналогичен ни системе конфигурации, ни файловой системе вообще.

Использование /proc местами пророждает нехилые race condition, из-за чего его и выпилили сначала из OpenBSD, а потом из фряхи.

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

Вообще-то /proc это как раз файловая система. Хотя, в отличие от реестра, схема у неё есть. И заметная её часть - именно система конфигурации (ядра).

Управление конфигурацией через какие костыли предлагается осуществлять в этой лапше?

API вобщем-то есть (open/close/get/set/delete/rename/итд)

https://docs.microsoft.com/en-us/windows/win32/api/winreg/

Может оно немного непривычное, но мне api к sysctl тоже таким показалось.

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

Вообще-то /proc это как раз файловая система.

«По форме - верно, а по сути - издевательство.» (c)

Ну или как там Галковский говорил.

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

WNT isn't VMS

иди с архитектором винды NTшной линейки подискутируй, который VMS в DEC разрабатывал

Разве реестр не из 16-разрядной Windows перекочевал в Win32 ? https://devblogs.microsoft.com/oldnewthing/20080117-00/?p=23783

когда юниксов в проекте не было

юниксам больше полувека, а проекту VMS сколько?

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

который VMS в DEC разрабатывал еще, когда юниксов в проекте не было

VMS появился уже позже юниксов

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

персонально Каттлера.

Кстати, где они? Великие архитекторы DEC, можно увидеть следы их жизнедеятельности в TOP-100 суперкомпьютеров мира, например? Или лучше сходить положить им венок на кладбище?

В ютюбике можно было не так давно увидеть всё ещё бодренького и продуктивного (фут|бейс|баскет)болиста

https://www.youtube.com/embed/29RkHH-psrY

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

Когда там Unix на сях-то переписали?

В 1973 Си стал Си. https://minnie.tuhs.org/cgi-bin/utree.pl?file=V4/nsys/ken/sys1.c

А переписана она на Си стала в каком годе? В 1978 году :) Так что все это «не так однозначно» что там «раньше». Особенно если до переписывания «unics» была университетской поделкой, на основе идей цельнотянутых из multics.

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

А Dave Cutler с коллегой только опубликовали Working design RSX-11M

http://bitsavers.org/pdf/dec/pdp11/rsx11/RSX11M_V1/130-951-009-03_RSX-11M_Wor...

«RSX-11D впервые появилась для PDP-11/40 в 1972» (с). :) «Опубликовали дизайн и появилась» — не одно и то же :)

А если время появления «RSX-11A» учитывать, этот «черри-пикинг» про дизайн 11М вообще смешно выглядит :)

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

В 3-м издании, последнем асовском, появился компилятор Си

А 4-е издание на каком языке написано? https://minnie.tuhs.org/cgi-bin/utree.pl?file=V4/nsys

the kernel was rewritten in C to become the Fourth Edition of Unix

«unics» была университетской поделкой, на основе идей цельнотянутых из multics.

Типичная безыдейная система разделения времени для внутреннего использования. Только для более дешёвых машин, чем в 1960-х

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

А 4-е издание на каком языке написано? https://minnie.tuhs.org/cgi-bin/utree.pl?file=V4/nsys

На «машиннозависимом», вестимо:

Version 4 Unix, however, still had considerable PDP-11-dependent code and was not suitable for porting. The first port to other platform was made five years later (1978) for Interdata 8/32.[10]

Хотя вся замутка с Сями была ради портабельности. Так что до 78-го это все были мечты и «работа над этим».

Т.е. к 78-му уже норм. переписали, а в 4-м издании еще «в процессе» была :)

Типичная безыдейная система разделения времени для внутреннего использования. Только для более дешёвых машин, чем в 1960-х

Аминь :) Коммерческой она стал и того позднее.

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

Прежде чем портировать систему, написанную на языке высокого уровня, на другие архитектуры, нужно написать или портировать на другие архитектуры систему программирования на этом языке. Либо разработать кросс-систему.

vM ★★
()
Последнее исправление: vM (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.