설치된 모든 패키지 목록을 텍스트 파일로 출력하여이를 검토하고 다른 시스템에서 대량 설치를 수행하고 싶습니다. 어떻게해야합니까?
답변
우분투 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 파일이 표시되거나 고유 한 경로를 지정할 수 있습니다.