Linux -- 必须掌握的linux目录路径知识

/etc/sysconfig/network-scripts/ifcfg-eth0

网卡配置文件

/etc/sysconfig/network-scripts/ifcfg-eth0 内容

DEVICE=eth0  
HWADDR=00:0c:29:a8:5d:fe
TYPE=Ethernet
UUID=a2908f07-9fb2-4635-9024-7a69c8affc07
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
# BOOTPROTO=none  static  dhcp
# IPADDR=10.0.0.7
# NETMASK=255.255.255.0
# GATEWAY=10.0.0.254
# DNS1=8.8.8.8
# DNS2=180.76.76.76
USERCTL=no
PEERDNS=yes
IPV6INIT=no

如果是clone的机器,将HWADDR和UUID删除

'''影响所有网卡'''
/etc/init.d/network restart
# 要确定ONBOOT=ON,不然就完了

'''只针对eth0网卡'''
ifdown eth0 
ifup eth0

'''使用两个&的作用是,down成功了再up'''
ifudown eth0 && ifup eth0

/etc/resolv.conf

DNS配置文件, 一般需要主、备的DNS

/etc/resolv.conf 内容

search localdomain
nameserver 8.8.8.8
namesever 180.76.76.76

/etc/hosts

静态的主机名查找表,可以理解成局域网的DNS(主机名和IP解析),而非广域网的DNS,需要手动维护

/etc/hosts 内容

10.0.0.7 oldboy
10.0.0.8 www.baidu.com

主机名要规范

hosts在企业的作用

  1. 开发、产品、测试等人员,用于通过正式的域名测试产品
  2. 服务器之间的调用可以用域名(内部的DNS),方便迁移

/etc/sysconfig/network

主机名的配置文件

/etc/sysconfig/network 内容

NETWORKING=yes
HOSTNAME=oldboy66-23

注意:生产环境中修改主机名

  1. 先用hostname将主机名修改
  2. 再修改[/etc/sysconfig/network]中的HOSTNAME字段

/etc/fstab

有关系统文件的静态信息,设置文件系统挂载信息的文件,使得开机能够自动挂载磁盘分区

/etc/fstab 内容


#
# /etc/fstab
# Created by anaconda on Sun Jul  2 00:53:11 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=3e537f4b-9f4b-4f41-a18d-d1b29b4c6238 /                       ext4    defaults        1 1
UUID=908b6f35-6fc3-4833-a949-45d811a43ade /boot                   ext4    defaults        1 2
UUID=49a88ae9-fb5c-4af9-b5c7-bd3f01e64eaa swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

文件中一共有6列

列号 说明 备注
1 需要被挂载的设备(磁盘或分区) 也可以是UUID或磁盘标签
2 挂载点
3 类型,文件类型 ext2 ext3 ext4 xfs ntfs
4 挂载的选项 只读,可写等等
5 是否备份 默认0,不备份
6 系统是否开机协助检查磁盘 系统根文件为1,默认0,不检查[fsck命令检查,好磁盘不要用!!!需要卸载的状态使用]

挂载的方法

  1. mount -t ext4 -o noexec,noatime /opt/sda1 /mnt
  2. 写入/etc/fstab,实现开机自动挂载如下内容

/opt/sda1 /mnt ext4 noatime,noexec 0 0

  1. 也可以把第一条命令放在/etc/rc.local里面,效果同第2条。

如果/etc/fstab文件配置错误,系统无法启动

测试手动挂载

# 创建了一个虚拟的块设备
# dd if=/dev/zero of=/opt/sdb1 bs=4906 count=100
# 格式化
# mkfs.ext4 /opt/sdb1
# 挂载
# mount -t ext4 -o loop,noexec,noatime /opt/sda1 /mnt
# 查看
# df- h

/etc/rc.locacl

让一个程序开机启动类似Windows的启动文件夹

让一个程序开机启动:

  • chkconfig 不过需要满足一些条件,类似(/etc/init.d/shhd)
  • 放入/etc/rc.local

建议选择,/etc/rc.local
所有程序开机启动放入/etc/rc.local,好比服务器档案文件。这样比较规范,而且要给文件做注释,并且备份。

/etc/rc.local是Linux加载的顺序为最后加载。

NFS网络文件系统挂载时,网卡还没起,就已经加载fstab了,这样就会报错,因为顺序。所以一般放在/etc/rc.local里,这样确保NFS挂载成功。


/etc/inittab

设定系统启动时init进程将把系统设置成什么样的runlevel运行级别及加载相关的级别对应启动文件设置

