Pull to refresh

Comments 739

Напомнило ситуацию с rm -rf /usr /lib… в обновлении Bumblebee.
«I didn't like that folder anyway» из комментариев
наконец-то Яндекс достиг того уровня, что «Я.Диск» можно включать в базовую поставку новых версий Windows
Одно дело /usr, это лечится загрузкой с флешки и переустановкой пакетов, а вот C:\Users — это пропажа пользовательских файлов из Загрузок, Библиотек, и, где многие любят хранить файлы, с Рабочего стола.
Интересно, если комп еще не перегрузился, то как можно отменить эти «scheduled to delete on reboot»?
Еще можно кого-нибудь спасти! Поделитесь рецептом, кто в курсе.
Надо проверить и почистить ветки
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_USERS\*\Software\Microsoft\Windows\CurrentVersion\RunOnce

Для «старых» установщиков точно должно помочь, а вот у новых появился какой-то еще один способ…
Вот еще кое-что нашел в доке по винде про отложенное удаление. по крайней мере надо еще в реестре чистить похоже вот тут:
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations"


If the dwFlags parameter specifies MOVEFILE_DELAY_UNTIL_REBOOT, MoveFileEx fails if it cannot access the registry. The function stores the locations of the files to be renamed at restart in the following registry value:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
Ну и в догонку еще, похоже можно запретить такие удаления всего в корне, если еще поменять немного в реестре, вот как пишут на msdn:
Using MoveFileEx for WFP files (on boot)
It should be noted that MoveFileEx with MOVEFILE_DELAY_UNTIL_REBOOT refuses to move/rename WFP-protected files unless the following registry value is set to 1:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\AllowProtectedRenames

For some reason, this information doesn't appear on this page, but is documented in the following MSDN page:

msdn.microsoft.com/en-us/library/aa381498(VS.85).aspx

This page states that the registry flag above must be set before any boot where protected files are to be replaced via
MoveFileEx and is deleted after reboot.
Такое изменение может косвенно повлиять на другие программы, которые используют похожий механизм, либо на обновления Windows, но как «скорая помощь» — да, вполне может помочь.
Настройка архивации системы по расписанию очень помогает. Убедился сам несколько раз.
У меня на винде были отдельные разделы под нужные вещи. А диск C — это так, маленькая помойка гигов на 20, которую не жалко снести :)
Если бы при виндовые инсталляторы подталкивали на подобное разделение (как делает та же *buntu), всем было бы лучше.
Виндовые инсталляторы — это инсталляторы системы? или программ? Потому как разбиение диска у среднестатистического пользователя выглядит так — диск 500Гб, под систему 100 Гб, остальное «под данные». При этом системный диск забит под завязку всякой порнухой в прямом и переносном смысле, а на втором две пустые скрытые папки — $Recycle.bin и System Volume Information.
Нужно, чтобы
а) инсталлятор системы предлагал поместить папку Users отдельно, Program Files отдельно и
б) научить инсталляторы программ раскладывать файлы корректно
Короче, нереально.
Установщик самой системы. Прямо в инсталляторе предлагать отдельный раздел (к примеру D:) и, чтобы ничего особо не поломать, делать NTFS hardlink'и (не помню их названия) из D:\Users -> C:\Users.
Хотя, насколько помню по «великой и ужасной» директории winsxs, с подсчетом места при наличии хардлинков в винде все очень грустно.
Хардлинки бывают в рамках одной fs. На то они и хард.
Я имел ввиду NTFS Junction Point (нагуглил):
указанный логический диск либо папка будет отображаться как папка на другом логическом диске либо в другой папке

По логике работы больше похоже на symlink
Он и есть. Очень выручает, когда система на ссд, и есть программа, которой обязательно надо положить 300 гигов данных в AppData\Local или в Program Files.
Вопрос, а что мешает дефектной или вредоносной программе производящей разрушения на диске C: пройтись по симлинку, ти напакостить на другом разделе?
Это защита не от вредоноса, а не случайного стирания пользовательских данных при перестановке ОС.
И чем бы это спасло от удаления «пользовательских» файлов Я.Диска с D:\ вплоть до корня, заодно и исполняемыми вплоть до корня C:\?
Проблема винды в том, что она не сама выполняет деинсталляцию, а позволяет программам использовать свои деинсталляторы, при этом ещё и позволяя им стирать любые файлы по своему желанию. Это катастрофический архитектурный фейл, который что-то никак не решатся задепрекейтить.
Что уж говорить о периодических требованиях Adobe Reader'а, Java и Skype обновиться «собственным» способом, без обновления всего остального, что ещё отягощается невозможностью при какой-то неудаче откатить обновления.
Это сплошная беда, и лечить это смысла уже мало, учитывая огромное количество хренового софта.
Так задепрекейтили в Windows RT, но народ недоволен.
Нужно забыть про разбиение дисков. Пользователей это не волнует и им это не нужно, а кривые установщики программ будут работать корректно.
Давно меня разные люди пытаются убедить, что нужно забыть, что можно и симлинками монтировать. Но до сих пор находятся аргументы против этого. С одним разделом удобнее до тех пор пока не полезут проблемы.
Что куда монтировать и зачем? Какие проблемы могут вылезти?
С таких вопросов и начинаются проблемы +6 месяцев от реализации по заявлению.
Нужно. Не обязательно, правда, сообщать им об этом. Однажды, потеряв систему, но сохранив данные, пользователь скажет «спасибо».

Я не имею ввиду каким конкретно образом будет сделан доступ к разделам — будут это отдельные «буквы дисков» иди всё будет смонтировано внутрь одного корня.
За что он скажет спасибо? Реальность такова:

Потому как разбиение диска у среднестатистического пользователя выглядит так — диск 500Гб, под систему 100 Гб, остальное «под данные». При этом системный диск забит под завязку всякой порнухой в прямом и переносном смысле, а на втором две пустые скрытые папки — $Recycle.bin и System Volume Information.


Диски им эти разбивают эникейщики и «внучки, которые в компьютерах разбираются», сами пользователи про это даже и не слышали.
Винда уже сейчас режет под себя по 2-3+ разделов. Что ей мешает автоматом нарезать на 3-4+.
Все служебные разделы (одна штука, смотрите Computer Management->Disk Management) скрыты, основной раздел с ОС занимает всё остальное пространство на физическом диске.
Помнится, восьмерка у меня на купленном ноуте использовала 4 если не 5 разделов, а минимально ей нужно 2 (C+100М boot).
Поправьте, если ошибаюсь.
Сейчас ею выделены msftres (128М)+C (43Г)+diag (374М) по словам parted.

Если она научилась использовать системные разделы, то что мешает аналогично использовать два диска с автоматическим связыванием через Junction Point.Систему можно спокойно переставлять, а при перестановке ОС бы цепляла директории со второго диска, показывая пользователю только один общий диск. По аналогии с mount/vfs. Доступ и управление вторым диском с «данными» — только через администраторские оснастки.
Диск на 4 раздела разметил производитель ноута. У меня стоит 8.1, там два раздела — boot и данные.
не совсем верно про /usr.
Как правило, /home — это только симлинк на /usr/home
со всеми вытекающими последствиями.
Это где это такие правила?
Это в *BSD так иногда делали, чтобы не ломать голову, сколько же места отвести под /usr, а сколько под /home и чтоб хватило и там и там. Объединяли их в один раздел и делали симлинк.

Только это глупость полнейшая. Данные и программы. Как раз это-то и должно быть на разных разделах. Я ещё понимаю — /home и /var объединить в таком случае (типа и то, и другое меняется в процессе эксплуатации системы), но никак не /home и /usr.
Я недавно ставил дистрибутив, который называется PC-BSD. Это типа юзер-френдли BSD (в реальности полуработающее поделие). Ну так вот там такого не было. Так что, вероятно, это какой-то совсем архаизм.
Вспоминаю, 10 лет назад во времена FreeBSD 4.x у нас в у нивере так было сделано.
Ну вот, простимулировали пользователей делать бэкапы.
Кстати. Небольшие бэкапы очень удобно делать в яндекс-диск!
Яндекс пытались повторить успех, не получилось(
Яндекс к успеху шёл, не получилось, не фартануло
Обажаю виндовс :) если что то не работает переустановите виндовс…
С такими продажами, как у Windows 8.1, скоро будет «Купите новый компьютер»
А что там не так?
Я тут попытался установить VMware View Client на windows 8.1 и мне написали, что не могут установить, т.к. операционная система должна быть не ниже чем Windows XP servicepack 2. Пришлось в режиме совместимости устанавливать.
Простите, а Microsoft Тут при чем? VMware сделали на коленке обнаружение корректной версии, в результате показывают сообщение, не соответствующее действительности, а виноват Microsoft?
Никто не говорит, что виноват Майкрософт, но большинство производителей софта не успели адаптировать свои продукты. По этому я не стал бы пока использовать 8.1 для разработки(знал бы я это раньше)
Плюйте в разработчиков этого софта. Одно дело, когда софт говорит, что новая ОС еще не поддерживается, другое, когда заявлено одно, а работает иначе.
Чем ваша фраза отличается от моей?
Видимо я чего-то не понимаю
А сколько у них было времени, как вы думаете? RC 8.1 был с полгода доступен или около того.
Да, теперь я буду знать что на хабре нельзя плохо говорить про любую продукцию MS, даже если искренне считаю некоторые экземпляры неудачными.
Теперь Вы знаете, что своё мнение необходимо обосновывать.
Комментарии с хорошим обоснованием против MS/Apple/Linux/etc обычно заканчиваются плюсами за комментарий и минусами в карму. Так что тоже не всегда вариант)
Зато совесть чиста. А чтобы она была уж совсем-совсем чиста. Может обосновывать и плюсы и минусы.
Пример:
linux: высокий порог вхождения (как говорят), зато распространение ПО через репозитории.
windows: риски связанные вирусами, меньшая гибкость в выборе графической оболочки, зато игры и бОльшая программная база.
mac os: лагает безбожно, зато красивенький.

прошу расценивать комментарий только как пример и шутку (чем он и является).
Только в том случае, когда пытаешься его кому-то навязать. Я не пытался.
Мне очень интересно послушать. Только если не брать во внимание интерфейс, это все-таки субъективная вещь и многим плитки нравятся.
Интерфейс — неотделимая часть ОС. Если в *никсах я могу выбирать между KDE, Gnome и еще кучей DM'ов, то в 8.x «плитки» активно навязываются и их нельзя отключить.

Мне не нравятся не сами плитки. Мне нравится то, чего меня лишили. Я не могу делать многие вещи привычным образом. А к новым способам привыкать даже не хочется, ибо сделаны они топорно. Например, мне не ясна логика появления «выплывающей панели» справа экрана. Она то появляется сразу, то ее приходится ловить мышью. Также мне непонятно, почему на компьютере с достаточно неплохим железом (i5, SSD) при введении в поисковую строку плиточного интерфейса нескольких символов из названия нужной мне программы (чтобы не искать её в огромном списке), мне приходится подождать несколько секунд пока не появится результат. Я ярый противник использования костылей вроде Start8 и прочих «улучшайзеров». Так что единственным вариантом для меня остаётся тихо ненавидеть.

Прочие положительные и отрицательные нововведения и так обсуждались неоднократно. Лично для меня, Windows 8.x по сравнению с Windows 7 стала хуже, несмотря на все то, что мне в ней понравилось.
Я тоже ненавижу новомодные софтовые высеры.
Нельзя говорить, что ОС говно только потому что вам не нравится новый интерфейс. Если он не нравится, то так и стоит говорить, сужая критику до интерфейса.
Логика всех панелей и пуска, кстати, визуально показывается при первом входе в систему. По поводу строки поиска тоже не очень понятно. Я могу предположить, что винда просто не успела еще проиндексировать все файлы в системе. На моем не-SSD не вижу никаких задержек, которые бы мешали работать.

Когда вышла бета и только появилась информация, что плитки будут основным интерфейсом, я тоже воспринял это в штыки. Сейчас я с удовольствием использую 8 и на работе и дома. Скорость работы с меню замено выше, чем в классическом пуске. Живые плитки тоже прикольно, но пока мало приложений, которые используют этот интерфейс.
Возможно MS стоило бы не так агрессивно внедрять плитки, но уж как сделано так и сделано. Полагаю, это взвешенный шаг.
image
Ладно бы интерфейс. «Весело» было с обновлением OEM-винды до 8.1, когда на нескольких компах мне пришлось с загрузочной флэшки разблокировать учётку локального админа, когда надо было залогиниться невзирая при отсутствии подключения к инету. У себя на буке ввиду непостоянного Internet-подключения я систему обновлять до 8.1 пока не стал.
Что-то плохо понял проблему после обновления 8.1. А что случилось со старой учетной записью? Если это liveid, то он же должен был остаться скешированным.
У нас почему-то не остался. Именно live id. Может, я привык к локальным учёткам везде, и это напрягло, но лично мне не понравилось.
Локальная учёта включается в 5 кликов. Но да, предварительно нужно зайти как-то.
А мне не понравилось, что 8.1 меня зафорсила перейти на Live ID. А поскольку возникло ещё пару неизлечимых проблем (одна из них какой-то фатальный факап в драйверах Нвидии после которого показывался голый десктоп), то пришлось в итоге откатиться на 8.0. Благо инсталлятор 8.0 это позволяет без полного реинсталла. Пусть выпустят сервис пак под эту 8.1. Пардон, 8.1 это фактически и есть сервис-пак.

Не вижу ничего плохого в liveid. Впрочем, можно также от него отказаться. Только в 8.1 это сделать можно менее очевидно) При установке создается впечатление, что можно только через liveid войти.

Ну а про драйверы да, что же поделаешь, вот касперский тоже до сих пор не работает под 8.1 и рекомендует не обновляться пока он не созреет :)
Кирилл, здравствуйте. Вообще все наши свежие версии домашней защиты работают с 8.1. Исключение составляет лишь бесплатная Яндекс-версия нашего антивируса, т.к. она построена на базе старого билда, который не поддерживает 8.1.
Я и не говорил про домашние версии. Я говорю про endpoint. Было заявлено, что в декабре будет выпущена версия для 8.1. Это печально, что вы так сильно отстаете.
Вы, раз уж на то пошло, ни про какие конкретно не говорили :)

Корпоративную защиту пилим вовсю и от обещаний про декабрь не отказываемся. Более того, тестирование уже закончено, идут последние приготовления к релизу, так что в начале следующей недели, если верить коллегам, будет обновление для KES10 с поддержкой 8.1.

За задержку просим прощения, но мы решили перестраховаться: лучше задержаться с релизом, но выполнить его качественно, чем поторопиться и выпустить забагованную хрень, которая добавит головняка и нам, и, что куда важнее, нашим корпоративным клиентам.
Ну это благородная причина задержки, безусловно.
Но вообще ожидается, что ваш продукт должен быть разработан, полностью оттестирован в ближайшее время после выпуска платформы, а не через 3.5 месяца после выхода RTM. И не надо говорить, что она объявлена в октябре, для вас RTM был доступен определённо раньше.
Я уже предвкушаю завтрашние заголовки сомнительных ресурсов: «Лаборатория Касперского объявила Яндекс.Диск „забагованной хренью“».
Ненене! На коллег из Яндекса никаких наездов, что Вы! Напротив, всячески сочувствуем и поддерживаем, особенно вспоминая наш недавний факап с системными файлами :)
Да просто небольшой налет юмора, не обращайте внимания.
Главное, чтобы не получилось так как у Яндекса.
Собственно, мне этот форс и не понравился. На ровном месте проблем нарисовал. Сам неизлечимых проблем не испытал, но друзья говорили, что некоторые программы не работают.
А что действительно важное существенно поменялось в 8.x по сравнению с 7 кроме интерфейса?
Скорость работы, синхронизация, ReFS, новый протокол RDP, SMB3, улучшена многомониторная конфигурация, hyper-v… На самом деле можно долго перечислять, когда работаешь, даже не задумываешься, что чего-то нет в 7-ке, например. Но удобство и комфорт работы складывается из множества маленьких кусочков, часто высокотехнологичных. Это не просто галочка в опциях, а большество изменений, как всегда, делается и во все в невидимой его части.
ReFS

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

Если бы была возможность отключить эти плитки, чтобы никогда их не видеть, продажи Windows 8 шли бы веселее.
Я вижу плитки, в лучшем случае, раз в неделю, когда надо запустить программу, которой ещё нет на рабочем столе. Остальное время — всё как раньше.
Ярлыки программ на рабочем столе? О, господи, поставьте же любой заменитель кнопки Пуск. ;-)
Большинство ярлыков — программы с одним аргументом, в которые можно перетащить файл для обработки. Кнопка «пуск» для этого была бы не так пригодна. А программы, которые надо просто запускать (без аргументов), лежат в строчке Quick Launch. Кнопка «пуск» или её заменители почти не нужны.
А разве есть штатная возможность после загрузки сразу видеть рабочий стол?
В 8.1 (и 8.1 preview) есть. Надо в desktop щёлкнуть правой кнопкой по нижней строчке, выбрать Properties, потом панель navigation, и поставить галочку где-то в середине (при входе переходить на desktop вместо start).
Нельзя говорить, что ОС говно только потому что вам не нравится новый интерфейс. Если он не нравится, то так и стоит говорить, сужая критику до интерфейса.

Провальная статистика продаж (напомню, что 8.x продаётся гораздо хуже Vista) показывает, что можно.
Лично я обычно наблюдаю такую картину: «W8? Не, там интерфейс, говорят, изменили. Я лучше на 7ке посижу».
Т.е. зачастую «покупатели» не то, что не пробуют пощупать новую систему в плане использования, а даже и не смотрят, что там нового.
Чисто субъективное наблюдение.
У меня тоже чисто субъективное наблюдение — поставил 8ку в виртуалку — неудобно, ибо поломано параллельное десктопное представление, потом посмотрел на цену апдейта и понял, что мне оно не нужно. Недавно посмотрел на 8.1 ситуация не поменялась, итог — гуй для десктопа сломан.

