Управління пакетами в Nano Server

Нагадаємо, що в Windows Server 2016, крім уже знайомих Server Core і Full GUI, з'явився ще один варіант установки системи під назвою Nano Server. Nano Server це ще більш компактний варіант установки Windows Server, призначений для запуску створених в "хмарі" контейнерів і додатків. З метою максимального полегшення розміру системи, всі ролі, компоненти і драйвера винесені за межі образу Nano Server. Їх можна завантажити і встановити у вигляді пакетів. Ці пакети можна отримати з дистрибутива Windows Server 2016 (каталог ... \Nano Server \Packages), Або з онлайн сховища пакетів. В цей статті ми поговоримо про особливості управління пакетами в Windows Nano Server.

Пакети Nano Server можна порівняти з ролями і компонентами Windows Server, які адміністратор може встановити в разі потреби. Встановити той чи інший пакет в образ Nano Server можна з хостовой системи в процесі розгортання (командлет New-NanoServerImage), Або редагування способу (Edit-NanoServerImage), За допомогою DISM, або за допомогою модуля керування пакетами PackageManagement (ака OneGet).

Підключимося до розгорнутої ВМ Nano з хоста Hyper-V:

Enter-PSSession Nano1

Завантажимо і імпортуємо PowerShell модуль NanoServerPackage:

Save-Module -Path "$ env: ProgramFiles \ WindowsPowerShell \ Modules" -Name NanoServerPackage -MinimumVersion 1.0.0.0
Import-PackageProvider NanoServerPackage

Виведемо список доступних пакетів Nano Server так:

find-NanoServerPackage -Name *

Або більш спільною командою так:

Find-Package -ProviderName NanoServerPackage

Щоб встановити пакет (наприклад пакет копонента зберігання - Storage Package) на виробничих серверах Nano, виконайте команду:

Install-NanoServerPackage -Name Microsoft-NanoServer-Storage-Package

Щоб встановити і запустити IIS, команда установки пакета буде такою:

Install-Package -ProviderName NanoServerPackage -Name Microsoft-NanoServer-IIS-Package
Start-Service WAS
Start-Service W3SVC

Можна встановити пакет Nano в офлайн режимі безпосередньо в VHD / VHDX файл віртуальної машини:

Install-NanoServerPackage -Name Microsoft-NanoServer-Storage-Package -culture en-us -RequiredVersion 10.0.14300.0 -ToVHd C: \ VMstore \ nano1 \ Nano1.vhd

Останню версію пакету для Nano можна скачати з офіційного сховища і додати його до списку доступних:

Find-NanoServerPackage -Name * Storage * -MaximumVersion 10.2 -MinimumVersion 1.0 -Culture en-us | Save-NanoServerPackage -Path C: \ NanoBase \ Packages

Список встановлених пакетів в системі можна отримати в онлайн режимі за допомогою команди:

Get-Package

Або в офлайні режимі на підставі даних в VHD файлі образу ВМ Nano:

Get-Package -provider NanoserverPackage -fromVhd C: \ VMstore \ nano1 \ Nano1.vhd

У тому випадку, якщо підключення до інтернету у хостовой машини і сервера Nano відсутня, можна додати компонент в образ системи з cab файлу за допомогою DISM:

dism.exe / Mount-Image /ImageFile:C:\VMstore\nano1\Nano1.vhd / index: 1 / mountdir: c: \ mountdir
dism.exe / add-package / packagepath: c: \ nanoserver \ packages \ Microsoft-NanoServer-IIS-Package _en-US.cab / image: c: \ mountdir
dism.exe / unmount-image / mountdir: c: \ mountdir / commit