저는 Aptitude를 사용하여 일부 패키지를 업그레이드하고 있으며 프로그램에서 읽을 수 있는 상태 업데이트를 받고 싶습니다. 나는 dpkg --status-fd
다음과 같이 미리 열어 놓은 파일(이 실험에서는 일반 파일이지만 최종적으로는 명명된 파이프)에 연결할 수 있다고 생각했습니다.
aptitude -o 'Dpkg::Options::=--status-fd=3' install 3>dpkg-status-log
그러나 Aptitude는 실행하기 전에 내 파일 설명자를 닫는 것 같습니다 dpkg
.
dpkg: error: unable to read filedescriptor flags for <package status and progress file descriptor>: Bad file descriptor
E: Sub-process /usr/bin/dpkg returned an error code (2)
표준 출력을 구문 분석하는 것 외에 진행 피드백을 얻을 수 있는 다른 방법이 있습니까?
답변1
APT 파일에 포인터가 있습니다 README.progress-reporting
.
APT::Status-Fd
apt options: " "가 설정된 경우 apt는 fd에 상태 보고서를 보냅니다.
aptitude -o 'APT::Status-Fd=3' install
내 시도가 Dpkg::Options::
달성하지 못한 것을 사용한 간단한 실험으로 pmstatus
내 요구에 매우 잘 맞는 일련의 행을 얻었습니다(사실 dpkg 자체 출력보다 더 적합했습니다. pmstatus
로 사용된 행에 세 번째 열을 넣을 수 있었기 때문입니다). "%"완벽한").