Şimdi yükleniyor

Ubuntu 26.04’te .NET 10: Kurulum ve Konteyner Rehberi

Ubuntu 26.04'te .NET 10: Kurulum ve Konteyner Rehberi

Dün gece saatlerinde Ubuntu 26.04 — kod adı “Resolute Raccoon” — resmen yayınlandı. Canonical tarafına hakkını vermek lazım, her LTS sürümünde çıtayı biraz daha yukarı çekiyorlar (inanın bana). Ama beni asıl heyecanlandıran şey başka: Ubuntu 26.04 kutudan.NET 10 ile geliyor. Yanı apt install deyip geçiyorsunuz, sonra geliştirmeye başlıyorsunuz. Basit gibi dürüyor, değil mi? Ama işin arkasında neler döndüğünü bir görseniz…

Ben bu haberi ilk duyduğumda — aslında dur, şöyle anlatayım — 2025 başlarında Canonical. Microsoft’un.NET toolchain’ını Ubuntu’da “resmî destekli” hâle getirme sürecini yakından izliyordum. O sıralar bir müşteride Ubuntu 24.04 üzerinde.NET 8 kurarken PPA bağımlılıklarıyla bayağı boğuşmuştuk. Şimdi bu entegrasyonun geldiği noktayı görünce, hani insanın içi biraz garip oluyor.

Durun, bir saniye.

Ubuntu 26.04 ile.NET 10 Neden Önemli?

Dürüst olmak gerekirse, Her Ubuntu LTS, en güncel.NET LTS sürümüyle eşleşiyor; bu sefer de Ubuntu 26.04 ile.NET 10 yan yana geliyor. Peki neden bu kadar üstünde duruyorum? Çünkü Türkiye’deki kurumsal müşterilerin önemli bir kısmı, özellikle bankacılık. Telekom tarafı, production’da Ubuntu LTS kullanıyor. Geçen yıl bir finans kuruluşunda tam da bu yüzden tartışma çıkmıştı: “Noble mı kuralım, yoksa sonraki LTS’i mi bekleyelim?” Şimdi cevap daha net.

Doğrusu,.NET artık Ubuntu üzerinde resmî olarak desteklenen bir toolchain oluyor. Bu ne demek? Microsoft. Canonical birlikte çalışıyor, yanı.NET’in Ubuntu’da düzgün davranması için ayrı ayrı çözüm kovalamak zorunda kalmıyorsunuz. Eskiden PPA ekle, dependency çöz, versiyon çakışmasını toparla… o tarz işler vardı. Şimdi yok mu? Var biraz ama çok azaldı.

Ha,.NET 8 ve 9 da ayrı bir PPA/feed üzerinden kurulabiliyor. Legacy projeleriniz varsa panik yapmayın yanı. Ama yeni işe başlıyorsanız, açık konuşayım, doğrudan.NET 10 ile gitmek daha mantıklı dürüyor.

Kurulum: İki Satır, O Kadar

Bakın şimdi, eskiden.NET’i Linux’a kurmak küçük bir macera gibiydi. 2019’da kendi sunucularımda.NET Core 3.0’ı CentOS’a kurmaya çalışırken bayağı saç baş yoldum; dependency hell denen şeyi birebir yaşadım o günlerde. Ama Ubuntu 26.04’te tablo epey değişmiş durumda.

sudo apt update
sudo apt install dotnet-sdk-10.0

Bitti işte. Gerçekten bu kadar basit görünüyor.

Bir de doğrulama yapalım:

dotnet --version
10.0.105

Container içinde denemek isteyenler için süreç benzer gidiyor aslında; Docker ile hızlıca bir Ubuntu Resolute container’ı kaldırıp aynı komutları koşturabilirsiniz:

docker run --rm -it ubuntu:resolute
apt update
apt install -y dotnet-sdk-10.0
dotnet --version

Şunu da göstereyim — bana bayağı sempatik gelen bir taraf bu öldü açıkçası. File-based app yaklaşımıyla heredoc kullanıp doğrudan C# kodu çalıştırabiliyorsunuz: .NET 10 Data Protection Güvenlik Açığı ve Acil Yama yazımızda bu konuya da değinmiştik.

dotnet run — << 'EOF'
using System.Runtime.InteropServices;
Console.WriteLine($"Hello {RuntimeInformation.OSDescription} from.NET {RuntimeInformation.FrameworkDescription}");
EOF

