재부팅하지 않고 70-persistent-net.rules를 다시 생성하는 방법은 무엇입니까?

/etc/udev/rules.d/70-persistent-net.rules 파일은 udev가있는 Linux 시스템에서 자동 생성됩니다 (존재하지 않는 경우). 재부팅하십시오. 하지만 서버를 재부팅하지 않고이 규칙 파일 (명령을 사용하여)을 만드는 방법을 알고 싶습니다.

한동안 인터넷 검색을하다가이 스크립트에 의해 규칙 파일이 생성되는 것을 발견했습니다.

p>

/lib/udev/write_net_rules 

그러나이 스크립트를 명령 줄에서 실행하는 것은 불가능합니다. 일부 환경 변수가 적절하게 설정된 상태에서 udev로 시작되기를 원하기 때문입니다. 수동으로 시작하면 “$ INTERFACE 누락”오류 메시지가 인쇄됩니다. 스크립트를 시작하기 전에 env 변수 INTERFACE = eth0을 설정하더라도 “유효한 일치 누락”오류가 계속 인쇄됩니다. 두 개의 인터페이스 (eth0eth1)가 있으며 둘 다에 대해 생성 된 규칙 파일을 원합니다.

저는 또한 udev 자체에서 스크립트를 시작하기를 바라면서 이와 같은 udev 이벤트를 트리거하려고 생각했지만 아무것도 변경되지 않았습니다.

udevadm trigger --type=devices --action=change 

그래서, 누구든지 알고 있습니까? 재부팅하지 않고 /etc/udev/rules.d/70-persistent-net.rules 파일에서 영구 네트 규칙을 재생성하는 방법은 무엇입니까?

댓글

  • 분포? 어떤 종류의 init 시스템을 사용합니까?
  • 관련이 없다고 말하고 싶습니다. 저는 ' eUdev 및 sysvinit에서 Slackware를 사용하고 있습니다. 규칙 파일을 생성하는 실행되는 항목을 찾기 위해 시작 스크립트를 조사하고 있었지만 udevadm 트리거 만 발견되었으며 이것이 영구 규칙을 생성하는 명령이라는 주석이 있지만 어떻게 든 재부팅시에만 작동합니다. 수동으로 실행하면 효과가 있습니다.
  • Arch에서는 70-persistent-net.rules 또는 /lib/udev/write_net_rules 스크립트. 따라서 ' 확인할 수 없지만 스크립트 자체에 $INTERFACE 변수가 설정되어있을 것입니다. 대부분 인수로 전달됩니다. 스크립트의 내용을 보여줄 수 있습니까?
  • 스크립트는 단순히 $INTERFACE 변수를 사용합니다. 단순히 사용되며 선언되지 않은 훨씬 더 많은 변수가 있습니다. '는 udev에 의해 호출되고 udev는 부팅시 스크립트를 실행하기 전에 모든 환경 변수를 설정합니다.
  • 실제로 방법을 알아야합니까? 다시 생성하거나 단순히 파일을 편집하여 새로운 현실을 반영 할 수 있습니까?

답변

사람에 따르면 --action=change 페이지는 udevadm의 기본값입니다.

 -c, --action=ACTION Type of event to be triggered. The default value is change. 

따라서 대신 --action=add를 시도하는 것이 좋습니다. 도움이 될 것입니다.

/sbin/udevadm trigger --type=devices --action=add 

댓글

  • intel_rapl : 패키지 0에 유효한 rapl 도메인이 없습니다.

Answer

Ubuntu Server 16.04LTS에는 70-persistent-net.rules가 존재하지 않습니다.

내가 한 것은 다음과 같습니다.

ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules 

그런 다음

sudo vi /etc/systemd/network/10-internet.link 

다음을 추가

[Match] Path=pci-0000:(your device mac address) [Link] Name=eth0 (or whatever you want to name it) 

:wq 파일을 저장합니다.

그런 다음 재부팅하고 / etc / network / interfaces 파일을 조정합니다. 그런 다음 다시 재부팅합니다.

댓글

  • 질문은 70-persistent-net.rules 재부팅없이 재생성하는 방법 " 답변에 두 번의 재부팅이 포함됩니다. 질문에 대한 답은 무엇입니까?

답변

같은 문제가 있었지만 목록. 다음을 루트로 사용했습니다.

# ip addr # to get my mac addresses # export INTERFACE=eth0; export MATCHADDR="xx:xx:xx:xx:xx:xx"; /lib/udev/write_net_rules # replace the 00"s with the real mac addr 

각 인터페이스에 대해 반복합니다. 이것은 내 파일을 “복구”하는 데 사용되었습니다. (참고 : 한 번의 호출은 모든 인터페이스를 나열하고 일치하는 이름을 추가하므로 한 번 호출 한 후 출력 파일을 살펴 보는 것이 좋습니다.)

OS와 현재 UDEV 구현 및 지원 스크립트 간에는 확실히 차이가 있습니다. . 제가이 작업을 성공적으로 수행했을 때 CentOS 6.8을 사용하고있었습니다.

크레딧-대부분이 사이트를 참조했습니다. 스크립트 수정에 대해 설명하는 몇 개의 스레드 아래에 댓글이 있지만 사용하는 것을 선호했습니다. 더 깨끗한 환경 변수 : https://access.redhat.com/discussions/1240213

댓글

  • 쓰레기-잠시만 요. ' 죄송합니다. 명령이 작동하지 않았습니다. 수행 한 단계로 답변을 업데이트해야합니다.
  • 알겠습니다. ' 실제로 내 문제를 수정 한 방법을 업데이트했습니다. 귀하의 상황에 해당하면 작동하기를 바랍니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다