суббота, 28 мая 2011 г.

VirtualBox service или Автозапуск виртуальной машины в VirtualBox под windows host

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

Есть 3 наиболее распространенных варианта автозапуска виртуальной машины:

а) Через планировщик задач, но для этого необходимо написать батник, который и будет запускать машину. В написани батников я не силен, да и в планировщик не верую. [b:page1]
б) Использовать VBoxVmService, но с этой штукой надо еще разобраться. [d] /UPD/ очень хорошо метод описан в этой статье.
в) С помощью 2х файликов из комплекта Windows Resource Kit создать пользовательский процесс, который будет стартовать нашу машину. [b:page2][c]

Рассмотрим третий способ:

1) Добываем файлики Srvany.exe и Instsrv.exe, которые есть в комплекте Windows Resource Kit, я брал отсюда.[a] Оба файла нужно поместить в C:\Windows\system32

2) Запускаем консоль (пуск > выполнить > cmd) и добавляем в нее запись ниже, заменяя выделенное жирным шрифтом на названия нашего будущего сервиса, первое название по идее должно быть без пробела, второе как пожелаете:

sc create ServiceName binPath= "%SystemRoot%\System32\srvany.exe" start= auto DisplayName= "Service Name"

Если все прошло удачно, то ответят что-то вроде success =)
Чтобы проверить работает ли процесс надо открыть services и попробовать стартануть его вручную.

Важно: далее все названия и пути указываем без кавычек (без 'example').

3) Запускаем `regedit` и ищем наш сервис тут '[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName]'

3.1) Добавляем раздел (section) и наываем его 'Parameters'

3.2) В этом разделе создаем ключ StringValue, называем 'Application' изменяем значение на 'C:\Program Files\Sun\VirtualBox\VBoxHeadless.exe'

3.3) В этом же разделе создаем ключ StringValue, называем 'AppParameters' изменяем значение на '-s VmName -vrdp=off'
заменив VmName на название вашей виртуальной машины.

3.4) Там же создаем ключ StringValue, называем 'AppDirectory' изменяем значение на 'C:\Program Files\Sun\VirtualBox\'

4) Запускаем `gpedit.msc` и находим 'Computer Configuration/Windows Settings/Scripts/Shutdown'
Создаем скрипт и называем его 'C:\Program Files\Sun\VirtualBox\VBoxManage.exe', либо выбираем путь до него кнопкой browse, параметры задаем 'vboxmanage controlvm VmNname savestate'

заменив VmName на название вашей виртуалки.

Скрипт должен сохранять состояние виртуалки перед завершением процесса.[e]

5) Копируем папку '.VirtualBox' из 'C:\Users\YourUser\' (где YourUser - имя вашей учетной записи) в 'C:\Windows\System32\config\systemprofile\'

Важно: 5 пункт нужно повторять после каждого изменения свойств машины, иначе она может не стартануть в следующий раз

Проверить запускается ли виртуалка можно поискав процесс VBoxHeadless.exe, если он есть значит машинка запущена. Также при наличии роутера в настройках сети для машины можно заменить NAT на bridge, тогда роутер отдаст по DHCP адрес из вашей подсети, если сказать роутеру мак виртуалки, то можно задать ей постоянный внутренний IP. Теперь можем проверить не залогиниваясь, работает ли наша машинка, попингав ее с другого компа. Настроив port forwarding можем получить к ней доступ, например по ssh, из внешней сети.

Ну вот и все +) Удачных настроек!



Использовал источники:
[a]http://forum.oszone.net/post-1207018.html
[b]http://forums.virtualbox.org/viewtopic.php?f=6&t=1887&start=15
[c]http://support.microsoft.com/kb/137890
[d]http://forums.virtualbox.org/viewtopic.php?p=16914
[e]http://www.windows-help-central.com/windows-shutdown-script.html

воскресенье, 22 мая 2011 г.

Точка доступа на основе wi-fi карточки D-link DWA-520 (ath5k)

Хотите получить wi-fi точку доступа из барахла которое завалялось в гараже? Тогда вам под кат т.к., сегодня мы будем собирать программную точку доступа (AP) на основе wi-fi карточки D-link DWA-520 на чипсете Atheros AR5001X+ (ath5k) и Ubuntu Server 9.04.

Сперва удостоверяемся в том, что карточка определяется:
lspci -v

