Ubuntu系统关机时将网卡工作模式由千兆自动切换至百兆非自适应

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/snaking616/article/details/78740827

1.需要准备的知识点

网卡工作模式设置命令:ethtool -s eth1 autoneg off speed 100 duplex full

网卡状态读取命令:ethtool eth1

用 echo 管道命令给sudo自动输入密码:echo password|sudo -S cmd

用 echo 管道命令将内容content写入指定文件file_name内:echo "content" > file_name

生成链接文件命令:ln -s 


2.思路

创建一个修改网卡工作模式的脚本eth_set_100,脚本内容如下:

#!/bin/bash
echo "admin"|sudo -S ethtool -s eth1 autoneg off speed 100 duplex full
脚本eth_set_100的功能是将Ubuntu系统的网卡eth1由千兆自适应模式改为百兆非自适应模式,

要想让脚本eth_set_100在Ubuntu系统关机时启动,需要进行如下三个操作:

(1)在文件夹/etc/init.d/下创建关机时需要执行的脚本eth_set_100
(2)分别在文件夹/etc/rc0.d/和/etc/rc6.d/下创建该该脚本文件的链接文件K07eth_set_100

(3)在文件夹/var/lock/subsys/下生成与eth_set_100同名的文件。


3.具体实现步骤

现编写另一个脚本autoset_net,运行该脚本可以自动完成上文的所有工作,脚本内容如下:

#!/bin/bash

#(1)creat shell file 
cd /etc/init.d
echo "admin"|sudo -S touch eth_set_100
echo "admin"|sudo -S chmod 777 eth_set_100

#content of the shell file
echo "#!/bin/bash
echo "admin"|sudo -S ethtool -s eth1 autoneg off speed 100 duplex full" > eth_set_100

#(2)creat link
echo "admin"|sudo -S ln -s /etc/init.d/eth_set_100 /etc/rc0.d/K07eth_set_100
echo "admin"|sudo -S ln -s /etc/init.d/eth_set_100 /etc/rc6.d/K07eth_set_100

#(3)creat same file in the /var/lock/subsys/
echo "admin"|sudo -S mkdir -p /var/lock/subsys/
echo "admin"|sudo -S touch /var/lock/subsys/eth_set_100

运行脚本autoset_net的具体操作如下:

(1)在~/目录下新建脚本文件autoset_net

cd ~/
sudo gedit autoset_net

将上方代码写入脚本autoset_net

(2)修改文件权限

sudo chmod 777 autoset_net

(3)运行该文件

./autoset_net

待系统关机后,通过网线将Ubuntu工作站的网口与另一台PC相连,在PC的网络与共享中心的本地连接中,就可查看工作站网口的工作速度,如果设置正常,PC的本地连接网速应该为100Mbps。


4.参考:

(1)ethtool 命令详解 - linfengdu的日志 - 网易博客
http://linfengdu.blog.163.com/blog/static/117710732010112124631684/


猜你喜欢

转载自blog.csdn.net/snaking616/article/details/78740827