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 /


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM