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.