вторник, 24 декабря 2019 г.

Удаление Агента Dr.Web для OC Windows®

download.geo.drweb.com


Удаление Агента Dr.Web и антивирусного пакета по сети
Удаленная установка и деинсталляция ПО Агента возможны только в локальной сети и требуют полномочий администратора в этой сети.
Если удаление Агента и антивирусного пакета осуществляется при помощи Центра управления, то Карантин со станции удален не будет.
Для того чтобы удалить ПО антивирусной станции удаленно (только для ОС семейства Windows):
1.Выберите пункт Антивирусная сеть главного меню Центра управления.
2.В открывшемся окне в каталоге антивирусной сети выберите необходимую группу или отдельные антивирусные станции.
3.На панели инструментов каталога антивирусной сети нажмите Общие → Деинсталлировать Агент Dr.Web.
4.ПО Агента и антивирусный пакет будут удалены с выбранных вами рабочих станций.
Если команда для запуска процесса удаления задается на тот момент, когда нет связи между Сервером Dr.Web и антивирусной станцией, удаление ПО Агента на выбранной антивирусной станции произойдет, как только такая связь будет восстановлена.
Удаление Агента Dr.Web и антивирусного пакета локально
Для возможности локального удаления Агента и антивирусного пакета, данная опция должна быть разрешена на Сервере в разделе Права (см. Руководство администратора, п. Права пользователей станции).
Удаление антивирусного ПО станции (Агента и антивирусного пакета) можно осуществить двумя способами:
1.Используя штатные средства ОС Windows.
2.При помощи инсталлятора Агента.
Если удаление Агента и антивирусного пакета осуществляется при помощи штатных средств ОС Windows или при помощи инсталлятора Агента, то пользователю будет выдан запрос на удаление Карантина.
Удаление штатными средствами ОС Windows
Данный метод удаления доступен только в том случае, если при установке Агента с помощью графического инсталлятора был установлен флаг Зарегистрировать агент в списке установленных программ.
Если Агент был установлен в фоновом режиме инсталлятора, то удаление антивирусного ПО штатными средствами будет доступно только если при инсталляции был использован ключ /regagent yes.
Для удаления Агента и антивирусного пакета штатными средствами ОС Windows воспользуйтесь элементом Панель управления → Установка и удаление программ (подробная инструкция приведена в Руководстве пользователя для Агента Dr.Web для Windows).
Удаление при помощи инсталлятора
•Клиентский модуль win-es-agent-setup.exe
Для того чтобы удалить ПО Агента и антивирусный пакет при помощи клиентского модуля, который создается при установке Агента, запустите установочный файл win-es-agent-setup.exe c параметром /instMode remove. Дополнительно используйте параметр /silent no, если требуется обеспечить контроль за ходом удаления.
Установочный файл win-es-agent-setup.exe по умолчанию располагается в следующем каталоге:
▫для ОС Windows XP и ОС Windows Server 2003:
%ALLUSERSPROFILE%\Application Data\Doctor Web\Setup\
▫для ОС Windows Vista и старше и для ОС Windows Server 2008 и старше:
%ALLUSERSPROFILE%\Doctor Web\Setup\
Например, для Windows 7, где %ALLUSERPROFILE% соответствует C:\ProgramData:
C:\ProgramData\Doctor Web\Setup\win-es-agent-setup.exe /instMode remove /silent no
•Инсталляционный пакет drweb-ess-installer.exe
Для того чтобы удалить ПО Агента и антивирусный пакет при помощи инсталляционного пакета запустите установочный файл drweb-ess-installer.exe той версии продукта, которая у вас установлена.
•Полный инсталлятор drweb-esuite-agent-full-<версия_Агента>-<версия_сборки>-windows.exe
Для того чтобы удалить ПО Агента и антивирусный пакет при помощи полного инсталлятора запустите установочный файл drweb-esuite-agent-full-<версия_Агента>-<версия_сборки>-windows.exe той версии продукта, которая у вас установлена.
•Сетевой инсталлятор drwinst.exe
Для того чтобы удалить ПО Агента и антивирусный пакет при помощи сетевого инсталлятора на станции локально, необходимо в каталоге установки Агента Dr.Web (по умолчанию – C:\Program Files\DrWeb) запустить инсталлятор drwinst.exe с параметром /instMode remove. Дополнительно используйте параметр /silent no, если требуется обеспечить контроль за ходом удаления.
Например:
drwinst /instMode remove /silent no
При запуске инсталляционного пакета drweb-ess-installer.exe, полного инсталлятора drweb-esuite-agent-full-<версия_Агента>-<версия_сборки>-windows.exe и сетевого инсталлятора drwinst.exe осуществляется запуск клиентского модуля win-es-agent-setup.exe, который непосредственно осуществляет удаление.
Клиентский модуль win-es-agent-setup.exe, запущенный без параметров, определяет установленный продукт и запускается в режиме изменения/удаления. Для запуска сразу в режиме удаления, используйте ключ /instMode remove.

