LENOVO T430s のBIOS更新ですが,バッテリーが弱ってアップデートできなくなっていました.中古のバッテリーを入手したので再度アップデートを試みました.光学ドライブは壊れているのでUSBメモリを使いました.環境はLinux(Debian sid amd64)です.
カテゴリー: sid
Debian環境でacpidのログをsyslogに出力する
ThinkPadの電源プラグのOn/Offで以前はイベントがlogに残っていたのですが,電源管理デーモンが動いていて電源の状態が取得できる状態でもいつの頃からか記録されなくなりました.停電した時間がわかって便利だったのでログ期記録できないか確認してみました.
awesome wm や i3 wm で feh と Unsplash を使ってランダムな壁紙を設定
Unsplash という画像サービスを知りました.
無料で利用できる写真が提供されています.どうもアップロードされた写真を人力で選別しているようです.そのため高品質な写真が集まっているようです.
そして,URL指定だけで使える簡易APIが提供されています.これと feh コマンドを使ってランダムな壁紙を設定してみました.
Debian/Ubuntuでawkを切り替える
Debian等でのインストール直後のawkは mawk
が導入されます.
Debianのパッケージでは他にGNU awk(パッケージ名 gawk
), The One True Awk(パッケージ名 original-awk
)というものもあります.*BSDなどでよく見る nawk
もあるように見えますが,シンボリックリンクだけのようです.
(他にもあるかもしれない?)
mawk
は初期状態で入っていて軽量.GNU awk
はmawkに比べて多機能で既定値では導入されませんが, byobu
などが依存を求めるので入っている人も多いと思います.
複数のawkパッケージが導入されているときに awk
と実行したときは update-alternatives
で管理されたシンボリックリンク先のいずれかのawkが実行されます.これを切り替えてみます.
vnStatでネットワークトラフィックを集計する
以下のエントリでipコマンドでネットワーク通信量が確認できました.
端末を起動してからの通信量は確認できますが,再起動したりするとデータ量はクリアされてしまいます.MRTGやZabbixなどを使うのは大げさな感じがします.
もう少しお手軽なものがないかなと少し探してvnStatというものを見つけたので今回試してみました.
ip コマンドでネットワーク通信量を確認する
先日スマートフォンのテザリングを利用して利用量を確認するのに ifconfig
コマンドを利用して確認しました.しかしこのコマンドはそろそろ使わないようにして ip
コマンドで確認したいところ.ということで ip
コマンドでの確認方法を調べました.
今日のテザリング1GBちょいで思ったより少なかった
Dicordで画面共有したりされたりで4.5hくらい
ビデオは大抵offなのでそれが効いてそう#kagolug pic.twitter.com/W8fyLpdiqS— matoken (@matoken1) April 25, 2021
cpu情報を表示するcpufetch
cpufetchというscreenfetchインスパイアな感じのcpu情報表示ツールを見かけたので試してみました.
$ git clone https://github.com/Dr-Noob/cpufetch
$ cd cpufetch
$ make
$ ./cpufetch -s retro
################
####### #######
#### ####
### #### Name: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
### ### Microarchitecture: Ivy Bridge
### ### Technology: 22nm
# ### ### ### Max Frequency: 3.300 GHz
## ### ######### ###### ###### ### ### Cores: 2 cores (4 threads)
## ### ### ### ### #### #### ### ### AVX: AVX
## ### ### ### ### ### ### ### ### FMA: No
## ### ### ### ### ########## ### #### L1i Size: 32KB (64KB Total)
## ### ### ### ### ### ### ##### L1d Size: 32KB (64KB Total)
## ## ### ### ##### ######### ## ### L2 Size: 256KB (512KB Total)
### L3 Size: 3MB
### Peak Performance: 52.80 GFLOP/s
#### ####
##### ##########
########## ################
###############################
標準のスタイルでテキストで貼り付けると真っ白になるので retro
です.通常の実行結果は以下に.
Rust製のCLI電子メールクライアントのHimaraya
Rust製のCLI電子メールクライアントのHimarayaというものを見かけたので少し試してみました.
Himarayaは単体ではCLIのクライアントでバッチ的に利用できます.VIm/Neovimのプラグインを使うとTUIで直感的に操作できるようになるようです.
Windows/macOS/Linux(amd64)はリリースページからバイナリが入手できます.今回はLinux amd64環境で試しました.
$ wget https://github.com/soywod/himalaya/releases/download/v0.2.2/himalaya-linux.tar.gz (1)
$ tar tvf ./himalaya-linux.tar.gz (2)
-rwxr-xr-x runner/docker 9090192 2021-04-05 00:50 himalaya.exe
$ tar xf ./himalaya-linux.tar.gz (3)
$ sudo install -m 755 ./himalaya.exe /usr/local/bin/himaraya (4)
$ rm ./himalaya.exe
$ mkdir ~/.config/himalaya (5)
$ vi ~/.config/himalaya/config.toml (6)
$ cat ~/.config/himalaya/config.toml
name = "Kenichiro Matohara"
downloads-dir = "~/.config/himalaya/gmail/"
signature = "Regards,"
[matoken_gmail]
default = true
email = "matoken@gmail.com"
imap-host = "imap.gmail.com"
imap-port = 993
imap-login = "matoken@gmail.com"
imap-passwd-cmd = "gpg2 --no-tty -q -d ~/.msmtp-password-gmail2.gpg"
smtp-host = "smtp.gmail.com"
smtp-port = 487
smtp-login = "matoken@gmail.com"
smtp-passwd-cmd = "gpg2 --no-tty -q -d ~/.msmtp-password-gmail2.gpg"
- Linuxリリースバイナリのダウンロード
- アーカイブの内容確認
- アーカイブの展開
/usr/local/bin
にhimaraya
として導入- 設定ファイルディレクトリの作成
- 設定ファイル作成
設定ファイルは README.md
にgmailの例が書かれているので,imap4/smtpの場合はそのまま真似すると良さそうです.
設定ファイルのパスワード部分の imap-passwd-cmd
, smtp-passwd-cmd
は平分でも書けるようですが,コマンドが書けるのでmsmtpで使っているgpg2のものを使いました.opensslなども使えます.パスワードマネージャを使っても良さそうです.
$ himaraya list
UID |FLAGS |SUBJECT |SENDER |DATE
403387 | |[oss-security] CVE-2021-29136: umoci: malicious … |Aleksa Sarai |2021-04-06 11:13:14
403386 | |[oss-security] Django: CVE-2021-28658: Potential… |Mariusz Felisiak |2021-04-06 09:10:32
403385 | |Ingress Damage Report: Entities attacked by taar… |Niantic Project Operations |2021-04-06 07:52:16
403384 | |Ingress Damage Report: Entities attacked by taar… |Niantic Project Operations |2021-04-06 07:52:14
403383 | |Ingress Damage Report: Entities attacked by taar… |Niantic Project Operations |2021-04-06 07:52:15
403382 | |CPUのコアを増やせば、コア間の通信が増え処理速度が上がらないのではありませんか? |Quoraダイ
ジェスト |2021-04-06 06:35:23
403381 | |In October, you had 4.8K users visit your websit… |Google Analytics |2021-04-05 22:44:18
403380 | |Daily activity summary for Nextcloud |Nextcloud |2021-04-05 21:30:06
403379 | |Re: [oss-security] Risk of local privilege escal… |Leo Famulari |2021-04-05 20:20:55
403378 | |Re: [oss-security] Risk of local privilege escal… |Leo Famulari |2021-04-05 20:19:15
いくつかのコマンドを使いバッチ的にメールボックスを操作できます.しかし普通のMUAとして使うには面倒です.
Vim/Neovimのプラグインを使うとTUIで利用できるらしいので試してみます.
Note |
※前提条件として,vim-plugが使える状態になっている必要があります. junegunn/vim-plug: Minimalist Vim Plugin Manager |
$ echo "Plug 'soywod/himalaya', {'rtp': 'vim'}" >> ~/.vimrc
Vimの設定ファイルの ~/.vimrc
にHimaraya pluginを追記します.
vimを起動して, :PlugInstall
を実行してHimaraya Pluginを導入します.
その後,Vimの中で :Himaraya
で起動します.
Himarayaの設定ができていればそのままTUIで使えるようになります :)
今の時点ではあまり使いやすくはなくAlpineやMutt/NeoMuttのほうが良さそうです.でも開発も活発そうなのでこれからに期待したいです.
ところで名前の Himaraya は山つながりで Alpine のインスパイアなのでしょうか?
$ himalaya --version
himalaya 0.2.2
$ dpkg-query -W vim gpg
gpg 2.2.27-1
vim 2:8.2.2434-3
$ lsb_release -dr
Description: Debian GNU/Linux bullseye/sid
Release: unstable
$ arch
x86_64
dnsクエリをスパイする dnspeep
dnspeep
というRust製のdnsのクエリ内容を表示するプログラムを知ったので少し試してみました.
GitHubのReleaseページにLinux x86_64とmacOS x86_64のバイナリが置いてあるのでその環境だとそれをダウンロードして会伊藤するだけで使えます.他の環境では cargo build
すればいいのかな?
$ wget https://github.com/jvns/dnspeep/releases/download/v0.1.1/dnspeep-linux.tar.gz
$ tar tvf ./dnspeep-linux.tar.gz
-rwxr-xr-x runner/docker 5570536 2021-04-02 06:20 dnspeep
$ file dnspeep
dnspeep: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a917041c223b18db709ff3c563ee1a6a3c82ba6e, for GNU/Linux 3.2.0, with debug_info, not stripped
$ ./dnspeep -h|xsel
Usage: ./dnspeep [options]
Options:
-p, --port PORT port number to listen on
-f, --file FILENAME read packets from pcap file
-h, --help print this help menu
What the output columns mean:
query: DNS query type (A, CNAME, etc)
name: Hostname the DNS query is requesting
server IP: IP address of the DNS server the query was made to
response: Responses from the Answer section of the DNS response (or "<no response>" if none was found).
Multiple responses are separated by commas.
$ sudo ./dnspeep
query name server IP response
A tweetdeck.twitter.com. 192.168.1.102 CNAME: td.twitter.com., A: 104.244.42.132, A: 104.244.42.4, A: 104.244.42.68, A: 104.244.42.196
:
libpcapからパケットを引っ張ってdnsのクエリを整形して出力しているようです.こんな感じでtcpdumpでもいいのですが,dnsに特化しているのでオプションとか覚えなくていいのはいいですね.
$ sudo tcpdump -i eth0 udp port 53 or tcp port 53
dnspeep v0.1.1
$ dpkg-query -W libpcap0.8 tcpdump libpcap0.8:amd64 1.10.0-2 libpcap0.8:i386 1.10.0-2 tcpdump 4.99.0-2 $ lsb_release -dr Description: Debian GNU/Linux bullseye/sid Release: unstable $ arch x86_64