私はubuntuが初めてで、インストールされているすべてのパッケージと、Ubuntuのバージョン、リリース、インストール時間、カテゴリなどの詳細を一覧表示する方法を探しています。次のコマンドは、この情報の一部を取得するのに役立ちます。
1)dpkg -l
2)dpkg-query -W -f='${PackageSpec}\t${version}\t${Description}\n'
Redhatとは異なり、これにはインストール時間とカテゴリ情報がありません。誰でもこれらの詳細を取得する方法を知ることができますか?
前もって感謝します。
シンプルでエレガント:
Sudo dpkg -l | more
または
Sudo dpkg -l | less
特定のパッケージの説明を取得する場合は、firefox
と言います。
Sudo dpkg -l | grep firefox
ここに私の出力があります:
$ Sudo dpkg -l | more
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-===========================================-=======================================-==============================================================
================
ii accountsservice 0.6.15-2ubuntu9.4 query and manipulate user account information
ii acl 2.2.51-5ubuntu1 Access control list utilities
ii acpi-support 0.140 scripts for handling many ACPI events
ii acpid 1:2.0.10-1ubuntu3 Advanced Configuration and Power Interface event daemon
ii activity-log-manager-common 0.9.4-0ubuntu3.2 blacklist configuration for Zeitgeist (assets)
ii activity-log-manager-control-center 0.9.4-0ubuntu3.2 blacklist configuration for Zeitgeist (control center integrat
ion)
ii adduser 3.113ubuntu2 add and remove users and groups
ii adium-theme-ubuntu 0.3.2-0ubuntu1 Adium message style for Ubuntu
ii aisleriot 1:3.2.3.2-0ubuntu1 Solitaire card games
ii akonadi-backend-mysql 1.7.2-0ubuntu1 MySQL storage backend for Akonadi
ii akonadi-server 1.7.2-0ubuntu1 Akonadi PIM storage service
ii alacarte 0.13.2-2ubuntu4 easy GNOME menu editing tool
ii alsa-base 1.0.25+dfsg-0ubuntu1 ALSA driver configuration files
ii alsa-utils 1.0.25-1ubuntu5 Utilities for configuring and using ALSA
ii anacron 2.3-14ubuntu1 cron-like program that doesn't go by time
ii apg 2.2.3.dfsg.1-2 Automated Password Generator - Standalone version
ii app-install-data 0.12.04.4 Ubuntu applications (data files)
ii app-install-data-partner 12.12.04.1 Application Installer (data files for partner applications/rep
ositories)
ii apparmor 2.7.102-0ubuntu3.7 User-space parser utility for AppArmor
ii appmenu-gtk 0.3.92-0ubuntu1.1 Export GTK menus over DBus
ii appmenu-gtk3 0.3.92-0ubuntu1.1 Export GTK menus over DBus
ii appmenu-qt 0.2.6-0ubuntu1 appmenu support for Qt
ii apport 2.0.1-0ubuntu17.1 automatically generate crash reports for debugging
ii apport-gtk 2.0.1-0ubuntu17.1 GTK+ frontend for the apport crash report system
ii apport-symptoms 0.16.1 symptom scripts for apport
ii apt 0.8.16~exp12ubuntu10.7 commandline package manager
ii apt-transport-https 0.8.16~exp12ubuntu10.7 https download transport for APT
ii apt-utils 0.8.16~exp12ubuntu10.7 package managment related utility programs
--More--
cat /var/log/dpkg.log | grep " install "
特定のパッケージを取得するには:
$cat /var/log/dpkg.log | grep " install " | grep banshee
2013-12-12 12:51:48 install banshee <none> 2.4.1-3ubuntu1~precise2
2013-12-12 12:51:51 install banshee-extensions-common <none> 2.4.0-1ubuntu1
2013-12-12 12:51:51 install banshee-extension-radiostationfetcher <none> 2.4.0- 1ubuntu1
2013-12-12 12:51:51 install banshee-extension-soundmenu <none> 2.4.1-3ubuntu1~precise2
$apt-cache show firefox | grep Section
Section: web
apt-cache showpkg <package>
は、使用可能なパッケージのバージョン、依存関係の順方向および逆方向などの詳細を提供します。
apt-cache show <package>
は、説明、カテゴリ(セクション)などを提供します。
パッケージがいつインストールされたかを確認する方法を知りません。
パッケージのインストールの詳細を取得するのがはるかに簡単になりました。
簡単な手順は次のとおりです。
次のスクリプトをコピーしてファイルに貼り付け、pkgdetails
などの名前で保存します。
#!/bin/bash
#Get the details and section of installed packages
# usage:
# pkgdetails <pkgname1> <pkgname2>
#first append all info from archived logs
i=2
mycount=$(ls -l /var/log/dpkg.log.*.gz | wc -l)
nlogs=$(( $mycount + 1 ))
while [ $i -le $nlogs ]
do
if [ -e /var/log/dpkg.log.$i.gz ]; then
zcat /var/log/dpkg.log.$i.gz | grep "\ install\ " >> $HOME/pkgtmp.txt
fi
i=$(( $i+1 ))
done
#next append all info from unarchived logs
i=1
nulogs=$(ls -l /var/log/dpkg.log.* | wc -l)
nulogs=$(( $nulogs - $nlogs + 1 ))
while [ $i -le $nulogs ]
do
if [ -e /var/log/dpkg.log.$i ]; then
cat /var/log/dpkg.log.$i | grep "\ install\ " >> $HOME/pkgtmp.txt
fi
i=$(( $i+1 ))
done
#next append current log
cat /var/log/dpkg.log | grep "\ install\ " >> $HOME/pkgtmp.txt
#sort text file by date
sort -n $HOME/pkgtmp.txt > $HOME/pkginstalls.txt
rm $HOME/pkgtmp.txt
# Now displaying the installation details of packages passed as arguments
for pkg in $@
do
echo "--------------------- Installation Details of $pkg ----------------------"
echo
cat $HOME/pkginstalls.txt | grep -i $pkg
echo
apt-cache show $pkg | grep "Section" | sort -u
echo
done
exit 0
ファイルを実行可能にし、/bin
にコピーしてコマンドとして使用します。
chmod a+x pkgdetails && Sudo cp pkgdetails /bin/
pkgdetails
コマンドを使用して、インストールの詳細とパッケージのセクションを取得します。
pkgdetails qbittorrent artha
これが私の出力です:
--------------------- Installation Details of qbittorrent ----------------------
2013-07-24 07:52:27 install qbittorrent <none> 2.9.7-1
2013-07-24 09:11:32 install qbittorrent <none> 3.0.x-0~4366-20130722~precise1
2013-10-19 05:32:27 install qbittorrent <none> 3.0.x-0~4389-20130802~precise1
Section: net
Section: universe/net
--------------------- Installation Details of artha ----------------------
2013-07-11 23:50:16 install artha <none> 1.0.2-1ubuntu1
Section: universe/utils
テキストエディタを開き、anyname.shで以下を貼り付けて、実行可能にします
chmod +x anyname.sh
コード:
#!/bin/bash
#pkginstalls.sh
#creates text file with a list of all packages installed by date
#first append all info from archived logs
i=2
mycount=$(ls -l /var/log/dpkg.log.*.gz | wc -l)
nlogs=$(( $mycount + 1 ))
while [ $i -le $nlogs ]
do
if [ -e /var/log/dpkg.log.$i.gz ]; then
zcat /var/log/dpkg.log.$i.gz | grep "\ install\ " >> $HOME/pkgtmp.txt
fi
i=$(( $i+1 ))
done
#next append all info from unarchived logs
i=1
nulogs=$(ls -l /var/log/dpkg.log.* | wc -l)
nulogs=$(( $nulogs - $nlogs + 1 ))
while [ $i -le $nulogs ]
do
if [ -e /var/log/dpkg.log.$i ]; then
cat /var/log/dpkg.log.$i | grep "\ install\ " >> $HOME/pkgtmp.txt
fi
i=$(( $i+1 ))
done
#next append current log
cat /var/log/dpkg.log | grep "\ install\ " >> $HOME/pkgtmp.txt
#sort text file by date
sort -n $HOME/pkgtmp.txt > $HOME/pkginstalls.txt
rm $HOME/pkgtmp.txt
exit 0
また、インストールされたパッケージをリストすることもできます:
apt list --installed
手動でインストールされたパッケージは次のように表示されます。
apt list --manual-installed
およびすべてのバージョン:
apt list --all-versions
これらは非常に便利なコマンドです。たとえば、ローカルにインストールされたパッケージを別のコンピューターにインストールする場合、必要なことは
apt list --installed | awk -F/ -v ORS=" " 'NR>1 {print $1}' > apt_packages.txt
または、手動でインストールしたパッケージのみが必要な場合
apt list --manual-installed | awk -F/ -v ORS=" " 'NR>1 {print $1}' > apt_packages.txt
これで、すべてのapt-packagesを別のまたは新しくインストールしたUbuntuシステムにインストールする準備が整いました。
Sudo apt-get install < apt_packages.txt
when、whatおよびwhichパッケージが削除されたことを正確に知りたい場合は、
/var/log/apt
ディレクトリ。 history.log
ファイルを検索します。 sed、awk、grepを使用するか、テキストエディタを使用して履歴ファイルを検索します。
このサイトを見る必要があります https://help.ubuntu.com/community/AptGet/Howto ここに表示されます。
apt-cache show
apt-cache pkgnames
私は部分的な答えを持っています(これをコメントにするのに十分な担当者がいません)-インストールログはここにあります:
Sudo less /var/log/apt/term.log
あなたは私よりもコマンドラインに精通しているように見えるので、ここでスクリプトを変更して解析してみてください。