설치된 모든 패키지를 나열하는 방법


1884

설치된 모든 패키지 목록을 텍스트 파일로 출력하여이를 검토하고 다른 시스템에서 대량 설치를 수행하고 싶습니다. 어떻게해야합니까?


7
이것은 이미 여기에 답변 되었습니다 .
Simon Quigley

2
와우, 답변을 통해이를 달성하는 방법이 너무 많은 것 같습니다 : /
Madivad

2
이러한 텍스트 파일을 사용하여 새 시스템에서 대량 설치를 수행하려면 어떻게합니까?
엘리시움

2
@Madivad이 패키지 관리자는 한 번 삶 쉽게 ...하기로되어 있었다
르네 Nyffenegger

답변:


2135

우분투 14.04 이상

apt위의 우분투 14.04 및 도구이 매우 쉽습니다.

apt list --installed

이전 버전

로컬로 설치된 패키지 목록을 얻으려면 터미널에서 다음을 수행하십시오.

dpkg --get-selections | grep -v deinstall

합니다 ( -v태그 "반전"그렙 비 매칭 라인을 반환)

설치된 특정 패키지 목록을 얻으려면

dpkg --get-selections | grep postgres

이 목록을 packages데스크탑에서 호출 된 텍스트 파일로 저장하려면 터미널에서 다음을 수행하십시오.

dpkg --get-selections | grep -v deinstall > ~/Desktop/packages

또는 간단히

dpkg -l

(이러한 명령을 수퍼 유저로 실행할 필요가 없으므로 sudo여기에 필요한 다른 변형은 없습니다 )


37
그런 다음 새 컴퓨터에 설치할 때 cat ~/Desktop/packages > sudo dpkg --set-selections && sudo apt-get dselect upgrade 소스를 수행하십시오
koanhead

13
dpkg 구문은 @koanhead 명령이 작동하지 않아 2006 년 이후 약간 변경되었을 수 있습니다. sudo dpkg --set-selections < ~/Desktop/packages && sudo apt-get -u dselect-upgrade트릭을 수행합니다.
제임스

219
이것은 사용자가 명시 적으로 설치 한 패키지와 종속성으로 설치된 패키지는 추적하지 않습니다. 즉,이 방법을 사용하여 다른 컴퓨터에서 설정을 다시 만들면 apt는 주어진 패키지를 제거 할 때 불필요한 종속성을 제거 할 수 없습니다.
intuited

73
@intuited의 의견을 커뮤니티가 더 잘 이해하지 못한다는 것은 슬프고 놀라운 일입니다. "우수 등급이 높은"기여자들이 새로운 우분투 버전에서 단순히 이전 패키지를 다시로드하는 것은 좋은 생각이 아니라는 조언을하기 전에 더 많은 생각을 멈출 것입니까? 모든 dpkg 옵션을 사용하면 여전히 해당 목록을 다시로드하고 종속성을 설치할 수 있도록 사용자가 '명확하게'설치 한 패키지를 가져 오는 패키지가 표시되지 않습니다. 알고 싶습니다. 정보를 공유하십시오. 그 동안 실제로 다시 설치하는 데 필요한 패키지 목록을 작성하고 실행하십시오.
Ricalsin

62
우리 모두는 리눅스가 사진 메모리가없는 사람들을 차별하지만, 심각하게 무엇이 문제인지를 알고 있습니다 apt list installed. 언젠가 우리는 "간단한 것들을 쉽게 유지"원칙을 체계적으로 실패하지 말아야합니다.

414

(종속성으로 설치된 것이 아니라) 명시 적으로 설치된 패키지 만 가져 오려면 다음을 실행하십시오.

aptitude search '~i!~M'

여기에는 원하는 간단한 설명도 포함됩니다. 그렇지 않은 경우 -F '%p'karthick87에서 언급 한대로 옵션을 추가하십시오 .


또 다른 옵션은 /var/lib/apt/extended_states다음 형식의 텍스트 파일 데이터베이스 인 파일을 복사하는 것 같습니다 .

