[問題] CentOS 3個ifcfg-eth* 同步的機制?

作者: fishtw (遊戲慘業工作者)   2017-11-16 15:13:40
各位好,目前我使用的環境是CentOS release 6.9 (Final)
系統上目前有3個ifcfg-eth0
分別是
/etc/sysconfig/networking/profiles/default/ifcfg-eth0
/etc/sysconfig/networking/devices/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0
前兩檔案主要是源自system-config-network
現在發現我若是透過system-config-network 或是 用vim去修改3個中任一設定
回到shell以後3個檔案都會被同步成相同的內容
若是用sed去變更,則3個就不會再被同步
請問這中間同步的機制是怎麼運作呢??
用vim 隨機改3個中任一個
[[email protected] etc]# FILE=$(find /etc/sysconfig -type f -name "ifcfg-eth0" |
shuf -n 1); grep -q ONBOOT=yes ${FILE} &&
STRING="%s/ONBOOT=yes/ONBOOT=no/g|wq" ||
STRING="%s/ONBOOT=no/ONBOOT=yes/g|wq"; vim -c ${STRING} ${FILE}; find
/etc/sysconfig -type f -name "ifcfg-eth0"
-ls
678526 4 -rw-r
作者: galic (嘎利)   2017-11-16 15:22:00
你有沒有注意到 他們一開始inode number都一樣 ref count都是3 所以是hard link 然後 sed 會破壞hard/soft link因為sed的實作是 先寫到暫存 然後覆蓋原始檔案
作者: jamselee (jamselee)   2017-11-19 17:08:00
推高手

Links booklink

Contact Us: admin [ a t ] ucptt.com