揮発性のメモ2

知識をメモ書きしておく

MBR形式とGPT形式


www.datasmart.co.jp
jp.easeus.com

MBR形式 GPT形式
パーティション sda1~sda4がプライマリ、sda5~sda15が拡張、って感じ 128個くらい
ディスクサイズ 2TBまで 無限
パーティションテーブルの耐障害性 パーティションテーブルが死んだら死 CRC32ついてるしバックアップもあるからちょっと強い
起動 BIOS UEFI

viで、挿入モードでカーソルキーを使用できるようにする

互換モードをオフにする

~/.vimrc

" 互換モードオフ(カーソルキーを使用可能に)
set nocompatible

この状態でやっぱり vi を使いたくなったら -C を付けることで強制的に互換モードで起動できる


zeroringo.hateblo.jp
man.archlinux.org

socatで、SCTPの送受信をする

socatでもSCTPでエコーサーバーの実験くらいはできる
やり方はTCPのときと同じ

サーバ側

socat -v SCTP-LISTEN:25000,reuseaddr,fork EXEC:cat

クライアント側

socat -v STDIN SCTP:localhost:25000

マルチホーミングとかマルチストリームとかは知らない。どうせ誰も使ってない

Chronyで、時計があってるか確認する

chronyc tracking というコマンドで確認できる。status を見てNormalなら時計があってる

あってないとき
# chronyc tracking
Reference ID    : 00000000 ()
Stratum         : 0
Ref time (UTC)  : Thu Jan 01 00:00:00 1970
System time     : 0.000000008 seconds fast of NTP time
Last offset     : +0.000000000 seconds
RMS offset      : 0.000000000 seconds
Frequency       : 2.393 ppm fast
Residual freq   : +0.000 ppm
Skew            : 0.000 ppm
Root delay      : 1.000000000 seconds
Root dispersion : 1.000000000 seconds
Update interval : 0.0 seconds
Leap status     : Not synchronised
あってるとき
# chronyc tracking
Reference ID    : C0A80001 (_gateway)
Stratum         : 2
Ref time (UTC)  : Sat Nov 15 15:44:35 2025
System time     : 0.000213478 seconds slow of NTP time
Last offset     : -0.000220379 seconds
RMS offset      : 0.000378293 seconds
Frequency       : 2.390 ppm fast
Residual freq   : -0.725 ppm
Skew            : 0.258 ppm
Root delay      : 0.015625019 seconds
Root dispersion : 0.015985088 seconds
Update interval : 65.0 seconds
Leap status     : Normal

Normalならあってる

続きを読む

rsyncで、違いの理由を見る

-i (--itemize-changes) をつけると 差異の理由がわかる

rsync -n -avi --delete /usr/local/hoge/ piyo:/usr/local/hoge/
<f.st...... www/hoge/cgi/chinko.php
1 2 3 4 5 6 7 8 9 10 11
< f . s t . . . . . .
位置 記号 意味
1 < 更新日時 *1
2 f,d,L,D,S ファイルの種類 *2
3 c, + c:内容あり, +:新規作成 *3
4 s サイズ
5 t タイムスタンプ
6 p パーミッション
7 o 所有者
8 g グループ
9 u 未使用 *4
10 a ACL(アクセス制御リスト)
11 x 拡張属性

*1:転送元が古くても新しくても、転送先へコピーする

*2:f:普通のファイル, d:ディレクトリ, L:シンボリックリンク, D:デバイスファイル, S:ソケット

*3: +++++++++ になる

*4:本来はパーミッションのOtherに相当する部分だが、rsyncでは無視(差異を検知しない)ので未使用

Linuxで、プロセスグループを殺す

プロセスを殺しても親や子や孫は死なないので、プロセスグループの指定で一族郎党皆殺しにする

プロセス名からプロセスIDを調べる

普通にpgrep を使う。 -n で最新1件、-o で最古1件になる

# pgrep -n -f "hoge.sh"
1235

プロセスIDからプロセスグループIDを調べる

psコマンドでオプションでpgidを指定する

# ps -o pgid= -p 1235
   1233

プロセスグループIDを指定してシグナルを送信する

killコマンドで PIDにマイナスをつけるとプロセスグループ指定という意味になる
ただそのままだとオプションに見えるので、-- でオプション終わりと指定

# kill -TERM -- -1233


一連の流れを関数にすると

minagoroshi ()
{
    NAMAE="$1"

    KODOMO=$(pgrep -n -f "$NAMAE")
    [ -z "$KODOMO" ] && return

    KAZOKU=$(ps -o pgid= -p "$KODOMO" | tr -d ' ')
    [ -z "$KAZOKU" ] && return

    kill -TERM -- -"$KAZOKU"
}

# hoge.sh を含むプロセスグループを皆殺しにする
minagoroshi hoge.sh

MariaDBで、SSLを使わない

$ mysql -uhoge -ppiyo -h192.168.101.83 testdb
ERROR 2026 (HY000): TLS/SSL error: SSL is required, but the server does not support it

--skip-ssl オプションを使う

$ mysql --skip-ssl -uhoge -ppiyo -h192.168.101.83 testdb