İşin garibi, Çıktı da kabaca şöyle geliyor: Hello Ubuntu Resolute Raccoon from.NET.NET 10.0.5. Burada klasik Unix akışı devreye giriyor; stdin üzerinden heredoc ile kod veriyorsunuz ve olay dönüyor gidiyor. AI agent’lar bunu Python’da sık yapıyor ama C# tarafında da gayet yürüyormuş meğersem. Hatta bir müşteride CI pipeline içinde quick validation için bunu kullanmaya başladık; fena olmadı. Daha fazla bilgi için SELinux Volume Label Değişikliği: v1.37 Öncesi Hazırlık yazımıza bakabilirsiniz.

Linux Kernel 7 — Post-Quantum Kriptografi ve cgroup v2

Ubuntu 26.04 sadece bir.NET güncellemesi değil tabi ki; altında daha derin değişiklikler var. En dikkat çeken üç tanesi şunlar:

Değişiklik .NET Etkisi Aksiyon Gerekiyor mu?
Linux Kernel 7.x Henüz tam test edilmedi, VM’ler lab’a gelince başlayacak Bekle ve gör
Post-Quantum Kriptografi .NET 10’da destek eklendi Güvenlik hassas projelerde değerlendir
cgroup v1 kaldırıldı cgroup v2 desteği yıllar önce eklenmişti Normalde sorun olmamalı

Post-quantum kriptografi kısmını biraz açayım çünkü burada mesele gerçekten ciddi ama öyle panik havasında değil tabii; kuantum bilgisayarlar henüz “her şeyi kıracak” seviyede değil ama özellikle devlet kurumları ve finans sektörü için “harvest now, decrypt later” riski gerçek bir konu (bugün veriyi topla, yarın kuantum güç yetince çöz). Hani ne farkı var diyorsunuz, değil mi? Yanı.NET 10’un buna destek eklemesi bence zamanlama olarak fena durmuyor.

cgroup v1’in kaldırılması beni ilk anda biraz düşündürdü açıkçası; eski container runtime’ları hâlâ cgroup v1’e yaslanabiliyor. Geçmişten kalan alışkanlıklar kolay bitmiyor. Ama.NET tarafında cgroup v2 desteği zaten yıllar önce gelmişti, dolayısıyla uygulama katmanında büyük ihtimalle sorun yaşamazsınız. Yine de çok eski bir orchestration düzeniniz varsa — mesela 2021’den kalma bir Docker Swarm setup’ı gibi — orada temkinli olmak lazım. Bu konuyla ilgili azd Hook’larını Python, TypeScript, .NET ile Yazın yazımıza da göz atmanızı tavsiye ederim.

Linux Kernel testleri henüz tamamlanmadı diye not düşüyor Microsoft ekibi; Ubuntu 26.04 VM’leri lab ortamına gelir gelmez testlere başlayacaklarını söylüyorlar.
Production’a almadan önce sonuçları beklemek iyi fikir olur.

Konteyner Image’ları ve Chiseled Yaklaşımı

Sıradaki konu benim en çok baktığım yerlerden biri: container image’larıdır işte burası önemli olabilir bugün için bile.
Ubuntu 26.x container image’ları.NET 10+ için zaten ay başında yayınlandı.
Tag olarak resolute kullanılıyor.
Şu an -noble‘dan gidiyorsanız -resolute‘a geçmeniz yeterli olur çoğu senaryoda. Cosmos DB’de AI Maliyet Optimizasyonu: 7 Pratik İpucu yazımızda bu konuya da değinmiştik.

Şimdi gelelim işin can alıcı noktasına. Daha fazla bilgi için SQL Server 2025’te Güvenlik ve MCP: Tek Motor Yeter mi? yazımıza bakabilirsiniz.

Migrasyon da şaşırtıcı derecede düz ilerliyor diyebilirim.
Mesela Chiseled image kullanan bir ASP.NET uygulaması için örnek şöyle görünüyor:

FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:10-resolute AS build
#... build adımları...
FROM mcr.microsoft.com/dotnet/aspnet:10-resolute-chiseled
#... runtime adımları...

İlginç olan şu ki, Küçük bir not düşeyim Chiseled image konusunda.
Bunlar Ubuntu’nun minimal hali; shell yok, package manager yok.
Güvenlik açısından baya iş görüyor çünkü saldırı yüzeyi iyice daralıyor.
Ama debug yapmak istediğinizde… hmm… nasıl desem… orası biraz can sıkıcı olabiliyor.
Geçen ay Logosoft’ta bir e-ticaret projesinde Chiseled image kullanıyorduk; container içine giremediğimiz için debug amacıyla ayrı sidecar container kaldırmak zorunda kaldık.
İşe yaradı ama pratik mıydı? Eh, idare eder.

