pv
では、レートメーターは次のように表示されます。
47.5MiB 0:00:00 [ 165MiB/s] [================================>] 100%
ここで、転送統計に使用される単位はMiB
(1024バイト)です。この単位をMB
(1000バイト)に変更することはできますか?
Linuxの良いところは、ソースにアクセスできることです。そのため、努力すれば、ほとんどの場合、やりたいことを実行するために何かを変更することができます。
この場合、ソースをダウンロードし、それらを調べて、何を変更するかが明らかかどうかを確認することはそれほど難しくありません。次に、独自のpv
バイナリを再構築します。 rpm
ベースのシステムを使用している場合は、(通常のユーザーとして)次のことを試してください。
_$ yumdownloader --source pv
_
(これは、yumの代わりにdnfを使用している場合でも機能するはずです)。接尾辞_.src.rpm
_が付いたファイルになってしまうはずです。名前の残りの部分は、リリースによって異なります。インストールしてコンパイルします。
_$ rpm -i pv-1.6.0-1.fc22.src.rpm
$ rpmbuild -bc ~/rpmbuild/SPECS/pv.spec
_
ソースは_~/rpmbuild
_に配置されるため、ソースをインストールするためにrootである必要はありません。ただし、コンパイルを行うには、rpmbuild
およびその他のパッケージをインストールする必要がある場合があります。次の場所で通常の最終バイナリpvを取得する必要があります。
_$ file ~/rpmbuild/BUILD/pv-1.6.0/pv
_
ソース(MiBなど)をgrepして、変更の可能性を見つけます。 _~/rpmbuild/BUILD/pv-1.6.0/src/pv/display.c
_には、1000または1024で除算するかどうかを決定するパラメーター_is_bytes
_をとるルーチンpv__si_prefix()
があることがわかりました。このルーチンを編集して、追加して0に強制しました。
_is_bytes = 0;
_
宣言の直後(if (is_bytes) {
の前)。次に、make
を実行して、バイナリを次のように再コンパイルします。
_$ cd ~/rpmbuild/BUILD/pv-1.6.0/
$ make
_
新しいpv
ファイルはあなたが望むことをするはずです。
deb
パッケージングシステムでは、同様の手順を実行する必要があります。
_$ Sudo apt-get install dpkg-dev debhelper
$ apt-get source pv
$ cd pv-1.6.0/
$ dpkg-buildpackage -b -nc
... edit src/pv/display.c
$ make
_