apt-getを使用して最後にインストールされたパッケージのリストを取得することは可能ですか?
apt-mark showmanual | less
はそれをしませんか?
comm -12 a b
とa
のソートコピーapt-mark showmanual
とb
下記の答えの1からソートされたリスト。
apt-getを使用して最後にインストールされたパッケージのリストを取得することは可能ですか?
apt-mark showmanual | less
はそれをしませんか?
comm -12 a b
とa
のソートコピーapt-mark showmanual
とb
下記の答えの1からソートされたリスト。
回答:
何らかの方法でインストールされた、最近インストールされたパッケージをリストするコマンド(apt-get
、Software Centerなど):
grep " install " /var/log/dpkg.log
出力例:
2010-12-08 15:48:14 install python-testtools <none> 0.9.2-1
2010-12-08 15:48:16 install quickly-widgets <none> 10.09
2010-12-08 22:21:31 install libobasis3.3-sdk <none> 3.3.0-17
2010-12-09 12:00:24 install mc <none> 3:4.7.0.6-1
2010-12-09 23:32:06 install oggconvert <none> 0.3.3-1ubuntu1
2010-12-09 23:34:50 install mpg123 <none> 1.12.1-3ubuntu1
2010-12-09 23:34:52 install dir2ogg <none> 0.11.8-1
2010-12-09 23:34:53 install faad <none> 2.7-4
2010-12-09 23:34:54 install wavpack <none> 4.60.1-1
2010-12-10 11:53:00 install playonlinux <none> 3.8.6
このコマンドを実行して、最近インストールしたパッケージ名のみを一覧表示できますが、
awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log
履歴を一覧表示するコマンドapt-get
(注:これはインストールされている依存関係を一覧表示せず、apt-get
実行された以前のコマンドを一覧表示するだけです):
grep " install " /var/log/apt/history.log
出力例:
Commandline: apt-get install libindicate-doc
Commandline: apt-get install googlecl
Commandline: apt-get --reinstall install ttf-mscorefonts-installer
Commandline: apt-get install valac libvala-0.10-dev
Commandline: apt-get install libgtksourceview-dev
Commandline: apt-get install python-sphinx
Commandline: apt-get install python-epydoc
Commandline: apt-get install quickly-widgets
Commandline: apt-get install libreoffice3* libobasis3.3*
Commandline: apt-get install mc
cat /var/log/apt/history.log | grep "\ install\ " > install.log
upgrade
れますdpkg.log
Ubuntuのソフトウェアセンターには、インストール/アップグレード/削除されたすべてのパッケージの全履歴が表示されます。左側のリストの下部にある「履歴」をクリックするだけです。
dpkg.log
更新を記録します。
次のトリックは、これを手動でインストールされたパッケージに制限するというAleksandr Dubinskyの要求に答えます。
comm -12 <(apt-mark showmanual | sort) <(grep " install " /var/log/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)
comm -12
2つのソートされたファイルに共通の行をリストします。<(command)
の出力を含むファイルの名前に展開されますcommand
。apt-mark showmanual
手動でインストールされたパッケージをリストします。すなわち。決して自動削除されるべきではないもの。grep " install " /var/log/dpkg.log
受け入れられた回答から取得されます。別の方法として、より多くの情報を時系列で表示し、利用可能なすべてのログにアクセスする方法は次のとおりです。
zcat -f /var/log/dpkg.log* | grep " install " | sort > /tmp/dpkg.log
grep -F "`comm -12 <(apt-mark showmanual | sort) <(cat /tmp/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)`" /tmp/dpkg.log | grep \<none\>
grep \<none\>
結果を新規インストールに制限します。たとえば、grepを使用grep 2016-0[567]
して、最初のパイプラインに追加することにより、検索を3か月の期間に制限できます。それは非常に柔軟です。
grep -F
部分一致を見つけるため、最後のコマンドにバグがあります。たとえば、python3
がインストールされている場合、インストールされpython3-click-package
ていないものも含めて、すべてのpython3ライブラリ()に一致します。また、単語の境界であるgrep -Fw
ため-
、助けにはなりません。
最近インストールされたパッケージ名のみを選択し、すべて1行で印刷します。
そのためには、最も投票された回答を次のように変更します。
cat /var/log/dpkg.log |awk '/ install / {printf "%s ",$4}'
これにより、パッケージ名が1行になります。このような行は、sudo apt-get purge
コマンドに簡単に追加できます。
出力例
libgnome-media-profiles-3.0-0 gstreamer0.10-gconf gnome-media gnome-menus librest-0.7-0 libgoa-1.0-common libgoa-1.0-0 libwacom-common libwacom2 ubuntu-docs apg libgnome-control-center1 libgnomekbd-common libgnomekbd7 gnome-control-center-data gnome-icon-theme-symbolic gnome-settings-daemon ubuntu-system-service gnome-control-center gnome-online-accounts gnome-session-bin indicator-power mousetweaks
人気のある需要により、ここにパッケージを次々にリストするためのわずかに適合したバージョンがあります:
cat /var/log/dpkg.log |awk '/ install / {printf "%s\n",$4}'
cat
コマンドの出力を解析しないでください。これはawk '$3~/^install$/ {print $4;}' /var/log/dpkg.log
どうですか?
awk
コマンドは、パッケージを上下に印刷します。鉱山の1 次別。そのため、出力例が時々役立つことがあります。
wajigと呼ばれるパッケージがあります。コマンドラインを確認してください。これは、私が最初にインストールするものです。aptitudeに似ていますが、コマンドディスパッチャーが機能することを期待するように機能する点が異なります。本当に、それは適性のようなものではありません。以下のコマンドはほんの一部です。
wajig help
Common JIG commands:
update Update the list of downloadable packages
new List packages that became available since last update
newupgrades List packages newly available for upgrading
install Install (or upgrade) one or more packages or .deb files
remove Remove one or more packages (see also purge)
toupgrade List packages with newer versions available for upgrading
upgrade Upgrade all of the installed packages or just those listed
listfiles List the files that are supplied by the named package
listnames List all known packages or those containing supplied string
whatis For each package named obtain a one line description
whichpkg Find the package that supplies the given command or file
Run 'wajig -v commands' for a complete list of commands.
wajig
最新のパッケージを一覧表示する方法がわかりません。コマンドをざっと見てから、そのためのコマンドが表示されません。コマンドが何であるか知っていますか?
DoRの答えに加えて、GUIを好む人のために、Synapticには[ファイル]-> [履歴]メニュー項目があります。
dpkgのインストール済みファイルをリストするシェルを次に示します。(すべてのapt / aptitude / software center / synapticインストール済みパッケージが含まれている必要があります)
grep -A 1 "Package: " /var/lib/dpkg/status | \
grep -B 1 -Ee "ok installed|half-installed|unpacked|half-configured|config-files" -Ee "^Essential:yes" | \
grep "Package:" | cut -d\ -f2
これには、インストール日時情報は含まれません。しかし、osのインストールから現在までにインストールされたパッケージの違いを判断するのに役立つかもしれません。
Software CenterまたはSynapticでインストール履歴を表示する際の問題は、コンテンツをコピーして電子メールに貼り付けるのが難しいことです(たとえば、テクニカルサポートに問い合わせるとき!)。別の方法は、ログファイルの内容を/var/log/apt
ルートとして表示することです。
/var/log/apt
、rootである必要はなく、管理者の特権も必要ありません。