パッケージマネージャでオフラインインストールする方法

パッケージマネージャでオフラインインストールする方法#

パッケージマネージャに登録したパッケージのFeedsサーバは初期状態でBeckhoff社のサーバが設定されています。通常はインターネットを経由してここからパッケージを取得してインストールを行います。

しかし、エンドポイントのコントローラは必ずしもインターネットアクセスができる環境にあるとは限りません。よって、いちどパッケージをダウンロードしておき、オフライン状態でもパッケージマネージャを通じてインストールできる必要があります。このための設定手順を示します。

オンラインPCでのパッケージのダウンロード#

PowerShellなどのコマンドラインインターフェースにて、次のコマンドを発行してください。

  1. インストール可能な代表パッケージ名一覧を出力。

    PS> tcpkg list -t workload
    
  2. この中から必要なパッケージを選択して、次のコマンドによりダウンロードする。

    たとえば、XAEとXARの両方を” C:\home\Administrator\pakages” にダウンロードする場合は以下のコマンド発行します。最初表示が無いまま時間を要しますが根気強く待ってください。

    PS> tcpkg download TwinCAT.Standard.XAE TwinCAT.Standard.XAR -o "C:\home\Administrator\pakages"
    
  3. このpackagesフォルダをUSBメモリ等に入れます。

自動化スクリプト#

全てのパッケージ一覧を取得してダウンロードするPowerShellスクリプトをご紹介します。下記のとおりPowershellスクリプトをfetch_packages.ps1という名前で保存してください。

リスト 1.1 fetch_packages.ps1#
# parameter
param (
    [String]$distination = "."
)

# Get package list
$packages = tcpkg list -t workload | ForEach-Object {
    if ($_ -match "\[(.+)\]\s+(.+)\s+(.+)") {
        New-Object -TypeName PSObject -Property @{
            "feed" = $matches[1]
            "name" = $matches[2]
            "version" = $matches[3]
        }
    }
}

$command = 'tcpkg download'

foreach ($item in $packages){
    $command += " " + $item.name
}


$command += " -o " + $distination 

invoke-expression $command

次のコマンドを実行することで、<保存先パス>にFeedに登録したサーバからの全てのパッケージを保存します。

PS> fetch_packages.ps1 <保存先パス>

Tip

スクリプト中、$packages変数にはすべてのパッケージリストのPowerShellのオブジェクトに変換されます。次の通りname列にパッケージ名が一覧されます。

feed                   name                                      version
----                   ----                                      -------
Beckhoff Stable Feed   Beckhoff.DeviceManager.XAR                2.4.5
Beckhoff Stable Feed   TC1000.ADS.XAR                            1.0.0
     :
Beckhoff Outdated Feed TwinCAT.StandardRM.XAE                    4024.67.1
Beckhoff Stable Feed   TwinCAT.SupportInformationReport.XAE      20.17.3

この一覧から必要なものだけにフィルタしていただいたものを$packagesに設定していただければ、必要なパッケージリストだけをダウンロードする事も可能です。

オフライン環境のIPCでの作業#

次にオフライン環境のIPCにてUSBメモリを挿し、IPC内に展開します。パッケージマネージャの設定にてオフラインパス設定を変更し、そのフォルダからインストールできるようにします。

  1. IPCにUSBメモリを挿し、任意のフォルダへコピーします。

    本手順の例ではC:\Users\Administrator\Documents\packagesにコピーしたものとします。

  2. パッケージマネージャを起動し、設定画面を開き、Feedsタブを選び、左下の+アイコンを押します。

  3. 追加するFeedのNameに適当な名前を付けて、Feed url..C:\Users\Administrator\Documents\packagesを設定してSaveボタンを押します。

  4. 追加したFeed以外のEnableのチェックを外し、右下のフロッピーアイコンを押します。

以上です。通常通りのパッケージインストールを実施してください。

注釈

Feed URLで指定したフォルダを定期的に更新してください。Feed URLで指定したフォルダ内にあるパッケージのみインストール可能です。