0Pricing
Linux Server Deployment & SSH Mastery · Ders

Yazılım Depolarını Yönetme

Karmaşık yazılım kurulumlarında üçüncü taraf depoları eklemeyi, paket kaynaklarını anlamayı ve bağımlılık çakışmalarını çözmeyi öğrenin.

Yazılım Depolarını Yönetme, CoddyKit'te ücretsiz bir Linux Server Deployment & SSH Mastery dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Linux Server Deployment & SSH Mastery öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Linux Server Deployment & SSH Mastery kursu toplamda 4 dersten oluşur.

Yazılım Depoları Nedir?

Linux'a yazılım yüklediğinizde sisteminiz yazılımı rastgele bir yerden indirmez. Bunun yerine yazılım depolarını kullanır.

Depo (veya 'repo'), yazılım paketlerinin saklandığı ve sürdürüldüğü merkezi bir konumdur. Bunu Linux sunucunuz için bir uygulama mağazası gibi düşünebilirsiniz!

  • Güvenilirlik: Paketler genellikle kullandığınız Linux dağıtımıyla çalışacak şekilde test edilir.
  • Güncellemeler: Depolar yazılımlarınızı güncel tutmayı kolaylaştırır.
  • Bağımlılıklar: Gerekli tüm destek yazılımlarının (bağımlılıkların) yüklenmesini yönetirler.

Resmî ve Üçüncü Taraf Kaynakları

Depolar genellikle iki kategoriye ayrılır:

  • Resmî Depolar: Bunlar Linux dağıtımınız tarafından (ör. Ubuntu, CentOS) yönetilir. Kararlı ve kapsamlı biçimde test edilmiş yazılımlar içerirler. Yaygın araçların çoğu buradan gelir.
  • Üçüncü Taraf Depoları: Bunlar dağıtımınız tarafından değil, bağımsız geliştiriciler veya kuruluşlar tarafından yönetilir. Daha yeni yazılım sürümleri, özel amaçlı araçlar veya beta sürümleri sunabilirler.

Üçüncü taraf depoları yararlı olabilse de her zaman dikkatli olun. Güvenlik risklerinden kaçınmak için yalnızca güvenilir kaynakların depolarını ekleyin.

APT ile Depo Ekleme (Debian/Ubuntu)

Debian ve Ubuntu tabanlı sistemlerde yazılımları Advanced Package Tool (APT) yönetir. Depolar, /etc/apt/ altındaki dosyalarda; özellikle /etc/apt/sources.list dosyasında ve /etc/apt/sources.list.d/ içindeki dosyalarda listelenir.