Ещё меня уже замучал народ, который со словами «тыжпрограммист» приходит с новыми ноутами и просить поставить «нормальный виндовс» вместо этой непонятной штуки. В 8.1. MS хоть догадались сделать убираемым автозапуск метро меню :) на 8ку мне вообще народ говорил по первости: «комп сломанный». А в корпоративном секторе 8ку вообще никак не приняли, и это не мои умозаключения — она не продаётся, вообще никак, обычным пользователям её хоть с железом впаривают, а корпоративной сектор от неё воротит. Единственное, что покупают хоть как то это серверную редакцию, из за нативного гипервизора, но на гуй всё равно ругаются. В общем Windows не Linux тут гуй просто так не поменяешь, так что моё мнение — 8.x для десктопа сломали, но хочу заметить при этом, что для планшетов на x86 она хороша :)
+1 к задолбанности «тыжпрограммистом» (((=

Я извиняюсь, но почему-то вспомнилась фраза, что когда программисту нечем заняться, он настраивает оформление (:

Т.е. я настолько ленив, что мне действительно проще привыкнуть к новому интерфейсу, чем настраивать старый.

Когда семерка только появилась, не говоря и о висте, народ с такими же проблемами требовал «старую добрую» ХР. Слава богу не 98-ую хоть.

У нас, кстати, OEM восьмерки нормально уживаются… Народ нос морщит, но сильного беспокойства не испытывает. И пользователи это далеко не самые сообразительные.
Динамика не хуже висты. Вообще Microsoft, мне кажется, совершенно нет никакого резона делать так, чтобы все пользователи разом переходили на новую версию. То есть сделать все, чтобы это было удобно в их силах, но нет ничего плохого в том, что пользователи полюбили семерку и сидят в ней. Главное, что десктопный рынок до сих пор под влиянием windows и у пользователей только есть выбор, остаться на семерке или попробовать что-нибудь посовременнее. И срок поддержки 7-ки вполне покрывает эти нужды. Когда придет время и консерваторы захотят обновиться, у них все еще будет такая возможность.
Динамика не хуже висты

Сами MS говорили обратное в своём же официальном блоге.
Там единственное заявление по-моему было в марте. statcounter говорит, что не так все плохо у 8. Например, 8.1 уже 1.11%, в то время как Линукс аж 1.22%.
Но за 5 лет windows потеряла в позиции около 6-7%. Думаю все-таки не без мобильного рынка, на который windows становится только сейчас.
А причем тут виндовс, собственно? Дело в невнимательности разработчиков.
А так, после случая с Bumblebee, я «обажаю» линукс (орфография сохранена).
Использовали бы для сборки ebuild (Gentoo) — «обажали» бы меньше (сборка в этом случае запускается в песочнице).
У нас, в дебиане, оно называется apt-build (:
«обажать» = «обрасти багами» :)
Странно, вроде лог лежит внутри C:\Users\%USER%, значит, установщик запускается от юзера, ну тогда какие такие системные файлы получилось удалить?
Поправьте меня если я не прав, но если UAC дал добро или вообще отключен то там пофиг от юзера запущено или нет ибо текущий пользователь системы по правам будет почти на 100% равноценен администратору.
А окошко UAC выскакивало? Как я понимаю, если в нем нажать «Да», то установщик запускается с правами администратора
Нет.

Обновление у ЯД проходит в фоне и уведомляет уже по факту.

Мне кажется, что если б установщик работал от имени администратора, то система вообще не поднялась бы после перезагрузки.
У меня и не поднялась. )-:
Скорее всего при первой установке установщик ставит сервис для этого. Во всяком случае, теперь так принято.
Последующие установки просто скармливают сервису установщик, тот проверяет подпись и если что запускает под админом.
Важно: это просто мое предположение.
Скорее всего при первой установке установщик ставит сервис для этого. Во всяком случае, теперь так принято.

Кстати, а не знаете чем это обосновано? Ведь есть же нормальные методы, к примеру через планировщик можно через определённый интервал времени запускать задачу с необходимыми правами. Честно признаюсь, что у меня возможно непонимание, но все компании, которые добавляют апдейтеры в виде службы, или автоматически запускаемых приложений для меня выглядят идиотами. Ах да — все эти службы у меня нещадно удаляются методом «sc delete» без вникания в последствия, и как не странно если софт запущен — он так же сам обновляется. В общем я искренне не понимаю зачем этот мусор в системе живёт.
Всецело согласен. Рак мозга это и лень, теперь каждая собака ставит свой сервис, в большинстве случаев совершенно необоснованно. О том что есть распрекрасный шедулер с очень гибкими триггерами вообще мало кто вспоминает. И потом всё это чудо радостно подымается на старте и хорошо если выключается после отработки.
Шедулер находится во власти пользователя, он может быть отключен или перенастроен. Производители софта не хотят быть зависимыми от таких вещей, поэтому в ход идут сервисы как доверенные приложения на которые не будет возникать каждый раз запрос на повышение привилегий.
Автозапуск и службы так же находятся во власти пользователя.
Но не во власти пользователя вообще отключить весь механизм служб. То есть с высокой степенью вероятности служба позволит обновляться приложению без целенаправленных запретительных мер со стороны пользователя, а вот шедулер может быть отключен на корню и даже задолго до установки приложения. Может его отключили с целью «зачем нам эта фигня — никогда не пользовались и не будем» и в соответствии с этим пользователь получил море головняка с тем что какие-то приложения не обновляются автоматически. Причем это осознаешь только когда будет очень поздно — что-то перестанет работать из-за сильно устаревшей версии приложения, проникнут вирусы из-за уязвимостей и т.д.
Добавляется еще одна прослойка, которую надо проверить в поисках причины «ПОЧЕМУ НЕ РАБОТАЕТ». А количество этих прослоек как раз и стараются уменьшить, либо сделать их подконтрольными.
Отключенный шедулер это уже сравнимо со случаями отключения UAC когда пользователь сам себе проблемы создаёт. Точнее всё же не с UAC, а скорее с отключением файла подкачки, когда большинство умников отключающих его даже не понимают зачем он нужен, а потом удивляются «почему у меня занято 6 ГБ оперативки из 8, а комп при этом тормозит».

Добавляется еще одна прослойка, которую надо проверить в поисках причины «ПОЧЕМУ НЕ РАБОТАЕТ». А количество этих прослоек как раз и стараются уменьшить, либо сделать их подконтрольными.

Кстати говоря именно этими моментами я и руководствуюсь когда стараюсь что бы софт обновлялся только с предварительного разрешения и что бы была возможность отката — люблю когда всё работает, и внезапно не ломается. В итоге мне совершенно не тяжело получается потратить час времени, один раз в месяц, и в удобное для меня время, что бы разобраться что обновилось, и как оно после этого работает. Т.е. есть необходимость что бы у пользователя администратора, который в состоянии думать была возможность управлять этим процессом, а не решать внезапно возникающие из ниоткуда проблемы.
Поясните, с какого это перепугу отключение свопа может повлиять в худшую сторону на производительность при большом объёме оперативки, полностью не занятом
Поясняю: менеджер памяти Windows копирует в своп не используемые (устаревшие) страницы, а оперативку, при необходимости, забивает полезными данными, системным кешем и подобными вещами. К тому же отключение свопа часто вызывает проблему из-за которой памяти начинает не хватать приложениям, но при этом диспетчер задач показывает, что её относительно много свободной, однако, поскольку она сильно фрагментирована, начинают валится разные ошибки при выделении и (или) резервировании памяти приложениями.
Уточните, в чём заключается проблема: в том, что диспетчер может врать и показывать неверное количество свободой памяти, или исключительно во фрагментации оперативки?

P.S. Мда… я ещё понимаю заминусовать комментарий, но вот полденько гадить в карму за один заданный вопрос… отпадает желание что-то писать на Хабре
Стандартная проблема. Haters gonna hate.

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

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

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

не хватило памяти ибо не удалось выделить кусок памяти для снятия дампа
понятно :(
однако, такое ведь возможно только при полном или почти полном забитии оперативки? если оперативки регулярно не хватает для работы программ, то, действительно, отключать своп неразумно. однако я всё-таки имел в виду случай, когда оперативки действительно много, и достаточно большой объём свободен.

невозможности создания дампа памяти в случае BSOD
а вот об этом не знал

починить систему будет уже сложнее, и придётся сначала включать файл подкачки через сторонний загрузочный диск
а разве не в любом случае потребуется диск, если уж система сразу валится в BSOD? (тут я чайник, к счастью с таким сталкиваться не приходилось)

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

файла подкачки на системном диске
, стоп, именно на системном?

вроде всегда рекомендовалось определять файл подкачки на жёстком диске, который меньше загружен в работе (то есть желательно отличном от системного)
однако, такое ведь возможно только при полном или почти полном забитии оперативки?

В том то и дело, что, к сожалению, нет. Может быть даже свободно 4 ГБ из 8 ГБ, но из-за фрагментации памяти, особенно после длительной работы разношёрстного софта уже не удастся выделить даже небольшой кусочек, к примеру размером 64 кБ, ну или не удастся запустить поток или процесс, которому под стек обязательно необходимо зарезервировать кусок непрерывной памяти (до нескольких МБ размером), соответственно получим ошибку создания потока в приложении и какой нибудь глюк в нём, а то и вовсе BSOD с сообщением PROCESS_INITIALIZATION_FAILED :)

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

а разве не в любом случае потребуется диск, если уж система сразу валится в BSOD?

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

Частенько, ибо на экране смерти не видно стека вызовов, и там, к примеру, может быть видна конечная ошибка в какой то системной библиотеке, однако при этом в дампе будет стек и там будет виден реальный виновник. К тому же падать может по разному, т.е. как будто в разных местах (по синему экрану), а из дампа будет видно, что везде, к примеру, один и тот же драйвер в стеке.

, стоп, именно на системном?

Для создания дампа, именно на системном, пусть даже маленький (1МБ вроде достаточно), а для более оптимальной работы файла подкачки безусловно лучше разместить его на отдельном физическом диске.
> В том то и дело, что, к сожалению, нет. Может быть даже свободно 4 ГБ из 8 ГБ, но из-за фрагментации памяти, особенно после длительной работы разношёрстного софта уже не удастся выделить даже небольшой кусочек, к примеру размером 64 кБ, ну или не удастся запустить поток или процесс, которому под стек обязательно необходимо зарезервировать кусок непрерывной памяти (до нескольких МБ размером), соответственно получим ошибку создания потока в приложении и какой нибудь глюк в нём, а то и вовсе BSOD с сообщением PROCESS_INITIALIZATION_FAILED :)

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

Оперативная память — это ведь не жесткий диск: у каждого процесса свое адресное пространство, и запрос на 1ГБ к ОС не требует 1ГБ непрерывного свободного места в пространстве физических адресов, поскольку MMU все равно виртуализирует всю память и раскидает этот гигабайт на кучу мелких 4кб страниц, которые могут располагать по любым физическим адресам в любом порядке.

Фрагментация имеет значение, когда, например, есть, например, in-memory DB, использующая почти всю память и постоянно выделяющая/освобождающая ее во время оперцаий. И, поскольку выделяемые/освобождаемые куски не всегда совпадают с размером страницы, то вернуть их ОС не возможно (а менеджер памяти оперирует именно ими), получается ситуация, когда есть куча аллоцированных страниц памяти, с малой долей объема занятого полезными данным.

Например, если есть 1024 4к страниц, занятых на 25%, то полезных данных 1МБ, однако, системой программе выделено 4МБ. И, если у нас всего 5МБ оперативки, то фрагментация для нас опасна.

Если же есть пара десятоков программ, к тому же, постоянно запускающихся и завершающихся, то фрагментацию памяти можно вообще не рассматривать.
Для создания дампа, именно на системном, пусть даже маленький
Последую совету )

И всё-таки выскажу свои соображения. Нехватка места под кусок данных при 4 ГБ из 8 — это жесть, конечно, я и не думал, что такое возможно :( Но вопрос в том, как часто подобная ситуация реально может возникать на практике? Я просто немного сомневаюсь, что вероятность этого (пусть даже не 4, а 6 из 8 ГБ занято, как вы приводили пример в начале) велика. Вот и выше в комменте iavael приводил наблюдения.

Я какое-то время сидел с отключённым свопом после того, как поставил 2 гига оперативки (тогда этого с лихвой хватало для повседневной работы). Никаких особых проблем вроде не замечал (не знаю, возможно, не так много использовал программ, активно фрагментирующих память). Оперативка забивалась очень-очень редко, тогда просто всплывало предупреждение о нехватке виртуальной памяти, и я выгружал программы по усмотрению. Мне казалось это даже удобнее, в случае переполнения сразу отключить более ненужное, нежели медленно-медленно и постепенно подплывать к подтормаживанию системы, грузящей-выгружающей всё большие объёмы памяти в своп, с растущим дискомфортом в работе, не всегда сразу ощущаемом, но от этого не менее неприятным.

С другой стороны, пока менеджер памяти ещё способен выделить требуемые кусочки, вряд ли даже сильнейшая фраментация оперативки способна привести к такому замедлению работы, как обращения к жёсткому диску. Пусть даже система сбрасывает самые, по её мнению, неиспользуемые страницы памяти, всё равно, весьма вероятно, рано или поздно, они тоже понадобятся. А ведь файл подкачки тоже может фрагментироваться! что может стать весьма серьёзной проблемой, приводящей к ещё большим тормозам. Это частично решаемо выделением под своп достаточно большого размера на жёстком диске, но если уж мы предполагаем, что даже наполовину свободная оперативка может ужасно фрагментироваться, то и про своп можно сказать то же самое.

То есть, возвращаясь к первоначально поднятому вопросу, отключение свопа при большом объёме свободной памяти, хотя и может потенциально привести к потере стабильности (спорный момент, насколько велика вероятность этого), но, как мне кажется, вряд ли приведёт к изменению в худшую сторону производительности системы.
Большой p.s :): так же бытует, вполне оправданное мнение, что разработчики ОС лучше знают как именно она работает, и какие режимы для неё более оптимальные, и именно по этой причине менять какие то системные настройки без понимания, что именно за ними реально стоит явно не стоит, по этой же причине не стоит использовать различные «оптимизированные» сборки ОС, собранные не понятно кем, и не понятно по каким соображениям. Собственно данный подход обычно позволяет использовать ОС и софт годами без каких либо глюков и странностей, исключение составляют лишь особо кривые приложения и драйверы, но их очень и очень мало, и глючат они у всех :)

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

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

Немного отвлекаясь от темы, также, например, очень спорное решение по умолчанию скрывать от пользователя расширения файлов. Это и неудобно, и, уж точно, не способствует безопасности.

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

«оптимизированные» сборки ОС, собранные не понятно кем, и не понятно по каким соображениям

почему же непонятно? всяко удобнее поставить сборку с интегрированным набором софта и «свистелок», позволяющую в несколько кликов при установке получить систему, готовую к работе. Для настройки голой системы под себя нужно время. Так что как временный вариант всякие зверьдивиди очень даже полезны. и как резервная ОС потом сгодится.
Например, по умолчанию, системой ставится плавающий размер свопа, однако практически все рекомендации по оптимизации начинаются с совета выставить минимальный и максимальный объём равными, чтоб избежать проблем с фрагментацией. Думается, не напрасно же?

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

Даа, соберите пожалуйста, очень интересно будет почитать.
всяко удобнее поставить сборку с интегрированным набором софта и «свистелок», позволяющую в несколько кликов при установке получить систему, готовую к работе.… Так что как временный вариант всякие зверьдивиди очень даже полезны. и как резервная ОС потом сгодится.

Для этого существуют лайвсиди, или загрузочные флешки :) Что же касается конкретно ЗверСД (уже ДВД) — это ужасная сборка, через неё даже какую ту заразу распространяли одно время.
> Например, по умолчанию, системой ставится
По умолчанию система ставится на такой зоопарк конфигураций, окружений и вариантво использования, что вполне понятно, что разработчикам пришлось идти на унификацию настроек.

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

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

> случай с системной службой, молча и паскудно стирающей с рабочего стола ярлыки к сетевым ресурсам, если их более трёх штук
Можно доказательство (aka пруф), ни разу такого не видел, чесслово :)

> Так что как временный вариант всякие зверьдивиди очень даже полезны.
Нет, полезны были сборки FuckYouBill, LonerD и некоторые другие, а вот Зверь это самое главное говнище, автора которой, например я обещал при встрече стукнуть лопатой, которое до сих пор встречается и даже продолжает работать (например, где я лично лапки приложил вычистив всю херню и вернув все родные инструменты на место), если хозяин машины категорически против переустановки :) (но мы же умнее).
Можно доказательство (aka пруф), ни разу такого не видел, чесслово :)


ну вот например про удаление
nemcd.com/2012/12/propadayut-yarlyki-s-rabochego-stola-windows-7/

ага, это видимо было, когда я под семёркой сидел.

щас лень искать, но и про магическое правило «трёх ярлыков» тоже прогуглить можно

Долгое время было три директории на сетевых дисках, с которыми я работал. Когда же добавил ещё один ярлык, то в один прекрасный момент (видимо, после перезагрузки) обнаружил пропажу всех четырёх. Был, мягко говоря, в шоке от такого поведения системы. К счастью, ответ тогда быстро нагуглился, а то б, может, полез дополнительно на вирусы проверять, потеряв ещё больше времени…
Не понял при чем тут количество 3, если по ссылке описание «удаления неработающих ярлыков» известное как минимум с XP. Ну и неиспользуемые долгое время ярлыки начали помещаться в специальную папку вроде даже раньше.

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

(не стал удалять уже написанный выше комментарий)

Пошел на сайт МС и нашел «авторский материал» — support.microsoft.com/kb/978980/ru
Теперь стало окончательно понятно, что и как.
Проверил запуском «Обслуживания» — только предлагает удалить.
Говорят, что в SP1 это поведение (удаление) было исправлено.
Нарыл так же хак, для лечения — www.ghacks.net/2010/03/30/fix-windows-7-desktop-shortcuts-disappearing/

З.Ы. Кстати, вспомнился, кажется ещё из времён 98-ой винды, совет — если на рабочем столе скапливается 5 (а может и правда 4 :) ) «однотипных» ярлыков, создавать папку для их хранения, так как такое количество является показателем того, что в дальнейшем их станет больше или что-то типа того (точную формулировку запамятовал).
Говорят, что в SP1 это поведение (удаление) было исправлено.

Но, всё-таки, закладывать в систему возможность пакостить, стирая без предупреждения/уведомления что-либо, созданное пользователем — за такое руки отрывать надо
Если подобное наблюдалось ещё в XP, то это печально :(

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

так просто не отделаться, если уж приниматься за уборку, то рассортировавыть придётся )
Ну почему же обязательно хлам :)

Например у меня ярлыки RDP лежат в отдельной папке, линки документов тоже в своей — отдельной и так далее.

Хуже бывало у бухгалтерш а-ля блондинко, на рабочем столе созданы два ярлыка на 1-с серверную (с разными настройками), эти же ярлыки они как-то умудрились продублировать в панель быстрого запуска (видимо мои уроки винда для чайников даром не прошли), пользуются только ярлыками в быстром запуске, но через 60 дней удаляются ярлыки с рабочего стола (ну по умолчанию же так), и начинается «стон» — «аааа, всё пропало, ничего не работает» и так далее.
А в чем проблем со службой? Служба — это доверенный кусок кода, который если что можно выполнить. И все. Он не обязательно висит в системе постоянно включенным. Вот только что залез в настройки — вот есть у меня Mozilla Maintenance Service. Он с запуском «вручную», т.е. будет запущен по требованию. В чем проблема? Чем мешает?

и как не странно если софт запущен — он так же сам обновляется

Да, но тогда он спрашивает UAC (кроме дебилов, которые в пользовательский каталог ставится.

Ну тут все довольно просто. Windows нужна своя система обновлений. Ее там нет. Вот каждый и во что горазд.
В том то и проблема, что они постоянно работают :) К тем, которые запускаются по требованию и только когда надо у меня претензий нет.
GoogleCrashHandler (его собрат GoogleCrashHandler64) к примеру, которые работают всегда, вне зависимости от того работает софт гугла или нет, разнообразные jushed (Java update sheduler), AdobeManagerIMMUpdater (или как то так), AdobeServiceManager (который тоже не ясно что делает, но запускается при старте системы всегда) и т.д. я правда уже не помню что из них службы, а что в автозапуске или ещё как стояло.
Так понятное дело почему они работают — они ждут своего часа чтобы выполнить обновление. А чтобы узнать настал ли наш час «Ч» нужно положится либо на шедулер либо каждую секунду/минуту проверять время…
Либо в случае сервиса поддержки какого-то продукта — держит какие-то хендлы или порты открытыми в ожидании команд. Естественно, какой-то код при этом должен постоянно выполнятся, поэтому и служба в состоянии «работает». Но как правило, если они не совсем кривые они занимают лишь небольшую область памяти.
Ну и потом, иногда старт службы длится дольше чем она выполняет работу — такие службы нет смысла останавливать, ибо сделаешь еще хуже. Память-то можно нарастить, а время уходит безвозвратно.
Это всё понятно. Но если каждая программа будет держать свой сервис обновлений система станет просто помойкой из «обновляторов», это как всякие гварды мейл ру, элементы яндекс, которая может быть тебе и не нужна, но зачем то работает. В общем это плохой подход. В общем надо пользоваться механизмами, предоставляемыми системой, и не заниматься велосипедостроительством.
Яндексовский софт обновляется через BITS, аналогично апдейтам системы.
Сам их софт не использую, однако интересно как так они умудрились использовать правильный механизм, и при этом так накосячить :( Ведь в BITS принято же, что есть список файлов, и раз он есть то согласно именно этому, и только этому списку и надо удалять пакет.
Установщик пытался удалить все файлы, включая файлы из system32 (https://pp.vk.me/c311426/v311426342/4e4f/sq22rUy4aAQ.jpg).
Видимо, какие-то файлы ему удалось удалить, что нарушило работоспособность программ.

Сама Windows запустилась без проблем, но активация слетела.
Uninstaller часто хочет elevation — чтобы остановить и удалить сервис, например.
Или даже просто для того, что бы удалить файлы программ из %PROGRAMFILES%, или для того, что бы удалить какие то общие ресурсы из %ALLUSERSPROFILE%.

p.s: вообще я не понимаю как косякнули так умудрились косякнуть, ибо, судя по всему, удалять они начали прямиком из %SYSTEMDRIVE% :)
Отличный ответ саппорта. А если человек не умеет использовать точки восстановления или переустанавливать Windows? Даже ссылку на мануал для своих пользователей не прикрепили. Зато извинения за «неудобства» приносят.
У моих родителей вообще нету точек восстановления аз приемлемые сроки. Вот теперь думаю, что делать. Куча всего не работает. А была лицензионная OEM…
Я бы не постеснялся им о ситуации в саппорт написать. Пусть за вас думают, что делать, и пишут инструкцию по решению. Хотя, к сожалению, наверное, не станут.
1. Отчасти верно, но мы ведь не в вакууме живём, правда? Наверняка у каждого есть друг/знакомый/т.п. который может помочь.

2. Когда при проблемах с иной системой не кидают линки на доки (полагая, что человек умеет пользоваться поиском), то подобной реакции почему-то не наблюдаю. Чем этот случай так принципиально отличается?

3. Касательно точек восстановления в комментарии asm0dey, то, на мой взгляд, это проблема не Яндекса, что в вашей системе не создаются точки восстановления. Сам стал свидетелем краха системы из-за этого обновления на ноуте у подруги семьи. Так вот даже у неё, человека безумно далёкого от компов и безопасности, были регулярные точки восстановления.

4. «Зато извинения за «неудобства» приносят» — т.е. не надо было?

p.s. Как уже сказал, сам был свидетелем того, как пострадали из-за этого обновления, и мне пришлось разбираться с системой (см. первый пункт).
Однако, не могу не отметить оперативной реакции (я имею в виду фикс проблемы) Яндекса на всё это безобразие, а ошибки у всех случаются (в том же gmail/gdrive стабильно наблюдаю глюки и ошибки).
Уважаемые, я аргументировал свою точку зрения.
Пожалуйста, потрудитесь сделать то же самое, т.к. в этом случае печально наблюдать немые минусы.
Отчасти верно, но мы ведь не в вакууме живём, правда? Наверняка у каждого есть друг/знакомый/т.п. который может помочь.

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

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

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

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

p.s: не минусовал, но это просто Хабр, тут всегда так :) Ещё веселее когда комментарий плюсуют, а карму минусуют, к примеру я недавно писал коммент как починить пиратскую винду после апдейтов ядра, сломав при этом кривой кряк, думаю многие этот момент помнят — коммент заплюсовали, карму, что забавно примерно на столько же заминусовали, а в комментах тишина, я то надеялся, что тема разовьётся, и будут рассмотрены дополнения, но нет, просто тишина. Собственно это минус системы в которой можно ставить некий рейтинг без комментария, для примера — оценить фильм без рецензии нельзя, по крайней мере насколько мне это известно.
Я не перекладываю ответственность, просто пытаюсь найти решения в сложившейся ситуации. Я же не говорил, что Яндекс правильно сделал, что не давал ссылки на доки. На мой взгляд, вместо нытья, что злые дяди не сказали как восстановить систему, лучше подумать как решить сложившуюся проблему.