💡 Bilgi:
Container’lar host’un kernel’ını kullanır.
Yanı sız host üzerinde hangi kernel varsa önü alırsınız; örneğin `26.x` container çalıştırıp `24.x` host üstünde koşarsanız kernel tarafında yine host neyse odur.
Kernel avantajlarından faydalanmak istiyorsanız host OS’u da yükseltmeniz gerekir.

Ayrıca eğer Kubernetes’te Production Debug Güvenliği: Rehber yazımı okuduysanız, container debug yaklaşımının Chiseled image dünyasında nasıl değiştiğini de görmüşsünüzdür.
Orada anlattığım ephemeral container yöntemi burada da hayat kurtarıcı olabiliyor;
eski usül “container’a girer bakarım” yaklaşımı burada pek işlemiyor açıkçası.

Evet, doğru duydunuz.

T?rkiye’deki Kurumsal Ger?eklik?

Sıkça Sorulan Sorular

Ubuntu 26.04’e geçmeden.NET 10 kullanabilir mıyım?

Evet, kullanabilirsiniz..NET 10’u Ubuntu 24.04 (Noble) üzerinde de çalıştırabilirsiniz — hani Microsoft’un resmî paket deposundan ya da snap üzerinden kurulum yapabiliyorsunuz. Ama açıkçası en pürüzsüz deneyimi Ubuntu 26.04 ile alırsınız, çünkü.NET 10 orada doğrudan APT deposundan geliyor, ekstra uğraş yok.

cgroup v1 kaldırılması mevcut container’larımı etkiler mi?

Aslında,.NET uygulamaları için büyük ihtimalle etkilemez. Yanı cgroup v2 desteği zaten yıllar önce eklenmişti. Ama eğer çok eski bir container runtime veya orchestration aracı kullanıyorsanız, bir uyumluluk kontrolü yapmanızı öneririm. Bilhassa Docker 20.10 öncesi sürümlerde dikkatli olun — bence orası en riskli nokta.

Chiseled container image nedir, normal image’dan farkı ne?

Kısaca: Ubuntu’nun süper minimalist hali. Shell yok, package manager yok, gereksiz kütüphaneler yok. Bu şekilde hem saldırı yüzeyi çok düşüyor hem de image boyutu küçülüyor. Tecrübeme göre production için harika bir seçenek, ama debug ve troubleshooting işleri gerçekten zorlaşıyor. O yüzden geliştirme ortamında standart image’la devam etmek daha mantıklı.

Ubuntu 26.04’te.NET 8 projelerimi çalıştırabilir mıyım?

Evet, ayrı bir PPA/feed ekleyerek.NET 8 ve.NET 9’u da kurabilirsiniz. Aslında varsayılan depoda sadece.NET (söylemesi ayıp) 10 var, ama eski sürümler için destek devam ediyor. Yanı migration süreciniz bitene kadar eski sürümü kullanmaktan çekinmeyin, herhangi bir sorun çıkmaz.

Post-quantum kriptografi desteği production’da kullanılabilir mi?

Yanı, Teknik olarak evet,.NET 10’da bu destek mevcut. Ama henüz standartlar tam oturmadı, geniş ekosistem uyumluluğu da yok. Bence şu an için en sağlıklı yaklaşım şu: önce deneysel gözüyle değerlendir, bir pilot projede test et, sonra standartlar netleşene kadar production’a almayı bekle. Mesela regülasyona tabi sektörlerdeyseniz — mesela finans veya sağlık — gerçekten acele etmeyin.

Kaynaklar ve İleri Okuma

What’s new for.NET in Ubuntu 26.04 —.NET Blog

Açık konuşayım, Install.NET on Ubuntu — Microsoft Learn

.NET Docker Samples — GitHub

İçeriği paylaş:

Aşkın KILIÇ

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Yorum gönder

Microsoft Azure Çözüm Uzmanı | Bulut Bilişim, Yapay Zekâ, DevOps ve Kurumsal Güvenlik alanlarında 15+ yıl deneyim. Azure, Kubernetes, AI/ML ve modern altyapı mimarileri üzerine yazılar yazıyorum.

SİZİN İÇİN DERLEDİK

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Paylaş
İçindekiler
    ← Cosmos DB’de AI Maliyet ...
    Azure MCP Server Artık Tek Dos... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri