전송률표에 표시된 단위 pv를 변경할 수 있나요?

전송률표에 표시된 단위 pv를 변경할 수 있나요?

에서 pv속도계는 다음과 같이 표시됩니다.

47.5MiB 0:00:00 [ 165MiB/s] [================================>] 100%

통계정보를 전송하는데 사용되는 단위는 MiB1024바이트입니다. 단위를 MB(1000바이트) 로 변경할 수 있나요 ?

답변1

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설치해야 할 수도 있습니다 . rpmbuild다음 위치에서 일반 최종 바이너리 PV를 얻어야 합니다.

$ file ~/rpmbuild/BUILD/pv-1.6.0/pv

소스(예: MiB)를 통해 가능한 변경 사항을 찾으세요. 매개변수를 사용하여 1000으로 나눌지 1024로 나눌지 결정하는 ~/rpmbuild/BUILD/pv-1.6.0/src/pv/display.c루틴을 찾았습니다 . 방금 추가하여 0으로 강제 설정하도록 루틴을 편집했습니다.pv__si_prefix()is_bytes

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

관련 정보