p.s. Сейчас у меня аналогичная ситуация (: Карму слили почти в ноль
Отчасти верно, но мы ведь не в вакууме живём, правда? Наверняка у каждого есть друг/знакомый/т.п. который может помочь.

Может помочь… Но например мне позвонили трое знакомых. Я был занят, сказал что перезвоню сегодня. Сегодня узнал о этой проблеме. Судя по описанию, у двух Windows не запускается. Тут я уже сразу сказал — быстрее поставить заново чем разбирать последствия, благо всех приучаю держать все данные на D. Можно и поковыряться, но мне в таком случае нужно выделять целый день на ковыряния, если не больше, чтобы разобраться со всеми глюками. Параллельно прикидываю что может быть еще пара-тройка звонков от других людей, если им прилетала 1.6 или 1.7, обычно они любят по проблемам под выходные звонить.

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

PS: Нет, я не минусовал
> прилетала 1.6 или 1.7
Не было таких, только 1.5 и 1.8.
Могу одолжить, в коллекцию :)
Значительная часть пользователей массового сервиса решить проблему самостоятельно, с помощью поиска не смогут. Кто-то в этом случае попросит помощи друзей, кому-то придётся за деньги вызывать «компьютерную помощь».

Когда пользователь виноват сам, а у компании нет времени помочь, да, пускай человек и разбирается сам. Когда виновата компания, её моральный долг, с моей точки зрения, сделать максимум, чтобы помочь решить проблему. Просто взять, извиниться и переложить всю полноту работы по исправлению ситуации на пользователя — некрасиво, с моей точки зрения.

Инструкция, как использовать точки восстановления, как переустановить Винду — всё это поможет многим сэкономить время, деньги и нервы. Пусть даже пояснение, что можно вызвать мастера (а многие не знают и этого), если решить проблему человек не может, уже поможет части пользователей.

Подробнее надо ответы писать, с реальной помощью, а не (только) с извинениями. Об этом речь.
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Не все. Я, например, не получил, хотя в логе есть записи об удалении C:\Users\ и C:\. Правда, по счастливому стечению обстоятельств мне повезло, и удаление файлов не было запланировано после перезагрузки.
Что-то после таких косяков и потерянного рабочего дня совсем не хочется пользоваться этим продуктом.
А по сути всего лишь ещё один пример того, что

— ошибки бывают у всех;
— нельзя забывать о безопасности хранения критической/важной информации.

Восстановил систему (лениво запустив автоматическое восстановление, которое продлилось порядка 20 минут), ни один важный документ не похерился. Наверное, я дам этому сервису ещё один шанс.
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Я мог потенциально пострадать, если бы поставил программу, но я ее не поставил, но тем не менее потенциально пострадать мог… Где мои 200 Гб?
Там же русским языком написано
> Все пользователи
Пользователем не являешься — не мог!
Шутка «нисмищная» :P
Да я пользователь :) На диске зарегистрирован, даже первый квест прошел по увеличению размера диска когда то.
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Горшочек, не вари :) Написали бы ответом к статье лучше. Автор статьи, будучи разумным человеком, это добавит в статью.
Там это уже есть, но видимо это незаметно ;)
С удовольствием обменял бы эти 200ГБ на работающую ОС и весь свой старый софт.
Удалил пару дней назад. Как знал!
Никогда не использовал. Как знал!
Это как рассказы: «Какое-то внутреннее предчувствие заставило меня не садится на этот самолёт»…
Вспомнился «Пункт назначения». Ваши файлы всё равно не выживут (по сценарию) :)
но есть лайфхак… через реанимацию их, вроде бы как и умерли но в итоге живые.
Удалить вручную, а потом восстановить, можно из корзины даже. Главное не перестараться, маленькими порциями удалять-восстанавливать.
У делита есть план… :-D
Только что закончил переустанавливать офис. Думал, проблема в каком-то обновлении от Microsoft, а оно оказывается вот в чем дело… Активация винды тоже слетела, плюс дрова на аудио и тачпад.
Не поставил Яндекс.Диск после переустановки системы. Лень — мой спаситель.
Меня видимо спасло то, что версия Windows 8.1… Честно говоря даже немного побледнел, читая эту новость.
Windows XP — проблем так же не возникло.
Знаете, я вот читаю эти комментарии «чудом спасшихся от этой катастрофы» и не могу понять.

Я выше уже написал, что был свидетелем того, как система пострадала от этого обновления. Всё восстановление заняло примерно 2-3 клика мышкой и 20 минут ожидания. В чём коллапс-то?
А время, которое было потрачено на восстановление, бесплатно?
Ваши 20 минут на восстановление, как вы писали выше, час Иванова, пара-тройка часов далекого от точек восстановления Петрова… Сколько часов было «украдено» в сумме у всех пользователей Диска?
Эм, объясните, почему при оценки катастрофичности ситуации в отношении одного конкретного человека (себя) надо учитывать общее потраченное время?
При оценке ситуации в отношении себя люди так и пишут — «Уфф, я потратил на восстановление 3 часа». Но в целом же видна тенденция — очень много человеко-часов, нервов потрачено. Т.е. это не такая вот плевая проблема в глобальном масштабе и в этом смысле это«коллапс». А тем кто не пользовался этим сервисом (не устанавливал приложение) очень повезло избежать такой ситуации — так почему бы и не порадоваться?

Вот вы выше говорите, что за помощью можно обратиться к знакомому. А «знакомый программист» чем провинился перед Яндексом? Почему он должен решать проблемы вызванные тем, что процесс разработки грубо нарушен? А сколько человек к нему придет и сколько его личного времени потребуется на «помочь»?
Вы не ответили на вопрос, но ладно. Я понял, что мы с вами мыслим в разных плоскостях. Вашу точку зрения понял, не согласен, но это уже неважно.
Саша, ну Вы вот молодец, используете системные точки восстановления. Все это уже поняли по постам выше. Если вы так этого хотите, повторю: МО-ЛО-ДЕЦ!

Теперь представьте себе, что системные точки восстановления — это совсем не та штука, которую рады видеть пользователи большинства компов, ноутов и ультрабуков с SSD. Если у меня 128 или даже 256 гигов — то терять на «точках восстановления» место совсем не хочется.

Теперь по поводу «катастрофы». Вот представьте: принесли вы домой, допустим, тостер. Нормальный такой тостер. Не лучше не хуже других. И если у этого тостера будет иногда хлеб подгорать, или парочку девайсов из партии закоротит — это не страшно. Но если ВСЕ тостеры поплавятся и устроят в домах пожары — это как-то уже нехорошо.

А потом выходит на сцену умный перец и говорит: «а чего вы тут истерику устроили? у меня тоже этот тостер был. но я его поставил на эбонитовый стол, поэтому тостер, да, сгорел, но никакого пожара у меня неееееебыло!»
Хех, вы гипербализируете ситуацию.

Если переходить на метафоры с тостером, то тостер не сплавился, а просто перестал жарить тосты (ибо железо компа не сгорает при слёте активации винды или даже её падении). И этот умник, о котором вы говорите, не на эбонитовый стол ставил свой тостер, а прочитал инструкцию, выдернул штекер из розетки и вставил обратно — и всё заработало. Где тут катастрофа опять же не вижу.

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

Задача тостера — делать тосты, как это ни удивительно. Решение этой задачи возложено на элементарную «физическую» базу и, как правило, какого-то софта лишено.

Задача компьютера — делать что-то, нужное пользователю: от «смотреть почту» и «играть в игрушки» до «принимать стратегические решения управления компанией» и «запускать корабли на МКС». И железо здесь — далеко не самое главное. Если не согласны с этим утверждением, то расскажите мне, что вы будете делать с самым нафаршированным девайсом с девственно чистым ЖД без возможности установить туда хотя бы ОСь. Разумеется, «ставить пароли на BIOS» и «играть напряжением проца и скоростью вращения вентиляторов» — это не те ответы, которые позволяют достичь каких-то целей пользователя, а потому не принимаются.

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

Теперь почему именно пожар, а не поломка. В пожаре исчезает три магнитофона, три кинокамеры заграничных, три портсигара отечественных.. то, что человек копил долгие годы. И поэтому удаление содержимого диска Цэ (где, напомню, у среднестатистического пользователя хранятся «Документы», «Музыка» и полное собрание сочинений Саши Грей) — это именно катастрофа, стихийное бедствие. Это гораздо хуже того, если бы, например, в компе навернулся проц, вышибло кондеры на матери и т.д. Железо — хрень. Информация — это ценно. Поэтому, увы, ситуация с Я.Диском — это пожар.

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

Поэтому точки восстановления — это именно эбонитовый стол. Неудобный, страшный, не всем подходящий, но от проблемы спасает, да…

И никто здесь особо не паникует, кстати. Возмущены раздолбайством крупной конторы — да! Сердятся на то, что им придется разгребать это дурно пахнущее — да! Проецируют ситуацию на себя и (со)переживают с точки зрения профессионалов — возможно. Но что-то криков «Аааа!!!1111 МЫ ВСЕ УМРЬОёёМММ!1111» — я тут не вижу.
И поэтому удаление содержимого диска Цэ

Вы заблуждаетесь. Удаления содержимого диска С не происходило, по крайней мере пользовательской инфы (системные данные, ясно, удалялись). Поэтому ваш пример всё равно неверен, как вы не выкручивайтесь. Увы, вы по прежнему преувеличиваете катастрофичность ситуации и переворачиваете всё верх дном.

(со)переживают с точки зрения профессионалов

Насмешили (((: Похохотал от души

«Лень — мой спаситель», «Уф, повезло», «Как знал» и т.п. Это вы называете сопереживанием с точки зрения профессионалов? ((:
Мда, тогда мне не жаль таких профессионалов.

Вернёмся к вашему невтемному тостеру:

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

«принимать стратегические решения управления компанией» и «запускать корабли на МКС»

На это я уже ответил: ответственность за безопасность критической для вас информации лежит на вас, а не на разработчиках каких-либо систем. Если вы держите «все яйца в одном месте», то, прошу прощения, лечить надо не Яндекс.
Дорогой Дедушка Мороз тролль!

1. Если ты внимательно прочитаешь основной текст статьи и приложенный скрин лога, то увидишь, что зачистке подвергался именно C: со всеми потрохами, включая профиль пользователя, где по дефолту у многих и лежит накопленное годами добро.

2. «Лень — мой спаситель», «Уф, повезло», «Как знал» — эти чудные комменты примерно равноудалены от сопереживания и истерики, не так ли?

3. К какому тостеру, простите? Повторю основной посыл еще раз: девайс (тостер/комп) сломался, параллельно утащив в могилу все вокруг. Сломался — это значит «перестал выполнять возложенные на него функции». Безотносительно программной или аппаратной части. Если считаете, что пример ввиду разного характера поломок некорректен, то спросите знакомого электрика, что для него проще: воскресить тостер или восстановить работоспособность винды и unerase-ить файлы.

4. Без проблем — квартира тоже вполне страхабельна (и от пожара в т.ч.). Но это совершенно параллельно тому факту, что производители таких тостеров — редкостные редиски.

Удачного дня!
Дорогой, тролль!
1. Тыкать будете своим детям. Хотя понимаю, что воспитанность — не ваш конёк.

2. Если вы внимательно прочитаете, то я сам был свидетелем возникшей проблемы и удаления личных данных не было. Поэтому можете ссылаться на что хотите — факты, увы, против вас.

3. «примерно равноудалены от сопереживания » — про сопереживание это вы придумали, зачем это приплетать к моим словам? Ах да, это важе ваша фишка. Извините, забыл.
«Лень — мой спаситель» — подразумевает, что это настоящее спасение. Спасение бывает от чего? Ну и продолжите дальше сами, пожалуйста, если выберетесь из своего танка.

4. Вы даже не троль, вы урук-тролль. Комп не ломался — ломалась часть функционала софта. Причём тут ваши железки и электрик?

5. Чего тогда ныть?

И вам всего наилучшего (:

p.s. Не забудьте заминусовать комментарий, жаль, карму уже не сможете.
Но мне всё равно, респнуть карму — раз плюнуть. Поэтому минусуйте в удовольствие (((=
Кстати, вы выдумываете факты, т.к. я не писал, что использую точки восстановления.
Какой вы обидчивый. Но внимательно почитайте. Я писал, что у подруги семьи проблема и точки восстановления были у неё — не у меня.
Порадовался, что убрал его из автозагрузки, так как он просто зависал в процессе «Обработки данных», если запускать его не от имени администратора в Windows 8.1. При том, что другие облачные файлохранилки работают нормально и без таковых.
На линуксе тоже замечал подвисания при запуске (а запуск его прописан куда-то в ~/.profile, поэтому запускался он на каждой новой вкладке терминала)
У меня встроился в рутовый профиль и поэтому подписал после ввода sudo, что первое время заставляло думать о правильности ввода пароля
Windows 7, гугл-драйв периодически вообще не может запуститься.
Так вот кто съел все активации за последние 2 дня на компах знакомых и друзей
Проблема, как раз таки, в анинсталлере.
Это было его последнее сообщение.
упс!)) но нет, вроде обошлось))
перезагрузите компьютер )
Потрясающе. У меня сегодня Win 8.1 при запуске выдала черный экран и мерцала белым рандомно. Уже злился на NVIDIA, что опять совместимость никакая и всё сломали. Благо точка восстановления была под рукой. Медиаплеер теперь пишет ошибку DirectX. Steam не работает. Половина программ не запускается. Лог удаления на несколько тысяч строк.
Спасибо Яндексу )
А если ЯД мне систему не грохнул — уже можно не волноваться?

Не понимаю зачем было пилить свой убер-апдейтер, а не воспользоваться возможностями msi, например.
У MSI, InnoSetup и NSIS есть фатальный недостаток. Сделано не Яндексом. А вдруг там ошибки? Вдруг они при анинсталле системную папку удалят?
Кстати, а разве в MSI появилась адекватная система скриптов? Чтобы не просто скопировать в Program Files\%ProductName%, а, к примеру, обнаружить какие-то параметры в системе и в зависимости от них менять параметры инсталляции?
Вот в NSIS такое есть, да.
Вообще там вплоть до вызова произвольного кода же.
Все делают ошибки. Майкрософт вон тоже многим драйвер вайфая убивала своим обновлением на 8.1
Все делают ошибки. Но те кто их не хочет делать проводит автоматизированные тесты. Тем более во времена доступной виртуализации. Ошибка из разряда «Х*як-х*як и в продакшен».
Что-то я сомневаюсь, что этот кейс можно было бы автотестом выловить. Удаление предыдущей установки? Да, все что нужно удалилось. Тест пройден.

Здесь ручное тестирование недоглядело.
Что-то я сомневаюсь, что этот кейс можно было бы автотестом выловить.

RLY? В тест сьюте выполняются действия в том, числе установка, базовые действия, удаление и так далее. После чего проводится проверка, не остается ли где мусор (при той же установке и удалении), с правильными ли привилегиями создаются файлы. Отслеживать все действия процесса вполне реально. Это простейшее, внешнее init тестирование поведения, а если сюда прибавить еще black-box тестирование, будет вообще прекрасно. Если в Яндексе, каждая сборка реально просто тестируется людьми «на глаз», лучше наверное вообще их продукты не использовать.
Можно. Я делал автоматизированные тесты — снапшот диска в песочнице, запуск инсталлятора, снова снапшот диска, сравнение что поставилось только то что ожидается, запуск анинсталла, снапшот диска, сравнение что удалилось только то, что ожидается.

Но для таких фокусов нужны продвинутые технологии — в частности, генерация инсталлятора и тестов из одного мета-описания :).
генерация инсталлятора и тестов из одного мета-описания
А если ошибка в этом описании? Ваш тест регулярно проверяет не работу человека а запрограммированную работу этих генераторов. Не?
Ошибку в описании выявит ручное тестирование, когда собранный инсталлятор не будет работать. Ценность генерации тестов и инсталлятора из одного мета описания не в том, что «ошибок меньше» — а в том, что тесты есть. Потому что писать ручные тесты что все правильно поставилось — это некий объем работы. Как показывает практика, эту работу даже Яндекс делать не хочет — потому что скучно, неинтересно и вообще неинновационно.

Ошибиться можно где угодно, поэтому используют разнообразные тесты, перекрывающие друг друга.
Ценность генерации тестов и инсталлятора из одного мета описания не в том, что «ошибок меньше» — а в том, что тесты есть
Это очень странное заявление, если честно.
Ну какое есть. Я университетов по тестированию ПО не оканчивал, опыт у меня небольшой — пять лет руководил отделом разработки, инсталляторами занимался лет десять, не больше.

По моему скромному, не профессиональному мнению, если есть две ситуации:

1. Инсталлятор написан на WiX/InnoSetup/NSIS, шанс ошибки A (например 5%), ручное тестирование основных функций, но полностьюю все тестировать каждый релиз экономически нецелесообразно.
2. Инсталлятор написан на DSL (по вкусу), из которого генерируется WiX/InnoSetup/NSIS, шанс ошибки B (например, те же 5%. Хотя на практике он будет ниже, потому как DSL описывает предметную область и в нем гораздо меньше текста). Из этого же DSL генерируются атоматические тесты, которые проверяют факт установки/удаления. Автоматические тест выполняются при пуше и никому не мешают. Соответственно, если ошибка в составе файлов в DSL — то автотесты ее не найдут (остальные ошбки — найдут). Ручное тестирование такое же, как в первое случае.

По мне — вторая ситуация намного предпочтительнее. Потому как ошибку состава файлов, которую не ловит автосгенеренный автотест, и так поймает ручной тест — программа не будет работать. Зато автотест можно запускать на всех версиях всех операционнок, в ситуациях цейнота памяти/диска, с генерацией типичных ошибок, с локом файло и так далее. То есть в автотесты складируется и применяется накопленный опыт тестировщиков. И при этом все тесты будут прогонятся каждый раз перед релизом — никакая компания не сможет себе позволить такой объем тестов классическим способом ручного тестирования и такое покрытие по ошибкам.

Выбирая между «ттестов нет» и «тесты есть автоматически, но один из типов ошибки они не поймают» я всегда выбираю второй вариант — потому как они остальные типы ошибок поймают. Позиция «мы не будем улучать систему, потому что улучшение неидеально» мне всегда была чужда ^_^. Но я ее часто встречал.
Выбирая между «ттестов нет» и «тесты есть автоматически, но один из типов ошибки они не поймают»
А я и не предлагаю от тестов отказываться.
В тестировании дистрибутива у нас такой есть опыт:
1. Есть описание ожидаемого содержимого дистриба в виде иерархии имен папок и файлов (кое-где с версиями).
2. Развернутый автоматически на тестовой машине дистриб сверяется с этим списком на совпадение.
Все просто, как видите.

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

PS: странное заявление — «ценность тестов — в том что они есть». Тесты не могут быть самоцелью, я считаю.
Да, тут есть двойная ручная работа — сначала описать содержимое в проекте инсталлера, а потом то же самое — для теста. Но двойная работа резко понижает возможность ошибиться дважды одинаково.


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

А вот генерация всегда инсталлятора и тестов из мета описания дает еще плюшек:
* резко упрощается содержательный код инсталлятора и упрощается создание новых инсталляторов.
* резко увеличивается повторное использование кода — мы один раз проходим по всем граблям «установить и удалить сервис», после чего все эти грабли оседают в кодогенераторе, а в инсталляторах сервис — одной стрчкой. И когда мы делаем новый инсталлятора — он автоматически всасывает весь наш многолетний опыт по разработке.
* Тесты по мета описанию тестируют не только файлы как таковые, но вообще все элементы, которые мы этим описанием задаем. Описан у нас в инсталяторе сервис — сгенерированный тест проверяет, что при установке этот сервис ставится, а при удалении — удаляется.
* Ну и еще много по мелочи.

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

Мы для похожих целей покупали недешевый проприетарный кроссплатформенный InstallBuilder, который строго говоря оказался довольно далек от идеала. Правда выяснилось это не сразу.
Это запланировано на один из будующих докладов или статью на хабре, пока не решил. Тема очень сложная, пока не готов. На ближайшем Moscow Django я буду про комментирование исходников читать — это тоже интересно, приползайте. Будет пицца и приямая трансляция: moscowdjango.ru/meetup/16/
Учитывая апдейт статьи, думаю, это не тот разряд.
Объясните мне, КАК?! можно написать код удаления старых файлов таким образом, чтобы удалить все файлы на системном разделе?
Это чья-то диверсия или что?
Лет 10 назад писал свой инсталлятор-деинсталлятор. Была написана функция рекурсивного удаления каталога и всех его подкалогов. При тестировании почему-то подался аргумент «C:\» (почему — уж не помню за давностью лет), в результате я только через минуту интенсивного шуршания винта понял, что «что-то пошло не так», и успел сделать ресет. К счастью, удалились только файлы виндов, до рабочих не дошло. В качестве фикса в функции был прошит запрет очищать пути вида «X:\».
P.S. В Яндексе не работал, деинсталлятор не мой.
Какая-то рекурсивная функция, видимо, пошла не туда. Я так как-то себе самописную cms снес. Мне лет 16 было.
И теперь мы вынуждены мучаться с Битриксом. А всё могло быть иначе.
Мучались бы с другой CMS?
Очень просто — инсталлер пишет лог действий, а деинсталятор отменяет их в обратном порядке.
Как создать папку C:\Users\username\AppData\чтототам? Очень просто! Надо создать сначала папку C:\ (на всякий случай), потом — C:\Users\, c:\Users\username и т. д.
Вот деинсталлятор и удалил их все, в обратном порядке…
Листинг директории содержит ссылку на саму директорию и на директорию уровнем выше. Что не было исключено. Ошибка новичка.
Судя по логу — ошибка была не в двух точках. Рекурсивное удаление директории было явно вызвано несколько раз, и само по себе ошибки не содержало.
После удаления софта такими деинсталляторами в системе остаются кучи мусора и приходится подчищать вручную. Что мешает просто удалить папку с программой и папку пользовательских данных в AppData?
Очевидно, тут сильно мешает положение рук разработчика (де)инсталлятора.
пользуюсь по максимуму такими ресурсами (почта, диск) через браузер, нет лишнего софта, лишних проблем, с наглым без спроса обновлением…
Аналогично. Посносил везде гуглодиски, после того как протерялись почти все документы из-за ошибки синхронизации.
Я думаю мы все простим это Яндексу и надеюсь, что всё это только к лучшему
Больше Браузера и Яндекс.Бара это уже переполнило чашу терпения.
С такой логикой «что все это только к лучшему» вы видимо и Guard@Mail.Ru прощаете?
Не в этом дело, просто я оптимист. Никак не могу избавиться от этого.
И под «этим» Вы имеете в виду Guard@Mail.Ru?
Вспомнилась ситуация с апдейтом Phantasy Star Online 2, когда тоже удалялась информация.
А по теме — с некоторого времени всегда регулярно делаю полные бэкапы системы с установленным и настроенным рабочим окружением и сохраняю их на внешние HDD. Очень полезно на случай рискованного софта, который может вот так все может вайпнуть или еще как-то навредить. И в отличии от обычных точек восстановления, работает всегда и на 100%.
А ещё EVE Online удаляла boot.ini при переходе с классического клиента на премиум.
Присоединяюсь. Всегда после установки системы и дров делаю бэкап раздела. Даже если всё упадёт то поставить софт дело пары часов.
Все конфиги и текущие проекты держу в облаке, а архивные файлы бэкапятся по пятницам на внешний винт. Даже придумал «пятницу бэкапницу» дабы не забывать.
(с сердечной теплотой смотрит на иконку дропбокса)
С этими тоже скандалы были
/me смотрит на MacBook Air. А затем — смотрит на Time Capsule и на отдельный диск для Carbon Copy Cloner'а
вот почему у MS до сих пор нет _встроенного в ось_ аналога эппловской Time Machine?(включая интеграцию в установщик системы).

Я не сильный знаток Time Machine, но система создания образов (Архивация) в Win 8, точки восстановления, SkyDrive-плюшки и прочее это не аналог?
«Архивация» делает некий огромный файл (гигов на 80 было, как помнится) + ещё файлы к нему, к которым не знаешь с какой стороны подступиться и что делать для восстановления системы (хотя догадываюсь – вроде в «восстановлении системы» есть соотвествующий пункт при загрузке с диска или в режиме восстановления) или для восстановления лишь нескольких файлов/папок. В макоси же любой бекап – тупо полный дубликат всего системного диска на каждую дату бекапа (жёсткие ссылки + новые изменения), всегда можно посмотреть/взять нужную папку/файл. Разница в удобстве пользования даже для разбирающихся людей колоссальная, не говоря уж об «уверенных пользователях пк».
Ситуация жестокая. У меня есть я.диск, но комп я сегодня не выключал, обновление наверняка и мне пришло, если комп выключу, то завтра мне не придет кирдык (у меня windows 8.1)?

Блин если это все переустанавливать, одна win 8.1 ставится чертову кучу времени, а еще куча софта по работе, хорошо хоть я бекаплю все конфиги.
Посмотрите лог яндекс диска
НО КАК??? Как операционная система позволяет какому-то стороннему приложению себя удалять? Задумайтесь на минуточку — УДАЛЯТЬ!

Неужели нельзя поставить какую-то элементарную защиту, чтобы системные файлы мог удалять только тот софт, который их туда записал или же сама система?
Можно, но тогда и пользователь не сможет удалить операционку, собственно наверное этого микрософт и добивается.
Сначала хочется, чтоб софт мог трогать только свои файлы. Потом — чтобы софт ставился централизованно. Потом захочется разрешать зависимости от библиотек, чтобы не было dll hell'а…

Так недолго и до пакетных менеджеров докатиться.
Так недолго и до пакетных менеджеров докатиться.

Так говорите, будто это что-то плохое :)
Это плохо в том случае, если это единственный способ установки софта, как в той-же iOS например)
Не испытываю с этим способом никаких проблем (Archlinux).
Это плохо только в том случае, если пакеты нельзя создавать самому.
А потом на системе где приложения будут изолированны начнутся стоны — закрытая система, дайте даступ к файлам…
У нас свободная страна, хотите удалять — удаляйте.
Первый раз ваш коммент прочитался как «какому-то сраному приложению». Подумалось — вот и Жириновский на хабре.
Потому что инсталлятор запрашивает Elevation. В котором написано «Инсталлятор хочет полный доступ к системе. Вы доверяете компании Яндекс? Да/Нет». Ну а дальше пользователю решать.
Лично мне больше всего не хватает в таких ситуациях кнопки «не давать ему привилегий, но все равно запустить».
Почему сразу «посмеяться»? Просто иногда я знаю, что для запуска программы ей не нужны привилегии. Например, потому что я ее установил себе в профиль, а не в Program Files. Или на диск D. Или привилегии ей нужны, чтобы обновиться — а я совершенно точно знаю, что свежего обновления нет, так как я обновился минуту назад, а сейчас просто хочу запустить программу.

Почему-то еще режим совместимости с Windows XP SP3 требует повышенных привилегий на семерке, хотя на том же Windows XP SP3 программа спокойно работала из-под ограниченного пользователя…
Ну, насколько я себе представляю внутренние механизмы всего этого, где-то глубоко в программе в какой-то момент запускается функция, которая рассчитывает на то, что нужные права программе предоставлены. А тут раз — и внезапно не предоставлены, и функция кидает какое-нибудь исключение (особенно если это из сторонней библиотеки, написанной не авторами программы), или возвращает левое значение, или делает еще что-нибудь подобное. Поскольку авторами программы ожидалось (вполне обоснованно, в общем-то), что пользователь дал программе нужные права перед ее запуском, такое поведение вряд ли ими было предусмотрено. Как следствие, с большой вероятностью получим падение программы, или диалоговое окно с эксепшеном и программу в таком состоянии, что ее придется перезапускать, или еще что-то в этом духе.

Безусловно, если ввести то, что вы предлагаете, авторы программ начнут учитывать, что, возможно, при запуске программа не получила нужных прав, и корректно обрабатывать эти ситуации (выдавать диалоговое окно «Не удалось сделать то-то, потому что вы запустили программу с недостаточными правами», например). Но представляете, какое количество старого софта поломается в этих условиях? И в этом даже не вина авторов этих программ — они их писали в условиях, когда сам факт того, что программа запущена и работает, означало, что пользователь выдал ей определенные права (потому что единственной альтернативой было не запускать программу вообще).
Чем то напоминает предложения ввести в андроид функционал «поставить приложение но доступа к контактам/камере/gps/etc» — не давать…
с другой стороны — в iOS запрос доступа приложения к GPS/камере/etc — всегда дает вариант «нет не дать права»… вот только на мало что он выдается.
На самом деле такой режим есть: Установить переменную среды __COMPAT_LAYER перед запуском, после чего запрос на повышение или не появится, или на него можно нажимать «нет», и приложение будет запущено. Вот vbscript, например:
Set WshShell = CreateObject("WScript.Shell")
Set env = WshShell.Environment("PROCESS")
env. Item("__COMPAT_LAYER") = "RunAsInvoker"
WshShell.Run("target.exe")
Ох, боюсь предположить, как вы об этом узнали…
Так же и из пакетного файла можно под админом приложение запустить!
Ну, просто не только у вас возникало желание «не давать ему привилегий, но все равно запустить». Ну я и погуглил. А от админа, вроде, не получится запустить.
RunAsAdmin же. Только вот в пакетных файлах не работает оно почему-то. Видимо, опять надо какой-нибудь ShellExecute вместо CreateProcess использовать.
В посте так и сказано:
Ошибка проявлялась в некоторых случаях, в основном у пользователей, которые использовали приложение для Windows под учетной записью «Администратор» или установили его в систему для всех пользователей.
Очень просто. Есть привилегированные аккаунты вроде SYSTEM, которые могут всё.
Есть UAC, который спрашивает пользователя, разрешает ли он провести одно привелегированное действие.
Есть любители всё делать через одно место.
Некоторые программы (Java, Я.Диск и многие другие), которые при установке ставят специальный сервис, который запускается под учётной записью SYSTEM (или другой, обладающей всеми правами). После того, как Вы один раз любезно разрешили программе делать всё, что угодно, она добавляет системный сервис и больше не нуждается в Вашем одобрении её действий. Делает всё сама.
После того, как Вы один раз любезно разрешили программе делать всё, что угодно

И какие могут быть потом претензии? :)
После первого же обновления Яндекс Диска, когда он недолго думая ради своих целей убил процесс Explorer'а, снёс сие творение без сожалений.
У меня и Dropbox при установке клиента убивает Explorer. И раз в несколько дней потом также при работе…
При установке уже и не вспомню.
А вот в процессе работы Dropbox'а на двух машинах не наблюдал такого ни разу.
Это у Вас какой то особый кровожадный дропбокс.
Убийство explorer'а используется для того, чтобы оный выгрузил старые и подцепил новые библиотеки. Хотя я не говорю, что убывать оболочку без предупреждения — это хорошо.
Да я понимаю.

Но это всё равно что молча перезагрузить машину.
Запредельное нахальство мелкой программы.
Это всего-лишь оболочка, тем более она не убивается, а перезапускается. Все остальные программы продолжают работать даже при её полном закрытии. И это не то же самое, что и закрытие или убиение всех программ и перезагрузка машины — совсем не то же!
Оболочка — рабочий инструмент пользователя.
Открыты необходимые директории, идёт работа.
И тут какая-то мелкая утилита, дело которой сидеть и молча синхронизировать файлы, решает, что ей срочно нужно оболочку убить, дабы обновиться.

Пусть убивает разработчикам, не мне.
> Оболочка — рабочий инструмент пользователя.
И многие ли пользователи работают именно с оболочкой? Разве что для работы с копированием файлов/папок, например и то, оно запускается в отдельном процессе.
Оболочка не убъётся, если что-то выполняется, только по завершении операции, то есть когда она перестанет использоваться.
И многие ли пользователи работают именно с оболочкой?

Работаю я.
Для меня это очень весомая доля среди пользователей.

Оболочка не убъётся, если что-то выполняется, только по завершении операции, то есть когда она перестанет использоваться.

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

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

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

Занятый эксплорер не убьётся.

«Занятый» в данном случае — это открытый, ибо занят он мной.
А десяток открытых директорий сердечно мне дорог.

Подобной программе нельзя вмешиваться в рабочий процесс пользователя и точка.
Максимум — спросить.
Убивается безропотно. Если вы его не завершаете как приложение, а убиваете как процесс.
Не все. Часть падает с ошибками от такой внезапности. При этом вместе с повторным запуском оболочки пускаются и все прописанные в автостарт приложения, при том, что эти сервисы уже запущены. Тут падает ещё часть приложений. А уж про тормоза в процессе — я промолчу.
А файловые операции (копирование/перемещение/удаление) ведь в том же процессе идут (если не стоит «запускать проводник в отдельном процеесе» или как там), или нет?
Кстати в том же. При копировании новых процессов не создаётся. А есть ещё и запись оптических дисков. Как она работает, правда, хз — никогда не пользовался встроенной.
Запись образов это isoburn.exe, а вот запись после перетаскивания на опический диск — не пользовался
Вод ведь странно. Как раз 30 числа решил поставить порцию апдейтов для Win7 — комп превратился в кирпич (типа «Не удалось запустить компьютер Средство восстановления запуска проводит диагностику системы») Ещё один раз переустановил систему, поставил опять в т.ч. яндекс диск и апдейты. Ставил мааленькими порциями, чтобы не пропустить вредный апдейт, гуглил номера подозрительных апдейтов… На последней порции — опять кирпич.

Пришлось купить винду. Яндекс диск поленился ставить после этого.

Спасибо яндексу за это?
За такую проблему, которая нанесла такой ущерб стольким пользователям — такая отписка?

Яндекс такой Яндекс…
Пусть не обижаются, что «как пинговать — так яндекс, а как искать — так гугл». Справедливо. =)
Может подкинут пару лишних Гб за это?)
Ну, при наличии большого рынка подобных программ, я в дальнейшем остерегусь использовать продукты Яндекса.
Только боюсь «Пару лишних Гб» если и будет, то только тем кто пользовался ЯДом за эти дни (если будет).
А тем, кто не пользовался, но разбирался с этой проблемой у кучи своих знакомых (мысленно пробегаю, кто мне еще из знакомых не позвонил из потенциальных пользователей ЯДа) будет фигушки, а надо бы пару лишних десятков Гб и снятие ограничения по размеру одного фала при использовании WebDAV и браузера (никогда не любил идеологию SkyDrive, ЯД, и т.д., когда локально получается полная копия облака, мне проще видеть как обычный FTP/...)
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
А попробуйте поставить себя на место Яндекса. Как бы Вы поступили, попав в подобную ситуацию?
Со стороны советовать проще, поэтому попробую: создать аварийный раздел с описанием возникшей ситуации, инструкциями в помощь для понимания и восстановления, обеспечить саппорт пострадавшим. Давать в форумах в соответствующих темах ссылки на этот раздел, дать возможность находить через поисковик по соответствующим ключевикам, а не пытаться замять. Извинения может кому-то и нужны, но пользы от них нет, поэтому смысла в них не вижу.
Вот такую реакцию лично я бы воспринял нормально. Сужу по себе, я достаточно позитивно воспринимаю сервисы Яндекса и стараюсь ими пользоваться, просто потому что я неоднократно обращался в их саппорт и за исключением первого случая получал адекватную помощь. Минимизировать последствия это важно.
Извинения обязательны, причём на сайте. И там же — да, согласен, нужны рекомендации, инструкции и ссылки на утилиты по разгребанию последствий и предотвращению проблем. Пока этого не вижу.
Я так понимаю Яндекс ждет пока уляжется, и отмалчивается. Рядовой пользователь не поймет даже что произошло и подумает на вирус который пропустил антивирь. А это как раз на руку Яндексу ибо если это дойдет до корпоративного сектора, доверие будет потеряно на несколько лет.
Яндексу, конечно, всё равно, но не могу считать такую политику правильной. Полученный опыт можно преподнести даже как плюс себе, в т. ч. в корпоративной среде: лучше идти туда, где уже испытали проблемы и предприняли быстрые шаги, чем туда, где этот список девственно чист. Но для этого надо оперативно признать свои ошибки и организовать помощь пострадавшим.
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Проблема в том что по вашей вине я проковырялся сегодня целый день с 2-мя компами и при этом я «как бы не пострадал». Спасибо за испорченный рабочий день, который пришлось потратить на свои нужды.
Да, обидно где-то в этом моменте. На все пострадавшие аккаунты накинули по 200ГБ, но это аккаунты коллег, родственников и знакомых. А то, что это ты пару-тройку ночей не спал, не считается, доказательств-то нет.
Нет, все верно. родственники-коллеги-знакомые пострадали и наняли вас для разгребания проблем, так что спрашивать надо именно с них а не с яндекса.
Это страница в блоге. В разделе помощи и на странице самого Яндекс Диска никаких ссылок на неё нет.
Там нет точного описания признаков, того что именно происходит в системе при удалении сбойной версии, как и что удалилось, а это нужно для понимания и восстановления системы. Когда windows не запустилась, по этому тексту пользователь даже не поймет его ли это был случай. Всю информацию сейчас люди берут с технических форумов, а Яндекс трусливо спрятался за этой невнятной отпиской. Я лично воспринимаю это как пример недостойного поведения некоторых их сотрудников. И не понимаю причин такого поведения, ведь и замять им не удалось ничего, и пользователей своей программы они этой отпиской от ухода не спасут, и репутацию подмочили не меньше чем самим произошедшим сбоем.
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Офигеть! с 16 часов занимаюсь по удаленке восстановлением слетевшей активации и системных файлов. Только только закончил! Офис переставляю! Часов 5 убил на восстановление работы через посредника, чтобы поднять тимвьювер только. Жесть какая то!
требую 100 гигов за физический вред!)
Что бы ЕЩЕ больше файлов им доверить и пользоваться ЕЩЕ плотнее :)
Это как, производитель, ваша машина меня поколечила из-за брака в производства! Требую две такие машины в качестве компенсации!
100 гигов — ну и загнули! На яхе 1 террабайт дают бесплатно и без повреждения системы )
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Объявление. В крупную IT компанию срочно требуется руководитель отдела тестирования дистрибутивов. Опыт работы — обязателен.
«в этот раз опыт работы обязателен», бгг
График работы — год через три.
Меняем одного битого руководителя отдела тестирования на двух небитых.
Меняем однобитового руководителя отдела тестирования на двухбитового.
… требуется руководитель новосозданного отдела тестирования…
UFO just landed and posted this here
Пол года назад проходили курсы по траблшутингу Exchange 2013 с тичером из MS, поначалу шарили файлы через SkyDrive. Но потом решили, что нервы дороже и уже дальше использовали ЯД. Если сейчас SkyDrive исправился, то я рад.
>траблшутингу
>тичером

