net 스크립트가 삭제된 이전 물리적 네트워크 인터페이스를 업그레이드하려고 시도합니다.

net 스크립트가 삭제된 이전 물리적 네트워크 인터페이스를 업그레이드하려고 시도합니다.

상황: 커널이 있는 젠투3.8.4

AMD64

Udev 218

systemd 없음, initram 없음, 이전 네트워크 udev 규칙 없음

이전에는 네트워크 인터페이스 3개(온보드 인터페이스 2개, pci 인터페이스 1개, 모든 r8189 모듈 인터페이스)

네트워크 단락 후 온보드 장치 2개가 작동을 멈췄고 Bios에서 해당 장치를 비활성화한 다음 제대로 작동하는 PCI R8189 Gibt 모듈을 추가했습니다(인터넷, SSH, 데이터 전송, 모든 것이 잘 작동했습니다).

lspci |grep Eth
03:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8169 PCI Gigabit Ethernet Controller (rev 10)

그러나 Samba를 버전 4로 업그레이드하고 Samba 서비스를 다시 시작하면 다음 오류 메시지가 나타납니다.

 /etc/init.d/samba restart
 * Caching service dependencies ...                                                                               [ ok ]
 * Bringing up interface enp2s0
 *   ERROR: interface enp2s0 does not exist
 *   Ensure that you have loaded the correct kernel module for your hardware
 * ERROR: enp2s0 failed to start
 * ERROR: cannot start samba as enp2s0 would not start

그래서 "이전" 정보가 여전히 표시되는 위치를 찾으려고 합니다.

rc-update show
         bootmisc | boot
       consolekit | boot
            devfs |                       sysinit
            dmesg |                       sysinit
             fsck | boot
           hdparm |      default
         hostname | boot
          hwclock | boot
          keymaps | boot
        killprocs |              shutdown
       lm_sensors |      default
            local |      default
       localmount | boot
         loopback | boot
          modules | boot
         mount-ro |              shutdown
             mtab | boot
           net.lo | boot
         netmount |      default
             nrpe |      default
           procfs | boot
             root | boot
            samba |      default
        savecache |              shutdown
             sshd |      default
             swap | boot
        swapfiles | boot
           sysctl | boot
            sysfs |                       sysinit
        syslog-ng |      default
     termencoding | boot
     tmpfiles.dev |                       sysinit
   tmpfiles.setup | boot
             udev |                       sysinit
          urandom | boot
       vixie-cron |      default

AN grep enp2s0 2>/dev/null /etc/*(및 모든 하위 디렉터리)은 구성 파일의 항목을 표시하지 않습니다.

웹을 검색하면 표시되지 않은 인터페이스에 반응하는 방법만 보여주며 현재 PredictableNetworkInterfaceNames라는 인터페이스로 이름이 바뀌는 것을 설명합니다. 유사 질문 목록에는 몇 가지 유망한 질문이 표시되지만 실제로 관련된 질문은 없습니다. (OP가 잘못된 커널을 설치했고, 인터페이스 이름을 바꾸는 데 문제가 있었습니다.)

그렇다면 네트워크 스크립트는 활성 이더넷 인터페이스가 2개 이상 있다는 정보를 어디에서 얻습니까?

이제 /etc/init.d/samba에서 "need net"에 대한 종속성을 제거했지만 분명히 이것은 단기적인 해결 방법일 뿐입니다.

bastille-firewall binfmt bootmisc busybox-ntpd busybox-watchdog   consolefont 
consolekit cpufrequtils cups-browsed cupsd dbus devfs dhcpcd dmesg enp2s0 
fancontrol fsck functions.sh gdm_mine git-daemon gpm hddtemp hdparm heimdal-kadmind 
heimdal-kcm heimdal-kdc heimdal-kpasswdd hostname hwclock ip6tables iptables 
keymaps killprocs kmod-static-nodes lm_sensors local localmount loopback 
modules mount-ro mtab net.lo netmount nrpe ntp-client ntpd numlock openvpn 
osclock pciparm procfs psad pydoc-2.7 pydoc-3.3 reboot.sh root rsyncd 
s6-svscan samba savecache shutdown.sh sntp sshd swap swapfiles swclock 
sysctl sysfs syslog-ng sysstat termencoding tmpfiles.dev tmpfiles.setup udev 
udev-settle udev-trigger urandom vixie-cron

및 DMESG 출력(MAC에서 편집됨)

dmesg |grep eth
[   10.012637] r8169 0000:03:01.0 eth0: RTL8169sb/8110sb at 0xffffc90010e84c00, [MAC], XID 10000000 IRQ 17
[   10.012641] r8169 0000:03:01.0 eth0: jumbo features [frames: 7152 bytes, tx checksumming: ok]

답변1

이름이 왜 이상한가요?

매뉴얼에 나온 이 재미있는 이야기를 기억하시나요? 특히 중요한 것은매뉴얼: AMD64/네트워크/소개

네트워크 카드 구성을 시작하려면 젠투 RC 시스템에 지시하세요. 이는 /etc/init.d에 net.lo에서 net.eth0(또는 시스템에 있는 네트워크 인터페이스 이름)으로의 심볼릭 링크를 생성하여 수행됩니다.

root # cd /etc/init.d
root # ln -s net.lo net.eth0

귀하의 경우 이는 다음과 같이 다시 작성됩니다.

root # cd /etc/init.d
root # ln -s net.lo net.enp2s0

왜냐하면지속적인 명명 규칙및 기본 sys-fs/udev커널 설정.net.ifnames=0


고정시키다

이 작업을 수행하기 전에 모든 네트워크를 오프라인으로 전환하려면 다음을 실행하고 rc-update del net.lo boot아래의 처음 4단계를 수행한 후 다음을 실행 rc-update add net.lo boot하고 5단계를 실행하세요. 모든 네트워크 장치가 연결되어 있기 때문에 작동합니다.net.lo

  1. 삭제 후 대체된 항목을 dmesg | grep renamed확인하려면 a를 실행하세요 .enp2s0
  2. 그런 다음 rm -v /etc/init.d/net.enp2s0존재하지 않는 다른 인터페이스도 마찬가지입니다. 위의 내용은 grep커널이 "인식"하는 내용을 제공하므로 추가 네트워크 파일이 있으면 삭제하십시오.하지만 net.lo는 삭제하지 마세요.!
  3. 새 NICS가 여러 개 있는 경우 ln -s /etc/init.d/net.lo /etc/init.d/net.the_new_names_from_step1각 장치에 대한 링크를 다시 만듭니다.grep
  4. Samba 해킹을 삭제하고 다시 활성화하세요.need net
  5. 재시작

관련 정보