Sistemde yapılandırılabilir tüm `alternatifleri` (benzer komutlar için kısa linkler) listelemenin bir yolu var mı?


24

alternativesKomutu (paket chkconfigRHEL / Fedora üzerine) alternatif uygulamalar birine bir jenerik isim bağlantı sembolik yönetir. Örneğin, mtasembolik bağlantılar grubu Sendmail ve Postfix tarafından sağlanabilir (örneğin ie sendmailcommand):

alternatives --display mta

Ben mümkün olmakla birlikte --displaysembolik bağı bir grup, ben ilk (yani adını tahmin etmeye gerek mta).

Seçilebilecek tüm yapılandırılabilir sembolik bağlantı gruplarını (gibi mta) kolayca listeleyebilir miyim ?

Bunun nedeni ara sıra bazı grup isimlerini unutmam.

Yanıtlar:


25

Debian'da (ancak Fedora veya RHEL değil), tüm "ana alternatif adların" listesini görmek için:

update-alternatives --get-selections

--get-selections ana alternatif adlarını ve durumlarını listeler.

Ve listelenenlerin her biri için --list $ALTERNATIVE_NAME, örneğin koşabilirsiniz

update-alternatives --list editor

--list name Bağlantı grubunun tüm hedeflerini göster.

İlgili gruplarındaki tüm alternatiflerin listesini görmek isterseniz, aşağıdakileri fishkabuk halinde çalıştırabilirsiniz :

for alternative in (update-alternatives --get-selections)
    echo $alternative 
    update-alternatives --list (echo $alternative | cut -d" " -f1)
    echo
end | pager

(Ba | z)? Sh sözdizimi benzer bir şey olmalıdır.

Alternatifleri değiştirmek için sudo update-alternatives --config $ALTERNATIVE_NAME


1
Benim Fedora 12 günü update-alternativessembolik köprü ise alternatives: /usr/sbin/update-alternatives -> alternatives. Bu nedenle, seçenek --get-selectionshiçbir şey göstermez (kullanımı gösteren hatayla çıkın).
uvsmtid

1
Soruyu doğru okumadım. Üzgünüm. Bu Debian için. Seninle aynı şeyi bulmaya çalışıyordum ve bu cevabı bulamıyorum. Acaba cevabımı silmeli miyim?
kzh

Sana bağlı. Bazı koşullar altında doğru olduğunu ve başkaları için faydalı olabileceğini düşünüyorsanız, sadece bırakmaya değer.
uvsmtid

16

Tam cevap:

ls /var/lib/alternatives

Dizin /etc/alternativestüm yollarda bazı yassı uzun listesini tutar karıştırma araya ustaları ve köle. Köle sembolik bağlantıları alternatives --display [symlink]komutla kullanılamaz .

Aynı zamanda dizin /var/lib/alternativesiçinde her grup için (efendi-köle ilişkisi dahil) durumu bilgileri içerir kısaltılmış dosya adları listesinden tüm doğrudan kullanılabilir olan --displayseçeneği. Örneğin, /var/lib/alternatives/java:

alternatives --display java

4
Ubuntu 12.04'te hayır yok /var/lib/alternatives, öyle görünüyor /var/lib/dpkg/alternatives.
Hibou57

1
Harika cevap, teşekkürler! Bir ekleme: Debian ve Armbian'da bunun /etc/alternativesyerine/var/lib/alternatives
Alexey Vesnin

4

En basit cevap ...

ls /etc/alternatives

1
Cevabı zaten bildiğiniz zaman her zaman daha belirgin olur :)
gparent

Aynı zamanda benim ilk tahminimdi. Ama beni tatmin etmedi. Liste, tamamen ana ve bağımlı bağlantıları içeren çok uzun.
uvsmtid

-1

Ubuntu 12.04'te (önceden kontrol edilebilecek bazı sürümler de olabilir) ve muhtemelen Debian da (kontrol edilecek):

ls /var/lib/dpkg/alternatives

Yapılandırılabilir alternatif isimler almak için bunu listele, çünkü bu dizinlerdeki girişler link değildir. Bu arada, bu dizinde sıkıştırılmış bir dosya olabilir, bu yüzden burada listelenen isimler her zaman ‑ olduğu gibi kullanılamaz. Ör. Benim bir/var/lib/dpkg/alternatives/psql.1.gz


Gerçekten yararlı değil, çünkü soru açıkça RedHat Enterprise Linux için geçerli olduğunu belirtiyor. RHEL konfigürasyon yolu diğer cevaplarda doğru bir şekilde tarif edilmiştir.
Kosi2801
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.