Вывод должен быть примерно таковым:
...  01:0b.0 Ethernet controller: Atheros Communications Inc. Atheros AR5001X+ Wireless Network Adapter (rev 01)         Subsystem: D-Link System Inc Device 3a73         Flags: bus master, medium devsel, latency 168, IRQ 10         Memory at fc9f0000 (32-bit, non-prefetchable) [size=64K]         Capabilities:          Kernel driver in use: ath5k         Kernel modules: ath5k  ... 

Как видно, для нашей карты используется драйвер ath5k.
Для нормальной работы необходимо обновить ядро до более нового (в стандартной поставке ядро 2.6.28). Штатными средствами это сделать не удаётся — поэтому будем качать и ставить пакеты с новым ядром. Ядра лежат вот тут: http://kernel.ubuntu.com/~kernel-ppa/mainline/.
Качаем пакеты с ядром:
wget -c http://kernel.ubuntu.com/%7Ekernel-ppa/mainline/v2.6.30.5/linux-headers-2.6.30-02063005-generic_2.6.30-02063005_i386.deb wget -c http://kernel.ubuntu.com/%7Ekernel-ppa/mainline/v2.6.30.5/linux-headers-2.6.30-02063005_2.6.30-02063005_all.deb wget -c http://kernel.ubuntu.com/%7Ekernel-ppa/mainline/v2.6.30.5/linux-image-2.6.30-02063005-generic_2.6.30-02063005_i386.deb wget -c http://kernel.ubuntu.com/%7Ekernel-ppa/mainline/v2.6.30.5/linux-source-2.6.30_2.6.30-02063005_all.deb 

Последнее качать не обязательно, это исходники ядра.
Устанавливаем:
sudo dpkg -i *.deb

Перезагружаемся.
Теперь нам необходимы свежие версии драйверов на wi-fi. Для этого идём на сайт http://linuxwireless.org. Как гласит вот эта страничка: http://linuxwireless.org/en/users/Drivers — ath5k драйвер не поддерживает работу в режиме AP в стандартной комплектации. Но это поправимо накладыванием патча на исходники ath5k.Для этого сначала скачаем исходные коды драйверов отсюда http://linuxwireless.org/en/users/Download. Нас интересует сборка под 2.6.30 ядро поэтому:
wget http://www.orbit-lab.org/kernel/compat-wireless-2.6-stable/v2.6.30/compat-wireless-2.6.30.tar.bz2

Далее распаковываем всё это хозяйство:
tar jxvf compat-wireless-2.6.30.tar.bz2 

Теперь редактируем исходники (не нужно пугаться — тут всё очень просто). В файлике compat-wireless-2.6.30/drivers/net/wireless/ath5/base.c ищем вот такое место:
hw->wiphy->interface_modes =         BIT(NL80211_IFTYPE_STATION) |         BIT(NL80211_IFTYPE_ADHOC) |         BIT(NL80211_IFTYPE_MESH_POINT);

И приводим его вот к такому виду, добавив стоку "BIT(NL80211_IFTYPE_AP) |":
hw->wiphy->interface_modes =         BIT(NL80211_IFTYPE_STATION) |         BIT(NL80211_IFTYPE_ADHOC) |         BIT(NL80211_IFTYPE_AP) |         BIT(NL80211_IFTYPE_MESH_POINT);

Далее собираем и устанавливаем:
    make     sudo make install     sudo make unload

Для точности эксперимента ребутаемся, хотя это и не критично вроде =).
Далее нам необходимо установить hostapd. Я рекомендую ставить самую последнюю версию:
wget -c http://mirror.yandex.ru/ubuntu/pool/universe/h/hostapd/hostapd_0.6.9-3_i386.deb

Теперь приступим к его настройке. Копируем старый конфиг:
sudo mv /etc/hostapd/hostapd.conf /etc/hostapd/original-hostapd.conf

И пишем в новый:
sudoedit /etc/hostapd/hostapd.conf 

вот это:
    interface=wlan0     driver=nl80211      #Ваше названи точки доступа     ssid=MySuperAP     country_code=RU     hw_mode=g     channel=1      macaddr_acl=0      wpa=3     wpa_key_mgmt=WPA-PSK     #Ваш пароль     wpa_passphrase=MySuperPass123     wpa_pairwise=TKIP CCMP

