Freigeben über


Installieren von .NET Core unter Linux mithilfe einer Azure Batch-Startaufgabe

In diesem Artikel wird beschrieben, wie .NET Core unter Linux mithilfe einer Azure Batch-Startaufgabe installiert wird.

Ursprüngliche Produktversion: Cloud Services (Webrollen/Workerrollen)
Ursprüngliche KB-Nummer: 4466812

Prozedur

Führen Sie die folgenden Schritte aus, um .NET Core in einer Linux-Umgebung zu installieren:

  1. Wechseln Sie zum .NET-Lernprogramm , um ein Shellskript mit dem Namen ex- dotnetcoreinstall.shzu erstellen.

    Notiz

    Dieser Link ist gültig für Ubuntu, Version 16.04. Das Skript kann sich je nach Linux-Verteilung ändern, auf der .NET Core installiert werden soll. Wählen Sie die erforderliche Linux-Verteilung aus, und erstellen Sie das Skript entsprechend.

  2. Laden Sie das Skript dotnetcoreinstall.sh in das Speicherkonto hoch, von dem die Startaufgabe in der Linux-VM heruntergeladen wird.

  3. Erstellen Sie einen Batchpool, der aus der erforderlichen Linux-VM-Verteilung besteht, und bearbeiten Sie die Startaufgabe wie folgt. Das Batch-Explorer-Tool (ehemals "BatchLabs") wird verwendet, um das Szenario zu simulieren. Dasselbe gilt für den Fall, dass der Pool über das Portal erstellt wird.

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

    Dies stellt die tatsächliche URL des Blobs dar (z. B. das Skript).

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

    Dies stellt den lokalen Pfad auf dem virtuellen Linux-Computer dar, auf dem das Skript aus dem Speicherkonto heruntergeladen wird.

    Der Screenshot zeigt die Details der Azure-Batchstartaufgabe.

Problembehandlungsschritte

Diese Schritte oben funktionieren wie erwartet, wenn Sie das Skript in einer Linux-Umgebung erstellen. Diese Schritte schlagen jedoch fehl, und Sie erhalten die folgende Fehlermeldung, wenn Sie das Skript in einer Windows-Umgebung erstellen und in das Speicherkonto hochladen.

(--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'

Dieses Verhalten tritt auf, da das Skript in verschiedenen Umgebungen (Windows oder Linux) in verschiedenen Formaten erstellt wird. Um das Format zu ermitteln, führen Sie den Dateibefehl in der Linux-Bash-Shell aus. UNIX-Systeme verwenden ein einzelnes Zeichen, das Zeilenfeedzeichen und Windows-Systeme verwenden sowohl einen Wagenrücklauf als auch einen Zeilenfeed (häufig als CRLF bezeichnet), um Zeilen in Textdateien zu beenden.

Weitere Informationen zu Linienterminatoren finden Sie unter Windows vs. UNIX: Diese pesky Line Endators Thema auf der Network World-Website.

Skriptbeispiele

$ 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

Führen Sie eine der folgenden Aktionen aus, um zu verhindern, dass das Dateiformat nicht übereinstimmen kann:

  • Erstellen Sie das Skript in einer anderen Ubuntu-Umgebung, und laden Sie das Skript mithilfe von Storage-Explorer für Linux in den Speicher-Explorer hoch.

  • Wenn Sie nicht über Storage-Explorer in Ihrer Linux-Umgebung verfügen, rufen Sie das Skript von der VM ab, die im vorherigen Schritt in Ihrer Windows-Umgebung erstellt wurde, indem Sie den folgenden Befehl "Putty" verwenden. Das Putty-Tool enthält die ausführbare pscp.exe.

    Screenshot des Befehls

Nachdem Sie die Datei von Linux an Windows gesendet haben, laden Sie die Datei wie folgt in das Speicherkonto hoch. Führen Sie den folgenden Befehl aus, um den Prozess der Konvertierung von Dateien aus Windows (DOS) in DAS UNIX-Format zu automatisieren:

dos2unix dotnetcoreinstall.sh

Um diesen Befehl auszuführen, müssen Sie zuerst das dos2unix-Paket installieren. Führen Sie zu diesem Zweck den folgenden Befehl aus:

sudo apt-get install dos2unix

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.

Informationen zum Haftungsausschluss von Drittanbietern

Die in diesem Artikel genannten Drittanbieterprodukte stammen von Herstellern, die von Microsoft unabhängig sind. Microsoft gewährt keine implizite oder sonstige Garantie in Bezug auf die Leistung oder Zuverlässigkeit dieser Produkte.

Haftungsausschluss für Kontaktinformationen von Drittanbietern

Die Kontaktinformationen zu den in diesem Artikel erwähnten Drittanbietern sollen Ihnen helfen, zusätzliche Informationen zu diesem Thema zu finden. Diese Kontaktinformationen können ohne vorherige Ankündigung geändert werden. Sie werden von Microsoft ohne jede Gewähr weitergegeben.