便利なapt(dpkg)コマンド[終了]


9

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


7
これは本当に問題ではありません。
Martin Owens -doctormo- 2010年

回答:


7

私がよく使用するコマンド:

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

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

4

私がよく使用する2つは次のとおりです。

apt-get autoremove <packagename>

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

dpkg -S /path/to/file

これにより、ファイルがインストールされたパッケージがわかります。

最後にもう1つ

dpkg -l <packagename> | grep ^ii

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

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

apt-file search /path/to/file

whichdpkg -Sと一緒に使用すると便利です。例:次のような異なる名前のパッケージに含まれる実行可能ファイルの場合dpkg -S `which uname`
Benjamin Rubin

ああ、そうです、それも良いことです。
ポピー2010年

3

パッケージのChangeLogを表示する

$ 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
...

2
Ubuntu 11.04 Natty以降では、apt-get changelog sudo動作します。
Lekensteyn

3

apt-fileをインストールして、を実行しsudo apt-file updateます。インストールしていないパッケージ内のファイルを検索できるようになりました。

Ubuntuの他のバージョンのパッケージに関する情報を知る必要がある場合は、devscriptsパッケージにあるrmadisonも便利です。引数としてパッケージ名を指定すると、現在のすべてのUbuntuバージョンに存在するパッケージのバージョンと、パッケージが含まれているリポジトリセクションがわかります。

例:

[bnrubin@server:~/]$ rmadison cowsay
    cowsay |     3.03-8 | dapper/universe | source, all
    cowsay |     3.03-9 | hardy/universe | source, all
    cowsay |   3.03-9.2 | jaunty/universe | source, all
    cowsay |   3.03-9.2 | karmic/universe | source, all
    cowsay |   3.03-9.2 | lucid/universe | source, all
    cowsay | 3.03+dfsg1-2 | maverick/universe | source, all
    cowsay | 3.03+dfsg1-2 | natty/universe | source, all

apt-fileはユーザーのデータベースを管理できるようになったため、のrootである必要はありませんupdate
enzotib

apt-file かなりいいです。共有してくれてありがとう。
ゲーデル

1

リストコマンドを取得するには、「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ページを確認できます

例えば: man apt-get


1

私は3つの異なる種類のパッケージについて考えたいと思います。

  • システムパッケージ(必須パッケージまたは優先度標準以上のパッケージ)
  • ユーザーパッケージ(手動でインストールされた、優先またはオプションのパッケージ)
  • 依存関係と推奨事項(自動的にインストールされるパッケージ/システムパッケージでもユーザーパッケージでもないすべてのもの)

使用できるすべての「システムパッケージ」を表示するには

aptitude search '(~pstandard|~pimportant|~prequired|~E)'

私はそれらすべてをインストールし、手動でインストール済みとしてマークするのが好きです。

aptitude install '(~pstandard|~pimportant|~prequired|~E)!~i'
aptitude unmarkauto '(~pstandard|~pimportant|~prequired|~E)~i~M'

すべての「ユーザーパッケージ」を表示するには

aptitude search '~i!~M!(~pstandard|~pimportant|~prequired|~E)'

このリストには、必要なパッケージのみが表示されます。他のすべてのパッケージは、おそらく他のパッケージの依存関係または推奨事項にすぎないため、自動的にインストールされるものとしてマークできます

aptitude markauto libsomething

見てみましょう適性の検索タームリファレンス
エッセンシャル、必要な、重要な、標準、オプション、またはエクストラパッケージとは何ですか?背景情報について。


0
  • 他のパッケージを削除するため、またはカーネルアップグレードであるために保持されるアップグレードパッケージ:

    sudo apt-get dist-upgrade
    
  • パッケージとその構成をパージします。

    sudo apt-get purge package
    
  • セクション、バージョン、依存関係、メンテナ、説明など、パッケージデータベースで知られているパッケージの詳細を表示します。

    apt-cache show package
    
  • インストールされたパッケージ内のファイルを一覧表示する

    dpkg -L pkg
    
  • すべてのパッケージをアップグレード

    sudo apt-get upgrade
    

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.