Apt
當我從文件中獲取批量安裝包時,如何註釋掉外部 packages.txt 中的包名稱?
我正在從“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
添加
-r
到xargs
呼叫可確保如果所有行都packages.txt
被註釋掉,則不會發生任何事情。