Napraw błąd „nie znaleziono polecenia ifconfig” w kilka minut

Czy napotykasz problem z komunikatem „polecenie ifconfig nie zostało odnalezione” i poszukujesz poradnika, jak go rozwiązać? Jeżeli tak, to dobrze trafiłeś!

Doświadczeni użytkownicy systemów Linux z pewnością zgodzą się, że polecenie ifconfig jest podstawowym narzędziem do weryfikacji konfiguracji interfejsów sieciowych. Lata jego regularnego stosowania sprawiły, że stało się ono niejako automatyczną czynnością.

Dlatego zaskoczeniem dla wielu użytkowników może być sytuacja, gdy podczas próby użycia tego polecenia w nowszych dystrybucjach Linuksa pojawia się komunikat o błędzie informujący o jego braku.

Jeśli właśnie to Cię spotkało, to ten artykuł jest dla Ciebie.

Przedstawimy w nim szczegółowe informacje na temat tego problemu, jego przyczyn oraz, co najważniejsze, metod jego rozwiązania.

Przejdźmy zatem do konkretów!

Czym jest polecenie ifconfig?

ifconfig to klasyczne narzędzie administracyjne służące do konfiguracji interfejsów sieciowych. Jest ono odpowiednikiem polecenia ipconfig znanego z systemów Windows, które również umożliwia gromadzenie danych o konfiguracji interfejsu i zarządzanie nim.

ifconfig jest uważane za jedno z bardziej przydatnych narzędzi sieciowych w Linuxie, gdyż dostarcza szczegółowych informacji o karcie sieciowej, w tym adresu IP, MAC, statusu sieci i innych parametrów. Pozwala również na modyfikację tych ustawień.

Niestety, ifconfig zostało wycofane z powodu braku aktualizacji i aktywnego rozwoju. Główną przyczyną tego stanu rzeczy jest wprowadzenie jego nowocześniejszego i wydajniejszego odpowiednika – polecenia ip z pakietu iproute2. To właśnie ten fakt może tłumaczyć komunikat o błędzie „polecenie ifconfig nie zostało odnalezione”.

Dlaczego pojawia się błąd „polecenie ifconfig nie zostało odnalezione”?

Komunikat ten jasno wskazuje, że narzędzie ifconfig nie jest zainstalowane w systemie.

Oto najczęstsze przyczyny występowania tego problemu:

# 1. Brak pakietu Net-tools

net-tools to zestaw narzędzi wiersza poleceń, w skład którego wchodzą m.in. ifconfig, arp, netstat i route. Został on stworzony w celu umożliwienia użytkownikom Linuksa konfiguracji sieci. Jednakże, od około dekady nie jest on rozwijany, dlatego większość dystrybucji Linuksa odeszła od jego stosowania.

Brak zainstalowanego tego pakietu w systemie jest główną przyczyną błędu braku polecenia ifconfig.

#2. ifconfig zastąpione poleceniem ip

Jak wspomnieliśmy wcześniej, ifconfig jest częścią pakietu net-tools, który nie jest już rozwijany. Z tego względu wiele dystrybucji Linuksa zdecydowało się zastąpić go bardziej zaawansowanym i wydajnym pakietem iproute2.

Konsekwencją tej zmiany jest zastąpienie polecenia ifconfig poleceniem ip.

#3. Domyślny brak ifconfig w CentOS/RHEL 7, Fedorze 18 i Arch Linux

Wspomniany brak rozwoju pakietu net-tools oraz decyzja niektórych dystrybucji o przejściu na iproute2, spowodowały, że w dystrybucjach CentOS/RHEL 7, Fedora 18 i Arch Linux pakiet net-tools nie jest domyślnie instalowany.

Jeśli korzystasz z jednej z tych dystrybucji, to brak net-tools może być przyczyną problemu z poleceniem ifconfig.

#4. Ograniczone uprawnienia

Użytkownicy bez uprawnień administratora mogą napotkać błąd „polecenie ifconfig nie zostało odnalezione”, ponieważ net-tools jest instalowany w katalogu głównym, a jego pliki wykonywalne znajdują się w katalogach /sbin oraz /usr/sbin.

W niektórych dystrybucjach te ścieżki nie są uwzględniane w zmiennej środowiskowej PATH, gdzie system szuka plików wykonywalnych. Taka sytuacja może wystąpić, nawet gdy pakiet net-tools jest zainstalowany.

To są najczęstsze przyczyny, dla których pojawia się błąd „polecenie ifconfig nie zostało odnalezione”.

Sposoby naprawy błędu „polecenie ifconfig nie zostało odnalezione”

Brak możliwości użycia ifconfig może być frustrujący, utrudniając konfigurację sieci. Na szczęście, problem ten jest stosunkowo łatwy do rozwiązania.

Poniżej przedstawiamy kilka najskuteczniejszych metod naprawy tego błędu:

Zainstaluj narzędzia sieciowe

