Azure Batch 開始タスクを使用して Linux に .NET Core をインストールする

この記事では、Azure Batch 開始タスクを使用して Linux に .NET Core をインストールする方法について説明します。

元の製品バージョン:   クラウド サービス (Web ロール/ワーカー ロール)
元の KB 番号:   4466812

Procedure

Linux 環境に .NET Core をインストールするには、次の手順を実行します。

  1. .NET チュートリアルに移動して、という名前のシェル スクリプトを作成します ex- dotnetcoreinstall.sh

    注意

    このリンクは、Ubuntu バージョン 16.04 で有効です。 スクリプトは、.NET Core をインストールする Linux ディストリビューションに応じて変更できます。 必要な Linux 配布を選択し、スクリプトを適切に作成します。

  2. アップロード開始タスクを Linux VM にダウンロードするストレージ アカウントにスクリプト dotnetcoreinstall.sh を追加します。

  3. 必要な Linux VM 配布で構成されるバッチ プールを作成し、次のようにタスクの開始を編集します。 バッチ エクスプローラー (以前はBatchLabs) ツールを使用して、シナリオをシミュレートします。 プールがポータルから作成された場合も同様です。

    Blob source:https://batchpratyaystorage.blob.core.windows.net/batchcontainer/dotnetcoreinstall.sh

    これは、BLOB の実際の URL (スクリプトなど) を表します。

    File path: /mnt/batch/tasks/startup/wd

    これは、スクリプトがストレージ アカウントからダウンロードされる Linux 仮想マシン上のローカル パスを表します。

    create-Azure-Batch-Start-Task のスクリーンショット。

トラブルシューティングの手順

上記の手順は、Linux 環境でスクリプトを作成するときに期待通り動作します。 ただし、これらの手順は失敗し、Windows環境でスクリプトを作成し、それをストレージ アカウントにアップロードすると、次のエラー メッセージが表示されます。

(--install):processing archive packages-microsoft-prod.deb
cannot access archive: No such file or directory
Errors were encountered while processing:
packages-microsoft-prod.deb
] is not understood in combination with the other options.
] is not understood in combination with the other options.
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package dotnet-sdk-2.1.200
E: Couldn't find any package by glob 'dotnet-sdk-2.1.200'
E: Couldn't find any package by regex 'dotnet-sdk-2.1.200'

この動作は、異なる環境 (Windows Linux) のスクリプトが異なる形式で作成される場合に発生します。 形式を確認するには、Linux bash シェルで file コマンドを実行します。 UNIXシステムは、1 文字、改行文字、および Windows システムを使用して、改行と改行 (CRLF とも呼ばれます) の両方を使用して、テキスト ファイル内の行を終了します。

回線ターミネータの詳細については、「ネットワーク ワールド web サイトの Windows vs. UNIX:これらの小気な回線ターミネーター」を参照してください。

スクリプトの例

$ file dotnetcoreinstall.sh //// Script created in Windows and uploaded to storage account
dotnetcoreinstall.sh: ASCII text, with CRLF line terminators
$ file dotnetcoreinstall.sh //// Script created in Linux and uploaded to storage account
dotnetcoreinstall.sh: ASCII text

ファイル形式の不一致を防ぐには、次のいずれかの操作を行います。

  • 別の Ubuntu 環境でスクリプトを作成し、Linux 用のスクリプトを使用して、スクリプトをストレージ Storage Explorerアップロードします。

  • Linux 環境に Storage Explorerが存在しない場合は、次の Putty コマンドを使用して、前の手順で作成した VM から Windows 環境にスクリプトを取得します。 Putty ツールには、実行可能ファイルが含 pscp.exe。

    ユーザーのスクリーンショットPutty_pscp。

Linux からサーバーにファイルを送信Windows、ファイルをストレージ アカウントにアップロードします。 ファイルをファイル形式 (DOS) から Windows形式にUNIXするには、次のコマンドを実行します。

$ dos2unix dotnetcoreinstall.sh

このコマンドを実行するには、まず dos2unix パッケージをインストールする必要 があります。 このためには、次のコマンドを実行します。

sudo apt-get install dos2unix

サードパーティの情報に関する免責事項

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

サードパーティのお問い合わせ窓口に関する免責事項

Microsoft は、このトピックに関する追加情報を見つけるのに役立つサードパーティの連絡先情報を提供します。 将来予告なしに変更されることがあります。 Microsoft は、サードパーティの連絡先情報の正確性を保証するものではありません。