GNU/Linux >> Linux の 問題 >  >> Ubuntu

「sudoApt-getInstallFoo-」により、Fooパッケージとそれに依存するすべてが削除されますか?

この質問にはすでに回答があります :apt-get install with‘-‘(マイナス/ハイフン)はパッケージを削除します

(2つの回答)
2年前に閉鎖されました。

コマンドプロンプトで作業しているときに、誤って次のコマンドを入力しました:

sudo apt-get install python3-

そしてubuntuはpython3とそれに依存するすべてのもの(Firefoxなどを含む)の削除を開始しました。幸い、私はすぐにそのターミナルを閉じ、dpkgをチェックしてすべてを元に戻しました。 ログファイルですが、なぜinstallなのか疑問に思いました コマンドは削除のように機能する必要がありますか?

バグですか?

パッケージ名を探していて(Tabキーを2回押す)、Enterキーを押して可能性を調べ、それらのEnterキーがキーボードバッファーに残っている状況を考えてみてください。 youhaaaa…apt-get 目の前にあるインスタレーション全体を削除しています。

承認された回答:

パッケージの後にこのマイナス(またはダッシュ)記号を試してみてください。そうです、apt-getはremoveのように動作します 。

面白いことに、apt-getのこの関数を知りませんでした。 。このマイナス記号は、すべてのパッケージに有効です。 smplayer-で試してみました firefox-を使用 常にremoveのように動作します 。
ですから、私が考えることができるのは、apt-getによって考慮されるパッケージの最後にあるダッシュ記号だけです。 マイナスのようにinstall コマンドがremoveに変換されました 。

python3に関するすべてをインストールする場合は、このダッシュ(マイナス)記号の後にアスタリスク記号を追加する必要がありました

sudo apt-get install python3-*

当初、これは単なる紛争の問題だと思いましたが、そうではありません。あるパッケージをインストールして他のパッケージと競合する場合、新しくインストールされたパッケージのために、すでにインストールされているパッケージが削除されることがありますが、これはここでの状況ではありません。

今日は何か役に立つことを学びました。

apt-getのmanページから。端末からマニュアルページを読むには、man apt-getを指定してください。

パッケージ名にハイフン(-)が追加されている場合(間にスペースがない場合)、現在インストールされている場合は、識別されたパッケージが削除されます。
同様に、プラス記号(+)を使用して、インストールする
パッケージを指定できます。これらの後者の機能は、apt-getの競合解決システムによって行われた
決定を上書きするために使用できます。

最終的には、新しいオプションや奇妙なものではなく、マンページを注意深く読んでいないだけです。

関連:ImportError:「_tkinter」という名前はありません。python3-tkパッケージをインストールしてください。
Ubuntu
  1. Ubuntu20.04にSnapPackageManagerをインストールして使用する方法

  2. パッケージマネージャーを実行して12.04を更新するときのPkgproblemresolverエラー?

  3. パッケージの最初のインストール時にのみスクリプトを実行し、アップグレード中には実行しない方法は?

  1. Ubuntuソフトウェアセンターがパッケージのインストールを停止し、他に何もインストールできませんか?

  2. AptitudeとApt-getを使用してUbuntu16.04LtsにPython-devをインストールできませんか?

  3. Sudo Apt-get Installを使用しているのに、なぜソースコードがないのですか?

  1. Ubuntu 14.04デスクトップバージョンにOpenssh-server、Tcsh、Autofs、Ypbindをインストールする方法は?

  2. CentOS7にソフトウェアをインストールして管理する方法

  3. CentOS/RHEL 7 および 8 に Mokutil パッケージをインストールする方法