Jak naprawić iptables: command not found
problem, który przytrafił się Debianowi 7.6?
batman@gotham:~$ uname -a
Linux gotham 3.14-0.bpo.2-amd64 #1 SMP Debian 3.14.13-2~bpo70+1 (2014-07-31) x86_64 GNU/Linux
batman@gotham:~$ iptables -L
bash: iptables: command not found
batman@gotham:~$ sudo apt-get install iptables
[sudo] password for batman:
Reading package lists... Done
Building dependency tree
Reading state information... Done
iptables is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
batman@gotham:~$
Poszukałem obszernie i większość odpowiedzi dotyczyła CentOS i Fedory z lat 2005 i 2009.
echo $PATH
?PATH
więcsudo
brakuje ci tego.Odpowiedzi:
iptables
Komenda może być dość dużo tylko z pożytkiem uruchomić jako root, nie jako inny użytkownik. Więc nie znajduje się w domyślnej ścieżce wyszukiwania poleceń dla użytkowników innych niż root.Aby uruchomić
iptables
, uruchom go jako root za pomocą jednego z następujących poleceń:Plik wykonywalny znajduje się w
/sbin
domyślnej ścieżce wyszukiwania poleceń dla użytkownika root.źródło
Jest tak, ponieważ
iptables
nie ma go w twojejPATH
zmiennej. Myślę, że powinno działać zsudo
poleceniem. Próbować:Jeśli to też nie działa, powinieneś sprawdzić, gdzie
iptables
jest plik binarny, a następnie dodać go doPATH
zmiennej.W większości przypadków powinno być
/sbin/
. Jednak po prostu sprawdź w Debian7. Jeśli tak/sbin/
, możesz otworzyć.bashrc
plik i podać go na końcu:źródło
you should checkout where the iptables binary is
Jakie polecenie powinienem wpisać, aby zlokalizować plik binarny iptables?then you can open .bashrc file and
Gdzie jest lokalizacja.bashrc
pliku?dpkg -L iptables
wyliczyć pliki.vim ~/.bashrc
dpkg -L iptables
pokaże, gdzie pliki są zainstalowane z pakietuiptables
.Możesz sprawdzić lokalizację
iptables
pliku binarnego. Dla mnie na Ubuntu to jest/sbin/iptables
.Więc biegnij
/sbin/iptables -L
i sprawdź.źródło