揮発性のメモ2

http://d.hatena.ne.jp/iww/

Linux

rebootコマンドはsystemctlへのシンボリックリンク

イマドキのrebootコマンドはsystemctlへのシンボリックリンクになってた。知らなかった Debian 10(buster) # which reboot /usr/sbin/reboot # file /usr/sbin/reboot /usr/sbin/reboot: symbolic link to /bin/systemctl # ls -l /usr/sbin/reboot lrwxrwxr…

Debianで、メタパッケージの情報を見る

# apt search ssh (中略) ssh/stable,now 1:7.9p1-10+deb10u2 all [インストール済み] secure shell クライアントおよびサーバ (メタパッケージ)このメタパッケージをインストールしたら結局何がインストールされるん? というとき apt show で見ることが…

ファイルサイズが大きいファイルの一覧を作る

ファイルサイズが大きいファイル一覧の上位10件を表示 # find / -xdev -type f | xargs du -x -h 2>/dev/null | sort -hr | head -n 10 42M /usr/lib/arm-linux-gnueabihf/libLLVM-6.0.so.1 36M /var/cache/ti-pru-cgt-installer/ti_cgt_pru_2.1.5_armlinuxa…

nginxでリバースプロキシの設定

VPN越しにルータのWEB管理画面を参照したかったので、nginxでリバースプロキシの設定をした +----+ VPN +------+ +--------+ | PC +----------------+ 装置 +----------------+ ルータ | +----+ tap +------+ eth1 +--------+ 192.168.36.x 192.168.36.5 192…

bashで whileの中でevalを使う

for文で出来る for x in A=hoge B=piyo; do eval $x done echo A=$A echo B=$B A=hogeA B=hogeBwhile文でこう書くとアウト echo -e "A=hoge\nB=piyo" | while read x; do eval $x done A= B=なぜなら、パイプを使っているから。 サブシェルになるので変数は…

systemdでジャーナルログを止める

非力なボードではジャーナルが張り切ると死ぬほど遅くなるので、止める/etc/systemd/journal.conf で Storage=none とやって再起動man journald.conf の訳 - kandamotohiro journal ログをきちんと記録・保存する - Qiita

topコマンドで、コマンドラインを全部表示する

topコマンドで、コマンドラインを表示できるだけ全部表示する。端末の横幅を広げてても topコマンドは80文字くらいで出力を切っちゃう c キーを押すと パスとか引数とかも表示してくれる。 超便利 topコマンドを起動するときに -c オプションをつけてもいいM…

dmesgのuptime部分を日付にする 2

dmesg の時間表記を日時に変換するやつ #!/usr/bin/perl my $btime = `grep btime /proc/stat|cut -b7-`; open(my $fh, "dmesg |") or die("open"); while(<$fh>){ if( $_ =~ m/^\[\s*(\d+)\.\d*\] (.*)$/ ){ my $time = $1; my $text = $2; my ($S,$M,$H,$d…

certbotで let's encryptの証明書を 取得する

Version0.27とか0.28のときのcertbot /lib/systemd/system/certbot.service [Unit] Description=Certbot Documentation=file:///usr/share/doc/python-certbot-doc/html/index.html Documentation=https://letsencrypt.readthedocs.io/en/latest/ [Service] …

dateコマンドで JST を UTC に変換する

$ date -u +"%Y-%m-%d %H:%M:%S" -d "2001-01-01 09:00:00 JST" 2001-01-01 00:00:00 -u UTCで表示 dateコマンドで UTC を JST に変換する $ date +"%Y-%m-%d %H:%M:%S" -d "2001-01-01 00:00:00 UTC" 2001-01-01 09:00:00

DHCPでIPアドレスをもらうとき、ルーティングとかDNSを設定しない

DHCPでIPアドレスをもらうとき、特定のNICのときはIPアドレスだけ貰って resolv.confの書き換えとかデフォルトゲートウェイの追加とかさせたくない。本来なら、/etc/dhcp/dhclient.conf で設定を変更できる、らしい。 DHCPにresolv.confを書き換えて欲しくな…

socatで UDPを受信するたびにプログラムを起動する

UDPで受信したものを標準出力に表示するだけのは次の通り socat udp-listen:12345,reuseaddr stdout送信側はこう echo "hello,world!" | socat stdin udp-sendto:192.168.0.11:12345 これを、パケット受信ごとにダンプしたりしたいときは次のように変える so…

bashでjqを使ってJSONの配列をループさせる

