我正在配置一个 vagrantbox,其中包含一个运行几个步骤的小脚本。
大多数都在表演apt-get -y -qq install
和update
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
前尝试安装或升级任何东西。