/o
SkyDrive в Windows 8.1 работает только как Metro-приложение и только если входить под live-аккаунтом в систему. Так что снес и поставил Google drive
Не, он работает примерно так же, как и в 8.
Приложения нет, да. Есть просто папка в эксплорере.
А я-то думала, что у меня с вордом. Руки за такое отрывать нужно.(
н-да. у меня не активация слетела, а просто профиль пользователя пересоздался в папке documents and settings. Тоже не шибко много радости детишкам я.диск принес.
Как прикладная программа запущенная от имени пользователя смогла изменять/удалять системные файлы? В Windows вообще нет разделения прав, как в *nix системах? Или пользователь — root по умолчанию и имеет полные права в системе? Как же тогда вообще безопасность? В голове не укладывается, честно говоря.

P.S. Ох и полетят сейчас головы в Яндексе…
А вы подумайте сами. Сервис обновления с повышенными правами всё почикал. У сервисов права system как раз.
Зачем ему это? Ему же надо обновлять свои файлы, а не системные, нет?
Может в реестр захочет залезть, поиск на Яндекс поменять, например.
эээ, тогда тем более нельзя давать ей права
Всё, понял. С утра немного плохо соображаю. Действительно печально что каждой программе приходится городить свой костыль для обновлений.
Хотя если программа ставится в юзерспейс пользователя, то для ее обновления ей не нужны максимальные права. В общем, что-то тут со всей концепцией не так.
Конечно не должна, но ведь многие разработчики считают себя умнее пользователя и разработчиков ОС. У Яндекса есть же приснопамятный Бар.
У них изначально с концепцией инсталяторов было не так и не только в этом продукте. Я писал им замечание когда они скачивали апдейт в temp-каталог и запускали из него, что неприемлемо для массовых продуктов.
* давно не проверял, но подозреваю что их апдейтеры и сейчас продолжают так делать.
Доступ на запись в этот каталог и к файлам апдейта имеют другие процессы, а запуск осуществляется с повышенными привилегиями запрос на которые идет от доверенного процесса. И темп-каталог может быть общим для разных пользователей. Лишняя дыра в безопасности.
Да, в /tmp хоть sticky-bit есть, который добавляет разграничение по пользователям.

Т. е. файл в /tmp добавить может каждый. Но писать — только владелец (при стандартном umask).
MS использует ACL на дисках ntfs. И там есть владелец файла и там права разграничиваются еще более гибко.
Проблемы нет, о которой говорит [aplic], если у него там, не FAT, конечно.
Эти права конечно можно и назначать, но кто этим будет заниматься, если «проблемы нет»? Так же и в яндексе скорее всего посчитали «проблемы нет, можно назначить права» и просто выкинули это замечание. А проблема на самом деле есть и очень активно эксплуатируется зловредами, спросите наверное любого антивирусника сколько процентов зловредов пишут вредоносный код в темп-каталог. Я не специалист по безопасности но и у меня было два заражения через темп-каталог просто когда я серфил по сети, это видимо были те дыры в java которые потом закрыли.
* Я вот чего-то не понимаю. Это же вроде бы уязвимость. То есть Яндекс по хорошему должен прислушиваться к таким сообщениям, а то и материально вознагрждать за обнаружение. Но вот сколько я не писал об этом, обнаруживается тотальное непонимание, неприятие. Им там безопасность не нужна?
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Сервисы в WINDOWS по-умолчанию работают из под пользователя SYSTEM, если я все правильно помню. А ЯД работает вроде как именно сервисом, который в случае обновления, качает апдейт, сносит старое, вкатывает новое
От LocalService они работают же. Но смысл тот же.
В линуксах по умолчанию сервисы тоже от рута работают.
«В линуксах» не нужны сервисы обновления. Есть пакетный менеджер для централизованного обновления.
Насчет демонов не совсем так. Они могут работать от рута, но в подавляющем большинстве работают от своего непривилегированного пользователя. Как раз затем, чтобы в случае собственного сбоя (или в случае получения к процессу доступа злоумышленником) не напортачить сильно в системе.
Ох, кому-то надо освежить знания.
Правда что ли?
Скрытый текст
mysql     1338  0.5  6.3 323688 198448 ?       Ssl  Apr16 1972:48 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --pid-file=/var/run/mysqld/
postgres  1390  0.0  0.0  43500   688 ?        Ss   Apr16   1:05 /usr/lib/postgresql-9.1/bin/postgres -D /etc/postgresql-9.1/ --data-directory=/var/lib/postgresql/9.1/data --silent-mod
postgres  1392  0.0  0.8  43500 26720 ?        Ss   Apr16  63:58 postgres: writer process                                                                                               
postgres  1393  0.0  0.0  43500  1128 ?        Ss   Apr16  52:38 postgres: wal writer process                                                                                           
postgres  1394  0.0  0.0  44060  1384 ?        Ss   Apr16  11:01 postgres: autovacuum launcher process                                                                                 
postgres  1395  0.0  0.0  13844   488 ?        Ss   Apr16   9:34 postgres: stats collector process                                                                                     
proftpd   1617  0.0  0.0  10728   636 ?        Ss   Apr16   5:34 proftpd: (accepting connections)
merlin    1695  0.0  0.0  20716   640 ?        S    Apr16  14:17 1 autoconfig uWSGI master
hardworm  1705  0.0  0.0  20708   520 ?        S    Apr16  14:13 1 messaging uWSGI master
jabber   11952  0.0  0.0   1812   224 ?        S    Jul16   1:42 /usr/lib/erlang/erts-5.7.5/bin/epmd -daemon
drwcs    12531  0.1 19.9 1206888 620816 ?      Ssl  Sep19 115:11 /opt/drwcs/bin/drwcsd-unsafe -home=/opt/drwcs -var-root=/var/opt/drwcs -etc=/var/opt/drwcs/etc -rotate=10,10m -verbosit
postgres 12586  0.0  0.9  46452 31064 ?        Ss   Sep19   2:55 postgres: drwcs drwcs 127.0.0.1(33261) idle                                                                           
postgres 12587  0.0  0.9  47360 31144 ?        Ss   Sep19   3:01 postgres: drwcs drwcs 127.0.0.1(33262) idle                                                                           
postgres 12588  0.0  0.9  46536 31148 ?        Ss   Sep19   1:34 postgres: drwcs drwcs 127.0.0.1(33263) idle                                                                           
postgres 12589  0.0  1.0  47288 31416 ?        Ss   Sep19   1:56 postgres: drwcs drwcs 127.0.0.1(33264) idle                                                                           
postgres 12590  0.0  1.0  46748 31280 ?        Ss   Sep19   3:20 postgres: drwcs drwcs 127.0.0.1(33265) idle                                                                           
postgres 12591  0.0  1.0  46764 31284 ?        Ss   Sep19   2:35 postgres: drwcs drwcs 127.0.0.1(33266) idle                                                                           
postgres 12592  0.0  0.9  46596 29616 ?        Ss   Sep19   1:24 postgres: drwcs drwcs 127.0.0.1(33267) idle                                                                           
postgres 12593  0.0  0.9  46332 30412 ?        Ss   Sep19   1:02 postgres: drwcs drwcs 127.0.0.1(33268) idle                                                                           
postgres 12594  0.0  0.9  46336 30304 ?        Ss   Sep19   0:14 postgres: drwcs drwcs 127.0.0.1(33269) idle                                                                           
postgres 12595  0.0  0.9  46312 30752 ?        Ss   Sep19   0:48 postgres: drwcs drwcs 127.0.0.1(33270) idle                                                                           
ldap     12916  0.0  0.3 235968 10264 ?        Ssl  May27 253:48 /usr/lib/openldap/slapd -u ldap -g ldap
clamav   22620  0.0  6.8 241968 214356 ?       SNsl Apr24 114:05 /usr/sbin/clamd
clamav   22627  0.0  0.0  13160  1384 ?        SNs  Apr24  71:18 /usr/bin/freshclam -d
zabbix   31773  0.0  0.0   2888   460 ?        SN   Jul12   0:00 /usr/sbin/zabbix_agentd
zabbix   31775  0.0  0.0   2888   784 ?        SN   Jul12  35:47 /usr/sbin/zabbix_agentd
zabbix   31776  0.0  0.0   3128   968 ?        SN   Jul12   4:11 /usr/sbin/zabbix_agentd
zabbix   31777  0.0  0.0   3128   968 ?        SN   Jul12   4:03 /usr/sbin/zabbix_agentd
zabbix   31778  0.0  0.0   3128   972 ?        SN   Jul12   4:08 /usr/sbin/zabbix_agentd
zabbix   31779  0.0  0.0   3128   968 ?        SN   Jul12   4:08 /usr/sbin/zabbix_agentd
zabbix   31780  0.0  0.0   3128   968 ?        SN   Jul12   4:09 /usr/sbin/zabbix_agentd
zabbix   31781  0.0  0.0   2960   772 ?        SN   Jul12   7:21 /usr/sbin/zabbix_agentd

А антивирусы стояли в сторонке и наблюдали: «Тааак… Чистим системый раздел… Не, ну это ведь Яндекс, ему можно...»
Легко. Просто спросила у пользователя «можно я тут с системными правами пошурую?». Аналог sudo.
В терминологии *nix:
Инсталлятор Я.Диска требует запуска от root, после чего создаёт скрипт обновления, которому устанавливает suid bit, чтобы потом запускаться под рутом когда угодно, без участия пользователя.
В мире *nix за такое ручки по самые ножки отрывать надо. Ибо есть пакетные менеджеры и большинству программ никогда не нужны права root. Более того, попытка их попросить уже настораживает и заставляет разбираться «А для чего тебе? А тебе тоооочно надо? А может тогда ты сама не нужна?».
В мире Windows при отсутствии централизованных пакетных менеджеров (слышал краем уха про некий Windows App Store, это не оно ли?) за это несколько сложнее отрывать ручки, т.к. всё таки, видимо, больше случаев когда это действительно нужно прикладной программе.
Да ладно вам, у меня в /var/lib/dpkg/info/ целая пачка скриптов, выполняющихся от root при обновлении/удалении пакетов. Разница только в том, что есть готовый общесистемный демон, запускающий их. Разработчикам нет нужды писать свой велосипед.
А второй момент — проблемная часть Я, Диска запускалась под локальным пользователем.
>В мире *nix за такое ручки по самые ножки отрывать надо.
Да везде надо отрывать. Только кто это будет делать? Кто пойдёт и убедительно скажет большинству крупных компаний, вроде, Adobe, что они уроды?
C Android тоже не всё гладко — большинство приложений требуют странные привелегии. И что делать? Либо полностью отказываться, либо ставить.

>В мире Windows при отсутствии централизованных пакетных менеджеров
Windows Installer — это довольно неплохая альтернативна пакетным менеджерам. Это немного другое, но тем не менее. Осталось только её использовать, а не писать самопальные скрипты, чем вполне грешат и *nix разработчики. Ведь все эти системы «ограничивают» разработчика. А им хочется бесконечной свободы на компьютерах пользователей. Любое ограничение воспринимается в штыки. Про тот же UAC (система снижения геморроя при работе не из-под рута) до сих пор идёт нытьё. Причём идёт оно от «продвинутых» пользователей.

>Windows App Store
Windows Store — обычный магазин приложений, как на смартфонах. Приложения изолированы и имеют ограниченные возможности.
Прилетело НЛО и почистило вам Windows.
Прочитал новость. Удивился такому малому числу комментариев. Понял причину. Соболезную :)
С вашей подачи и я её понял. Оххх…
Ничего, скоро начнут подтягиваться разъяренные пользователи после переустановки системы )
да сама эта программа изначально дебильна.
спрашивается зачем она вообще нужна и почему файлы 2 Гб можно заливать через броузер, а для заливки файлов больше 2Гб надо эту хрень ставить?
При том, что ведет она себя довольно бесцеремонно, как будто не на чужом компьютере, а у себя дома.
Попользовавшись немного этой прогой, снес её, решив что лучше, я раром по 2Гб побью и через броузер залью, чем держать всякое дерьмо в системе.
А теперь, после такого фиерического фэйспалма, я её ни за что ни когда не поставлю.
Эвон как. Может быть это из-за него пришлось откатываться на планшете (Windows 8.1 не мог загрузить интерфейс), а сейчас падает при попытке входа Skype, в журнале ругаясь на msvcrt.dll
Скачайте и установите Microsoft Visual C Runtime.
Я.Д. устроили проверку боем, хранили ли вы все самые важные файлы на Яндекс.Диске? :)
Комментарий от команды Яндекс.Диска.

Приносим искренние извинения всем пострадавшим. Со вчерашнего дня и до сих пор мы продолжаем разбираться в том, почему была допущена подобная ошибка. Более подробно о проблеме напишем чуть позже.

Первым делом хочу предупредить: главное — не удаляйте приложение, не убедившись, что вы получили новый апдейт. Ошибка именно в той части приложения, которая «удаляет» установку самого Диска.

Вчера вечером мы выкатили стабильную версию приложения 1.1.8. Удостовериться, что у вас нужная версия программы, или получить нужный апдейт можно в меню Диска (" Справка" — «О программе» — «Проверить обновления» ).

Ошибка проявлялась в некоторых случаях, в основном у пользователей, которые использовали приложение для Windows под учетной записью «Администратор» или установили его в систему для всех пользователей.
А где эти комментарии? На company.yandex.ru/ не вижу ничего про этот ужасный факап.
у пользователей, которые использовали приложение для Windows под учетной записью «Администратор»

И много таких?
или установили его в систему для всех пользователей.
Да, таких много.
Первым делом хочу предупредить: главное — не удаляйте приложение
Эта часть мне особенно понравилась.
Каждый раз удивляюсь: вроде, с одной стороны многие полезные фичи, по инсайдерской информации, долго маринуются, потому что «нельзя публиковать неотлаженные обновления, у нас же миллионы пользователей». С другой, постоянно косяки вроде этого, за которые оправдывается даже не PR-команда, а программисты («апдейт», «выкатили» и т.п., привет бабушкам, которым внуки поставили диск для обмена фотографиями). Какой-то организационный пипец в компании.
Господин, представитель команды яндекс.диска, почему нельзя через броузер заливать файлы больше 2Гб?!

>>
Google chrome All versions >4GB
Opera 10 >4GB
— т.е. яндексброузер, как и другим хромоклоны, надо понимать, больше 4Гб без проблем…

остальным выводить предупреждение об ограничении и как фишку предложение поставить яндексброузер {ха-ха}
Не всякий провайдер пропустит такой POST. HTTP в принципе не предназначен для таких операций. Opera грузит при этом комп так, что лучше уж она бы отказалась выполнять команду. В Хроме давно не проверял.
Что-то прямо Яндекс последнее время падает в моих глазах :( На Linux, например, этот же Яндекс.диск (демон) жрёт 135% проца, их полный (standalone — т.е. вроде как и без интернета должен ставиться) Яндекс.браузер в Windows при наличии корпоративной proxy не ставится, как и кстати, Яндекс.диск… Что-то только сейчас задумался, что я стабильно пару тасков в месяц им кидаю, при том, что я не тестер :(
А судя по тому, что они не будет вроде как неплохих спецов на работу — у них там одни гуру должны работать.
У этих «спецов» видимо только ЧСВ как у гуру. И зарплата.
Да ни один гуру, даже прошедший/провёдший)) адовые собеседования на знание теории, от подобных фейлов не застрахован. И на старуху, как говорится. А это означает, что коменты вроде «дропбокс!!!!!!!!!!!», смысла никакого не имеют, т.к. страховки от подобных случаев ни у кого нет.
Хуяк-хуяк и в продакшн?
«К чёрту тесты! Помолились и в продакшн!»
тестируют только неуверенные в себе
Блин, хорошо что он у меня не в автозагрузке =)
Интересно, а как это прошло мимо отдела тестирования? Очень хотелось бы в подробностях узнать всю fail-story.
UFO just landed and posted this here
Вот как-то скептически отношусь к этому высказыванию. Судя по обсуждению на борде, оно рекурсивно пытается удалять начиная с C:\, сколько лет программирую под винду я не помню таких «несовместимостей» в операционной системе. Это непростительная ошибка программиста. Набирают как обычно по принципу «главное что бы человек был хороший».
Набирают олимпиадников, главное, уметь решать задачи!
Проблема не в самих гномиках, проблема в культивируемой с помощью этих гномиков элитарности. Ошибаемся мы все независимо от уровня наших способностей, но культивируемая элитность дает конечно плюс в мотивацию, но и большой минус в способности воспринимать и обрабатывать фидбек, критику, замечания.
Нашел в своём логе вот такие строчки и аж сначала покрылся холодным потом:
Лог
2013-11-30 10:18:04.413 CleanGarbage started...
2013-11-30 10:18:04.413 CleanUnpinnedFiles: C:\Users\ms\AppData\Roaming\Yandex\YandexDisk
2013-11-30 10:18:04.414 RemoveDirectory [C:\Users\ms\AppData\Roaming\Yandex\YandexDisk]
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\Yandex\YandexDisk] error: 145
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\Yandex\YandexDisk] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.414 RemoveDirectory [C:\Users\ms\AppData\Roaming\Yandex\]
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\Yandex\] error: 145
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\Yandex\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.414 RemoveDirectory [C:\Users\ms\AppData\Roaming\]
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\] error: 145
2013-11-30 10:18:04.414 RemoveDirectory: [C:\Users\ms\AppData\Roaming\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.414 RemoveDirectory [C:\Users\ms\AppData\]
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\ms\AppData\] error: 145
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\ms\AppData\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.415 RemoveDirectory [C:\Users\ms\]
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\ms\] error: 145
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\ms\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.415 RemoveDirectory [C:\Users\]
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\] error: 5
2013-11-30 10:18:04.415 RemoveDirectory: [C:\Users\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.415 RemoveDirectory [C:\]
2013-11-30 10:18:04.415 RemoveDirectory: [C:\] error: 5
2013-11-30 10:18:04.415 RemoveDirectory: [C:\] cannot be scheduled to delete on reboot
2013-11-30 10:18:04.431 Command finished executed with exit code 0
2013-11-30 10:18:04.468 ACTION Start finished ["C:\Users\ms\AppData\Roaming\Yandex\YandexDisk\YandexDiskInstaller-4326.exe" -uninstall -user]: 0


но быстро отлегло, когда обратил внимание на "cannot be scheduled to delete on reboot" вместо ужасного "scheduled to delete on reboot if it will be empty"
И да, в дополнение, OS на которой ЯД «не смог» — Windows 7 SP1
А вот ноутбуку моему повезло меньше — там ЯД смог сделать черное дело. Хотя и там и там Windows 7 SP1 со включенным UAC.
Аналогичный лог. Windows 8.1 x64. UAC включен. Надеюсь, что она и правда не удалила ничего лишнего.
И как, программы нормально работают? Ошибок из-за отсутствующих DLL не выпадает?
На том компьютере, с которого взят приведенный лог — всё в полном порядке, никаких ошибок программ не наблюдаю. Да и, собственно, судя по логам, ничего ЯДу удалить и не удалось — везде «error: 145».
Пробежал глазами весь лог — подобного в нём нет.
Точнее, error 145 и error 5.

Согласно WinAPI:
5 (0x5): ERROR_ACCESS_DENIED
145 (0x91): ERROR_DIR_NOT_EMPTY

Мне интересней от чего зависит то, будет потом «cannot be scheduled to delete on reboot» или «scheduled to delete on reboot if it will be empty»
Очень бы хотелось глянуть на исходники, слишком сильно смахивает на диверсию от обиженного сотрудника.
Не верю что QA мог такое упустить.
Тогда это должно быть по предварительному сговору минимум двух человек.
Умелый кодер и не такое спрячет от QA :)
Легко :)
#define free(x) if(strncmp(__DATE__, "Apr 1", 6) != 0) free(x)
if (date == release_date) :-D
Такое скрытно и самое главное заранее (за год) не сделаешь, хотя смотря когда будет известна дата релиза. А вот "__DATA__" стандартный виндовый макрос. Вот, кстати, их список.
Да уж, я как знал, не стал ставить после падения SSD и восстановления винды. Спасибо «Лени».
Давно уже отложил использование «диска» до лучших времен. Мой тикет, в котором я сообщаю о том, что «диск» под мак ос выжирает всю память при запуске, так и не закрыт.
Конфигурация, которая позволяет свести риск падения Windows из за Яндекс Диска до минимума — Mac OS X + SugarSync.
Лучшая рыба — колбаса.
Таки да. Не припомню у SugarSync таких проблем.
Извиняюсь, если где-то выше уже есть ответ, я не смог его найти. У меня Win 8.1. Утром все работало отлично, перезагрузка последняя была вчера. Это значит, что мне повезло? Или мне еще ждать беды?
Это значит, что повезло. Для большей надежности можно посмотреть лог, вот так он должен выглядеть у удачливых: habrahabr.ru/post/204580/#comment_7053534 Ну, или строчек про удаление C:\ не будет совсем — это еще лучше.
Скрестил пальцы сидя на работе. UAC не отключен был, надеюсь это помогло. Спасибо за ответ.
Не очень-то на него надейтесь. Я на нем терял ценные документы из-за ошибок синхронизации. Как минимум, регулярные бэкапы делайте.
Тройное облако: dropbox, box.com, google drive. Тут согласен, но такого как я Яндекс Диском Гугл вряд ли допустит.
Не оправдываю Яндекс, но…

«Никогда! Слышишь?! Никогда не сиди под админом (рутом)!» (ц)
Это не поможет. Достаточно просто установить для всех пользователей.
У меня так установлено.
В логе есть такие же попытки, которые, естественно, были отвергнуты.
Формально если у вас в системе запустится некий сервис, который начнёт рекурсивно обходить %HOMEDRIVE% и без разбора удалять всё, что сможет удалить, то в общем-то будет уже без разницы, работаете вы из под админа или нет — свои файлы вы потеряете.
Беду наделал сервис обновления, который от прав текущего пользователя ОС вообще не зависит, потому что работает от SYSTEM — у него свои права.
Только что проверил еще две «точки» установки с автообновлением, у друзей. Проблем не было, как и у меня.
Я не шучу, мне правда интересно.