jsonの配列をシェルスクリプトとjqでループさせて取得する [ { "ip" : "192.168.10.105", "name" : "玄関" }, { "ip" : "192.168.10.102", "name" : "居間" }, { "ip" : "192.168.10.101", "name" : "トイレ" }, { "ip" : "192.168.10.100", "name" : "寝室"…

sshで、ローカルのスクリプトをリモートで実行する

$ ssh 192.168.0.2 bash < hoge.sh

VirtualBoxで仮想マシンをコピーしようとしたらHDDにエラーが見つかって大変だった

ある仮想マシンを1台コピーすることになった VirtualBoxマネージャーからクローンを実施したところ、エラーが発生した Could not create the clone medium '/data/virtualbox/hogehoge/hogehoge-disk1.vmdk' (VERR_DEV_IO_ERROR).DEV_IO_ERROR とか出ている…

bashで、数字を展開して並べる

ブレース展開0から10まで展開 $ echo {0..10} 0 1 2 3 4 5 6 7 8 9 1000から10まで展開 $ echo {00..10} 00 01 02 03 04 05 06 07 08 09 10なにこれ超優秀じゃん 実は便利なブレース展開 - interprism's blog bash のブレース展開機能の紹介と用例 - それマ…

dateコマンドで、1時間後を求める

現在時刻の1時間後を求める $ date +"%Y-%m-%d %H:%M:%S" -d "1 hour" 任意の日時の1時間後を求める $ date +"%Y-%m-%d %H:%M:%S" -d "2020-07-15 22:33:44 1 hour" 2020-07-15 23:33:44 任意の日時は 時、分、秒を削っても認識される $ date +"%Y-%m-%d %H:…

プログラムの標準出力を別のプログラムの標準入力に渡す

ようするにパイプなんだけど、普通と違う書き方ができる $ ls -l | grep hoge $ ls -l > >(grep .sh)上の2つはだいたい同じような意味合いを持つio redirection - bash exec sending output to a pipe, how? - Stack Overflow Process substitution [Bash H…

vpncmd を非対話で使い、設定をファイルに保存する

vpncmd コマンドで設定ファイルの保存など、パスを指定するときは先頭の / を // と書かないと正常に動かない VPN Server>ConfigGet /tmp/hoge.txt ConfigGet command - Get the current configuration of the VPN Server The parameter "/tmp/hoge.txt" has…

vpncmd を非対話で使う

ソフトイーサで、vpncmd を非対話で使うために試行錯誤した内容を書くマニュアルは下記を参照 https://ja.softether.org/4-docs/1-manual/6/6.2 接続 vpncmd はVPNブリッジなどへ接続して設定するためのクライアントであり、つまりVPNブリッジ(管理サーバ)…

ipコマンドとifconfigコマンドで LANケーブル抜けとかを見る

$ /sbin/ifconfig eth0 eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.10.5 netmask 255.255.255.0 broadcast 192.168.10.255 ether f0:45:da:7c:ad:16 txqueuelen 1000 (Ethernet) RX packets 556 bytes 81052 (79.1 KiB) RX errors 0 dropped 0 overruns 0 fram</up,broadcast,multicast>…

シリアルコンソールで ls の結果に色が付かない

sshでログインするとちゃんと色が付くのにシリアル接続だと色が付かない ~/.bashrc には次のように書いてある export LS_OPTIONS='--color=auto' eval "`dircolors`" alias ls='ls $LS_OPTIONS'調べたところ、TERM変数が変な値のときに色なしになることがわ…

Linuxの起動日時を表示 2

/proc/stat に載ってる btime は、ちゃんと現在時刻を考慮する。 時計がまだ合っていないパソコンを起動したときの btime は、その不正確な時刻をもとに 起動日時を計算している。 btime 1478193392$ date --date=@1478193392 Fri Nov 4 02:16:32 JST 2016 …

mmapについて

Amazon | POSIX.4 Programmers Guide: Programming for the Real World | Gallmeister, Bill | Unix この本がほしい MAP_PRIVATE はファイルに反映されない いじっている間はファイルに絶対反映されないけど、munmap()すれば反映される。 と思い込んでた。Ma…

書けないファイルを作る

ファイルに書き込めないようにする。 ファイルの変更、追記、削除、リネーム とか全部できないようにする。 sudo chattr +i hoge.txthttps://linuxjm.osdn.jp/html/e2fsprogs/man1/chattr.1.html

socatで "exactly 2 addresses required (there are 1)" というエラー

$ socat UDP-LISTEN:5001,fork,reuseaddr 2020/05/23 06:50:01 socat[22259] E exactly 2 addresses required (there are 1); use option "-h" for help

softetherのログに出てくるブロードキャスト検出ログ

2020-01-28 21:59:03.752 [HUB "hubhub23"] セッション "SID-HOGE-312": 大量のブロードキャストパケットを検出しました。 ポリシーに従ってパケットを破棄する場合があります。 送信元 MAC アドレスは XX-XX-XX-XX-XX-XX, 送信元 IP アドレスは 192.168.200…

grepで ヒットしたところの前後3行を表示する

grep -C3 hoge grep -3 hoge -A 見つかった箇所の後ろ3行表示。 After -B 見つかった箇所の前3行表示。 Before -C 見つかった箇所の前後3行表示。 A,B と来たから 安直に C なんだろうな 数値のオプションでも -C と同じ扱いになる 前後という単語を思いつか…

rsyncでほかのPCのルートファイルシステムを丸コピーする

とりあえす今回採る方法はリモートのルートファイルシステムをまるっと ローカルのバックアップディレクトリにコピーする。 rsyncコマンドはローカル側から実行する。 ローカル準備 ローカルのrootユーザーが、引数なしでリモートにsshでログインできるよう…

gzipで、ファイル名やタイムスタンプを保持させない

gzipはファイルを圧縮するとき、デフォルトではファイル名と時刻を中に保存する。 なので、たとえ空のファイルであってもファイル名分だけ無駄が出来る。 -rw-r--r-- 1 hoge hoge 25 12月 6 13:17 piyo.gzオプションで -n を付ければ名前を保存しなくなる。 …