1. bash / Говнокод #21032

    −98

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    #!/bin/bash
    
    docker images  | \
        grep $1 | \
        awk '{ print $1":"$2 }' | \
        xargs -I{} docker history --human=false {} | \
        grep -P '^[0-9a-f]{12}' | \
        sed -r 's/([^ ]+).+\s([^ ]+\s+)$/\1 \2/' | \
        sort -u | \
        grep -v ' 0' | \
        awk '{ print $2 }' | \
        xargs | \
        sed -e 's/\ /+/g' | \
        bc | xargs -I{} echo '({} / (1024.0 * 1024.0))' | bc

    Считает общий объем занимаемый всеми имиджами Докера с определенным тагом.

    Запостил: wvxvw, 29 Августа 2016

    Комментарии (60) RSS

    • лол, такими скриптами хорошо виндузятников пугать. Дескать: "на линуксе только так и делают"
      Ответить
      • виндовыми гуями хорошо юниксоидов пугать. Дескасть: "а теперь угадайте какие кнопки в каких окнах в какой последовательности надо нажать что бы получить нужный результат. Подсказка: вы забыли поставить пол дюжины 3rd party тулзов и out-of-box на виндах это вообще не возможно! *муахахахахаха*"

        ЗЫ типа, год назад семерка у половины офиса после какого-то апдейта - то ли на клиентах, то ли на PDC - стала утверждать что доступа к интернету отсутствует. никто и не заметил пока IE не запустили - фаерфоксам хромам это по барабану - а IE сказал "иди в Ж, ты в оффлайн режиме". не знаю в чем проблема была, но фиксили это пару недель, и до корпоративных IE-онли порталов достучатся было не возможно. я бля лучше такие шеллы писать/читать буду - чем вот такой хуйней под виндами страдать...
        Ответить
        • Семерки не бывает на DC (точнее, там она называется 2008 R2), и термин PDC устарел примерно со времен NT 4.0. Правильно говорить "эмулятор PDC" (есть такая fsmo роль) да и та не нужна уже никому кроме самых древних клиентов.

          Но в главном ты прав: Windows работает отлично пока работает. А когда она внезапно говорит "ERROR_INVALID_INDEX 1413 (0x585)" то хочется написать поэмму на седе, авке, грепе и bc, чтоб только пиздеца этого не видеть
          Ответить
          • > Windows работает отлично пока работает. А когда она внезапно говорит "ERROR_INVALID_INDEX 1413 (0x585)" [...]

            Как по мне самое страшное это когда ты нажимаешь на кнопку....... и ничего не происходит. И как правило это происходит паралелльно с тем что что-то подвисает, хез знает что, и даже просто ребут сделать больше невозможно.

            Или те же сервисы в состоянии "stopping..." Я знаю как оно на Линухах мрачно бывает, но по крайней мере можно почти всегда выщемить в чем проблема и ругаться на что-то конкретное.
            Ответить
            • А еще хорошо когда сервер загружается и показывает черный экран (или серый в 2003м).
              Ты грузишься с диска, подключаешь логи, а тебе говорят "unable to read data " и ты не знаешь почему: Логи-то бинарные.

              А никакого лога загрузки у тебя тоже нет кроме тупого ntbtlog в котором только драйверы уровня system, а виснет всё позже.

              В итоге ты идешь и восстанавливаешься из бекапа (ну или откатываешься к точке восстановления из теневой копии в случае Win7/2008+). В итоге ты потратил час времени, понимания проблемы у тебя ни на йоту не появилось (ты так и не понял что испортилось) и почувствовал себя полным идиотом.

              В линуксах админ знает почему и что работает (ему приходится знать) а потому он знает почему что-то НЕ работает.

              А в винде no serviceable parts inside.

              Конечно, если ты Руссинович и знаешь кишки винды то тебе значительно легче, но 99% админов не руссиновичи
              Ответить
              • > Конечно, если ты Руссинович и знаешь кишки винды то тебе значительно легче, но 99% админов не руссиновичи

                LOL. Знакомый в старые временя держал на серваках WinIce. Ковырялся в кишках и говорил что даже часто помогало.
                Ответить
                • SoftICE всё, к сожалению.

                  Но это мудоебизм конечно: реверсинженирить систему чтобы починить простые вещи.
                  Ответить
                  • > SoftICE всё
                    А чего все? Хорошая была же штука
                    Ответить
                    • всё потому что запусти мне софтайс под совр оперцыонк
                      Ответить
          • > и термин PDC устарел примерно со времен NT 4.0.

            Я где-то пост от самбовцев читал. Они говорили что да, после введения AD, все якобы поменялось, но на самом деле под покровом новых гуёв вертится все теже самые интерфейсы - и почти без изменений. Поддержку старых версий виндов они просто принципиально обрезали - не технически из-за отсутствия старых интерфейсов - а просто с помощью проверки номера версии виндов. В самбе они тогда просто подняли номер версии виндов - и почти все что раньше работало, заработало опять без изменений.

            Другими словами: PDC оно, PDC.
            Ответить
            • Данунафиг: протоколы сильно поменялись, просто осталась поддержка старых (через коии и работала samba2-3). Например DC ищут теперь не через NetBIOS а через DNS.
              Получать данные можно через LDAP. итд.

              Во времена NT 4.0 репликация была односторонняя: все срали в PDC, а BDC был ридонли. Этакий hot standby. Когда PDC накрывался песдой, все переключались на BDC.

              Начиная с Win2K (то есть собссно с AD) у них появилась multimaster replciation. У каждого объекта есть версия и точное время изменения, и менять можно на любом DC: они сами синхронизируются и у кого время новее -- тот и победил. Понятное дело что без синка времени это не работает, но без него и Kerberos5 не работает (тоже кстати изменение коее пришло в AD на место старого NTLM).

              Но для совместимости с NT 4, Win95 да и самбой (не ради линукса а ради мака конечно, где тоже есть самба) они оставили эмуляцию PDC, то-есть можно прийти через NetBIOS или DNS и спросить "а кто тут PDC?" ну и один кто-то ответит. Они и NTLM для этого поддерживают, и даже NetBIOS over IP (порт 139 который) хотя давно уже у них SMB поверх TCP (445 порт) ака direct host.
              Ответить
              • про такие тонкости не знаю. знаю только что самба уже давно может обслуживать так же и AD. и AD DS все равно зовётся "domain controller" - https://en.wikipedia.org/wiki/Active_Directory - https://en.wikipedia.org/wiki/Domain_controller#Windows_2000 - все равно есть "мастер".
                Ответить
                • может, я не спорю)

                  ну вот же из твоей ссылки:

                  "In Active Directory domains, the concept of primary and secondary domain controller relationships no longer applies. ".
                  Ответить
                  • это ссылается на репликацию данных. по тому как ты объяснял, раньше можно было менять конфигурацию только на мастере (примари), а остальные стэндбаи (сэкандари) были только Р/О. теперь менять можно везде, и серваки будут реплицировать автоматом. но как ты ни крути, почти в любой распределенке есть всегда мастер/примари. маркетинг любит говорить что нет мастера/примари - но еще ни одной системы не видел где его на самом деле нет.
                    Ответить
                    • да схуя там есть мастер-то?
                      Зачем он там?

                      На любом меняешь данные, они и реплицируются по кругу. Это не только в AD, это и многие СУБД так умеют
                      Ответить
                      • > да схуя там есть мастер-то?
                        > Зачем он там?

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

                        Maт-часть: https://www.amazon.com/Distributed-Systems-Principles-Paradigms-2nd/dp/0132392275/ (Читать не рекомендую - сам не осилил - очень муторно. Но зато вся мат-часть с примерами.)

                        > Это не только в AD, это и многие СУБД так умеют

                        Врут они. Как я сказал: это маркетинг. В СУБД слово мастер давно ассоциируется с "bottleneck", почему все дружно кричат "у нас в кластере нет мастера!" На самом деле мастер есть (и часто есть много мастеров для разных целей) просто он (они) маштабируется хорошо и/или делает очень мало, почему ничего и не тормозит. Поэтому и кричат "у нас в кластере нет мастера!"
                        Ответить
                        • Да что мешает двум серверам обменяться данными и в момент обмена по спец протоколу прийти к выводу о том, как должны выглядеть данные?

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

                            Если интересно почему это не так просто - читай мат-часть.

                            Или просто разминка для мозгов: нарисуй этот протокол на бумажке, и попробуй в голове просимулировать на каждом шаге протокола потенциальные крэшы серваков.
                            Ответить
                            • понятно

                              Мне предлагается поверить тебе на слово что microsoft, postgres и пр пиздят, либо почитать 1000 страниц танненбаума
                              Ответить
                              • если бы ты что-то распределенное делал, то тебе бы это было проще представить.

                                транслируя ситуацию в нераспределенный случай: тебе нужно просинхронизировать состояния Н потоков, но мутексов/атомиков/шаред памяти у тебя нет - только очередь сообщений на каждый поток. плюс есть пара другая проблем и ограничений: потоки могут в середине процесса синхронизации завершится; очереди имеют тенденцию иногда терять сообщения; сообщения иногда приходят с задержкой и не по порядку; на синхронизицию времени в разных потоках полагаться нельзя; потоки могут появится назад после того как они были рестартованы.

                                вперед и с песней ;)
                                Ответить
                                • так)

                                  Давай определимся что такое "мастер". Дай-ка мне определение пожалуйста
                                  Ответить
                                  • показать все, что скрытоСтоит отметить, что, если ехать в секс-тур по Камеруну, то языкового барьера между мною и тамошними шоколадными зайцами не возникнет, ибо говорят там по-английски; а уж я с мало-мальским знанием английского языка завсегда смогу прокричать "Deeper, deeper!", верно?
                                    Ответить
                                    • С хуем во рту затруднительно кричать. Максимум - промямлишь.
                                      Ответить
                                  • ;-) попробуй реализовать - сам догадаешься что такое мастер, и зачем он нужен.
                                    Ответить
                                    • лол)))

                                      ты всегда говоришь о том, в чем ничего не понимаешь?
                                      Ответить
                                      • Пососи мой хуй.
                                        Ответить
                                        • показать все, что скрытоСтоит отметить, что, если ехать в секс-тур по Камеруну, то языкового барьера между мною и тамошними шоколадными зайцами не возникнет, ибо говорят там по-английски; а уж я с мало-мальским знанием английского языка завсегда смогу прокричать "Deeper, deeper!", верно?
                                          Ответить
                                      • о-о-о. я ничего не понимаю потому что ты даже простую задачку начать решать не можешь? воистину лол.
                                        Ответить
                                        • Ты сообщил что в AD есть PDC, он же "мастер"
                                          Я спросил тебя "что ты под этим понимаешь?" и тут ты слился.
                                          Ответить
                                          • и потом я обобщил что в любой распределенной есть мастер, и тут ты слился. незнание сила.
                                            Ответить
                                            • показать все, что скрытоСтоит отметить, что, если ехать в секс-тур по Камеруну, то языкового барьера между мною и тамошними шоколадными зайцами не возникнет, ибо говорят там по-английски; а уж я с мало-мальским знанием английского языка завсегда смогу прокричать "Deeper, deeper!", верно?
                                              Ответить
                                              • Билетов нет, но вы держитесь. Хорошего вам настроения!
                                                Ответить
                                                • показать все, что скрытоСтоит отметить, что, если ехать в секс-тур по Камеруну, то языкового барьера между мною и тамошними шоколадными зайцами не возникнет, ибо говорят там по-английски; а уж я с мало-мальским знанием английского языка завсегда смогу прокричать "Deeper, deeper!", верно?
                                                  Ответить
                                  • Because fuck you, that's why.
                                    Ответить
                          • Ничего не мешает. Оригинальный paxos именно это и делает. Но это неэффективно очень. Проще и перфомансней все-таки назначить кого-то мастером и писать через него. И тот же paxos сейчас в основном используется именно в таком варианте.
                            Ответить
                            • >>Ничего не мешает.
                              >>Ничего не мешает.
                              >>Ничего не мешает.

                              Повторите для Дамми пожалуйста

                              >> Но это неэффективно очень.

                              Допустим, у меня в компании работает 10 000 человек.
                              Каждый компьютер меняет свой пароль раз в 30 дней (так это в AD). И каждый пользователь меняет свой пароль раз в пол года.
                              И каждый день удаляется и добавляется 10 новых пользователей.

                              Как ты думаешь, сильно-ли кого-то ебет перформанс?

                              Это же не OLTP таблица с транзакциями пейпала.
                              Ответить
                              • Не знаю. Я все это пишу в общем, а не применительно к AD. Да и вряд ли AD использует paxos.
                                Ответить
                                • В AD нагрузка смехотворная!

                                  Её в основном читают. Правят её руками (ну или делают балк инсерт после восстановления) и блокировать ее на запись можно хоть на минуту: ничего не случится.

                                  Тут полное раздолье
                                  Ответить
                          • Для Паксоса и ему подобных нужно минимум три для консенсуса.
                            Ответить
                            • Консенсус - это более половины голосующих. Если голосующих один - для консенсуса нужен один голос, если два - два голоса, если три - два голоса, если четыре - три голоса. Понимаешь?
                              Ответить
                              • Видимо, @wvxvw намекает, что два сервера ставить смысла мало: отказоустойчивости не добавляется, если хотя бы один сломается, то консенсуса не будет.
                                В лучшем случае можно нагрузку между ними разделить.
                                Ответить
                                • Тезис верный, но непонятно к чему вброшенный.
                                  Ответить
                                  • > Да что мешает двум серверам обменяться данными и в момент обмена по спец протоколу прийти к выводу о том, как должны выглядеть данные?
                                    Чтобы прийти к выводу нужно чтобы был консенсус. А если есть всего два сервера, и они друг другу противоречат, то решить это нормально нельзя. Наша система, например, в такой ситуации переходит в ридонли режим... или вообще отказывается работать. Надо проверить.
                                    Ответить
                                    • По-твоему у двух реплик может возникнуть конфиликт, а у трех уже вот не может? По-твоему может быть только две конфликтующих "версии" происходящего, а три (у каждой реплики своя) уже не может?
                                      Так вот это не так работает. В алгоритмах консенсуса нет такого понятия, как конфликт - при достаточном числе живых голосующих кого-то в любом случае выбирают мастером. Алгоритм консенсуса просто гарантирует, что при выполнении некоторых условий у выбранного мастера будут все транзакции, принятые системой.
                                      Ответить
                                      • У трех не могут быть разные версии т.как проблемы всегда выражены в булевой форме. Т.е. если А считает что Х истинно, Б считает, что Х ложно, то у В не много вариантов осталось.

                                        Что значит "будут все транзакции"? О каких именно транзакциях идет речь?

                                        Что такое конфликт? Ты сам про него написал, и сам с собой не согласился?

                                        Когда я говорил про противоречие, то имел в виду процесс выбора лидера/мастера.
                                        Ответить
                                        • показать все, что скрытоСтоит отметить, что, если ехать в секс-тур по Камеруну, то языкового барьера между мною и тамошними шоколадными зайцами не возникнет, ибо говорят там по-английски; а уж я с мало-мальским знанием английского языка завсегда смогу прокричать "Deeper, deeper!", верно?
                                          Ответить
                                        • > О каких именно транзакциях идет речь?
                                          Записи реплицированного лога.

                                          > Ты сам про него написал, и сам с собой не согласился?
                                          Как объяснил, так тебя поняли. Раскрой и аргументируй свою мысль тогда. В частности, о каких булевых проблемах ты говоришь и какие противоречия могут возникать при выборе мастера?

                                          Я более-менее детально разбирался с одним алгоритмом консенсуса. Этот алгоритм устанавливает полный порядок, какая реплика "годнее" в лидеры. Так что в нем две реплики не могут не достигнуть консенсуса: если первая реплика не голосует за вторую, то вторая проголосует за первую.
                                          Ответить
                                          • показать все, что скрытоСтоит отметить, что, если ехать в секс-тур по Камеруну, то языкового барьера между мною и тамошними шоколадными зайцами не возникнет, ибо говорят там по-английски; а уж я с мало-мальским знанием английского языка завсегда смогу прокричать "Deeper, deeper!", верно?
                                            Ответить
                                        • Ну ты че там, слился чтоли?
                                          Ответить
                        • На самом деле в некоторых "субд" действительно выделенного мастера нет. Но и консистентности данных там тоже нет))
                          Ответить
                          • Это всякие мастер-мастер репликации, когда каждая реплика принимает записи и реплицирует их на всех. Из примеров CouchDB вроде. Может этот ваш AD так же делает?
                            Ответить
                            • В AD они выстраивают кольцо и передают обновления по кругу.

                              На самом деле для AD "порядок" не так важен: Если на одном контроллере админ поменял пользователю пароль на 123 а на другом через милисекунду на abc, то ничего не будет страшного если у всех будет пароль 123.
                              Ответить
                          • если есть кластер, то есть group membership protocol, и как следствие есть group leader. какой не какой - но какой-то уже мастер.
                            Ответить
                            • показать все, что скрытоСтоит отметить, что, если ехать в секс-тур по Камеруну, то языкового барьера между мною и тамошними шоколадными зайцами не возникнет, ибо говорят там по-английски; а уж я с мало-мальским знанием английского языка завсегда смогу прокричать "Deeper, deeper!", верно?
                              Ответить
    • а про эту фичу xargs не знал.
      Ответить
    • Прыщебляди соснули у повершеллобогов.
      Ответить
      • показать все, что скрытоСосать нечего, но вы держитесь. Хорошего вам настроения!
        Ответить
        • показать все, что скрытоСтоит отметить, что, если ехать в секс-тур по Камеруну, то языкового барьера между мною и тамошними шоколадными зайцами не возникнет, ибо говорят там по-английски; а уж я с мало-мальским знанием английского языка завсегда смогу прокричать "Deeper, deeper!", верно?
          Ответить
      • Because fuck you, that's why.
        Ответить
    • показать все, что скрытоЯ пошатывал дымоход Вашего поместья.
      Ответить

    Добавить комментарий