Единственное, что обновляет я.диск — это его обновлятор, запускаемый под тем же пользователем. Либо я не туда смотрю. Тогда подскажите, куда смотреть?
Вы установили для всех пользователей? Возможно это было триггером запуска обновлятора от system. Ведь если установлено под другим пользователем — они ничего не сможет обновить.
Именно так и установлено. Ладно. насчет своего компьютера я ещё могу ошибиться, но на двух других совершенно точно установлены для всех пользователей, потому что там сделаны учётки для каждого члена семьи.
Всё было не так. Установщик пытался поставить ЯOS, но не успел.
Проблема заключается в том, что при обновлении Яндекс Диска установщик попытался удалить не только старую версию программы, но и весь системный раздел
— Мда
"… Мы обязательно сделаем все возможное, чтобы подобная ситуация не повторялась в будущем." Яндекс

Понимаю слова Яндекса так:
Если вы в процессе обновления Диска потеряли свои файлы, то «поднимите правую руку вверх повыше, а потом резко опустите и скажите, что ну и х*р с ними» (с)
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Слетел Microsoft Outlook, не могу зайти, там все контакты, термины. Похоже, что вот причина всего этого добра. Яндекс Диск стоит.
я даже не знаю что сказать…
у меня вчера накрылась рабочая машина, и я понял, что точки восстановления винды ниразу не помогают, и даже архивная копия на отдельном диске(средствами виндовс) помогает только когда старый виндовс хотя бы чуток жив.
по сути я потерял весь вчерашний рабочий день из-за яндекса, спасибо ему за это…
а по итогу, я был сильно удивлен полному отсутствию секурности Гугл хрома.(кому интересно -напишите я опишу как это смешно выглядит)
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Похоже появился кандидат в номинации «Fail года».
А у кого биткоины на С: лежали?
Д. Уэльс
а это кто?
А на фотографии тогда кто? И если это он же, как он переплюнет собственное лицо? У меня трещит шаблон, господа.
На фото человек, выбросивший диск с wallet.dat, до прыжка курса битков. Джимми — основатель Википедии, который несколько раз в год жалобно просит еще деньжат. Прояснилось?)
Да, спасибо. Смутила созвучность имен с человеком на фотографии — Джеймс Хауэлс.
UFO just landed and posted this here
«Приносим искренние извинения»
«искренние»
«извинения»
А кто-то под виндой еще хранит что-либо на диске C?
Лень-матушка не дает иногда профили приложений типа PHPStorm и др. переносить ) И cygwin туда по дефолту ставится.
А где у людей обычно профиль живёт?

В C:\Users или C:\Documents and settings.
Я и писал про то, что данные пользователя таки живут частично на диске C:, т. к. профили пользователей по умолчанию живут на нём.
У меня один диск С со времён Windows 7. Копия всех нужных файлов есть в облаке.
UFO just landed and posted this here
А это уже вопрос к компилятору и языку. Например, программы на Lazarus/FPC некорректно обрабатывают пути с пробелами при использовании обычных ObjPascal-функций, которые в Deplhi работают без проблем.
Почта там лежит. В папке C:\Users\UserName\AppData\Local\Microsoft\Windows Live Mail.
Больше, пожалуй, ничего ценного. Кроме самой винды, которая денег стоит. И других программ с ограниченным числом активаций (если такие есть).

Но это на десктопе, где дисков много и они большие. На ноуте приходится пространство делить — точно рассчитать заранее, сколько места выделить на систему, вряд ли получится. Поэтому приходится всё держать в одном разделе.
UFO just landed and posted this here
Преступный умысел как докажете?
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
А почитайте лицензионное соглашение на программу. Обычно в них пишут, что производитель никакой ответственности не несет. Даже в платном софте.
UFO just landed and posted this here
Верно. А оно и не противоречит, если программа не предназначена специально для удаления важных системных файлов пользователя.
без его санкции на это.
В каком месте оно противоречит? Где в законодательстве предусмотрена ответственность за ошибки или сбои программы?
Вредоносной де-юре считается не всякая программа, которая де-факто способна нанести вред, а только те из них, в которых вред наносится сознательно и без санкции пользователя.
UFO just landed and posted this here
Программа пишется сознательно, но далеко не всегда в неё сознательно закладывается функциональность, которой она объективно обладает.

Разве винда теперь не спрашивает разрешения на изменение содержимого диска?
UFO just landed and posted this here
Видимо, Вы не особо пользовались системными программами Windows вроде chkdsk. Иной раз после работы оной на диске получается такой расколбас, что данные потом восстановить крайне проблематично. И что, мне тоже заявление в ментовку или прокуратуру писать?
Чтобы chkdsk устроил расколбас у вас уже или винт должен быть неплохо полетевшим, или NTFS, обычно тоже полетевшая из-за аппаратных проблем.
Не обязательно. Наблюдал как-то это на сравнительно здоровой машине, хоть и задроченной различным ПО и временными файлами до состояния малого свободного места на системном разделе. Как ни странно, система (XP) после долгой проверки один раз даже нормально (внешне) загрузилась, но так толком и не заработала. Инфу потом восстановить не удалось.
Т.е. если я напишу троян, который перед началом деструктивной деятельности будет выводить сообщение "Привет, я хочу украсть все ваши пароли, разослаться по вашей адресной книге и зашифровать все ваши файлы, чтобы потом продать вам код расшифровки. Вы же разрешите мне сделать это?", и начинать действовать только при клике на «Да», то я смогу распространять его на совершенно законных основаниях?
В принципе да, если заменить слово «украсть» на «сделать копию». Главное, чтобы не было элемента введения в заблуждение относительно функциональности.
UFO just landed and posted this here
У нас чаще реагируют почти так же — «один раз? Да и хрен с ним: выплатите убытки пострадавшим и работайте дальше. ».
Я конечно не про самолёты, а про более мелкие ситуации, типа вот этой.
UFO just landed and posted this here
Напомнило одну книжку.
Если автомобиль новой модели, изготовленный моей компанией, выехал из Чикаго на запад со скоростью 60 миль в час, — и заклинивает задний мост, машина разбивается и сгорает со всеми, кто попался в ловушку салона, — стоит ли моей компании возвращать модель на доработку?

Берем общее количество выпущенных машин данной модели (A), умножаем на вероятное количество машин с неисправностью (B), потом умножаем результат на среднюю стоимость решения вопроса без суда ( C). A умножить на B умножить на C. Равняется X. Столько стоит не возвратить модель на доработку.

Если X больше стоимости возврата — мы возвращаем машины, и никто больше не пострадает.

Если X — меньше стоимости возврата — возврата не будет.
Фильм кстати тоже неплох.
Мне фильм даже больше понравился.
Хотя они, конечно, разные.
Наказание должно быть неотвратимым и необязательно жестоким. Это очень хороший стимул. Вот тогда авось и «на авось» перестанем полагаться. А если такие вещи регулярно сходят с рук, всем становится пофиг. Не протестировали и ладно, датчики на ракету наклеили вверх ногами и ладно, топлива перелили и ладно…
заведомо предназначенных


Докажите, что удаление данных было предназначением программы, а не ошибочным поведением.
UFO just landed and posted this here
6.1. Программы предоставляются на условиях «как есть» (as is). Правообладатель не предоставляет никаких гарантий в отношении безошибочной и бесперебойной работы Программ, соответствия Программ конкретным целям и ожиданиям Пользователя, а также не предоставляет никаких иных гарантий, прямо не указанных в настоящей Лицензии.

6.2. В максимальной степени, допустимой действующим законодательством, Правообладатель не несет никакой ответственности за какие-либо прямые или косвенные последствия какого-либо использования или невозможности использования Программ и/или ущерб, причиненный Пользователю и/или третьим сторонам в результате какого-либо использования или неиспользования Программ, в том числе из-за возможных ошибок или сбоев в работе Программ.
UFO just landed and posted this here
Но вы же цитируете выше УК.
UFO just landed and posted this here
Честно говоря, не очень понятно, как это комментарий связан с моим. Всё это — гражданское право, а вы пишете, что:

а ведь действия Яндекса, точнее его сотрудников могут попадать под действие УК РФ.
Статья 273. Создание, использование и распространение вредоносных компьютерных программ


На что вам логично отвечают, что для осуждения по УК необходимо доказать наличие умысла. И принятые в гражданском праве методы определения вины или условия заключения договоров никого отношения этом у не имеют.
Вы яндекс диск себе сами ставили и с пользовательским соглашением ознакомились. Там есть пункт об отказе от ответственности.
Хороший повод переосмыслить все эти AS IS.
А толку… Даже для себя какие-то программки пишешь тоже as is. И в принципе тоже при этом рискуешь.
На всякий случай, может кому поможет (я ещё не перезагружался, но версия проблемная 1.1.6):

Обнаружив у себя в логе зловещие записи вида
2013-12-02 10:42:43.796 DeleteFile: [NTUSER.DAT] scheduled to delete on reboot
2013-12-02 10:42:43.796 RemoveDirectory: [C:\] scheduled to delete on reboot if it will be empty
и др.

я решил поискать, где хранятся эти отложенные команды — нашёл следующее (для Win XP)
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\PendingFileRenameOperations
там как раз и перечислены все файлы на удаление при перезагрузке — на всякий случай почистил всё
Это надо добавить в топик. Кого-то ещё можно спасти.
Вчера вечером удалённый товарищ пожаловался, что у него «всё пропало».
Благодаря способности товарища не впадать в ступор и выполнять просьбы «нажать туда» и «посмотреть там» было обнаружено:
1. Windows XP SP3
2. Затёртый ntuser.dat в рабочем профиле
3. Новый профиль в папке user.compname.000
4. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\_guid_ — путь к новому профилю user.compname.000
Ветки _guid_.bak не существовало.
5. Пользователь утверждает, что диалоговых окон про повреждённый профиль не было, ОС молча загрузилась.
6. Помогло копирование файлов ntuser.* из профиля .000 в «родную» папку и исправление пути в реестре (из-под свежесозданного временного пользователя-админа).
Яндекс-диск у него есть, теперь причина исчезновения куста реестра понятна.
NERO BURNING, один из билдов 5 версии (кажется) при копировании с диска на диск использовал для хранения NRG-образа временную папку, так вот после он ее очищал, всю! Те у кого TEMP был не c:\temp, а скажем c:\ — лишались многих файлов (не все файлы можно было удалить в работающей Win 98).

И да, дома меня наверно ждет страшное? Я то не заметил ничего плохого в своей Win 7. Посмотрю внимательнее. За документы не беспокоюсь — на Це:\ не держу, но там много данных других программ.

А что если в будущем будут все диски перебираться при удалении? Ужас
Похоже, что не зря я все левые «службы» (включая nvidia update, flash update и mozilla maintenance) вырезал из системы после установки софта.

Лучше б Яндекс выпустил пакетный менеджер для домашней винды, а велосипедостроение не нужно.
мда, сижу переустанавливаю винду.win7 sp1.

а когда слетела, я еще подумал: «как хорошо, что все важные файлы на я.диске продублированы»

Я снес, снес к чертям этот ужас у всех товарищей у кого оно стояло.
Только что вернулся из RDP )))

Вобщем из-под win7 двух людей спас Agnitum Outpost сказав что-то про «странную активность приложения», у трех других — полный фарш зашедуленных удалений, а пара «таки успела» :/

Усе что смог — вычистил, яндекс диск удалил. После того как анинсталлер «пройдется», откат помогает плохо — у меня получилось восстановить прокатив установку винды «поверху».

Вобщем впечатления самые неприятные. Яндекс — как такое МОГЛО У ВАС СЛУЧИТЬСЯ?

И самое что странное для меня — пипец — пост прочло около 55000 пользователей — это значит как минимум они уже для Вас потеряны — и ни одного разъяснения в комментах, извенений, ни одного PR, где Анна и вообще где-хоть кто-нибудь? Или Яндекс в очередной раз «забил» на всех своих пользователей?

Традиция, елки :/
Ну, хм… Вы не находите, что это как-то не серъезно для такой компании?
Такое и я могу написать :-) Кто этот человек «vladimirrusinov»?

У них спецально для этого есть отдел, он общаться должен был, разъяснить что за ошибка, из-за чего — тут же не бабушки и малолетние дети сидят.

А «для Windows под учетной записью «Администратор» или установили его в систему для всех пользователей» означает вообще «почти для всех пользователей» :-D
Это всё понятно. Думаю, что они не будут топиться дальше в луже грязи, в которую они упали лицом. А таки напишут пост на company.yandex.ru, например. И дадут на него ссылку на своей главной странице.

А разъяснения, надеюсь, появятся отдельным постом в их блоге.
UFO just landed and posted this here
Откуда я должен был это знать? В профиле у него ничего про это не написано.
По фамилиям и никам я всех сотрудников Яндекса не знаю.

Кроме того, я так-же как и Вы, могу написать что «xxx-руководитель… ну не знаю… SIliconTits Valley» Это ни чего не значит.

Главное, что никто ничего не написал, ни официально, ни в блоге.
Спасибо vladimirrusinov, что он хоть как-то прокомментировал все это.

Но это не подход федеральной компании.

Это подход киоска, утаивающего, что его продукт просрочен.

Это грустно, ужасно нелепо и обидно (хотя бы потому, что срок годности написан на этом продукте) — надеюсь вы поймете мою метафору.

А если нет, то дам подсказку — я очень не люблю, когда меня считают бараном.
По поводу «объяснение есть ниже» Вы в курсе, что у комментариев на хабре есть время создания?

Посмотрите на время моего, и на время того, что по ссылке.

И еще раз повторю — считать это официальным комментарием невозможно.
Какие комментарии и извинения? Очевидно же, компания занята поисками крайних, им не до пользователей.

Хотя могли бы повесить на одну из своих страниц предупреждение хотя бы какое-то и инструкцию. Не все же Хабр читают.
… ни одного PR, где Анна и вообще где-хоть кто-нибудь?...

Они все обновили ЯД…
Спасибо! Посмеялся от души. Не зря до сюда дочитал :-)
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Меня часто спрашивают — зачем ты разбиваешь жесткий диска на два? На первом система, на втором данные?
Потому что накрывшаяся система обычно не так страшно, как потерянные данные, пусть и забэкапленные.

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

Да, тоже словил эту гадость в выходные.
Благо в ноутбуках, если есть система на скрытом разделе — восстанавливать можно просто и быстро, в пару кликов. Хотя эта фиговина системный раздел именно форматирует, так что с одним логическим диском было бы всё несколько сложнее.

Хорошо, если только форматирует нужный раздел. У lenovo x220, например, сносится всё лишнее и раскатывается на весь диск.

Id est, если у вас была вторая система, то после восстановления вы её уже не увидите.
Воистину, тогда мне дико повезло ещё.
На моем HP touchsmart tm2 то-же самое. Сектор восстановления полносьтю переразмечает жесткий диск, попутно убивая раздел с linux, если такой имеется…
Я на своём пробуке совершенно случайно сразу же после покупки полностью очистил хард встроенной в биос функцией и проблемы разделов восстановления мне незнакомы.
К сожалению, бывает софт работающий корректно только на винде на реальном железе.

Начиная от firmware/bios updates и заканчивая программами, использующими аппаратные ключи и 3d-графику (т. е. не работающее ни в wine, ни в виртуалке). У меня, например, из такого — PhoenixRC (авиамодельный симулятор). Ради него и держу раздел с виндой в dual boot.
Столкнулся недавно с софтом для серверов HP, у них эти самые firmware/bios updates выпускаются так же в виде iso-образов для дисков/флешек. Очень удобно, на самом деле, иметь платформонезависимые утилиты. Не сочтите за рекламу :)
В этой ветке всё-таки обсуждаются ноутбуки и прочее consumer-grade железо.

На серверах-то понятно. Такая ситуация и у HP, и у SuperMicro, и у Fujitsu, и у IBM. Это нормально в серверном сегменте. Правда, иногда выбивание этот образ из вендора требует некоторых усилий.
Врубаю комп — системы нету.
Спасибо Яндексу за это
:)
Врубаю комп — системы нету.
Спасибо Яндексу за это

Но Я наш щедр, и я не плачу:
Гигов две сотни всем в придачу!
Вообще прецедент весьма любопытный (даже не с точки зрения эпического фейла яндекса, сколько с точки зрения WinAPI). Если судить по логам, то при деинсталляции сервис яндекса удаляет свои папки. Окей, я посмотрел лог повыше — он это и раньше пытался делать (у меня вот 18 октября и 29 ноября)

2013-10-18 16:16:49.796 RemoveDirectory: [%APPDATA%\Yandex\YandexDisk\] error: 145
2013-10-18 16:16:49.796 RemoveDirectory: [%APPDATA%\Yandex\YandexDisk\] cannot be scheduled to delete on reboot
2013-10-18 16:16:49.797 RemoveDirectory: [%APPDATA%\Yandex\] error: 145
2013-10-18 16:16:49.797 RemoveDirectory: [%APPDATA%\Yandex\] cannot be scheduled to delete on reboot

Другое дело, что раньше он ограничивался своей папкой, а 30 ноября попёр дальше:

2013-11-30 18:00:55.896 RemoveDirectory: [%USERPROFILE%] error: 145
2013-11-30 18:00:55.896 RemoveDirectory: [%USERPROFILE%] cannot be scheduled to delete on reboot
2013-11-30 18:00:55.897 RemoveDirectory: [C:\Users\] error: 5
2013-11-30 18:00:55.897 RemoveDirectory: [C:\Users\] cannot be scheduled to delete on reboot
2013-11-30 18:00:55.897 RemoveDirectory: [C:\] error: 5
2013-11-30 18:00:55.897 RemoveDirectory: [C:\] cannot be scheduled to delete on reboot

При попытке сноса %USERPROFILE% целиком вывалилась ошибка 145 (нельзя удалить непустую директорию), а при попытке сноса папки с другими прользователями и затем %HOMEDRIVE% возникла ошибка 5 — отказано в доступе, что ожидаемо.

Если сравнить это дело с логом выше из статьи, то там пользовательша Sophie судя по всему имела права администратора, поэтому во-первых, ошибки 5 не возникло вообще, а вывалилась лишь ошибка 145 при попытке сноса всей папки C:\Users и дальше по тексту, а во-вторых было выдано «scheduled to delete on reboot if it will be empty», а не «cannot be scheduled to delete on reboot»

Любопытен однако тот факт, что при работе из под админа все папки были поставлены в очередь на удаление при презагрузке, но выпилиться они должны были только в том случае, если были бы пустые, однако были удалены вместе с файлами, хотя по идее не должны были. Либо яндекс использовал что-то типа SHFileOperation или там IFileOperation для массового удаления, но в лог об этом писать не стал, либо Windows сделал это сам. А при работе не из под админа они вообще не были поставлены в очередь на удаление. Это повод хорошенько поисследовать функцию RemoveDirectory (надо полагать, именно она и была использована) и её разное поведение при работе по непустым папкам в зависимости от прав залогиненного пользователя.

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

Ну и хотелось бы видеть детальный разбор полётов от самого яндекса (не общий для домохозяек типа «при определённом стечении обстоятельств обновление такое-то вызвало удаление всех файлов, простите засранцев»), а именно технически детальное описание от программистов для программистов, тем паче, что яндекс имеет свой раздел на хабре.
от пользователя SYSTEM служба работала
Не, сам по себе я.диск у меня от текущего залогиненного пользователя запущен. От SYSTEM (судя по всему) только у тех, кто поставил его «для всех пользователей».
А ведь вы правы. Программисты Яндекса могут быть и не виноваты ни в чём. Это может быть ошибка в отложенном удалении винды, которое непустые папки удаляет. Маловероятно, конечно, но мало ли. У меня самого, к счастью, яндекс.диска никогда не стояло, так что детально лог исследовать не могу.

PS. Ну, это в любом случае не отменяет эпического провала тестеров яндекса, но они могут оказаться в калоше совместно с программистами майкрософта, а это уже не так обидно.
Это вы чуть погорячились. Программисты яндекса виноваты хотя бы в том, что совершили прогулку по дереву директорий (причём не системным, а пользовательским) вплоть до корня с попыткой удаления файлов. Я вот разрабатываю программы, которые тоже обновляются вот так «на лету», кроме того хранят логи за последний месяц и чистят старые, и каждый раз вызывая функцию удаления, я страшно боюсь передать ей неверный путь или заставить её вот так вот «рекурсивно» отработать.
Как раз в удалении пустого каталога ничего криминального нет. Если каталог пустой, то его и нужно удалить, т.к. он больше не нужен. То что они это делают до корня — это уже не так хорошо, но всё равно вполне валидное поведение, т.к. как только они дойдут до %USERPROFILE%, то дальше уже удалять ничего не будут — у вас там уже файлы/папки будут лежать. Сам бы я так писать не стал, но вполне могу понять логику того, кто решил написать такой код. Вот почему стали удаляться непусты папки — это уже другой разговор.
Я немножко поигрался с WinAPI — просто вызовом RemoveDirectory такого эффекта не добиться, а там судя по всему после неудачного вызова RemoveDirectory вызывается MoveFileEx в NULL с флагом MOVEFILE_DELAY_UNTIL_REBOOT. Для её успешного вызова как раз требуются права либо админа либо system. Если вызвать просто из под пользователя, то будет ошибка 5 (ERROR_ACCESS_DENIED). При успешном вызове она кладёт c:\users в ключ PendingFileRenameOperations, что в ветке HKLM\SYSTEM\CurrentControlSet\Control\Session Manager, ну и после перезагрузки можно лезть в шкаф за резервной копией.
А, всё, понял в чём проблема. У меня самого, как я уже писал, Я.Диска не было, а по логу понять, что именно делал деинсталятор не так-то просто, поэтому я не сразу понял, что именно произошло. Правильно ли я теперь понимаю, что он рекурсивно удалял все файлы начиная со своей директории и двигаясь дальше вниз до корня, а в логи попадают только сообщения о невозможности что-то удалить?
Что там реально произошло и что в лог попадает — сказать сложно без небольшого реверс-инжиниринга, либо теста в виртуальной машине. Формально честно вызванная для непустой директории RemoveDirectory честно возвращает ошибку 145 ERROR_DIR_NOT_EMPTY. В документации нигде не сказано, что эта директория пометится для удаления после перезагрузки. Там сказано лишь, что она пометится для «отложенного» удаления только в том случае, если есть открытые хэндлы для этой директории — в этом случае она удалится тогда, когда они закроются. Про «scheduled to delete on reboot if it will be empty» в доках ни слова — вот это меня и зацепило. Я честно говоря вообще не знаю, откуда растут ноги у этого сообщения (и вроде как больше чем просто ошибку 145 из GetLastError не вытащить), а документировать лог файлы Яндекс, разумеется не обязан.
А я правильно понимаю, если ЯД таки все поудалял все что мог с С:, а там же на С: лежали локальные копии файлов, хранящихся в ЯД, то удаления засинхронизируются на сервер, и пользователь еще и данные в ЯД потеряет?
Для синхронизации с сервером требуются рабочая винда, поэтому для того чтобы спасти вас от вышеописанного сценария. разработчикам ЯД пришлось постараться и её положить.
А я так понял до ребута и применения зашедуленных удалений — все будет работать. В т.ч. ЯД. Не?
Но тогда же ещё ничего не будет удалено — соответственно, нечего будет и с сервером синхронизировать. Удаления происходят во время ребута.
Так он шедулит то что не смог сходу удалить. То что смог — сразу, не?

Короче. Данные у кого-нибудь пропали из-за этого сбоя?
не, он пытался папки целиком грохнуть, а к отдельным файлам в них не притрагивался. Если бы это было так, то пострадавших было бы значительно больше.
Более подробно о ситуации с Яндекс.Диском.

К сожалению, в процессе тестирования версии Диска для Windows 1.1.5 не была выявлена ошибка в компоненте uninstaller.

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

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

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

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

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

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

Как только пришли первые отзывы в саппорт, мы начали искать проблему, после чего оперативно выпустили версию приложения, исправляющую проблемы с инсталлером.

Напоминаем, что проблемная версия приложения – 1.1.5. Мы выпустили еще две промежуточные версии. Стабильная версия программы имеет номер 1.1.8. Удостовериться, что у вас нужная версия программы, или получить нужный апдейт можно в меню Диска (" Справка" — «О программе» — «Проверить обновления» ).

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

И почему нельзя было сразу выключить апдейты, а потом заниматься разбором в чем проблема? Ведь понимание следствия — что именно после апдейта случался писец было доступно практически сразу?
И почему сразу же не выкатили даунгрейд до последней исправной версии?
А смысл? Если апдейт прошёл нормально, то даунгрейдится нет смысла, а если уже всё потёр — то даунгрейд уже никому не поможет
Хотя да. Тут ошибка в деинсталяторе 1.1.5. Если мы его запускаем — мы получаем мёртвую систему.
Хотя тут интересно:
Получается тогда, что при первых сообщниях о проблемах с обновлением — надо было отрубать сервис обновления и писать огромными красными буквами «у нас сломан деинстолятор, не удаляйте её, пока вы не выкатим фикс»
У большинства пользователей, подозреваю, по умолчанию стоит галка «обновлять автоматически». Так что не думаю, что большая красная надпись где-то вообще как-то изменила бы ситуацию — у них всё равно это свершилось без их ведома.
Спасла бы разве что какая-то «внутренняя» система оповещения пользователей, например вылез бы в районе трея балун с просьбой не перезагружать систему, а то будет плохо и со ссылкой на руководство к действию. Хотя сомневаюсь, что в ЯД есть что-то подобное.
Так если сервис обновления был бы отключён — ничего бы не обновилось.
У меня стояла галка автоматического обновления, но почему то сам он автоматически не обновился, после того, как прочитал сообщение о выходе версии 1.1.1.8 или какая там была стабильная — посмотрел версию (была 1.1.1.5) нажал на кнопку «Проверить обновление» и все обновилось успешно, то есть видимо автоматическое обновление срабатывает не всегда.
Разработчики вырубили серверы обновления как только обнаружили проблему, почитайте обновление в посте или оригинальный комментарий. Подняли только когда выкатили нормальную версию .8
Компьютер не перезагружался и не выключался уже недели полторы, я думал автоматическое обновление на то и автоматическое — что обновляется при включенном компьютере без участия пользователя.
Повезло значит. Обновления же не пасутся онлайн, а с каким-то периодом — 6 часов, 12 или сутки…
Повезло в том что обновление не проверялось когда на серверах лежала неправильная версия, а потом их остановили и обновление не могло произойти в принципе.
Для этого в программе должна быть функция вывода экстренных сообщений от разработчиков. А пользователи программ, которые обновляются сами, обычно на сайт рееедко заходят.
Можно письмо отправить. Почта и Диск к одному аккаунту привязаны.
Сейчас очень многие люди почту проверяют ещё реже чем раньше.
Зачем так строго-то?
Ну лишить премии, отругать. Но увольнять не стоит. Накосячил — научился, в следующий раз 10 раз проверит.
основному == ведущему разработчику такое не простительно

Причем не ошибка — все могут ошибаться, а вот это «он вне плана внес изменения в инсталлер/деинсталлер приложения».

Ну и плюс от Яндекса самое главное — «список изменений» у Вас, гсопода, не из коммитов береться — это реально ахтунг! Ну результат на лицо.

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


Потому что список изменений должен генерироваться не уставшим менеджером у которого жена, маленький ребенок и ипотека — а из коммитов.
Проблема началась 30 ноября и затронула тысячи пользователей, почему со стороны Яндекса все эти дни было гробовое молчание?
ЯД горите в АДУ. Теперь мне нужно восстанавливать «а вот тот документ на рабочем столе» и переустанавливать Windows для всех своих родствеников.
Спасибо Яндексу за экспресс-обучение пользователей основам резервного копирования и принципа «raid != backup».
Приложением целую неделю пользовались все сотрудники Яндекса. Обычно этого времени хватает, чтобы обнаружить существенные баги.


Это очень опасная практика. Вообще это называется «hallway testing» и вполне может применяться для общей оценки юзабилити, либо для прототипов, но уж никак не заменяет и даже не дополняет тесты в соответствии с планом тестирования продукта.
К тому же такое тестирование не покрывает ситуацию из-за которой произошла ошибка — пользователи же не сидят под администратором.
>но уж никак не заменяет и даже не дополняет тесты в соответствии с планом тестирования продукта
Вы комментарий читали? Там было полно тестов.

P.S. Снег белый.
P.P.S. Dogfooding не отменяет формальное тестирование.
P.P.P.S. Вода мокрая.
Да, читал, конечно, и там описаны более весомые аргументы, но именно эта отговорка показалась мне какой-то «детской» что-ли. Извиняйте, уж написал очевидную вещь. Просто я работаю в такой области, что о таком вот эпик фэйле если и узнаю, то из газет — типа один известный поставщик отзывает 100500 автомобилей из-за ошибок в ПО, а потом буду оправдываться, мол я накатил обновление на все автомобили сотрудников — они ездили неделю и ничё не случилось. Я немного утрирую, конечно, но тем не менее.
Просто не надо путать «И» с «ВМЕСТО» или с «ИЛИ»:

«Процесс разработки и тестирования десктопных приложений Диска устроен достаточно классическим образом. Еще на этапе разработки каждый день запускаются автотесты. После сборки релиз уходит на двухнедельное тестирование, которое проходит в несколько итераций, по циклу, пока не будут исправлены все критические ошибки. После функционального тестирования проводится окончательное регрессионное тестирование, которое занимает еще несколько дней. И ручное, и автоматическое тестирование проводится на множестве устройств и на всех версиях операционной системы. „
допустив ошибку, которая проявляется не всегда и только под админской учеткой в Windows.

А можно технических подробностей (хабр всё-таки)? Какой-то неверный вызов в Custom Action?
Я уже писал, что именно у них скорее всего там произошло — симптомы узнаваемые.
Я прочитал ваше предположение. Но современные инсталляторы работают не так. MSI никогда не удалит папку, если в ней находится хоть один файл, который он не устанавливал.

Ошибка именно в специальном дополнительном действии (Custom Action). Это может быть недочёт в собственной вспомогательной библиотеке. Или неправильные параметры командной строки некой утилиты. Или хитрая команда в Batch-файле*. Всякое бывает, поэтому и интересно.

*вспомнил отсюда:
Опасайтесь бездумного применения команды cd %~dp0 без проверки результата выполнения. Теоретически, эта команда должна сменить текущий каталог на каталог, в котором расположен командный файл. Как правило, это работает. Однако возможны неожиданности. Однажды был написан простой командный сценарий, задача которого была просто удалить все каталоги рядом с собой. В «свою» директорию он переходил как раз через cd %~dp0. Все было проверено на локальной машине – работало замечательно. После этого сценарий был помещен на файл-сервер, где ему и полагалось быть. Я зашел с помощью Far в сетевой каталог, и для контрольной проверки решил запустить файл еще раз. Дальнейшее словно в тумане. cmd.exe правильно определил местонахождение bat-файла: \\servername\sharename\directory. Однако при попытке сделать туда cd, он сказал, что UNC-пути в качестве текущих каталогов не поддерживаются и лучше он сменит текущий каталог на C:\WINDOWS… Это было действительно мудрое решение… Часть сценария, отвечавшая за удаление всех каталогов, сработала отлично – хорошо, что я успел вовремя остановить это безумие.

В тот день я узнал, что такое System Restore…
Современные инсталяторы так и работают. Разумеется, ошибка в Custom Action. Но это самое Custom Action делало ровным счетом то, что я и назвал.

Зачем был нужен Custom Action? Очень просто:
MSI никогда не удалит папку, если в ней находится хоть один файл, который он не устанавливал.
А такое поведение желательным для пользователя на самом деле не является. Зачем мне деинсталятор, если после него приходится до-удалять папку вручную?

Вот только реализация этой замечательной идеи несколько подкачала…
> А такое поведение желательным для пользователя на самом деле не является. Зачем мне деинсталятор, если после него приходится до-удалять папку вручную?

Да нет, это же как раз логично. Если это игра, в ее папке могут лежать сейвы. Если это какая-нибудь относительно компактная утилита, я там могу держать копию оригинального экзешника, если я вручную ставил патч, например. Или там может быть ini-файл с настройками, которые я однажды целых полчаса настраивал на свой вкус.
Но мы же говорим про современные программы, которые держат в Program Files неизменяемую часть, а настройки и сэйвы — в профиле пользователя?
Разумеется, когда-то давно такой способ удаления (оставлять «лишние» файлы) был оправдан. Впрочем, даже тогда в деинсталяторах существовали переключатели «удалить только программу» / «удалить программу, настройки и сохранения пользовательские файлы».
Ну тут большинство разработчики, понятно, что бывает форс-мажор. Крови-то никому не надо, вы главное сделайте выводы и изменения из коммитов надо проверять. ну я сам себя даже проверяю после коммита — чего там натворил. Всего же не упомнить.
Соседка попросила помочь с восстановлением файлов, порнуха больше не нужна.
UFO just landed and posted this here
Условия использования
Пользователь при этом осознает возможность возникновения технических неисправностей и сбоев в работе Сервиса и согласен с тем, что у Яндекса отсутствует техническая возможность предсказать их возникновение, уведомить о них Пользователя заблаговременно, либо полностью исключить вероятность их возникновения. Возникновение таких неисправностей или сбоев вне зависимости от причин и последствий не может быть основанием для применения к Яндексу мер ответственности.
UFO just landed and posted this here
UFO just landed and posted this here
Вы, вообще, сами программист? Хотите материально отвечать за все ваши баги и спорные ситуации, когда непонятно у кого вообще баг — у вас, в ТЗ, у юзера система кривая, документация на ОС кривая, или тестер не дотестировал, или баг в сторонней open source библиотеке.

В т.ч и в тех продуктах что вы делаете бесплано итд.
Ответственность это, вообще говоря, хорошее человеческое качество.
Я именно про материальную ответственность.
Да, ответственность должна наступать за причиненный вред, конечно. Это норма здорового, современного общества, на мой взгляд.
Давайте тогда дружно попрощаемся с opensource и freeware, с бесплатными вебсервисами, а цены на закрытое ПО подномутся, чтобы компенсировать риски, усложнение процесса тестирования, уменьшение количества релизов и из-за отсутствия конкуренции.
А ввиду отсутствия сводобного ПО как класса, программы можно будет устанавливать только «из доверенных источников».
Ruby, Perl, Python, Linux, Facebook? не, не слышали.
Не драматизируйте. Выше люди предлагают в качестве компенсации выделить им бесплатно гигабайты яндекс.диска. Это адекватно, я считаю. И это материальная ответственность.

Лично меня не устраивает то, что компания Яндекс не уведомила открыто, на своих страницах, о проблеме. Это не просто адекватно, а действительно необходимо сделать. Если бы они это сделали, это также была материальная ответственность (можно предположить ведь, сколько стоит место на страницах Яндекса).

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

А вот недружелюбное бездействие компании неприятно удивляет, да.
И речь идет, к слову, о коммерческой компании, а не о свободных проектах или бесплатных сервисах.

Ага, давайте заставим коммерческие компании нести ответственность, а некоммерческие — не нести. У всех коммерческих быстро появится дружественная некоммерческая организация, которая и публикует софт всех их бесплатных сервисов.
Простите, но вы цитируете предложение, где явно указано «к слову», написано в противоположность неверно приведенным вами примерам; в которых вы смешали языки программирования (или их интерпретаторы — вы не указали), Линукс и Фэйсбук; и которое, естественным образом, исходя из норм русского языка, не несет основной смысловой нагрузки в моем комментарии.

А я не веду спор ради спора.

До свидания.
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
А что нужно круговую поруку устраивать?
Чтобы было как у врачей: один не то отрезал, второй на мед. экспертизе закрыл глаза, прокурор развёл руками — лечим дальше.
Юридическая часть — вопрос трактовки. Грамотный юрист сможет все, что угодно так изобразить, что любой инженер поразится.

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

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

Не, нуачо, мы же лицензию вон написали, это люди сами дураки.
Даже жаль, что мы не в Америке — кто-нибудь бы точно за свою за годы собранную коллекцию смешных картинок уже подал на Яндекс в суд.
UFO just landed and posted this here
То, что у нас правовая культура совсем другая — не новость, вроде.
Ну так вперёд, менять её. Размер госпошлины и юридический адрес компании подсказать?
Я в курсе, спасибо. Но у меня не было проблем с Диском, так что повода судиться нет.
вы так говорите, как будто в америке EULA не содержат волшебных слов «NO WARRANTY» и что-то там про максимальный размер возмещения ущерба == 5 долларов сша (ц) MS

ничего не сделает американский суд. Иначе microsoft уже давно бы обанкротилась
UFO just landed and posted this here
UFO just landed and posted this here
Немного более полезная команда:
dism.exe /online /cleanup-image /restorehealth
буквально пару дней назад как раз удалил ЯД с ноута, выходит — повезло
Проблема была как раз в деинсталляторе…
ну так повезло, что пару дней назад, а не вчера-сегодня
Я одного не понял. Если УЖЕ стоит версия 1.1.5 — можно смело ставить последнюю или наоборот, ни в коем случае не ставить?
Да, можно смело ставить последнюю. И не надо удалять 1.1.5.
Я только не совсем понимаю, почему официальные комментарии Яндекса к случившемуся выкладываются в комментариях к постам на сторонних ресурсах и рассылаются по почте авторам статей/заметок на эту тему, а не вывешиваются крупными буквами в красной рамке на самом Яндексе. Поскольку любая версия 1.1.5 с отключенным автообновлением — это бомба с замедленным действием, которая сработает, как только пользователь решит снести ее, не обновляя.
Все из-за биржи. Боятся репутационных потерь.
Вероятно, так как им важнее, чтобы о ситуации узнало меньше людей, чем помочь людям, которые из-за них пострадают.
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
В воскресенье купил ноутбук DNS, был приятно удивлен, увидев там предустановленный Я.Диск. Порадовался за отечественную компанию. За ненадобностью сразу снес. Повезло, однако…
Скажите пожалуйста, а зачем вам одновременно Google Drive, Dropbox и Я.Диск?
Работа, все остальное, музыка. Соответственно.
Хм, мне не приходит! Я тоже хочу +200.
Вы писали письмо в тех.поддержку? Или каким образом получили их?
Да, писал. Через время появилось место.
Оппа, похоже тоже появилось. Правда, смотрю в веб-интерфейсе, саму программу так и не поставил.
Хм… Причем ни пояснений, ни рассказов, а долго ли будет доступно место. Интересно.
Пришло знакомому. Насколько я понимаю место навечно.
Вы получили это письмо, так как пользуетесь нашей программой
Яндекс.Диск для Windows и недавно получали её обновление.

К сожалению, в одной из последних версий программы была допущена ошибка,
которая в редких случаях может привести к сбою в работе операционной системы.
Поэтому просим Вас убедиться, что на Вашем компьютере стоит стабильная
версия программы — от 1.1.8 и выше. Чтобы сделать это, кликните по значку Яндекс.Диска
в области уведомлений (в правом нижнем углу экрана), выберите пункт меню «Справка» и
затем — «О программе». Если текущая версия приложения имеет номер меньше, чем 1.1.8.,
нажмите на кнопку «Проверить обновления». Версия программы автоматически обновится.
Если у Вас появятся вопросы, напишите нам, пожалуйста, в службу поддержки.

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

Чтобы сгладить неприятное впечатление от допущенной ошибки, мы увеличили
доступное для Вас пространство на Яндекс.Диске на 200 ГБ. Оставайтесь с нами.
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
Я письмо написать не успел, но бонус тоже только что получил.
Я и так не собирался уходить с яндекс.диска, но бонус действительно ощутимый, чтобы приглушить память даже о таком фейле.
Теперь 2 декабря — день переустановки винды)
Это хитроспланированная акция устрашения и шантажа. Теперь при удалении Яндекс.Диска он будет как бы невзначай так напоминать: «А знаешь, были тут уже такие, пытались удалить меня, так вот они систему свою потеряли. Улавливаешь?»
Может, там был флажок «Почистить систему бесплатно»…
Эпик фейл компании Яндекс… Нет слов описать насколько сильно они лоханулись. Я и до этого особо не пользовался сервисами Яндекс, но после такой подставы от Яндекса надо шарахаться как от нечистой силы.

Очевидно, что компания экономит на квалифицированных кадрах — это урок всем работодателям. Яндексу осталось только объявить себя банкротом, либо влачить жалкое существование всю оставшуюся жизнь.
Если не секрет, чью «оставшуюся жизнь»?
хотя может я не так зол потому, что не доехал еще до дому и все еще надеюсь, что меня пронесло.
Наоборот. Теперь как раз самое время ставить ядиск. Очень маловероятно, что они не сделали выводы и скорее всего ядиск станет теперь крепким и надёжным как скала.

Это примитивно, но как с акциями: обвал — покупай.
Интересная у вас логика, но я с ней не согласен. Исправление говнокода в проекте требует значительных ресурсов, которые никогда не смогут окупиться (инвесторы чаще всего не понимают с чего это им платить за какой-то рефакторинг и модульные тесты, когда все итак «работает»). Учитывая срочность необходимых мер, скорее всего будет приставлен очередной костыль на скорую руку — лишь бы работало.

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

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

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

Большое спасибо за чистую систему, за осознание, что не я такой криворукий и «хорошее» настроение.
Команда, восстанавливающая повреждения установленных пакетов Windows (нужен доступ в интернет для выкачивания пакетов).

