想徹底同步兩部linux, 直接同步root有無問題?

我有兩部notebook放係不同地方, 每日兩部電腦都會用

希望兩部notebook可以完全同步, 即係我係其中一部電腦做update, upgrade, 加減file, 改setting, 可以完全反映係另一部電腦上面

我初步計劃咁樣實作, 先在A電腦裝好linux同syncthing, 然後將 / 加落去syncthing, 最後用clonezilla clone落去B電腦.

請問咁做會否出現一些我想像唔到的潛在問題?
我暫時諗到可能會出現的問題有以下幾點:
1. 懷疑唔係所有file都可以同步, 以我的windows經驗, 開住機係無辦法backup所有file的, 只有關機後再用另一隻碟開機先有可能完整backup, 唔知linux是否先進一點, 唔會有這問題?
2. 可能filesystem有D野係無辦法同步, 我會咁懷疑, 係因為如果無問題, 就唔會有partclone依樣野了
3. 兩部完全一模一樣的電腦, 連syncthing的設定都完全一樣, 難道唔會出現不確定行為嗎? 我預計會加一隻中央的syncthing作為中介server同步AB兩部機, 但諗唔到方法去測試可靠性.

本帖最後由 Kin_2012 於 2026-10-7 20:22 編輯
我有兩部notebook放係不同地方, 每日兩部電腦都會用

希望兩部notebook可以完全同步, 即係我係其中一部電腦 ...
3ldk 發表於 2026-10-7 15:17


完全同步係cluster 的概念。

聽你講的應用其實無需要, 成本高效益低。

簡單少少, 先分開 SYSTEM 同 DATA。

要統一 system update / upgrade 根本唔需要係 filesystem 層面做 sync。

TOP

root用手動同步算喇(rsync)

TOP

本帖最後由 godofcomputer 於 2026-10-8 10:29 編輯

幫你問咗AI:可行方案:分開「系統」同「資料」根本問題係:兩部同時使用嘅電腦,系統狀態唔可能用 file sync 收斂到一致。 正確做法係:
系統層——用「宣告式」重現,唔好同步:
  • 兩部機各自裝同一個 distro
  • 每晚 apt-mark showmanual > packages.txt,commit 落 git(放你部中央 server)
  • 另一部機用 systemd timer 或 cron 自動 apt install 清單上缺少嘅嘢、upgrade 到一致
  • /etc 用 etckeeper(git-based)追蹤改動,有意識咁 merge,而唔係盲目覆蓋
  • 進階做法:用 Ansible 管理兩部機,或者索性用 NixOS——一份 configuration.nix 同步兩邊,nixos-rebuild 之後兩部機系統層完全一致,呢個係你最接近「完全同步」嘅正路
資料層——先係 Syncthing 嘅本業:
  • 同步 /home 入面嘅文件、dotfiles、項目目錄
  • 排除 .cache、垃圾桶、同埋瀏覽器 profile(Firefox/Chrome profile 用 SQLite,兩部機同時開同一個 browser 係 Syncthing 圈出名嘅資料庫腐爛陷阱)
  • 中央 server 做 always-on 第三節點係好主意——佢確保你唔使兩部機同時在線先 sync 到
紀律(唔靠工具,靠習慣):
  • 升級、改系統設定只做喺一部機做,等佢經 git/packages.txt 傳播過去
  • 唔好兩部機同時開同一套有狀態嘅 app
點樣測試可靠性你話諗唔到方法測試——其實有:開兩個 VM 模擬 A/B 機,用 systemd-networkd 或 tc 人為整斷線、整延遲,然後喺斷線期間兩邊同時改同一啲 file,睇衝突點樣呈現。但你會發現,就算係只 sync /home,測試結果都會話俾你知衝突處理係幾咁麻煩——呢個正正係點解唔應該 sync /。
一句到尾:Syncthing 管資料,git/apt(或 NixOS)管系統,Clonezilla 只係初次安裝同災難復原用。 咁樣你就可以達到你想像中 95% 嘅「兩部機完全一樣」,而且唔會有一朝起身發現其中一部機 boot 唔起嘅風險。

TOP

Use Lsyncd to autosync two directories  (https://github.com/lsyncd/lsyncd)

TOP

NixOS 可能啱你玩
一部機試好咗新嘢之後抄去另一部機 nixos-rebuild

TOP

本帖最後由 pipikeung 於 2026-10-12 11:25 編輯

不久前在「HKEPC」發佈了「測試」NixOS,有興趣可以「睇睇」﹗
https://www.hkepc.com/forum/view ... &extra=page%3D2

需然「NixOS」可以在別的「機器」中「重生」,但每次都要「rebuilt」,「樓主」要求是「立刻同步」,所以未必能滿足要求。

如上面各「師兄」所述,應該分開「系統」及「資料」分別處理,比較「實切」。但實切操作時有很多方面並不「容易」處理,當兩架機器「同時使用」,兩台電腦都各有「出海IP」,並不是相互為「內聯網」中的「機器」,當「斷網」或「網絡延遲」(特別是兩部電腦各自使用不同的ISP)發生時,要如何處理「即是同步」?

TOP

System / OS 層面,無可能「同步」,IP address 唔會一樣,Hardware UUID,例如 MAC address, storage UUID 唔會一樣,host key 唔會一樣,可以有 High Availability (HA) cluster,但其實每個 node 都唔會係一模一樣!只係 user files,或者 VM,你可以有 copies,即係 clone。但係都唔可以同時間係兩個 nodes 都行個 VM!User files,如果係單方向,software 方法,用 rsync。高檔 Enterprise storage, 可以有 Mirroring,local mirroring (RAID 1),或者 remote mirroring (會有 latency,睇下你條 WAN link 有幾多 bandwidth 同行幾遠)。
總之,諗清楚你想做乜嘢?點解要同步,為咗乜嘢目標?盲抄多數都唔會係解決方案!

TOP

我人就只有一個, 不可能同時去兩個地方開機, 所以先天就不存在衝突問題, 就算真係有衝突, 我只要最新的日期, 所以非常好解決

我話唔知點測試可靠性, 唔係怕佢有衝突, 而係怕日常同步之中, 因一些我預想不到的原因, 從而delete左一D我無法即時察覺的file, 我諗唔到點樣去驗証依個狀況無出現過, 而且萬一真係出現左, 可能都要過左一段時間之後先知, 咁就更難補救

有人話用packages.txt, 可惜pacman無依個功能, 要實作類似功能比較複雜

然後依段時間稍為研究左一下Ansible同nix, 發現實務上唔太可行
首先世上的軟件成千上萬, 而每個軟件入面的setting可以有幾十至幾百, 網上無可能有齊依D setting, 特別係一D小軟件入面的瑣碎設定

我隨便舉幾個例子
第一個, 大眾小軟件Mousepad, Document > Word Wrap, set to on
第二個, 小眾小軟件Okteta, Settings > Show Toolbar, set to off
第三個, 系統設定xfce的Mouse and Touchpad, Devices > Buttons > Reverse scroll direction, set to on

用來改依D setting的Ansible nix config目前網上係搵唔到的, 最少我係5分鐘內無辦法快速搵到, 如果你話比D耐心, 花多D時間搵或自己寫最後一定有的話, 依個正正就係我話唔work的原因, 正常人日常用電腦閒閒地每日改幾個setting唔出奇, 假如改一個要10幾分鐘的話, 每日可能一個鐘就無左, 咁既成本太高, 還不如我改完用紙筆記得, 去到另一部電腦時再手動改.

用etckeeper亦有問題, 因為config唔係淨係etc先有, var, usr, opt都有機會出現config file, 依度我想表達的是, 針對不同類型的data同時混合多個方案, 必定有遺漏, 方案永遠係越簡單越可靠

最後係hardware id問題, 依個其實唔係問題, 因為依類型file其實係以block file形式出現, 唔係真係有個file在harddisk入面, 哪怕係用clonezilla clone出來的兩部機, 開機之後都係唔一樣的, 最典型的例子就係mac address


至於我的目的, 其實從一開始就講左, 可能表達得唔夠清楚, 簡單地講, 就係想將兩部電腦當成一部電腦來用, 你可以想像成我原本有一部cloud pc, 無論去到邊, 我都係remote去同一部機來使用, 但而家我想放棄remote, 只靠同步來達到相同效果


syncthing已經確定行唔通, 因為兩部機的syncthing id係一樣的話會有問題, 接下來我預計的測試方向將會係set一隻file server, A電腦關機前先用Unison sync去依個中間server, 在B電腦開機後馬上同中間server sync一次再開始用, B電腦去A電腦都係一樣流程. 至於點解用Unison而非rsync, 係因為Unison可以雙向, 而rsync只能單向

我亦想到一個新的潛在問題, linux在關機時可能會將ram入面的config寫入harddisk, 可能會將另一部機改過的設定覆蓋, 暫時推測是小問題, 可能有小量設定需要兩部機都改一次

TOP

我人就只有一個, 不可能同時去兩個地方開機, 所以先天就不存在衝突問題, 就算真係有衝突, 我只要最新的日期 ...
3ldk 發表於 2026-10-21 16:06



    咁你不如將個 Linux 裝落隻 external SSD,去到邊都 boot from 佢咪搞掂

TOP