Linux ­Kurulu­m ve Y­onetim­i
  • Döküman Hakkında
  • Linux ve GNU'nun Geçmişi
    • CentOS, Debian ve FreeBSD Ana Sürümlerin Farkları
  • Temel Komutlar
    • Temel Terminal Komutları
    • Yardım Dosyaları
    • Dosya İzinleri, Yetkiler, Kullanıcılar ve Gruplar
    • Dosya Düzenleme Araçları
      • nano ve pico
      • vi
    • Sıkıştırılmış Dosyalar
  • Standart Girdi ve Çıktı
    • Standart Çıktı
    • Standart Girdi
    • UNIX Pipeline
    • Olmazsa Olmaz: stdio.h
    • Standart Hata ve File Descriptor
    • Forkbomb
    • Named Pipe
  • Gelişmiş Terminal Komutları
    • Tarih ve Saat Ayarlama
    • Sistem Yükünü İzleme
    • patch ve diff
    • xargs
    • awk ve sed
    • egrep ve Regular Expressions
    • rename
    • Imagemagick ve Görüntü Dosyaları
    • wget
    • Python ile Dosya Sunuculuğu
  • Temel Dağıtımlar
    • RHEL Tabanlı (CentOS, Rocky, Alma)
      • rpm Paketleri
      • DNF Paket Yöneticisi
      • Repo Ayarları
      • Network Ayarları
    • Debian
      • deb Paketleri
      • apt Paket Yöneticisi
      • Repo Ayarları
      • Network Ayarları
    • FreeBSD
      • Ports ve pkg Yönetimi
      • Güncelleme Teknikleri
      • Network Ayarları
    • Arch Linux
      • pacman ve AUR
      • Network Ayarları
    • Ortak Network Dosyaları
  • SSH
    • Uzak Sunucuya Bağlanma
    • sshd Sunucu Ayarları
    • Private ve Public Anahtarlar
    • Güvenli Dosya Aktarımı
    • sshfs
  • Kernel Boot
    • Sunucu Başlangıcına Genel Bakış
    • Çekirdeğin Yüklenmesi ve Boot Seçenekleri
    • Çekirdek Parametreleri
    • Bootloader Nedir?
  • User Space
    • Başlangıç: Init
    • Init Versiyonunu Belirlemek
    • System V
      • Servislerin Yönetimi
      • Çalışma Seviyeleri (Run Levels)
      • Örnek System V Servis Oluşturma
    • systemd
      • Servislerin Yönetimi
      • Birimler ve Birim Tipleri
      • Örnek systemd Servis Oluşturma
    • Acil Durumlar ve Tek Kullanıcı Modu
  • BASH Programlama
    • Döngüler ve Diğer Kontrol Yöntemleri
    • Menüler
  • Log Dosyaları
    • Log İnceleme ve Filtreleme
  • İnternet Servisleri
    • Bir sayfanın İnternetteki Serüveni
    • Nameserver Servisleri
    • Apache
    • PHP-FPM
    • FTP/FTPS/SFTP
      • vsftpd
      • ProFTPD
      • SFTP
      • Komut Satırından ftp Kullanımı
  • Zamanlanmış Görevler
    • crontab
    • at
  • Veritabanı
    • MySQL
      • MySQL Kurulumu
      • MySQL Servisini Çalıştırmak
      • Veritabanı ve Tablo oluşturmak
      • SQL Tablosuna Veri Eklemek
      • Temel SQL Sorgularına Giriş
        • Birinci bölüm
      • mysqldump ile yedekleme
      • Replikasyon teknikleri
      • Yedekleri içeri alma
    • PostgreSQL
      • PostgreSQL Kurulumu
      • Temel Yapılandırma
      • Temel Kullanım
    • MongoDB
      • MongoDB Kurulumu
      • Temel Yapılandırma
      • Temel Kullanım
    • Redis
      • Redis Kurulumu
      • Temel Yapılandırma
      • Temel Kullanım
  • Temel Network Yapılandırması
  • Gelişmiş Network Komutları
    • ip
    • ifconfig
    • route
    • ping
    • traceroute
    • dig
    • nslookup
    • netcat
    • nmap
    • tcpdump
    • Wireshark (Giriş)
    • Bantgenişliği Ölçümü
  • Güvenlik
    • Firewalld
    • IPTables
      • Temel İzinler
      • IP ve Port Engelleme
    • selinux
  • Disk Sistemleri
    • ext
    • zfs
    • lvm
  • RAID
    • RAID Biçimleri
    • Verinin Disklere Yayılması
    • Cache
    • Terimler ve Tavsiyeler
  • Örnek Kurulumlar ve Modern Yaklaşımlar
    • CentOS 7 Tam Sistem Kurulumu (Arşiv)
    • AlmaLinux ile Hosting Ortamı Kurulumu
    • Ubuntu ile Hosting Ortamı Kurulumu
    • Modern Hosting Yaklaşımları (PaaS, Coolify vb.)
  • Konteynerleştirme (Docker / Podman)
  • Yapılandırma Yönetimi (Ansible)
  • İzleme ve Uyarı (Prometheus / Grafana)
  • Nginx Web Sunucusu
  • Kubernetes (Giriş)
  • PCI-DSS ve Linux Sistemleri
  • İndeks
  • Kaynaklar