Package: grub-common
Architecture: amd64
Auto-Installed: 0

Package: linux-headers-2.6.35-22-generic
Architecture: amd64
Auto-Installed: 1

Auto-Installed: 0 는 패키지가 명시 적으로 설치되었으며 단순한 종속성이 아님을 나타냅니다.


52
이것이 정답이어야합니다. 종속성을 나열하는 이유는 무엇입니까?
Stavros Korokithakis

13
이것이 대답 이 되어야 하지만 불행하게도 Multiarch ( 현재 수정 중) 때문에 적성을 사용 하는 것은 약간 신뢰할 수 없습니다 . 명시 적으로 설치된 패키지 만 나열하고이를 수행하는 방법을 지적하는 데 여전히 +1입니다 (현재 11.10 이상에서는 작동하지 않음).
gertvdijk

4
정확한 정보를위한 @intuited "Fix Release"(일부 전). :)
gertvdijk 2016 년

11
여기에는 Ubuntu 13.10에 수동으로 설치된 패키지뿐만 아니라 모든 패키지가 나열됩니다.
Eamon Nerbonne

5
같은 결과를 얻을 수있는 방법이 apt-get있습니까?
Javier Arias

203

apt 명령으로 의도적으로 설치된 ( 패키지가 아닌) 모든 패키지를 나열하려면 다음을 실행하십시오.

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
  egrep '^(Start-Date:|Commandline:)' |
  grep -v aptdaemon |
  egrep '^Commandline:'

이는 이전 명령이 먼저 나열된 역방향 시간 기반보기를 제공합니다.

Commandline: apt-get install k3b
Commandline: apt-get install jhead
...

설치 데이터에도 시냅스 사용법이 표시되지만 세부 정보는 없습니다 (설치 날짜와 동일).

(zcat $(ls -tr /var/log/apt/history.log*.gz); cat /var/log/apt/history.log) 2>/dev/null |
  egrep '^(Start-Date:|Commandline:)' |
  grep -v aptdaemon |
  egrep -B1 '^Commandline:'

다음을 제공합니다.

Start-Date: 2012-09-23  14:02:14
Commandline: apt-get install gparted
Start-Date: 2012-09-23  15:02:51
Commandline: apt-get install sysstat
...

3
또는 (zgrep 사용 및 업데이트 메시지 제거) :zgrep -hE '^(Start-Date:|Commandline:)' $(ls -tr /var/log/apt/history.log*.gz ) | egrep -v 'aptdaemon|upgrade' | egrep -B1 '^Commandline:'
belacqua

3
이 방법은 dpkg??로 설치된 패키지를 놓치게됩니까 ?
drevicko 2016 년

5
위의 간단한 답변은 일반 사용자에게 좋습니다. 이 방법은 시스템에서 수행 된 모든 사용자 정의를 역 추적하는 데 가장 적합합니다. 기본 이미지에서 제거되거나 추가 된 내용도 수행 된 순서대로 나열하여 표시되며, 올바른 순서로 다른 시스템에 다시 추가하십시오.
AllGamer

3
@drevicko 당신이 맞습니다, 그것은 dpkg와 함께 설치된 패키지를 나열하지 않습니다
Steve Buzonas

3
이것은 조직 된 상태를 유지하는 데 매우 편리합니다. 어떤 이유로 든 뇌가이 방식을 선호합니다.
JeremyFelix

191

현재 설치된 패키지의 백업을 작성하십시오.

dpkg --get-selections > list.txt

그런 다음 (다른 시스템에서) 해당 목록에서 설치를 복원하십시오.

dpkg --clear-selections
sudo dpkg --set-selections < list.txt

오래된 패키지를 제거하려면

sudo apt-get autoremove

백업시와 같이 설치하려면 (예 :에서 설정 한 패키지 설치 dpkg --set-selections) :

sudo apt-get dselect-upgrade

5
다른 머신에서 복원하는 방법에 대한 유용한 정보. +1.
Drew Noakes

