Esenlikler
Uzun zamandır böyle bir rehber yazmak aklımdaydı. Linux hakkında Türkçe kaynakların artmasına katkı sağlamak istiyordum ama bir türlü fırsat bulamamıştım. Son zamanlarda forumda rehberlerin çoğalmasıyla birlikte, benim de katkım olsun diyerek bu rehberi yazmaya karar verdim. İlk rehberim olduğu için biraz kötü olabilir, mazur görün. Amacım, yeni Arch Linux kullanıcılarına kurulum sonrasında yapmaları gerekenleri anlaşılır bir şekilde aktarmak. Tabii, böyle söyleyince biraz emrivaki gibi oldu, ama amacım sadece bildiklerimi paylaşmak
Rehbere geçmeden önce, Arch Linux’u BTRFS
dosya sistemiyle kurmanın daha iyi olacağını belirtmek istiyorum. Eğer henüz kuruluma başlamadıysanız, kurulum sırasında BTRFS dosya sistemini seçmeyi unutmayın.
Neden BTRFS?
BTRFS seçmemizin nedeni Ext4 gibi eski sistemlere kıyasla daha modern olması ve özellikle snapshot (anlık görüntü) alma özelliği. Bu sayede sistemde herhangi bir değişiklikten önce anlık görüntü alarak gerekirse rollback yapabilirsiniz. Zaten yedekleme konusuna geldiğimizde BTRFS’ten bol bol bahsedeceğiz.
1. Opsiyonel Repolar, AUR ve Chaotic AUR
Arch Linux’ta AUR, olmazsa olmazdır. Hatta benim Arch Linux’a geçme sebeplerimden biri de AUR (Arch User Repository). Adından da anlaşılacağı üzere AUR, topluluk tarafından paylaşılan paketleri barındırır. Ancak AUR’dan indirilen bazı paketler sisteminizde otomatik olarak derlenir, ki bu işlem bazen uzun sürebilir. İşte burada devreye Chaotic AUR giriyor. Chaotic AUR, AUR’daki paketlerin önceden derlenmiş versiyonlarını barındırır; böylece derlenmemiş paketleri doğrudan derlenmiş şekilde indirebilirsiniz. Bununla birlikte, opsiyonel repoları da etkinleştirmenizi öneriyorum; bazen sorun çıkarsalar da (çözümlerini az sonra anlatacağım) bazen ihtiyaç duyulabiliyor.
I. multilib
reposunu etkinleştirmek
multilib
reposunu etkinleştirmek için /etc/pacman.conf
içerisindeki şu satırları yorum satırı olmaktan çıkarın:
[multilib]
Include = /etc/pacman.d/mirrorlist
Yani yapmanız gereken bu satırların başında eğer #
varsa onları silmek. Ardından sistemi güncelleyin; sudo pacman -Syu
II. yay
AUR yardımcısını kurmak
AUR’dan bir paket indirmek için bir AUR yardımcısına ihtiyacınız var. Bu yüzden AUR’dan bir paket indirmek için önce yay
kurmanız lazım:
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
Bu işlemlerden sonra artık AUR’dan bir paket indirebilirsiniz. İşte temel yay
komutları:
1. Paket arama: AUR’da bir paket aramak için: yay -Ss paket-adi
2. Paket kurmak: AUR’dan bir paket kurmak için: yay -S paket-adi
3. Paket kaldırma: AUR’dan yüklediğiniz bir paketi kaldırmak için: yay -R paket-adi
4. Bağımlılıklarıyla birlikte kaldırmak: AUR’dan yüklediğiniz bir paketi bağımlılıklarıyla beraber kaldırmak için: yay -Rns paket-adi
(ayrıca o paketin config dosyalarını da silmek istiyorsanız -Rnsc
kullanabilirsiniz)
5. Paket detaylarını görüntüleme: Bir paketin detaylarını görüntülemek için: yay -Si paket-adi
III. Chaotic AUR repolarını etkinleştirmek
Eğer sisteminiz iyiyse, Chaotic AUR’u etkinleştirmeniz şart değil. Çünkü zaten sisteminiz iyi olduğu için paketler hızlı bir şekilde derlenecektir. Bunu söylememin nedeni, Chaotic AUR repolarının hızının bazen =<500 KB/s kadar düşebilmesi. Bu benim şahsi deneyimim, belki de benim bir hatam vardır, fakat forumlarda buna benzer sorunları yaşayan birçok kişi olduğu için bunun bir ‘skill issue’ olduğunu düşünmüyorum. Tabii, bu genellikle sık karşılaşılan bir durum değil; eğer güncelleme geldiği anda güncelleme yapmıyorsanız (ki öyle olmasını da önermem zaten, eğer paketlerde bir hata varsa bundan etkilenirsiniz çünkü.), böyle bir sorunla pek karşılaşmazsınız. Yine de Chaotic AUR’u etkinleştirmek için:
sudo pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com
sudo pacman-key --lsign-key 3056513887B78AEB
sudo pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst'
sudo pacman -U 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'
Ardından /etc/pacman.conf
dosyasına şu satırları ekleyin:
[chaotic-aur]
Include = /etc/pacman.d/chaotic-mirrorlist
bunu da yaptıktan sonra dosyayı kaydedip sudo pacman -Syu
komutuyla repoları güncelleyebilirsiniz.
2. Snapper ve yedekleme
Arch kurulumu sonrası, muhtemelen en önemli kısım burasıdır. Son zamanlarda daha az yaşansa da, bazen güncelleme ile paketler bozulabiliyor; hatta güncelleme sonrası sisteminiz açılmayacak hale bile gelebiliyor. İşte tam bu noktada yukarıda bahsettiğim BTRFS’in önemi devreye giriyor.
I. Snapper kurulumu
Yedek almak için kullanacağımız araç snapper
. Snapper, oldukça detaylı bir araç, ancak size kısaca nasıl kullanıldığını özetleyeceğim. Öncelikle nasıl kuracağımızdan başlayalım. Snapper’i kurmak için:
sudo pacman -S snapper
II. Configleri oluşturmak
BTRFS’de yedekler root
ve home
olarak ayrı ayrı dizinlerde bulunur. Rehberin daha fazla uzamaması için bunu detaylıca anlatmayacağım, fakat izlemediyseniz, Yusuf abinin “BTRFS ile saniyeler içerisinde yedek alın” başlıklı videosunu izlemenizi öneriyorum.
1. Root configini oluşturmak için:
sudo snapper -c root create-config /
2. Home configini oluşturmak için:
sudo snapper -c home create-config /home
III. Temel snapper komutları
Az sonra anlatacağım paketler sayesinde, sizin manuel olarak snapshot oluşturmanıza pek gerek kalmayacak. Fakat yine de bu komutları bilmeniz gerektiğini düşünüyorum.
1. Snapshot alma: Snapshot almak için sudo snapper -c config_adi create
komutunu kullanabilirsiniz. Opsiyonel olarak açıklama belirtmek için --description=""
ekleyebilirsiniz.
Örnek: sudo snapper -c root create --description="ilk root snapshotu"
Bu komut / dizininin anlık snapshotunu almanızı sağlar. ( / dizini = tüm sistem de diyebiliriz. Dolayısıyla sisteminizin anlık snapshotunu almanızı sağlar )
2. Snapshot’a dönme: Herhangi bir snapshot’a dönmek için 2 seçeneğiniz var. Eğer bir root snapshotuna geri alma işlemi uygulayacaksanız, snapper-rollback
paketini kullanmanız gerekiyor, bunun için, Arch tabanlı dağıtımlarda snapshot rollback rehberini okuyup oradaki adımları takip edin.
Fakat eğer root olmayan bir snapshota dönmek istiyorsanız undochange
yöntemini kullanabilirsiniz.
sudo snapper -c home undochange ID..ID
Bu komut 2 farklı snapshot arasındaki değişiklikleri geri alacaktır. Zaten ID’yi nasıl bulacağınızı üstte anlattığım için bunu tekrar etmeye lüzum yok. Aynı yöntemi burada da kullanacaksınız.
3. Snapshot silme: Herhangi bir sebepten olabilir, snapshot silmek istiyorsanız sudo snapper -c config_adi rm ID
kullanabilirsiniz.
Örnek: 877 ID’li snapshotu silmek için: sudo snapper -c root rm 877
komutunu kullanmam gerekiyor. Fakat eğer 870 ile 877 arasındaki tüm snapshotları silmek istiyorsam, sudo snapper -c root rm 870-877
komutunu kullanmam gerek.
IV. Opsiyonel paketler
grub-btrfs: Bu paket, BTRFS snapshot’larına GRUB menüsünden erişebilmenizi sağlar. Böylece, eğer sistemi açamıyorsanız bile GRUB menüsünden sisteminizi bir snapshota boot edebilirsiniz.
snap-pac: Bu paket, paket yöneticiniz ile bir paket yüklemeden, silmeden ya da güncellemeden önce otomatik olarak snapshot alır. Böylece sisteminizi bozabilecek bir güncellemeden önce sizin yerinize bir snapshot oluşturmuş olur.
snap-pac-grub (AUR): Eğer grub-btrfs
kullanıyorsanız, her yeni snapshot oluşturulduğunda bu snapshot’un GRUB menüsünde görünmesi için GRUB’ın grub-mkconfig ile yeniden oluşturulması gerekiyor. Ancak, snap-pac
ile yedek alındıktan sonra, bu paket sayesinde snapshot’lar otomatik olarak GRUB’a eklenir.
3. Swap alanı oluşturma
Eğer swap alanı oluşturmazsanız, RAM dolduğunda sistem takılabilir ve yeniden başlatmanız gerekebilir. Özellikle 16 GB’den az RAM’e sahipseniz, swap alanı oluşturmanız önemlidir. Kısacası, swap, Windows’taki pagefile.sys işlevini görür; RAM’de birikmiş ve bir süredir kullanılmayan verileri diske yazarak RAM’in yükünü azaltır. Şimdi swap alanını nasıl oluşturacağımıza geçelim.
I. BTRFS kullanıcıları için Swap alanı oluşturma
Eğer BTRFS kullanıyorsanız swap alanını oluşturmadan önce snapshot’u alınmamış bir subvolume oluşturun
btrfs subvolume create /swap
ardından swap alanını oluşturabilirsiniz
btrfs filesystem mkswapfile --size 4g --uuid clear /swap/swapfile
Burada 4G, 4GB ediyor. Yani eğer daha fazla ya da daha az alan ayırmak istiyorsanız, sayıyı değiştirebilirsiniz. Swap alanını oluşturduktan sonra, sistemin açılışında otomatik olarak swap alanını etkinleştirmek gerekir. Bunun için /etc/fstab
dosyasını düzenleyeceğiz.
sudo nano /etc/fstab
Şunu ekleyin:
/swap/swapfile none swap defaults 0 0
Ardından CTRL+X ile dosyayı kaydedin. Bunu yapsanız bile, yeniden başlatmadan swap alanı aktif olmayacaktır. Bu yüzden sudo swapon /swap/swapfile
komutuyla swap alanını etkinleştirin. Böylece yeniden başlatmanıza gerek kalmaz.
II. Diğer dosya sistemlerinde swap alanı oluşturma
Eğer EXT4 ya da diğer dosya sistemlerini kullanıyorsanız swap alanını şu komutlarla oluşturmanız gerek:
sudo mkswap -U clear --size 4G --file /swapfile
Ardından, az önce size anlattığım gibi swap dosyasını aktif edip, fstab’a eklemeniz gerek.
4. Ekran kartı sürücüleri (Sadece NVIDIA kullanıcıları için)
Öncelikle bütün bu işlemlerden önce bir root yedeği almanızı öneriyorum. Nasıl alacağımızı üstte anlatmıştık zaten.
Ekran kartınız çok yeni değilse, varsayılan olarak kurulu gelen nouveau
sürücüsü işinizi görebilir. Ancak, özellikle RTX serisi gibi daha yeni nesil bir NVIDIA ekran kartınız varsa kapalı kaynak sürücüleri kullanmanızı öneriyorum. Nasıl kuracağınızı anlatmadan önce şuna değinmek istiyorum, Bazı kullanıcılar ekran kartı sürücülerini NVIDIA’nın sitesinden kuruyorlar. Bu asla yapmamanız gereken bir şey dostlar. Çünkü böyle yaptığınızda ekran kartını manuel olarak güncellemeniz gerekecek. Ayrıca repolardan indirdiğinizden farklı olarak bazı config dosyalarını da ellemeniz gerekebilir. Bu yüzden, asla NVIDIA’nın sitesinden ekran kartı sürücülerini kurmayın. Paket yöneticisi hem daha kolay, hem de daha sağlıklı bir yöntem. Şimdi nasıl kuracağımıza geçelim.
I. Ekran kartınızın hangi aileden olduğunu öğrenmek
Öncelikle ekran kartınızın hangi seriden olduğuna bakmanız gerek. Bunun için şu komutu kullanın:
lspci -k | grep -A 2 -E "(VGA|3D)"
Ardından ekran kartınızı bu listeden bulun ve hangi aileye ait olduğunu öğrenin. Ardından aşağıdaki tabloya göre size uygun sürücüyü indireceksiniz:
II. Uygun sürücüyü kurmak
GPU ailesi | Sürücü | Durum |
---|---|---|
Turing (NV160/TUXXX) ve sonrası | linux kerneli için nvidia-open, herhangi bir kernel için nvidia-dkms | Önerilir, Güncel, destekleniyor |
Maxwell (NV110/GMXXX) ila Ada Lovelace (NV190/ADXXX) | linux için nvidia, herhangi bir kernel için nvidia-dkms, linux-lts için nvidia-lts | Güncel, destekleniyor |
Kepler (NVE0/GKXXX) | nvidia-470xx-dkmsAUR | Eski, desteklenmiyor |
Fermi (NVC0/GF1XX) | nvidia-390xx-dkmsAUR | Eski, desteklenmiyor |
Tesla (NV50/G80-90-GT2XX) | nvidia-340xx-dkmsAUR | Eski, desteklenmiyor |
Curie (NV40/G70) ve öncesi | Artık paketlenmiyor | Eski, desteklenmiyor |
Mesela benim ekran kartım Maxwell serisinden yeni olduğu için nvidia
sürücüsünü, OpenGL için de nvidia-utils
paketini kurmam gerekiyor. Fakat eğer siz linux-zen gibi farklı bir kernel kullanıyorsanız, nvidia-dkms
sürücüsünü kurmanız gerekir.
yay -S nvidia nvidia-utils lib32-nvidia-utils nvidia-settings
Ayrıca, OpenGL desteği için kuracağınız paketin yanına ek olarak Multilib deposundan lib32 paketini de kurmanız gerekiyor. Yani nvidia-utils
ile birlikte lib32-nvidia-utils
paketini de kuracaksınız. Tüm sürücülerde durum aynı, başına lib32- ekleyeceksiniz sadece. Tabloya sığmadığı için koyamadım
III. DRM ayarını etkinleştirmek
NVIDIA otomatik KMS geç yüklemeyi desteklemediğinden, Wayland kompozitörlerinin düzgün çalışması için DRM (Direct Rendering Manager) çekirdek modu ayarının etkinleştirilmesi gerekir.
nvidia-utils 560.35.03-5
sürümünden itibaren DRM varsayılan olarak etkin durumdadır.[1] Daha eski sürücüler için nvidia_drm modülü için modeset=1 çekirdek modülü parametresini ayarlayın.
Arch Wiki
DRM’in etkin olup olmadığını öğrenmek için aşağıdaki komutu kullanabilirsiniz:
sudo cat /sys/module/nvidia_drm/parameters/modeset
Eğer bu komut, sonuç olarak Y
döndürüyorsa, DRM etkin demektir. Eğer DRM etkin değilse aşağıdaki gibi modeset=1 çekirdek modülü parametresini GRUB’a ekleyin:
sudo nano /etc/default/grub
ardından GRUB_CMDLINE_LINUX_DEFAULT
ile başlayan satırı bulun:
GRUB_DEFAULT=0
GRUB_TIMEOUT='5'
GRUB_CMDLINE_LINUX_DEFAULT="GRUB_CMDLINE_LINUX_DEFAULT='nowatchdog nvme_load=YES loglevel=3'"
GRUB_CMDLINE_LINUX="""
Ardından iki tırnak içerisine nvidia_drm.modeset=1
parametresini ekleyin. Eğer 6.11 ve daha yeni bir kernel sürümü kullanıyorsanız, aynı şekilde nvidia_drm.fbdev=1
paramteresini de eklemeniz gerekiyor.
Örneğin 6.10 ve ya daha eski bir kernel kullanıyorsanız:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"
6.11 ve ya daha yeni bir kernel kullanıyorsanız:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1 nvidia-drm.fbdev=1"
IV. Erken yükleme
Temel işlevsellik için sadece kernel parametresini eklemek yeterli olacaktır. Mümkün olan en erken zamanda yüklenmesini sağlamak istiyorsanız veya başlangıç sorunları fark ediyorsanız (nvidia çekirdek modülünün görüntü yöneticisinden sonra yüklenmesi gibi) initramfs’ye nvidia
, nvidia_modeset
, nvidia_uvm
ve nvidia_drm
ekleyebilirsiniz.
mkinitcpio kullanıyorsanız
Önce mkinitcpio.conf
dosyasını düzenleyin:
sudo nano /etc/mkinitcpio.conf
ardından MODULES=
ile başlayan satırı bulun ve parantez içerisine üstteki parametreleri ekleyin ve dosyayı kaydedin. Initramfs’e ekledikten sonra, her nvidia sürücü güncellemesinde mkinitcpio’yu çalıştırmayı unutmayın.
sudo mkinitcpio -P
Bu adımları otomatikleştirmek için bir pacman hook oluşturmanız gerekiyor.
sudo nano /etc/pacman.d/hooks/nvidia.hook
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
# Yüklü olan NVIDIA paketinin yorumunu kaldırın
Target=nvidia
#Target=nvidia-open
#Target=nvidia-lts
# If running a different kernel, modify below to match
Target=linux
[Action]
Description=Updating NVIDIA module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux*) exit 0; esac; done; /usr/bin/mkinitcpio -P'
Uyarı: Bu satırları, yüklü olan NVIDIA paketinize ve kullandığınız kernel’e göre değiştirmeyi unutmayın.
Booster kullanıyorsanız
Önce /etc/booster.yaml
dosyasını düzenleyin:
sudo nano /etc/booster.yaml
modules_force_load
ile başlayan satırı bulup, parametreleri ekleyin ve dosyayı kaydedin:
modules_force_load: nvidia nvidia_modeset nvidia_uvm nvidia_drm
Booster imajınızı yenileyin:
booster build booster-foo.img
Dracut kullanıyorsanız
Önce /etc/dracut.conf.d/myflags.conf
dosyasını düzenleyin:
sudo nano /etc/dracut.conf.d/myflags.conf
force_drivers
ile başlayan satırı bulup, parametreleri ekleyin ve kaydedin:
# ...
force_drivers+=" nvidia nvidia_modeset nvidia_uvm nvidia_drm "
# ...
bunları yaptıktan sonra CTRL+X kombinasyonu ile dosyayı kaydedip kapatın ve ardından GRUB’ı güncelleyin: sudo grub-mkconfig -o /boot/grub/grub.cfg
5. Asla yapmamanız gerekenler
-
sudo pacman -Sy
kullanmayın, onun yerinesudo pacman -Syu
kullanın. Bu bağımlılık sorunlarına neden olabilir. Daha fazla bilgi için: System maintenance - ArchWiki - AUR paketlerini kullanırken dikkatli olun. Bazı AUR paketleri zararlı olabilir. [1] [2]
-
testing
repolarını etkinleştirmeyin. (Official repositories - ArchWiki)
Buraya daha bir çok şey eklenebilir fakat aklıma gelmedi. Yine de yapmamanız gereken adımları belirtmek için bu başlığı açtım.
Eğer eklemek istediğiniz bir şeyler varsa lütfen çekinmeden paylaşın. Türkçe kaynakların artması için herkesin desteğini bekliyorum. Böylece Linux’u ülkemizde daha fazla yayabileceğimize inanıyorum.
Son düzenleyen: @linuxmint 2024-11-17T17:26:40Z