모든 종류의 하드웨어 오류에 대비하면서 휴대용 배포판을 만들려고합니다.
멀티 스트랩 (또는 백업에서 )으로 Debian 배포판을 생성 (또는 복원) 하고 VirtualBox 머신을 포함한 새로운 (대부분 호환되는) 하드웨어에서 부팅 할 수 있도록 결과 디스크를 요구합니다 .
이전 에 질문 했듯이 "휴대용 배포판"에 필요한 몇 가지 사항 중 하나는 네트워크 인터페이스의 이름을 처리하는 것입니다.
예를 들어 실제 컴퓨터에서 첫 번째 이더넷 장치는로 이름이 지정되고 enp2s0
VirtualBox에서는 이름이 enp0s3
. /etc/network/interfaces
부팅시 파일을 어떻게 생성해야 합니까?
네트워크 인터페이스 이름 (심볼 링크를 통해)을 다시 매핑하고 모든 응용 프로그램이 기본 하드웨어의 실제 네트워크 인터페이스 이름을 알 필요없이 해당 이름 (역할 이름)을 사용하도록하는보다 일반적인 방법이 있습니까?
이 문제를 해결할 수있는 방법에는 여러 가지가 있습니다.
가장 친숙한 방법은 아마 부팅 옵션을 사용하여 이름 지정 방식에 새로운 네트워크 인터페이스를 비활성화하는 것 net.ifnames=0
, 또는 오버라이드 (override) /lib/systemd/network/99-default.link
으로 ln -s /dev/null /etc/systemd/network/99-default.link
, 또는 실제로 함께 새로운 스타일의 이름을 구현하는 udev에 규칙 파일을 마스크로 ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
... 참조 데비안 위키 에 대한 고전적인 명명 체계로 되 돌리는 다양한 방법에 대한 자세한 정보. 그럼 당신은 당신을 다시 쓸 수있는 /etc/network/interfaces
단지 사용 eth0
.
가장 유연한 방법은 정적 사용을 중지 /etc/network/interfaces
하고 NetworkManager로 전환하는 것입니다. 추가 구성이없는 경우 활성 링크가있는 네트워크 인터페이스에서 DHCP를 사용하도록 자동으로 기본 설정됩니다. NIC가 여러 개 있지만 실제로는 하나 (첫 번째는 아님) 만 연결되어있는 경우에도 자동으로 처리됩니다.
또는 ip link show
출력 (또는의 링크 /sys/class/network
)을 읽고 재 작성 /etc/network/interfaces
(또는 실제 네트워크 구성 파일이 무엇이든 ) 하는 사용자 지정 스크립트를 작성하여 자신 만의 작업을 수행 할 수 있습니다. 그럼 당신과 함께 systemd 서비스로 스크립트를 추가 할 수 있습니다 Wants=network-pre.target
, Before=network-pre.target
, After=module-init-tools.service
아마 DefaultDependencies=no
. 이렇게하면 모든 모듈이로드 된 후 네트워크 구성이 시작되기 전에 스크립트를 초기 시스템 설정의 일부로 실행할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다