Fatih Tatoğlu

Linux - Mint Geliştirme Ortamı

Geliştirmelerimin çoğu artık cross platform olarak çalışıyor. Diğer insanların aksine MacOS seçmediğim için Linux üzerinde geliştirmelerime devam ediyorum. Odağım geliştirme olduğu için çok büyük bir dağıtım seçmek yerine daha kolay alışabileceğim bir dağıtım tercih ettim.

Linux Mint, Ubuntu'yu baz alan bir dağıtım ve Ubuntu için çalışan çoğu paketi de çalıştırabiliyor. Ama tam bir geliştirme ortamı olabilmesi için bazı ufak eklemeler ve çıkartmalar yapmam gerekiyor.

Linux Mint, seçimi yaparken basit, hafif ve verimli olması için Xfce Edition sürümünü kullanıyorumdum. Diğer sürümlerinde daha görsel olarak güzel ve eğlenceli arayüzler olmasına karşın ben olabildiğinde az yer kaplayan bir sürüm olmasını tercih ediyorumdum. Ancak bir senaryoda Palo Alto'nun Global Protect ürünü için Xfce Edition'i ile sorun yaşadım. Bu senaryoda Cinnamon Edition sorunsuz çalışma sağladı ve kontrol ettiğimde yer kaplamasının o kadar da çok olmadığını görünce Cinnamon Edition'ı ile devam ediyor olacağım.

Çıkartmalar

Linux Mint, hafif bir dağıtım olmasına rağmen içinde benim geliştirme sırasında kullanmayacağım bazı yüklemelerde bulunmakta. Öncelikle bunlardan kurtuluyor olacağım.

> sudo apt remove --purge libreoffice* -y
> sudo apt remove --purge thunderbird -y
> sudo apt remove --purge rhythmbox -y 
> sudo apt remove --purge transmission-gtk -y 
> sudo apt remove --purge simple-scan -y
> sudo apt remove --purge timeshift -y
> sudo apt remove --purge vim-tiny -y
> sudo apt remove --purge hplip -y
> sudo apt remove --purge youtube-dl -y
> sudo apt remove --purge hypnotix -y
> sudo apt remove --purge warpinator -y
> sudo apt clean
> sudo apt autoremove

İlk Yapılacak

Gerek duymadığım yazılımları çıkarttıktan sonra yeni yükleme yapmadan önce ilk yapmam gereken dediğim bazı adımlar her işletim sistemi için bulunmaktadır. Linux Mint içinde;

şeklinde. Bu işlemler yapılmadan güvenli, stabil ve rahat bir çalışma ortamına sahip olmayacağımı düşünüyorum. Bu yüzden öncelike bunları yapıyor olacağım.

> sudo apt update
> sudo apt upgrade -y

Yukarıdaki komutlar ile güncellemeler yapılıyor. İlk defa yapılacağı için biraz uzun sürebilir.

> sudo apt install vim -y
> sudo apt install --install-recommends linux-generic-hwe-20.04 -y
> sudo apt install -y openssh-server

Yukarıdaki komutlar ile sırasıyla favori komut satırı editörümü yüklüyorum. Sonrasında ekran kartı sürücüsünü yüklüyorum. Hyper-V üzerinden çalıştırdığım için generic bir ekran kartı sürücüsü işimi görüyor olacaktır. Son olarak ana makine ile bağlantı sağlayabilmek için SSH Server kuruyorum.

> sudo systemctl status ssh
> sudo systemctl enable ssh
> sudo ufw allow ssh
> sudo ufw enable
> sudo ufw reload

Yukarıdaki komutlar ile Linux Mint içindeki firewallu etkinleştirip SSH Servera yetki veriyorum. Bunun dışında ek bir yetkiye ihtiyacım olmadığı için sadece SSH portuna yetki vermek yeterli olacaktır.

Ekran Ayarlama

Hyper-V üzerinde çalıştırdığım bütün Linux dağıtımlarında mutlaka sonrasında ekran ayarı yapılması gerekmektedir. Linux Mint için de bu işlemi aşağıdaki işlem ile yapabiliyorum.

> sudo vi /etc/default/grub

Dosyayı açtıktan sonra GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" olan satırı GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080" olarak güncelleyip kaydediyoruz.

> sudo update-grub
> sudo reboot

Sonrasında yukarıdaki komutları çalıştırarak sanal makineyi restart ediyoruz ve ekran artık kocaman oluyor.

Kurulumlar

İşimize yaramayacak yazılımlardan kurtulduk, ayarlamalarımızı yaptık ve en son ekranımızı da ayarladıktan sonra sadece geliştirme ortamının kurulması işlemi kaldı. Bu bölümde parça parça benim kullandığım araçların kurulumları ile ilgili komutları paylaşacağım.

VSCode

> wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
> sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
> sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
> rm -f packages.microsoft.gpg
> sudo apt install apt-transport-https -y
> sudo apt update
> sudo apt install code -y

Git

> sudo apt install git -y

DotNet Core

> wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
> sudo dpkg -i packages-microsoft-prod.deb
> rm packages-microsoft-prod.deb
> sudo apt-get update

> sudo apt-get install -y apt-transport-https
> sudo apt-get install -y dotnet-sdk-6.0
> sudo apt-get install -y aspnetcore-runtime-6.0
> sudo apt-get install -y dotnet-runtime-6.0

NodeJs

> sudo apt install -y curl
> curl -fsSL https://deb.nodesource.com/setup_16.x |sudo -E bash -
> sudo apt install nodejs

PowerShell

Evet doğru görüyorsunuz powershell. Çünkü artık PowerShell Core da cross platform olarak çalışabiliyor.

> sudo apt-get install -y wget apt-transport-https software-properties-common
> wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb
> sudo dpkg -i packages-microsoft-prod.deb
> sudo apt-get update
> sudo apt-get install -y powershell

Docker

> sudo apt-get remove docker docker-engine docker.io containerd runc
> sudo apt-get install -y ca-certificates curl gnupg lsb-release
> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
> echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  focal stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
> sudo apt-get update
> sudo apt-get install -y docker-ce docker-ce-cli containerd.io
> sudo usermod -aG docker $USER
> newgrp docker 
> sudo systemctl enable docker.service
> sudo systemctl enable containerd.service
> docker run hello-world

GO

> wget https://go.dev/dl/go1.18.3.linux-amd64.tar.gz
> sudo su
> rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz
> exit
> export PATH=$PATH:/usr/local/go/bin
> go version

GO kurulumu yaparken dikkat eklmemiz gereken bir noktada her seferinde otomatik olarak GOPATH değerinin atanması. Bu işlem için;

> sudo vi ~/.bashrc

komutu ile dosyayı açıyoruz ve en altına aşağıdaki satırı ekleyip kapatıyoruz.

export PATH=$PATH:/usr/local/go/bin

Son İşlem

Kendime göre geliştirme ortamımı kurdum ve her zaman son işlem mutlaka makineyi restart etmek olacaktır. Restart işleminden sonra kurulumları test etmek için aşağıdaki komutları çalıştırabilirsiniz.

> git --version
> node --version
> npm --version
> go version
> docker --version
> dotnet --version
> pwsh --version
> code --version

Bu komutların sonunda hata alıyor ya da sonuç alamıyorsanız yüklemelerde bir sıkıntı olmuş olabilir. Bu sorunları tespit etmek için yükleme adımlarını kontrol ederek giderebilirsiniz.

Tema Ayarları
Renkler