Debian üzerinde paket kurulum önerisi nasıl uygulanır?


21

Ubuntu üzerinde iken, ben aşağıdakileri yazın fark ettim:

mc

ve yüklü değil, aşağıdaki mesajı alıyorum:

The program 'mc' is currently not installed. You can install it by typing: sudo apt-get install mc

Ancak Debian'da bu mevcut değildir. Sadece "-bash: / usr / bin / mc: Böyle bir dosya veya dizin yok" mesajı verir. Debian'daki bash komut satırında aynı işlevi nasıl uygulayabilirim? Evet, eğer istediğim paket önerisi ise, apt-cache search kullanarak regex araması yapabileceğimi biliyorum . Ancak hemen programın adını yazarken daha basit bir öneri umuyordum.

Tartışmalara göre, işlevsellik bulunamadı paketi komutu tarafından sağlanır . Ancak, kurduktan ve bash-tamamlama paketini kurduktan sonra bile, Debian bash kabuğunda mevcut değildir.

Yanıtlar:


22

Yüklemenin, yüklenmemiş command-not-foundpaketler için öneri sunmaya başlamamasının nedeni, yüklemenin bir parçası olarak dpkg'dan küçük bir bildirim kaçırmış olmamdı.

Birinin komutu çalıştırdıktan update-command-not-foundhemen sonra çalıştırması gerekiyor apt-get install command-not-found. Aslında dpkg bu komutu çalıştırmanızı ister.


1
Ben de çalıştırmadan apt-get updateönce çalıştırmak zorunda update-command-not-foundsonra yeni bir bash oturumu açmak veya source /etc/bash.bash.rc.
jordanbtucker

Bir did apt updateönce apt install command-not-found, sonra update-command-not-foundve sonra yeni bir kabuk başladı ama başka gerekli buldum apt updateve belki update-command-not-foundde çalışmaya başlamadan önce.
Dave X

9

Debian paketi eksik görünüyor. README, kaynak /etc/bash_command_not_foundkodunuzu sizin belirtmeniz gerektiğini söylüyor .bashrc. Garip bir şekilde dosya pakete dahil değil.

Debian command-not-foundpaketi ubuntu paketini temel alır . Ubuntu paketi bu konuda daha eksiksiz görünüyor.

Bash_command_not_found'un ubuntu sürümünün içeriği :

command_not_found_handle() {
  if  [ -x /usr/lib/command-not-found ]; then
     /usr/lib/command-not-found -- "$1" 
     return $?
  else
     return 127
  fi        
}

Bu satırları ~/.bashrc(veya /etc/bash.bashrc) cihazınıza ekleyin ; command-not-foundözellik çalışmalıdır.


1
README yanlış, Debian bu dosyayı kullanmıyor. İşleyici, başlatıldıklarında Bash etkileşimli kabukları tarafından otomatik olarak çalıştırılan /etc/bash.bashrc'ye (en azından Debian 9'da) dahil edilir.
hackerb9

Yükleme command-not-foundsonradan /etc/bash.bashrc değiştirmedi MX Linux (Debian 9 Stretch baz) Paketi (debian.org gelen sürüm 0.2.38-4) ve bu cevap satırları ekleyerek kadar çalışma yoktu.
Xen2050
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.