Далее:
    sudoedit /etc/default/hostapd      RUN_DAEMON="yes"     DAEMON_CONF="/etc/hostapd/hostapd.conf"

Теперь приступаем к общим настройкам сети.
Разрешаем форвардинг трафика:
sudoedit /etc/sysctl.conf

и расскоментируем строку:
net.ipv4.ip_forward=1 

Редактируем интерфейсы:
    sudoedit /etc/network/interfaces      #Обратная петля     auto lo     iface lo inet loopback      #Интерфейс на который приходит интернет к примеру от модема     auto eth0     iface eth1 inet static             address 192.168.1.2             netmask 255.255.255.0             gateway 192.168.1.1      #Наш wi-fi интерфейс     auto wlan0     iface wlan0 inet static             address 192.168.0.1             netmask 255.255.255.0             gateway 192.168.0.1             pre-up iptables-restore /etc/iptables.rules

Создаём файлик правил iptables:
sudoedit /etc/iptables.rules

пишем в него правило для маскарадинга:
    # Generated by iptables-save     *nat     :PREROUTING ACCEPT [4430:389020]     :POSTROUTING ACCEPT [24:2723]     :OUTPUT ACCEPT [28:3602]     -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE     COMMIT

Ставим и настраиваем dhcp сервер:
    sudo aptitude install dhcp3-server     sudoedit /etc/dhcp3/dhcpd.conf

Примерно так должен выглядеть конфиг:
    ddns-update-style none;     option domain-name "MySuperNet";     option domain-name-servers IPS_OF_DNS_SERVERS;     default-lease-time 42300;     max-lease-time 84600;     log-facility local7;     subnet 192.168.0.0 netmask 255.255.255.0 {       range 192.168.0.100 192.168.0.200;       option routers 192.168.0.1;     }

Далее в файле:
sudoedit /etc/default/dhcp3-server 

Указываем наш интерфейс для раздачи слонов айпишников:
INTERFACES="wlan0"

Теперь с чистой совестью и распирающей гордостью можем перезагружать наш роутер и наслаждаться wi-fi интернетом и сэкономленными деньгами на покупке железного роутера.

З.Ы. Для отлова неполадок hostapd логи смотрим вот тут:
tail -f /var/log/daemon.log

Полезные ссылки


1. Всё о драйвере ath5k: http://madwifi-project.org/wiki/About/ath5k;
2. Подробнее про hostapd читаем тут: http://hostap.epitest.fi/hostapd/ либо оригинальный конфиг;
3. Сайт посвящённый wi-fi драйверам: http://linuxwireless.org;
4. Два howto, которые помогли в написании этого творения: http://forum.ubuntu.ru/index.php?topic=61834 и http://forum.ubuntu.ru/index.php?topic=62844.

Microsoft Application Virtualization 4.5 Resource Kit Tools.

В этой статье рассказывается про App-V 4.5 Resource Kit Tools- набор дополнительных бесплатных утилит для администрирования App-V 4.5. Статья будет интересна администраторам App-V, специалистам по виртуализации приложений и всем, кто хочет узнать больше про App-V.

Содержание статьи:

image



1. Application Virtualization Application Listing Tool.

Application Listing Tool- утилита, которая показывает список виртуальных приложений, работающих в настоящий момент. Так же предоставляется информация о каждом приложении- PID, имя процесса, приоритет, и т.д.

