우분투에 설치된 패키지 및 세부 정보를 나열하는 방법은 무엇입니까?


27

나는 우분투에 익숙하지 않으며 설치된 모든 패키지와 버전, 릴리스, 설치 시간, 우분투의 범주와 같은 세부 정보를 나열하는 방법을 찾으려고합니다. 다음 명령을 사용하면이 정보를 얻을 수 있습니다.

1) dpkg -l

2) dpkg-query -W -f='${PackageSpec}\t${version}\t${Description}\n'

Redhat과 달리 설치 시간 및 범주 정보가 누락되었습니다. 누구든지 이러한 세부 정보를 검색하는 방법을 알고 있습니까?

미리 감사드립니다.

답변:


33

간단하고 우아한 :

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

참조 : ListInstalledPackagesByDate


나는이 두 가지 방법을 보았지만 이것이 모든 버전의 우분투에서 일관된 방법인지 확실하지 않았습니다. 캐싱이 활성화 된 경우와 같이 특정 조건에서만 apt-cache가 보고서를 작성하는 경우에 한 가지 더 관심이있었습니다. 이러한 명령을 사용하여 세부 정보를 얻을 수 있습니까?
user1787572

적절한 캐시를 삭제할 수 있으며 해당 명령이 모든 정보를 반환하지는 않는 것 같습니다. 내가 틀렸다면 나를 바로 잡으십시오. dpkg --print-avail <package_name>은 apt cache가 삭제되면 동일한 세부 정보를 얻는 데 도움이됩니까?
user1787572

@ user224730 : 어떻게 삭제 할 지 모르겠지만 apt-cache그렇습니다. dpkg --print-avail충분한 정보를 얻으려면 동일한 작업을 수행하십시오. 한 가지는 당신이 있음을 유의 sudo apt-cache show명령은 항상 당신에게 몇 가지 추가 정보를 제공합니다. 이 두 명령 출력을 비교하여 확인할 수 있습니다. 1. sudo apt-cache show firefox | wc과 2. sudo dpkg --print-avail firefox | wc당신은 것을 알 수 있습니다 첫 번째 명령이 리턴에게보다 더 라인, 단어와 문자보다 숫자 2 를. 아직도 의심이 있으시면 회신하십시오 ..
Saurav Kumar

apt-get clean은 캐시를 삭제하는 방법에 대해 배운 명령입니다. 시스템에서 언급 한 명령을 모두 실행하고 apt-cache show firefox | wc는 나에게 어떤 기록을 돌려 주었지만 dpkg --print-avail | 화장실은하지 않았다. dpkg -l |를 실행하여 시스템에 firefox가 설치되어 있는지 확인했습니다. grep firefox와 나는 아무것도 얻지 못했다. 시스템에 설치된 패키지에 대해 동일한 명령을 실행했으며 apt-cache show 명령이이 패키지에 사용 가능한 최신 패치에 대한 정보도 인쇄한다는 것을 알았습니다. 즉, 패키지가 업데이트 대상입니다.
user1787572

dpkg --print-avail이 내가 찾은 명령이라는 결정으로 이어져 시스템에 설치된 패키지 레벨의 실제 정보를 얻을 수 있습니다.
user1787572

5

apt-cache showpkg <package> 사용 가능한 패키지 버전, 순방향 및 역방향 종속성 등에 대한 세부 정보를 제공합니다.

apt-cache show <package> 설명, 카테고리 (섹션) 등을 제공합니다.

패키지가 설치된 시간을 확인할 수있는 방법을 모르겠습니다.


3

이제 패키지의 설치 세부 사항을 얻는 것이 훨씬 쉽습니다.

간단한 단계는 다음과 같습니다.

  1. 다음 스크립트를 파일에 복사하여 붙여넣고 이름이 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
    
  2. 파일을 실행 파일로 만들고 복사하여 /bin명령으로 사용하십시오.

    chmod a+x pkgdetails && sudo cp pkgdetails /bin/
    
  3. 이제 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

1

텍스트 편집기를 열고 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

신용은 우분투 커뮤니티에 간다


답장을 보내 주셔서 감사합니다. 범주와 같은 세부 정보를 거의 얻지 않으려면 스크립트를 수정해야합니다.
user1787572

1

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 또는 간단한 텍스트 편집기를 사용하십시오.



0

부분 답변이 있으며 (응답을 작성하기에 충분한 담당자가 없습니다)-설치 로그는 다음과 같습니다.

sudo less /var/log/apt/term.log 

나보다 조금 더 정통한 명령 줄 인 것처럼 여기에서 스크립트를 구문 분석하기 위해 수정하려고 시도 할 수 있습니다.

http://lists.debian.org/debian-user/2002/08/msg01219.html

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.