Jak wspomnieliśmy wcześniej, błąd ten najczęściej występuje, gdy net-tools nie jest zainstalowany w systemie. Ponieważ ifconfig jest częścią tego pakietu, nie można zainstalować samego polecenia. Należy zainstalować cały pakiet net-tools.

Instalacja tego pakietu jest prosta i wymaga wykonania następujących kroków:

Krok 1: Otwórz terminal.

Krok 2: Wpisz poniższe polecenie i naciśnij Enter. Konieczne będzie podanie hasła roota, gdyż polecenie to wymaga zmian w systemie i aktualizacji pakietów.

sudo apt-get update

Krok 3: Następnie zainstaluj pakiet net-tools za pomocą polecenia:

sudo apt-get install net-tools

Po zakończeniu instalacji sprawdź, czy błąd nadal występuje, ponownie wpisując polecenie ifconfig. Jeśli instalacja przebiegła pomyślnie, powinieneś móc korzystać z polecenia do zarządzania siecią.

Pamiętaj, że powyższe polecenia działają w dystrybucjach bazujących na Debianie, czyli Ubuntu, Kali i Raspbian.

W przypadku innych dystrybucji Linuksa, skorzystaj z poniższych poleceń:

  • Alpine – apk add net-tools
  • Arch Linux – pacman -S net-tools
  • CentOS – yum install net-tools
  • Fedora – dnf install net-tools
  • RedHat – dnf install net-tools

Zainstalowanie net-tools w większości przypadków rozwiąże problem. Jeśli błąd nadal występuje, może to oznaczać problemy ze zmiennymi środowiskowymi PATH.

Rozwiąż problemy ze zmienną środowiskową PATH

Jak wspomnieliśmy, w niektórych dystrybucjach katalog, w którym znajduje się ifconfig, nie jest zawarty w zmiennej PATH.

W związku z tym, system nie potrafi odnaleźć polecenia i wyświetla błąd „polecenie ifconfig nie zostało odnalezione”.

Aby sprawdzić, czy katalog z plikiem binarnym ifconfig jest uwzględniony w PATH, wykonaj następujące kroki:

Krok 1: Otwórz terminal.

Krok 2: Wpisz echo $PATH i naciśnij Enter. Zostaną wyświetlone katalogi zawarte w zmiennej PATH.

Sprawdź, czy na liście jest katalog zawierający ifconfig. Jeżeli nie, masz trzy sposoby rozwiązania problemu ze zmienną PATH:

Pierwszy sposób polega na dodaniu katalogu zawierającego ifconfig do zmiennej PATH:

  • Otwórz terminal.
  • Wpisz poniższe polecenie i naciśnij Enter.
export PATH=”/sbin:/usr/sbin:${PATH}”
  • Następnie wpisz ifconfig i naciśnij Enter.

Drugi sposób to uruchomienie polecenia ifconfig wraz z pełną ścieżką dostępu:

  • Otwórz terminal.
  • Wpisz poniższe polecenie i naciśnij Enter.
/usr/sbin/ifconfig

Ostatni sposób to uruchomienie polecenia ifconfig z uprawnieniami superużytkownika. Jest to najłatwiejsze rozwiązanie, ale wymaga podania hasła roota.

W tym celu:

  • Otwórz terminal.
  • Wpisz poniższe polecenie i naciśnij Enter.
sudo ifconfig command

To wszystko. W ten sposób możesz rozwiązać problem ze zmienną środowiskową PATH.

Użyj polecenia ip zamiast ifconfig

ifconfig zostało wycofane, a lepszym zamiennikiem jest polecenie ip z pakietu iproute2. Niektóre z popularnych dystrybucji już wprowadziły tą zmianę.

iproute2 jest wydajniejszy, bardziej niezawodny i lżejszy niż net-tools. Dodatkowo oferuje bardziej intuicyjny interfejs użytkownika.

Kolejnym argumentem za przejściem na iproute2 jest to, że pakiet jest aktywnie rozwijany przez społeczność Linuksa, a najnowsza wersja została wydana 20 lutego 2023 roku.

Dzięki ciągłemu rozwojowi, iproute2 jest kompatybilny z nowoczesnymi narzędziami do konfiguracji sieci. Może być wykorzystywany do zaawansowanych zadań takich jak routing oparty na źródle, łączenie, mosty, QoS, VLAN, które nie byłyby możliwe przy użyciu net-tools.

Z tego względu warto rozważyć przejście na pakiet iproute2.

Podsumowanie

To już wszystko – obszerny poradnik, jak rozwiązać problem braku polecenia ifconfig.

ifconfig jest bardzo przydatnym narzędziem do konfigurowania i sprawdzania interfejsów sieciowych w systemie Linux. Niestety, pakiet ten został wycofany i od ponad dekady nie jest rozwijany.

Chociaż, przy użyciu opisanych wyżej metod, możesz przywrócić jego działanie, zalecamy korzystanie z nowszego i bardziej zaawansowanego narzędzia, jakim jest polecenie ip.

Na koniec, zapraszam do dalszego zgłębiania tajników Linuksa, zarówno od strony administratora systemu, jak i programisty.


newsblog.pl