Telepítse a .NET SDK-t vagy a .NET-futtatókörnyezetet a Debianon

Ez a cikk bemutatja, hogyan telepíthető a .NET a Debianra. Ha egy Debian-verzió kiesik a támogatásból, a .NET már nem támogatott ezzel a verzióval. Ezek az utasítások azonban segíthetnek abban, hogy a .NET futjon ezeken a verziókon, még akkor is, ha az nem támogatott.

Ha .NET-alkalmazásokat szeretne fejleszteni, telepítse az SDK-t (amely tartalmazza a futtatókörnyezetet is). Vagy ha csak alkalmazásokat kell futtatnia, telepítse a futtatókörnyezetet. Ha telepíti a futtatókörnyezetet, javasoljuk, hogy telepítse a ASP.NET Core-futtatókörnyezetet , mivel az tartalmazza a .NET és ASP.NET Core futtatókörnyezeteket is.

dotnet --list-sdksdotnet --list-runtimes A parancsokkal megtekintheti, hogy mely verziók vannak telepítve. További információ: Hogyan ellenőrizheti, hogy a .NET már telepítve van-e.

Fontos

A .NET microsoftos csomagcsatornából való telepítéséhez a csomagkezelő csak az x64-architektúrát támogatja. A Microsoft csomagcsatornája nem támogatja az egyéb architektúrákat, például az Armet.

A .NET csomagkezelő nélküli telepítésével kapcsolatos további információkért tekintse meg az alábbi cikkek egyikét:

Támogatott disztribúciók

Az alábbi táblázat felsorolja a jelenleg támogatott .NET-kiadásokat és a Debian azon verzióit, amelyen támogatottak. Ezek a verziók mindaddig támogatottak maradnak, amíg a .NET verziója el nem éri a támogatás végét, vagy a Debian verziója el nem éri az élettartamot.

Debian .NET
12 8, 7, 6
11 8, 7, 6
10 7, 6

A .NET következő verziói már nem támogatottak ❌ :

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Előzetes verzió telepítése

A .NET előzetes verziójú és kiadásra jelölt verziói nem érhetők el a csomagtárakban. A .NET előzetes verzióit és jelöltjeit az alábbi módokon telepítheti:

Előzetes verzió eltávolítása

Ha csomagkezelőt használ a .NET telepítésének kezeléséhez, ütközés léphet fel, ha korábban telepített egy előzetes kiadást. A csomagkezelő a nem előzetes verziójú kiadást a .NET korábbi verziójaként értelmezheti. A nem előzetes verzió telepítéséhez először távolítsa el az előzetes verziókat. A .NET eltávolításáról további információt a .NET-futtatókörnyezet és az SDK eltávolítása című témakörben talál.

Debian 12

Az APT-vel való telepítés néhány paranccsal elvégezhető. A .NET telepítése előtt futtassa az alábbi parancsokat a Microsoft-csomagaláíró kulcs megbízható kulcsok listájához való hozzáadásához és a csomagadattár hozzáadásához.

Nyisson meg egy terminált, és futtassa a következő parancsokat:

wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Telepítse a SDK-t

A .NET SDK-val alkalmazásokat fejleszthet a .NET-tel. Ha telepíti a .NET SDK-t, nem kell telepítenie a megfelelő futtatókörnyezetet. A .NET SDK telepítéséhez futtassa a következő parancsokat:

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

A futtatókörnyezet telepítése

A ASP.NET Core Runtime lehetővé teszi olyan alkalmazások futtatását, amelyek olyan .NET-tel készültek, amelyek nem biztosították a futtatókörnyezetet. Az alábbi parancsok telepítik a ASP.NET Core Runtime-ot, amely a .NET legkompatibilisebb futtatókörnyezete. A terminálban futtassa a következő parancsokat:

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-8.0

A ASP.NET Core Runtime alternatívaként telepítheti a .NET-futtatókörnyezetet, amely nem tartalmazza ASP.NET Core-támogatást: cserélje le aspnetcore-runtime-8.0 az előző parancsot a következőre dotnet-runtime-8.0:

sudo apt-get install -y dotnet-runtime-8.0

Debian 11

Az APT-vel való telepítés néhány paranccsal elvégezhető. A .NET telepítése előtt futtassa az alábbi parancsokat a Microsoft-csomagaláíró kulcs megbízható kulcsok listájához való hozzáadásához és a csomagadattár hozzáadásához.

Nyisson meg egy terminált, és futtassa a következő parancsokat:

wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Telepítse a SDK-t

A .NET SDK-val alkalmazásokat fejleszthet a .NET-tel. Ha telepíti a .NET SDK-t, nem kell telepítenie a megfelelő futtatókörnyezetet. A .NET SDK telepítéséhez futtassa a következő parancsokat:

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

A futtatókörnyezet telepítése

A ASP.NET Core Runtime lehetővé teszi olyan alkalmazások futtatását, amelyek olyan .NET-tel készültek, amelyek nem biztosították a futtatókörnyezetet. Az alábbi parancsok telepítik a ASP.NET Core Runtime-ot, amely a .NET legkompatibilisebb futtatókörnyezete. A terminálban futtassa a következő parancsokat:

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-8.0

A ASP.NET Core Runtime alternatívaként telepítheti a .NET-futtatókörnyezetet, amely nem tartalmazza ASP.NET Core-támogatást: cserélje le aspnetcore-runtime-8.0 az előző parancsot a következőre dotnet-runtime-8.0:

sudo apt-get install -y dotnet-runtime-8.0

Debian 10

Az APT-vel való telepítés néhány paranccsal elvégezhető. A .NET telepítése előtt futtassa az alábbi parancsokat a Microsoft-csomagaláíró kulcs megbízható kulcsok listájához való hozzáadásához és a csomagadattár hozzáadásához.

Nyisson meg egy terminált, és futtassa a következő parancsokat:

wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Telepítse a SDK-t

A .NET SDK-val alkalmazásokat fejleszthet a .NET-tel. Ha telepíti a .NET SDK-t, nem kell telepítenie a megfelelő futtatókörnyezetet. A .NET SDK telepítéséhez futtassa a következő parancsokat:

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-7.0

A futtatókörnyezet telepítése

A ASP.NET Core Runtime lehetővé teszi olyan alkalmazások futtatását, amelyek olyan .NET-tel készültek, amelyek nem biztosították a futtatókörnyezetet. Az alábbi parancsok telepítik a ASP.NET Core Runtime-ot, amely a .NET legkompatibilisebb futtatókörnyezete. A terminálban futtassa a következő parancsokat:

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-7.0

A ASP.NET Core Runtime alternatívaként telepítheti a .NET-futtatókörnyezetet, amely nem tartalmazza ASP.NET Core-támogatást: cserélje le aspnetcore-runtime-7.0 az előző parancsot a következőre dotnet-runtime-7.0:

sudo apt-get install -y dotnet-runtime-7.0

Egyéb verziók telepítése

A .NET minden verziója letölthető innenhttps://dotnet.microsoft.com/download/dotnet, de manuális telepítést igényel. A csomagkezelővel megpróbálhatja telepíteni a .NET egy másik verzióját. Előfordulhat azonban, hogy a kért verzió nem érhető el.

A csomagkezelő-hírcsatornákhoz hozzáadott csomagok neve feltörhető formátumban történik, például: {product}-{type}-{version}.

  • Termék
    A telepíteni kívánt .NET-termék típusa. A lehetőségek ennek megoldásához:

    • dotnet
    • aspnetcore
  • type
    Kiválasztja az SDK-t vagy a futtatókörnyezetet. A lehetőségek ennek megoldásához:

    • sdk (csak a dotnet-termékhez érhető el)
    • runtime
  • Változat
    A telepíteni kívánt SDK vagy futtatókörnyezet verziója. Az érvényes beállítások bármely kiadott verzió, például:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    Lehetséges, hogy a letölteni kívánt SDK/futtatókörnyezet nem érhető el a Linux-disztribúcióhoz. A támogatott disztribúciók listáját a .NET linuxos telepítése című témakörben találja.

Példák

  • Telepítse a ASP.NET Core 8.0 futtatókörnyezetet: aspnetcore-runtime-8.0
  • Telepítse a .NET Core 2.1 futtatókörnyezetet: dotnet-runtime-2.1
  • Telepítse a .NET 5 SDK-t: dotnet-sdk-5.0
  • Telepítse a .NET Core 3.1 SDK-t: dotnet-sdk-3.1

Feljegyzés

Előfordulhat, hogy egyes csomagok nem érhetők el a Linux-disztribúcióban.

Hiányzó csomag

Ha a csomagverzió kombináció nem működik, nem érhető el. Nincs például ASP.NET Core SDK. Az ASP.NET Core SDK-összetevői a .NET SDK részét képezik. Az érték aspnetcore-sdk-8.0 helytelen, és a következőnek kell lennie dotnet-sdk-8.0: . A .NET által támogatott Linux-disztribúciók listáját a .NET-függőségek és -követelmények című témakörben találja.

A .NET frissítése az APT használatával

Ha egy új patch kiadás érhető el a .NET-hez, egyszerűen frissítheti az APT-en keresztül a következő parancsokkal:

sudo apt-get update
sudo apt-get upgrade

Ha a .NET telepítése óta frissítette a Linux-disztribúciót, előfordulhat, hogy újra kell konfigurálnia a Microsoft-csomagtárházat. Futtassa az aktuális terjesztési verzió telepítési utasításait a .NET-frissítések megfelelő csomagtárházára való frissítéshez.

Hibaelhárítás

Ez a szakasz a .NET telepítése során előforduló gyakori hibákról nyújt tájékoztatást.

Nem található csomag

Fontos

A .NET microsoftos csomagcsatornából való telepítéséhez a csomagkezelő csak az x64-architektúrát támogatja. A Microsoft csomagcsatornája nem támogatja az egyéb architektúrákat, például az Armet.

A .NET csomagkezelő nélküli telepítésével kapcsolatos további információkért tekintse meg az alábbi cikkek egyikét:

Nem található \ Egyes csomagok nem telepíthetők

Ha a (z) {dotnet-package} csomag nem található, vagy egyes csomagok nem telepíthetők, futtassa a következő parancsokat.

A következő parancskészletben két helyőrző található.

  • {dotnet-package}
    Ez a telepített .NET-csomagot jelöli, például aspnetcore-runtime-8.0. Ezt a következő sudo apt-get install parancs használja.

Először próbálja meg kiüríteni a csomaglistát:

sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update

Ezután próbálja meg újra telepíteni a .NET-et. Ha ez nem működik, a manuális telepítést a következő parancsokkal futtathatja:

Ha Debian 12 vagy újabb verziót használ, próbálkozzon a következő parancsokkal:

# Define the OS version, name, and codename
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Move the key to the appropriate place
sudo mv microsoft.asc.gpg $(cat /etc/apt/sources.list.d/microsoft-prod.list | grep -oP "(?<=signed-by=).*(?=\])")

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Ha a Debian 12 előtti verzióját használja, próbálkozzon a következő parancsokkal:

# Define the OS version, name, and codename
source /etc/os-release

# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/

# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

# Set ownership
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

# Update packages and install .NET
sudo apt-get update && \
  sudo apt-get install -y {dotnet-package}

Nem sikerült beolvasni

A .NET-csomag telepítésekor a következőhöz Failed to fetch ... File has unexpected size ... Mirror sync in progress?hasonló hibaüzenet jelenhet meg. Ez a hiba azt jelentheti, hogy a .NET csomagcsatornája újabb csomagverziókkal frissül, és később újra kell próbálkoznia. A frissítés során a csomagcsatorna nem lehet 30 percnél hosszabb ideig elérhetetlen. Ha a hiba 30 percnél hosszabb ideig folyamatosan jelentkezik, küldjön egy hibát a következő címen https://github.com/dotnet/core/issues: .

Függőségek

Ha csomagkezelővel telepíti a telepítendő kódtárakat, ezek a kódtárak telepítve lesznek Önnek. Ha azonban manuálisan telepíti a .NET-et, vagy önkiszolgáló alkalmazást tesz közzé, győződjön meg arról, hogy ezek a kódtárak telepítve vannak:

  • libc6
  • libgcc1 (10.x-hez)
  • libgcc-s1 (11.x és 12.x esetén)
  • libgssapi-krb5-2
  • libicu63 (10.x-hez)
  • libicu67 (11.x esetén)
  • libicu72 (12.x-hez)
  • libssl1.1
  • libstdc++6
  • zlib1g

A függőségek a paranccsal telepíthetők apt install . Az alábbi kódrészlet a libc6 kódtár telepítését mutatja be:

sudo apt install libc6

Ha a .NET-alkalmazás a System.Drawing.Common szerelvényt használja, a libgdiplust is telepíteni kell. Mivel a System.Drawing.Common már nem támogatott Linux rendszeren, ez csak a .NET 6-on működik, és a futtatókörnyezet konfigurációs kapcsolójának System.Drawing.EnableUnixSupport beállítására van szükség.

A libgdiplus legújabb verzióját úgy telepítheti, hogy hozzáadja a Mono-adattárat a rendszerhez.

Következő lépések