it-swarm-tr.com

Debian kararlı çalıştırabilir ancak testten bazı paketleri nasıl kurabilirim?

Bir sunucu çalıştırdığınızı ve yalnızca bir veya iki paketi yüklemek için Stable'dan (Lenny) Testing'e (Squeeze) yükseltmek istemediğinizi varsayalım.

Test'ten yalnızca belirli paketleri kurmanın en iyi yolu nedir?

210
Gareth

apt_preferences

Sistemin/etc/apt/preferences dosyasında 'güvenli yükseltme' yapması gereken varsayılan düzeyi tanımlayın:
adam apt_preferences

Apt_preferences ile yapabileceğiniz çok şey var ama basitlik uğruna ...

Yalnızca Test'te kullanılabilen tek bir paket (autoMysqlBackup) yüklemem gerekiyordu. Çözüm,/etc/apt/tercihlerine aşağıdakileri eklemekti:

Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release o=Debian
Pin-Priority: -10

/Etc/apt/sources.list'e birden çok havuz eklendiğinde, daha sonraki yayın depoları listelenmiş olsa bile (bu durumda 'kararlı') yalnızca belirtilen sürümünüze yükseltilecektir.

deb http://mirror.aarnet.edu.au/debian/ lenny main
deb-src http://mirror.aarnet.edu.au/debian/ lenny main
deb http://mirror.aarnet.edu.au/debian/ squeeze main
deb-src http://mirror.aarnet.edu.au/debian/ squeeze main

Bu paketi yüklemek için tek yapmanız gereken:

$ aptitude install -t testing packageName 
49
Gareth

Birçok kişi test ile kararlı bir şekilde karıştırılmasından korkuyor gibi görünüyor, ancak açıkçası, test kendi başına oldukça kararlı ve uygun tercihler ve çözüm kontrolü ile, çekirdek paketlerinizi kararsız yola koyan "kararlılık kaymasından" kaçınabilirsiniz.

"Test oldukça kararlı mı ??" , diye soruyorsun. Evet. Bir paketin dengesizden teste geçebilmesi için arka arkaya 10 gün boyunca sıfır açık hataya sahip olması gerekir. Şansı, özellikle daha popüler paketler için, bir şey yanlışsa kararsız bir versiyon için bir hata raporu gönderecektir.

Ortamları karıştırmak istemeseniz bile, kararlı olandan daha yeni bir sürüm gerektiren bir şeyle karşılaşmanız durumunda orada seçenek olması hala güzel.

İşte bunu ayarlamak için tavsiye:

İlk olarak, /etc/apt/preferences.d İçinde aşağıdaki dosyaları oluşturun:

stable.pref:

# 500 <= P < 990: causes a version to be installed unless there is a
# version available belonging to the target release or the installed
# version is more recent

Package: *
Pin: release a=stable
Pin-Priority: 900

testing.pref:

# 100 <= P < 500: causes a version to be installed unless there is a
# version available belonging to some other distribution or the installed
# version is more recent

Package: *
Pin: release a=testing
Pin-Priority: 400

unstable.pref:

# 0 < P < 100: causes a version to be installed only if there is no
# installed version of the package

Package: *
Pin: release a=unstable
Pin-Priority: 50

experimental.pref:

# 0 < P < 100: causes a version to be installed only if there is no
# installed version of the package

Package: *
Pin: release a=experimental
Pin-Priority: 1

(Buradaki dengesiz/deneysel şeylerden korkmayın. Öncelikler hiçbir zaman otomatik olarak hiçbir şey yüklemeyecek kadar düşüktür. Test dalı bile davranacak, çünkü sadece istediğiniz paketleri kuracak testte.)

Şimdi, /etc/apt/sources.list.d İçin eşleşen bir grup oluşturun:

stable.list: Orijinal /etc/apt/sources.list Sayfanızdan kopyalayın. Eski dosyayı sources.list.orig Gibi bir adla yeniden adlandırın.

testing.list: testing dışında stable.list İle aynı.

unstable.list: unstable dışında stable.list İle aynı ve güvenlik listelerini kaldırın.

experimental.list: experimental dışında unstable.list İle aynı.