Üçüncü taraf depoları için, özellikle Personal Package Archives (PPA'lar) söz konusu olduğunda, çoğu zaman add-apt-repository komutunu kullanırsınız.

Yeni bir depo ekledikten sonra, en güncel paket bilgilerini bu depodan almak için her zaman sudo apt update komutunu çalıştırın.

APT Deposu: PPA Ekleme Örneği

Yaygın bir PPA'nın nasıl ekleneceğine bakalım. Bu örnekte, bir metin düzenleyicisi olan Neovim'in daha yeni bir sürümünü sağlayan bir PPA ekleniyor. Ardından paket listesini güncelleyeceğiz.

# Add the Neovim stable PPA
sudo add-apt-repository -y ppa:neovim-ppa/stable

# Update your package list to include the new repo's packages
sudo apt update

echo "Neovim PPA added and package lists updated!"

YUM/DNF ile Depo Ekleme (RHEL/CentOS)

Red Hat, CentOS veya Fedora sistemlerinde paketleri yum (veya onun halefi olan dnf) yönetir. Bu sistemler, depoları tanımlamak için .repo dosyalarını kullanır.

Bu dosyalar genellikle /etc/yum.repos.d/ dizininde bulunur. Her .repo dosyası; adı, temel URL'si ve GPG anahtarı bilgileri gibi ayrıntılarla bir veya daha fazla depoyu tanımlar.

Bir .repo dosyasını oluşturduktan veya değiştirdikten sonra paket üst verilerini yenilemek için sudo dnf clean all (veya yum clean all) ve ardından sudo dnf update (veya yum update) komutlarını çalıştırmanız gerekebilir.

YUM/DNF Deposu: .repo Dosyası Oluşturma

Resmî RHEL/CentOS depolarında bulunmayan Google Chrome için bir .repo dosyası oluşturma örneğini burada görebilirsiniz. Dosyaya sudo ayrıcalıklarıyla yazmak için tee kullanıyoruz.

# Create a .repo file for Google Chrome
echo "[google-chrome]" | sudo tee /etc/yum.repos.d/google-chrome.repo
echo "name=Google Chrome" | sudo tee -a /etc/yum.repos.d/google-chrome.repo
echo "baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64" | sudo tee -a /etc/yum.repos.d/google-chrome.repo
echo "enabled=1" | sudo tee -a /etc/yum.repos.d/google-chrome.repo
echo "gpgcheck=1" | sudo tee -a /etc/yum.repos.d/google-chrome.repo
echo "gpgkey=https://dl.google.com/linux/linux_signing_key.pub" | sudo tee -a /etc/yum.repos.d/google-chrome.repo

echo "Google Chrome repository file created!"

Paketleri GPG Anahtarlarıyla Doğrulama

Üçüncü taraf depoları eklerken, bunların GPG (GNU Privacy Guard) anahtarlarını da içe aktarmak çok önemlidir. Bu anahtarlar, paketlerin gerçekliğini şifreleme yoluyla doğrulamak için kullanılır.

Bu işlem, indirdiğiniz paketlerin değiştirilmediğini ve gerçekten iddia edilen kaynaktan geldiğini doğrulayarak sisteminizi kötü amaçlı yazılımlara karşı korur.

  • APT: Anahtarlar çoğu zaman add-apt-repository tarafından yönetilir veya apt-key add ile elle içe aktarılır.
  • YUM/DNF: Anahtarlar .repo dosyasında gpgkey= ile belirtilir ve rpm --import ile içe aktarılır.
wget -qO - https://example.com/KEY.gpg | sudo apt-key add -
# Or for YUM/DNF:
sudo rpm --import https://example.com/KEY.gpg

Bağımlılık Çakışmalarını Yönetme

Bazen farklı depolar aynı paketin farklı sürümlerini veya birbiriyle çakışan bağımlılıklara sahip paketleri sunabilir. Bu durum bağımlılık çakışmalarına yol açabilir.

Paket yöneticiniz genellikle bu çakışmalar hakkında sizi uyarır ve çözüm önerileri sunabilir. Tanılama için kullanılan yaygın araçlar şunlardır:

  • APT: apt policy <package-name>, farklı depolardaki kullanılabilir sürümleri gösterir.
  • YUM/DNF: dnf deplist <package-name>, bağımlılıkları ve bunları sağlayan paketleri listeler.

Üçüncü taraf bir sürüme özel olarak ihtiyaç duymadığınız ve olası riskleri anlamadığınız sürece resmî depoları kullanmanız en iyisidir.

apt policy firefox
# Or for YUM/DNF:
dnf deplist firefox

Depolarınıza Öncelik Verme

Aynı paketi sağlayan birden fazla deponuz varsa paket yöneticinize hangisini tercih edeceğini belirtebilirsiniz. Buna depo önceliklendirme denir.

  • APT: /etc/apt/preferences.d/ içinde dosyalar oluşturarak 'pinning' kullanın. Belirli kaynaklardaki paketlere bir 'Pin-Priority' değeri atarsınız. Daha yüksek öncelik sayıları (500'ün üzerindekiler) tercihi belirtir.
  • YUM/DNF: yum-plugin-priorities (veya yerleşik DNF işlevi), .repo dosyalarında priority= değeri belirlemenizi sağlar (daha düşük sayı, daha yüksek öncelik anlamına gelir).

Bu sayede kararlı ve daha yeni depoların bir karışımını güvenle kullanabilirsiniz.

# Example for APT pinning:
# File: /etc/apt/preferences.d/my-app
Package: my-app
Pin: origin "example.com"
Pin-Priority: 900

Depo Yönetimi Kontrolü

Yazılım depolarını yönetme konusundaki anlayışınızı sınayalım.

Tekrar: Depo Yönetiminde Ustalaşma

Tebrikler! Her Linux yöneticisi için hayati bir beceri olan yazılım depolarını nasıl yöneteceğinizi öğrendiniz.

  • Artık resmî ve üçüncü taraf depolar arasındaki farkı biliyorsunuz.
  • add-apt-repository (Debian/Ubuntu) kullanarak ve .repo dosyaları oluşturarak (RHEL/CentOS) depo ekleyebilirsiniz.
  • Paketlerin gerçekliğini doğrulamak için GPG anahtarlarının önemini biliyorsunuz.
  • Bağımlılık çakışmalarını yönetme ve depolara öncelik verme hakkında bilgi edindiniz.

Güvenliğe her zaman öncelik vermeyi ve yalnızca güvenilir kaynakların depolarını eklemeyi unutmayın!

Sıkça Sorulan Sorular

“Yazılım Depolarını Yönetme” dersi ücretsiz mi?

Evet — “Yazılım Depolarını Yönetme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Linux Server Deployment & SSH Mastery kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Linux Server Deployment & SSH Mastery kursu toplamda 4 dersten oluşur.

“Yazılım Depolarını Yönetme” dersinde ne öğreneceğim?

Karmaşık yazılım kurulumlarında üçüncü taraf depoları eklemeyi, paket kaynaklarını anlamayı ve bağımlılık çakışmalarını çözmeyi öğrenin. Linux Server Deployment & SSH Mastery ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Linux Server Deployment & SSH Mastery öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Linux Server Deployment & SSH Mastery, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Yazılım Depolarını Yönetme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Linux Server Deployment & SSH Mastery dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Linux Server Deployment & SSH Mastery dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. APT ve YUM Paket Yöneticileri
  2. Yazılım Yükleme ve Güncelleme
  3. Yazılım Depolarını Yönetme
  4. Kaynaktan Derleme ve Snap/Flatpak Kullanma
← Linux Server Deployment & SSH Mastery Sayfasına Dön