15
두 개의 다른 우분투 12.04 시스템 사이에서 마이그레이션하면이 방법으로 시스템이 손상되었습니다. 어떻게 든 ubuntu-desktopdpkg 명령 중 하나로 인해 제거 된 것을 알기까지 다소 시간 이 걸렸습니다 . 조심, 손상을 복구하는 데 시간이 걸렸습니다!
Karl Frisk

1
때로는 시스템이 시스템이 시스템을 만지지 않기를 원하는 앱을 업데이트합니다 sudo apt-mark hold name-your-package . 명령이 끝나면 실행하십시오 . 이렇게하면 apt-get이 업데이트 프로세스의 기본값 인 현재 버전으로 업그레이드되지 않습니다.
Faron

77
apt-mark showmanual

매뉴얼 페이지 상태 :

수동으로 설치된 패키지 목록을 인쇄합니다

따라서 명시 적으로 설치된 패키지 목록 (기본 초기 설치의 일부인 패키지도 포함)을 제공해야합니다 (패키지 설치로 인한 모든 종속성 포함).

결과를 텍스트 파일로 출력하려면

apt-mark showmanual > list-manually-installed.txt

데비안에서 "apt-mark showmanual"은 "squeeze"에서는 작동하지 않지만 "wheezy"에서는 작동했습니다
Wadih M.

11
대부분의 다른 답변과 마찬가지로 apt-mark showmanual실제로는 그렇지 않습니다. 또한 기본 설치의 일부인 자동으로 설치된 수많은 패키지를 나열합니다.
mivk

8
문제는 설치된 패키지에 대한 것이었고 이것은 설치된 모든 패키지에서 자동으로 설치된 종속성을 뺀 것입니다. 초기 설치의 일부로 초기 패키지가 포함됩니다. 기본 설치 목록을 얻기 위해 새 설치에서 이것을 실행 한 다음 차이점을 확인하기 위해 이것을 제거 할 수 있다고 생각합니다.
Tim Tisdall

5
수동으로 설치된 패키지를 나열하기 위해이 대안을 언급 한 사람은 없습니다 apt list --manual-installed.
Pablo A

41

dpkg-query(대신에 dpkg --get-selections설치되지 않은 일부 패키지가 나열 됨)는 다음과 같습니다.

dpkg-query -W -f='${PackageSpec} ${Status}\n' | grep installed |  sort -u | cut -f1 -d \ > installed-pkgs

또는:

dpkg -l | grep ^ii | sed 's_  _\t_g' | cut -f 2 > installed-pkgs

# for pkg in `cat installed-pkgs`; do apt-get install -y $pkg; done두 번째 시스템에서 타이핑 하면 패키지를 설치하기 위해이 작업을 수행했습니다.
user9869932

1
@julianromera : apt-get install -y $(< installed-pkgs)apt-get이 한 번만 실행되고 모든 종속성을 한 번에 처리하도록합니다.
jamadagni

@julianromera ... 잘못하면 수정하지만 일반적으로 설치하기 전에 종속성이있는 응용 프로그램을 빌드하면됩니다 sudo apt-get build-dep name-package; sudo apt-get install name-package; .
Faron

39

설치된 모든 패키지를 나열하려면

dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt

또는

aptitude search -F '%p' '~i' > 1.txt

또는

dpkg --get-selections > 1.txt

참고 :
홈 폴더에 결과 1.txt 파일이 표시되거나 고유 한 경로를 지정할 수 있습니다.


35

Synaptic을 사용하여 설치된 패키지의 현재 상태를 저장할 수 있습니다. Synaptic에서 "파일 / 저장 표시"를 선택하고 상태를 저장할 파일 이름을 입력 한 다음 "변경 사항뿐만 아니라 전체 상태 저장"상자를 확인하십시오.

여기에서 저장된 파일은 Synaptic의 "파일 / 읽기 표시"를 사용하여 새 컴퓨터로로드 할 수 있습니다.


