Yüklü tüm paketler nasıl listelenir

Yüklenen tüm paketlerin bir listesini bir metin dosyasına çıkarmak istiyorum, böylece gözden geçirebilir ve başka bir sisteme toplu olarak yükleyebilirim. Bunu nasıl yapardım?

Ubuntu 14.04 ve üzeri

Bu apt Ubuntu 14.04 ve üstü üzerindeki araç bunu çok kolaylaştırır.

apt list --installed

Eski Sürümler

Yerel olarak yüklenen paketlerin bir listesini almak için bunu terminalinizde yapın:

dpkg --get-selections | grep -v deinstall

(Bu -v etiket "eşleşmeyen satırları döndürmek için" grep'i tersine çevirir)

Yüklü belirli bir paketin listesini almak için:

dpkg --get-selections | grep postgres

Bu listeyi adlı bir metin dosyasına kaydetmek için packages masaüstünüzde bunu terminalinizde yapın:

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

Alternatif olarak, sadece kullanın

dpkg -l

(bu komutlardan herhangi birini süper kullanıcı olarak çalıştırmanıza gerek yoktur, bu yüzden hayır sudo veya burada gerekli olan diğer varyantlar)

Yalnızca açıkça yüklenmiş paketleri almak için (yalnızca bağımlılık olarak yüklenmemiş), çalıştırabilirsiniz

aptitude search '~i!~M'

Bu, isteyebileceğiniz kısa bir açıklama da içerecektir. Değilse, seçeneği de ekleyin -F '%p' karthick87 tarafından belirtildiği gibi.


Başka bir seçenek de dosyayı kopyalamak gibi görünüyor /var/lib/apt/extended_states bu formatta bir metin dosyası veritabanı olan:

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

Auto-Installed: 0 paketin açıkça yüklendiğini ve yalnızca bir bağımlılık olmadığını gösterir.

Tüm paketleri listelemek için kasıtlı olarak kuruldu (bağımlılık olarak değil) apt komutlarıyla aşağıdakileri çalıştırın :

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

Bu, önce listelenen eski komutlarla ters zamana dayalı bir görünüm sağlar:

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

Kurulum verileri ayrıca sinaptik kullanımı da gösterir, ancak ayrıntı içermez (kurulum tarihi ile aynıdır). :

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

aşağıdakileri sağlamak:

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

Şu anda yüklü olan paketlerin yedeğini oluşturma:

dpkg --get-selections > list.txt

Ardından (başka bir sistemde) bu listeden yüklemeleri geri yükleyin:

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

Eski paketlerden kurtulmak için:

sudo apt-get autoremove

Yedekleme zamanında olduğu gibi yüklenmek için (örn. dpkg --set-selections):

sudo apt-get dselect-upgrade
apt-mark showmanual

man sayfaları durumu:

el ile yüklenen paketlerin bir listesini yazdırır

Bu nedenle, açıkça yüklenmiş paketlerin bir listesini vermelidir (bu, varsayılan ilk yüklemenin bir parçası olan paketleri içeriyor olsa da), bu paketlerin yüklenmesi nedeniyle dahil edilen tüm bağımlılıklar olmadan.

Sonucu bir metin dosyasına çıktılamak için:

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

dpkg-query (yerine dpkg --get-selections yüklü olmayan bazı paketleri listeler) aşağıdaki gibidir:

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

Veya:

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

Yüklenen tüm paketleri listelemek için,

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

veya

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

veya

dpkg --get-selections > 1.txt

Not:
Sonuç 1'i alacaksınız.txt dosyası giriş klasörünüzde veya kendi yolunuzu belirtebilirsiniz.

Yüklü paketinizin geçerli durumunu kaydetmek için Synaptic'i kullanabilirsiniz. Synaptic'te "dosya / kaydetme işaretleri" ni seçin, Durumu kaydedeceğiniz dosyanın adını girin ve "Yalnızca değişiklikleri değil, tam durumu kaydet" kutusunu işaretlediğinizden emin olun.

Bundan kaydedilen dosya, Synaptic'te "dosya / okuma işaretleri" kullanılarak yeni bir makineye yüklenebilir.

Kullanmanızı tavsiye ederim plan. Sunucular için tasarlanmış olmasına rağmen, masaüstlerinden de kullanılabilir. Tüm paketlerinizi yeniden yüklemek için kullanabileceğiniz bir kabuk betiği / şef / kukla oluşturacaktır.

Paketleri şimdi 12.04'te yeniden yüklemek istiyorsun, değil mi?

Eğer öyleyse, çok kolay. Bir "Ubuntu Tek Oturum Açma hesabına" ihtiyacınız olacak." (Sisteminizin senkronize edilmesi için yeniden yüklemeden önce oluşturun.)

  1. Yazılım Merkezine gidin ve "Bilgisayarlar Arasında Senkronize Et" i arayın..." dosya menüsünün altındaki seçenek.

  2. Üzerine tıkladığınızda bilgisayarınızın kayıtlı olduğunu ve bilgisayarınızdaki tüm uygulamaların bir listesini görürsünüz.

  3. Fresh'i yükleyeceğiniz zaman, bu bilgisayar yeni bir bilgisayar olarak kabul edilir.

  4. Ubuntu hesabınızda oturum açmanız yeterlidir ve önceki bilgisayarınız gösterilecektir.

  5. Üzerine tıklayın; tüm uygulamaların bir listesini alacaksınız. Yüklemek istediğiniz uygulamada "yükle" yi seçin.

Related.

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