Apt

當我從文件中獲取批量安裝包時,如何註釋掉外部 packages.txt 中的包名稱?

  • January 5, 2022

我正在從“packages.txt”(或您喜歡的名稱)批量安裝 apt-get 包,如使用文件安裝帶有 apt-get 的包中所述

註釋掉“終結者”apt包:

iceweasel
#terminator
vim

拋出錯誤:

The command '/bin/sh -c xargs -a /tmp/packages.txt apt-get install -y' returned a non-zero code: 123

相反,如果您為 Python 填寫“requirements.txt”,而不是像這裡在 Dockerfile 中一樣,它會忽略以#.

RUN pip install --no-cache-dir --upgrade pip && \
   pip install --no-cache-dir -r /tmp/requirements.txt

使用“requirements.txt”:

python3-pip
mysql-client
#mysql-server
libmysqlclient-dev
python3-dotenv

結果:mysql-server被跳過。

我如何在“packages.txt”中註釋掉一個 apt 包?

在將其送入之前過濾包裹列表xargs

grep -v '^#' /tmp/packages.txt | xargs -r sudo apt-get install -y

添加-rxargs呼叫可確保如果所有行都packages.txt被註釋掉,則不會發生任何事情。

引用自:https://unix.stackexchange.com/questions/685166