34

청사진을 사용하는 것이 좋습니다 . 서버용으로 설계되었지만 데스크탑에서도 사용할 수 있습니다. 패키지를 모두 다시 설치하는 데 사용할 수있는 쉘 스크립트 / chef / puppet을 작성합니다.


완전한 미러를 시도하지는 않지만 구성 파일을 고려한 사실만이 훌륭합니다. 나는 한동안 그런 도구를 찾고있었습니다. 대단히 감사합니다!
tbolender

33

12.04에 패키지를 다시 설치 하시겠습니까?

그렇다면 매우 쉽습니다. "Ubuntu Single Sign On 계정"이 필요합니다. (시스템이 동기화되도록 다시 설치하기 전에 생성하십시오.)

  1. 소프트웨어 센터로 이동하여 파일 메뉴에서 "컴퓨터 간 동기화 ..."옵션을 찾으십시오.

  2. 클릭하면 컴퓨터가 등록되어 있고 컴퓨터의 모든 앱 목록이 표시됩니다.

  3. 새로 설치하면 해당 컴퓨터는 새 컴퓨터로 간주됩니다.

  4. 우분투 계정에 로그인하면 이전 컴퓨터가 표시됩니다.

  5. 그것을 클릭하십시오; 모든 앱 목록이 나타납니다. 설치하려는 앱에서 "설치"를 선택하십시오.


매번 Ubuntu One 서버에서 대량 다운로드를 방지하기 위해 새로 설치 한 컴퓨터에 동일한 이름을 설정했습니다. 이것이 나를 위해 작동한다고 생각합니까?
Alen

32

Aptik (명령 줄 및 GUI) 이라는 도구도 있습니다.이 도구 를 사용하면 설치된 모든 패키지 목록을보고 일부 패키지를 선택 / 선택 취소하고 백업 목록을 만든 다음 동일한 패키지 세트를 복원 할 수 있습니다. 다른 시스템.

설치하기 위해서:

sudo add-apt-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install aptik

추가 정보 : https://teejeetech.in/aptik/

여기에 이미지 설명을 입력하십시오

스크린 샷에서 볼 수 있듯이 Aptik을 사용하면 PPA를 백업 및 복원 할 수 있으며 설치된 일부 패키지를 설치하는 데 반드시 필요합니다.


GUI를 원한다면, 설치해야 apt-get install aptik-gtk합니다
Maduka Jayalath

30

APT 복제 . 이 패키지는 apt 기반 시스템에서 패키지를 복제 / 복원하는 데 사용할 수 있습니다.

  • 패키지, source.list, 키링 및 자동 설치 상태를 저장 / 복원합니다.
  • 또한 dpkg-repack을 사용하여 더 이상 다운로드 할 수없는 패키지를 저장 / 복원 할 수 있습니다.

출처: man apt-clone

APT-Clone은 ubiquity업그레이드 프로세스를 위해 (Ubuntu 설치 관리자)에서 사용합니다. 다음과 같은 dpkg --get-selections이유로 솔루션 보다 훨씬 낫습니다 .

  1. 모든 리포지토리 정보를 유지합니다.
  2. 자동으로 설치된 패키지를 추적합니다.
  3. 로컬로 설치된 DEB 파일을 다시 포장 할 수 있습니다.

사용하는 방법

  1. 설치

    sudo apt-get install apt-clone
    
  2. 백업 만들기

    sudo apt-clone clone path-to/apt-clone-state-ubuntu-$(lsb_release -sr)-$(date +%F).tar.gz
    
  3. 백업 복원

    sudo apt-clone restore path-to/apt-clone-state-ubuntu.tar.gz
    

    최신 릴리스로 복원 :

    sudo apt-clone restore-new-distro path-to/apt-clone-state-ubuntu.tar.gz $(lsb_release -sc)
    

다른 기계에서 복원하기 전에 쉽게 편집하고 검토 할 수있는 간단한 zip 압축 tar 파일을 만듭니다. 다음은 그 구조의 예입니다.

