понедельник, 29 октября 2012 г.

Windows8, WinPE и сервер WDS на 2008 R2

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

Фигня вопрос, скачал ISO-образ, добавил на сервер WDS wim-файл установки, начинаю установку через свой привычный загрузочный образ WinPE (Preinstallation Environment - кто не знает) от Windows7, с помощью которого я ставлю все имеющиеся образы - не встаёт, выдаёт ошибку. Ошибку, кстати, выдаёт на этапе "установка компонентов".

Добавляю образ загрузки (boot.wim) из дистрибутива Windows8 и ставлю через него - работает, но не видит никаких других образов установки на сервере WDS, кроме Windows 8. Обидно.

Резюмирую:
Образ загрузки Windows 7: устанавливает WinXP/Vista/7/Server 2003/2008, не устанавливает Win8 (но видит!).

Образ загрузки Windows 8: устанавливает только Win8, образы установки других систем просто не видит.

Возможно с первым сервис паком что-то поменяется.
Обидно, что пропала унификация. Было удобно устанавливать всё через один образ.

четверг, 25 октября 2012 г.

Решение ошибки "PXE-E51" при подключении к серверу WDS

Больше года я использую для подготовки рабочих станций службу Windows Deployment Services, являющуюся частью Windows Server 2008 R2.

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

На определённой серии десктопов (материнки Gigabyte GA-945GCM-S2L) ни в какую не подключалось и выдавало следующую ошибку:
PXE-E51: No DHCP or proxyDHCP offers were received
В интернете почти все предлагают ковырять DHCP-сервер, однако проблема не в нём (т.к. все остальные машины прекрасно подключаются к сервису). DHCP-сервер я, конечно, тоже проверил, но там было всё ок.
Также я пробовал перепрошить BIOS материнки, т.к. это может хоть как-то повлиять на настройки встроенной сетевой карты - безрезультатно.

В итоге ответ был найден в архиве британского форума tomshardware:
Try starting the RIS and as the client is attempting to get a dhcp reply, hit pause on your keyboard. Pause for 15 or 20 seconds and hit Enter to resume. Sometimes that helps. 
И это работает! 

Источник:  http://www.tomshardware.co.uk/forum/228545-36-error-3com-cards#t822915

понедельник, 13 декабря 2010 г.

Автоматический бекап сайта по FTP

Очередной запихиваемый в cron скриптик для бекапа содержания сайта по FTP

#!bin/sh
cd /tmp/ #меняем рабочий каталог
prefix=ftp_backup #формируем имя архива: префикс
suffix=`date +%Y%m%d` #формируем имя архива: формат даты
archname=$prefix$suffix.tar.bz2 #складываем в одно и дописываем тип архива
login=root # логин на ftp
pass=pa$$w0rd # пароль
site=mydomain.ru # имя домена
whattocopy=* # что копировать (в данном случае - всё)
wget -q -r -l 12 ftp://$login:$pass@$site/$whattocopy #создаётся папка с именем $site
tar -cjf $archname $site #данную папку мы и архивируем
rm -R $site # удаляем рабочую папку, в которую была произведена закачка
mv $archname /home/backup/ftp_site/ # помещаем архив в хранилище бекапов

P.S. количество бекапов можно проверять нижеуказанным скриптом, либо просто внедрить его сюда
P.S.S. по идее в целях экономии траффика можно не удалять рабочую папку, а просто инкрементно добавлять туда изменения, но надо смотреть, умеет ли это wget.

пятница, 26 ноября 2010 г.

Скрипт автоматической проверки количества файлов

Суть какова:
Есть файловый сервер на Windows Server 2003й, с него делаются разносортные бекапы с помощью Cobian Backup, в том числе и на линуксовый сервер через ftp.

И всё бы хорошо, но одно задание (очень тяжёлое по объёму), копируется нормально, но не удаляется оттудова (ибо имя на русском). Не делаю архив с английским именем потому, что очень объём большой, а с этим глюки периодически возникают. Да и искать под "кеш" создаваемого архива 35 гигов чот не охота. Проще скопировать как есть. и пох.

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

Решил автоматизировать это дело простеньким скриптом, дабы не парить себе мозг на тему, что "вдруг переполнится".
Вариант "переделать всё" ленив... проще написать костыль)))

В итоге делаем что:
1) считаем количество папок - переменная b
2) высчитываем разницу (текущее количество минус нужное количество) - переменная a
3) удаляем лишнее

#!bin/sh
cd /home/backup/ # переход в рабочую папку
b=$(ls | grep -c BACKUP) # считаем количество элементов, в имени которых встречается слово BACKUP
a=`expr $b - 5` # высчитываем разницу
if [ $a -gt 0 ] # задаём условие
then
rm -R $(ls | grep -m $a BACKUP) # удаляем первые "a" элементов (самые старые), в имени которых встречается слово BACKUP
fi# выход из if

Скрипт естественно засовываем в cron и он работает сам )))

пятница, 15 октября 2010 г.

Режем PDF-ку с отсканированной книжкой (переплёт посередине)

Мелочь, а сделать сие действие быстро и удобно не выходит. ScanKromastor под винду я не осилил, интерфейс хуже некуда.

На пределах ЛОРа найдено решение (аффтару somestuff респект):

num=0 && convert SOURCE.pdf page_%d.jpg && for i in page*.jpg ; do convert -crop 50%x0 page_$num.jpg $(printf crop_page_"%0.4d" $num).jpg && let "num += 1" ; done && rm ./page* && convert ./crop_page_*.jpg out.pdf && rm ./crop_page_*.jpg 

Из пакетов, делающих всю работу, нужен, кажется, только imagemagick.
Набор команд разбирает скормленную ей pdf-ку (думаю, можно и tiff и djvu спокойно скормить) на кучу jpeg файлов (правильным образом нарезая), после чего слепляет снова всё в один pdf файл (можно сменить на tiff или по вкусу).

Данный скрипт рассчитан на документы, расположенные горизонтально.
Если же препарируемый распологается вертикально, можно поступить двумя путями:
1) перевернуть документ в нужную сторону и не ломать голову. для этого использовал первое, что пришло в голову (не заглядывая в man), используя тот же набор софта:
convert -rotate 90 source.pdf destination.pdf
Тем самым повернул документ на 90 градусов по часовой стрелке.

2) Подравить параметр "обрезки".
Вместо crop 50%x0 я поставил crop 0x50%, тем самым обрезав половину не слева, а сверху.

Если, например, переплёт смещён куда-то в сторону, то можно играться параметром 50%. В одной книге я поставил 53%, тем самым левая половина полученного документа была чуть больше, чем правая.

Скорость работы - почти мгновенная.

P.S. Есть ещё альтернативная софтина unpaper, тоже консольная.
Но сходу в неё не вкурил, а под руку попался данный скрипт, который и был применён для поставленной задачи.

P.S.S. замечено падение качества на некоторых PDF-ках. В мане написано, что по умолчанию качество ставится 72 dpi.
Чтобы этого избежать используем ключи -density 250 -quality 100% -compress lossless, чтобы установить DPI в 250 и отключить потери по JPEG.