如何在 bash 腳本中為來自 apt-get 的人使用 zypper?
我有幾個關於在 bash 腳本中從 apt-get 遷移到 zypper 的問題。
這相當於什麼?
sudo apt-get install curl --assume-yes
(其中 curl 可以是任何包)
我找到了Zypper 備忘單 - openSUSE。非常好!但我會很欣賞這裡的經驗之聲——在我想自動同意所有提示而不跳過需要響應的內容的腳本中使用 zypper 的正確方法是什麼?
由於我缺乏經驗,我很想使用:
sudo zypper --non-interactive --no-gpg-checks --quiet install --auto-agree-with-licenses curl
但這真的等同於
--assume-yes
嗎?這些等價物呢?
sudo apt-get autoremove -y sudo apt-get autoclean -y
這表明沒有…
有 gdebi-core 的替代品嗎?或者 zypper 的“強大的可滿足性求解器”不需要 gdebi?我將 gdebi 用於需要在舊版本上安裝軟體包並且我已經有一個 .deb 文件(但不是所有依賴項)的情況。
通常,當以非互動方式執行 zypper 時,您應該
--non-interactive
在快捷方式中使用模式:-n
zypper -n install curl
對於來自
apt-get install -y curl
. 一些 zypper 子命令還支持特定於命令的-y
/--no-confirm
選項作為 / 的別名-n
,--non-interactive
但並非所有子命令都支持。由於該install
命令確實實現了這一點,因此該命令等效於上述命令:zypper install -y curl
請注意
-y
must 出現在 之後install
,而 global-n
選項出現在子命令之前(zypper install -n
意味著不同的東西;請閱讀手冊頁)。$$ Edit $$以下部分不再準確,但保留以供歷史參考。目前的 zypper 支持
--gpg-auto-import-keys
自動導入和信任與新儲存庫關聯的 gpg 密鑰的選項。根據文件,沒有互動模式就無法接受 GPG 密鑰:
只能在互動模式下信任或導入新密鑰
即使有
--no-gpgp-checks
GPG 密鑰也會被拒絕。腳本的解決方法是使用管道和
echo
:zypper addrepo http://repo.example.org my_name | echo 'a'