Re: Проверить на наличие железяки
22.09.2016 14:48, Victor Wagner пишет: > Конечно, иногда дебаггер помогает разобраться в нетривиальном поведении > чужого кривого кода. Но вообще есть эмпирическое правило - если тебе > понадобился дебаггер, т.е. ты не смог понять, что делает код, путем его > чтения, то код, с которым ты работаешь, крив. Если это твой код - выкинь > и перепиши сначала. Прямой код при чтении дает больше информации чем > при пошаговом прогоне, потому что читатель видит все особые случаи и > реакцию на них. А нормальная программа состоит из обработки особых > случаев вообще процентов на 95. Аплодирую стоя. Вот только такие программы пишутся долго и тщательно, а начальство (да и «рынок») требует чтобы было сделано «вчера». И мы, в результате, наблюдаем кругом «весь этот горький катаклизм». Собственно, поэтому я себя и называю «IT сантехник». Ещё в одной конторе был термин «человек с вантузом». Грустно всё это. > И, к сожалению, именно подход "дайте мне > магическую хрень, которая сделает все что нужно сама", провоцирует > создание именно такого софта. Когда экономят на документации, экономят > на удобочитаемости кода из соображений "а, все равно никто разбираться > не будет, все будут использовать как есть". Когда-то давно в IT разрабатывались инструменты для решения различных задач. И в 90-х бродя по всяким выставкам вроде tibo я встречал именно инструменты, а не только готовые наборы для «сделайте мне хорошо». Но как-то незаметно инструменты пропали и кругом стали предлагать одни только «решения» для всего и вся. И на эти tibo ходить стало неинтересно от слова «совсем».
Re: Проверить на наличие железяки
On Thu, Sep 22, 2016 at 02:48:11PM +0300, Victor Wagner wrote: > On Thu, 22 Sep 2016 13:08:44 +0300 > Eugene Berdnikovwrote: > > Чтобы написать, много чего ещё нужно. Монитор, клавиатура, культурный > > слой (умение читатать, знание того что такое алгоритм и т.д.). > > Вот только писателей софта едва ли 1/10 от числа пользователей > > (скорее даже меньше 1/100). Так что не надо точку зрения > > программистов выдавать за абсолют за всех. Удивитесь тому, что на в > > мире есть очень много людей, и всех очень разные шкалы ценностей. > > Взгляды на то, что такое свобода тоже сильно различаются, в том числе > > по отношению к ПО. > > Пару сотен лет назад Иван Андреич Крылов написал басню "Свинья под > Дубом". Я как раз про то, про что написано в этой басне. > Если тебе, персонаж басни, не нужна свобода, а нужны только её плоды, > не следует пытаться продемонсттрировать что ты лучше того меньшинства, > которому эта свобода нужна. Потому что твои желуди, которыми ты > питаешься, вырастают благодаря им. Вы где-то нашли у меня слова о том, что большинство не-программистов считает себя ЛУЧШЕ меньшинства? Цитата сверху, покажите, pls. Я писал про разные шкалы ценностей. Поясняю для тех, кто с трудом понимает: разные шкалы ценностей -- это ситуация, когда то, что для одного является ценностью (как та пресловутая свобода сорцов) для другого такой ценностью не является. А иногда даже наоборот, считается негативом. Потому что отношение людей к какому-то явлению разное, вплоть до ситуации "что русскому благо -- то немцу смерть", а вовсе не потому, что одни люди считают себя лучше других. > Моя претензия в первую очередь к тем, кто гордится своим нежеланием > знать. Не знаешь - молчи в тряпочку. А не пытайся доказать другим, что > знать и не надо. Я так понимаю, что это намёк, будто я в этой беседе кичился своим невежеством? Виктор, прежде чем писать в рассылку, следует внимательнее читать то, на что отвечаешь. P.S. Вы меня, однако, разочаровали своим экстремизмом, претензиями на абсолютную истину и передёргиваниями, доходящими до троллинга. -- Eugene Berdnikov
Re: Проверить на наличие железяки
22.09.2016 11:57, Victor Wagner пишет: Это очень странно. Я вижу две странности. 1. Двадцать лет работать с imap-ом и так и ни разу не пообщаться с imap-сервером при помощи телнета. Там же все настолько текстовое и понятное. 2. Вспомнив о необходимости изучать протокол, почему-то подумать об изучении его не по RFC (хотя там все понятным английским языком написано, и не нужно иметь двадцатилетний опыт работы в IT, чтобы в нем разобраться - я его прочитал и понял еще году в 96, примерно через год после начала использования Linux), и даже не по исходникам reference implentation, каковой является pine/alpine и uw-imapd, а по исходникам imapsync. Это из серии "Рабинович по телефону напел". То есть с выбором софта (для изучения) у тебя уже возникают сложности. даже в той области, которой ты занимаешься 20 лет. А все потому что не пытаешься понимать, действуешь методом тыка, не прослеживаешь историю создания софта, идеологию, которой руководствовались его авторы. Люто бешено апплодирую и ищу где тут можно плюсовать. Задолбало видеть экономистов не разбирающихся в экономике, механиков не понимающих ДВС и прочих "профессионалов", так и не смогших осознать чем и почему они на этом свете занимаются. И не считающих это положение странным. P.S. из этого НЕ следует, что я отношу г. Бердникова к этим которые. -- . ''`. : :’ : `. `~’ `-
Re: Проверить на наличие железяки
On Thu, 22 Sep 2016 13:08:44 +0300 Eugene Berdnikovwrote: > Чтобы написать, много чего ещё нужно. Монитор, клавиатура, культурный > слой (умение читатать, знание того что такое алгоритм и т.д.). > Вот только писателей софта едва ли 1/10 от числа пользователей > (скорее даже меньше 1/100). Так что не надо точку зрения > программистов выдавать за абсолют за всех. Удивитесь тому, что на в > мире есть очень много людей, и всех очень разные шкалы ценностей. > Взгляды на то, что такое свобода тоже сильно различаются, в том числе > по отношению к ПО. Пару сотен лет назад Иван Андреич Крылов написал басню "Свинья под Дубом". Я как раз про то, про что написано в этой басне. Если тебе, персонаж басни, не нужна свобода, а нужны только её плоды, не следует пытаться продемонсттрировать что ты лучше того меньшинства, которому эта свобода нужна. Потому что твои желуди, которыми ты питаешься, вырастают благодаря им. Моя претензия в первую очередь к тем, кто гордится своим нежеланием знать. Не знаешь - молчи в тряпочку. А не пытайся доказать другим, что знать и не надо. > > > Понимать при этом, что там этот софт делает -- по большей части > > > не является необходимостью. Например, занимаясь сопровождением > > > почтовых систем уже два десятка лет, я довольно поверхностно знаю > > > протокол IMAP. Потому как нужды в ПОНИМАНИИ его нет, то есть > > > она мне и даром не нужна, эта свобода. Хотя кому-то может быть > > > интересно изучать IMAP по исходникам, например, imapsync'а. > > > > Это очень странно. Я вижу две странности. > > > > 1. Двадцать лет работать с imap-ом и так и ни разу не пообщаться с > > imap-сервером при помощи телнета. Там же все настолько текстовое и > > понятное. > > Ну вот расскажите нам, как понять что такое UIDVALIDITY, глядя лишь > в протокол сессии IMAP и не прибегая к RFC. Разумеется, перевод слова > "validity" и что скрывается за аббревиатурой UID будем считать > известным. Изложите логическую последовательность, с удовольствием > почитаю. [skip] > > 2. Вспомнив о необходимости изучать протокол, почему-то подумать об > > изучении его не по RFC (хотя там все понятным английским языком > > написано, и не нужно иметь двадцатилетний опыт работы в IT, чтобы в > > нем разобраться - я его прочитал и понял еще году в 96, примерно > > через год после начала использования Linux), и даже не по > > исходникам reference implentation, каковой является pine/alpine и > > uw-imapd, а по исходникам imapsync. Это из серии "Рабинович по > > телефону напел". > Так, похоже ты разучился понимать не только сложные концепции из области IT, но и текст, написанный по-русски. Я пишу, что главная странность в том, что ты предлагаешь изучать IMAP по исходникам imapsync а не по RFC, а ты мне начинаешь возражать, что понять IMAP путем только эксперементов telnet-ом нельзя, надо читать RFC. > Тогда о каком "понимании" речь в словах "главная свобода во free > software - это свобода ПОНИМАТЬ что твой компьютер делает"? Вы вообще > что хотите понимать в работе программы? Скажите конкретно. Скажем, > если интересуют системные вызовы и их параметры -- для это исходники > не нужны, в юниксах есть strace/truss/tusc и т.п. утилиты для этого, > можно дебаггерами решить эту задачу. Как для опенсорца, так и для > проприетарного софта. Нельзя решить задачу понимания логики поведения даже конкретной программы только дебаггером. Потому что никогда у тебя не хватит ни времени, ни воображения для того, чтобы написать такой test suite, который вызовет срабатывание обоих веток в каждом условии. Конечно, иногда дебаггер помогает разобраться в нетривиальном поведении чужого кривого кода. Но вообще есть эмпирическое правило - если тебе понадобился дебаггер, т.е. ты не смог понять, что делает код, путем его чтения, то код, с которым ты работаешь, крив. Если это твой код - выкинь и перепиши сначала. Прямой код при чтении дает больше информации чем при пошаговом прогоне, потому что читатель видит все особые случаи и реакцию на них. А нормальная программа состоит из обработки особых случаев вообще процентов на 95. А чтобы понять что делают системные вызовы нужна единственная утилита - man. А вообще для этого лучше APUE читать. Но, к сожалению, иногда оказывается, что системные вызовы ведут себя не так, как написано у Стивенса, а реализации протоколов - не так, как описано в RFC. И тогда приходится лезть в их код. > > Прежде всего, изучать какую-то область я не начинаю с чтения софта. А из твоего предыдущего письма можно было сделать строго противоположный вывод. Что ты рекомендуешь изучать imap по исходникам imapsync. IMAP - это образцовый вариант, когда так делать не надо. Есть внятный RFC, есть возможность поиграться с протоколом интерактивно, есть reference implementation, есть хорошо документированные библиотеки для различных языков программирования. Но существуют ситуации когда кроме исходников читать больше нечего. Вот, например, с чего ты порекомендуешь изучать функционирование
Re: Проверить на наличие железяки
On Thu, Sep 22, 2016 at 07:57:14AM +0300, Victor Wagner wrote: > On Thu, 22 Sep 2016 01:38:54 +0300 > Eugene Berdnikovwrote: ... > > > Потому что главная свобода во free software - это свобода > > > ПОНИМАТЬ что твой компьютер делает. > > > > Для меня лично главная свобода опенсорца -- это свобода ВЫБОРА, > > как самого софта, так и того, что и как с ним можно делать. > > Ты понимаешь, что для того, чтобы у тебя была свобода выбора софта, > кто-то, например я, этот софт должен написать? А для того, чтобы > я мог его написать, мне нужно понимание того, что он делает. Чтобы написать, много чего ещё нужно. Монитор, клавиатура, культурный слой (умение читатать, знание того что такое алгоритм и т.д.). Вот только писателей софта едва ли 1/10 от числа пользователей (скорее даже меньше 1/100). Так что не надо точку зрения программистов выдавать за абсолют за всех. Удивитесь тому, что на в мире есть очень много людей, и всех очень разные шкалы ценностей. Взгляды на то, что такое свобода тоже сильно различаются, в том числе по отношению к ПО. > > Понимать при этом, что там этот софт делает -- по большей части > > не является необходимостью. Например, занимаясь сопровождением > > почтовых систем уже два десятка лет, я довольно поверхностно знаю > > протокол IMAP. Потому как нужды в ПОНИМАНИИ его нет, то есть > > она мне и даром не нужна, эта свобода. Хотя кому-то может быть > > интересно изучать IMAP по исходникам, например, imapsync'а. > > Это очень странно. Я вижу две странности. > > 1. Двадцать лет работать с imap-ом и так и ни разу не пообщаться с > imap-сервером при помощи телнета. Там же все настолько текстовое и > понятное. Ну вот расскажите нам, как понять что такое UIDVALIDITY, глядя лишь в протокол сессии IMAP и не прибегая к RFC. Разумеется, перевод слова "validity" и что скрывается за аббревиатурой UID будем считать известным. Изложите логическую последовательность, с удовольствием почитаю. Лично я, помнится, после беглого просмотра нескольких сессий так и не уловил смысл uidvalidity и был вынужден прочесть RFC. Хотя особо и не напрягался конечно... :) Если хочется напрячься, ещё есть много мест для приложения сил -- нерасшифрованных мёртвых яыков, непример. > 2. Вспомнив о необходимости изучать протокол, почему-то подумать об > изучении его не по RFC (хотя там все понятным английским языком > написано, и не нужно иметь двадцатилетний опыт работы в IT, чтобы в нем > разобраться - я его прочитал и понял еще году в 96, примерно через год > после начала использования Linux), и даже не по исходникам reference > implentation, каковой является pine/alpine и uw-imapd, а по исходникам > imapsync. Это из серии "Рабинович по телефону напел". Тогда о каком "понимании" речь в словах "главная свобода во free software - это свобода ПОНИМАТЬ что твой компьютер делает"? Вы вообще что хотите понимать в работе программы? Скажите конкретно. Скажем, если интересуют системные вызовы и их параметры -- для это исходники не нужны, в юниксах есть strace/truss/tusc и т.п. утилиты для этого, можно дебаггерами решить эту задачу. Как для опенсорца, так и для проприетарного софта. > То есть с выбором софта (для изучения) у тебя уже возникают сложности. > даже в той области, которой ты занимаешься 20 лет. А все потому что не > пытаешься понимать, действуешь методом тыка, не прослеживаешь историю > создания софта, идеологию, которой руководствовались его авторы. Прежде всего, изучать какую-то область я не начинаю с чтения софта. -- Eugene Berdnikov
Re: Проверить на наличие железяки
On Thu, 22 Sep 2016 01:38:54 +0300 Eugene Berdnikovwrote: > On Wed, Sep 21, 2016 at 11:54:30PM +0300, Victor Wagner wrote: > > хочется не то что убивать, а доводить до самоубийства особо > > изощренными способами. > > Я тоже умею фигурно цитировать и вырывать фразы из контекста. :) > > > Потому что главная свобода во free software - это свобода > > ПОНИМАТЬ что твой компьютер делает. > > Для меня лично главная свобода опенсорца -- это свобода ВЫБОРА, > как самого софта, так и того, что и как с ним можно делать. Ты понимаешь, что для того, чтобы у тебя была свобода выбора софта, кто-то, например я, этот софт должен написать? А для того, чтобы я мог его написать, мне нужно понимание того, что он делает. Я же наблюдаю последнее время такую картину - как только начинаешь где угодно, вплоть до openssl-devel, спрашивать "а как оно должно работать", получаешь в ответ: "забей и возьми готовое". Причем эти любители "добрых советов" даже не понимают, что таким образом лишают самих себя выбора, отбивая у людей желание создавать новое. > > Понимать при этом, что там этот софт делает -- по большей части > не является необходимостью. Например, занимаясь сопровождением > почтовых систем уже два десятка лет, я довольно поверхностно знаю > протокол IMAP. Потому как нужды в ПОНИМАНИИ его нет, то есть > она мне и даром не нужна, эта свобода. Хотя кому-то может быть > интересно изучать IMAP по исходникам, например, imapsync'а. Это очень странно. Я вижу две странности. 1. Двадцать лет работать с imap-ом и так и ни разу не пообщаться с imap-сервером при помощи телнета. Там же все настолько текстовое и понятное. 2. Вспомнив о необходимости изучать протокол, почему-то подумать об изучении его не по RFC (хотя там все понятным английским языком написано, и не нужно иметь двадцатилетний опыт работы в IT, чтобы в нем разобраться - я его прочитал и понял еще году в 96, примерно через год после начала использования Linux), и даже не по исходникам reference implentation, каковой является pine/alpine и uw-imapd, а по исходникам imapsync. Это из серии "Рабинович по телефону напел". То есть с выбором софта (для изучения) у тебя уже возникают сложности. даже в той области, которой ты занимаешься 20 лет. А все потому что не пытаешься понимать, действуешь методом тыка, не прослеживаешь историю создания софта, идеологию, которой руководствовались его авторы. -- Victor Wagner
Re: Проверить на наличие железяки
On Wed, Sep 21, 2016 at 11:54:30PM +0300, Victor Wagner wrote: > хочется не то что убивать, а доводить до самоубийства особо изощренными > способами. Я тоже умею фигурно цитировать и вырывать фразы из контекста. :) > Потому что главная свобода во free software - это свобода > ПОНИМАТЬ что твой компьютер делает. Для меня лично главная свобода опенсорца -- это свобода ВЫБОРА, как самого софта, так и того, что и как с ним можно делать. Вот не нравится мне Sendmail, так поставлю Exim: клик и готово. Или Postfix, клик и встал. Без лицензий, без переписки, без потерь времени и денег. А если что-то глючит, у меня есть ВЫБОР: сменить на другой софт, провести диагностику и запостить баг, или же залезть глубоко в код, накатать свой патч и отправить авторам. Что хочу то и делаю. Цена смены софтины -- несколько кликов. Понимать при этом, что там этот софт делает -- по большей части не является необходимостью. Например, занимаясь сопровождением почтовых систем уже два десятка лет, я довольно поверхностно знаю протокол IMAP. Потому как нужды в ПОНИМАНИИ его нет, то есть она мне и даром не нужна, эта свобода. Хотя кому-то может быть интересно изучать IMAP по исходникам, например, imapsync'а. > Если ты не хочешь пользоваться > этой свободой, следует сразу покупать себе Мак и продаваться в рабство > тому кто у них там нынче главный в Apple. Вах! Теперь я знаю что должен делать правоверный, если ему не хочется пользоваться свободой. Спасибо, наставили на путь истинный. :))) -- Eugene Berdnikov
Re: Проверить на наличие железяки
On Wed, 21 Sep 2016 18:15:09 +0300 Eugene Berdnikovwrote: > Тю... Помолился любимому богу, и хряк! Сейф на 15м этаже безо всякой > там антигравитации. :) Нужен лишь талмуд, чтобы найти там правильные > молитвы. > Собственно, puppet со товарищи и есть те самые "исполнители желаний", > в конфиги которых пишутся заклинания. Но особо упоротые джидаи, А вот людей, которые превращают free software в "заклинания" мне хочется не то что убивать, а доводить до самоубийства особо изощренными способами. Потому что главная свобода во free software - это свобода ПОНИМАТЬ что твой компьютер делает. Если ты не хочешь пользоваться этой свободой, следует сразу покупать себе Мак и продаваться в рабство тому кто у них там нынче главный в Apple. -- Victor Wagner
Re: Проверить на наличие железяки
On Wed, 21 Sep 2016 21:54:09 +0300 dimaswrote: > для этого есть tasksel и dpkg --get/set-selections --set-selection неудобно. Особенно если ты у машины не единственный пользователь со своим набором предпочтений. Пакетов с зависимостями можно поставить столько, сколько надо, а сливать разные списки для --set-selection придется руками. Поскольку там может быть не только install, но и deinstall. tasksel был бы вариантом, если бы я умел его готовить. Пакеты я готовить умею, а таски для tasksel-а делать отдельно учиться надо. А к стандартным таскам у меня отношение такое "ни одной из них ставить нельзя, поскольку каждая волочет за собой кучу мусора". -- Victor Wagner
Re: Проверить на наличие железяки
для этого есть tasksel и dpkg --get/set-selections 2016-265 17:11 Victor Wagnerwrote: > Поддержка персонального списка пакетов это правильная идея. Я, когда мне > не лень, оформляю это в виде дебиановского пакета, который зависит от > тех пакетов, которые мне нужны. Все равно я ко всем машинам подключаю > свой персональный репозиторий. Стоит поставить пакет > "my-personal-choices" и все необходимое поставится.
Re: Проверить на наличие железяки
On 21/09/16 10:11 AM, Victor Wagner wrote: > > Я люблю по этому поводу приводить такую аналогию: > > Есть задача - поднять сейф на второй этаж. Можно собраться, взять его в > четвером и затащить по лестнице. А можно быстренько изобрести > антигравитацию, построить демонстрационный образец антигравитатора и им > поднять сейф. моё дело предложить > Основная проблема в том, что нужно заранее расписывать роли. Когда речь > идет об информационной системе предприятия, это допустимо. Там > планирование необходимо. А вот оформление личной сессии в каком-то > смысле правильнее вести в режиме антипланирования. Вот зачесалась левая > пятка что-то сделать и сделал. Опять же, если все лежит в scm то > откатить не долго. А чем это отличается от прописывания условий в конфигах с детектом железа и прочими костылями ? опять же, не обязателен мастер, всё можно делать masterless, держа конфиги в SCM >> плюс: все определено, каждая машина точно определена по имени. можно >> расширить манифест до списка пакетов, которые должны стоять, не только >> конфиги > Поддержка персонального списка пакетов это правильная идея. Я, когда мне > не лень, оформляю это в виде дебиановского пакета, который зависит от > тех пакетов, которые мне нужны. Все равно я ко всем машинам подключаю > свой персональный репозиторий. Стоит поставить пакет > "my-personal-choices" и все необходимое поставится. персональный список пакетов может меняться от машины к машине, не собирать же свой мета пакет для каждой из ролей ?
Re: Проверить на наличие железяки
Victor Wagnerwrote: > On Tue, 20 Sep 2016 22:21:18 +0300 > Andrey Melnikoff wrote: > > Victor Wagner wrote: > > > Коллеги, > > Возьми вывод `dmidecode -s "system-product-name"' или `dmidecode -s > > "baseboard-product-name"' и нарисуй себе включатели-выключатели. У > > тебя же не 100 машин? > > > Это что, предлагается редактировать .xsessionrc каждый раз, когда я > куплю новый ноутбук? А ты их каждый день покупаешь? Не вижу проблем раз в пару-тройку лет подправить в скрипте имя доски нового бука.
Re: Проверить на наличие железяки
On Wed, Sep 21, 2016 at 05:11:50PM +0300, Victor Wagner wrote: > On Wed, 21 Sep 2016 09:53:23 -0400 > Tim Sattarovwrote: > > > Почитал тред, на мой взгляд эта задача для configuration management > > систем: puppet, ansible, chef, etc... > > Я люблю по этому поводу приводить такую аналогию: > > Есть задача - поднять сейф на второй этаж. Можно собраться, взять его в > четвером и затащить по лестнице. А можно быстренько изобрести > антигравитацию, построить демонстрационный образец антигравитатора и им > поднять сейф. Тю... Помолился любимому богу, и хряк! Сейф на 15м этаже безо всякой там антигравитации. :) Нужен лишь талмуд, чтобы найти там правильные молитвы. Собственно, puppet со товарищи и есть те самые "исполнители желаний", в конфиги которых пишутся заклинания. Но особо упоротые джидаи, конечно, под любую задачу изобретают свою собственную антигравитацию... -- Eugene Berdnikov
Re: Проверить на наличие железяки
On Wed, 21 Sep 2016 09:53:23 -0400 Tim Sattarovwrote: > On 20/09/16 02:17 AM, Victor Wagner wrote: > > Коллеги, > > тут у меня возникла мысль синхронизировать конфигурацию рабочего > > стола между всеми используемыми мной машинами. > > > Почитал тред, на мой взгляд эта задача для configuration management > систем: puppet, ansible, chef, etc... Я люблю по этому поводу приводить такую аналогию: Есть задача - поднять сейф на второй этаж. Можно собраться, взять его в четвером и затащить по лестнице. А можно быстренько изобрести антигравитацию, построить демонстрационный образец антигравитатора и им поднять сейф. > > расписываются роли - ноутбук, большой экран, тачпад и прочее и > комбинируются в хосты Основная проблема в том, что нужно заранее расписывать роли. Когда речь идет об информационной системе предприятия, это допустимо. Там планирование необходимо. А вот оформление личной сессии в каком-то смысле правильнее вести в режиме антипланирования. Вот зачесалась левая пятка что-то сделать и сделал. Опять же, если все лежит в scm то откатить не долго. > плюс: все определено, каждая машина точно определена по имени. можно > расширить манифест до списка пакетов, которые должны стоять, не только > конфиги Поддержка персонального списка пакетов это правильная идея. Я, когда мне не лень, оформляю это в виде дебиановского пакета, который зависит от тех пакетов, которые мне нужны. Все равно я ко всем машинам подключаю свой персональный репозиторий. Стоит поставить пакет "my-personal-choices" и все необходимое поставится. > минус: надо учить что-то новое, ставить дополнительную программу > >
Re: Проверить на наличие железяки
On 20/09/16 02:17 AM, Victor Wagner wrote: > Коллеги, > тут у меня возникла мысль синхронизировать конфигурацию рабочего стола > между всеми используемыми мной машинами. > Почитал тред, на мой взгляд эта задача для configuration management систем: puppet, ansible, chef, etc... расписываются роли - ноутбук, большой экран, тачпад и прочее и комбинируются в хосты плюс: все определено, каждая машина точно определена по имени. можно расширить манифест до списка пакетов, которые должны стоять, не только конфиги минус: надо учить что-то новое, ставить дополнительную программу
Re: Проверить на наличие железяки
On Wed, 21 Sep 2016 13:36:24 +0300 Eugene Berdnikovwrote: > Но параноик и тут может выпендриться и сказать, что он не хочет > светить в конфигах аппаратные идентификаторы своего оборудования. :) > > > Как раз от чего мне хочется уйти, так это от необходимости иметь > > разные настройки своей сессии на разных машинах. > > Цена такой хотелки -- полная унификация оборудования. А если хочется > иметь одинаково настроенную среду и на огромном мониторе Ну нифига подобного. Это у нас не винда, которая требует переустановки при перетыкании диска из машины в машину. Unix-системы всегда отличались умением адаптироваться к изменением оборудования > стационарного компьютера, и на маленьком ноутбучном экране, то всегда А это уж вообще ОБЯЗАНО само настраиваться. Я же могу подключить к ноутбуку внешний монитор или проектор. Ну и вообще, конечно, современная молодежь про это уже забыла, но Unix-система многопользовательская. В старые времена Xt и Motif-а база данных ресурсов X window собирала свои настройки из настрек хоста, настроек монитора и настроек приложения, а пользователький файл .Xdefaults еще и через C-шный препроцессор прогоняла, чтобы настроить его на параметры конкретного монитора. Далее, даже в те времена, когда X-терминалы были уже не очень популярны, было крайне популярно монтирование $HOME по NFS и в корпоративной среде была типична ситуация когда одни и те же пользовательские скрипты используются на десятках машин с разными параметрами. Я конечно, понимаю, что сейчас GUI-приложения под Linux в основном пишут люди, которые пытались научиться программировать под Windows, но не сумели, потому что это оказалось для них слишком сложно. А люди более-менее способные что-то грамотно спроектировать, от GUI нос воротят.
Re: Проверить на наличие железяки
On Wed, Sep 21, 2016 at 12:42:49PM +0300, Victor Wagner wrote: > А завтра у меня сдохнет винчестер, я восстановлюсь с бэкапа и uuid > файловой системы поменяется. tune2fs -U uuid xfs_admin -U uuid ... > Или наоборот - переставлю этот диск из > одного ноутбука в другой, а в этот поставлю больший. Корневая файловая > система не имеет никакого отношения к наличию у машины позционирующих > устройств. dmidecode -s baseboard-serial-number dmidecode -s chassis-serial-number Но параноик и тут может выпендриться и сказать, что он не хочет светить в конфигах аппаратные идентификаторы своего оборудования. :) > Как раз от чего мне хочется уйти, так это от необходимости иметь разные > настройки своей сессии на разных машинах. Цена такой хотелки -- полная унификация оборудования. А если хочется иметь одинаково настроенную среду и на огромном мониторе стационарного компьютера, и на маленьком ноутбучном экране, то всегда найдутся утилиты, которые придётся запускать с разными параметрами. Унификация конфигов -- это идеал, к которому следует стремиться (и это правильно), но который в реальности обычно недостижим. -- Eugene Berdnikov
Re: Проверить на наличие железяки
On Wed, 21 Sep 2016 11:53:49 +0300 Eugene Berdnikovwrote: > В скрипте незачем указывать полный список машин. Для исключения > достаточно указать одну, вписав её имя (или mac-адрес, или же, > для абсолютно упоротых параноиков, которые не хотят оставлять никаких > следов в сети -- невидимый извне uuid корневой файловой системы). > А завтра у меня сдохнет винчестер, я восстановлюсь с бэкапа и uuid файловой системы поменяется. Или наоборот - переставлю этот диск из одного ноутбука в другой, а в этот поставлю больший. Корневая файловая система не имеет никакого отношения к наличию у машины позционирующих устройств. Люди почему-то очень любят все делать через задницу. Например оплачивать автомобильные дороги за счет акцизов на бензин. А в результате приходится запрещать заправлять машины растительным маслом, на котором жарили картошку. Пусть это экономично и экологично, но акциз не заплачен. Как раз от чего мне хочется уйти, так это от необходимости иметь разные настройки своей сессии на разных машинах. > Но речь вообще-то шла не о параноиках, а о том, что придумать правила > на все случаи жизни невозможно. Можно только минизировать затраты. > И в этом плане совет воспользоваться dmidecode выглядит разумным. На мой взгляд, совет держать в голове особенности различия машин как целостных объектов не выглядит разумным. Я уж не говорю, что dmidecode это вообще pc-специфичная фигня, и работать на машинах с другой архитектурой (на тех же Raspberry Pi) она нифига не будет.
Re: Проверить на наличие железяки
On Wed, Sep 21, 2016 at 11:06:35AM +0300, Victor Wagner wrote: > On Wed, 21 Sep 2016 11:00:38 +0300 > Eugene Berdnikovwrote: > > > On Wed, Sep 21, 2016 at 10:47:57AM +0300, Victor Wagner wrote: > > > Вот допустим, сдохнет у меня трекпойнт. Если условия будут прописаны > > > правильно, то по факту необнаружения трэкпойнта автоматически > > > заработает тачпад. > > > > Не заработает. Потому что трекпойнт сдохнет так, что работать > > не будет, но с точки зрения системы будет присутствовать и > > определяться точно так же, как и раньше. :) > > > > Так что соломки на весь космодром не настелешься. Придётся для > > конкретного сломаного ноута вставлять в скрипт исключение. > > Вообще не следует забывать и о том, что может внимательный читатель > прочитать в этом скрипте. > > Скрипт-то синхронизируется посредством общедоступного scm-репозитория. > Одно дело, если все что можно узнать из этого скрипта, это то, что у > меня есть/был ноутбук с трэкпойнтом (об этом я уже все равно в этой > рассылке признался) и другое, если там будет полный список машин, на > которых я использую этот скрипт. В скрипте незачем указывать полный список машин. Для исключения достаточно указать одну, вписав её имя (или mac-адрес, или же, для абсолютно упоротых параноиков, которые не хотят оставлять никаких следов в сети -- невидимый извне uuid корневой файловой системы). > Впрочем тут в этом треде есть люди, которые не просто признаются что > используют дропбокс и гмейл (то есть отдают всю свою информацию дяде, > который будет использовать ее для таржетированной рекламы), но и другим > этот подход рекомендуют. Среди других есть такие, которые параноей не страдают, и тем самым экономят своё время и силы. И это при их стиле жизни вполне разумно, если они не занимаются торговлей наркотиками или кражей гостайн. Но речь вообще-то шла не о параноиках, а о том, что придумать правила на все случаи жизни невозможно. Можно только минизировать затраты. И в этом плане совет воспользоваться dmidecode выглядит разумным. -- Eugene Berdnikov
Re: Проверить на наличие железяки
В Wed, 21 Sep 2016 11:06:35 +0300 Victor Wagnerпишет: > On Wed, 21 Sep 2016 11:00:38 +0300 > Eugene Berdnikov wrote: > Вообще не следует забывать и о том, что может внимательный > читатель прочитать в этом скрипте. > > Скрипт-то синхронизируется посредством общедоступного > scm-репозитория. Одно дело, если все что можно узнать из > этого скрипта, это то, что у меня есть/был ноутбук с > трэкпойнтом (об этом я уже все равно в этой рассылке > признался) и другое, если там будет полный список машин, на > которых я использую этот скрипт. Ну тогда может делить скрипт на два: общий код и необязательный для конкретной машины. Из общего скрипта делать вызов типа exec myscript.`hostname`. Опциональный не синхронизировать - тогда совсем анонимно будет. Мне кажется это стандартный подход - по типу source.conf и source.conf.d/.
Re: Проверить на наличие железяки
On Wed, 21 Sep 2016 11:00:38 +0300 Eugene Berdnikovwrote: > On Wed, Sep 21, 2016 at 10:47:57AM +0300, Victor Wagner wrote: > > Вот допустим, сдохнет у меня трекпойнт. Если условия будут прописаны > > правильно, то по факту необнаружения трэкпойнта автоматически > > заработает тачпад. > > Не заработает. Потому что трекпойнт сдохнет так, что работать > не будет, но с точки зрения системы будет присутствовать и > определяться точно так же, как и раньше. :) > > Так что соломки на весь космодром не настелешься. Придётся для > конкретного сломаного ноута вставлять в скрипт исключение. Вообще не следует забывать и о том, что может внимательный читатель прочитать в этом скрипте. Скрипт-то синхронизируется посредством общедоступного scm-репозитория. Одно дело, если все что можно узнать из этого скрипта, это то, что у меня есть/был ноутбук с трэкпойнтом (об этом я уже все равно в этой рассылке признался) и другое, если там будет полный список машин, на которых я использую этот скрипт. Впрочем тут в этом треде есть люди, которые не просто признаются что используют дропбокс и гмейл (то есть отдают всю свою информацию дяде, который будет использовать ее для таржетированной рекламы), но и другим этот подход рекомендуют.
Re: Проверить на наличие железяки
On Wed, Sep 21, 2016 at 10:47:57AM +0300, Victor Wagner wrote: > Вот допустим, сдохнет у меня трекпойнт. Если условия будут прописаны > правильно, то по факту необнаружения трэкпойнта автоматически > заработает тачпад. Не заработает. Потому что трекпойнт сдохнет так, что работать не будет, но с точки зрения системы будет присутствовать и определяться точно так же, как и раньше. :) Так что соломки на весь космодром не настелешься. Придётся для конкретного сломаного ноута вставлять в скрипт исключение. -- Eugene Berdnikov
Re: Проверить на наличие железяки
On Wed, 21 Sep 2016 10:27:49 +0300 Eugene Berdnikovwrote: > > > > Это что, предлагается редактировать .xsessionrc каждый раз, когда я > > куплю новый ноутбук? > > Какая разница, что редактировать? Какой-то скрипт всё равно править. Разница в том, КОГДА править. Когда изменятся конкретные условия, на которые надо реагировать, или желаемая реакция на условия. А не когда сменится имя того объекта, внутри которого эти условия. Я всегда был противником суррогатных ключей в базе данных. Естественные ключи правильнее. Вот допустим, сдохнет у меня трекпойнт. Если условия будут прописаны правильно, то по факту необнаружения трэкпойнта автоматически заработает тачпад. --
Re: Проверить на наличие железяки
Лично я решаю данный вопрос хранением документов в дропбоксе и пользованием почты на гмыле чрезе броузер, настройки броузеры давно умеют синхронизироваться через инет. Единственное что делаю руками - это синхронизирую ярлыки подключения к серверам, рсинком. в арсенале - машина дома, машина на работе и ноут, каких-то неудобств не испытываю совсем 21 сентября 2016 г., 10:27 пользователь Eugene Berdnikovнаписал: > On Wed, Sep 21, 2016 at 07:07:17AM +0300, Victor Wagner wrote: > > On Tue, 20 Sep 2016 22:21:18 +0300 > > Andrey Melnikoff wrote: > > > Victor Wagner wrote: > > > > > Возьми вывод `dmidecode -s "system-product-name"' или `dmidecode -s > > > "baseboard-product-name"' и нарисуй себе включатели-выключатели. У > > > тебя же не 100 машин? > > > > Это что, предлагается редактировать .xsessionrc каждый раз, когда я > > куплю новый ноутбук? > > Какая разница, что редактировать? Какой-то скрипт всё равно править. > > Вот придёт новый ноут, а на нём нет тачпада, и вааще... телекинез > вынесли в модуль экстрасенсорики, астральное питалово в universed, > драйвер антигравитации глючит и для него нужно реактор бустировать. > Вы надеетсь выстелить соломкой весь этот космодром? Ню-ню... :) > -- > Eugene Berdnikov > >
Re: Проверить на наличие железяки
On Wed, Sep 21, 2016 at 07:07:17AM +0300, Victor Wagner wrote: > On Tue, 20 Sep 2016 22:21:18 +0300 > Andrey Melnikoffwrote: > > Victor Wagner wrote: > > > Возьми вывод `dmidecode -s "system-product-name"' или `dmidecode -s > > "baseboard-product-name"' и нарисуй себе включатели-выключатели. У > > тебя же не 100 машин? > > Это что, предлагается редактировать .xsessionrc каждый раз, когда я > куплю новый ноутбук? Какая разница, что редактировать? Какой-то скрипт всё равно править. Вот придёт новый ноут, а на нём нет тачпада, и вааще... телекинез вынесли в модуль экстрасенсорики, астральное питалово в universed, драйвер антигравитации глючит и для него нужно реактор бустировать. Вы надеетсь выстелить соломкой весь этот космодром? Ню-ню... :) -- Eugene Berdnikov
Re: Проверить на наличие железяки
On Tue, 20 Sep 2016 22:21:18 +0300 Andrey Melnikoffwrote: > Victor Wagner wrote: > > Коллеги, > Возьми вывод `dmidecode -s "system-product-name"' или `dmidecode -s > "baseboard-product-name"' и нарисуй себе включатели-выключатели. У > тебя же не 100 машин? > Это что, предлагается редактировать .xsessionrc каждый раз, когда я куплю новый ноутбук? -- Victor Wagner
Re: Проверить на наличие железяки
On Tue, 20 Sep 2016 17:05:42 +0300 (MSK) yuri.nefe...@gmail.com wrote: > > А не проще сразу по hostname переключение делать? > Я к тому, что пока тестировать будете, как раз всё и определится. > Не проще. Вдруг у меня второй Thinkpad заведется. > Кроме того есть у xinput неприятная особенность время от времени > формат вывода менять. Ну уж слова "IBM TrackPoint" он оттуда вряд ли потеряет. > В sysfs может содержатся и touchpad. Скажем, мне проще Ну я бы сказал, что там все pointing device там должны быть. > выключать\выключать его через > файл: /sys/devices/platform/sony-laptop/touchpad > > Не совсем связанный с этим, но тоже интересный вопрос: > как принтер по умолчанию задавать? > Что бы на ноутбуке, в зависимости от местоположения - дома, на > работе, автоматический выставлялся нужный принтер. Раньше, во времена lpd можно было по dhcp lpd-servers раздавать. > Пока я обхожусь обвязкой вокруг lpr: wlpr для работы, но > может быть есть более умные решения? > > Ю. -- Victor Wagner
Re: Проверить на наличие железяки
Victor Wagnerwrote: > Коллеги, > тут у меня возникла мысль синхронизировать конфигурацию рабочего стола > между всеми используемыми мной машинами. Благо с отказом от LXDE и > переходом на JWM это стало технически просто - хоть в version control > коммить, хоть просто rsync-ай. > Но столкнулся с вот такой проблемой - некоторые апплеты, которые > хочется видеть в трее, хочется видеть только на устройствах, где есть > определенные аппаратные компоненты. Возьми вывод `dmidecode -s "system-product-name"' или `dmidecode -s "baseboard-product-name"' и нарисуй себе включатели-выключатели. У тебя же не 100 машин?
Re: Проверить на наличие железяки
On Tue, 20 Sep 2016, Victor Wagner wrote: On Tue, 20 Sep 2016 12:06:00 +0300 dimaswrote: про батарейку нашел вот такую штуку в /sys: /sys/class/power_supply/BAT0 О, спасибо, про существование в sysfs иерархии class-то я и забыл. по тычпаду - что-то типа xinput list --name-only | grep "ТычСтик" &>/dev/null && \ xinput disable "SynPS/2 Synaptics TouchPad" имена девайсов меняем на те, что даст xinput. можно сделать Вот не было у меня привычки держать утилиту xinput установленной. Но, пожалуй, на Thinkpad специально ради этой проверки я ее поставлю. А для прочих напишу условие вида if [ -x /usr/bin/xinput ] && xinput list |grep -q "IBM TrackPoint"; then synclient TouchPadOff=1 fi В смысле, если я сюда не ставил xinput, то и отключать ничего не надо. А не проще сразу по hostname переключение делать? Я к тому, что пока тестировать будете, как раз всё и определится. Кроме того есть у xinput неприятная особенность время от времени формат вывода менять. В sysfs может содержатся и touchpad. Скажем, мне проще выключать\выключать его через файл: /sys/devices/platform/sony-laptop/touchpad Не совсем связанный с этим, но тоже интересный вопрос: как принтер по умолчанию задавать? Что бы на ноутбуке, в зависимости от местоположения - дома, на работе, автоматический выставлялся нужный принтер. Пока я обхожусь обвязкой вокруг lpr: wlpr для работы, но может быть есть более умные решения? Ю.
Re: Проверить на наличие железяки
On Tue, 20 Sep 2016 12:06:00 +0300 dimaswrote: > про батарейку нашел вот такую штуку в /sys: > /sys/class/power_supply/BAT0 О, спасибо, про существование в sysfs иерархии class-то я и забыл. > по тычпаду - что-то типа > xinput list --name-only | grep "ТычСтик" &>/dev/null && \ > xinput disable "SynPS/2 Synaptics TouchPad" > имена девайсов меняем на те, что даст xinput. можно сделать Вот не было у меня привычки держать утилиту xinput установленной. Но, пожалуй, на Thinkpad специально ради этой проверки я ее поставлю. А для прочих напишу условие вида if [ -x /usr/bin/xinput ] && xinput list |grep -q "IBM TrackPoint"; then synclient TouchPadOff=1 fi В смысле, если я сюда не ставил xinput, то и отключать ничего не надо.
Re: Проверить на наличие железяки
про батарейку нашел вот такую штуку в /sys: /sys/class/power_supply/BAT0 не могу проверить, будет ли она на стационарном компе, ибо на единственном имеющемся отключен в ведре весь acpi, но логика подсказывает, что быть там такой папки не должно)) ну и внутри есть файлик type, выдающий "battery". или вот тут еще пишут про разные тулзы для мониторинга батарейки - можно попарсить их вывод, но через sysfs как-то проще: https://blog.sleeplessbeastie.eu/2013/01/02/debian-how-to-monitor-battery-capacity/ по тычпаду - что-то типа xinput list --name-only | grep "ТычСтик" &>/dev/null && \ xinput disable "SynPS/2 Synaptics TouchPad" имена девайсов меняем на те, что даст xinput. можно сделать grep -E "(тычстик|mouse)" на предмет наличия хотя бы одного из желаемых девайсов 2016-264 09:17 Victor Wagnerwrote: > Коллеги, > тут у меня возникла мысль синхронизировать конфигурацию рабочего стола > между всеми используемыми мной машинами. Благо с отказом от LXDE и > переходом на JWM это стало технически просто - хоть в version control > коммить, хоть просто rsync-ай. > > Но столкнулся с вот такой проблемой - некоторые апплеты, которые > хочется видеть в трее, хочется видеть только на устройствах, где есть > определенные аппаратные компоненты. > > Например, fdpowermon имеет смысл запускать только там, где есть > аккумулятор. > > Есть и более сложная задача - вот у меня есть ноутбук Thinkpad, на > котором кроме общепринятого нынче тачпада есть touchstick, который > гораздо удобнее. > Поэтому на нем из .xsessionrc вызывается > > synclient TouchpadOff=1 > > Чтобы, если попадешь по этому дурацкому тачпаду ладонью при работе на > клавиатуре, курсор никуда не уехал. > > Но когда я по ошибке скопировал этот xsessionrc на EeePC 900, то курсор > мыши стало двигать вообще нечем. > То есть задача - если на устройстве есть тачпад, но нет никакого > другого позиционирующего устойства, то тачпад не отключать, а если есть > тачпад и кое что еще - отключать. > > Для батарейки нашел вроде решение > > test -n "`ls -1 /sys/bus/acpi/drivers/battery |fgrep -v 'bind > uevent > unbind`" > > Но какое-то оно громоздкое. > > Самое простое решение - для wpa_gui - если control socket > wpa_supplicant writable для текущего юзера, то имеет смысл запускать. > >
Проверить на наличие железяки
Коллеги, тут у меня возникла мысль синхронизировать конфигурацию рабочего стола между всеми используемыми мной машинами. Благо с отказом от LXDE и переходом на JWM это стало технически просто - хоть в version control коммить, хоть просто rsync-ай. Но столкнулся с вот такой проблемой - некоторые апплеты, которые хочется видеть в трее, хочется видеть только на устройствах, где есть определенные аппаратные компоненты. Например, fdpowermon имеет смысл запускать только там, где есть аккумулятор. Есть и более сложная задача - вот у меня есть ноутбук Thinkpad, на котором кроме общепринятого нынче тачпада есть touchstick, который гораздо удобнее. Поэтому на нем из .xsessionrc вызывается synclient TouchpadOff=1 Чтобы, если попадешь по этому дурацкому тачпаду ладонью при работе на клавиатуре, курсор никуда не уехал. Но когда я по ошибке скопировал этот xsessionrc на EeePC 900, то курсор мыши стало двигать вообще нечем. То есть задача - если на устройстве есть тачпад, но нет никакого другого позиционирующего устойства, то тачпад не отключать, а если есть тачпад и кое что еще - отключать. Для батарейки нашел вроде решение test -n "`ls -1 /sys/bus/acpi/drivers/battery |fgrep -v 'bind uevent unbind`" Но какое-то оно громоздкое. Самое простое решение - для wpa_gui - если control socket wpa_supplicant writable для текущего юзера, то имеет смысл запускать.