dism.exe /online /cleanup-image /restorehealth
Не получилось…
C:\>dism.exe /online /cleanup-image /restorehealth
Cистема DISM
Версия: 6.1.7600.16385
Ошибка: 11
Нельзя обслуживать 64-разрядную операционную систему 32-разрядной версией системы DISM.
Следует использовать версию DISM, соответствующую архитектуре компьютера.
Файл журнала DISM находится по адресу C:\Windows\Logs\DISM\dism.log
Вот так попробуйте
%SystemRoot%\sysNative\Dism.exe /online /cleanup-image /restorehealth
C:\>%SystemRoot%\sysNative\Dism.exe /online /cleanup-image /restorehealth
Cистема DISM
Версия: 6.1.7600.16385
Версия образа: 6.1.7600.16385
Ошибка: 87
Параметр restorehealth не распознан в этом контексте.
Дополнительные сведения см. в справке.
Теперь заводится правильно, но эти ключи судя по всему только для восьмой версии, а у вас 7.

Repair a Windows Image

Я б вообще по-старинке попытался воткнуть диск вторым в другой комп (ну или там с USB загрузился, что ли) и попытался починить уже оттуда — ведь всего-то надо исхитриться восстановить удалённую папку c:\users, да подпапки по которым яндекс прошёлся. При этом любая запись на этот диск будет уменьшать вероятность успеха мероприятия.

Можно вообще поставить чистую Windows, грохнуть папку Users (с помощью MoveFile, к примеру), перезагрузиться и поупражняться в восстановлении. Но упражнение требует определённой квалификации, конечно.
Спасибо, Яндекс! Давно я хотел систему переустановить…
слетела только активация, оффис, и какие то библиотеки от студии 2008. Прочитав статью понял, отделался весьма легко — получасом личного времени.
Так вот из-за кого я два дня переустанавливаю и настраиваю рабочую машину.
Недоумеваю, почему толпа разъяренных юзеров еще не стоит под окнами Яндекса с вилами и факелами?
Неужели нет энтузиастов потерявших биткоин кошельки или фрилансеров потерявших проекты, ведь даже локальный репозиторий не спасет, бухгалтеров с финансовой отчетностью…
«Переустановка Windows» может только уменьшить шансы на восстановление хоть каких-то данных.
Вы сильно преувеличиваете масштаб пострадавших.
Надеюсь! Я, в принципе, положительно отношусь к компании Яндекс, но если бы я потерял что-то значимое, что не подлежит восстановлению, я бы рвал и метал. :(
Не совсем так, пострадавшие попросту не понимают что произошло и кто в этом виноват. Большинство (во всяком случае мои знакомые и родственики) думают что это вирус.
ну что, Яндекс, доигрался. Репутации конец. Теперь никогда не буду использовать этот Диск и сегодня пойду чинить папин комп, у которого наблюдаются аналогичные симптомы. Надеюсь и его переубедить.
Все пользователи, которые могли потенциально пострадать, получили дополнительные 200 ГБ на Диске. Подробнее читайте в нашем блоге: disk-blog.ya.ru/replies.xml?item_no=1498
я не пользуюсь Яндекс-диском сам, но пользуются мои родственники, которым я, как айтишник, помогаю. Чем меня порадует Яндекс в такой ситуации? Как компенсирует мне потерянные часы жизни?
И как это поможет починить папин комп?
200 ГБ почему то мне не выдали. Яндекс диск клиент был установлен, снёс видну, но был не залогинен. Как получить 200 ГБ?
Яндекс диск был разлогинен, снёс винду. При этом в браузере был залогинен, при этом у меня белый постоянный IP.
т.е.
а) с этого ИП скачана была проблемная версия
б) с этого ИП был залогинен в браузере
в) с этого ИП никто никогда больше не логинился в яндекс диск клиент, кроме моего аккаунта.
при этом саппорт говорит что нет, я не скачивал эту версию и доводы мои не хочет рассматривать.

Сейчас мы ищем и разлогиненных пользователей в наших логах. Подождите.
Хоть и Винду не юзаю давно, да и Яндекс диском не пользовался… Всен равно забекапился!
Слетела активация Windows. Стоит 7SP1 64-bit, не перезагружался. И как восстановить всё? Активация пишет что «возможно Windows не является подлинной» на любой запрос, нет даже такого пункта «активировать Windows». Выше писали про Dism, но оно не работает.
Таким же бедолагам как я. Запускаете cmd из под Администратора:

slmgr /ipk СЕРИЙНИК-ВАШЕЙ-ВИНДЫ
slmgr /ato

После этого slui.exe и следуете указаниям активации.
Да, но это не спасает тех файлов, что уже удалены. У меня например файлы Visual C++ 2010 улетели в трубу. Получается что надо проверять работоспособность вообще всех программ. Логичнее сделать бэкап нужных файлов и переставить систему.
Бэкап надо заранее делать.
Не понимаю, что мешает раз в месяц или чаще, делать образ системного раздела.
А программы и данные имхо следует размещать на отдельном разделе — и порядка больше и целее будут в случае чего.
У меня инсталлер не удалил ничего, потому что я не перезагружался. Конечно стоит почистить еще и реестр, чтобы после перезагрузки ничего не удалилось. В шапке написано:

Почистите параметр реестра PendingFileRenameOperations, который находится в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\
zombak, как ты определил что он ничего не удалил? Я тоже не перегружался, однако у меня он удалил.
PS. писал тебе в хабрапочту, чтобы здесь не флудить.
Ну а если серьезно, с установщиками и обновлениями у Windows вообще какой-то бардак:

C:\Windows\Installer — вроде стандартная папка, которая харнит в себе msi пакеты, для последующего удаления / восстановления программ, НО
C:\MSOCache — намекает на то, что сам MS не особо соблюдает правила
C:\AMD и тому подобные, ну разумеется, если можно MS, почему нельзя нам
Есть еще C:\Program Data\Package Cache — ну там тоже лежат msi пакеты (для VS), но изначально инсталлятор или апдейтер VS2012 зачем-то свои файлы вообще решил положить на другой раздел (выбирает самый большой)
Ну и на последок, многие программы свой инсталлятор тащат в C:\Program Data\*имя компании или программы*

В итоге — полнейший зоопарк, почему для такой простой задачи как установить программу — столько различных путей? Точно также можно и про обновление сказать, почему нельзя стандартизовать весь этот процесс и загнать всех в это счастье? Почему для этого пишут все свои костыли? Да, можно сказать есть — MarketPlace, магазин приложений, но им хоть какой-то значимый %% пользователей пользуются?

Конечно виноват во всей этой ситуации Яндекс, но и MS тоже в этой проблеме косвенно виноваты, всеж из-за поставленной однажды галочки «установить для всех пользователей» — разрешить работать инсталлятору все время в режиме бога — не вполне очевидное для пользователя поведение. А самое страшное — что это норма, для многих программ, запустил новый сервис от пользователя system, и все…

Тот же Oracle, ведь — сначало всплывает окошко, что вышла новая версия JVM, и при каждом обновлении появляется UAC окошко с повышением прав, почему Яндекс решил — что то, как они делают — один раз сказал да, и хватит — странная позиция…

И главное — по мнению Яндекса, проблема в тестировании, и то — что не отловили баг, а не в том, что их апдейтеру даются вообще такие права... Да я понимаю, что может для записи в Package Cache (если поставили галочку устанавливать для всех) требуется иногда повышение прав, может ваша программа использует сервисы, для обновления которых тоже требуется повышение прав, ну и пусть спрашивает каждый раз…

P.S. Если где ошибся — сильно не пинайте, я в кухне Windows вообще слабо разбираюсь :)
Тот же Oracle, ведь — сначало всплывает окошко, что вышла новая версия JVM, и при каждом обновлении появляется UAC окошко с повышением прав
Ой, не напоминайте об этом кошмаре! При обновлении сначала выдается окошко UAC, а при ответе «да» — в трее появляется маленькое ненавязчивое сообщение, что можно обновить Java. Ну кто, спрашивается, помешал им использовать другой порядок действий?
И ведь это приводится в качестве примера…
C:\AMD временная папка для ATIшных драйверов, после установки можно стоить — деинсталлятор и сами драйвера они держат в другом месте. Обычно так.
Самое интересное, что никто не вспомнил про WebDAV, который вполне себе универсален и таких вещей точно не сделает.
В случае с яндекс.диском он (у меня как минимум) работает не очень стабильно и быстро.
По всей видимости, самый простой способ узнать поразил ли вас недуг, проверить активацию Windows, если она слетела, можно смело переставлять систему.
Мда, особо не пользуюсь сервисами яндекса, но Яндеск.Дикс установлен на домашнем ПК на всякий случай.
Если не перезагрузиться и удалить ключи реестра нужные, всё будет нормально?
Всё что угодно, только не удаляйте, если версия — 1.1.5. Что-то плохое может произойти, только если удалять ЯД именно этой версии. Всё остальное безопасно =)
Если с багнутых версий пришло обновление на 1.1.8, то проблем не будет, багнутые .5-.7, в .8 исправлено удаление
У меня не было Яндекс Диска, а винда все равно слетела. Как они это делают?
Даже не удивился, что такое случилось с Яндексом. Пошел радовать ссылкой знакомых, которые мне писали: «Да не гони. Нормальная программа».

П.С. Благодаря Яндексу, теперь я внимательно изучаю все шаги при установке ПО. Надо же не забыть снять все галочки!
А при чём тут Яндекс? Галочки уже давно приходится просматривать, чтобы какой-нибудь тулбар случайно не поставить и домашнюю страничку не сменить.
В этом деле Яндекс, наверное, паразит №1.
Google, Mail.ru, MSN+Bing, Yahoo… все попадаются примерно одинаково.
Это уже зависит от скачанного ПО. В иностранном будут другие.

Я качаю с рунета больше, поэтому стал мастером по сниманию галочек Яндекса. :)

Яндекс не только тулбары ставит. Если не снять галочки, то поменяются в браузерах поисковые системы, добавятся закладки, стартовые страницы, появятся тулбары + установится их браузер. В общем беда.
Это вы с приложениями от Mail.Ru и в особенности с Guard@Mail.Ru видимо не сталкивались…
Что ни космическое средство передвижения, нет-нет да и напакостит
Ха, с первого взгляда прочитал Ваш комментарий как «Убеейте меня на хабре!».
Привидится же.
Народ сегодня мирный. Или все заняты восстановлением системы.
Не, поздно уже для самоубийства )
Это потому что пост из топа дня ушел?
Скорее из того соображения, что люди уже высказались и их внимание уже переключилось на что-то другое. Сам комментарий, после прошедшей волны в 540 комментариев, уже увидит не так много народу, а эмоциональную реакцию вызовет у еще меньшего числа. Как-то так.
То есть это такой позер-суицидник, да, я с Вами согласен.
На восстановление компьютера потрачены почти сутки. Спасибо Яндексу.
С современным ПО и надежностью железа надо быть всегда начеку: делать бекапы, бекапы бекапов и т д. Тогда можно спать спокойно.
Адептов секты необновляторов прибавилось.
Адептов секты «администраторов», думаю, поубавилось. :)
Когда была новость про клиент я.диска для линукс, я интересовался насчёт исходников. Были бы исходники, сообщество могло бы найти ошибку за пару лет до релиза.
Откуда на в линуксовой версии исходники инсталятора под винду?
Если бы программа распространялась под свободной лицензией, был бы меньше шанс, что её бы ставили при помощи закрытых инсталляторов, так как инсталлятор делали бы тоже с предпочтением свободного ПО. Если бы были исходники самой программы (пусть под линукс) и свободная лицензия, то нашлись бы люди, которые портировали на Windows. Был бы выбор, какую версию программы использовать: открытую или закрытую, как, к примеру с читалками PDF. Конкуренция обычно способствует развитию обеих версий. Ещё пример: quake. Компания выложила код в открытый доступ и это породило кучу замечательных модификаций. Я уверен, что именно конкуренция между ними до сих пор способствует их развитию и развитию закрытых версий quake. Не могу представить ситуацию, когда инсталлятор quake под какую-либо операционную систему сносит мне /usr или C:
Были бы исходники, сообщество могло бы найти ошибку за пару лет до релиза.
Не могу представить ситуацию, когда инсталлятор quake под какую-либо операционную систему сносит мне /usr или C:
Как будто открытость — панацея от ошибок, ну ну. Что же «сообщество» не спалило такой косячище в примере с Bumblebee из первого комментария? Опенсурс головного мозга какой-то.
> Как будто открытость — панацея от ошибок, ну ну. Что же «сообщество» не спалило такой косячище в примере с Bumblebee из первого комментария?
Спалило, и именно поэтому, в отличии от Яндекса ( habrahabr.ru/post/204580/#comment_7054952 — неделя тестов) баг было оперативно обнаружен и исправлен. Чувствуете разницу?

> Опенсурс головного мозга какой-то.
Вы не разобрались в ситуации с Bumblebee, но поспешили сообщить нам ваше ценное мнение про опенсорс. А думать головой, прежде чем писать, кто будет?
Всё-же добавлю немного позитива.
Если бы не новости то и не узнал бы что с ЯД были какие-то проблемы.
Посмотрел версию — 1.1.7, обновил на 1.1.8 автообновлением.
Всё работает, никаких проблем. Win7, Sp1.
Пользуюсь с первого дня работы яндекс-диска и буду пользоваться дальше.
Пробовал dropbox, sugarsync, google drive. ЯД оказался самым удобным.
Кхм. Волков бояться — в лес не ходить. Выбрасываем компьютеры срочно. С любой программой может такое произойти.
Поставил ради спортивного интереса Win7x64ProfSP1 в VMWare, сделал там двух пользователей с правами админов и установил проблемную версию 1.1.5. При инсталляции никаких вопросов «ставить только для конкретного прользователя либо для всех» задано не было. Деинсталляция проблем не вызывала, хоть из контрольной панели, хоть обновлением на 1.1.6, хотя в логе попытки удалить C:\Users присутствовали, но неудачные.
Воспроизвести проблему удалось, лишь отключив UAC. При деинсталляции в логе появились сообщения точно такие как в статье, а после перезагрузки слетела активация и тема Aero. Однако папка Users уцелела. Теоретически можно сравнить образы до и после инсталляции, но тут уже лень.

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

Однако похоже, что «ноги» у проблемы растут именно из-за отключённого UAC.
При запуске деинсталлятора «руками» и автоматически, через службу обновления, он получает разные права, так что эксперимент тут не совсем корректный.
Не, не думаю. Технически я вообще службы не вижу, есть только YandexDisk.exe, запущенный стандартным образом при старте из ветки HKCU\...\CurrentVersion\Run, эта программа слушает порт 80, как только прилетает обновление — скачивает и запускает, ибо все права на это имеет. Обновлятор запускается с теми самыми правами (по доугому он и не может), но из-за отключенного UAC не получает отлуп при вызове MoveFile а из-за напортачившего программиста проходит по всем папкам вплоть до корня. Если бы там работала служба обновления с более высокими правами, то полагаю, масштаб бедствия был бы куда как выше. Второй любопытный момент — формально вот так вот просто начисто снести папку Users нельзя, но часть файлов оттуда явно улетучивается. Вряд ли их сносит яндекс, тут похоже Windows сама пытается их почичтить перед удалением.
Я просто пытаюсь понять, почему бомба рванула не у всех и вот склоняюсь к мысли, что запалом тут был именно отключённый UAC. Исключительно чтобы на эти грабли самому не наступить — я тоже пишу похожие по сути инсталляшки.
А, понял, почему часть системных файлов улетает. Вот полный список, того, что яндекс пытается почикать:

C:\Windows\WindowsUpdate.log
C:\Windows\Installer
C:\Program Files\Yandex\YandexDisk\bin\YandexDiskOverlays-2398.dll
C:\Program Files\Yandex\YandexDisk\bin\
C:\Program Files\Yandex\YandexDisk\
C:\Program Files\Yandex\
C:\Program Files\
C:\Users\TEST\AppData\Roaming\Yandex\YandexDisk\YandexDiskInstaller-4326.exe
C:\Users\TEST\AppData\Roaming\Yandex\YandexDisk
C:\Users\TEST\AppData\Roaming\Yandex\
C:\Users\TEST\AppData\Roaming\
C:\Users\TEST\AppData\
C:\Users\TEST\
C:\Users\
C:\

он для пущей уверенности по нескольку раз пытается это сделать, дубликаты я убрал.
А где вы нашли эту версию?
Хотелось бы попробовать
Вытащил из стандартного бекапа Windows. Сейчас в дропбокс закину и ссылку в личку пошлю.
порадовало что «в дропбокс» :)
спасибо большое
Видимо в честь извинения Яндекс только что мне подарил 200 гигабайт места на Яндекс-диске. Коллега который пользуется Яндекс-диском только на на маке не получил ничего. Поэтому делаю вывод, что это все-таки своего рода извинения.
А вы в техподдержку яндекса обращались или оно само упало?
Само упало, минут 10 назад уведомление появилось в клиенте Яндекс-диска, мол «Поздравляем вас, вам добавлено 200 гигабайт на Яндекс диске».
Интересно, это навсегда, или на месяц\год?
Я думаю, что навсегда, так как нигде упоминаний о том, что есть дата истечения до которого предоставили эти 200 гигабайт нет, как это например сделано с бонусом в 32 гигабайта за автозагрузку фото и видео, который истекает 09.01.2015г.
Навсегда, так мне сказал представить Яндекса.
Мне не упало. А у меня всего-то разлогинен был Я.Д. в момент этого обновления.
Огрёб по-полной — дохлая активация, удалённые dll.
Саппорт Яндекса сказал, что все эти симптомы у меня не из-за них, т.к. 200Гб система раздала автоматически пострадавшим..
Даже логи YandexDiskInstaller'а посылал, не верят.
А что сотрудникам ЯД мешает написать багнутую и не оттестировать систему «раздачи 200Гб пострадавшим». )
Наверняка систему то писали впопыхах, а оттестировать по полной забыли.
И вот только Вы это написали, как 200Гб прилетело. Магия!
написал на почту саппорту Яндекса ибо тоже пострадал от этих апдейтов рабочий ноут, но в ответ тишина
Только что подарили 200гб на диске. Навсегда. Спасибо
«Чтобы сгладить неприятное впечатление от допущенной ошибки, мы увеличили
доступное для Вас пространство на Яндекс.Диске на 200 ГБ. Оставайтесь с нами.»

Нооо, не указано, на какой срок. Если насовсем… идеальное место для неличных бэкапов о_О
Да, уже вижу комментарий выше. Неплохо.
Может кому понадобится регулярка для notepad++ для лога яндекса.

^((?!succeeded).)*$

выделяет все строчки, где нет слова «succeeded» — то есть вы можете отфильтровать лог и увидеть только те файлы, которые удалились успешно, чтобы их восстановить.
в связи с темой — может кто-то не поленится и напишет простой tutorial про создание и развертке образа системного диска на каком-нибудь бесплатном аналоге Acronis'а или типа того? Если никто не найдётся, я займусь…
Акронис умеет прописываться при загрузке, проблем там собственно никаких. Если не считать того факта чтобы восстановить резервную копию надо дождаться загрузки акрониса — минут 10, протестировать резервную копию(по времени занимает столько же как восстановление) и ТОЛЬКО ПОТОМ можно приступать к восстановлению. Кстати, загвоздка именно в том чтобы догадаться что надо сделать сначала тест, и даже найти этот пункт в меню — задача нетривиальная. В итоге после загрузки акрониса пользователь видит печальное зрелище — не доступна ни одна резервная копия. Будто бы он даже забыл про свой же собственный раздел диска.
Интересная информация, спасибо.
Я же говорил про бесплатные аналоги акрониса, перечитайте пожалуйста. Сам акронис же платный? Платный. Значит большинство забьёт. А при наличии простого бесплатного аналога…
бесплатные аналоги… не умеют делать образ диска из-под самой же работающей системы. Для этого нужно драйвер специальный внедрять, пропуская через себя все обращения к диску… А в остальном, чего сложного в копировании всех файлов в один контейнер или даже посекторное копирование диска с последующим сжатием.
Именно этим моментом и отличаются бесплатные аналоги.
Как только прочитал, сразу полез смотреть логи.

2013-11-30 11:43:50.428 CleanGarbage started...
...
2013-11-30 11:43:50.430 RemoveDirectory: [C:\Users\] error: 5
2013-11-30 11:43:50.430 RemoveDirectory: [C:\Users\] cannot be scheduled to delete on reboot
...


Кажется, меня спасло то, что я никогда не работаю под администратором. :)

Да уж, эпично. Этот случай войдёт в печальную историю. Каждый, кто сидит под учётной записью администратора в своей системе, должен вспоминать об этом событии с содроганием!

Только вот не понятно, где же мои 200 Гб? Как было 10, так и есть. У меня есть доказательства, что Яндекс.Диск пытался уничтожить мои данные как «Garbage». :)
А так же спасло то что вы ставили программу только для своего профиля. Для всех пользователей это бы вас не спасло.

Articles