/
├── etc
│   └── apt
│       ├── preferences.d
│       ├── sources.list
│       ├── sources.list.d
│       │   ├── anton_-ubuntu-dnscrypt-vivid.list
│       │   ├── maarten-baert-ubuntu-simplescreenrecorder-vivid.list
│       │   └── megasync.list
│       ├── trusted.gpg
│       └── trusted.gpg.d
│           ├── anton__ubuntu_dnscrypt.gpg
│           ├── anton__ubuntu_dnscrypt.gpg~
│           ├── maarten-baert_ubuntu_simplescreenrecorder.gpg
│           └── maarten-baert_ubuntu_simplescreenrecorder.gpg~
└── var
    └── lib
        └── apt-clone
            ├── extended_states
            ├── installed.pkgs
            └── uname

26

거기 유닉스 StackExchange에 큰 설명 종속으로 설치되지 않은 패키지를 나열 적성을 사용하는 방법과 여러분의 우분투 릴리스에 대한 기본 패키지 목록과 그 목록을 비교하는 방법에 대해 설명합니다.

데스크톱 버전 12.04 이상의 매니페스트 파일을 얻으려면 이 사이트를 방문 하여 릴리스를 선택한 다음 CD 이미지 아래로 스크롤하여 파일 섹션으로 이동하십시오. 아키텍처와 일치하는 "ubuntu-12.04.4-desktop-amd64 + mac.manifest"와 같은 것을 찾을 수 있습니다.

서버 버전의 경우 원본 시스템을 설치하는 데 사용 된 ISO에서 매니페스트 파일을 가져와야합니다. VPS 또는 클라우드 서버의 경우 공급자가 이미지를 사용 가능하게 만들거나 문의해야 할 수 있습니다.

다음은 참조 된 게시물의 코드를 새 서버에 설치하기위한 수정과 함께 사용하는 예입니다.

이전 서버 (다른 게시물의 코드, 출력은 파일에 저장 됨) :

aptitude search '~i !~M' -F '%p' --disable-columns | sort -u > currently-installed.list
wget -qO - http://mirror.pnl.gov/releases/precise/ubuntu-12.04.3-desktop-amd64.manifest \
  | cut -f1 | sort -u > default-installed.list
comm -23 currently-installed.list default-installed.list > user-installed.list

새 서버에서 scp를 사용하여 파일을 복사 한 다음 sed를 사용하여 모든 행에 'install'을 추가하십시오 (-i는 인라인 대체를 수행함). 그런 다음 목록을 'dpkg --set-selections'에 대한 입력으로 사용하고 apt-get을 사용하여 패키지를 설치할 수 있습니다.

scp user@oldserver:user-installed.list .
sed -i 's/$/\tinstall/' user-installed.list
sudo dpkg --set-selections < user-installed.list
sudo apt-get dselect-upgrade

이 작업을 시작하기 전에 처음에 언급 된 게시물의 모든 부분을 읽고 이해 한 다음 검색 패턴에 대한 자세한 내용 은 적성 참조 안내서 를 참조하십시오.


25

apt아래 /var/log/apt/dpkg로그 와 아래 의 로그를 볼 수 있습니다./var/log/

다음 명령으로 설치된 패키지 목록을 얻을 수 있습니다.

dpkg -l | grep '^ii '

23

이 목적위해apt-cache 설계된 명령 이 위에서 언급되지 않은 것에 놀랐습니다 ...

apt-cache pkgnames

자세한 내용을 보려면 다음을 실행하십시오 apt-cache --help.

** apt-cache는 정보를 쿼리하는 데 사용되는 저수준 도구입니다
APT 바이너리 캐시 파일에서

