回答:
私がよく使用するコマンド:
依存関係と逆依存関係を確認するには:
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つは次のとおりです。
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
which
dpkg -Sと一緒に使用すると便利です。例:次のような異なる名前のパッケージに含まれる実行可能ファイルの場合dpkg -S `which uname`
$ 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
...
apt-get changelog sudo
動作します。
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
。
apt-file
かなりいいです。共有してくれてありがとう。
リストコマンドを取得するには、「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
私は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
見てみましょう適性の検索タームリファレンスと
エッセンシャル、必要な、重要な、標準、オプション、またはエクストラパッケージとは何ですか?背景情報について。
他のパッケージを削除するため、またはカーネルアップグレードであるために保持されるアップグレードパッケージ:
sudo apt-get dist-upgrade
パッケージとその構成をパージします。
sudo apt-get purge package
セクション、バージョン、依存関係、メンテナ、説明など、パッケージデータベースで知られているパッケージの詳細を表示します。
apt-cache show package
インストールされたパッケージ内のファイルを一覧表示する
dpkg -L pkg
すべてのパッケージをアップグレード
sudo apt-get upgrade