Centos 7 重要系統配置檔案
一、網路卡配置檔案
-
配置檔案位置
/etc/sysconfig/network-scripts/網路卡名
-
詳細引數說明
HWADDR= | 網路卡MAC地址 |
TYPE=Ethernt | 網路卡型別:乙太網 |
PROXY_METHOD=none | 代理方式:關閉狀態 |
BROWSER_ONLY=no | 只是瀏覽器(yes|no) |
BOOTPROTO=static | 獲取IP方式(static|dhcp|none) |
DEFROUTE=yes | 設定為預設路由(yes|no) |
IPV4_FAILURE_FATAL=no | 是否開啟IPV4致命錯誤檢測 |
IPV6INIT=yes | IPV6是否自動初始化 |
IPV6_DEFROUTE=yes | PV6是否可以為預設路由 |
IPV6_FAILURE_FATAL=no | 是不開啟IPV6致命錯誤檢測 |
IPV6_ADDR_GEN_MODE=stable-privacy | IPV6地址生成模型 |
NAME=eth0 | 網路卡物理裝置名稱 |
UUID= | UUID識別碼 |
ONBOOT=no | 開機自啟(yes |
IPADDR= | IP地址 |
NETNASK=255.255.255.0 | 子網掩碼(PREFIX=24) |
GATEWAY= | 閘道器 |
DNS1= | 首選DNS |
DNS2- | 備選DNS |
-
簡單網路卡配置
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes DEVICE=eth0 ONBOOT=yes IPADDR=10.10.10.31 NETMASK=255.255.255.0
-
重啟網路卡方法
systemctl restart network 針對所有網路卡重啟
systemctl status networ 檢視網上狀態
ifdown eth0 關閉eth0網路卡
ifup etho 開啟eth0網路卡
二、主機名配置檔案,hosts與hostname
要理解 /etc/hosts 與 hostname 之間的關係,首先需要明白域名和主機名的區別。
-
什麼域名
無論在區域網還是INTERNET上,每臺主機都有一個IP地址,是為了區分此臺主機和彼臺主機,也就是說IP地址就是主機的門牌號。但IP地址不方便記憶,所以又有了域名。域名只是在公網(INTERNET)中存在,每個域名都對應一個IP地址,但一個IP地址可有對應多個域名(例如:linuxsir.org)。
-
2.什麼是主機名
主機名是用於什麼的呢?在一個區域網
中,每臺機器都有一個主機名
,用於主機與主機之間的便於區分,就可以為每臺機器設定主機名,以便於以容易記憶的方法來相互訪問。比如我們在區域網中可以根據每臺機器的功用來為其命名。
-
3.域名(Domain)和主機名(hostname)的區別
主機名通常在區域網內使用,透過hosts檔案,主機名就被解析到對應ip;域名通常在internet上使用,但如果本機不想使用internet上的域名解析,這時就可以更改 /etc/hosts 檔案,加入自己的主機名解析。
例子:比如我們有三臺主機,每臺做不同的事,一臺做MAIL伺服器,一臺做FTP伺服器,一臺做SMB伺服器,所以我們就可以這樣來設計主機名:
27.0.0.1 localhost.localdomain localhost
192.168.1.2 ftp.localdomain ftp
192.168.1.3 mail.localdomain mail
192.168.1.4 smb.localdomin smb
-
4.域名解析檔案/etc/hosts說明
/etc/hosts 的內容一般有如下類似內容:
127.0.0.1 lochost.localdomain localhost
192.168.1.100 debian.com debian
192.168.1.120 ftpserver ftp120
注:127.0.0.1 是迴環地址,比如我們不想讓區域網的其它機器看到我們測試的網路程式,就可以用迴環地址來測試。
一般情況下hosts檔案的每行為一個主機,每行由三部份
組成,每個部份由空格隔開。其中#號開頭的行做說明,不被系統解釋。
hosts檔案的格式如下:
第一部份: 網路IP地址;
第二部份: 主機名.域名,注意主機名和域名之間有個半形的點,比如 localhost.localdomain;
第三部份: 主機名(主機名別名) ,其實就是主機名;
當然每行也可以是兩部份
,就是主機IP地址和域名。比如 192.168.1.195 debian
。
etc/hosts檔案的作用: 將主機名(配置三部分)或域名(配置兩部分)解析到IP。
/etc/hostname 存放主機名,/etc/hosts 存放域名與ip的對應關係,其實主機名和 /etc/hosts 沒什麼關係,只不過如果 /etc/hosts 中的IP和主機名不對應的話,就不能用主機名來訪問這臺主機了,所以建議將主機名加進/etc/hosts中,避免訪問時用的域名和Shell提示符中的主機名不一致造成混淆。所以手工設定主機名,應該改的是另外的一個配置檔案(如/etc/sysconfig/network),修改了之後“最好”把/etc/hosts也對應修改一下。
三、磁碟掛載檔案
-
檔案位置
/etc/fstab
-
檔案內容
Linux系統下的/etc/fstab 檔案 包含了需要開機後自動掛載的檔案系統記錄,Linux系統啟動時將讀取這個檔案來自動掛載檔案系統。我們可以透過修改這個檔案將檔案系統設定為開機自動掛載。
UUID=64fc4e32-9cc9-4af9-8846-dc13865f770e / ext4 defaults 1 1 UUID=14c3958d-b0a9-41bd-a046-06e148013349 /boot ext4 defaults 1 2 UUID=15399f4c-8788-4348-b066-34179fe887cb 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 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 #自動掛載光碟機到/mnt/cdrom
-
檔案各列含意
-
第一列:Device,磁碟裝置檔案或該裝置的Label或UUID。可以使用
dumpe2label
命令檢視裝置標籤、UUID。或者使用簡單命令blkid
檢視UUID。注意 :使用裝置名稱(/dev/sda)來掛載分割槽時是被固定死的,一旦磁碟的插槽順序發生了變化,就會出現名稱不對應的問題。因為這個名稱是會改變的。不過使用label掛載就不用擔心插槽順序方面的問題。不過要隨時注意你的Label name。至於UUID,每個分割槽被格式化以後都會有一個UUID作為唯一的標識號,使用uuid掛載的話就不用擔心會發生錯亂的問題了
-
第二列:第二列:Mount point:裝置的掛載點,就是你要掛載到哪個目錄下
-
第三列:filesystem:磁碟檔案系統的格式,包括ext2、ext3、reiserfs、nfs、
iso9660
等 -
第四列:parameters:檔案系統的引數,一般設定為預設 :defaults
-
Async/sync | 設定是否同步方式執行,預設為async |
auto/noauto | 執行mount -a 命令時,是否主動掛載,預設為auto |
rw/ro | 是否以只讀/讀寫方式掛載 |
exec/noexec | 限制是否能夠進行“執行”操作 |
user/nouser | 是否允許使用者使用mount命令掛載 |
suid/nosuid | 是否允許suid存在 |
usquota | 啟動檔案系統支援磁碟配額 |
grpquota | 啟動檔案系統支援群組磁碟配額 |
default | 預設引數rw,suid,dev,exec,auto,nouser,async |
-第五列:能否被dump備份命令作用:dump是一個用來作為備份的命令。通常這個引數的值為0 或者1。0 代表不做dump備份,1 代表要每天進行dump備份,2 代表不定期進行dump操作
第六列:是否檢驗扇區:開機的過程中,系統預設會以fsck檢驗我們系統是否為完整(clean)。
0 不要檢驗,1 最早檢驗(一般根目錄會選擇最早檢驗),2 1級別檢驗完成後進行檢驗
四、開機自動執行命令檔案rc.local
-
檔案位置
/etc/rc.local
-
檔案屬性
在Centos7下,rc.local檔案,開機預設是不執行的。它是個軟連結
[root@data-1-1 ~]# ll /etc/rc.local lrwxrwxrwx. 1 root root 13 Apr 8 17:11 /etc/rc.local -> rc.d/rc.local
實際檔案不具備執行許可權,新增執行許可權.
[root@data-1-1 ~]# ll /etc/rc.d/rc.local -rw-r--r--. 1 root root 524 Jun 20 09:12 /etc/rc.d/rc.local [root@data-1-1 ~]# chmod +x /etc/rc.d/rc.local
-
開機自啟設定
systemctl start rc-local.service systemctl enable rc-local.service
-
檔案示例
#!/bin/sh # #This script will be executed *after* all the other init scripts. #You can put your own initialization stuff in here if you don't #want to do the full Sys V style init stuff. touch /var/lock/subsys/local #每次系統啟動時都會touch這個檔案,這個檔案的修改時間就是系統的啟動時間 /etc/rc.d/init.d/httpd start #apache服務就會在開機時自動啟動
五、執行級別
-
centos7的執行級別都定義在
/lib/systemd/sysem
下:ls -ltr /lib/systemd/system/runlevel*.target lrwxrwxrwx. 1 root root 17 Oct 25 23:46 /lib/systemd/system/runlevel2.target -> multi-user.target lrwxrwxrwx. 1 root root 13 Oct 25 23:46 /lib/systemd/system/runlevel1.target -> rescue.target lrwxrwxrwx. 1 root root 15 Oct 25 23:46 /lib/systemd/system/runlevel0.target -> poweroff.target lrwxrwxrwx. 1 root root 17 Oct 25 23:46 /lib/systemd/system/runlevel3.target -> multi-user.target lrwxrwxrwx. 1 root root 17 Oct 25 23:46 /lib/systemd/system/runlevel4.target -> multi-user.target lrwxrwxrwx. 1 root root 13 Oct 25 23:46 /lib/systemd/system/runlevel6.target -> reboot.target lrwxrwxrwx. 1 root root 16 Oct 25 23:46 /lib/systemd/system/runlevel5.target -> graphical.target
-
設定執行級別
systemctl get-default 獲得當前的執行級別 systemctl set-default multi-user.target 設定預設的執行級別為mulit-user systemctl isolate multi-user.target 在不重啟的情況下,切換到執行級別mulit-user下 systemctl isolate graphical.target 在不重啟的情況下,切換到圖形介面下
六、系統變數配置檔案
-
環境變數的分類
-
生效範圍分類
-
系統環境變數:公共的,對全部的使用者生效
-
使用者環境變數:使用者私有的,只對該使用者生效
-
生存週期分類
-
永久環境變數:在變數指令碼檔案中配置,
-
臨時環境變數:使用時在shell中臨時定義,退出shell後失效
-
-
檢視環境變數
env
檢視當前使用者全部的環境變數- ·
echo $變數名
檢視具體變數
-
常用環境變數
-
PATH
可執行程式的搜尋目錄,可執行程式包括Linux系統命令和使用者的應用程式。如果可執行程式的目錄不在PATH指定的目錄中,執行時需要指定目錄。-
PATH環境變數存放的是目錄列表,目錄之間用冒號:分隔,最後的圓點.表示當前目錄。
-
PATH預設包含了Linux系統命令所在的目錄(/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin),如果不包含這些目錄,Linux的常用命令也無法執行(要輸入絕對路徑才能執行)。
-
在使用者的.bash_profile檔案中,會對PATH進行擴充,如下:
export PATH=$PATH:$HOME/bin
-
如果PATH變數中沒有包含圓點.,執行當前目錄下的程式需要加./或使用絕對路徑。
-
-
LANG
LANG環境變數存放的是Linux系統的語言、地區、字符集,它不需要系統管理員手工設定,/etc/profile會呼叫/etc/profile.d/lang.sh指令碼完成對PATH的設定。CentOS7.x 字符集配置檔案在/etc/locale.conf檔案中cat /etc/locale.conf LANG="en_US.UTF-8"
-
HOSTNAME
伺服器主機名 -
SHELL
使用者當前 使用的Shell直譯器 -
HISTSIZE
儲存歷史命令的數目 -
USER
當前登入使用者名稱 -
HOME
當前登入使用者家目錄
-
-
設定環境變數
變數名='值' export 變數名 export 變數名='值' 如果環境變數的值沒有空格等特殊符號,可以不用單引號包含。 export ORACLE_HOME=/oracle/home export ORACLE_BASE=/oracle/base export ORACLE_SID=snorcl11g export NLS_LANG='Simplified Chinese_China.ZHS16GBK' export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:.
-
系統環境變數檔案的設定
-
在
/etc/profile
檔案中設定。使用者登入時執行/etc/profile檔案中設定系統的環境變數。但是,Linux不建議在/etc/profile檔案中設定系統環境變數。 -
在
/eetc/profile.d
目錄中增加環境變數指令碼檔案,這是Linux推薦的方法。/etc/profile在每次啟動時會執行/etc/profile.d下全部的指令碼檔案。/etc/profile.d比/etc/profile好維護,不想要什麼變數直接刪除/etc/profile.d下對應的 shell 指令碼即可。ls /etc/profile.d/ 256term.csh colorgrep.csh colorls.csh csh.local lang.sh less.sh which2.csh 256term.sh colorgrep.sh colorls.sh lang.csh less.csh sh.local which2.sh cat which2.sh # Initialization script for bash and sh # export AFS if you are in AFS environment alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
-
在
/etc/bashrc
檔案中設定。該檔案配置的環境變數將會影響全部使用者使用的bash shell。但是,Linux也不建議在/etc/bashrc檔案中設定系統環境變數。
-
-
使用者環境變數檔案設定
在使用者的主目錄,有幾個特別的檔案,用
ls .bash_*
檢視。.bash_profile
使用者登入時執行,可以用該檔案來配置專屬環境變數。(推薦首選).bashrc
當使用者登入時以及每次開啟新的Shell時該檔案都將被讀取,不推薦在裡面配置.bash_logout
當每次退出系統(退出bash shell)時執行該檔案。.bash_histort
儲存了當前使用者使用過的歷史命令
-
環境變數指令碼檔案執行順序
/etc/profile->/etc/profile.d->/etc/bashrc->使用者的.bash_profile->使用者的.bashrc 同名的環境變數,如果在多個指令碼中有配置,以最後執行的指令碼中的配置為準。
-
環境變數的生效
-
在Shell下,用export設定的環境變數對當前Shell立即生效,Shell退出後失效。
在指令碼檔案中設定的環境變數不會立即生效,退出Shell後重新登入時才生效,或者用source命令讓它立即生效,例如:
source /etc/profile
-
-
雖然設定環境變數的方法有多種,但是建議系統環境變數建議在/etc/profile.d目錄中配置,使用者環境變數在使用者的.bash_profile中配置,不建議在其它指令碼檔案中配置環境變,會增加運維的麻煩,容易出錯。
七、登入前、後提示資訊配置檔案
- 登入前資訊配置檔案
/etc/issue
,當一個網路使用者或透過串列埠登入系統上時,/etc/issue的檔案內容顯示在login提示符之前 - 登入後資訊配置檔案
/etc/motd
,使用者登入成功後,顯示在終端介面裡。
八、系統日誌檔案
-
核心及公共訊息日誌
/var/log/messages
-
計劃任務日誌
/var/log/cron
-
系統引導日誌
/var/log/dmesg
-
郵件系統日誌
/var/log/maillog
-
最近使用者登入事件
/var/log/lastlog
-
使用者登入、注消及系統開、關機事件
/var/log/wtmp
-
當前登入的每個使用者的詳細資訊
/var/lrun/utmp
-
與使用者驗證相關的安全性事件
/var/log/secure
-
日誌訊息級別
- 0 EMERG (緊急)會導致主機系統不可用的情況
- 1 ALERT (警告) 必須馬上採取措施解決問題
- 2 CRIT (嚴重) 比較嚴重的發問
- 3 ERR (錯誤) 執行出現錯誤
- 4 WARNING (提醒) 可能會影響系統功能的事件
- 5 NOTICE (注意) 不會影響系統但值得注意
- 6 INFO (資訊) 一般資訊
- 7 DEBUG (除錯) 程式或系統除錯資訊
九、系統硬體資訊檔案
-
cpu資訊檔案
/proc/cpuinfo
-
記憶體資訊檔案
/proc/meminfo
-
掛載資訊
/proc/mounts