Làm thế nào để danh sách tất cả các cài đặt gói

Tôi muốn để ra một danh sách của tất cả gói cài đặt vào một văn bản thấy để tôi có thể xem xét lại nó và với số lượng lớn-cài đặt trên một hệ thống. Làm thế nào tôi sẽ làm điều này?

Ubuntu 14.04 và ở trên

Những apt công cụ trên ổ 14.04 và ở trên này rất dễ dàng.

apt list --installed

Phiên Bản Cũ

Để có được một danh sách của các gói cài đặt tại địa phương làm điều này trong đầu của bạn:

dpkg --get-selections | grep -v deinstall

(Những -v thẻ và sẽ đảo ngược và sẽ cài đặt để trở lại không phù hợp với dòng)

Để có được một danh sách cụ thể gói được cài đặt:

dpkg --get-selections | grep postgres

Để lưu danh sách đó cho một văn bản tin được gọi là packages trên máy tính của bạn làm điều này trong đầu của bạn:

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

Ngoài ra, chỉ cần sử dụng

dpkg -l

(bạn không cần phải chạy bất kỳ của các lệnh như các đòi hỏi như vậy không sudo hoặc bất kỳ khác, biến cần thiết ở đây)

Để nhận được chỉ là những gói hàng mà đã được cài đặt (không chỉ cài đặt như phụ thuộc), bạn có thể chạy

aptitude search '~i!~M'

Này cũng sẽ bao gồm một mô tả ngắn gọn, mà bạn có thể muốn. Nếu không, cũng có thêm các lựa chọn -F '%p' lý do karthick87.


Nhưng một lựa chọn khác, có vẻ như được sao chép các tập tin /var/lib/apt/extended_states đó là một văn bản tin cơ sở dữ liệu trong này dạng:

Package: grub-commonArchitecture: amd64Auto-Installed: 0Package: linux-headers-2.6.35-22-genericArchitecture: amd64Auto-Installed: 1

Auto-Installed: 0 cho thấy rằng các gói đã được cài đặt và không chỉ là một phụ thuộc.

Để danh sách tất cả các gói cố ý cài đặt (không phải là phụ thuộc) bởi khuynh lệnh, chạy sau :

(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:'

Này cung cấp một ngược thời gian dựa xem, với lệnh liệt kê đầu tiên:

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

Cài đặt dữ liệu cũng đang ở khớp sử dụng, nhưng không có chi tiết(cùng với cài đặt ngày) :

(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:'

cung cấp sau:

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

Tạo ra một bản sao lưu của những gói đang cài đặt:

dpkg --get-selections > list.txt

Sau đó (trên một hệ thống) khôi phục lại sắp đặt từ danh sách đó:

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

Để thoát khỏi cũ gói:

sudo apt-get autoremove

Để có được cài đặt thích tại sao lúc (tức là để cài đặt gói thiết lập bởi dpkg --set-selections):

sudo apt-get dselect-upgrade
apt-mark showmanual

trang người đàn ông bang:

sẽ in một danh sách của tay cài đặt gói

Vì vậy, nó chỉ nên đưa ra một danh sách của một cách rõ ràng cài đặt gói (mặc dù điều này bao gồm gói đó là một phần của ban đầu mặc định cài đặt) mà không có tất cả các phụ thuộc bao gồm do những gói này được lắp đặt.

Để cho ra một quả vào một văn bản tập tin:

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

dpkg-query (thay vì dpkg --get-selections đó liệt kê một số gói mà không được cài đặt) như sau:

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

Hay:

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

Để danh sách tất cả các cài đặt gói,

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

hay

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

hay

dpkg --get-selections > 1.txt

Chú ý:
Bạn sẽ nhận được kết quả 1.tập tin trong thư mục nhà của bạn hay bạn có thể xác định con đường riêng của mình.

Bạn có thể sử dụng Khớp thần kinh để cứu các hiện trạng của bạn cài đặt đóng gói. Trong thần kinh là chọn "file lưu đánh dấu", Nhập tên của các tập tin để lưu bang đến, và chắc chắn để kiểm tra "tiết Kiệm đủ nước, không chỉ thay đổi" hộp.

Các file lưu từ này có thể được tải vào một cái máy mới sử dụng "tập tin/đọc dấu hiệu" trong Khớp.

Tôi giới thiệu cách sử dụng kế hoạch chi tiết. Mặc dù nó được thiết kế cho máy chủ, nó cũng có thể được sử dụng từ máy tính để bàn cũng. Nó sẽ tạo ra một kịch bản/đầu bếp/rối mà bạn ca sử dụng để cài đặt lại tất cả các bạn gói.

Bạn muốn để lại những gói bây giờ có trên 12.04, phải không?

Nếu vậy, nó rất dễ dàng. Bạn sẽ cần một "Ubuntu Duy nhất Ký Vào tài khoản."(Tạo ra nó trước khi cài đặt lại vì vậy, bạn là hệ thống đồng bộ hóa.)

  1. Đi đến các trung Tâm phần Mềm và nhìn cho các "đồng Bộ Giữa Máy tính..."lựa chọn dưới các Tập tin đơn.

  2. Khi bạn nhấn vào nó, bạn sẽ thấy máy tính của đăng ký và một danh sách của tất cả các ứng dụng vào máy tính.

  3. Khi bạn sẽ cài đặt tươi, mà máy tính sẽ được coi là một máy tính mới.

  4. Bạn chỉ cần ký vào số tài khoản và trước đó của máy tính sẽ được thể hiện.

  5. Bấm vào nó, bạn sẽ nhận được một danh sách của tất cả các ứng dụng. Chọn "đặt" trên các ứng dụng bạn muốn cài đặt.

Related.

Similar question at unix.stackexchange.com “List packages by installation date”