便利な apt (dpkg) コマンド

便利な apt (dpkg) コマンド

apt-*、dpkg、aptitude など、あまり知られていないが便利な apt コマンドを投稿してください。

答え1

私がよく使うコマンド:

依存関係と逆依存関係を確認するには:

apt-cache [--important] [--installed] [--recurse] depends $package
apt-cache rdepends $package

パッケージ、すべての自動削除パッケージ、および関連するすべての設定ファイルを削除するには:

sudo apt-get --purge --auto-remove purge $package

apt実際の構成オプションを確認するには:

apt-config dump | less

コマンドラインでオプションを変更するには

$ apt-config dump | grep -i recommend
APT::Install-Recommends "1";
$ sudo apt-get -o APT::Install-Recommends="0" install $package

これは、コマンド ラインから APT オプションを指定する例にすぎません。推奨パッケージのインストールを回避するには、次を使用できます。

sudo apt-get --no-install-recommends $package

すべてのローカル/廃止されたパッケージを表示するには:

aptitude search ~o

削除されたパッケージと残りの構成を確認するには:

aptitude search ~c

そしてそれらを取り除く

sudo aptitude purge ~c

インストールされているすべてのパッケージのリストを取得するには(dpkg -l列が切り捨てられる場合があります)

dpkg --get-selections | awk '{ print $1 }'

または

dpkg-query -Wf '${Package}\n'  # other fields available, see man page

パッケージを分解、変更、再アセンブルする

dpkg-deb -x file.deb ./dir
cd dir 
dpkg-deb -e ../file.deb
# apply your modification, then... 
cd ..
dpkg-deb -b dir file-new.deb

答え2

私がよく使うのは次の 2 つです。

apt-get autoremove <packagename>

これにより、パッケージと未使用の依存関係が削除されます。これは、アプリを試してみて、不要になったと判断し、不要な部分も削除したい場合に便利です。

dpkg -S /path/to/file

ファイルがどのパッケージとともにインストールされたかがわかります。

最後にもう一つ。

dpkg -l <packagename> | grep ^ii

パッケージを一覧表示しますが、ステータスが ii であるもの、つまりインストールされているものだけが表示されるので、削除したものは表示されません。

インストールされていないファイル ( dpkg -S、ただしインストールされていないパッケージの場合) のパッケージ名を取得する場合は、以下をインストールしapt-fileて実行します。

apt-file search /path/to/file

答え3

パッケージの変更履歴を表示する

$ aptitude changelog <pkgname>

例:

$ aptitude changelog sudo
sudo (1.7.0-1ubuntu2.4) karmic-security; urgency=low

  * SECURITY UPDATE: properly handle multiple PATH variables when using
    secure_path in env.c
    - Adapted http://www.sudo.ws/repos/sudo/raw-rev/a09c6812eaec
    - CVE-2010-1646
...

答え4

「apt-」で始まるコマンドの一覧を取得するには、次の手順を実行します。ターミナルを開いて「apt-」と入力し、Tab キーを 2 回押します。これにより、「apt-」で始まるすべてのコマンドが一覧表示されます。

サンプル出力:

apt-add-repository    apt-extracttemplates  apt-key
apt-cache             apt-file              apt-mark
apt-cdrom             apt-ftparchive        apt-sortpkgs
apt-config            apt-get 

詳細な情報を得るには、特定のコマンドのマニュアルページを確認してください。

例えば:man apt-get

関連情報