명령 :
   gencaches-패키지 및 소스 캐시 모두 빌드
   showpkg-단일 패키지에 대한 일반적인 정보 표시
   showsrc-소스 레코드 표시
   통계-기본 통계 표시
   dump-전체 파일을 간결한 형식으로 표시
   dumpavail-사용 가능한 파일을 stdout에 인쇄
   unmet-충족되지 않은 종속성 표시
   search-패키지 목록에서 정규식 패턴을 검색하십시오.
   show-패키지에 대한 읽을 수있는 레코드를 표시합니다
   종속-패키지에 대한 원시 종속성 정보 표시
   rdepends-패키지에 대한 역방향 종속성 정보 표시
   pkgnames-시스템의 모든 패키지 이름을 나열합니다
   dotty-GraphViz에 대한 패키지 그래프 생성
   xvcg-xvcg에 대한 패키지 그래프 생성
   정책-정책 설정 표시

옵션 :
  -h이 ​​도움말 텍스트입니다.
  -p =? 패키지 캐시.
  -s =? 소스 캐시.
  -q 진행 표시기를 비활성화합니다.
  -i unmet 명령에 중요한 dep 만 표시합니다.
  -c =? 이 구성 파일을 읽으십시오
  -o =? 임의의 구성 옵션을 설정하십시오 (예 : -o dir :: cache = / tmp).
자세한 내용은 apt-cache (8) 및 apt.conf (5) 매뉴얼 페이지를 참조하십시오.
**

