概要
パッケージのインストールと確認ができるaptitudeコマンドについての情報をまとめます。アンインストールする際のremoveオプションとpurgeオプションの違いもためしてみました。
要点
- aptitudeコマンドについて aptitudeコマンドはapt-getコマンドとapt-chaheコマンドと同等の事ができるコマンドです。
試しに使ってみようと思ったらaptitudeがインストールされていませんでした。
なので、まずはapt-getでインストールします
#apt-get install aptitude
サブコマンド | 説明 |
---|---|
update | データベースを更新する |
show パッケージ名 | パッケージ情報を表示する |
search パターン | パッケージを検索する |
install パッケージ名 | パッケージをインストールする |
remove パッケージ名 | 設定ファイルを残してパッケージをアンインストールする |
purge パッケージ名 | 設定ファイルも含めてパッケージをアンインストールする |
full-upgrade | すべてのパッケージファイルをアップグレードする |
safe-upgrade | ほかのパッケージを削除しないようにすべてのパッケージファイルをアップグレードする |
# apt-get update
ヒット:1 http://archive.raspberrypi.org/debian buster InRelease
ヒット:2 http://raspbian.raspberrypi.org/raspbian buster InRelease
パッケージリストを読み込んでいます... 完了
#
# aptitude update
発見 http://raspbian.raspberrypi.org/raspbian buster InRelease
発見 http://archive.raspberrypi.org/debian buster InRelease
設定ファイルを残す場合がremoveで、場合と残さない場合がpurgeなので、本当に設定ファイルが消えるのか実験してみました。
- まずはremoveでsnmpをアンインストール。
- 再度snmpをインストールして、今度はpurgeのサブコマンドを使ってアンインストール。
- snmp.confファイルが関連するパッケージを確認すると、snmpではなくlibsnmp-baseが紐づいているようでした。
- ということで、再度snmpをインストールして、今度はlibsnmp-baseをpurgeでアンインストール。
# ls snmp
snmp.conf 【★設定ファイルがある】
#
# aptitude remove snmp
以下のパッケージが削除されます:
libmariadb3{u} libsnmp-base{u} libsnmp30{u} mariadb-common{u} mysql-common{u} snmp
更新: 0 個、新規インストール: 0 個、削除: 6 個、保留: 6 個。
アーカイブの 0 B を取得する必要があります。展開後に 7,747 kB のディスク領域が解放されます。
先に進みますか? [Y/n/?] Y
(データベースを読み込んでいます ... 現在 156656 個のファイルとディレクトリがインストールされています。)
snmp (5.7.3+dfsg-5+b1) を削除しています ...
libsnmp30:armhf (5.7.3+dfsg-5+b1) を削除しています ...
libmariadb3:armhf (1:10.3.17-0+deb10u1) を削除しています ...
libsnmp-base (5.7.3+dfsg-5) を削除しています ...
mariadb-common (1:10.3.17-0+deb10u1) を削除しています ...
update-alternatives: /etc/mysql/my.cnf (my.cnf) を提供するために自動モードで /etc/mysql/my.cnf.fallback を使います
mysql-common (5.8+1.0.5) を削除しています ...
man-db (2.8.5-2) のトリガを処理しています ...
libc-bin (2.28-10+rpi1) のトリガを処理しています ...
#
# ls snmp
snmp.conf 【★アンインストールしても設定ファイルが残っている 想定通り】
# ls snmp
snmp.conf【★設定ファイルがある】
# aptitude purge snmp
以下のパッケージが削除されます:
libmariadb3{u} libsnmp-base{u} libsnmp30{u} mariadb-common{u} mysql-common{u} snmp{p}
更新: 0 個、新規インストール: 0 個、削除: 6 個、保留: 6 個。
アーカイブの 0 B を取得する必要があります。展開後に 7,747 kB のディスク領域が解放されます。
先に進みますか? [Y/n/?] Y
(データベースを読み込んでいます ... 現在 156656 個のファイルとディレクトリがインストールされています。)
snmp (5.7.3+dfsg-5+b1) を削除しています ...
libsnmp30:armhf (5.7.3+dfsg-5+b1) を削除しています ...
libmariadb3:armhf (1:10.3.17-0+deb10u1) を削除しています ...
libsnmp-base (5.7.3+dfsg-5) を削除しています ...
mariadb-common (1:10.3.17-0+deb10u1) を削除しています ...
update-alternatives: /etc/mysql/my.cnf (my.cnf) を提供するために自動モードで /etc/mysql/my.cnf.fallback を使います
mysql-common (5.8+1.0.5) を削除しています ...
man-db (2.8.5-2) のトリガを処理しています ...
libc-bin (2.28-10+rpi1) のトリガを処理しています ...
#
# ls snmp
snmp.conf 【★アンインストールしたのに設定ファイルが残っている! 想定外】
# dpkg -S snmp.conf
libsnmp-base: /etc/snmp/snmp.conf 【★関連しているパッケージは libsnmp-baseだった!】
libsnmp-base: /usr/share/man/man5/snmp.conf.5.gz
# ls snmp
snmp.conf 【★設定ファイルがある】
#
# aptitude purge libsnmp-base
以下のパッケージが削除されます:
libsnmp-base{p}
更新: 0 個、新規インストール: 0 個、削除: 1 個、保留: 6 個。
アーカイブの 0 B を取得する必要があります。展開後に 2,176 kB のディスク領域が解放されます。
以下のパッケージには満たされていない依存関係があります:
snmp : 依存: libsnmp-base (>= 5.7.3+dfsg-5) インストールされません
libsnmp30 : 依存: libsnmp-base インストールされません
以下のアクションでこれらの依存関係の問題は解決されます:
以下のパッケージを削除する:
1) libsnmp30 [5.7.3+dfsg-5+b1 (now, stable)]
2) snmp [5.7.3+dfsg-5+b1 (now, stable)]
この解決方法を受け入れますか? [Y/n/q/?]Y
以下のパッケージが削除されます:
libmariadb3{u} libsnmp-base{p} libsnmp30{a} mariadb-common{u} mysql-common{u} snmp{a}
更新: 0 個、新規インストール: 0 個、削除: 6 個、保留: 6 個。
アーカイブの 0 B を取得する必要があります。展開後に 7,747 kB のディスク領域が解放されます。
先に進みますか? [Y/n/?] Y
(データベースを読み込んでいます ... 現在 156656 個のファイルとディレクトリがインストールされています。)
snmp (5.7.3+dfsg-5+b1) を削除しています ...
libsnmp30:armhf (5.7.3+dfsg-5+b1) を削除しています ...
libmariadb3:armhf (1:10.3.17-0+deb10u1) を削除しています ...
libsnmp-base (5.7.3+dfsg-5) を削除しています ...
mariadb-common (1:10.3.17-0+deb10u1) を削除しています ...
update-alternatives: /etc/mysql/my.cnf (my.cnf) を提供するために自動モードで /etc/mysql/my.cnf.fallback を使います
mysql-common (5.8+1.0.5) を削除しています ...
man-db (2.8.5-2) のトリガを処理しています ...
libc-bin (2.28-10+rpi1) のトリガを処理しています ...
(データベースを読み込んでいます ... 現在 156439 個のファイルとディレクトリがインストールされています。)
libsnmp-base (5.7.3+dfsg-5) の設定ファイルを削除しています ...
# ls snmp 【★設定ファイルが消えてる! 想定通り】
ls: 'snmp' にアクセスできません: そのようなファイルやディレクトリはありません
表示内容をよく見ると、「libsnmp-base{u}」と表示されてる時と「libsnmp-base{p}」と書かれている時があり、{u}は設定残してアンインストール、{p}は設定含めてアンインストールしているように見えました。
0 件のコメント:
コメントを投稿