Bu yazımda Linux dünyasında kullanılan package management tool’larına değineceğim. Öncelikle Debian ve Red Hat farkını açıklamak gereklidir.
Red Hat
Red Hat IBM firması tarafından geliştirilen bir işletim sistemidir. Dağıtımları aşağıdaki şekildedir.
- Red Hat Enterprise Linux(Paid Version)
- Fedora
- CentOS (Commuınity Version)
Debian
Debian GNU/Hurd ve GNU/Linux gibi farklı çekirdek seçeneklerine bağlı özgür bir Linux dağıtımıdır. Aşağıdaki bazı dağıtımlar örnek verilebilir.
- Debian
- Linux Mint
- Ubuntu
| DPKG/APT | |
| Debian | Ubuntu |
| RPM | |
| Redhat | CentOS |
Linux sistemlerini kategorize etmenin bir yolu kullandığı package management sistemidir.
RPM Based Distribution
Red Hat ailesi tarafından kullanılan paket yöneticisi Red Hat Package Manager dır. Paketler .RPM uzantılıdır.

Debian ailesi örneğin ubuntu, Arch Linux, Linux Mint Debian Package Manager kullanmaktadır. Paketler .DEB uzantılıdır.

Peki Nedir Bu Paketler?
Bir paket compressed bir arşiv dosyasıdır ve bir program için tüm dosyaları, binaries, metadata(yazılım hakkında bilgi verir) ve configuration files ları içermektedir. Yüzlerce Linux distro su vardır ve bu distrolar farklı toollar ve libariesler kullanır. Bunun sonucu olarak bir sistemde çalışan bir program başka bir sistemde çalışmayabilir. Bu sorunu çözmek için package ler manifest, dependencies, list of programs, ve version içermektedir.
Package Manager
Package Manager bir Software olarak Linux üzerinde tutarlı ve otomatik olarak installing, upgrading configuring ve package lerin sistemden kaldırılmasına olanak sağlamaktadır. Aşağıdaki görevleri yerine getirmektedir.
- Paket bütünlüğü ve Özgünlük
- Basitleştirilmiş package yönetimi
- Package Grouping
- Dependencies Yönetimi(En önemli özelliklerinden biri budur)
- DPKG-> low-level Debian-based Package Manager
- APT-> high-level Debian-based Package Manager(daha kullanıcı dostu APT-GET ile karşılaştırırsak)
- APT-GET->high-level Debian-based Package Manager
- RPM-> low-level Red Hat-based Package Manager
- YUM->high-level Red Hat-based Package Manager
RPM(Red Hat Package Manager)
5 farklı moda sahiptir. Burada dikkat edilmesi gereken nokta RPM in dependenciess ler ile ilgilenmiyor oluşudur. Bu yüzden Higher Level Package Manager ler günümüzde kullanılmaktadır örneğin YUM.

Bazı RPM komutları
install package
rpm -ivh telnet.rpm
-i= install
-v=verbose
Uninstall package
rpm -e telnet.rpm
Update Package
rpm -Uvh telnet.rpm
Get details about installed package
rpm -q telnet.rpm
Verify Package
rpm -Vf <path to file>
YUM
Yellowdog Updater Modified anlamına gelmektedir. RPM tabanlı Linux sistemlerinde çalışan bir Package Manager dır. YUM software repositoriesler ile birlikte çalışır. High Level bir Package Manager dır. RPM in aksine Dependencies ler ile karmaşıklığı ortadan kaldırır. Gerekli olanları yükler
Bazı YUM Komoutları
yum install httpd ->kurulum içindir
yum repolist->sistemdeki eklenmiş olan tüm repoları gösterecektir.
yum provide scp->Bir paketi kurmak için hangi bağlılıklar gerekiyor onu gösterir.
yum remove httpd->Uygulamayı kaldırır
yum update telnet->Uygulamayı update eder
yum update -> Tüm paketleri update eder
APT
High Level bir Package Manager dır. Debian tabanlı Linux dağıtımlarında çalışmaktadır. APT-GET e göre daha user friendly bir tooldur. Aşağıdaki görselde görüldüğü üzere daha sade bir output vermektedir

Verebileceğimiz bir diğer örnek ise repo larda arama yaparken apt-get in karışık bir output vermesi örnek gösterilebilir
