설치된 모든 패키지를 나열하는 방법 패키지 목록을 텍스트 파일로 출력하여이를 검토하고 다른

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



답변

우분투 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여기에 필요한 다른 변형은 없습니다 )


답변

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

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 는 패키지가 명시 적으로 설치되었으며 단순한 종속성이 아님을 나타냅니다.


답변

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
...

답변

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

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

답변

apt-mark showmanual

매뉴얼 페이지 상태 :

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

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

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

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

답변

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

답변

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

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

또는

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

또는

dpkg --get-selections > 1.txt

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