我正在使用 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)
除了尝试解析标准输出之外,还有其他方法可以获得一些进度反馈吗?
APT
README.progress-reporting
文件中有一个指针:一个简单的实验使用了
aptitude -o 'APT::Status-Fd=3' install
我尝试Dpkg::Options::
没有的作品,我得到了一系列pmstatus
非常适合我需要的行(事实上,它比 dpkg 自己的输出更合适,因为我可以只使用行中的第 3 列pmstatus
作为“%完全的”)。