yay、E200HA
- 2025/06/17 06:23
- カテゴリー:PC・ツール・サイト
E200HAにArchを、その13
Arch Linuxのパッケージは手動でアップデートする。pacmanという素敵な名のパッケージ管理マネージャーで、sudo pacman -Syuを実行。実際には、AURヘルパーのyayをインストールしているので入力する文字数は少なく済む。
$ yay
毎日アップデートするのが良いとも言われるけれど、カーネルにはlinux-ltsを選択しているし、そんなに最新最新を追う必要はなかろうと思っている。とは言っても、一週間に一度は更新するようにしている。週末とかに。
が、ちょいちょい忘れる。他機では放置し過ぎて(半年ほど)アップデートできなくなったこともある。これはいけない。以前のlubuntuなら、Update Notifierが、アップデートしなさいよと自動で知らせてくれていた。そこまでお節介は要らない。
忘れるけれど、お節介も要らない。落としどころとしては、前回いつアップデートしたかをパネル(dzen)に、常時、見えるようにしておく。そうしようと考えた。
yay、実際はpacman、には、ログ(/var/log/pacman.log)がある。同じようなことを考える人がいるもので、この一番最後の行の日付を引っぱり出す事例がwebにあった。
$ awk 'END{sub(/\[/,""); print $1}' /var/log/pacman.log
こんな感じで日付を取得できるようだ。が、最後の行がフルにアップデートした日と限らない。実際に以下のようなこともあった。これは別の作業。
[2025-06-07T08:12:30+0900] [ALPM] running '30-systemd-update.hook'...
アップデートした時はどんな風になっているだろうか、とログを探ってみると、以下の記載に行き当たった。
[2025-06-06T22:14:23+0900] [PACMAN] starting full system upgrade
これの日付だけ抽出すれば良い。まず"system upgrade"で検索をかけて、ヒットした行の行頭から2文字以降10文字分だけ引き出す、2025-06-06の部分。
$ awk '/system upgrade/{print substr($0, 2, 10)}' /var/log/pacman.log
これで上手く行く。ただし、アップデートした日は何回もあって数行が出力されて来るので最後の一行、直近の日だけに限定する。例えばパイプで、| tail -n 1、とする。
そんなことをconkyの設定に書き込んでdzen2へ渡すことにした。
# E200HAにArchを(サイト内)
Arch Linux - 定期的に行うこと
Arch: Manjaro で「pacman」と「yay」のコマンド操作〈H53〉
[Solved] How to check: when was the system last updated?
Print last matching line?