태그 보관물: dpkg

dpkg

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

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

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

참조 : ListInstalledPackagesByDate


답변

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

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

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


답변

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

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

  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

답변

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

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

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