/etc/inittab 内容

# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
# 
id:3:initdefault:

CentOS5服务器启动流程

graph TD
A["开机BIOS"]-->B["MBR引导"]
B-->C["GRUB引导菜单"]
C-->D["加载内核kernel"]
D-->E["启动init进程"]
E-->F["读取inittab文件"]
F-->G["执行rc.sysint  rc等脚本"]
G-->H["启动mingetty"]
H-->I["进入系统登录界面"]
  • 开机BIOS:光盘启动,硬盘启动,网卡启动and so on
  • MBR引导:硬盘0柱面0磁道1扇区的前446byte
  • GRUB引导菜单(选择引导哪个操作系统): cat /etc/grub.conf
  • 加载内核kernel
  • 启动init进程: ps -ef|grep init
  • 读取inittab文件:/etc/inittab; /etc/rc.d/rc/sysinit; /etc/rc/d/rc3.d(进入文本模式)

/etc/init.d

通过yum或rpm安装的程序,启动的时候都在/etc/init.d文件夹内。如果用源码安装的,不在这个文件夹内


/etc/profile

定义一个别名,配置系统的变量,都在里面。与之匹配的还有一个目录,即/etc/profile.d/ 这个目录存在是程序或脚本,只要重新登录,就会执行这个目录下的脚本,与/etc/motd不同的是,/etc/motd是登录后显示的字符串,而profile.d下的是脚本。

/etc/profile.d/下的文件形式存在(*.sh为扩展名),但要可执行[chmod -x 123.sh]


/etc/issue

记录用户登录前显示的系统版本等信息,不太安全,建议优化。


/etc/motd

登录后显示的字符串

# cat -n /etc/issue

/etc/redhat-release

包含一行声明RedHat版本号和名称的信息。

# cat -n /etc/redhat-release

/etc/passwd

用户账户文件


/etc/shadow

账户的密码文件


/etc/group

用户对应的组文件


/etc/gshadow

组的密码文件


/etc/sudoers

建议使用visudo来编辑此文件,而不是vi,这样可以检查语法。如果用echo添加了信息后,建议使用visudo -c 检查语法。如果语法错,会导致所有su系统无法使用。


/var/log/messages 如果系统或软件故障,查询这个文件

系统信息默认日志文件,非常重要,按周自动轮循
rsyslog完成


/var/log/secure 如果有人在网络上扫描shh 安全问题

系统安全日志文件,SSH连接日志,接受密码说明登录成功,如果连接failure,同一个ip,就要改密码改端口,只用vpn。

# tail -f /etc/log/secure  动态查看最后10行的内容

如果硬件故障,用 # dmesg 查看


/var/spool/cron/root

定时任务crond的配置文件所在路径,建议备份

# cat /var/spool/cron/root

/proc/

进程管理目录

# cat /proc/meminfo  系统内存信息
# cat /proc/cpuinfo  关于处理器的信息,类型,厂家,型号和性能
# cat /proc/loadavg  系统负载平均值信息
# cat /proc/interrupts  正在使用的中断,和曾经有多少和中断
# cat /proc/mounts  查看设备挂载信息 类似df -h,但是更详细

一个目录说明的链接

重点文件汇总

/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/resolv.conf  将被淘汰
/etc/hosts
/etc/sysconfig/network
/etc/fstab
/etc/rc.local
/etc/inittab  将被淘汰
/etc/init.d
/etc/profile
/usr/local  类似programfile
/etc/src  内核源码目录
/var/log/messagers  系统信息默认日志文件
/var/log/secure  系统安全日志
/var/spool/cron/root  定时任务的路径
/proc/cpuinfo
/proc/meminfo
/proc/loadavg
/proc/mounts

写在后面

  • 网卡内的DNS优先级要高于resolve.conf
  • CentOS6 在使用[/etc/init.d/network restart]会将resolve.conf内容冲掉
  • 建议配置DNS在网卡文件中配置,而不是在[/etc/resolv.conf]中配置
  • [/etc/hosts]手动配置的IP对域名的关联作用
  • 主机名命名要规范
  • 修改[/etc/sysconfig/network]主机名,这样系统重启后主机名还在,如果用hostname命令修改,重启就没有

思考题

  • fstab一旦配置错误,会导致服务器无法启动,如何修复?出问题后,修复:
    • 开机提示:输入密码 修复
    • 救援模式,光盘启动
    • 修改/etc/fstab只读状态

mount -o rw

remount /

posted @ 2017-10-09 15:32  gzz041  阅读(2117)  评论(0编辑  收藏  举报