私はしばしば次のことをしています。:~$ sudo apt install php7.4 mysql-server git composer curl apache2 --yes
時々、次のような答えがあります。
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package mysql-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'mysql-server' has no installation candidate
これをどのように避けることができますか? stderrをリダイレクトしようとしましたが、運がありませんでした。私はそれを役に立たないとグーグルしましたが、誰もこれを経験していないようです。
基本的に私はインストールしたいパッケージをapt installに設定し、エラーが発生した場合はプログラムが残りのパッケージを続行したいと思います。
よろしくお願いします!
答え1
apt-get
(およびapt
)オプションで-m
失われたパケットを無視します。からman apt-get
:
-m
、、、--ignore-missing
--fix-missing
欠落しているパッケージを無視します。パッケージを検索できない場合、または検索後の整合性チェックに失敗した場合(パッケージファイルが破損している場合)、そのパッケージを保持して結果を処理します。
場合によっては、このオプションを一緒に使用します
-f
。パッケージのインストールを選択したが(特にコマンドラインで言及されている場合)、パッケージをダウンロードできない場合は自動的にブロックされます。
構成項目:
APT::Get::Fix-Missing
。