apt "E: Unable to locate package" hatası: nedenleri ve çözümü

Linux Sunucu (SSH) 53 görüntülenme Markdown

Bir program kurmaya çalışıyorsunuz ve apt şunu söylüyor:

E: Unable to locate package paketadi

Bu, apt'in yerel paket listesinde bu adı bulamadığı anlamına gelir. Neden birkaç yerden gelir; en basitten başlayın.

1. Paket listesini yenileyin

sudo apt update

Yeni kurulmuş bir sunucuda paket listesi boş ya da eski olabilir. apt update hata verirse (özellikle "Temporary failure resolving" ya da "Could not resolve") sorun internetle ya da DNS'tedir: name resolution hatası. Güncelleme sırasında kilit hatası alırsanız: apt kilit hatası.

2. Paket adı doğru mu?

Linux dağıtımlarında paket adları programın adından farklı olabilir ve sürüme göre değişir. Aramak için:

apt search nginx | head
apt-cache policy nginx

apt-cache policy paketin hangi depoda ve hangi sürümde bulunduğunu söyler; "Candidate: (none)" yazıyorsa paket bu sürümde yoktur. Sık yapılan hatalar: Python için python yerine python3, Node.js için node yerine nodejs, Java için java yerine openjdk-21-jre-headless gibi sürümlü adlar. PHP modülleri sürümle birlikte gelir (php8.3-fpm ya da sürümsüz php-fpm).

3. Depo (universe, multiverse) ekli değil

Ubuntu'da bazı paketler "universe" deposundadır; minimal kurulumlarda kapalı olabilir. Kontrol ve açma:

sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update

Debian'da paketlerin bir kısmı contrib ve non-free bileşenlerindedir; /etc/apt/sources.list (veya sources.list.d içindeki .sources dosyası) satırlarında bu bileşenler yoksa eklenir. Değişiklikten sonra sudo apt update.

4. Paket bu sürümde yok

İstediğiniz yazılım dağıtımınızın deposunda hiç bulunmuyor ya da çok eski olabilir. Seçenekler:

  • Yazılımın kendi resmi deposunu ekleyin (Docker, Node.js, PostgreSQL, Nginx'in kendi depoları vardır). Yalnızca yazılımın resmi sitesindeki yönergeleri izleyin ve anahtarı doğrulayın.
  • Docker ile çalıştırın: Docker kurulumu.
  • Python paketiyse apt yerine sanal ortamda pip: venv ile pip.

5. Sürüm ve mimari uyumsuzluğu

Çok yeni (henüz depoları dolmamış) ya da desteği biten bir Ubuntu sürümünde depolar taşınmış olabilir; apt update "404 Not Found" ya da "Release file no longer valid" gösterir. Destek süresi biten sürümde sistemi yükseltmek gerekir: Ubuntu sürüm yükseltme. Sürümünüzü cat /etc/os-release ile görün.

Hâlâ olmuyorsa

Sunucunuzdaki sürüm bilgisini, tam komutu ve çıktıyı destek talebinde paylaşın. Genel güncelleme yönergeleri için sunucu güncelleme makalesine bakın.

Sık sorulanlar

sudo yazmadan çalıştırınca farklı mı hata alırım?

Evet; Permission denied alırsınız. apt komutları yönetici yetkisi ister.

apt update hata verdi ama install denedim.

Liste güncellenmediği için paket bulunamaz. Önce update'in hatasız bittiğine bakın.

Paketi başka bir yerden indirdim, nasıl kurarım?

İndirdiğiniz .deb dosyasını sudo apt install ./dosya.deb ile kurun; apt bağımlılıkları da çözer. Dosyayı yalnızca güvenilir bir kaynaktan indirin.

İlgili makaleler

Sorununuz çözülmediyse destek talebi açın. Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.