apt-get -y -qq install 不是静默的(输出传入如:“处理 man-db 的触发器”)。为什么?我不想通过 > /dev/null 终止语句

apt-get -y -qq install 不是静默的(输出传入如:“处理 man-db 的触发器”)。为什么?我不想通过 > /dev/null 终止语句

我正在配置一个 vagrantbox,其中包含一个运行几个步骤的小脚本。
大多数都在表演apt-get -y -qq installupdate

config.vm.provision "shell", privileged: false, inline: <<-SHELL
   sh 050_Certificats.sh
   sh 070_Utilitaires.sh
   sh 100_JDK.sh "17"
   sh 150_Postgresql-Postgis.sh "15" "3"
   sh 200_NodeJS-Angular.sh "16"
   sh 250_ELK.sh "7.x"
   sh 300_Kafka.sh "3.4.0" "2.12"
   sh 350_Geoserver.sh "2.23.1"
SHELL
#!/bin/bash
echo "050 : Installation des certificats et mise à jour"

sudo apt-get -y -qq install gnupg2 wget ca-certificates
sudo apt-get -y -qq update

但这些apt-get -y -qq install语句并没有对输出保持沉默(apt-get -y -qq update是......)。我想避免通过以下方式终止我的陈述> /dev/null

==> default: Running provisioner: shell...
    default: Running: inline script
    default: 050 : Installation des certificats et mise à jour
    default: dpkg-preconfigure: unable to re-open stdin: No such file or directory
    default: Selecting previously unselected package gnupg2.
    default: (Reading database ... 
(Reading database ... 65%abase ... 5%
    default: (Reading database ... 70%
    default: (Reading database ... 75%
    default: (Reading database ... 80%
    default: (Reading database ... 85%
    default: (Reading database ... 90%
    default: (Reading database ... 95%
(Reading database ... 68876 files and directories currently installed.)
    default: Preparing to unpack .../gnupg2_2.2.27-2+deb11u2_all.deb ...
    default: Unpacking gnupg2 (2.2.27-2+deb11u2) ...
    default: Setting up gnupg2 (2.2.27-2+deb11u2) ...
    default: Processing triggers for man-db (2.9.4-2) ...

答案1

-q控件apt-get的输出,但是软件包安装还涉及许多其他程序,所有这些程序都可以产生输出:dpkg本身、维护者脚本等。

dpkg您可以通过禁用其进度信息来减少产生的输出量:

sudo apt-get -y -qq install -o Dpkg::Progress-Fancy="0" -o APT::Color="0" -o Dpkg::Use-Pty="0" ...

shell 中 apt-get 的日志输出了解详情。

顺便说一下,你应该运行apt-get update 尝试安装或升级任何东西。

相关内容