В тестовой сборке Windows 10 появилась утилита Disk Usage — анализатор дискового пространства из командной строки



    По информации портала Bleeping Computer, Microsoft без официального представления начала тестировать новое встроенное приложение для Windows 10. Утилиту под названием DiskUsage пользователи обнаружили в вышедших на прошлой неделе сборках Windows 10 Insider build 20277 и build 21277. Это встроенный в систему анализатор дискового пространства из командной строки.

    Фактически, новая утилита DiskUsage является расширенной версией DU (Disk Usage) от Марка Руссиновича.

    Инструкция по использованию утилиты DiskUsage.
    DiskUsage - Disk Usage
    
    Description: Summarize disk usage recursively for the given directory.
    Usage      : diskusage [Options] [Directory]
    Options    :
        /a, /systemAndReserve    displays size for system files and reserved space
        /c, /csv                 displays in csv format
        /d, /maxDepth=N          displays directory information only if it is N or
                                 fewer levels below command line argument
        /e, /minFileSize=SIZE    displays directory information only if its FileSize
                                 is greater or equal than SIZE
        /f, /minSizeOnDisk=SIZE  displays directory information only if its SizeOnDisk
                                 is greater or equal than SIZE
        /g, /displayFlag=FLAG    specifies the flags value to determin which column(s) to display
                                 column          value    description
                                 SizeOnDisk      0x001    the on disk size
                                 FileSize        0x002    the end of file size
                                 SizePerDir      0x004    sum of SizeOnDisk for top level child
                                 Files           0x008    number of child files
                                 ChildDirs       0x010    number of child directories
                                 FilesPerDir     0x020    number of top level child files
                                 DirsPerDir      0x040    number of top level child directories
                                 CreationTime    0x080    file creation timestamp
                                 LastAccessTime  0x100    file last access timestamp
                                 LastWriteTime   0x200    file last write timestamp
                                 Attributes      0x400    file attributes
        /h, /humanReadable       displays size in human readable format
        /i, /iniFile=FILE        takes all the parameters from an INI file.
                                 NOTE: SCENARIO name must be speificed via /j (/scenario)
        /j, /secnario=SCENARIO   specifies the scenario name for the INI file
        /l, /allLinks            count all hardlinks separately (By default, files with multiple
                                 hardlinks are counted only once towards the first link name)
        /m, /multipleName        count only files with more than one link names
        /n, /nameFilter=FILTER   count only files whose name matches the name filter
        /p, /preferredPath=PATH  count files with multiple link names towards the first link that is
                                 under PATH if it exists
                                 NOTE: This options must not be specified togerther  with /l (/allLinks)
        /q, /virtual             recurse into virtual directories
        /r, /skipReparse         skip recursing into reparse directories
        /s, /skipResurse         skip recursing into child directories when calculating sizes
        /t, /TopDirectory=N      displays Top N directories by SizeOnDisk in descending order
        /u, /TopFile=N           displays Top N files by SizeOnDisk in descending order
        /v, /verbose             displays verbose error information
        /x, /clearDefault        do not display the default selected columns
    


    Утилита еще находится в начальной стадии разработки. Сейчас некоторые ее функции работают не так, как заявлено, также присутствуют орфографические ошибки в ее описании.

    Эксперты Bleeping Computer изучили возможности утилиты Disk Usage. Для запуска утилиты необходимы административные привилегии.

    По умолчанию при запуске DiskUsage размер файлов и папок отображается в байтах, что не так удобно, как отображение размеров в МБ и ГБ. Microsoft добавила в утилиту опцию /h (humanReadable) для отображения удобочитаемых размеров файлов и папок для пользователей.


    Пример поиска с помощью DiskUsage в директории «C:\Windows» папок, размер которых превышает 1 ГБ. Для этого была использована команда:
    diskusage /minFileSize=1073741824 /h c:\windows

    В инструкции DiskUsage заявлено, что можно вывести список, ограничив его количество, самых больших папок на диске или в указанной папке. Для этого нужно использовать опцию /t (TopDirectory=N).


    Пример поиска с помощью DiskUsage в директории «C:\Windows» 5 папок, размер которых самый большой. Для этого была использована команда:
    diskusage /t=5 /h c:\windows

    К сожалению, результат этой команды оказался не таким, как ожидалось. В итоге был показан отсортированный список из 5 папок, но, судя по первому поиску в этой папке, утилитой были выведены на экран строки не с теми папками, которые ожидались. Скорее всего, приведенная выше команда работает корректно, но она отображает самые большие папки без учета файлов в их подпапках.

    DiskUsage также можно использовать для поиска файлов с наибольшими размерами. Для это нужно использовать опцию /u (/TopFile=N).


    Пример поиска с помощью DiskUsage в директории «C:\Windows» 5 самых больших файлов. Для этого была использована команда:
    diskusage /u=5 /h c:\windows

    Также в DiskUsage можно сделать настройку вывода данных в csv, там есть возможность пропускать различные типы папок, анализировать папки и файлы по timestamp.

    Microsoft на данный момент не предоставила информацию, когда утилита DiskUsage будет доступна всем пользователям.

    См. также:

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 40

      +2
      Еще лет 10 назад пользовался win32-портами du, df и find. Скорее всего еще работают, только для поиска в системных папках потребуется повышение привилегий.
        +6
        «Фактически, новая утилита DiskUsage является расширенная версией DU (Disk Usage) от Марка Руссиновича.» «Утилита еще находится в начальной стадии разработки.»

        Оригинальная Disk Usage v1.62 весит 465 кБ, сжатый upx'ом — 175 кБ.
        Du v1.2 выпущена в 2005 году, а Руссинович не замечен в небрежности при выпуске продуктов.

        Добавят 3-3,5 порядка по объёму, GUI, тормоза — и можно выпускать.

          +3
          Переделают на электрон что бы графики через js с помощью видеокарты рисовать.
            +1
            Или в облаке своём отрисуют — достаточно создать бесплатную учётную запись.
          0

          С GUI есть SpaceSniffer. Гораздо более читабельное представление расположения и размеров файлов.


          Для MacOS раньше был DiskInventoryX, но в Каталине сломался. Может кто подскажет аналоги?

            0
            Вот кстати мне кажется архитектурным идиотизмом, что в последних виндах присутствуют две службы активно использующие диск: индексирование для поиска и антивирус, хотя их данные можно было бы слить в одну базу и к ней бы прикрутить этот самый disk usage.
              +1
              Пожалуй, unix-style, когда имеется сотня узкоспециализированных и относительно независимых друг от друга утилит, будет лучшим выбором, нежели один супер-комбайн, активно индексирующий диск и раздающий результаты антивирусам/поисковикам/прочим_утилитам.

              Банально, у каждого потребителя информации о содержимом диска слишком разные запросы, свои оптимальные алгоритмы чтения, свои требования к срочности предоставления данных. Замучаешься такой универсальный комбайн ваять.
                0
                Тут либо крестик, либо трусы. Я не против unix-style. Но пусть тогда оба приложения изначально выключены или устанавливаются по желанию. Но они так тесно интегрированы с системой, что отключение их приводит к неработоспособности некоторых других компонентов. А раз они так интегрированы, тогда пусть уже минимизируют количество сканирований диска. Я не думаю, что база службы индексирования, которая хранит метаинформацию о файле, сильно разрастется если туда добавить метку «проверен антивирусом», а информация о размере файла или каталога там есть в любом случае.
                  0
                  Просто вы не в том направлении копаете. Банально нужно между антивирем, поиском и диском поставить прокси-сервис, который и будет рулить совместным доступом к диску этих служб. В идеале туда же засунуть и винапдейт.

                  Если подержать с месяц выключенной, а потом запустить десятку на обычном не-ssd диске, то первые 20 минут компьютер будет просто неработоспособен, т.к. антивирус, винапдейт и еще куча внутренних служб ОС, написанных самой же Майкрософт работают с диском так, будто кроме них больше вообще никакого софта не существует.

                  Особенно умиляет оптимизация службы винапдейта, когда сначала вам активно будут скачиваться апдейты для приложений из магазина (попутно проверяясь антивирусом — мы же не можем доверять своему же серверу обновлений!), после этого накатятся обновления системы (традиционно в 10 потоков качаем и ставим одновременно, все это проверяя антивирусом), ну а потом сверху заполировать полугодовым обновлением, которое напрочь снесет всё вот это только что установленное и поставит своё — чтобы обновить (как минимум приложения из магазина) заново.

                  О-оптимизации. Индусские. Лучшие традиции, так сказать.
                    0
                    Если подержать с месяц выключенной, а потом запустить десятку на обычном не-ssd диске, то первые 20 минут компьютер будет просто неработоспособен

                    Да вы батенька оптимист. Вчера сменил проц/память/материнку. Линукс даже не ругнулся. Актуальная десятка эти самые 20 минут обновляла дрова и три раза перезагрузилась в процессе.
                      0
                      Ну смена железа это все-таки немного другое. Вы, в принципе, должны радоваться, что оно вообще без проблем завелось, а не как раньше было — сразу в синий экран.

                      Кроме того, в общем-то сам по себе процесс обновления линуксов тоже не особо-то и простой, так как просто куча программ нормально конфиги не обновляет, или затирает их дефолтовыми, или еще что-то такое же. Попробуйте обновить веб-сервер (apache+php+mysql+nginx) через какой-нибудь yum update спустя хотя бы год (особенно если мажорная версия php за это время сменилась) — и чтобы оно прям сразу само заработало после этого…
                        0
                        Вы, в принципе, должны радоваться, что оно вообще без проблем завелось, а не как раньше было — сразу в синий экран.
                        у меня винхп установленный на амд/нвидевский чипсет спокойно стартовал на интеловском компе еще году так в 2005. ну, обмен инфой тогда был путем подтыкания личных жестких на чужих компах. и вот недавно так же с 8-кой — вынул из старого ноута на интеле, воткнул в мамку с амд и норм, только дрова накатил потом. так что и раньше винда во многих случаях переживала подобное.
                        просто в 10-ке теперь насильно делают обновления тех же дров, так что нужно ждать этого.
                          0
                          Вот только в XP такое было не из коробки, т.к. на амд и интеле использовалось разное ядро и надо было менять файл. Я уже не помню точно, но с какого-то момента проблема отпала — то ли ядро универсальное появилось, то ли еще что-то. Так что не всё так просто.

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

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

                          Не знаю как в остальных, а в debian-based предусмотрен чёткий механизм управления конфигами. Проблемы возникают в основном, когда кто-то не следует этой практике и лезет скажем дописывать что-либо в файлы, которые не предназначены для редактирования пользователем. В случае, когда пакет все же хочет заменить конфиг — задается вопрос пользователю — хочет ли он этого.
                          Попробуйте обновить веб-сервер (apache+php+mysql+nginx) через какой-нибудь yum update спустя хотя бы год (особенно если мажорная версия php за это время сменилась) — и чтобы оно прям сразу само заработало после этого…

                          А это уже проблемы прикладных приложений и они нигде до конца не решаются. В том же windows придется сплясать с бубном, чтобы иметь разные версии php/java/python. Но уж поверьте эти вопросы решаемые.
                            0
                            Я не могу назвать вообще ни одной программы под виндой, у которой бы из-за установки обновления были бы проблемы со старыми настройками и тем более, чтобы она их затирала кривыми дефолтными.

                            Зато под *nix — это прям любимая практика. Я, в основном, с CentOS и Ubuntu встречаюсь, там — именно так. Впрочем, возможно, что сами ОС нормально всё делают, но вот прикладной софт — это ужас-ужас и никаких оправданий этому нет:
                            — проблемам с торчащим наружу memcached с чувствительными данными — больше 10 лет, он до сих пор идет с дефолтным конфигом, который это позволяет, причем там еще и лимиты памяти выставлены на что-то уровня первого пентиума. Т.е. за 10 лет разработчик даже не удосужился что-то привести в порядок, ему лень

                            — mysql при обновлении тупо затирает конфиг на дефолтовый, который так же очень-очень кривой и не содержит даже половины базовых настроек, добавленных за последнее десятилетие, а остальное выкручено так, что в состоянии по-умолчанию оно просто неюзабельно. Я уже даже не заикаюсь о том, что спустя 25 лет с момента начала разработки уже можно было бы и автоконфигурацию под доступный объем оперативки и кол-во ядер процессора сделать.

                            — php — при установке апдейтов успешно затирает конфиг, дефолтовый конфиг не содержит даже настроек opcache, над которым разработчики последние несколько лет активно работали, я уже не говорю о чем-то более существенном

                            — nginx и ssl сертификаты — это отдельный ад

                            И это только то, с чем я каждый день сталкиваюсь за последние 10 лет. И знаете что? Там вообще ничего не поменялось за эти 10 лет.

                            А теперь возьмите любую программу под винду: дефолтный конфиг дает сразу работающую нормально программу, лезть и что-то править — не необходимость в большинстве случаев, обновления как правило вообще не ломают ничего…

                            У меня чем дальше, тем все сильнее складывается описание экосистемы *nix как: «Лень делать — и так сойдет, погуглят».
                              0
                              Я не могу назвать вообще ни одной программы под виндой, у которой бы из-за установки обновления были бы проблемы со старыми настройками и тем более, чтобы она их затирала кривыми дефолтными.

                              Что и с парой IIS/1с или IIS/<другой прикладной софт> не было?

                              Что у вас за дистрибутив такой, что все настройки затирает? Мой например меня спрашивает. Что-то вроде попытка заменить конфиг(да и не только конфиг, стартовый скрипт тоже): <Заменяем>/<оставляем старый>/<хотите посмотреть различия между старым и новым>. В зависимости от того, менял я конфиг или точно не лез туда я принимаю решение. Разные версии php или к примеру postgresql хранят конфиги в разных каталогах, так что затереть не свой конфиг им нужно еще постараться. но опять же спрашивают, если конечный файл кто-то до них создал. При изменении мажорных версий было бы странно, если бы приложение тащило ваш кастомный конфиг с собой. Это уже не обновление, а миграция. У exim я написал конфиг с нуля, проигнорировав встроенную систему разделения конфига на отдельные файлы и ничего — лет пять работает и обновляется. nginx и exim/dovecot работают с letsencrypt и тоже никаких проблем не замечено — никто никакие конфиги не затирает.
                              Redmine установлен ручками иногда при обновлении требует действий ручками(например установить другую версию ruby, но и здесь нерешаемых проблем не бывает).
                              И как-то странно сравнивать desktop и сервер в этом вопросе. Хотя в принципе и с desktop у меня лет 7-8 проблем не возникало именно после обновления. Возможна только некоторая чехарда с дровами видеокарты (свободный драйвер не поддерживает новую карту/ либо проприетарный драйвер не работает с самой последней версией ядра).

                              У меня чем дальше, тем все сильнее складывается описание экосистемы *nix как: «Лень делать — и так сойдет, погуглят».

                              Разработчики даже представить не могут все варианты в которых вы будете использовать ПО. Те конфиги, которые присутстсвуют в пакете — типовой сценарий, они не обязаны подходить персонально вам. Потому да, погуглить и почитать мануалы придется.
                              Я уже даже не заикаюсь о том, что спустя 25 лет с момента начала разработки уже можно было бы и автоконфигурацию под доступный объем оперативки и кол-во ядер процессора сделать.

                              Кнопка «сделать зашибись»? А она точно нужна? Или все же нужно почить мануалы, чтобы сознательно вносить нужные настройки?
                                0
                                Что и с парой IIS/1с или IIS/<другой прикладной софт> не было?

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

                                Что у вас за дистрибутив такой, что все настройки затирает?

                                yum update -> Y
                                По итогу конфиги затерты. А если, как я уже предлагал, подождать с годик до выхода новых мажорных версий, то у вас и эта команда нормально не пройдет и ждут вас танцы на граблях с бубном. К серверу же, работающему лет 5-10 на каком-нибудь php времен версий 5.5-5.6, со стандартным механизмом обновлений можно даже не соваться, намного, НАМНОГО проще поставить рядом новый и перенести нужные файлы ручками, установив все остальное с нуля.

                                Разные версии php или к примеру postgresql хранят конфиги в разных каталогах, так что затереть не свой конфиг им нужно еще постараться. но опять же спрашивают, если конечный файл кто-то до них создал

                                Ни разу не видел такого ни на centos ни на ubunte. Возможно, за последний год что-то изменилось, давно не обновлял ничего, но сильно сомневаюсь.

                                При изменении мажорных версий было бы странно, если бы приложение тащило ваш кастомный конфиг с собой.

                                Это абсолютно логичная и очевидная практика. Если вы возьмете какой-нибудь MSSql и обновите его мажорную версию — у вас не слетят конфиги и ничего не сломается. Если вы возьмете Visual Studio и обновите — у вас всё останется как вы настраивали. Я не знаю, ну даже если вы возьметесь обновлять какую-нибудь VMWare, например, то у вас ТОЖЕ ничего не поломается. Потому что это миграция конфигов — это СТАНДАРТНАЯ практика на винде, она очевидна и ожидаема. И только на *nix все на это забивают.

                                И как-то странно сравнивать desktop и сервер в этом вопросе.

                                Да нет разницы. Давно уже нет. Софт чуть-чуть разный, но базовая часть что у десктоп, что у серверных версий давно уже везде единая (потому что так проще кодить, да).

                                Разработчики даже представить не могут все варианты в которых вы будете использовать ПО. Те конфиги, которые присутстсвуют в пакете — типовой сценарий, они не обязаны подходить персонально вам.

                                Разработчик memcached за 10 лет после кучи скандалов с утечками так и не смог представить, что его софт будут ставить с дефолтным конфигом?? Что сложного прописать локалхост в настройках по-умолчанию?

                                В MySql уже, имхо, лет 15 назад можно было бы и поменять innodb_flush_log_at_trx_commit в дефолтных конфигах, чтобы она не ползала «из коробки». Причем той причины, ради которой оно в дефолтном конфиге именно так выставлено — уже те самые лет 15 (если не больше) практически не существует и тех, кому бы это реально требовалось — единицы. Про всякие innodb_read_io_threads,innodb_buffer_pool_instances и т.п., которые вообще от железа зависят и могут настраиваться автоматом в большинстве случаев я уже даже и говорить не хочу. Конфиг MySQL устарел лет на 20, при этом никто его менять даже не планирует. Даже переход на MariaDB никак это не исправил. Почему? Потому что — «лень, погуглят».

                                Кнопка «сделать зашибись»? А она точно нужна? Или все же нужно почить мануалы, чтобы сознательно вносить нужные настройки?

                                Нет, это не кнопка «сделать зашибись». Это банальная забота о пользователе. Чтобы настраивать только то, что реально надо настраивать. А не полностью с нуля. Это как купить машину, но ездить на ней нельзя, потому что сначала надо отстегнуть комплектную лошадь, открутить тележные колеса и заменить их на современные + еще куча телодвижений. Но потом она будет летать, ага. Ну, если вы про якорь не забыли, да (про якорь, кстати, написано в гугле — на десятой странице, по ссылке на форуме в посте от 2002 года).

                                Если вы ставите софт на винде — он работает СРАЗУ. Да, там тоже бывают не совсем оптимальные конфиги и что-то где-то надо тюнить, но это ОПЦИОНАЛЬНО. А вот в *nix — конфиги изначально нерабочие, их НАДО править, иначе оно просто не работает. В принципе. Из коробки. Unix-way, да.
                                  0
                                  yum update -> Y
                                  По итогу конфиги затерты. А если, как я уже предлагал, подождать с годик до выхода новых мажорных версий, то у вас и эта команда нормально не пройдет и ждут вас танцы на граблях с бубном.

                                  Ну то есть мануалы вы не читаете? В сами указали ему Yes на любой вопрос возникший в процессе обновления. В том числе заменить ли конфиг на тот что из пакета.
                                  Нет, это не кнопка «сделать зашибись». Это банальная забота о пользователе. Чтобы настраивать только то, что реально надо настраивать. А не полностью с нуля. Это как купить машину, но ездить на ней нельзя, потому что сначала надо отстегнуть комплектную лошадь, открутить тележные колеса и заменить их на современные + еще куча телодвижений. Но потом она будет летать, ага. Ну, если вы про якорь не забыли, да (про якорь, кстати, написано в гугле — на десятой странице, по ссылке на форуме в посте от 2002 года).

                                  Во-первых, сообщество предоставило вам дистрибутив и исходные коды на безвозмездной основе. оно не должно вам программу для настройки всего этого. Более того, раз такую программу никто еще не написал — значит у большинства пользователей нет в ней потребности. Дело в том, что большинство таких решений сильно ограничивают функционал программ(есть всякие zentyal, clearos, webmin, море их), потому и не популярны.
                                  Во-вторых, кто вас даставляет, что-то отстегивать. Изначально выберите вариант установки «минимальной системы», затем доустановите ваши суперновые программы. Но и тут у вас есть выбор. Вы может накатить их вручную или поискать пользователя, который поддерживает свой небольшой репозитарий с нужной вам свежей версией скажем php.
                                    0
                                    Нет, этот Y там единственный — ответ на вопрос «вот тут список апдейтов для установки, ставим?»
                                    Вот тут, внизу под табличкой оно спрашивает и это единственный вопрос за весь процесс обновлений.
                                    И если ему сказать N — то он просто завершает работу ничего не делая.

                                    Не удивлюсь, если есть какой-нибудь параметр командной строки, который может поменять это поведение по-умолчанию. Но вы заметили? Традиционный unix-way: поведение по-умолчанию создает проблемы, а сделать «правильно» можно только погуглив (или почитав 100500 страниц манов).
                                      0
                                      Каждый устанавливаемый пакет в процессе установки может у вас спросить что-то еще. Например заменить конфиг/принять лицензию/спросить согласны ли вы с форматированием системного раздела. Ответ на все вопросы будет Yes. И да. Вы привели пример с автомобилем, очевидно перед началом использования вы должны прочитать мануал о том что делает каждый элемент управления, иначе догадайтесь что будет, если вы к примеру по время езды скажем ручник потянете?
                                        0
                                        Одно дело — очевидный элемент управления (ручник), а другое — когда вам сначала надо поковыряться в настройках движка, чтобы просто ехать нормально.

                                        Сам вопрос о «вам заменить конфиг на дефолтный» в принципе не должен задаваться. Потому что я вообще не могу себе представить мир, в котором бы всем пользователям это бы требовалось при обновлении. Понимаете? Т.е. миграция настроек, оповещение о том, что где-то что-то отключили т.к. deprecated и т.п. — это очевидно и нормально. Но тупая замена конфига на очевидно-нерабочий и даже сам вопрос «а давай мы тебе все-все сломаем или все-таки хочешь сам конфиги склеить?» выглядит по-идиотски. Он просто не должен возникать у 99,9% пользователей. Потому что ответ — очевиден.
                                          0
                                          Одно дело — очевидный элемент управления (ручник), а другое — когда вам сначала надо поковыряться в настройках движка, чтобы просто ехать нормально.

                                          Кто заставляет вас ковыряться в «движке»? Создание конфига это уровень как раз элемента управления. В такой аналогии «движок» был бы компиляция приложения и ручное создание таблиц в БД для того же wordpress. От вас кто-то это требует?
                                          Сам вопрос о «вам заменить конфиг на дефолтный» в принципе не должен задаваться.

                                          Это почему? Вот к примеру есть grub. Если заставить его работать по дефолту и затереть загрузчик в mbr. То у вас есть шанс получить кирпич. Или к примеру, новая версия php не поддерживает расширения в вашем конфиге. Теоретически пакет мог бы сообщить вам об этом, но вы же не обновляете отдельно php — вы запускаете обновление всего и вся и игнорите сообщения, которые могли бы остановить вас. И обычный пользователь вряд ли будет поднимать php у себя на машине, а если вы уже не совсем обычный, то уж будьте любезны RTFM. Иначе от таких пользователей сервер превращается в часть ботнета или хранилище дистрибутивов шифровальщиков.
                                            0
                                            Кто заставляет вас ковыряться в «движке»?

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

                                            Это почему? Вот к примеру есть grub. Если заставить его работать по дефолту и затереть загрузчик в mbr. То у вас есть шанс получить кирпич.

                                            И? Насколько я помню — оно там несколько раз спросит точно ли я уверен в том, что делаю.

                                            Или к примеру, новая версия php не поддерживает расширения в вашем конфиге. Теоретически пакет мог бы сообщить вам об этом, но вы же не обновляете отдельно php — вы запускаете обновление всего и вся и игнорите сообщения, которые могли бы остановить вас.

                                            Я не игнорю сообщения. Их просто нет. Даже если целенаправленно попросить yum обновить только php и связанные пакеты — оно все равно ничего дополнительно никогда не спрашивало.
                                            Ну и да, ну не поддерживает оно — и что? Процесс обновления должен явно мне об этом сообщить, упасть с ошибкой, чтобы я потом уже с этим что-то сделал. По факту же, оно тупо поверх рабочего софта накатит кривой дефолтный конфиг и у меня ляжет сервер на неизвестно сколько — потому что это будет хорошо если бэкап конфигов был. А иногда апдейт начал делать кто-то другой и ты смотришь уже на результат.

                                            И обычный пользователь вряд ли будет поднимать php у себя на машине, а если вы уже не совсем обычный

                                            Да не важно это! Обычный-необычный… Я уже приводил примеры софта на винде, выполняющего такие же функции — и поверьте, при сравнении это просто небо и земля.

                                            Иначе от таких пользователей сервер превращается в часть ботнета или хранилище дистрибутивов шифровальщиков.

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

                                            Если вас не убедил пример с memcached, то можно вспомнить Sphynx и MongoDB кривые дефолтные конфиги которых до сих пор приводят к массовым проблемам. И таких программ — воз и маленькая тележка.

                                            Я не против юниксов и открытого ПО. Но с таким отношением сообщества — какая-то серьезная конкуренция с виндой вам не грозит. А сервера с умными админами — ну, их мало, в сравнении с десктопами-то. Да и «умные админы» как-то заметно часто лажать стали, вы не заметили? Сколько утечек из-за кривых конфигов последнее время?
                                              0
                                              Очнитесь. Какая конкуренция? MS проиграл рынок серверов, уж web-точно(2/3 nginx пусть даже как фронт, но работает он точно не на windows). Почти вся сетевая инфраструктура на *nix. Виртуализация — спорный вопрос azure только одна из платформ. Сколько сколько смартфонов с windows сейчас выпускается? Как по вашему почему так?
                                              Так же хочу напомнить что MS впилил возможность запускать linux-приложения для windows, но что-то пока там не пахнет графическими инсталляторами «далее-далее». Может потому что все равно не нужны? Что професиональные знания требуются как в настройке windows-приложений, так и в настройке linux-приложений? Что мечта о том что «домохозяйка» поднимет web-сервер методом далее-далее мечта и есть? И даже если ей дать такой инструмент, то все равно рано или поздно за ней придет разгребать специалист?
                                                0
                                                Я говорил про конкуренцию на десктопах. А на серверах МС проиграл, потому что за софт надо платить (и много денег!), а тут был на халяву «почти настоящий» заменитель. Юниксы на серверах на этом всём росли-росли-росли, пока и не уперлись в то, что, сервера с админами-специалистами закончились. А на десктопах нужного количества специалистов в окружающей природе нет и не будет. На десктопах винду таким путем не вытеснить — да и разница в стоимости в районе 10 тыс руб как бы уже не столь существенна, чтобы экономия для людей была бы принципиальной, а по фактору простоты юниксы проигрывают с треском.

                                                Ну а смартфоны — это не юникс вообще. В смысле, он там где-то есть, конечно, но взят он был гуглом по той же самой причине — бесплатно, никому лишние отчисления делать не надо. А не потому, что юниксовое ядро чем-то принципиально лучше и удобнее для запуска java-машины с андроидом.
                                                  0
                                                  А на серверах МС проиграл, потому что за софт надо платить (и много денег!), а тут был на халяву «почти настоящий» заменитель.
                                                  Дело не в плате. Oracle, vmware, citrix, cisco… стоят довольно много денег, если что. Прочто в windows отстойная сетевая подсистема — просто не подходит для высоких нагрузок. Потому нет ни нормальных сетевых серверов ни суперкомпьютеров работающих под windows. У windows чрезмерная закрытость в плане, например подписи драйверов в связи с этим невозможность работать мелким производителям «железа». Высокие требования к «железу». Например я могу поднять виртуалку с xen и выделить 256 Мб под гипервизор, а остальное отдать гостевым системам или выделить уже как минимум 4Гб на те же самые нужды в windows. При этом windows-вариант не будет поддерживать даже soft-raid если он не реализован производителем материнской платы.Или такой вариант — устанавливаем IIS публикуем файловую базу 1c и определенное время тебе начинают каждый день звонить пользователи, так как IIS перестает отвечать сожрав память. Как так, ведь я же ставил далее-далее? Меняем IIS на Apache добавляем в конфиг ручками каталог. И теперь apache перезапускается только чтобы отключить пользователей при обновление 1C. Или например безопасность. Штатный фаерволл windows не имеет никаких средств противостояния банальному перебору паролей или DDoS. В iptables хоть можно с минимальным эффектом воспрепятствовать (больше трех не собираться или третий пусть подождет пару минут).
                                                    0
                                                    Ну чрезмерная закрытость драйверов точно так же успешно используется и упомянутым гуглом с андроидом (хотя, как я уже и говорил, там все-таки важнее не ядро, а надстройка), а ее отсутствие не сильно помогло юниксам с поддержкой железа.

                                                    Насчет сетевого стека — возможно. Я все же несколько далек от железа и драйверов, спорить не буду.

                                                    Ну и про Оракл — он успешно использует политику еще более худшую, чем у МС и спасает их только полное отсутствие хоть каких-то вменяемых конкурентов (при высоких требованиях к базе данных/анализу данных и т.п.). А на низовом уровне все то же самое — в лидерах бесплатное. Но не потому что оно лучше, а потому что — бесплатно. Это — главный фактор.

                                                    Cisco прямо сейчас успешно давится китайцами, которые предложили более дешевую альтернативу.

                                                    Ну и в контексте цены высокие требования винды к железу — это тоже деньги. Вот и вся магия. Пока у вас зарплата юникс-админу будет меньше, чем железо+софт — *nix будет жить на серверах.

                                                    А вот на десктопах, как я уже и говорил, проблема в том, что юниксовый софт в принципе не готов к массовому использованию. Если по ОС какие-то телодвижения начали делать (та же Убунта и т.п.), то по всему остальному — там печаль-беда и никакого просвета я не наблюдаю. С момента, когда я первый раз столкнулся с линуксом и freebsd процесс «работы» с прикладным софтом в них практически не улучшился, все грабли всё на тех же местах и сохраняются от версии к версии. Причем юниксы ухитряются сохранять годами грабли в вещах, которые вообще должны работать всегда — при любых условиях (помянем Pulse Audio, да).
                                                      0
                                                      Cisco прямо сейчас успешно давится китайцами, которые предложили более дешевую альтернативу.

                                                      Cisco это не только домашние и SOHO маршрутизаторы. Это еще и vpn и firewall и много чего еще, например оборудование для конференц-связи.
                                                      Пока у вас зарплата юникс-админу будет меньше, чем железо+софт — *nix будет жить на серверах.

                                                      Как по вашему, сколько получают админы Amazon? А админы какого-нибудь CERN? А сколько вам обойдется простой интернет-магазина поднятого в windows? Я уже говорил, деньги здесь играют не главную роль.
                                                      Причем юниксы ухитряются сохранять годами грабли в вещах, которые вообще должны работать всегда — при любых условиях (помянем Pulse Audio, да).

                                                      Что не так с PA? Не фанат, но еще ни разу особых проблем не встречал. Знаю музыканты недолюбливают из за задержек и ставят JACK, но в плане вывода звука в целом нормально, хотя и ALSA меня устраивала.
                                                        0
                                                        Говоря про Cisco я думал больше о крутых марштуризаторах, я как-то привык к тому, что это их основной бренд. И последние годы на этом рынке, где они сидели практически монополистами — их нехило так подвинули китайцы своими альтернативами, причем с той же функциональностью, но дешевле.

                                                        Я уже говорил, деньги здесь играют не главную роль

                                                        Деньги — всегда главное. В мире правит капитализм, в нем важны только деньги, это основная метрика. Все остальное — вторичное.

                                                        Интернет-магазинов на IIS и dot.net'е — заметное количество, если посмотреть на западе. И бывают довольно крупные. Ну а простои бывают и на *nix системах, в этом они ничуть не лучше win.

                                                        Что не так с PA?

                                                        Если я правильно помню, то в момент перехода на него — там было очень много проблем, настолько, что оно уже стало мемом. Сейчас, конечно же, ситуация улучшилась, но так и времени-то уже сколько прошло.
                                      0
                                      Во-первых, сообщество предоставило вам дистрибутив и исходные коды на безвозмездной основе. оно не должно вам программу для настройки всего этого.

                                      Однако на винде есть тонны бесплатных софтин и проблем с конфигами в них нет. А вот ВСЁ, что приходит из *nix — такие проблемы несет с собой. Я в этом смысле так же очень люблю в винде софт на java, там прям все лучшие практики *nix как правило.

                                      Более того, раз такую программу никто еще не написал — значит у большинства пользователей нет в ней потребности

                                      Вообще не связанные вещи. Более того, в частности для MySQL есть соотв. программа для генерации конфига с не-кривыми настройками. Но я еще раз хотел бы напомнить, что MSSQL устанавливается через далее-далее-далее-готово и сразу работает нормально, а MySQL требует танцев с гуглом просто потому что. Нет причины — просто разработчикам лень.

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

                                      И чем это отличается от винды с кучей разных программ? Более того, даже с открытым кодом есть, если уж вам это важно. Вот только проблем с нерабочими из коробки программ — нет. А никсах она сплошь и рядом, начиная с системного софта и заканчивая пользовательским. Я еще как-то могу понять, когда вы ставите через make install, но когда вы ставите пакет — это полноценный аналог инсталлятора в винде. Вот только в винде о пользователе думают и заботятся, потому что так принято, а в *nix — нет. Гугл спасет. А если не спас — ну, значит не умеешь. Неправильный пользователь. Недостоин, ага.
                                        0
                                        MSSQL устанавливается через далее-далее-далее-готово и сразу работает нормально

                                        Те кто устанавливает MSSQL таким образом далее имеют проблемы с:
                                        1. Исчерпание свободного места на диске, когда журнал транзакций в несколько раз превышает объем базы данных;
                                        2. Далее-далее это установить на системный раздел еще и базу данных. Вы и винду ставите методом далее-далее? У меня для вас плохие новости в плане деградации производительности такого сервера.
                                        3. При такой установке, даже при наличии большого объёма оперативной памяти она однажды вся окажется занята sql-сервером. Даже если ее размер больше, чем база данных на этом сервере. По дефолту внезапно выключен лимит оперативной памяти под нужды MSSQL.
                                        Таким образом MSSQL сервер тоже требует грамотную установку, планирование и чтение мануалов.
                                        Далее хочу напомнить, что дефолтный конфиг запускает вполне себе рабочий сервер mysql.
                                        Но тут у меня закрадывается вопрос. Когда я спрашиваю людей: почему вы ставите centos?.. Мне отвечают — потому что интырпрайз. Но! Следом выясняют, что программы в нем слегка так (3-4 года) устарели и начинается прикручивание сторонних репозитариев вроде epel(хорошо если epel), провайдеры на хостингах еще и ядро кастомное прикручивают. И что там от энтерпрайза осталось? Древняя версия libc и coreutils? А это точно нужно? Может взять opensuse там и мечта виндузятников YaST есть.

                                        И чем это отличается от винды с кучей разных программ?

                                        Мне хотелось бы напомнить что куча бесплатных программ в windows пришла именно из мира, если не *nix, то opensource точно. Я помню времена когда штатный проигрыватель windows не мог даже mp3, IE был жутко тормозным и небезопасным к тому же, асечка постепенно скатывалась из IM в плэер для рекламы. Paint мог только .bmp За остальной софт приходилось только платить/ломать.
                                        Вот только в винде о пользователе думают и заботятся, потому что так принято

                                        Так заботятся, что за последний год несколько раз выпускали обновления окирпичивающие систему? Да и до этого словить «бесконечное обновление» в той же семерке было весьма вероятно.
                                          0
                                          Но при всех этих недостатках конфига — MSSql при этом работает, быстро работает. А не как улитка, как это делает MySQL из-за своих настроек по-умолчанию. И да, по-умолчанию MySQL базу поставит тоже куда-то глубоко-глубоко. Как и мое любимое расположение папок сайтов в /var/www/ Ну самое место им только там, конечно же.
                                          Опять-таки, базу в MSSQL перетащить после установки можно легко, а в MySQL — сначала придется выяснить, а куда ж он ее засунул-то в данном конкретном дистрибутиве ОС.
                                          Далее хочу напомнить, что дефолтный конфиг запускает вполне себе рабочий сервер mysql.

                                          А вы попробуйте. Вот возьмите какой-нить сайт на cms пожирнее и — попробуйте. «Работать» оно будет так, как-будто у вас диск через PATA режим включен. А в memcached лимит прописан в районе 48 мб, если я правильно помню — тоже в 2020 году прям огромнейший объем, любой софт туда свой кеш засунет и еще место останется)

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

                                          Но тут у меня закрадывается вопрос. Когда я спрашиваю людей: почему вы ставите centos?..

                                          Скажем так — у меня по работе в основном сайты на битриксе. Там есть свои (не существенные) требования к настройкам php и базы. Но проблема в том, что помимо этих экзотических требований — ему надо и все остальное правильно в конфигах настроить. И вот тут и начинается засада: если взять дефолтную Убунту, поставить туда дефолтный софт для запуска вебсайтов — то процесс настройки всего-всего занимает порядка пары дней. Ну просто потому что а) я делаю это все не то чтобы часто и б) каждый раз в конфигах всплывает какая-нибудь фигня, с которой надо долго гуглить, чтобы понять что вообще надо куда подкрутить.
                                          Или есть альтернатива: скачиваем скрипт bitrixvm, оно ставит все что надо, накладывает конфиги с автомасштабированием по ядрам/памяти и дотюниваем десяток специфичных параметров, чтобы оно еще лучше работало. Процесс занимает ну с час, максимум. И всё — оно уже работает. Вот только доступно все это счастье только на CentOS и выбора нет. Более того, мне, я бы сказал, вообще не принципиально какая там ОС на железе крутится (все прыжки вокруг systemd, например, прошли мимо меня), так как mysql, php, nginx и все остальное — одинаковые везде и проблемы в конфигах которые я описываю так же везде, где я щупал, плюс-минус одинаковы.

                                          Замечу только, что битрикс — это не открытое ПО. И зацените сразу какая разница в процессе?
                                            0
                                            Опять-таки, базу в MSSQL перетащить после установки можно легко, а в MySQL — сначала придется выяснить, а куда ж он ее засунул-то в данном конкретном дистрибутиве ОС.

                                            Вобще-то и там и там правильный вариант переноса базы это dump.
                                            Да даже если и куда засунул. Это грепнуть конфиг на предмет datadir? Это точно трудоемкая операция.
                                            Или есть альтернатива: скачиваем скрипт bitrixvm, оно ставит все что надо, накладывает конфиги с автомасштабированием по ядрам/памяти и дотюниваем десяток специфичных параметров, чтобы оно еще лучше работало.

                                            Если вы про скрипты отсюда, то они никак не патчат конфиг mysql. Только запускают и меняют пароль пользователю root. Не уверен что это безопасный способ работы с mysql вобще. Это скорее для разработки, а не для использования на боевом сервере. И тогда встает вопрос, что там такого что нельзя было бы выполнить по инструкции на те же 800 строк? Учитывая, что и безопасность php там никак не настраивается.

                                            Как и мое любимое расположение папок сайтов в /var/www/


                                            А вы в курсе, что согласно тем же мануалам в каталог /var на сервере рекомендовано монтировать другой физический раздел? В идеале даже другой диск. Или же что /var может быть ссылкой на каталог на другом разделе? Ну можно не весь /var а скажем /var/db или /var/www или /var/lib
                                              0
                                              Вобще-то и там и там правильный вариант переноса базы это dump.
                                              Да даже если и куда засунул. Это грепнуть конфиг на предмет datadir? Это точно трудоемкая операция.

                                              Вполне может быть. Да. Но, если я правильно помню (давно не работал), в MSSQL базу можно перенести просто из консоли управления нажав 2 кнопки и указав папку. Ничего грепать не надо, выяснять где оно было — не надо. Просто — работает.

                                              Нет, я не говорю, что проблем там нет. Но на фоне юникс софта — это как работа современного слесаря против средневекового кузнеца. Вроде и результат одинаков, а трудоемкость в разы отличается.

                                              Если вы про скрипты отсюда, то они никак не патчат конфиг mysql.

                                              Не, там хитрее. Это просто инсталлятор, оно дальше репозиторий настраивает, оттуда дотягивает еще кучу всякого (+ доп. скрипты). В итоге базовые конфиги меняются на другие + внутри идет подключение доп. конфигов из спец. папок внутри etc, в которых куча настроек, частью из которых рулит большой скрипт, который при старте системы смотрит объем памяти, кол-во ядер и подкручивает настройки. Ну т.е. добавил памяти на vps/vds, перезагрузился — и всё, память УЖЕ используется эффективно, даже трогать не надо как правило. Там еще много всякой магии — там полный стек всего нужного софта настраивается по сути как в винде, тык-тык-тык и работает.

                                              А вы в курсе, что согласно тем же мануалам в каталог /var на сервере рекомендовано монтировать другой физический раздел? В идеале даже другой диск. Или же что /var может быть ссылкой на каталог на другом разделе? Ну можно не весь /var а скажем /var/db или /var/www или /var/lib


                                              Да в курсе. Вот только вебсайт — это на мой взгляд все-таки пользовательские данные и делать им в var просто нечего. В любом случае, я на каждом новом сервере вынужден каждый раз уточнять, куда именно решили это «стандартное» расположение папки стандартно засунуть. Везде по разному. А уж сколько «стандартных» косяков с правами и всем подобным. И всё это удовольствие — из коробки. Ну, мне же не должно быть лень перенастраивать-то, когда не работает как должно.

                                              Вот только когда это сотый сервер — начинаешь задаваться вопросом «какого?» «почему?»
                    0
                    Особенно учитывая, что и у индексирования, и у антивируса есть свои API.
                    +3
                    есть ещё и WinDirStat она opensource.
                    Для мака может подойдёт GrandPerspective.
                      0
                      Не знал об этой утилите, спасибо. Попробовал, мне показалось, что WinDirStat в целом нагляднее, но в обеих есть интересные фишки.
                        0
                        Мне больше нравится утилитка Scanner от steffen gerlach. Чисто из-за того что отображает всё в виде круговой диаграммы
                        0

                        А для Linux есть Filelight. Отличнейшая штука.

                        0
                        diskusage /minFileSize=1073741824 /h c:\windows

                        А нормального варианта вроде
                        diskusage /minFileSize=1g /h c:\windows
                        не завезли?

                        Only users with full accounts can post comments. Log in, please.