官方方法
修改/etc/docker/daemon.json加入下面設定
1 | { |
重新啟動docker service
1 | sudo systemctl stop docker.service |
確認路徑已經修改
1 | docker info | grep "Docker Root Dir" |
https://docs.docker.com/config/daemon/#daemon-data-directory
修改/etc/docker/daemon.json加入下面設定
1 | { |
重新啟動docker service
1 | sudo systemctl stop docker.service |
確認路徑已經修改
1 | docker info | grep "Docker Root Dir" |
https://docs.docker.com/config/daemon/#daemon-data-directory
這裡將介紹一個只需要使用SSH連線到一台可以連到對網網路的主機,就可以讓防火牆內的主機上網的方法
圖片說明
首先本機電腦和遠端電腦都必須有ssh server
首先在本機電腦ssh登入到遠端沒有外網的遠端電腦,然後在遠端電腦使用以下指令連回去本機電腦建立一條SOCKS5 proxy的通道。
1 | ssh -D 9050 -q -C -N local_username@192.168.50.1 |
https://superuser.com/questions/303251/how-to-check-if-a-socks5-proxy-works
在遠端電腦用以下指令可以檢查開通的port
1 | netstat -tlnp |
假設我們在9050port開SOCKS proxy,如果有成功開啟SOCKS proxy,應該會看到下面這行
1 | tcp 0 0 127.0.0.1:9050 0.0.0.0:* LISTEN |
https://blog.csdn.net/leishupei/article/details/120736869
sudo apt-get install proxychains4
1 | apt -o Acquire::http::Proxy="socks5h://127.0.0.1:9050" -o Acquire::https::Proxy="socks5h://127.0.0.1:9050" update |
https://feifei.tw/proxychains4/
sudo nano /etc/proxychains4.conf
proxy_dns 的功能不要關掉
設定檔位置
https://askubuntu.com/a/1477936
export DNS_SERVER=8.8.8.8
https://github.com/rofl0r/proxychains-ng/issues/178#issuecomment-347439800
proxychains4 sudo apt install zip
1 | sudo mkdir -p /etc/systemd/system/docker.service.d |
1 | [Service] |
1 | sudo systemctl daemon-reload |
https://docs.docker.com/engine/daemon/proxy/
https://markvanlent.dev/2022/05/10/pulling-docker-images-via-a-socks5-proxy/
使用keyword使得搜尋條件必須完全符合
1 | GET people-2023.04/_search |
1 | POST poc/_delete_by_query |
input, filter, 和 output,每個元素可能一個或多個
下面建立一個基本的pipeline,從stdin讀取資料,然後輸出到stdout。我們將建立一個first-pipeline.conf並且放在C:\ELK\logstash-7.17.3\logstash-7.17.3(與bin同一個資料夾)
1 | # The # character at the beginning of a line indicates a comment. Use |
打開powershell,利用以下指令檢查pipeline語法,注意要確認沒有任何錯誤,因為檢查程式如果找不到檔案位置最後也會顯示檢查OK。
我們在C:\ELK\logstash-7.17.3\logstash-7.17.3輸入以下指令bin/logstash -f first-pipeline1.conf --config.test_and_exit
輸出如下
1 | Using LS_JAVA_HOME defined java: C:\ELK\logstash-7.17.3\logstash-7.17.3\jdk\ |
檢查通過後我們用--config.reload.automatic選項重新載入設定檔,如此一來就不用一直重啟程式。在過程中你可能會看到忽略pipelines.yml的警告,因為我們已經在命令中明確指定要用的設定檔了,所以可以忽略這個警告,之後我們再學習使用pipelines.yml
bin/logstash -f first-pipeline.conf --config.reload.automatic
等到看到[main] Pipeline started {"pipeline.id"=>"main"}這個訊息後,我們可以直接輸入一些文字,按下enter,就可以看到輸入的文字被輸出到stdout了。
例如入Hello wordl後按下Enter,結果如下
1 | Hello World |
Grok Filter 外掛程式(Plugin)Grok是眾多logstash外掛程式的其中一個,這裡可以看到更多關於logstash的外掛程式。
grok filter plugin可以幫我們將沒有結構化的log轉化成結構化的log
以下範例是多個資料來源,分別來自twitter和firebeat,輸出也有多個,分別為elasticsearch和寫到檔案
1 | input { |
在input中我們可以加入input plugin,這裡我們使用rabbitmq plugin,先建立一個最簡單的範例並且將解析結果輸出到console。
在rabbitmq plugin中的說明文件有提到,預設的輸出是json codec
而設定rabbitmq的參數在這裡,我們會需要設定rabbitmq的連線資訊,範例如下。
1 | # The # character at the beginning of a line indicates a comment. Use |
有時候我們會需要依據事件中欄位的資料做一些處理,Field Reference可以幫助我們抽取事件中的欄位。以下事件為範例
,如果要取得第一階的欄位如agent, ip, request, response, ua,只需要一個[]就可以取得例如[request],如果是第二階欄位如os則要用[ua][os]
1 | { |
https://github.com/elastic/logstash/issues/10215#issuecomment-447912618
L4T已經預設有watchdog,可以透過下面指令測試,他預設的機制是如果有人讀取/dev/watchdog這個檔案,他就會開始倒數計時,如果有人寫入檔案,則timer重置,下面指令將會讓watchgod重啟系統。
1 | sudo tail -f /dev/watchdog |
如果要避免重啟就必須寫入/dev/watchdog檔。或是結束tail -f
https://forums.developer.nvidia.com/t/configuring-watchdog-timer-on-tx1/44361/2?u=jenhao
https://hackmd.io/@rhythm/HyOxzDkmD
https://www.airs.com/blog/archives/38
c語言中的static function在function被定義的檔案以外的scope是看不到的
表示必要的函式庫或是.o檔沒有被連接
nm指令確認函式確實存在.so檔裡面例如:nm -D libnvds_utils.so --defined-only的輸出如下,這個指令只會列出有對外開放的函式1 | 0000000000001470 T nvds_dependencies_version_print |
nm deepstream_source_bin.o --defined-only1 | 0000000000000000 b install_mux_eosmonitor_probe |
編譯過程中發現ld找不到某個函式庫例如/usr/bin/ld: cannot find -ljpeg,可以利用指令ld <函式庫> --verbose可以查看ld找了那些路徑,例如目前ld找不到-ljpeg可以利用ld -ljpeg --verbose,輸出如下
1 | ld: mode aarch64linux |
連接器指令放最後面
例如
1 | gcc -I/usr/local/include -o yaml_reader yaml_reader.c -L/usr/local/lib -lfyaml |
https://stackoverflow.com/questions/22426574/gcc-undefined-reference-to
https://stackoverflow.com/questions/16710047/usr-bin-ld-cannot-find-lnameofthelibrary
add_executable(…)內加入的cpp檔會被編譯,確認是否有將程式加入
遠端桌面
Nomachine
硬體狀態jtop
1 | sudo apt update |
關閉GUI節省GPU資源
1 | sudo init 3 #暫時關閉 |
1 | sudo init 5 #打開 |
1 | sudo systemctl set-default multi-user.target #關閉 |
1 | sudo systemctl set-default multi-user.target #打開 |
參考:
https://forum.nomachine.com/topic/problems-connecting-with-nomachine-in-pc-client-without-monitor