ネットワークインターフェイスカード、network init.dを自動的に検出します。

ネットワークインターフェイスカード、network init.dを自動的に検出します。

私はこれに基づいてLFS Linuxを構築しました。、正常に動作し、ネットワークインターフェイスカードが動作しています。サービスを使用してdhcpcdIPを自動的に設定します。

この本の第9章によると、次のファイルがあります。

/etc/sysconfig/ifconfig.eth0 問題は、wlan0ネットワークインターフェイスカードを手動で変更するたびに設定ファイルを変更するか、eth0の名前をwlan0に変更する必要があるかどうかを使用する場合に自動的に検出されることを願っています。

/etc/init.d/networkここでは、LFSブックで生成されたネットワークスクリプトを初期化します。/etc/sysconfig/ifconfig.*

### BEGIN INIT INFO
# Provides:            $network
# Required-Start:      $local_fs localnet swap
# Should-Start:        $syslog firewalld iptables nftables
# Required-Stop:       $local_fs localnet swap
# Should-Stop:         $syslog firewalld iptables nftables
# Default-Start:       3 4 5
# Default-Stop:        0 1 2 6
# Short-Description:   Starts and configures network interfaces.
# Description:         Starts and configures network interfaces.
# X-LFS-Provided-By:   LFS
### END INIT INFO

case "${1}" in
   start)
      # Start all network interfaces
      for file in /etc/sysconfig/ifconfig.*
      do
         interface=${file##*/ifconfig.}

         # Skip if $file is * (because nothing was found)
         if [ "${interface}" = "*" ]; then continue; fi

         /sbin/ifup ${interface}
      done
      ;;

   stop)
      # Unmount any network mounted file systems
       umount --all --force --types nfs,cifs,nfs4

      # Reverse list
      net_files=""
      for file in  /etc/sysconfig/ifconfig.*
      do
         net_files="${file} ${net_files}"
      done

      # Stop all network interfaces
      for file in ${net_files}
      do
         interface=${file##*/ifconfig.}

         # Skip if $file is * (because nothing was found)
         if [ "${interface}" = "*" ]; then continue; fi

         # See if interface exists
         if [ ! -e /sys/class/net/$interface ]; then continue; fi

         # Is interface UP?
         ip link show $interface 2>/dev/null | grep -q "state UP"
         if [ $? -ne 0 ];  then continue; fi

         /sbin/ifdown ${interface}
      done
      ;;

   restart)
      ${0} stop
      sleep 1
      ${0} start
      ;;

   *)
      echo "Usage: ${0} {start|stop|restart}"
      exit 1
      ;;
esac

exit 0

# End network

答え1

スクリプトを読むと、すべての/etc/sysconfig/ifconfig.*ファイルを処理することが明らかになります。

   start)
      # Start all network interfaces
      for file in /etc/sysconfig/ifconfig.*
      do
         interface=${file##*/ifconfig.}

スクリプトはファイル名から構成するインターフェース名を選択するため、必要な設定を書き換えてeth0ください/etc/sysconfig/ifconfig.eth0wlan0/etc/sysconfig/ifconfig.wlan0

また、ワイヤレスネットワークインターフェース(例wlan0:)の場合、次のことも必要になる可能性があります。インストールと構成wpa_supplicant、近代的な形態のワイヤレスネットワークセキュリティをカバーしています。

他の人が書いたシェルスクリプトを読む能力は、Linuxシステム管理者にとって貴重な技術です。場合によっては、スクリプトが実際に実行する操作を確認するためにスクリプトを読み取る必要があり、特定の問題を解決するために、または利用可能な文書が十分に詳細ではないため、スクリプトが実際に実行する作業を特定する必要があります。

関連情報