Ayrıca sources.lists.d Ve preferences.d 'A oldstable ekleyebilirsiniz (1 önceliğini kullanın), ancak bu takma adın süresi bir sonraki kararlı döngüden önce sona erecek ve kaybolacaktır. Bu gibi durumlarda, Debian sürümünü (etch, lenny vb.) http://archive.debian.org/debian/ Ve "hardcode" kullanabilirsiniz.

Bir paketin test sürümünü yüklemek için aptitude install lib-foobar-package/testing Kullanın veya sadece yetenek GUI'sine atlayın ve paket ayrıntılarının içindeki sürümü seçin (baktığınız pakette enter tuşuna basın).

Paket çakışmalarıyla ilgili şikayet ederseniz, önce çözümlere bakın. Çoğu durumda, birincisi "bu sürümü kurma" olacaktır. Paket başına kabul/reddetme çözücü seçeneklerini kullanmayı öğrenin. Örneğin, foobar-paket/test kuruyorsanız ve ilk çözüm "foobar-paket/test kurmayın" ise, bu seçeneği reddedildi olarak işaretleyin; diğer çözümler bir daha asla bu yola yönelmez. Bu gibi durumlarda, muhtemelen birkaç test paketi daha yüklemeniz gerekecektir.

Çok kıllı hale geliyorsa (libc veya çekirdeği veya başka bir büyük çekirdek sistemini yükseltmeye çalışıyorsa), bu yükseltme yollarını reddedebilir veya ilk yükseltmeden tamamen geri alabilirsiniz. Yalnızca izin vermeniz durumunda bir şeyi teste/kararsız hale getireceğini unutmayın.

EDIT: Bazı öncelik pimleri düzeltildi ve liste güncellendi.

187
Brendan Byrd

/etc/apt/apt.conf.d İçine aşağıdaki dosyayı ekleyin

99defaultrelease:

APT::Default-Release "stable";

/etc/apt/sources.list.d içinde - test/kararsız kaynaklar için URL ekleyin

stable.list:

deb     http://ftp.de.debian.org/debian/    stable main contrib non-free
deb-src http://ftp.de.debian.org/debian/    stable main contrib non-free

deb     http://security.debian.org/         stable/updates  main contrib non-free

testing.list:

deb     http://ftp.de.debian.org/debian/    testing main contrib non-free
deb-src http://ftp.de.debian.org/debian/    testing main contrib non-free

deb     http://security.debian.org/         testing/updates  main contrib non-free

çalıştırmak

apt-get update

ve sonra ihtiyacınız olanı kurun

apt-get -t testing install something

Çok fazla bağımlılığa sahip şeyler yüklerseniz çok dikkatli olun. Tercihen bunu üretimde yapmayın.

Şansınızı backports veya benzeri bir depoda da deneyebilirsiniz.

102
pQd

Değeri ne olursa olsun, her zaman gördüğüm genel tavsiye "Sabit bir şeyle karıştırmayın." Karışık sistem eğiticilerinin çoğu karıştırma testi ve kararsız içindir.

Bunun nedeni, test ile kararlı bir şekilde karıştırırsanız, çok temel paketlerin (libc6 gibi) güncelleme gerektirmesi (testten yazılım yüklemek için) ve bu temel paketler teste geçtiğinde, tüm sistem bu şekilde sürüklenebilir.

İşte iki alternatif:

  1. Backports kullanın.
  2. Testten bir kaynak hattı kurun ve kaynaktan istediğiniz sonraki sürümü oluşturmaya çalışın deneyin.
13
Telemachus

Debian dokümantasyon konusu geniş ve debian sisteminin güzelliğini gerçekten açığa çıkaracağı için Dig'i şiddetle tavsiye ediyorum.

Bir göz atın Karışık bir sistem nasıl tutulur , bilmeniz gereken her şeyi açıklar.

12
tomdeb

Test veya Sid'den çok fazla bağımlılığın yüklenmesini engelleyebilecek başka bir yol şudur: apt-get paketinin kaynağını Test veya Sid'den almasını ve Debian araçlarını kullanarak sisteminiz için bir paket oluşturmasını söylersiniz (manuel olarak tamir etmeye gerek yoktur) kaynaklarla).

