2023年5月30日 星期二

以 mklink 指令建立 Hard link, Junction, 或 Symbolic Link

現在使用的 Windows11 版本,不知為何無法安裝以前常用的圖形化工具:Link Shell Extension ,只好回來使用微軟內建的 mklink 指令。


官方的指令說明寫得不清不楚:

建立符號連結。

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      建立目錄符號連結。預設是檔案符號連結。
        /H      建立永久連結而不是符號連結。
        /J      建立目錄連接。
        Link    指定新符號連結名稱。
        Target  指定新連結參照的路徑 (相對或絕對)。


這樣寫太過語焉不詳,實際上這個指令的效果是:
  • 不加選項: 用於建立檔案的 Symbolic Link.
  • /D選項: 用於建立目錄的 Symbolic Link.
  • /H選項: 用於建立檔案的 Hardlink.
  • /J選項: 用於建立目錄的 Junction.

Hardlink, Junction, 與 Symbolic Link 都是連接到儲存裝置上面,實際資料的額外連結方式,類似捷徑但功能更完整,比如說可以複製移動。

Hardlink 是直接多一個分身但指向同一實體,會被視為獨立存在,可以改名字任意搬移或是刪除,不影響其他分身。直到刪掉最後一個分身,就等於全部整個刪除了。這很方便,但因為Hard Link指向的是每個NTFS磁碟區獨佔的檔案配置資訊,所以Hard Link無法跨磁碟區跟檔案系統。也就是說C槽資料只能增加Hardlink在C槽,不能在D槽。

相對於 Hardlink,Junction 與 Symbolic Link 屬於 Soft link,比較有彈性可以跨磁區,有點像捷徑,主體[標的]不能改名,刪除或移動[連結]時,[標的]不受影響。
Junction 的連結與標的只能是資料夾,必需是本機的本地檔案系統,且會儲存絕對路徑,主體搬家分身就失效。
Symbolic Link 的連結與標的可以是檔案或資料夾,可以在本機也可以在網路其他地方,可以儲存相對路徑,主體搬家分身可以不失效。可以視為 Junction 的進階版本,唯一缺點是建立時必須有管理員權限。


以上總結下來,日常主要以 Symbolic Link 為主,具體使用方式:

建立 [D:\Temp] 連結目錄,指向本機不同磁碟 [C:\Users\Tony\AppData\Local\Temp]
mklink /d D:\temp C:\Users\Tony\AppData\Local\Temp

建立 [D:\filelog.bak] 連結檔,指向網路位置檔案 [\\192.168.1.100\system.log]
mklink D:\filelog.bak \\192.168.1.100\system.log

做好的 Symbolic Link 要搬移、改名、刪除都可以任意處理。

2023年5月23日 星期二

虛擬私人網路埠號 VPN Port Numbers

VPN 要通必須要開放下列幾個 TCP/IP Port:
  • PPTP的運作需要使用 TCP Port 1723 及 IP Protocol GRE(47)
  • L2TP/IPsec的運作需要使用 UDP Port 500、UDP Port 4500及IP Protocol ESP(50)
  • OpenVPN的運作需要使用 UDP Port 1194
  • WebVPN的運作需要使用 TCP Port 443

2023年5月8日 星期一

解決 Box 雲端空間 與 群暉 Synology NAS CloudSync 403 Forbidden Error 同步授權失敗問題

四月份開始, Synology NAS (網路存伺服器) 就開始無法同步 Box 雲端空間,連線進去 NAS 開啟 CloudSync 功能一看,原來是需要重新授權,但怎麼按它都出現 403 Forbidden Error ,網路上搜尋一番,所幸有大神找出解決方案,翻譯節錄於下。
  1. 以 Chrome 瀏覽器進入NAS介面,然後開啟 CloudSync。
  2. 按 + 按鈕增加新連線。
  3. 選擇 Box 然後下一步。
  4. 跳出授權視窗顯示「403 Forbidden Error」。
  5. 複製完整網址。
  6. 按滑鼠右鍵選檢查,或按 Ctrl-Shift-I,開啟開發者工具。
  7. 切換到主控台(Console)分頁。
  8. 貼上「self.location = "」,先不要送出。
  9. 貼上第五步驟複製的網址。
  10. 找到網址最後面的「http://x.x.x.x:5000」或「https://x.x.x.x:5001」,把:冒號改成%3A,斜線/改成%2F,變成「http%3A%2F%2Fx.x.x.x:5000」或「https%3A%2F%2Fx.x.x.x:5001」。
  11. 輸入結尾的「"」。
  12. 按Enter送出。
  13. 這樣就會順利跳出 Box 雲端空間授權畫面了。
暫時解決多日的麻煩,靜待二方找出官方更新方案。

2023年5月1日 星期一

修改你的付款資料以購買/訂閱不同國家的軟體/服務 Manage your Google payments profile to buy/subscribe app/service from a different country

不論是搬到不同國家或是單純想要體驗,當我們需要購買或訂閱地區限定的軟體/服務時,Google帳號中需要有當地的付款資料(payments profile)。

參考設定多筆付款資料的官方教學,登入帳戶,前往付款設定頁面,在付款資料的國家/地區旁邊按鉛筆圖案按鈕修改,新建不同國家的付款方式。



完成後畫面右上角就會出現下拉切換選單按鈕,這時再次操作就能順利找到/購買/訂閱了。


這個步驟在進行跨地區遊戲/App/書籍購買,或是 Youtube Premium 、 Google One 服務訂閱,是非常重要的前置作業,不要再傻傻地建立多個帳號來專用了。