среда, 18 декабря 2019 г.

Формирование документов на основе ODT шаблонов. ODT to PDF

habr.com


Здравствуйте, уважаемы хабровчане!
Не так давно мне пришлось столкнуться с типичной задачей – формировать документы с пользовательскими данными на основе шаблонов ODT средствами PHP. Звучит весьма тривиально, но намучиться пришлось сильно. Дело в том, что ни одно из доступных средств, так или иначе, не подошло. Одни библиотеки формировали документ криво, другие не поддерживали русские шрифты, третьи – двигали картинки в стиле Harlem Shake. Вот и пришлось «велосипедить».
Итак, задача вкратце:
  1. Обработать ODT шаблон. Заменить placeholder’ы на пользовательские значения
  2. Конвертировать в pdf. Показать пользователю
ЭТАП 1. Обработать ODT шаблон. Заменить placeholder’ы
Ни для кого не секрет, что ODT — это обычный архив с xml на борту. Все картинки прячутся в папке, название которой может быть любым, лишь бы на нее ссылались в файле описаний. Не будем вдаваться в подробности: достаточно лишь сказать, что за основной контент документа отвечает content.xml, за «описательную» часть – manifest.xml. Обращаю внимание, что стили текста нас не интересуют (по крайней мере, в условиях данной задачи). Копнув чуть глубже эти xml’ки выводим алгоритм:
  1. Распаковать архив
  2. Для подмены текста: парсим content.xml, заменяем placeholder’ы на нужные значения
  3. Для изображений: загружаем свои изображения в папку (создаем ее внутри распакованного .odt документа), парсим content.xml, заменяем placeholder’ы на frame вида
    <draw:frame draw:style-name="a0" draw:name="'.$file_name.'"  
    text:anchor-type="as-char" svg:x="0in" svg:y="0in" svg:width="'.$width.'in" 
     svg:height="'.$height.'in" style:rel-width="scale" style:rel-height="scale">
        <draw:image xlink:href="'.self::_ImgDir.DIRECTORY_SEPARATOR.$file_name.'" 
     xlink:type="simple" xlink:show="embed" xlink:actuate="onLoad"/>
       <svg:title/>
       <svg:desc/>
    </draw:frame>
    
    Далее, добавляем в конец manifest.xml блок вида
    <manifest:file-entry manifest:full-path="'.self::_
    ImgDir.DIRECTORY_SEPARATOR.$file_name.'" manifest:media-type="image/'.$ext.'"
     />
    

  4. Архивируем результат обратно в ODT.
Алгоритм явно упрощен, зато действенен и легок. На его основе был написан класс (на коленках) odtFormat. Небольшая справка о том, как им пользоваться:
Инициализация
$odtformat = new odtFormat(“$doc_path”, "$temp_dir");
$doc_path – путь до шаблона .odt
$temp_dir – папка, в которой будут храниться временные файлы.
Вставка текста
$odtformat->SetText(“$name”, “$value”);
$name – имя placeholder’а
$value – пользовательское значение
Вставка изображения
$odtformat->SetImage(“$name”, “$img_path” ,$width, $height);
$name – имя placeholder’a
$img_path – путь до картинки
$width – желаемая ширина изображения в документе (если не задать – ширина оригинала)
$height – желаемая длина изображения в документе (если не задать – длина оригинала)
Сохранение документа
$odtformat->SaveToDisk(“$path_to_save”);
$path_to_save – куда будем сохранять (путь+имя файла)
Остальные методы не привожу, все можно увидеть в исходнике. Тем более, что большинство вспомогательных методов взято из публичных источников. Да и сам код прост, как две копейки. Приведу лишь некоторые настройки:
const _SeporatorLeft = '{{';
Отделяет placeholder от текста слева
const _SeporatorRight = '}}';
Отделяет placeholder от текста справа
const _ImgDir = 'media';
Имя папки с пользовательскими изображениями
Ну вот, можно сказать, что файл .odt, заполненный нужными нам данными, уже сформирован. Время для второго этапа.
Внимание! Чтобы placeholder'ы заменялись корректно, при добавлении их в документ используйте «Очистить формат». Класс использовал для MS World 2013. Но что-то мне подсказывает, что содержание odt одинаково и в других версиях.
ЭТАП 2. Конвертировать в pdf. Показ пользователю
Сразу скажу, что идеального решения так и не нашел. Решений, по существу, практически нет. Перерыв «интернеты», наткнулся на горстку тяжеловесов, zend примочек и просто хлама. Так что, расскажу все, как было.
Первым делом, пытался использовать онлайн-сервисы. Сначала был Google Docs. Тут все ясно. Просто показ документа на странице через iframe, избегая самого конвертирования.
Пример:
<iframe src="http://docs.google.com/viewer?url=http%3A%2F%2F127.0.0.1%2Fa.
odt&embedded=true" width="600" height="780" style="border: none;"></iframe>
Минусы:
  • Скорость отображения
  • Кривое форматирование
  • При использовании сторонних библиотек для формирования odt, появлялся странный белый лист вначале документа
  • Не pdf
  • Онлайн
