<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
    <title>
      D.26. /lib/services/ipv4-static
    </title>
    <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
    <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
    "text/css" media="print" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  </head>
  <body class="lfs" id="lfs-12.2">
    <div class="navheader">
      <h4>
        Линукс с нуля - Версия 12.2
      </h4>
      <h3>
        Приложение D. Скрипты загрузки и настройки системы-20240825
      </h3>
      <ul>
        <li class="prev">
          <a accesskey="p" href="apds25.html" title="/sbin/ifdown">Пред.</a>
          <p>
            /sbin/ifdown
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="apds27.html" title=
          "/lib/services/ipv4-static-route">След.</a>
          <p>
            /lib/services/ipv4-static-route
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="scripts.html" title=
          "Приложение D. Скрипты загрузки и настройки системы-20240825">Наверх</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Линукс с нуля - Версия 12.2">Начало</a>
        </li>
      </ul>
    </div>
    <h1 class="sect1">
      <a id="ipv4static" name="ipv4static"></a>D.26.
      /lib/services/ipv4-static
    </h1>
    <div class="wrap" lang="ru" xml:lang="ru">
      <pre class="screen">#!/bin/sh
########################################################################
# Begin /lib/services/ipv4-static
#
# Description : IPV4 Static Boot Script
#
# Authors     : Nathan Coulson - nathan@linuxfromscratch.org
#               Kevin P. Fleming - kpfleming@linuxfromscratch.org
# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
#
# Version     : LFS 7.0
#
########################################################################

. /lib/lsb/init-functions
. ${IFCONFIG}

if [ -z "${IP}" ]; then
   log_failure_msg "\nIP variable missing from ${IFCONFIG}, cannot continue."
   exit 1
fi

if [ -z "${PREFIX}" -a -z "${PEER}" ]; then
   log_warning_msg "\nPREFIX variable missing from ${IFCONFIG}, assuming 24."
   PREFIX=24
   args="${args} ${IP}/${PREFIX}"

elif [ -n "${PREFIX}" -a -n "${PEER}" ]; then
   log_failure_msg "\nPREFIX and PEER both specified in ${IFCONFIG}, cannot continue."
   exit 1

elif [ -n "${PREFIX}" ]; then
   args="${args} ${IP}/${PREFIX}"

elif [ -n "${PEER}" ]; then
   args="${args} ${IP} peer ${PEER}"
fi

if [ -n "${LABEL}" ]; then
   args="${args} label ${LABEL}"
fi

if [ -n "${BROADCAST}" ]; then
   args="${args} broadcast ${BROADCAST}"
fi

case "${2}" in
   up)
      if [ "$(ip addr show ${1} 2&gt;/dev/null | grep ${IP}/)" = "" ]; then
         log_info_msg "Adding IPv4 address ${IP} to the ${1} interface..."
         ip addr add ${args} dev ${1}
         evaluate_retval
      else
         log_warning_msg "Cannot add IPv4 address ${IP} to ${1}.  Already present."
      fi
   ;;

   down)
      if [ "$(ip addr show ${1} 2&gt;/dev/null | grep ${IP}/)" != "" ]; then
         log_info_msg "Removing IPv4 address ${IP} from the ${1} interface..."
         ip addr del ${args} dev ${1}
         evaluate_retval
      fi

      if [ -n "${GATEWAY}" ]; then
         # Only remove the gateway if there are no remaining ipv4 addresses
         if [ "$(ip addr show ${1} 2&gt;/dev/null | grep 'inet ')" != "" ]; then
            log_info_msg "Removing default gateway..."
            ip route del default
            evaluate_retval
         fi
      fi
   ;;

   *)
      echo "Usage: ${0} [interface] {up|down}"
      exit 1
   ;;
esac

# End /lib/services/ipv4-static
</pre>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="apds25.html" title="/sbin/ifdown">Пред.</a>
          <p>
            /sbin/ifdown
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="apds27.html" title=
          "/lib/services/ipv4-static-route">След.</a>
          <p>
            /lib/services/ipv4-static-route
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="scripts.html" title=
          "Приложение D. Скрипты загрузки и настройки системы-20240825">Наверх</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Линукс с нуля - Версия 12.2">Начало</a>
        </li>
      </ul>
    </div>
  </body>
</html>