На скриншоте можно увидеть как работает эта утилита (запущен виртуальный iTunes, не удивляйтесь, что показано 3 процесса- они все относятся к iTunes'у):

image

2. Application Virtualization Cache Configuration Tool.

Cache Configuration Tool- утилита, с помощью которой можно изменить настройки кеша (например, указать минимальный объем свободного места на диске для кеша), в котором хранятся виртуальные приложения. В кеш приложения попадают при первом запуске, он нужен, чтобы каждый раз при запуске приложения не скачивать его по сети с сервера App-V.

На скриншоте можно увидеть как работает эта утилита (указывается минимальный объем свободного места на диске для кеша- 2048 Мб):

image

3. Application Virtualization Client Log Parser Utility.

Client Log Parser Utility- утилита, с помощью которой можно анализировать логи App-V.

На скриншоте можно увидеть как работает эта утилита (на входе принимается директория с логами, на выходе- файл с результатами анализа):

image

4. Application Virtualization Dynamic Suite Composition Tool.

Dynamic Suite Composition — это особенность App-V 4.5, позволяющая секвенировать приложение независимо от приложения, от которого оно зависит.
Например, возможно секвенировать приложение, написанное на Pyhton'е независимо от интерпретатора Python'а, т.е. создать отдельное виртуальное приложение, содержащее приложение на Python'е, и отдельное виртуальное приложение, содержащее интерпретатор Python'а. В предыдущих версиях App-V (до версии 4.5) такие приложения надо было секвенировать совместно, т.е., возвращаясь к нашему примеру, нужно было создать одно виртуальное приложение, содержащее и приложение на Python'е, и интерпретатор Python'а.

Dynamic Suite Composition Tool- утилита, с помощью которой можно редактировать OSD- файлы виртуальных приложений, чтобы указать зависимость приложений друг от друга.

На скриншоте можно увидеть как работает эта утилита (указывается зависимость виртуального iTunes'а и Access'а, разумеется, в реальности никакой зависимости нет, это просто пример):

image

5. Application Virtualization SFT Parser Tool.

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

На скриншоте можно увидеть как работает эта утилита (просмотр содержимого файла iTunes_2.sft):

image

Скачать Microsoft Application Virtualization 4.5 Resource Kit Tools можно здесь.

Оригинал http://habrahabr.ru/blogs/personal/50827/

Виртуализация приложений с помощью Microsoft Application Virtualization (App-V)

Эта статья рассказывает про виртуализацию приложений с помощью Microsoft Application Virtualization (далее App-V). Цель статьи- познакомить читателей с принципами виртуализации приложений и использованием виртуальных приложений на примере App-V.

Содержание статьи:
image

Часть 1. Введение.

Назначение.

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

Возможности.

Основные возможности App-V:
• Позволяет запускать приложения без установки их на ОС
• Позволяет изолировать приложения друг от друга
• Позволяет изолировать приложения от ОС
• Позволяет запускать несколько версий приложения одновременно
• Позволяет централизованно управлять приложениями
• Позволяет отслеживать использование приложений
• Позволяет создавать msi- файлы приложений
• Позволяет контролировать лицензии на приложения
• Позволяет получить статистику использования приложений

Преимущества.

При использовании виртуальных приложений можно получить следующие преимущества:
• Увеличивается уровень управляемости приложений
• Упрощается процесс развертывания приложений
• Сокращается время развертывания приложений
• Упрощается переход на новые версии ОС и приложений
• Сокращаются расходы на развертывание, поддержку и переход на новые версии приложений
• Приложения могут предоставляться как услуги (SaaS)

Ограничения App-V.

К сожалению не все приложения можно сделать виртуальными. Существует ряд ограничений. Например, невозможно, либо официально не поддерживается:
• Виртуализация приложений, которые устанавливают драйверы
• Виртуализация приложений, которые начинают работу до загрузки ОС
• Виртуализация приложений, которые работают только на определенных аппаратных конфигурациях
• Виртуализация приложений, которые используют COM+
• Виртуализация антивирусного ПО
• Виртуализация обновлений ПО

Происхождение App-V.

App-V не является собственной разработкой компании Microsoft. Это продукт компании Softricity, которая была поглощена Microsoft летом 2006 года. До поглощения App-V назывался SoftGrid.

Получение.

App-V не продается отдельно, и является частью Microsoft Desktop Optimization Pack (далее MDOP). MDOP- это набор программного обеспечения для оптимизации управления и развертывания клиентских ОС и приложений. MDOP доступен для клиентов Microsoft, заключивших договор Software Assurance.Подробнее о получении App-V и MDOP можно узнать на сайте MDOP: www.microsoft.com/windows/enterprise/products/mdop.aspx
Так же App-V можно скачать из TechNet'а.

Часть 2. Архитектура.

Общая архитектура.

Ниже приведена схема инфраструктуры App-V (схема взята с официального сайта App-V, и немного изменена мной).
image
Терминология и компоненты.

На схеме цифрами обозначены:
1- Application Virtualization Sequencer — клиентский компьютер с установленным приложением App-V Sequencer, который непосредственно делает из реальных приложений виртуальные
2- Application Virtualization Management Server — сервер с установленной серверной частью App-V, которая отвечает за управление всей инфраструктурой App-V: обработку клиентских запросов, доставку и хранение виртуальных приложений, отслеживание лицензий, генерацию отчетов, и т.д.
3- Application Virtualization Streaming Server — то же, что Management Server, только без возможности управления, может только обрабатывать клиентские запросы, хранить и доставлять приложения
4- Application Virtualization Management Console — консоль управления, ставится на рабочее место администратора App-V. С помощью этой консоли можно управлять работой App-V.
5- Рабочие станции и сервера, на которых установлена клиентская часть App-V, которая позволяет пользоваться виртуальными приложениями. Клиентскую часть можно поставить на сервера и компьютеры под управлением Windows XP/Server 2003/Vista/Server 2008 (начиная с версии App-V 4.5 клиентская часть не может ставиться на ОС Windows 2000, в версии App-V 4.1 такое еще было возможно). Для серверных систем существует клиент, совместимый с ролью терминального сервера, т.е. пользователи терминального сервера могут запускать виртуальные приложения в сессии Remote Desktop.

Так же Application Virtualization Management Server использует SQL Server для хранения настроек и другой информации, и IIS для обработки запросов на подключение с помощью консоли администратора.

Общая логика работы системы такова (будем считать, что все компоненты App-V установлены, и работают исправно):
1. После создания виртуального приложения (подробнее об этом далее), оно копируется на Management Server в общую папку (не обязательно копировать приложение именно на Management Server, но будем считать, что нам захотелось скопировать именно туда)
2. Далее с помощью консоли управления администратор импортирует виртуальное приложение на сервер, и с помощью групп Active Directory раздает права пользователям на его запуск
3. У пользователей, которые имеют право на запуск приложения, его иконка появляется на рабочем столе, на панели быстрого запуска, в меню Пуск, и т.д. (зависит от того, как настроил администратор)
4. После того, как пользователь запускает виртуальное приложение, оно, с помощью клиента App-V, скачивается с сервера, запускается внутри изолированной виртуальной среды, и кешируется локально
5. Когда в следующий раз пользователь запустит виртуальное приложение, оно не будет скачиваться с сервера, т.к. оно уже есть в локальном кеше

Режимы работы.

Режим работы инфраструктуры App-V, который описывался выше, называется полным (Full). Так же существуют легкий (Lightweight) и автономный (Standalone) режимы. Их схемы приводятся ниже (схемы взяты с официального сайта App-V).

Легкий (Lightweight) режим:
image
Этот режим работы используется в основном в региональных отделениях компаний. Из- за отсутствия Management Server'а отсутствует некоторая функциональность App-V, например, отслеживание лицензий и использования ПО, однако присутствует основной функционал- приложения доставляются пользователям по сети.

Автономный (Standalone) режим:
image
В этом режиме вынуждены работать пользователи, которые не могут получить доступ к Management Server'у (например, пользователи, находящиеся в другом офисе компании). Приложения доставляются в виде MSI-файла с помощью CD или USB- диска.

Подробнее про режимы работы инфраструктуры App-V можно узнать здесь www.microsoft.com/systemcenter/appv/infrastructure.mspx

Безопасность.

Уровень безопасности ОС, которые установлены на серверах, входящих в инфраструктуру App-V, поднимается стандартными средствами, такими, как, например, Security Configuration Wizard. Подробные руководства можно найти на сайте Microsoft ( technet.microsoft.com/en-us/security/bb977553.aspx ). Доступ пользователей к виртуальным приложениям контролируется с помощью групп безопасности Active Directory. Подробнее про безопасность можно узнать в документе App-V Security Best Practices, который можно найти здесь download.microsoft.com/download/f/7/8/f784a197-73be-48ff-83da-4102c05a6d44/AppV_Security_Best_Practices.docx

Интеграция.

App-V можно интегрировать с другим ПО Microsoft, например с System Center Configuration Manager 2007 R2 (далее SCCM). В случае интеграции App-V с SCCM, инфраструктура App-V выглядит примерно так (схема взята с официального сайта App-V):
image
Интеграция с SCCM дает ряд преимуществ- например, можно распространять виртуальные приложения с помощью точек распространения приложений SCCM, улучшается контроль за распространением приложений в больших инфраструктурах, и т.д.
Подробнее про использование App-V совместно с SCCM можно почитать здесь www.microsoft.com/systemcenter/appv/configmgr.mspx и здесь download.microsoft.com/download/f/7/8/f784a197-73be-48ff-83da-4102c05a6d44/App-V_and_ConfigMgr_Whitepaper_Final.docx

Часть 3. Внедрение.

Требования.

Минимальные системные требования к App-V Management Server (такие же для Streaming Server):
Процессор- Intel Pentium III, 1 ГГц.
Оперативная память- 512 Мб.
Место на диске- 200 Мб (это только для серверной части, разумеется, для каждого виртуального приложения так же понадобится место).
Операционная система- Windows Server 2003 Standard (SP1 или выше), Windows Server 2003 Enterprise (SP1 или выше), или Windows Server 2008.

Минимальные системные требования к App-V Sequencer:
Процессор- Intel Pentium III, 850 МГц
Оперативная память- 256 Мб, 500 Мб файл подкачки.
Жесткий диск- два физических жестких диска, по 20 Гб каждый (на первом устанавливается ОС, на втором- приложение, которое надо виртуализировать).
Операционная система- Windows XP Professional (SP2 или SP3), Windows Server 2003, Windows Vista, Windows Server 2008 с установленными терминальными службами.

Минимальные системные требования к App-V Desktop Client:
Процессор и оперативная память- зависит от ОС, которую планируется использовать.
Жесткий диск- 30 Мб для установки и 4 Гб для кеша.
Операционная система- Windows XP Professional (SP2 или SP3) 32-битная, Windows Vista RTM/SP1 (Business, Enterprise, или Ultimate) 32-битная.

Минимальные системные требования к App-V Terminal Services Client:
Процессор и оперативная память- зависит от ОС, которую планируется использовать.
Жесткий диск- 20 Мб для установки и 2 Гб для кеша.
Операционная система- Windows Server 2003 (Standard, Enterprise, или Datacenter, SP1 или выше) 32-битная, Windows Server 2008 (Standard, Enterprise, Datacenter) 32-битная.

64- битные системы App-V не поддерживаются. Поддержка 64- битных систем будет в следующей версии App-V.

Планирование.

Планирование App-V- достаточно непростое дело. Нет смысла описывать все этапы планирования в обзорной статье, детально они описаны в документе «Microsoft Application Virtualization 4.5» серии Infrastructure Planning and Design (эта серия документов описывает планирование и внедрение различных программных продуктов Microsoft). Скачать данный документ можно здесь www.microsoft.com/downloads/details.aspx?familyid=ad3921fb-8224-4681-9064-075fdf042b0c&displaylang=en

Часть 4. Эксплуатация.

Администрирование.

Администрирование App-V осуществляется с помощью App-V Management Console (по сути- это обычная MMC- консоль). Вот как выглядит интерфейс администрирования:

image
Подробнее про администрирование App-V можно узнать в документации ( technet.microsoft.com/en-us/appvirtualization/cc843994.aspx ).

Виртуализация приложений.

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

Кратко этот процесс можно описать так:
1. На свежеустановленную ОС устанавливается App-V Sequencer, и включается режим наблюдения за установкой приложений
2. Далее устанавливается необходимое приложения. Во время установки Sequencer наблюдает за установкой, и отслеживает какие изменения установщик приложения вносит в систему (переписывает новые файлы, добавляет ключи реестра, устанавливает новые службы, и т.д.)
3. После окончания установки приложения Sequencer создает виртуальное приложение на основе своих наблюдений за ходом установки приложения.
Процесс виртуализации приложений очень похож на процесс перепаковки MSI- файлов. Подробнее про процесс виртуализации приложений можно узнать из документа Microsoft Application Virtualization 4.5 Sequencing Guide (http://download.microsoft.com/download/f/7/8/f784a197-73be-48ff-83da-4102c05a6d44/App-45_Sequencing_Guide_Final.docx)

Само виртуальное приложение состоит из нескольких файлов и одной папки:

image
Папка «Имя_приложения» Icons- содержит иконку для запуска приложения, которая появится у пользователя на рабочем столе и на панели быстрого запуска.
Файл «Имя_приложения».osd- содержит настройки приложения и информацию о нем.
Файл «Имя_приложения».sft- содержит в себе непосредственно виртуальное приложение
Файл «Имя_приложения».sprj- файл проекта
Файл «Имя_приложения»_manifest.xml- содержит в себе еще немного информации про приложение

Распространение приложений.

После создания виртуального приложения, его надо переписать на App-V Management Server в общую папку, с помощью консоли управления подключить к серверу App-V и настроить разрешения. После этих несложных действий пользователи смогут использовать виртуальные приложения.

Использование приложений.

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

Часть 5. Заключение.

Конкуренты.

Microsoft App-V это не единственный продукт, реализующий виртуализацию приложений, и доставку их пользователям. Существует продукт VMware ThinApp, предлагающий примерно такую же функциональность (кстати, ThinApp- это не собственная разработка VMware, а разработка компании Thinstall, которая была поглощена VMware в прошлом году). К сожалению я не эксперт в продуктах VMware, и не могу объективно определить насколько ThinApp лучше (или хуже) App-V. Более подробная информация про VMware ThinApp находится здесь vmware.com/products/thinapp/
Над виртуализацией приложений работает и компания Citrix ( www.citrix.com/English/ps2/products/product.asp?contentID=186 )

Примеры внедрения.

Примеры внедрения App-V можно найти здесь www.microsoft.com/casestudies/search.aspx?ProTaxID=3369
К сожалению в нашей стране нет (известных мне) компаний, которые уже внедрили в свою инфраструктуру App-V, однако есть несколько крупных компаний, которые тестируют этот продукт.

Личный опыт.

Я достаточно давно работаю с App-V, и могу сказать, что этот продукт подходит для промышленной эксплуатации. Последнюю версию App-V, 4.5, я тестировал примерно 2 месяца в своей лабе, и не заметил каких- либо существенных недостатков, наоборот, много багов исправлено, появились дополнительные возможности.
В общем продукт хороший, пользоваться можно :-)

Полезные ссылки.

• Официальный сайт App-V: www.microsoft.com/systemcenter/appv/default.mspx
• Раздел TechNet про App-V technet.microsoft.com/en-us/appvirtualization/default.aspx
• Блог команды разработчиков App-V: blogs.technet.com/softgrid/
• Независимый блог про App-V: www.softgridblog.com/
• Сайт, на котором можно найти уже готовые виртуальные приложения: www.instantapp.net/
• Форум пользователей App-V www.softgridguru.com/

Оригинал http://habrahabr.ru/blogs/personal/50502/

вторник, 3 мая 2011 г.

ZFS в UBUNTU

ZFS файловая система, изначально созданная в Sun Microsystems для операционной системы Solaris. Эта ZFS файловая система поддерживает большие объёмы данных, объединяет концепции файловой системы и менеджера логических дисков (томов) и физических носителей, инновационную структуру данных на дисках, легковесные файловые системы (lightweight filesystems), а также простое управление томами хранения данных. ZFS является проектом с открытым исходным кодом и лицензируется под CDDL (Common Development and Distribution License).

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

Это руководство объясняет, как настроить родной ZFS на Ubuntu / Linux (ZFS Linux). Это было проверено на ядре Linux 2.6.35-24 Ubuntu x86_64 GNU / Linux Ubuntu на 10.10, но также должно работать на Ubuntu 10.04.

Убедитесь, что следующие пакеты установлены:

build-essential gawk zlib1g-dev uuid-dev

Или установите их:

  • sudo apt-get install build-essential gawk zlib1g-dev uuid-dev

Теперь Вы готовы для установки SPL и ZFS.

  • sudo cd /usr/src

Загрузите последнюю версию, например:

  • sudo wget http://github.com/downloads/behlendorf/spl/spl-0.5.2.tar.gz
  • sudo wget http://github.com/downloads/behlendorf/zfs/zfs-0.5.2.tar.gz

Авторизуйтесь что бы читать скрытый текст

  • sudo tar -xvzf spl-0.5.2.tar.gz
  • sudo cd spl-0.5.2/
  • sudo ./configure
  • sudo make
  • sudo make install

Собираем ZFS:

  • cd ..
  • sudo tar -xvzf zfs-0.5.2.tar.gz
  • sudo cd zfs-0.5.2/ sudo ./configure
  • sudo make
  • sudo make install

Проверяем работу Splat и загружены модули ZFS:

  • sudo modprobe splat
  • sudo splat -a
  • sudo modprobe zfs
  • lsmod |grep zfs

Можно подумать, что из-за отсутствующего пути в LD_LIBRARY_PATH все ZFS команды не будут выполнены, ошибка вроде этого:

zfs: error while loading shared libraries: libspl.so.0: cannot open shared object file: No such file or directory

Чтобы исправить это добавьте следующую строку:

  • export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib