SmartGit令人驚豔的LFS鎖定功能

我用過幾種GIT客戶端程式, 從tortoiseGit, GitEye, gitkraken,SourceTree,GitHub Desktop, 都長期用過, 但老實說我只用基本功能,因此看不出來差異在哪, 也不在意哪種用戶端程式好或不好.

直到最近,公司有個需求,要版控"機構部門的圖檔",這原本是PLM宏大系統的功能(整合ERP,文件管制), 但…廠商報價後,就GG了.

於是我想自己找解決方案, 能滿足版控, 又要能滿足檔案鎖定功能, 也參考過網路力推,能管控圖檔的 https://www.perforce.com,

perforce 能版控,也能鎖檔案, 甚至細心列出git,svn,與自身產品的差異(當然是老王賣瓜了)
https://www.perforce.com/blog/vcs/git-vs-svn-what-difference
如果有預算, 我也建議圖檔管控應當要用perforce.

但我個人還是想要用git這個比較熟悉,簡單,無複雜系統的工具.
那問題來了,雖說git的LFS可以進行大檔案版本控管與鎖定,但客戶端工具程式還沒找到好用上手的,

直到SmartGit(20.1版以上)現世,這工具能針對檔案進行直覺的"鎖定", 就好像用檔案總管一樣,能讓麻瓜容易上手.
雖說tortoiseGit也可以在客戶端就鎖定檔案,但整合度實在差太多了, 很不推薦.

Git檔案被william鎖定了

不囉唆,寫心得

  • 確認Git伺服器是否援Git LFS 2.0
    我使用的gitblit 1.9.3 雖然支援LFS,但不是LFS 2.0就無法鎖定檔案,
    慘阿,只好先用吉茶測試
  • 建立/克隆專案Repository,並且確認那些要進行LFS管控
#執行cmd, 到專案Repository目錄執行
git lfs install
git lfs locks --local
git lfs locks --verify
## 設定那些檔案需要進行LFS管控
git lfs track *.exe --lockable
git lfs track *.zip --lockable
...
若執行 git lfs locks --verify 出現錯誤, 有可能是Git伺服器不支援LFS鎖定功能
  • 修改專案Repository設定
#修改.git\config 以下設定若沒有就自行新增
[lfs "https://server/repo.git/info/lfs"]
    ...
    locksVerify = true
#"https://server/repo.git/info/lfs" 為 remote URL,加上/info/lfs
  • 專案啟用LFS檔案鎖定功能
SmartGit->Edit->Preference->Low-level Properties
設定 
status.lfs.locks = true

#也可以設定定期檢查其他人是否有鎖定檔案的時間(預設30分太久了)
backgroup.fetch.delay = 600
#改成每5分鐘查看一次
  • SmartGit背景檢查並且更新LFS最新狀態
SmartGit->Edit->Preference->Backgroup Command->detect remote changes
設定
當專案Repository沒使用的時候, 或是已設定我的最愛的專案Repository 需要定期檢查LFS狀態

#若沒有設定,則不會自動更新狀態, 會無法得知其他人是否鎖定檔案

SmartGit 一套單機版最便宜約100美金左右

關於回收,撤銷,與延遲發信

聽縮Micro$oft exchange server有個特異功能, 能回收或撤銷信件, 但是其它mail server 並沒有阿, 而且麻瓜都以為用了outlook就好像吃了大補丸一樣, 自動就有回收功能, 真的很難解釋.

在這邊推薦大家收發信用免費的 thunderbird , 然後加裝"延遲發信"外掛 , 就可以讓信件等等再發出去, 解決麻瓜常常沒搞清楚就把信寄出去了.

https://addons.thunderbird.net/zh-tw/thunderbird/addon/send-later-3/?src=search

Proxmox VE安裝免費網域主控站Turnkey Domain Controller

微軟的網域主控站超級好用, 很適合用來管理, 甚至交給非IT人員,如管理部同仁協助作業

網域主控好用,若只用來群組權限控管, 帳號密碼控管, 建議安裝免費的網域管理伺服器Turnkey Domain Controller就好了.

另外, 像我使用自製的容器郵件伺服器(docker-postfix-ad) ,須綁定微軟網域伺服器認證 ,也很適合安裝Turnkey Domain Controller.

TurnkeyLinux 有一大堆免費的軟體, 且支援Proxmox VE , 有vm版本, lxc版本,及vmware版, 琳瑯滿目.

安裝Turnkey Domain Controller 相當簡單,只要下載iso檔案,安裝成一個vm就好了, 當然也有lxc版本,但我並沒有測試過.
詳細請參閱 https://www.youtube.com/watch?v=PMUUuXmtFc8
安裝完畢, 用我筆電的RSAT工具, 就能管理網域主控站了

