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

看板Linux作者 (39+遊戲慘業工作者)時間8年前 (2017/11/16 15:13), 8年前編輯推噓2(202)
留言4則, 2人參與, 8年前最新討論串1/1
各位好,目前我使用的環境是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個中任一個 [root@buildme 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--r-- 3 root root 240 Nov 16 15:11 /etc/sysconfig/networking/profiles/default/ifcfg-eth0 678526 4 -rw-r--r-- 3 root root 240 Nov 16 15:11 /etc/sysconfig/networking/devices/ifcfg-eth0 678526 4 -rw-r--r-- 3 root root 240 Nov 16 15:11 /etc/sysconfig/network-scripts/ifcfg-eth0 用sed 隨機改3個中任一個 [root@buildme 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" || STRING="s/ONBOOT=no/ONBOOT=yes/g"; sed -i -e ${STRING} ${FILE}; find /etc/sysconfig -type f -name "ifcfg-eth0" -ls 678526 4 -rw-r--r-- 1 root root 240 Nov 16 15:11 /etc/sysconfig/networking/profiles/default/ifcfg-eth0 678530 4 -rw-r--r-- 1 root root 240 Nov 16 15:12 /etc/sysconfig/networking/devices/ifcfg-eth0 678529 4 -rw-r--r-- 1 root root 241 Nov 16 15:13 /etc/sysconfig/network-scripts/ifcfg-eth0 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 133.130.124.49 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1510816423.A.F72.html

11/16 15:22, 8年前 , 1F
你有沒有注意到 他們一開始inode number都一樣 ref count
11/16 15:22, 1F

11/16 15:22, 8年前 , 2F
都是3 所以是hard link 然後 sed 會破壞hard/soft link
11/16 15:22, 2F

11/16 15:23, 8年前 , 3F
因為sed的實作是 先寫到暫存 然後覆蓋原始檔案
11/16 15:23, 3F
謝謝你的說明 ※ 編輯: fishtw (133.130.124.49), 11/16/2017 16:58:36

11/19 17:08, 8年前 , 4F
推高手
11/19 17:08, 4F
文章代碼(AID): #1Q3Jgdzo (Linux)
文章代碼(AID): #1Q3Jgdzo (Linux)