次を実行すると:
Sudo apt-get install vim abcde php5-cli
予想される動作である次のメッセージで失敗します。
E:パッケージabcdeが見つかりません `。
vim
をインストールして、abcde
にエラーが発生しても、インストールを続行するだけですphp5-cli
パッケージ。意味apt-get
一部のパッケージが見つからない場合でも、リストを下に移動します。
私はもう試した:
Sudo apt-get install --ignore-missing vim abcde php5-cli
短い回答:実際にはこれを実行したくない可能性があります。
なぜなのですか?この特定の機能については多くの議論がありました。その1つは、この ((duplicate)bug report )とそれにリンクされているものです。
バグレポートでの議論では、「-ignore-missing」は、「apt-get」の情報によって存在するはずのパッケージのダウンロードに問題がある場合にのみ適用されることも説明しています。 こちら と ドキュメント でも説明されています
回避策はありますか?
以前のソースを読んだ後でも、これを実行することが非常に確実である場合は、一方で、ユーザー「Aleksandr Levchuk」によって指定されたもののような(次善であるがかなり安全)オプションがあります here :
for i in package1 package2 package3; do
Sudo apt-get install $i
done
または、必要に応じて、最小限の変更を加えたワンライナー:
for i in package1 package2 package3; do Sudo apt-get install $i; done
パッケージがたくさんある場合は、-y
繰り返し確認を求めないようにします。
for i in package1 package2 package3; do
Sudo apt-get install -y $i
done
または:
for i in package1 package2 package3; do Sudo apt-get install -y $i; done
お役に立てれば。
これを回避する1つの方法は、apt-get パッケージごとに1回を呼び出すことです。
echo package1 package2 package3 | xargs -n 1 Sudo apt-get install -y
または関数として
function install_ignore_fail { echo "$*" | xargs -n 1 Sudo apt-get install -y; }
install_ignore_fail package1 package2 package3