web-dev-qa-db-ja.com

aptでaptを削除できますか?

apt-get remove <package>を使用してプログラムを削除できることを知っています。

ただし、aptはプログラム自体です。 apt-get remove aptを使用して削除できますか、それとも途中で混乱しますか?

45
Tim

APTでは、オプション-sを使用してコマンドをシミュレートできます。コマンドapt-get -s remove aptを発行して、これを自分で試すことができます(Sudoは不要です)。

これにより、次の出力が生成されます。

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  apturl-common xul-ext-ubufox
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  apt apt-utils apturl nautilus-share python3-software-properties
  software-properties-common software-properties-gtk ubuntu-desktop
  unattended-upgrades
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  apt
0 upgraded, 0 newly installed, 9 to remove and 0 not upgraded.
Remv ubuntu-desktop [1.341]
Remv nautilus-share [0.7.3-1ubuntu5]
Remv apturl [0.5.2ubuntu9]
Remv software-properties-gtk [0.96.13.1]
Remv software-properties-common [0.96.13.1]
Remv python3-software-properties [0.96.13.1]
Remv unattended-upgrades [0.86.2ubuntu1]
Remv apt-utils [1.0.10.2ubuntu1]
Remv apt [1.0.10.2ubuntu1]

そのため、答えは「はい、できます」です。

78
cauon

あなたはできる...

Sudo apt-get remove apt
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be REMOVED:
  apt apt-utils apturl nautilus-share python3-software-properties
  software-center software-properties-common software-properties-gtk
  ubuntu-desktop ubuntu-extras-keyring ubuntu-minimal unattended-upgrades
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  apt
0 upgraded, 0 newly installed, 12 to remove and 0 not upgraded.
After this operation, 9,031 kB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
?] Yes, do as I say!
(Reading database ... 179817 files and directories currently installed.)
Removing ubuntu-desktop (1.327) ...
Removing nautilus-share (0.7.3-1ubuntu5) ...
Removing apturl (0.5.2ubuntu4) ...
dpkg: warning: while removing apturl, directory '/usr/lib/python3/dist-packages/AptUrl/gtk/backend' not empty so not removed
Removing software-properties-gtk (0.94) ...
dpkg: warning: while removing software-properties-gtk, directory '/usr/lib/python3/dist-packages/softwareproperties/gtk' not empty so not removed
Removing software-properties-common (0.94) ...
Removing python3-software-properties (0.94) ...
Removing unattended-upgrades (0.82.8) ...
Removing ubuntu-minimal (1.327) ...
Removing apt-utils (1.0.9.2ubuntu2) ...
Removing software-center (13.10-0ubuntu4.1) ...
Removing ubuntu-extras-keyring (2010.09.27) ...
OK
Removing apt (1.0.9.2ubuntu2) ...
Processing triggers for man-db (2.7.0.2-2) ...
Processing triggers for gconf2 (3.2.6-2ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for shared-mime-info (1.2-0ubuntu3) ...
Processing triggers for gnome-menus (3.10.1-0ubuntu2) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu2) ...
Processing triggers for bamfdaemon (0.5.1+14.10.20140925-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mime-support (3.55ubuntu1) ...
Processing triggers for dbus (1.8.8-1ubuntu2) ...
Processing triggers for libc-bin (2.19-10ubuntu2) ...

非常に破壊的なことをしようとしているという警告が表示されます。私は言わなければならない...パッケージのリストは6000kb以下のスペース節約のために恐ろしく見える:D

終了しますが、「apt-get」を使用する方法はありません。 Ubuntu Software Centerは機能しなくなるため、「dpkg」を使用してパッケージマネージャーを再インストールする必要があります(また、すべての依存関係も手動でインストールする必要があります)。

30
Rinzwind

以前、CoreUbuntuを実行したときに、aptが廃止されたaptと決定したソースからバグのあるパッケージをインストールしました。次回apt autoremoveを実行したときに、削除するソフトウェアのリストを実際に見たことがなく、aptがリストにありました。

次回apt install <package-name>と入力してThe program 'apt' is currently not installed. You can install it by typing: Sudo apt-get install aptを取得したときの驚きを想像してください。

幸いなことに、autoremoveaptの依存関係を削除しなかったため、wgetapt.debアーカイブとdpkg -iを使用して再インストールするだけでした。


他の回答に示されているように、aptwithaptを削除すると、解決しようとする依存関係のために、さらに問題が発生します。

面白いと思いますが、確かに(確かにDebian、そしておそらくFedora/openSUSEですか?)多くの現代のディストリビューションは、選択したパッケージマネージャーによって提供されるインフラストラクチャ上で主に定義および構築されています。

12
cat

技術的には、aptはパッケージを削除、インストール、またはアップグレードする方法を知らないため、aptを削除できません。パッケージのインストール、削除、アップグレード、構成のタスクはdpkgに任されています。 「apt」と呼ばれるパッケージを削除するようにaptに指示することはできますが、aptパッケージの逆依存関係をチェックし、それらのパッケージに注意して、dpkgに削除を指示します。これは otheranswers で見ることができます。

Aptがなくても、dpkgを使用してパッケージのインストール、削除、またはアップグレードを行うことができますが、必要な依存関係とアップグレードを追跡する方が苦痛になるだけです。raison d'êtreaptの。

5
Braiam

もちろんできます。 Aptとdpkgはそれ自体がパッケージであり、それらを介して更新できるようになっているため、削除の規定があります。そうでない場合、/var/lib/dpkg/info/dpkg.prermおよび/var/lib/dpkg/info/dpkg.postrmには存在する理由がありません:)

Dpkgを使用せずに誤って削除した場合でも、binutils、tar、gzip/bzip2を削除しない限り、dpkgの.debアーカイブを手動でアンパックできます。

ただし、aptツールチェーンに関係するパッケージの--purgeは、厄介な問題を引き起こす可能性があります。 /var/lib/dpkgで特定のファイルの所有者を特定するのは困難です。 /var/lib/dpkg/statusが削除され、現在のバックアップがなかった場合、はい、パッケージマネージャーはそのシステムで修復できません。

1
rackandboneman