Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I would like to cancel the eth0 running on startup... Im not talking about doing ifdown eth0, I don't want it to do the ifup eth0 at the first place...
I'm not really sure if if it's related but here's /etc/init.d/network
I want only eth1 to run!!! :]]
Code:
#! /bin/bash
#
# network Bring up/down networking
#
# chkconfig: 2345 10 90
# description: Activates/Deactivates all network interfaces configured to \
# start at boot time.
# probe: false
### BEGIN INIT INFO
# Provides: $network
### END INIT INFO
# Source function library.
. /etc/init.d/functions
if [ ! -f /etc/sysconfig/network ]; then
echo "NETWORKING=no" > /etc/sysconfig/network
exit 0
fi
. /etc/sysconfig/network
if [ -f /etc/sysconfig/pcmcia ]; then
. /etc/sysconfig/pcmcia
fi
# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0
# if the ip configuration utility isn't around we can't function.
[ -x /sbin/ip ] || exit 1
# Even if IPX is configured, without the utilities we can't do much
[ ! -x /sbin/ipx_internal_net -o ! -x /sbin/ipx_configure ] && IPX=
# Even if VLAN is configured, without the utility we can't do much
[ ! -x /sbin/vconfig ] && VLAN=
# If IPv6 is explicitly configured, make sure it's available.
if [ -n "$NETWORKING_IPV6" ]; then
alias=`modprobe -c | awk '/^alias net-pf-10 / { print $3; exit }'`
if [ "$NETWORKING_IPV6" = "yes" ]; then
new_alias=ipv6
fi
if [ "$NETWORKING_IPV6" = "no" ]; then
new_alias=off
fi
if [ -n "$new_alias" ]; then
if [ "$alias" != "$new_alias" -a ! -f /proc/net/if_inet6 ]; then
case "$(modprobe -V 2>/dev/null)" in
modprobe* )
echo "alias net-pf-10 $new_alias" >> /etc/modules.conf
;;
module-init-tools* )
echo "alias net-pf-10 $new_alias" >> /etc/modprobe.conf
;;
esac
fi
fi
fi
CWD=`pwd`
cd /etc/sysconfig/network-scripts
. network-functions
# find all the interfaces besides loopback.
# ignore aliases, alternative configurations, and editor backup files
interfaces=`ls ifcfg* | LANG=C egrep -v '(ifcfg-lo|:|rpmsave|rpmorig|rpmnew)' | \
LANG=C egrep -v '(~|\.bak)$' | \
LANG=C egrep 'ifcfg-[A-Za-z0-9\._-]+$' | \
sed 's/^ifcfg-//g' |
sed 's/[0-9]/ &/' | LANG=C sort -k 1,1 -k 2n | sed 's/ //'`
boot=boot
# See how we were called.
case "$1" in
start)
# IPv6 hook (pre IPv4 start)
if [ "$NETWORKING_IPV6" = "yes" ]; then
if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
/etc/sysconfig/network-scripts/init.ipv6-global start pre
fi
fi
action "Setting network parameters: " sysctl -e -p /etc/sysctl.conf
if [ -r /etc/ethers -a -x /sbin/arp ]; then
action "Storing ARP mapping" /sbin/arp -f /etc/ethers
fi
# bring up loopback interface
action "Bringing up loopback interface: " ./ifup ifcfg-lo
case "$IPX" in
yes|true)
/sbin/ipx_configure --auto_primary=$IPXAUTOPRIMARY \
--auto_interface=$IPXAUTOFRAME
if [ "$IPXINTERNALNETNUM" != "0" ]; then
/sbin/ipx_internal_net add $IPXINTERNALNETNUM $IPXINTERNALNODENUM
fi
;;
esac
# depreciated but we still use it.
if [ -f /proc/sys/net/ipv4/ip_forward ] && [[ "$FORWARD_IPV4" = "yes" || "$FORWARD_IPV4" = "true" ]];
then
action "Enabling IPv4 packet forwarding" sysctl -n -w net.ipv4.ip_forward=1
fi
case "$VLAN" in
yes)
if [ -d /proc/net/vlan ] || modprobe 8021q >/dev/null 2>&1 ; then
action "Setting 802.1Q VLAN parameters: " /sbin/vconfig set_name_type DEV_PLUS_VID_NO_PAD
else
gprintf "No 802.1Q VLAN support available in kernel.\n"
fi
;;
esac
vlaninterfaces=""
cipeinterfaces=""
xdslinterfaces=""
bridgeinterfaces=""
# bring up all other interfaces configured to come up at boot time
for i in $interfaces; do
eval $(LANG=C fgrep "DEVICE=" ifcfg-$i)
eval $(LANG=C fgrep "TYPE=" ifcfg-$i)
eval $(LANG=C fgrep "SLAVE=" ifcfg-$i)
eval $(LANG=C fgrep "BRIDGE=" ifcfg-$i)
if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi
if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then
cipeinterfaces="$cipeinterfaces $i"
unset DEVICE TYPE SLAVE BRIDGE
continue
fi
if [ "$TYPE" = "xDSL" -o "$TYPE" = "ADSL" ]; then
xdslinterfaces="$xdslinterfaces $i"
unset DEVICE TYPE SLAVE BRIDGE
continue
fi
if [ -n "$BRIDGE" ]; then
is_available $i
bridgeinterfaces="$bridgeinterfaces $i"
unset DEVICE TYPE SLAVE BRIDGE
continue
fi
if [ "${DEVICE%%.*}" != "$DEVICE" ] ; then
vlaninterfaces="$vlaninterfaces $i"
unset DEVICE TYPE SLAVE BRIDGE
continue
fi
if [ "$SLAVE" = "yes" ]; then
unset DEVICE TYPE SLAVE BRIDGE
continue
fi
if LANG=C egrep -q "^ONBOOT=['\"]?[Nn][Oo]['\"]?" ifcfg-$i; then
continue
fi
# If we're in confirmation mode, get user confirmation.
[ -f /var/run/confirm ] &&
{
confirm $i
case $? in
0)
:
;;
2)
CONFIRM=
;;
*)
continue
;;
esac
}
action "Bringing up interface %s: " $i ./ifup $DEVICE $boot
done
# Bring up xDSL and CIPE interfaces
for i in $vlaninterfaces $bridgeinterfaces $xdslinterfaces $cipeinterfaces ; do
if ! LANG=C egrep -q "^ONBOOT=['\"]?[Nn][Oo]['\"]?" ifcfg-$i; then
# If we're in confirmation mode, get user confirmation.
if [ -f /var/run/confirm ]; then
confirm $i
test $? = 1 && continue
fi
action "Bringing up interface %s: " $i ./ifup $i boot
fi
done
# Add non interface-specific static-routes.
if [ -f /etc/sysconfig/static-routes ]; then
grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
/sbin/route add -$args
done
fi
# IPv6 hook (post IPv4 start)
if [ "$NETWORKING_IPV6" = "yes" ]; then
if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
/etc/sysconfig/network-scripts/init.ipv6-global start post
fi
fi
touch /var/lock/subsys/network
;;
stop)
# If this is a final shutdown/halt, check for network FS,
# and unmount them even if the user didn't turn on netfs
if [ "$RUNLEVEL" = "6" -o "$RUNLEVEL" = "0" -o "$RUNLEVEL" = "1" ]; then
NFSMTAB=`LC_ALL=C awk '!/^#/ && $3 ~ /^nfs/ { print $2 }' /proc/mounts`
SMBMTAB=`LC_ALL=C awk '!/^#/ && $3 == "smbfs" { print $2 }' /proc/mounts`
NCPMTAB=`LC_ALL=C awk '!/^#/ && $3 == "ncpfs" { print $2 }' /proc/mounts`
if [ -n "$NFSMTAB" -o -n "$SMBMTAB" -o -n "$NCPMTAB" ] ; then
/etc/init.d/netfs stop
fi
fi
# IPv6 hook (pre IPv4 stop)
if [ "$NETWORKING_IPV6" = "yes" ]; then
if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
/etc/sysconfig/network-scripts/init.ipv6-global stop pre
fi
fi
vlaninterfaces=""
cipeinterfaces=""
xdslinterfaces=""
bridgeinterfaces=""
remaining=""
# get list of bonding, cipe, and xdsl interfaces
for i in $interfaces; do
eval $(LANG=C fgrep "DEVICE=" ifcfg-$i)
eval $(LANG=C fgrep "TYPE=" ifcfg-$i)
eval $(LANG=C fgrep "BRIDGE=" ifcfg-$i)
if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi
if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then
cipeinterfaces="$cipeinterfaces $i"
unset DEVICE TYPE BRIDGE
continue
fi
if [ -n "$BRIDGE" ]; then
bridgeinterfaces="$bridgeinterfaces $i"
unset DEVICE TYPE BRIDGE
continue
fi
if [ "$TYPE" = "xDSL" -o "$TYPE" = "ADSL" ]; then
xdslinterfaces="$xdslinterfaces $i"
unset DEVICE TYPE BRIDGE
continue
fi
if [ "${DEVICE%%.*}" != "$DEVICE" ] ; then
vlaninterfaces="$vlaninterfaces $i"
unset DEVICE TYPE SLAVE BRIDGE
continue
fi
remaining="$remaining $i"
unset DEVICE TYPE BRIDGE
done
for i in $cipeinterfaces $xdslinterfaces $bridgeinterfaces $vlaninterfaces; do
eval $(fgrep "DEVICE=" ifcfg-$i)
if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi
if ! check_device_down $DEVICE; then
action "Shutting down interface %s: " $i ./ifdown $i boot
fi
done
# shut down all interfaces (other than loopback)
for i in $remaining ; do
eval $(fgrep "DEVICE=" ifcfg-$i)
if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi
if ! check_device_down $DEVICE; then
action "Shutting down interface %s: " $i ./ifdown $i boot
fi
done
case "$IPX" in
yes|true)
if [ "$IPXINTERNALNETNUM" != "0" ]; then
/sbin/ipx_internal_net del
fi
;;
esac
action "Shutting down loopback interface: " ./ifdown ifcfg-lo
if [ -d /proc/sys/net/ipv4 ]; then
if [ -f /proc/sys/net/ipv4/ip_forward ]; then
if [ `cat /proc/sys/net/ipv4/ip_forward` != 0 ]; then
action "Disabling IPv4 packet forwarding: " sysctl -n -w net.ipv4.ip_forward=0
fi
fi
if [ -f /proc/sys/net/ipv4/ip_always_defrag ]; then
if [ `cat /proc/sys/net/ipv4/ip_always_defrag` != 0 ]; then
action "Disabling IPv4 automatic defragmentation: " sysctl -n -w net.ipv4.ip_always_defrag=0
fi
fi
fi
if [ -f /proc/sys/net/ipv4/tcp_syncookies ];then
if [ `cat /proc/sys/net/ipv4/tcp_syncookies` != 0 ]; then
sysctl -n -w net.ipv4.tcp_syncookies=0
fi
fi
# IPv6 hook (post IPv4 stop)
if [ "$NETWORKING_IPV6" = "yes" ]; then
if [ -x /etc/sysconfig/network-scripts/init.ipv6-global ]; then
/etc/sysconfig/network-scripts/init.ipv6-global stop post
fi
fi
rm -f /var/lock/subsys/network
;;
status)
gprintf "Configured devices:\n"
echo lo $interfaces
gprintf "Currently active devices:\n"
echo `/sbin/ip -o link show | awk -F ": " '/UP>/ { print $2 }'`
;;
restart|reload)
cd "$CWD"
$0 stop
interfaces="$active"
boot=""
$0 start
;;
*)
gprintf "Usage: %s\n" "$(basename $0) {start|stop|restart|reload|status}"
exit 1
esac
exit 0
I would also like to know where I cancel whole process @ startup like things to not load or not run, if possible.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.