重點:
下面這兩行要放在最外面的 CMakeLists.txt
中,這樣才能在build資料夾啟動ctest
1 | include(CTest) |
讓VSCode的Ctest可以下中斷點
參考:
https://stackoverflow.com/a/76447033/22299707
launch.json
1 | { |
參考:
https://github.com/esweet431/box2d-lite/blob/vs-launch/CMakePresets.json
下面這兩行要放在最外面的 CMakeLists.txt
中,這樣才能在build資料夾啟動ctest
1 | include(CTest) |
參考:
https://stackoverflow.com/a/76447033/22299707
launch.json
1 | { |
參考:
https://github.com/esweet431/box2d-lite/blob/vs-launch/CMakePresets.json
1 | char const* buffer; // const modifies char |
範例
1 | find_package(Threads REQUIRED) |
1 | include(GoogleTest) |
參考:
https://cmake.org/cmake/help/latest/module/FetchContent.html#integrating-with-find-package
https://cmake.org/cmake/help/v3.31/module/GoogleTest.html#command:gtest_add_tests
查詢AD server
文件SSSD
https://documentation.ubuntu.com/server/how-to/sssd/with-active-directory/#sssd-with-active-directory
echo %logonserver%
nslookup
範例:
Microsoft Windows [Version 10.0.19045.5011]
(c) Microsoft Corporation. All rights reserved.
C:\Users\2005013>echo %logonserver%
\IEDC022
C:\Users\2005013>nslookup \IEDC022
Server: DNS221.iead.local
Address: 192.168.16.44
Name: IEDC022.iead.local
Address: 192.168.16.32
C:\Users\2005013>
將 AD 的 DNS 伺服器地址添加到 nameserver,例如:
1 | nameserver <AD_DNS_SERVER_IP> |
範例
nameserver 192.168.11.32
search iiiid.local
GitHub Copilot: 在你的情境下,使用 SSSD 整合 Ubuntu Server 與 Windows Active Directory (AD) 是最適合的選擇。SSSD 提供了與 AD 的良好整合,並且支援 Linux 系統的身份驗證和授權,讓擁有 AD 帳號的用戶可以登入 Ubuntu Server。
以下是將 Ubuntu Server 加入 Windows AD 並允許 AD 用戶登入的基本步驟:
在 Ubuntu Server 上安裝 SSSD 和相關工具:
1 | sudo apt update |
AD 的身份驗證依賴正確的 DNS 設定,請確保 Ubuntu Server 能解析 AD 網域名稱:
1 | sudo nano /etc/resolv.conf |
將 AD 的 DNS 伺服器地址添加到 nameserver
,例如:
1 | nameserver <AD_DNS_SERVER_IP> |
使用 realm
工具將 Ubuntu Server 加入 AD 網域:
1 | sudo realm join --user=<AD_ADMIN_USERNAME> <AD_DOMAIN> |
系統會提示輸入 AD 管理員的密碼,成功後會自動配置 SSSD。
確認 Ubuntu Server 已成功加入 AD:
1 | realm list |
你應該能看到 AD 網域的相關資訊。
檢查或修改 SSSD 配置檔案 /etc/sssd/sssd.conf
,確保內容類似以下:
1 | [sssd] |
保存後,重啟 SSSD:
1 | sudo systemctl restart sssd |
嘗試使用 AD 用戶登入 Ubuntu Server:
1 | ssh <AD_USERNAME>@<UBUNTU_SERVER_IP> |
如果配置正確,AD 用戶應該能成功登入。
如果你希望只允許特定 AD 群組的用戶登入,可以在 /etc/sssd/sssd.conf
中添加:
1 | access_provider = ad |
重啟 SSSD 後,只有屬於該群組的用戶才能登入。
使用 SSSD 是將 Ubuntu Server 加入 Windows AD 的最佳方式,因為它提供了穩定、高效且靈活的身份驗證解決方案。完成上述配置後,AD 用戶即可使用其帳號登入 Ubuntu Server,並且可以根據需求進一步限制登入權限。
https://poweradm.com/join-ubuntu-debian-active-directory-domain/
git clone https://github.com/RidgeRun/gst-shark/
apt install octave epstool babeltrace gtk-doc-tools
apt install graphviz libgraphviz-dev
sudo apt install python3 python3-pip ninja-build
pip3 install –user meson
sudo cp ~/.local/bin/meson /usr/bin/meson
meson builddir –prefix /usr/
ninja -C builddir
ninja install -C builddir
ninja -C builddir
ninja install -C builddir
在deepstream使用gst-shark的時候會需要修改以下程式碼並且重新編譯,以免出錯
gst_shark_tracer_hook_pad_push_pre,要檢查GST_OBJECT_PARENT的結果是不是NULL,是就return,修改如下
1 | /* My hooks */ |
export GST_SHARK_LOCATION=/root/apps/iisi-ds64/iisi-ds63/my_exp/shark
export GST_DEBUG=”GST_TRACER:7”
export GST_TRACERS=”queuelevel”
cd gst-shark/scripts/graphics
./gstshark-plot /root/apps/iisi-ds64/iisi-ds63/my_exp/shark -p
./gstshark-plot /root/apps/iisi-ds64/iisi-ds63/my_exp/shark -s pdf
./gstshark-plot /root/apps/iisi-ds64/iisi-ds63/my_exp/shark -s png
git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git
cd gstreamer/
git checkout 1.20.3
pip3 install –user meson
meson setup builddir
ninja -C builddir
測試gst環境成功
https://www.collabora.com/news-and-blog/blog/2020/03/19/getting-started-with-gstreamer-gst-build/
1.在程式subprojects/gst-plugins-base/gst/videotestsrc/gstvideotestsrc.c
中加料
在gst_video_test_src_start()中加上,故意讓程式報錯跳出
1 | GST_ERROR_OBJECT (src, "Starting to debug videotestsrc, is there an error ?"); |
2.ninja -C build重新編譯程式,可以注意到這次編譯只會編譯被更新的檔案
3.執行GST_DEBUG=videotestsrc:1 gst-launch-1.0 videotestsrc num-buffers=1 ! fakevideosink,並出現錯誤,表示測試成功
1 | Setting pipeline to PAUSED ... |
使用gst環境(類似python的venv)
python3 gst-env.py
以下連結說明有更新的環境變數
https://gstreamer.freedesktop.org/documentation/installing/building-from-source-using-meson.html#how-does-it-work
此時許多環境變數被自動設置,包含pkg-config也被設置,可以用pkg-config –cflags gstreamer-1.0檢查gstreamer的路徑,如此一來讓cmake編譯也可以連結到自行編譯的程式,並且包含gdb下中斷點需要的資訊
把deepstream的gst-plugin的變數加進來,這樣才找的到deepstream的plugin
export GST_PLUGIN_PATH=/opt/nvidia/deepstream/deepstream/lib/gst-plugins:$GST_PLUGIN_PATH
gdb下中斷點
gst_element_factory_make
vscode要在debug的那一個terimal執行gst-env.py才能讓中斷點停在gstreamer的程式上面
安裝h264支援的時候如果找不到bzip2.dll,下載之後放到linphone的AppData的tool資料夾bzip2.exe旁邊
https://download.linphone.org/releases/windows/tools/bzip2/
ipmiutil
https://ipmiutil.sourceforge.net/
1 | ./ipmiutil.exe lan -r |
1 | ./ipmiutil.exe lan -e -I 192.168.1.100 -S 255.255.255.0 -G 192.168.1.1 |
ipmitool
安裝:
1 | sudo apt-get install ipmitool |
1 | ipmitool lan set 1 ipaddr |
1 | # 調整為全速模式 |
要在 Supermicro X12 主機板上使用 ipmitool 調整風扇轉速,您可以按照以下步驟進行:
安裝 ipmitool:
在您的管理主機上,確保已安裝 ipmitool。在基於 Debian 的系統上,您可以使用以下命令安裝:
1 | sudo apt-get install ipmitool |
在 CentOS 系統上,則使用:
1 | yum install ipmitool |
設置風扇控制模式為手動:
默認情況下,主機板可能處於自動風扇控制模式。為了手動調整風扇轉速,您需要將風扇模式設置為全速(Full Speed)模式,這樣可以防止自動調節覆蓋您的手動設置。使用以下命令:
1 | ipmitool -H <IPMI_IP地址> -U <用戶名> -P <密碼> raw 0x30 0x45 0x01 0x01 |
其中,<IPMI_IP地址>
、<用戶名>
和 <密碼>
分別替換為您的 IPMI 接口的實際 IP 地址、用戶名和密碼。此命令將風扇模式設置為全速運行。 citeturn0search8
手動設置風扇轉速:
您可以使用以下命令手動設置風扇轉速:
1 | ipmitool -H <IPMI_IP地址> -U <用戶名> -P <密碼> raw 0x30 0x70 0x66 0x01 <區域> <轉速百分比> |
其中,<區域>
參數決定了調整哪個風扇區域的轉速:
0x00
:系統區域風扇(通常為 CPU、GPU 等核心部件的風扇),對應風扇編號為 FAN1、FAN2 等。0x01
:周邊設備區域風扇(通常為磁盤等外圍設備的風扇),對應風扇編號為 FANA、FANB 等。<轉速百分比>
以十六進制表示風扇轉速的百分比,範圍從 0x01
(1%)到 0x64
(100%)。例如,設置系統區域風扇轉速為 36%(即 0x24
):
1 | ipmitool -H <IPMI_IP地址> -U <用戶名> -P <密碼> raw 0x30 0x70 0x66 0x01 0x00 0x24 |
請根據您的實際需求調整風扇轉速百分比。 citeturn0search8
調整風扇轉速閾值(可選):
如果您發現風扇轉速不穩定,可能是因為風扇轉速低於主機板設置的下限閾值,導致風扇強制以高轉速運行。您可以使用以下命令調整風扇的下限閾值:
1 | ipmitool -H <IPMI_IP地址> -U <用戶名> -P <密碼> sensor thresh <風扇編號> lower <LNC> <LC> <LNR> |
其中,<風扇編號>
為您要調整的風扇(如 FAN1),<LNC>
、<LC>
和 <LNR>
分別為下限非臨界值、下限臨界值和下限不可恢復值。例如,將 FAN1 的下限閾值設置為 100:
1 | ipmitool -H <IPMI_IP地址> -U <用戶名> -P <密碼> sensor thresh FAN1 lower 100 100 100 |
這樣可以防止風扇因低於閾值而導致的不穩定運行。 citeturn0search0
注意事項:
在進行上述操作時,請確保您具有管理員權限,並且已正確連接到主機板的 IPMI 接口。
調整風扇轉速時,請密切關注系統溫度,確保不會因過度降低風扇轉速而導致硬體過熱。
不同的 Supermicro 主機板型號可能存在差異,建議參考您的主機板使用手冊或官方文檔以獲取更多詳細資訊。