5
TLDR; 나는 결국 apt --installed list최상의 결과 를 제공 한다는 것을 알았습니다 (위의 최상위 답변에서 제안한 것처럼 보았습니다. apt-cache pkgnames언뜻보기에는 트릭을 수행하는 것처럼 보이지만 "시스템의 모든 패키지"(위의 도움말 텍스트 당)가 나열되어 있으며 여기에는 apt가 알고있는 패키지가 포함되어 있습니다 . 실제로 설치되지 않은 거기의 --installed옵션이 있지만 작동하지 않는 것 같습니다 pkgnames.
sxc731

2
apt-cache pkgnames | wc -l제공 55909하는 반면, (시스템이 알고있는) 패키지를 aptitude search '~i!~M' | wc -l제공합니다 2160(패키지가 명시 적으로 의존하지 않고, 설치).
knb


18

아래 명령은 설치된 모든 패키지도 나열합니다.

grep ' installed ' /var/log/dpkg.log /var/log/dpkg.log.1 | awk '{print $5}' | sort -u

.1은 로그가 회전되었음을 의미합니다.이 경우 /var/log/dpkg.log*로그를 모두 돌려서 grep 하는 것이 좋습니다 .
Steve Buzonas

17

이 커뮤니티 위키를 도와주세요-최신 솔루션을 추가하십시오.


dpkg, xargs 및 apt-get

이 명령은 설치된 패키지가 포함 된 텍스트 파일을 작성해야합니다.

dpkg -l | awk  '{print $2}' > package_list.txt

나열된 패키지를 대량 설치하려면 'package_list.txt'를 편집해야합니다. 텍스트 편집기를 사용하여 파일 상단의 이상한 줄을 제거하십시오. 그런 다음이 명령을 사용하여 다음을 사용하여 작성된 파일에서 패키지를 설치할 수 있습니다.

xargs < package_list.txt apt-get install -y

apt- 캐시, xargs 및 apt-get

당신이 원하는 경우에만이 방법을 사용 하는 모든 현재 패키지 (목록 사용하여 설치 될 포함 자동으로 설치, 등).

'apt-cache pkgnames'의 응답을 "package_list.txt"라는 이름으로 출력합니다. 다음을 통해이를 달성 할 수 있습니다.

apt-cache pkgnames > package_list.txt

"package_list.txt"에서 패키지를 설치하려면 다음 명령을 사용하십시오.

xargs < package_list.txt apt-get install -y

apt-mark, xargs 및 apt-get

이 명령 apt-mark showmanual을 사용하여 Ubuntu와 함께 수동 또는 초기에 설치된 패키지 목록을 제공 할 수 있습니다 . "package-list.txt"라고 부르는 파일로 출력하려고합니다. 이를 수행하려면이 명령을 사용하십시오.

apt-mark showmanual > package-list.txt

"package_list.txt"파일에서 패키지를 설치하는 데 사용할 명령은 다음과 같습니다.

xargs < package_list.txt apt-get install -y

Aptik 마이그레이션 유틸리티

Ubuntu 기반 배포판을 업그레이드 / 다시 설치 한 후 소프트웨어 패키지를 쉽게 다시 설치할 수있는 유틸리티입니다.
[ 런치 패드 | 압틱 ]

Aptik에 대한 자세한 내용을 보려면 공식 페이지를 방문하고 스크린 샷을 보려면 여기를 클릭 하거나이 섹션의 끝 부분을보십시오.

Aptik 설치 는 간단합니다. 이 단계를 따르세요:

  1. 다음을 사용 하여 PPA를 추가 하십시오.
    sudo add-apt-repository -y ppa:teejee2008/ppa

  2. 아래 명령으로 apt를 업데이트 하십시오.
    sudo apt-get update

  3. 다음을 사용하여 Aptik을 설치 하십시오.
    sudo apt-get install aptik

Aptik 마이그레이션 유틸리티 v16.5.2



1
apt-mark showmanualBash, Unity 및 Xorg 의 결과물이 포함됩니다. 그들은 거기에 있어야합니까?
wjandrea

@wjandrea 'apt-mark showmanual'의 출력에는 생성 된 목록에도 Bash & Unity가 포함됩니다. 명령이 수동으로 설치되고 처음에는 Ubuntu와 함께 설치되기 때문에 정상적인 것입니다.
David 당신의 친구

16

설치된 패키지 목록을 파일 이름으로 저장하려면 다음을 installed_packages.txt실행하십시오.

dpkg-query --list >> installed_packages.txt

3

나는 패키지에 관한 모든 정보가 수염이있는 곳에서 호출 된 파일 을 주목 apt list --installed하거나 dpkg-query --list실제로 사용하는 것이 흥미 롭다고 생각합니다 /var/lib/dpkg/status.

따라서 확장 된 패키지 목록 만 다루고 싶다면 cat /var/lib/dpkg/status.

참고 : /var/lib/dpkg/status파일을 변경하지 마십시오 .


3

APT 패키지 외에도 오늘날 많은 GUI 패키지가 스냅으로 배포됩니다 .

에서 패키지를 찾을 수 없으면 apt list --installed다음을 시도하십시오 snap list.

$ snap list

Name                  Version                     Rev   Tracking  Publisher       Notes
gimp                  2.10.10                     165   stable    snapcrafters    -
gnome-calculator      3.32.1                      406   stable/…  canonical✓      -
keepassxc             2.4.1                       267   stable    keepassxreboot  -
...

/snap/binPATH 에 추가 하여 터미널에서 시작할 수 있도록 하는 것이 좋습니다 (루트가 아닌 사용자에게는 자동으로 수행됨).


1

패키지 dctrl-toolsgrep-status시스템에 설치된 것으로 표시된 패키지 목록을 가져 오는 도구를 제공합니다 .

sudo apt install dctrl-tools

용법:

grep-status -FStatus -sPackage -n   "install ok installed"

보다 : man dctrl-tools


1

https://www.rosehosting.com/blog/list-all-installed-packages-with-apt-on-ubuntu/ :

1. 우분투에 설치된 소프트웨어 패키지 목록

컴퓨터에 설치된 소프트웨어 패키지를 나열하려면 다음 명령을 사용할 수 있습니다.

sudo apt list --installed

명령의 출력은 현재 설치된 패키지에 따라 다음과 매우 유사합니다.

Listing...
acl/xenial,now 2.2.52-3 amd64 [installed]
adduser/xenial,xenial,now 3.113+nmu3ubuntu4 all [installed]
apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed,automatic]
apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apparmor/xenial-updates,now 2.10.95-0ubuntu2.5 amd64 [installed,automatic]
apt/xenial-updates,now 1.2.19 amd64 [installed]
apt-utils/xenial-updates,now 1.2.19 amd64 [installed]
...

