UbuntuのEOLに気がつく
2023-10-4 23:16:6 Author: furutsuki.hatenablog.com(查看原文) 阅读量:10 收藏

Ubuntu 22.10を使っていたが、2023-07-20でサポートが切れていた。apt updateのエラーを久々にちゃんと読んでEOLっぽいじゃんということに気がついてアップグレードするのに時間を取られたので、次からは先んじて気がつけるようにしたい。

というわけでシェルを立ち上げたときにEOLが近づいていたら教えてくれるようにしたい。

freedesktop.orgのos-releaseのページによると使っているOSのEOLは/etc/os-releaseSUPPORT_ENDとして書いてある……こともあるらしい。手元ではそういうのはなかった。この質問によると、distro-info-dataというパッケージがインストールされていれば/usr/share/distro-info/ubuntu.csvというファイルが配置されているはずで、ここに歴々のディストリビューションの情報が書いてあり、EOLの情報も含まれているらしい。このファイルはあったのでこれを使うことにする。

CSVなので適当にパースしたら良いだろうと思ったが、ヘッダには8カラムありそうに書いておきながら実際には6カラムしかない行などが存在していて、お行儀の良い入力を期待するCLIツールでは太刀打ちできなさそうだったので、雑なことをすることにした(=eolのデータは6列目にあるということにしてcutで取り出すことにした)。以下のようなスクリプト.zshrcに追加する。

function get_eol() {
  if [[ "$OSTYPE" != "linux-gnu" ]]; then
    return
  fi
  source /etc/os-release
  eol=$(grep -F "$VERSION_ID" /usr/share/distro-info/ubuntu.csv | cut -d, -f 6)
  d=$(( ($(date +%s -d "$eol") - $(date +%s)) / 86400 ))
  if [[ "$d" -lt 30 ]]; then
    echo -e "\e[41m EOL of ${VERSION} is coming (${eol})"
  fi
}
get_eol

OSのEOLが近づいているときにシェルを立ち上げたら、↓のように教えてくれる想定


文章来源: https://furutsuki.hatenablog.com/entry/2023/10/05/001606
如有侵权请联系:admin#unsafe.sh