CURL 於 CLI 顯示 TCP、SSL 的連線時間

Linux 於 CLI 使用 CURL 想要測試看看網站的詳細連線速度,要怎麼做呢?

註:此篇「httpstat 分析 從 DNS查詢 到 下載完成各個階段的處理時間」也是使用 CURL 類似做法達成的,此篇是更簡化的版本。

閱讀全文〈CURL 於 CLI 顯示 TCP、SSL 的連線時間〉

Linux Kernel 4.8 dmesg 讀取操作不被允許的解法

Debian stretch 目前的 Linux kernel 是 4.8 版,user 直接執行 dmesg 已經不被允許,會有下述訊息:

dmesg: read kernel buffer failed: 此項操作並不被允許

需要 root 或使用 sudo 才能讀取,例如:

  • sudo dmesg
  • sudo dmesg -T
  • 註:話說 /var/log/dmesg 一般 user 也不能讀取就是了

想要讓一般 user 可以正常執行 dmesg,可於 sysctl 設定下述參數即可:

  • kernel.dmesg_restrict = 0

註:0 是一般 user 可以直接使用,1 是一般 user 不允許操作

設定步驟

  1. vim /etc/sysctl.conf # 加入下述
    kernel.dmesg_restrict = 0
  2. sudo sysctl -p

詳見:Kernel.txt,下述摘錄自此篇:

dmesg_restrict:

This toggle indicates whether unprivileged users are prevented from using dmesg(8) to view messages from the kernel's log buffer.
When dmesg_restrict is set to (0) there are no restrictions. When dmesg_restrict is set set to (1), users must have CAP_SYSLOG to use dmesg(8).

The kernel config option CONFIG_SECURITY_DMESG_RESTRICT sets the default value of dmesg_restrict.

Apache2 抓取 Load Balancer Client IP 的設定

Apache2 前面加上 Load Balancer (F5 Big IP LTM),走得就類似 Reverse Proxy 的模式,會由 F5 將 X-Forwarded-For 轉送到 Apache,要怎麼設定格式才能跟原始 combined 一樣呢?

閱讀全文〈Apache2 抓取 Load Balancer Client IP 的設定〉

Linux 快速清除「檔案數量太多」的速度比較

目錄裡面的檔案太多,要砍掉會遇到下述問題:

  • rm -f *
    -bash: /bin/rm: Argument list too long

這個問題此篇已經有解法:檔案數太多砍不掉該怎麼辦

不過還是要砍很久,要怎麼辦呢?(通常遇到這種時,都要砍個半天以上)

閱讀全文〈Linux 快速清除「檔案數量太多」的速度比較〉

使用 pidof 找出此程式的所有 process id

平常若要找出 Apache2 的所有 process id,會搭配 awk 來使用,如下範例:

  • ps aux | grep apache2 | awk '{print $2}'

但是這個 pid 列表常常會包含 grep 的 pid。

使用 pidof 就不會有這個困擾囉~

閱讀全文〈使用 pidof 找出此程式的所有 process id〉

Debian Linux iptables 儲存、還原、自動啟動設定

Debian Linux 使用 iptables 設定防火牆、要怎麼將設定值儲存(備份)、還原,於開機啟動時自動載入?

閱讀全文〈Debian Linux iptables 儲存、還原、自動啟動設定〉

tail 遠端多台機器 Log 檔的工具

遠端機器很多,或者機器有多台,但是想要將 Log 檔靠 tail 一起持續觀看(ex: 看每台的 syslog.. 等),可以使用下述程式:

  • monkeytail - tail variant designed for web developers monitoring logfiles

閱讀全文〈tail 遠端多台機器 Log 檔的工具〉