Linux 典型运维应用
Linux 典型运维应用
💡 如果没有特殊说明,本文的案例都是针对 Centos 发行版本。
网络操作
无法访问外网域名
(1)在 hosts 中添加本机实际 IP 和本机实际域名的映射
1 | echo "192.168.0.1 hostname" >> /etc/hosts |
如果不知道本机域名,使用 hostname
命令查一下;如果不知道本机实际 IP,使用 ifconfig
查一下。
(2)配置信赖的 DNS 服务器
执行 vi /etc/resolv.conf
,添加以下内容:
1 | nameserver 114.114.114.114 |
114.114.114.114 是国内老牌 DNS
8.8.8.8 是 Google DNS
:point_right: 参考:公共 DNS 哪家强
(3)测试一下能否 ping 通 www.baidu.com
配置网卡
使用 root 权限编辑 /etc/sysconfig/network-scripts/ifcfg-eno16777736X
文件
参考以下进行配置:
1 | TYPE=Ethernet # 网络类型:Ethernet以太网 |
修改完后,执行 systemctl restart network.service
重启网卡服务。
自动化脚本
Linux 开机自启动脚本
(1)在 /etc/rc.local
文件中添加命令
如果不想将脚本粘来粘去,或创建链接,可以在 /etc/rc.local
文件中添加启动命令
- 先修改好脚本,使其所有模块都能在任意目录启动时正常执行;
- 再在
/etc/rc.local
的末尾添加一行以绝对路径启动脚本的行;
例:
执行 vim /etc/rc.local
命令,输入以下内容:
1 | !/bin/sh |
(2)在 /etc/rc.d/init.d
目录下添加自启动脚本
Linux 在 /etc/rc.d/init.d
下有很多的文件,每个文件都是可以看到内容的,其实都是一些 shell 脚本或者可执行二进制文件。
Linux 开机的时候,会加载运行 /etc/rc.d/init.d
目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。系统服务的启动就是通过这种方式实现的。
(3)运行级别设置
简单的说,运行级就是操作系统当前正在运行的功能级别。
1 | 不同的运行级定义如下: |
这些级别在 /etc/inittab
文件里指定,这个文件是 init 程序寻找的主要文件,最先运行的服务是放在/etc/rc.d 目录下的文件。
在 /etc
目录下面有这么几个目录值得注意:rcS.d rc0.d rc1.d … rc6.d (0,1… 6 代表启动级别 0 代表停止,1 代表单用户模式,2-5 代表多用户模式,6 代表重启) 它们的作用就相当于 redhat 下的 rc.d ,你可以把脚本放到 rcS.d,然后修改文件名,给它一个启动序号,如: S88mysql
不过,最好的办法是放到相应的启动级别下面。具体作法:
(1)先把脚本 mysql 放到 /etc/init.d 目录下
(2)查看当前系统的启动级别
1 | runlevel |
(3)设定启动级别
1 | 98 为启动序号 |
现在我们到 /etc/rc2.d 下,就多了一个 S98mysql 这样的符号链接。
(4)重启系统,验证设置是否有效。
(5)移除符号链接
当你需要移除这个符号连接时,方法有三种:
直接到
/etc/rc2.d
下删掉相应的链接,当然不是最好的方法;推荐做法:
update-rc.d -f s10 remove
如果 update-rc.d 命令你不熟悉,还可以试试看 rcconf 这个命令,也很方便。
:point_right: 参考:
定时执行脚本
配置
设置 Linux 启动模式
- 停机(记得不要把 initdefault 配置为 0,因为这样会使 Linux 不能启动)
- 单用户模式,就像 Win9X 下的安全模式
- 多用户,但是没有 NFS
- 完全多用户模式,准则的运行级
- 通常不用,在一些特殊情况下可以用它来做一些事情
- X11,即进到 X-Window 系统
- 重新启动 (记得不要把 initdefault 配置为 6,因为这样会使 Linux 不断地重新启动)
设置方法:
1 | sed -i 's/id:5:initdefault:/id:3:initdefault:/' /etc/inittab |