以下為安裝之後, 要注意的部分

  • 設定ip
    安裝完畢, 因為沒有設定ip, 所以無法使用瀏覽器登入, 請輸入指令 confconsole, 並且設定ip
  • 設定完IP, 使用瀏覽器登入
    http://ip
    登入後點選"Samba conf via Webmin(login first)
  • 入Webmin, 需先開放網路介面接聽功能, 否則電腦無法加入網域
    Servers -> Samba Windows File Sharing -> Unix Networking
  • 將Network interfaces 改為 Automatic
    *Automatic
  • 修改後要重啟samba server
    Restart Samba Servers
  • 修改要加入網域之電腦dns ,
    第一dns請改成 Turnkey Domain Controller 的IP
    第二dns必須設定, 輸入1.1.1.1 這類可查詢的dns server , 因Turnkey Domain Controller預設沒有dns server, 所以無法正常解析.

電腦dns設定正確, 就能成功找到網域主控站, 並且加入囉

目前安裝版本為 16.2 , 樹系2008R2, 經測試win11 22h2無法加網域, 將在17.0 樹系2012R2獲得解決.

win10/11 專業版安裝 RSAT 微軟遠端伺服器管理工具

  • 應用程式->選用功能->檢視功能

  • 輸入rsat , 並且安裝 RSAT: Active Directory Domain Service和輕量型目錄服務工具

  • 開始安裝, 安裝完畢重開機

  • 以管理者身分(Run as Administrator)執行終端機 , 或是 powershell, 輸入
#runas /netonly /user:<網域>\administrator "mmc /server=<網域主機ip>"
#範例
runas /netonly /user:kafeiou\administrator "mmc /server=10.192.130.226"
  • 接下來就會跑出一個mmc程式, 裡面是空的, 請自己加上Active Diredctory使用者和電腦 , 就可以使用了



Linux 掛載nfs , cifs (smb) 讓 restic 備份, 遇到備份效率緩慢問題

我已經使用 restic 做離線備份半年了 , 效果還不錯, 但是遇到掛載nfs的資料, 效率就有點差了,
當然備份效率差的原因之一, 是我暴力備份docker or podman 裡面storage 資料, 那邊檔案超級多, 又是透過 nfs 方式備份, 就算restic 每次只做差異性, 還是很慢.

後來想想, 我的虛擬伺服器 proxmox ve 也有遇到掛載nfs效率問題, 解法就是使用soft link, 所以自己使用mount指令掛載nfs應該也是可以改用soft方式, 以下列出一些心得

  • cifs 掛載可用cache=loose
mount -t cifs -o username=xxx,password=xxx,domain=yyy,ro,cache=loose  ...
  • nfs 可用soft
mount -t nfs -o ro,soft ...
#查看
nfsstat -m

win7,win2008 , outlook 2010支援TLS 1.1 TLS 1.2連線

最近升級mail server , 也停用了 TLS 1.0 , TLS 1.1 , 同時也引發win7,windows 2008, office 2010不支援問題,因此需要手動升級.

以上兩步驟, 就可以讓outlook 2010支援新版連線了.
詳請參考以下文章

https://support.microsoft.com/en-us/topic/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-winhttp-in-windows-c4bd73d2-31d7-761e-0178-11268bb10392

python起手式,建立python虛擬環境

網管人員學python, 看到虛擬環境,第六感覺得這很重要

  1. 安裝python
    https://www.python.org/downloads/
    ps. windows安裝,記得要把python程式路徑加到PATH的選項打勾
  1. 安裝virtualenv建立虛擬環境程式
windows:
  pip3 install virtualenv
linux:
  sudo pip3 install virtualenv
  or
  sudo apt install python3-virtualenv
  1. 使用virtualenv建立虛擬環境
virtualenv -p <python程式位置>  <虛擬環境名稱>
or 
sudo -p <python程式位置>  <虛擬環境名稱>

#範例
windows :
  virtualenv -p C:\Users\x\AppData\Local\Programs\Python\Python310\python.exe my-env
linux:
  sudo virtualenv -p /usr/bin/python3 my-env
  1. 進入虛擬環境

    Windows:
    .\xxx\Scripts\activate.bat

Linux:
source ./xxx/bin/activate

william@william-Inspiron-3891:~$ source ./my-env/bin/activate
(my-env) william@william-Inspiron-3891:~$ 

outlook 使用ldap通訊錄出現亂碼

對舊時代麻瓜來說(舊麻瓜), 收發信軟體就只有 m$ 的outlook , 因公司ldap通訊錄橫跨三個不同語系,三個不同網域服務器, 導致outook 2013,2016,2019 , 使用ldap 通訊錄的時候, 台灣舊麻瓜查看簡體,越南文, 會出現亂碼, 當然中國舊麻瓜看繁體,越南文也一樣會出現亂碼

後來google一下, 發現windows 10, windows 11的語言與地區, 可以點選Beta,使用UTF8提供全球語言支援, 解決問題

解決方法如圖示

重開機之後, 就不會有亂碼了

1 2 3 ... 6