나는 우분투에 익숙하지 않으며 설치된 모든 패키지와 버전, 릴리스, 설치 시간, 우분투의 범주와 같은 세부 정보를 나열하는 방법을 찾으려고합니다. 다음 명령을 사용하면이 정보를 얻을 수 있습니다.
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>
설명, 카테고리 (섹션) 등을 제공합니다.
패키지가 설치된 시간을 확인할 수있는 방법을 모르겠습니다.
답변
이제 패키지의 설치 세부 사항을 얻는 것이 훨씬 쉽습니다.
간단한 단계는 다음과 같습니다.
-
다음 스크립트를 파일에 복사하여 붙여넣고 이름이 say로 저장하십시오
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 사용
설치된 패키지를 다음과 함께 나열 할 수도 있습니다.
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 패키지가 다른 또는 새로 설치된 Ubuntu 시스템에 설치할 준비가되었습니다.
sudo apt-get install < apt_packages.txt
상세 설명
정확히 알고 싶다면 때 , 무엇을 하고 어떤 패키지이 제거 된 경우에서 볼 필요가 당신의
/var/log/apt
예배 규칙서. history.log
파일 에서 검색 하십시오. 기록 파일을 검색 하려면 sed , awk , grep 또는 간단한 텍스트 편집기를 사용하십시오.
답변
이 사이트를 봐야합니다 https://help.ubuntu.com/community/AptGet/Howto
여기에서 볼 수 있습니다.
적절한 캐시 쇼
apt- 캐시 pkgnames
답변
부분 답변이 있으며 (응답을 작성하기에 충분한 담당자가 없습니다)-설치 로그는 다음과 같습니다.
sudo less /var/log/apt/term.log
나보다 조금 더 정통한 명령 줄 인 것처럼 여기에서 스크립트를 구문 분석하기 위해 수정하려고 시도 할 수 있습니다.