Potýkáte se s hláškou „příkaz ifconfig nebyl nalezen“ a hledáte pomoc s jejím odstraněním? Pak jste na správné adrese.
Zkušení uživatelé Linuxu jistě potvrdí, že ifconfig je tradiční příkaz pro zjišťování nastavení síťových rozhraní. V průběhu let se nám tento příkaz vryl do paměti díky jeho častému používání.
Nicméně, uživatele Linuxu může zaskočit, když se při pokusu o spuštění tohoto příkazu na novějších distribucích Linuxu objeví chybová zpráva „příkaz ifconfig nebyl nalezen“.
Pokud se vás tento problém týká, jste na správném místě.
V tomto článku se podíváme na příčiny této chyby a hlavně, jak ji efektivně vyřešit.
Takže, bez zbytečného zdržování, pojďme na to!
Co je to příkaz ifconfig?
ifconfig je dlouhodobě používaný nástroj pro konfiguraci síťových rozhraní. Podobá se příkazu ipconfig, který se používá v systému Windows a umožňuje vám shromažďovat informace o nastavení síťového rozhraní a konfigurovat je.
ifconfig je považován za jeden z nejužitečnějších síťových nástrojů v Linuxu. Zobrazuje detailní informace o síťové kartě, včetně IP adresy, MAC adresy, stavu sítě a dalších. Navíc umožňuje síťová rozhraní také konfigurovat.
Avšak, nástroj ifconfig byl označen za zastaralý kvůli nedostatečné údržbě a vývoji. Místo něj se prosazuje novější a výkonnější náhrada, příkaz ip z balíčku iproute2. To může být důvod, proč se při pokusu o spuštění příkazu ifconfig setkáváte s chybou „příkaz ifconfig nebyl nalezen“.
Proč dochází k chybě „příkaz ifconfig nebyl nalezen“?
Jak už napovídá chybová zpráva, tato chyba se zobrazuje, protože váš systém nemá nainstalovaný nástroj ifconfig.
Zde jsou některé z nejčastějších příčin, které mohou tuto chybu vyvolat:
#1. Chybí balíček Net-tools
net-tools je balík nástrojů, který zahrnuje několik příkazů, jako jsou ifconfig, arp, netstat a route. Tento balík byl navržen tak, aby uživatelům Linuxu umožňoval konfiguraci síťových funkcí. Balíček ale již deset let neprošel žádným vývojem a většina linuxových distribucí jej dokonce přestala používat.
Pokud tento balíček na vašem linuxovém systému chybí, je to důvod, proč se vám zobrazuje chyba příkazu ifconfig nenalezen.
#2. ifconfig nahrazeno příkazem ip
Jak již bylo zmíněno, nástroj ifconfig je součástí balíčku net-tools. Tento balíček se dlouho nevyvíjel, a proto mnoho distribucí Linuxu tento balíček vyřadilo a nahradilo ho pokročilejším balíčkem iproute2.
To znamená, že příkaz ifconfig byl nahrazen příkazem ip.
#3. ifconfig ve výchozím nastavení chybí na CentOS/RHEL 7, Fedora 18 a Arch Linux
Protože balíček net-tools již není aktivně vyvíjen, některé linuxové distribuce se rozhodly nahradit ho balíčkem iproute2. Mezi tyto distribuce patří CentOS/RHEL 7, Fedora 18 a Arch Linux.
Pokud používáte některou z těchto distribucí, může to být důvod, proč příkaz ifconfig nefunguje, protože balíček net-tools není standardně nainstalovaný.
#4. Omezená oprávnění
Pokud nepoužíváte svůj Linux jako správce nebo nemáte superuživatelská oprávnění, může se vám zobrazit tato chyba. Sada nástrojů net-tools se instaluje do kořenového adresáře a její soubory jsou umístěny v /sbin a /usr/sbin.
Některé distribuce nezahrnují tyto adresáře do vyhledávací cesty shellu (PATH) pro spustitelné soubory. To se může stát, i když máte nainstalovaný balíček net-tools.
Toto jsou některé důvody, proč se můžete setkat s chybou příkazu ifconfig nenalezen.
Způsoby, jak opravit chybu „příkaz ifconfig nenalezen“
Tato chyba může být frustrující, protože vám brání v konfiguraci síťových rozhraní. Dobrou zprávou je, že ji lze poměrně snadno opravit.
Níže uvádím několik osvědčených řešení, která vám mohou pomoci tuto chybu odstranit:
Nainstalujte síťové nástroje
Jak už bylo řečeno, k této chybě dochází především tehdy, když na vašem Linuxu není nainstalovaná sada nástrojů net-tools. Protože nástroj ifconfig je součástí této sady, nemůžete ifconfig nainstalovat samostatně. Místo toho musíte nainstalovat celou sadu net-tools.
Naštěstí můžete sadu net-tools nainstalovat pomocí těchto jednoduchých kroků:
Krok 1: Spusťte terminál.
Krok 2: Zadejte příkaz níže a stiskněte Enter. Budete vyzváni k zadání hesla uživatele root, protože příkaz provádí systémové změny a aktualizuje seznam balíčků.
sudo apt-get update
Krok 3: Nyní musíte nainstalovat balíček net-tools. Za tímto účelem zadejte níže uvedený příkaz a stiskněte Enter.
sudo apt-get install net-tools
Tímto se nainstaluje balíček net-tools. Po úspěšné instalaci zkontrolujte, zda chyba přetrvává, opětovným spuštěním příkazu ifconfig. Pokud ne, můžete tento příkaz použít ke konfiguraci síťových rozhraní.
Upozorňuji, že tyto příkazy nebudou fungovat na jiných distribucích Linuxu, než jsou Debian, Ubuntu, Kali a Raspbian.
Pokud tedy používáte jinou distribuci Linuxu, můžete použít následující příkazy:
- 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
Instalace sady net-tools na váš Linux obvykle tuto chybu vyřeší. Pokud však problém přetrvává, může to být způsobeno proměnnými prostředí PATH.
Vyřešte problémy s proměnnými prostředí PATH
Jak již bylo zmíněno, většina distribucí nezahrnuje adresáře, kde se nachází ifconfig, do proměnné PATH.
Protože tyto adresáře nejsou zahrnuty do vyhledávací cesty shellu, který hledá spustitelné soubory, nebude příkaz rozpoznán a zobrazí se chyba ifconfig nenalezen.
Chcete-li zkontrolovat, zda je adresář obsahující binární soubor ifconfig součástí PATH, postupujte podle těchto kroků:
Krok 1: Spusťte terminál.
Krok 2: Zadejte
echo $PATH
a stiskněte Enter. Zobrazí se seznam adresářů, které jsou zahrnuty v proměnné PATH.
Zkontrolujte, zda je mezi nimi adresář, který obsahuje binární soubor ifconfig. Pokud není, máte tři možnosti, jak problém s proměnnou prostředí PATH vyřešit:
První možností je přidat adresář obsahující binární soubor ifconfig do proměnné PATH.
- Spusťte terminál.
- Zadejte níže uvedený příkaz a stiskněte Enter.
export PATH="/sbin:/usr/sbin:${PATH}"
- Nyní zadejte příkaz
ifconfig
a stiskněte Enter.
Druhou metodou je spuštění příkazu ifconfig přímo s úplnou cestou.
Postupujte podle těchto kroků:
- Spusťte terminál.
- Zadejte níže uvedený příkaz a stiskněte Enter.
/usr/sbin/ifconfig
Poslední možností je spustit příkaz ifconfig s oprávněními superuživatele. Je to nejjednodušší řešení, ale budete muset zadat heslo uživatele root.
Pro toto:
- Spusťte terminál.
- Zadejte níže uvedený příkaz a stiskněte Enter.
sudo ifconfig
A je to. Takto můžete vyřešit problém s proměnnou prostředí PATH a opravit chybu „příkaz ifconfig nebyl nalezen“.
Použijte příkaz ip namísto ifconfig
Nástroj ifconfig je již zastaralý a jeho lepší náhradou je nástroj ip ze sady iproute2. Některé z nejpopulárnějších distribucí již nahradily sadu net-tools sadou iproute2.
Sada iproute2 nahrazuje síťové nástroje v mnoha ohledech. Je mnohem výkonnější, spolehlivější a lehčí než net-tools. Navíc se iproute2 může pochlubit lepším a intuitivnějším rozhraním.
Důvod, proč vám doporučuji přejít na sadu iproute2, je hlavně ten, že je aktivně vyvíjena linuxovou komunitou. Nejnovější verze byla vydána 20. února 2023.
Díky neustálému vývoji je sada iproute2 kompatibilní s moderními nástroji pro konfiguraci sítě. Můžete ji také použít pro směrování, propojování, mosty, QoS, VLAN a další, což není možné s net-tools.
Proto je dobré přejít na sadu nástrojů iproute2.
Závěrečná slova
Zde máte podrobný návod, jak opravit chybu „příkaz ifconfig nebyl nalezen“.
ifconfig je velmi užitečný nástroj pro konfiguraci a kontrolu síťových rozhraní v Linuxu. Nicméně, balíček nástrojů je již zastaralý a více než deset let nebyl nijak vyvíjen.
Proto, i když můžete chybu opravit a používat příkaz ifconfig pomocí výše uvedených metod, doporučuji vám přejít na novější a výkonnější nástroj ip.
Podívejte se také na distribuce Linuxu, které se používají v systémové administraci a vývoji.