Powered by GitBook
On this page
  • Paket Arama ve Listeleme
  • Paket Kurma (install)
  • Paket Kaldırma (remove)
  • Paket Güncelleme (upgrade)
  • Paket Bilgisi (info)
  • Dosyanın Hangi Pakete Ait Olduğunu Bulma (provides)
  • Paket Grupları (group)
  • İşlem Geçmişi (history)
  • Diğer Kullanışlı dnf Komutları
  • Modüller (RHEL 8+ / CentOS Stream 8+)
  • Yapılandırma
  1. Temel Dağıtımlar
  2. RHEL Tabanlı (CentOS, Rocky, Alma)

DNF Paket Yöneticisi

RHEL tabanlı modern Linux dağıtımlarında (Fedora, CentOS Stream, Rocky Linux, AlmaLinux, RHEL 8+) paket yönetimi için kullanılan standart araç dnf (Dandified YUM)'dir. dnf, eski paket yöneticisi yum'un (Yellowdog Updater Modified) yeni nesil versiyonudur ve daha iyi performans, daha düşük bellek kullanımı, geliştirilmiş bağımlılık çözümü gibi avantajlar sunar.

Çoğu modern sistemde, geriye dönük uyumluluk için yum komutu dnf'e yönlendirilmiş bir sembolik link veya alias olabilir. Ancak, yeni komutları ve özellikleri kullanmak için doğrudan dnf komutunu öğrenmek ve kullanmak tavsiye edilir.

dnf, sisteminize yazılım kurmak, güncellemek, kaldırmak ve yapılandırılmış yazılım depolarını (repositories) yönetmek için kullanılır. Temel olarak RPM paketleri üzerinde çalışır ancak bağımlılıkları otomatik olarak çözer.

Paket Arama ve Listeleme

Bir paketin depolarda mevcut olup olmadığını aramak için search kullanılır:

# İçinde 'htop' geçen paketleri ara
sudo dnf search htop 

Belirli bir paketin veya tüm paketlerin listelenmesi için list kullanılır:

# 'htop' paketinin kurulu olup olmadığını ve mevcut sürümünü listele
sudo dnf list htop

# Sistemde kurulu tüm paketleri listele
sudo dnf list installed | less

# Depolarda mevcut tüm paketleri listele
sudo dnf list available | less

# Tüm paketleri (kurulu ve mevcut) listele
sudo dnf list all | less 

Kurulu paketleri listelemek için rpm -qa komutu da kullanılabilir.

Paket Kurma (install)

Bir veya daha fazla paketi kurmak için install komutu kullanılır. dnf, gerekli bağımlılıkları otomatik olarak bulup kurmaya çalışacaktır.

# htop paketini kur
sudo dnf install htop

Kurulum sırasında onay istenecektir. Onay vermeden doğrudan kurmak için -y parametresi eklenebilir:

sudo dnf install -y htop

Yerel bir RPM dosyasını kurarken de dnf kullanmak, bağımlılıkların depolardan çözülmesini sağlar:

sudo dnf install /path/to/local-package.rpm

Paket Kaldırma (remove)

Bir veya daha fazla paketi kaldırmak için remove (veya erase) komutu kullanılır:

# htop paketini kaldır
sudo dnf remove htop

Yine onay istenir ve -y ile atlanabilir. dnf remove, kaldırılan pakete bağımlı olan ve başka hiçbir paket tarafından kullanılmayan diğer paketleri de kaldırmayı önerebilir (bkz. autoremove).

Paket Güncelleme (upgrade)

Sistemdeki kurulu tüm paketleri en son sürümlerine güncellemek için upgrade komutu kullanılır:

# Tüm sistemi güncelle
sudo dnf upgrade -y

Sadece belirli bir paketi güncellemek için:

# Sadece vim paketini güncelle
sudo dnf upgrade vim

Sadece güvenlik güncellemelerini uygulamak için:

sudo dnf upgrade --security

Hangi paketlerin güncellemesinin mevcut olduğunu görmek için check-update kullanılır:

sudo dnf check-update

Paket Bilgisi (info)

Bir paket hakkında (kurulu olsun veya olmasın) detaylı bilgi almak için info kullanılır:

sudo dnf info htop

Bu komut paketin sürümünü, mimarisini, boyutunu, özetini, açıklamasını ve hangi depodan geldiğini gösterir. Benzer bilgi rpm -qi <paket-ismi> ile de alınabilir (sadece kurulu paketler için).

Dosyanın Hangi Pakete Ait Olduğunu Bulma (provides)

Belirli bir dosyanın veya komutun hangi paket tarafından sağlandığını bulmak için provides (veya whatprovides) kullanılır:

# /usr/bin/htop komutunu hangi paketin sağladığını bul
sudo dnf provides /usr/bin/htop

# httpd.conf dosyasını sağlayan paketi bul
sudo dnf provides '*/httpd.conf' 

Paket Grupları (group)

İlgili paketler genellikle gruplar halinde sunulur (örneğin, "Web Server", "Development Tools").

Mevcut grupları listelemek için:

sudo dnf group list
sudo dnf group list hidden # Gizli grupları da göster

Bir grup hakkında bilgi almak için (içerdiği zorunlu, varsayılan, opsiyonel paketler):

sudo dnf group info "Development Tools"

Bir grubu kurmak, güncellemek veya kaldırmak için:

sudo dnf group install "Development Tools"
sudo dnf group upgrade "Development Tools"
sudo dnf group remove "Development Tools"

Grup kurulumlarında varsayılan olarak hangi tür paketlerin (mandatory, default, optional) kurulacağını /etc/dnf/dnf.conf dosyasındaki group_package_types direktifi belirler.

İşlem Geçmişi (history)

dnf, yapılan tüm kurulum, kaldırma, güncelleme işlemlerinin kaydını tutar. Bu, değişiklikleri takip etmek ve gerekirse geri almak için çok kullanışlıdır.

Geçmiş işlemleri listelemek için:

sudo dnf history list

Belirli bir işlem hakkında detaylı bilgi almak için (ID'si ile):

sudo dnf history info 15 

Belirli bir işlemi geri almak için (örneğin 15 numaralı kurulumu geri al):

sudo dnf history undo 15

Geri alınan bir işlemi tekrar uygulamak için:

sudo dnf history redo 15

Diğer Kullanışlı dnf Komutları

  • autoremove: Başka hiçbir kurulu paketin ihtiyaç duymadığı bağımlılıkları (artık gereksiz olan paketleri) kaldırmak için kullanılır. Genellikle bir remove işleminden sonra çalıştırılır.

    sudo dnf autoremove
  • downgrade: Bir paketi önceki bir sürümüne düşürmek için kullanılır.

    sudo dnf downgrade <paket-ismi>
  • reinstall: Bir paketi yeniden kurmak için kullanılır (yapılandırma dosyaları genellikle korunur).

    sudo dnf reinstall <paket-ismi>
  • clean: dnf tarafından önbelleğe alınan verileri temizlemek için kullanılır (örn. dnf clean all).

Modüller (RHEL 8+ / CentOS Stream 8+)

RHEL 8 ve sonrası tabanlı dağıtımlarda "Application Streams" (Uygulama Akışları) ve dnf module komutları tanıtılmıştır. Bu, aynı paketin farklı sürümlerini (örneğin Python 3.6, 3.8, 3.9) aynı anda depolarda bulundurmayı ve kullanıcının hangisini kuracağını seçmesini sağlar.

Mevcut modülleri listelemek için:

sudo dnf module list

Belirli bir modül akışını (stream) etkinleştirmek ve kurmak için:

sudo dnf module install <modül-adı>:<akış-adı> 
# Örnek: sudo dnf module install python39

Yapılandırma

dnf, RHEL tabanlı sistemlerde paket yönetiminin temel taşıdır ve rpm komutuna göre çok daha kullanıcı dostu ve güvenli bir deneyim sunar.

Previousrpm PaketleriNextRepo Ayarları

Last updated 1 month ago

dnf'in ana yapılandırma dosyası /etc/dnf/dnf.conf'tur. Yazılım depoları ise /etc/yum.repos.d/ dizini altındaki .repo uzantılı dosyalarda tanımlanır (bkz. ).

Repo Ayarları