Pardus ile C# kullanmak

Linux tabanlı işletim sistemlerinin topluluklarında ve C# kullanan yazılımcılarda C# dilinin yalnızca Windows’ta kullanılabildiğine dair hatalı bir kanı hakim. Ancak ilk kararlı sürümü 2004 yılında yayınlanan ve özgür bir yazılım olan (MIT lisanslı) Mono sayesinde C# dili oldukça uzun bir zamandır çoklu platform desteğine sahip. Ayrıca 2016 yılında MIT lisansıyla yayınlanan .NET Core ile bu uyumluluk daha da arttı. Yakın bir tarihte kararlı sürümü yayınlanacak olan .NET 5 ile de .NET muhtemelen tamamen özgür olacak ve platform bağımlılığı daha da azalacak. Bu yazıda kurumsal yazılımlarda ve ağ uygulamalarında sıkça kullanılan C# dilini Pardus’ta kullanmak için yapılması gereken işlemleri anlatmaya çalışıyorum.

Not: C# dilinde yazılmış uygulamaların birçoğu paketin içeriğine gerekli bağımlılıkları da ekliyor ve bu paylaşımdaki uygulamaları çalıştırmak için olan adımları uygulamaya gerek olmuyor. Ancak gerekli bağımlılıklar paketin içine dahil edilmemişse, burada anlattığım adımları uygulamadan çalıştıramayabilirsiniz. Bu bağımlılıklar MIT lisanslı özgür yazılım.

Yazılım Geliştirme İçin

Bu adımları uygulayınca “Yalnızca Uygulamaları Çalıştırmak İçin” bölümündeki adımları uygulamaya gerek kalmıyor.

Mono, GTK# tabanlı grafik arayüzlü uygulamalar ve .NET Framework uygulamaları geliştirmek için bir çerçeve ve aynı zamanda bir .NET derleyicisidir. Bu çerçeveyi kullanabilmek için gerekli olan tüm paketler Pardus paket depolarında bulunmaktadır ancak güncel değildir. Bu durum C# gibi her yıl yeni özellikler kazanan bir dil için derleme hataları ve kararsızlık doğurabilmektedir.

Önce Mono depolarını eklemek gerekiyor. Pardus depolarını kullanacaksanız bu kısmı atlayın.

Ondokuz için Mono deposu ekleme
sudo apt install apt-transport-https dirmngr gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
Onyedi için Mono deposu ekleme
sudo apt install apt-transport-https dirmngr gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian stable-stretch main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

Bu adımdan sonra sudo apt install mono-complete komutuyla Mono kurulumunu yapın.

Mono’nun tümleşik geliştirme ortamı (IDE) olan MonoDevelop’u kurmak için sudo apt install monodevelop komutunu girin. MonoDevelop’un dahili sürüm denetimi özelliğinden yararlanmak için MonoDevelop kurulumunun ardından monodevelop-versioncontrol paketini kurmanız gerekiyor. Onun komutu da sudo apt install monodevelop-versioncontrol (Bu özellik için git yüklemek de gerekebilir ama emin değilim.)


.NET Core ise .NET’in baştan yazılmış hâli ve komut satırı uygulamaları, ağ uygulamaları, yapay zeka uygulamaları vb. yapmaya yarıyor. Sadece Windows için grafik arayüzlü uygulama geliştirme özelliği var ancak o eksiği zaten Mono kapatıyor.
.NET Core ile ilgili paketlerden Visual Studio Code dışındaki hiçbir paketi Pardus depolarında bulamadım.
Bunun kurulumu için de Microsoft depolarını eklemek gerekiyor.

Ondokuz için Microsoft deposu ekleme
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
Onyedi için Microsoft deposu ekleme
wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget https://packages.microsoft.com/config/debian/9/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

Depoları ekledikten sonra kurulum için sırayla şu komutları çalıştırmak gerekiyor:
sudo apt update
sudo apt install -y apt-transport-https
sudo apt update
sudo apt install -y dotnet-sdk-3.1

.NET Core kurulumu tamamlandıktan sonra sıra Visual Studio Code kurulumuna geliyor. Visual Studio Code’un çok da eski olmayan bir sürümü Pardus depolarında mevcut. Mağazadan veya sudo apt install code komutuyla uçbirimden kurabilirsiniz. İsterseniz https://code.visualstudio.com/ adresinden .deb uzantısına sahip güncel sürümü indirip Pardus Paket Kurucu ile kurabilirsiniz.

Visual Studio Code kurulumundan sonra uçbirimde code --install-extension ms-dotnettools.csharp komutunu çalıştırarak C# hata ayıklayıcısını yükleyin.

Artık Pardus’ta C# kullanarak istediğiniz yazılım geliştirme işini yapabilirsiniz.


Yalnızca Uygulamaları Çalıştırmak İçin

Mono, .NET Framework’ün bir çoklu platform uyarlamasıdır ve C# dili için bir derleyicidir. GTK#, WinForms, Console ve ASP.NET Framework uygulamalarını çalıştırabilir. Mono kullanımı için gerekli tüm yazılımlar Pardus depolarında bulunmaktadır ancak yeterince güncel değildir. Çalıştıracağınız yazılımlar yeni değilse sorunsuzca kullanabilirsiniz ancak yeniyse uyumluluk sorunu veya kararsızlık yaşayabilirsiniz.

Güncel sürümü kurmak için Mono depolarını eklemek gerekiyor. Pardus depolarındaki eski sürümü kullanacaksanız bu adımı atlayabilirsiniz.

Ondokuz için Mono deposu ekleme
sudo apt install apt-transport-https dirmngr gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
Onyedi için Mono deposu ekleme
sudo apt install apt-transport-https dirmngr gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian stable-stretch main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

Bu adımdan sonra sudo apt install mono-complete komutuyla Mono kurulumu yapabilirsiniz. Kurulum tamamlandıktan sonra .exe uzantılı dosyaların sağ tık menüsünde “Mono Runtime ile aç” seçeneği belirecek. Mono, bir Windows uyumluluk katmanı değildir. Mono çalışma zamanı yalnızca bazı WinForms uygulamalarını, bazı konsol uygulamalarını ve bazı ASP.NET Framework uygulamalarını çalıştırabilmektedir.


.NET Core, .NET’in baştan yazılıp, özgür olarak yayınlanmış hâlidir. Tıpkı Mono gibi çoklu platform desteği vardır.
.NET Core ile yapılmış uygulamaları çalıştırmak için gereken paketler Pardus depolarında yok. Onları Microsoft’un depolarından yüklemek gerekiyor.

Ondokuz için Microsoft deposu ekleme
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb
Onyedi için Microsoft deposu ekleme
wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget https://packages.microsoft.com/config/debian/9/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

Depoları ekledikten sonra sırayla şu komutları çalıştırın:
sudo apt update
sudo apt install -y apt-transport-https
sudo apt update
sudo apt install -y aspnetcore-runtime-3.1

Artık C# dilinde yazılmış uygulamaları rahatlıkla çalıştırabilirsiniz.

4 Beğeni

Bu konu son cevaptan 10 gün sonra otomatik olarak kapatıldı. Yeni cevap girilmesine izin verilmiyor.

© 2020 TÜBİTAK