Bu linux ile ilgili, ancak genel bir *nix yöntemi bilen varsa bu iyi olur.
Dün bir sistemi ethernet kablosu takılı olarak başlattım. "NetworkManager" yüklü değil, bu yüzden başladıktan sonra bir DHCP istemcisini manuel olarak başlatmak için ifconfig
ile ethernet arayüzünün adını aramaya gittim, ancak lo
dışında hiçbir şey göstermedi.
NIC lspci
aracılığıyla listelendi ve uygun çekirdek sürücüsü yüklendi. Sistem normalde wifi kullanıyor ve bunun için arayüz adının wlan0
olduğunu hatırlayabiliyordum. ifconfig wlan0 upkomutunu denediğimde,
wlan0göründü. Ancak hatırlayabildiğim tek ethernet arayüz isimleri
eth[N]ve
em[N]` idi - ikisi de çalışmadı.
Bu belge "öngörülebilir arayüz adlarına" atıfta bulunur, ancak bunların basit terimlerle ne olabileceğini açıklamak için iyi bir iş yapmaz. Bu durumda adın PCI veri yolu ve yuva numaralarından çıkarılabileceğini ima eden bir kaynak kod parçasına atıfta bulunur, ki bu gereksiz yere karmaşık bir güçlük gibi görünüyor.
Diğer araştırmalar beni bunun udev
ile birlikte systemd
tarafından belirlenebileceğine inandırdı, ancak /usr/lib/udev/rules.d
içinde neredeyse 100 dosya var ve bunun için bir systemd yapılandırma dosyasının nerede olduğunu (ve varsa) belirlemeye çalışmak için bir saat harcamak da saçma görünüyor.
Ayrıca, sadece nasıl adlandırılabileceklerini değil, kullanılabilir olduklarını kesin olarak bilmek de güzel olurdu, böylece donanım sorunlarını vb. eleyebilirim. **Linux'ta kullanılabilir ağ arabirimlerinin adlarını bulmanın basit bir yolu yok mu?
Tüm arayüzlerinizi listelemek için bildiğim en basit yöntem
ifconfig -a
EDIT
Eğer bunun artık kullanılmadığı bir sistemdeyseniz
ip link show
Çekirdek bunları /sys
içinde isimlerine göre listeler, hem (örneğin) PCI aygıtları ağacında ayrı ayrı - ancak başlangıçta nerede olduklarını bilmiyorsanız bunları orada bulmak kolay değildir - hem de /sys/class/net
içindeki sembolik bağlantılar aracılığıyla birlikte. Örn:
> ls /sys/class/net
em1 lo wlp6so
Başka bir örnek:
> ls /sys/class/net
lo p6s1 wlan0
Hangisinin hangisi olduğundan emin değilseniz, hepsini herhangi biriyle birlikte koyabilirsiniz:
ifconfig [name] up
Ya da:
ip link set [name] up
Ve sonra ifconfig
tarafından listelenen (oldukça açık) ipuçlarına bakın (argüman olmadan). Freedesktop.org belgesinden bağlantı verilen systemd kaynak koduna da atıfta bulunulmaktadır:
Two character prefixes based on the type of interface:
* en -- ethernet
* sl -- serial line IP (slip)
* wl -- wlan
* ww -- wwan
Yukarıdaki durumlardan birinde (p6s1
) ön ek olmamasına rağmen.