ストーリ
さくらのレンタル鯖でインスコされちょらんソフトウェア ex. ffmpeg とかで、インスコ時に man(1) ファイルの圧縮を自動ではやってくれんけ、個別に圧縮して居ったのだが新しい版を上書きインスコしおる際に、過去のヤツが消えんけ、その影響で使用量が増えて quota(1) の制限に引っかかりそうだけぇ、旧い man を削除して容量を確保し再度圧縮したくなった。
っま、かなりニッチなユーザ向けのネタじゃなw
FreeBSD 以外の OS の man 事情は存じ上げませんm(__)m
チョットだけ dig った説明(そんな大げさなモンじゃ無い)
man? のディレクトリ内にはテキストファイルとして、各々のディレクトリの拡張子 .? がインスコされちゃる。
昨今の man は gzip(1) 圧縮の外にも xz(1) 等も使えるけん、quota 制限下で容量を気にしながら管理しおる daemon 使いとしては、圧縮保存したくなる訳で📀
手を動かす
っちゃけで、初回は次のワンライナー✌を叩けばおk
更地に man? がインスコされた直後はこれ☟
find . -name "*.3" -type f -exec xz -9 "{}" \;
ここからが今回のメインイベント😊
上記のワンライナーで圧縮したファイル達のトコに新しい版をインスコしおると、圧縮されちょらんファイルが出来上がるが、上記のワンライナーを走らせると過去の圧縮ファイルが居るけん、エラーとなるんじゃよ😣
じゃけ、圧縮前と圧縮後の二つのファイルが存在しおるのを抽出して、問答無用で圧縮後のファイルを削除する。
find . -name "*.3" -type f | awk '{print"ls -q "$1" "$1".xz && unlink "$1".xz"}' | sh
これが問題なく実行完了すれば、最初のワンライナーを叩けば再び圧縮が出来る。
man1,man3,man5,man7,man8 と複数のディレクトリが存在しおるけん、適宜当該ディレクトリをカレントディレクトリにしてから実行って事位は、daemon 使いじゃったら言わずもがなじゃな👿
もっと簡単便利な方法が有ればコッソリ教えて
今回の記事は、操作ミスしおると man が👋する程度じゃけ、間違ったとしても被害は少な目な予感🤔
比較的色々とオリジナリティが出せるとは思うが、より良いワンライナー書いたよって daemon 使いが現れてくれる事にワシは期待しとるよー😊