Buradan alıntı:
https://wiki.debian.org/DebianUnstable#How_do_I_backport_a_sid_package_to_testing_or_stable.3F

Bir sid paketini teste veya ahıra nasıl desteklerim?

Debian kaynağını (ve özellikle de debhelper, devscripts ve build-essential) geliştirme araçlarını kurun ve paketi oluşturun.

Adım adım:

add a deb-src line for sid to your sources.list

apt-get update

apt-get build-dep PACKAGE_NAME

apt-get -b source PACKAGE_NAME 

Ortaya çıkan borçlar geçerli dizinde olmalı ve dpkg -i.de.deb ile kurulabilir.

7
gerlos

Yeterince güvenli ve uygun hale getirilebileceğinden emin olmak için uzun bir süredir yapıyorum. Aşağıdaki kurulumda kararlı sürüm varsayılan olarak yüklenecektir, ancak Aptitude da istenirse destekli veya kararsız sürümü seçmenize izin verecektir:

enter image description here

Düzenlenmesi gereken dört şey vardır, varsayılan sabitleme sürümünün ayarlanması gerekir, kaynakların backport'a ve dengesiz eklenmesi gerekir, backportların/kararsız paketlerin pinning önceliğini düşürür ve pinning'i görüntülemek için yetenek görüntüleme ayarlarının değiştirilmesi gerekir.

  • Bir '/ etc/apt/apt.conf.d/10defaultrelease' oluşturun ve içeriğini aşağıdaki gibi yapın:
 Apt :: default-Release "kararlı"; 
  • '/ etc/apt/sources.list' değişkeninizi ve backport kaynaklarını eklemek için aşağıdaki gibi görünecek şekilde düzenleyin:
 # deb cdrom: [Debian GNU/Linux 6.0.0 _Squeeze_ - Resmi Çok Mimari AMD64/i386 NETINST # 1 20110205-14: 45]/ana sıkıştırın 
 [.____. deb http : //ftp.us.debian.org/debian/ ana sıkın 
 deb-src http://ftp.us.debian.org/debian/ ana sıkın 
 
 deb http://security.debian.org/ sıkmak/güncellemeleri ana 
 deb-src http://security.debian.org/ sıkmak/güncellemeleri ana 
 
 # sıkmak-güncelleme , daha önce 'geçici' olarak bilinir 
 deb http://ftp.us.debian.org/debian/ sıkmak güncellemeleri ana 
 deb-src http://ftp.us.debian.org/debian/squeeze-updates ana 
 
 # sıkmak backports 
 # http://backports.debian.org/Instructions/[.____. Closeupdeb http: // backports. debian.org/debian-backports sıkmak-backports ana 
 
 # kararsız 
 # http://wiki.debian.org/AptPreferences[.____. Genişletilmişdeb http: // ftp.us.debian.org/debian/ kararsız ana 
 deb-src http://ftp.us.debian.org/debian/ kararsız ana 
 
 ücretsiz olmayan eski . Sun Java 
 # Deb http://ftp.us.debian.org/debian/ özgür olmayan sıkın 
 # Deb-src http://ftp.us.debian.org/debian/ serbest olmayan sıkmak 
  • Düzenle etc/apt/preferences sabitleme dosyası - dosya yoksa oluşturun.
 # Paket sabitleme öncelikleri 
 # Bkz. Http://wiki.debian.org/AptPreferences ve http://manpages.debian.net/cgi-bin/man.cgi?query=apt_preferences 
 # 
 # Somun Shell'de en yüksek PIN yüklenir 
 # 
 # Pining varsayılan aşağıdaki gibidir ayarlar: 
 # 990 - kurulu olmayan ancak DO sürümü `` APT :: Default-Relase "kararlı" ayarımıza aittir. 
 # 500 - kurulu olmayan ve mevcut sürümler için hedef sürümüne ait değil 
 # 100 - önceden yüklenmiş paketler için, bu aynı paketin diğer sürümleri anlamına da 
 # 1 - deneysel paketler için; "NotAutomatic: yes" içeren paketler 
 # 
 # Pinning'lerimiz 
 # 400 - diğer paketleri güncellemeye gerek kalmadan güvenle kurulabilen backportlar 
 # 50 - kararsız paketler, ayrıntılar ekranına zorla yükleyin, çatışmalara neden olabilir 
 
 Paket: * 
 Pim: serbest bırakma n = sıkma-backports 
 Pin-P riority: 400 
 
 Paket: * 
 Pim: serbest bırakma a = kararsız 
  • '/ etc/apt/apt.conf.d/100guiconf' oluşturun ve Aptitude'u sabitleme bilgilerini görüntüleyecek şekilde ayarlayın.
 Yetenek :: Kullanıcı Arayüzü :: Paket-Görüntü-Biçimi "% c% a% M% p% Z% v% V% i"; 
4

Paket seçiminiz daha karmaşıksa veya kurulum birden fazla makinede tekrarlanacaksa, resmi depoların bir alt kümesini yansıtan özel bir havuz kurmayı düşünebilirsiniz. Bu, havuzu yapılandırmak için biraz çalışma gerektirir, ancak ödülün her istemcide minimum minimum yapılandırma ve düzinelerce kurulum yaparken tekrarlanabilir sonuçlar ile bakımı kolaydır. Yalnızca bir veya iki paket kurulurken bile bunu yararlı buluyorum ve bulut yöntemlerini otomatikleştirmek ve sürdürmek için bu yöntemi kullanıyorum. Ucuz bir VPS'deki tek bir sunucu düzinelerce özel depoyu işleyebilir.

Özel havuz sunucunuzu yapılandırmak için:

# Install aptly.
apt-get install aptly

# Create local mirror (choose a source mirror near you).
aptly mirror create -filter="mirror-contains-no-packages" stretch-roundcube http://httpredir.debian.org/debian stretch main

# Configure filters for local mirror.
aptly mirror edit -filter="Name (% roundcube*)" stretch-roundcube

# Update local mirror.
aptly mirror update stretch-roundcube

# Drop previously published repositories and mirrors, if running these commands in a script.
aptly publish drop stretch

# Drop snapshot, if running these commands in a script.
aptly snapshot drop stretch-roundcube

# Create new snapshot.
aptly snapshot create stretch-roundcube from mirror stretch-roundcube

# Publish snapshot.
aptly publish snapshot -architectures=i386,AMD64 -distribution=stretch -component=roundcube -label="Your Name" -Origin="Your Name" stretch-roundcube

Ardından, seçtiğiniz web sunucusunu statik depo dosyalarını sunacak şekilde yapılandırın. Depoyu bir güvenlik sertifikası ve temel kimlik doğrulama ile koruyun.

Özel deponuzu otomatik olarak korumak ve güncellemeleri yukarı akıştan almak için yukarıdakileri bir komut dosyasına yerleştirin ve bir cron işinden çalıştırın.

İstemci makinenizi yapılandırmak için istemci makinenizde:

# Configure private repository without authentication.
echo 'deb http://private.repository.example.com/ stretch roundcube' > /etc/apt/sources.list.d/private.repository.example.com.list

# Configure private repository with authentication.
echo 'deb https://hostname:[email protected]/ stretch roundcube' > /etc/apt/sources.list.d/private.repository.example.com.list
apt-get install apt-transport-https

# Update.
apt-get update

# Install package.
apt-get install roundcube

İstemci makinenizi korumak ve istemci makinenizdeki tüm özel depo güncellemelerinizi almak için:

# Update.
apt-get update

# Upgrade.
apt-get upgrade
2
Monica For CEO

Başka bir seçenek de kaynak paketini testten indirmektir. APT Kaynak paketi indirdikten sonra otomatik olarak oluşturabilir. Bu şekilde, kararlı paketleriniz test güncellemelerinden etkilenmeyecektir. ve ikili paketin kurulması.

APT kaynak paketlerini testten indirilecek şekilde yapılandırmak için şunu ekleyin:

deb-src http://<your debian mirror here> testing main

Eğer sadece mevcut testi takip etmek istiyorsanız ve gelecekteki testleri değil, "test" i mevcut kod adıyla değiştirin (bu yazıdan itibaren "buster")

1
temy