2. LESS 프로그램을 사용하십시오

전체 출력을 쉽게 읽으려면 less프로그램을 사용할 수 있습니다 .

sudo apt list --installed | less

3. GREP 명령 사용

grep프로그램을 사용하여 출력을 통해 특정 패키지를 찾을 수 있습니다 .

sudo apt list --installed | grep -i apache

4. Apache가 포함 된 모든 패키지를 나열하십시오.

위 명령의 출력은 apache이름에 포함 된 모든 패키지를 나열합니다 .

apache2/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
apache2-bin/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed,automatic]
apache2-data/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed,automatic]
apache2-doc/xenial-updates,xenial-updates,xenial-security,xenial-security,now 2.4.18-2ubuntu3.1 all [installed]
apache2-utils/xenial-updates,xenial-security,now 2.4.18-2ubuntu3.1 amd64 [installed]
libapache2-mod-php/xenial,xenial,now 1:7.0+35ubuntu6 all [installed,automatic]
libapache2-mod-php7.0/xenial-updates,now 7.0.13-0ubuntu0.16.04.1 amd64 [installed,automatic]
libapache2-mod-security2/xenial,now 2.9.0-1 amd64 [installed]
libapache2-modsecurity/xenial,xenial,now 2.9.0-1 all [installed]

Apt는 설치된 (--installed)패키지, 업그레이드 가능한 (--upgradeable) 패키지 또는 사용 가능한 모든 (--all-versions)패키지 버전 을 나열하는 패키지 이름 및 옵션과 일치하는 패턴을 지원합니다 .

5. DPKG 프로그램을 사용하십시오

Ubuntu VPS 에 설치된 소프트웨어 패키지를 나열하는 데 사용할 수있는 또 다른 대안 은 dpkg명령입니다.

sudo dpkg -l

명령의 출력은 패키지 이름, 버전, 아키텍처 및 패키지에 대한 간단한 설명과 같은 정보를 제공합니다. 물론 grep프로그램을 다시 사용하여 특정 패키지를 검색 할 수 있습니다 .

sudo dpkg -l | grep -i apache

출력은 다음과 같아야합니다.

ii  apache2                       2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server
ii  apache2-bin                   2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server (modules and other binary files)
ii  apache2-data                  2.4.18-2ubuntu3.1                     all          Apache HTTP Server (common files)
ii  apache2-doc                   2.4.18-2ubuntu3.1                     all          Apache HTTP Server (on-site documentation)
ii  apache2-utils                 2.4.18-2ubuntu3.1                     amd64        Apache HTTP Server (utility programs for web servers)
rc  apache2.2-common              2.2.22-6ubuntu5.1                     amd64        Apache HTTP Server common files
ii  libapache2-mod-php            1:7.0+35ubuntu6                       all          server-side, HTML-embedded scripting language (Apache 2 module) (default)
rc  libapache2-mod-php5           5.5.9+dfsg-1ubuntu4.16                amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-php7.0         7.0.13-0ubuntu0.16.04.1               amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  libapache2-mod-security2      2.9.0-1                               amd64        Tighten web applications security for Apache
ii  libapache2-modsecurity        2.9.0-1                               all          Dummy transitional package
ii  libapr1:amd64                 1.5.2-3                               amd64        Apache Portable Runtime Library
ii  libaprutil1:amd64             1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library
ii  libaprutil1-dbd-sqlite3:amd64 1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library - SQLite3 Driver
ii  libaprutil1-ldap:amd64        1.5.4-1build1                         amd64        Apache Portable Runtime Utility Library - LDAP Driver
.

이 튜토리얼의 경쟁으로 우분투에서 설치된 패키지를 나열하는 방법을 성공적으로 배웠습니다.


0

여러 가지 방법이 있습니다. 나와 같은 CentOS를 사용하는 경우 다음을 사용할 수 있습니다 yum list installed .rpm -qa

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