aynı debian paketlerini başka bir sisteme kur


13

Bir sisteme kurulu Debian paketlerinin listesini nasıl verebilirim ve sonra aynı paketleri yeni bir sisteme nasıl yükleyebilirim?

Yanıtlar:


17

Yedeklemek için:

sudo dpkg --get-selections > /tmp/dpkglist.txt

Yenilemek:

sudo dpkg --set-selections < /tmp/dpkglist.txt
sudo apt-get -y update
sudo apt-get dselect-upgrade

Ayrıca ek seçenekler ve bilgiler için bu soruya bakın: Ubuntu, mevcut bir makine gibi yeni bir makine nasıl kurulur

Yukarıda bizim sunucu envanterinin bir parçası olarak SVN içine dpgklist kontrol günlük cronjob çalışan var. Bu, sunucularınız arasında yüklü paketlerin makul bir doğru envanterini tutmanıza ve bir sunucunun belirli bir paketi eksik olup olmadığını görmek için hızlı bir yan yana fark yapmanıza olanak tanır.


1
Her giriş satırı için bu hata mesajını alıyorum:dpkg: warning: package not in status nor available database at line ...
danorton

birkaç ubuntu sürümünden beri bu şekilde çalışmaz
QkiZ

10

aptitudeayrıca bu kullanıcı tabanını karşılar ve diğer yöntemlerin yapmadığı "otomatik olarak yüklenen" paketler hakkındaki bilgileri korur. Referans makinede aşağıdakileri çalıştırın:

aptitude search -F '%p' '~i!~M' > package_list 

package_listDiğer makineye kopyalayın ve çalıştırın

xargs aptitude --schedule-only install < package_list; aptitude install; 

Sadece küçük bir not. Yetenek referans kılavuzuna göre, "paket" alanı varsayılan olarak "genişletilebilir" dir, dolayısıyla aptitude search -F '%p' '~i!~M' > package_listiyi çalışmalıdır.
chronos

Paket yedeklemesi ile ilgili: deborphan@ bogdan.org.ua/2013/10/18/…
TomRoche

[insert your own linebreaks, since http://serverfault.com/editing-help#linebreaks lies] Paket geri yükleme ile ilgili: bunun kök olarak yapılması gerekecek, değil mi? Eğer öyleyse, <br/> Geri xargsyükleme komut satırınızdaki = xargs aptitude - yalnızca planlı kurulum <package_list; yetenek yükleme; beni bilmek istiyor, <br/> 1. Neden buna aptitudeihtiyaç var xargs? dpkg --set-selectionsvarsayarsak 2.. <br/> gelmez aptitude gelmez gerek xargs, nerede bir veya daha fazla koymak sudoiçin geri komut içinde s? Ya da gerekli olduğu varsayılarak, o satırı çalıştırmak için root alın.
TomRoche

0

Bu iyi bir fikirdir ve bunu alışkanlık haline getirirseniz apt-proxy ile bir sunucu da kurabilirsiniz .


Apt için birkaç proxy ile oynadıktan sonra, apt-cacher-ng'ye karar verdim. apt-cacher-ng'nin kurulumu çok basittir ve birkaç hesaptan orijinal apt-proxy'den daha sağlam görünmektedir. Her insanın kendi favorisi var. unix-ag.uni-kl.de/~bloch/acng
faultyserver

Oyum yaklaşık olarak, bir tür çılgınca olmayan tek oy.
womble

İlginç ... Hiçbir alternatifi denemedim.

0

arızalı sunucuların yanıtı benim için ancak http://rayslinux.blogspot.de/2012/10/ubuntu-1210-dpkg-warning-package-not-in.html uyarınca farklı bir komut çalıştırdıktan sonra çalıştı

sudo apt-get install dselect sudo dselect access sudo dselect update

Koşudan önce

sudo apt-get dselect-upgrade

sadece geri döndü

[...]
dpkg: uyarı: paket 302 satırında veritabanında değil: xfonts-utils
dpkg: uyarı: bilinmeyen paketler bulundu; bu, kullanılabilir veritabanının eski olduğu ve bir ön uç yöntemiyle güncellenmesi gerektiği anlamına gelebilir
pi @ FHEM-new: / tmp $ sudo apt-get dselect-upgrade
Paket listelerini okuma ... Bitti
Bina bağımlılığı ağacı Durum
bilgilerini okuma ... Tamamlandı
0 yükseltildi, 0 yeni yüklendi, kaldırmak için 0 ve 0 yükseltilmedi.

Yeni Raspberry (Raspbian GNU / Linux 8 (jessie)) üzerine eski Raspberry Pi'mden (Raspbian GNU / Linux 7 (wheezy)) aynı paketleri yüklemeye çalışıyordum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.