Плюсы:
  • Простота
Очевидно, что данное решение долго не жило. Стоит глянуть в сторону Microsoft с их Office Apps. Интересным хинтом стало конвертирование pdf как версии для печати (встроенная функция онлайн сервиса). Таким образом, можно средствами Microsoft конвертировать файл и тут же его показать.
Пример:
<iframe src="http://co1-word-view.officeapps.live.com/wv/WordViewer/request.
pdf?WOPIsrc=http%3A%2F%2Fco1%2D15%2Dview%2Dwopi%2Ewopi%2Elive%2Enet%3A808%2Foh%
2Fwopi%2Ffiles%2F%40%2FwFileId%3FwFileId%3Dhttp://127.0.0.1/a.odt&type=printpdf" 
 width="600" height="780" style="border: none;"></iframe>
Минусы
  • Безумно долго
  • Решение, само по себе, кривое
  • Непредсказуемое поведение в разных браузерах
  • Так и не удалось избавиться от окна печати
  • Онлайн
Плюсы
  • Качественное конвертирование
Не найдя больше достойных онлайн-вариантов, решено было использовать средства сервера. С этой задачей хорошо справляется Libreoffice. У него есть встроенный конвертер документов, работающий из командной строки. Идея заключалась в том, чтобы забрасывать сформированные odt в папку, передавать ее ключом к exec, отображать уже готовые pdf, лежащие в той же папке. Положим, что apt-get install libreoffice мы уже сделали. Осталось лишь дописать одну строку кода:
exec(“libreoffice --headless --invisible --convert-to pdf $full_path_to_file 
--outdir $full_path_to_dir”);
$full_path_to_file – полный путь до файлов (/var/www/*.odt)
$full_path_to_dir – полный путь до папки сохранения (/var/www/result/)
Как показать pdf в iframe, я думаю, вы и сами знаете.
Минусы
  • Нужен доступ к серверу
  • Тяжелый пакет libreoffice
  • exec (подобные команды в коде – дело не очень-то хорошее)
Плюсы
  • Заметный прирост в скорости
  • Качественное форматирование
  • Удобство использования готовых документов
  • Абсолютно локальное решение
Заключение
При всех недостатках решения — цели выполнены. Надеюсь, что эта статья поможет избежать некоторых трудностей при выполнении подобной задачи. Всем удачного кодинга!

вторник, 10 декабря 2019 г.

Выбираем винчестер

Выбираем винчестер



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

Емкость

Как правило, емкость жесткого диска является основным его параметром, некоторые покупатели даже считают что винчестеры отличаются между собой только по объему вмещаемой информации. Конечно, это далеко не так, однако показатель емкости действительно напрямую влияет на цену жесткого диска. Сейчас стало очень модно покупать жесткие диски по 2 и 3 терабайта, уверен, что как только станут доступными диски по 10-20 терабайт, большая часть пользователей тут же бросится приобретать новинки. На самом деле объем в несколько терабайт нужен далеко не каждому пользователю ПК, поэтому не нужно вестись на рекламу, а лучше самому сесть и прикинуть, сколько гигабайт информации в среднем вы планируете хранить на винчестере. Некоторым заядлым киноманам и геймерам действительно нужны вместительные жесткие диски, чтобы закидывать туда все эти огромные игровые архивы, сотни фильмов в HD-разрешении и так далее… Ну а если вы предпочитаете смотреть фильмы и видео онлайн, музыку храните на телефоне или плеере, а фотографии – на флешке, то подумайте сами – к чему вам терабайты свободного пространства? Кроме того стоит учесть, что в жестких дисках большого объема используется не одна, а несколько пластин, называемых также «блинами», и чем больше этих пластин, тем ниже скорость работы винчестера, а заодно и выше его тепловыделение, что не есть хорошо.

Внешняя скорость передачи данных

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

Объем буферной памяти

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

Скорость вращения шпинделя

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

Время произвольного доступа

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

Ударостойкость

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

Уровень шума

Уровень шума жесткого диска также делят на два параметра: уровень шумности при простое и уровень шумности во время работы. Под шумом при простое подразумевается уровень шума, создаваемый жестким диском тогда, когда он работает, но не выполняется никакие операции с данными на нем. В этом случае шум создают лишь вращающиеся диски винчестера. Уровень шума при работе – это шум, который создается жестким диском, когда он выполняет операции по чтению/записи информации на магнитный диск – тогда, помимо вращающихся «блинов», шум создают также движущиеся головки чтения/записи. Тем, кто стремится к высокой производительности компьютера, скорее всего придется смириться с высоким уровнем шума, издаваемого жестким диском – скоростные винчестера обычно не отличаются тихоходностью. А вот для пользователей, которые вынуждены часто работать по ночам, уровень шума является одним из наиболее важных показателей, поскольку шумный компьютер и днем порой раздражает, а ночью он просто невыносим.

Время наработки на отказ

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