LMDE sürümlerinde, diğer Debian tabanlı dağıtımların pek çoğunda varsayılan olarak gelmeyen
command-not-found paketi hazır olarak geliyor. Bu paketin apt bütünleşmesi ile, kullanmaya çalıştığınız ama sisteminizde yüklü olmayan bir komutun hangi paketle yükleneceği bildiriliyor.
Mesela rastladığınız bir rehberde gördüğünüz bir komutu, uçbirimden başlatmayı denediğinizde; bu komutun bulunduğu paket sisteminizde kurulu değilse aşağıdaki gibi bir uyarı alırsınız. Bu yönlendirme sayesinde, komutun dahil olduğu paketi kurup, komutu kullanabilirsiniz. Örneğin hexeditor uygulamasını uçbirimden çalıştırdığınızda, bu komutu içeren paket sisteminizde kurulu değilse; aşağıdaki şekilde bir uyarı alır ve gerekli paketin kurulması için yönlendirilirsiniz.
hexeditor
Command 'hexeditor' not found, but can be installed with:
sudo apt install ncurses-hexedit
Şimdi gelelim bu konunun hazırlanış amacına. LMDE 4'ün taban aldığı Debian 10 deposundaki command-not-found paketinde, ascii destekli olmayan dillerde (Türkçe gibi) görülen bir sorun var. Bu sebeple bütünleşme sorunlarla çalışıyor. Mesela sisteminizde "apt update" komutunu çalıştırınca, bu sorundan kaynaklı olarak işlem çok uzun sürüyor ve hata vererek sonlanabiliyor. Çoğu Debian tabanlı dağıtımda bu paket varsayılan olarak gelmediği için, herhangi bir kaynakta da çözümü mevcut değil. Bunu aşmak için aşağıdaki şekilde
/etc/apt/apt.conf.d/50command-not-found apt bütünleşme dosyasında ve
/usr/share/command-not-found/CommandNotFound/db/creator.py dosyasında ufak bir düzenlemeye ihtiyaç var. Bunu 2 farklı şekilde yapabilirsiniz, elle düzenleyerek ya da düzeltmesini yaptığımız paketi kurarak.
Çözüm 1: Elle düzenleyerekÇözüm için, ilk olarak aşağıdaki komutla
/etc/apt/apt.conf.d/50command-not-found bütünleşme dosyasını açınız.
sudo xed /etc/apt/apt.conf.d/50command-not-foundAçılan dosyada aşağıdaki satırı bulup,
"if /usr/bin/test -w /var/lib/command-not-found/ -a -e /usr/lib/cnf-update-db; then /usr/lib/cnf-update-db > /dev/null; fi";aşağıdaki şekilde değiştiriniz ve dosyayı kaydediniz. Düzenleme sırasında satırın girintisinin bozulmamasına dikkat etmelisiniz.
"if /usr/bin/test -w /var/lib/command-not-found/ -a -e 'LC_ALL=C /usr/lib/cnf-update-db'; then 'LC_ALL=C /usr/lib/cnf-update-db > /dev/null'; fi";Ardından aşağıdaki komutla
/usr/share/command-not-found/CommandNotFound/db/creator.py dosyasını açınız.
sudo xed /usr/share/command-not-found/CommandNotFound/db/creator.pyAçılan dosyada, aşağıdaki satırı bulup,
import timealtına aşağıdaki satırı ekleyiniz.
import localeSon olarak, dosyanın en altına aşağıdaki satırı ekleyiniz ve "/usr/share/command-not-found/CommandNotFound/db/creator.py" dosyasını kaydediniz.
locale.setlocale(locale.LC_ALL, 'C')Çözüm 2: Düzeltilmiş paketi kurarakYukarıda bahsettiğimiz çözümü uygulayarak, yeniden paketlenen command-not-found paketini
buradan indirip, kullanıcı ev dizinine kopyalayınız. Ardından aşağıdaki komutla paketi kurabilirsiniz. 64 bit ve 32 bit sistemler aynı paketi kullanıyor.
sudo dpkg -i command-not-found_18.04.5-1~fixed_all.debElimiz değmişken pakete Türkçe dil desteğini de ekledik, böylece paketi kurduktan sonra uyarılar artık (aşağıdaki gibi) Türkçe olacak.
hexeditor
'hexeditor' komutu sistemde bulunamadı. Ama şununla kurulabilir:
sudo apt install ncurses-hexedit
Bu şekilde sorunun etrafından dolaşabilirsiniz. Kurulumun ardından aşağıdaki komutlarla veritabanını güncelleyebilirsiniz.
sudo update-command-not-found
sudo apt update