it-swarm-id.com

Bagaimana saya bisa menjalankan stabil Debian tetapi menginstal beberapa paket dari pengujian?

Katakanlah Anda menjalankan server dan Anda tidak ingin memutakhirkan ke Testing (Squeeze) dari Stable (Lenny) untuk hanya menginstal satu atau dua paket yang diperlukan.

Apa cara terbaik untuk menginstal hanya paket tertentu dari Pengujian?

210
Gareth

apt_preferences

Tentukan level default yang harus di-upgrade oleh sistem ke dalam file/etc/apt/preferences:
man apt_preferences

Ada banyak yang dapat Anda lakukan dengan apt_preferences tapi demi kesederhanaan ...

Saya perlu menginstal satu paket (autoMysqlBackup) yang hanya tersedia di Pengujian. Solusinya adalah menambahkan yang berikut ke/etc/apt/preferences:

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

Dengan beberapa repositori yang ditambahkan ke /etc/apt/sources.list aptitude sekarang hanya akan memutakhirkan ke rilis yang Anda tentukan meskipun repos rilis berikutnya terdaftar (dalam hal ini 'stabil').

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

Jadi untuk menginstal paket itu, yang harus Anda lakukan adalah:

$ aptitude install -t testing packageName 
49
Gareth

Banyak orang tampaknya takut mencampur stabil dengan pengujian, tetapi terus terang, pengujian cukup stabil dalam dirinya sendiri, dan dengan preferensi yang tepat dan pemeriksaan solusi, Anda dapat menghindari "stabilitas drift" yang menempatkan paket inti Anda di jalur yang tidak stabil.

"Pengujian cukup stabil ??" , Anda bertanya. Iya. Agar paket dapat bermigrasi dari tidak stabil ke pengujian, paket tidak boleh memiliki bug terbuka selama 10 hari berturut-turut. Kemungkinannya adalah, terutama untuk paket yang lebih populer, seseorang akan mengirimkan laporan bug untuk versi yang tidak stabil jika ada sesuatu yang salah.

Bahkan jika Anda tidak ingin mencampurkan lingkungan, masih bagus untuk memiliki opsi di sana jika Anda mengalami sesuatu yang membutuhkan versi yang lebih baru daripada yang ada di stabil.

Inilah yang saya rekomendasikan untuk pengaturan ini:

Pertama, buat file berikut di /etc/apt/preferences.d:

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

(Jangan takut dengan hal-hal yang tidak stabil/eksperimental di sini. Prioritasnya cukup rendah sehingga tidak akan pernah secara otomatis menginstal hal-hal itu. Bahkan cabang pengujian akan berperilaku, karena hanya akan menginstal paket yang Anda inginkan dalam pengujian.)

Sekarang, membuat set yang cocok untuk /etc/apt/sources.list.d:

stable.list: Salin dari dokumen asli Anda /etc/apt/sources.list. Ganti nama file lama dengan sesuatu seperti sources.list.orig.

testing.list: Sama seperti stable.list, kecuali dengan testing.

unstable.list: Sama seperti stable.list, kecuali dengan unstable, dan hapus daftar keamanan.

experimental.list: Sama seperti unstable.list, kecuali dengan experimental.

Anda juga dapat menambahkan oldstable di sources.lists.d dan preferences.d (gunakan prioritas 1), meskipun moniker ini akan cenderung berakhir dan menghilang sebelum siklus stabil berikutnya. Dalam kasus seperti itu, Anda dapat menggunakan http://archive.debian.org/debian/ dan "hardcode" versi Debian (etch, lenny, dll.).

Untuk menginstal versi pengujian suatu paket, cukup gunakan aptitude install lib-foobar-package/testing, atau langsung saja masuk ke GUI aptitude dan pilih versi di dalam detail paket (tekan enter pada paket yang Anda cari).

Jika Anda mendapat keluhan tentang konflik paket, lihat solusinya terlebih dahulu. Dalam kebanyakan kasus, yang pertama adalah "jangan pasang versi ini". Belajarlah untuk menggunakan per-paket menerima/menolak pilihan resolver. Misalnya, jika Anda menginstal foobar-package/testing, dan solusi pertama adalah "jangan instal foobar-package/testing", maka tandai pilihan itu sebagai ditolak, dan solusi lain tidak akan pernah membelok ke jalur itu lagi. Dalam kasus seperti ini, Anda mungkin harus menginstal beberapa paket pengujian lainnya.

Jika terlalu berbulu (seperti mencoba untuk meningkatkan libc atau kernel atau sistem inti besar lainnya), maka Anda dapat menolak jalur upgrade tersebut atau hanya mundur dari peningkatan awal sama sekali. Ingatlah bahwa itu hanya akan memutakhirkan hal-hal menjadi pengujian/tidak stabil jika Anda mengizinkannya.

EDIT: Memperbaiki beberapa pin prioritas, dan memperbarui daftar.

187
Brendan Byrd

Di /etc/apt/apt.conf.d tambahkan file berikut

99defaultrelease:

APT::Default-Release "stable";

di /etc/apt/sources.list.d - tambahkan url untuk menguji/sumber tidak stabil

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

lari

apt-get update

dan kemudian instal apa yang Anda butuhkan

apt-get -t testing install something

Berhati-hatilah jika Anda menginstal barang yang memiliki banyak dependensi. Lebih disukai tidak melakukan ini pada produksi.

Anda juga dapat mencoba keberuntungan Anda di backports atau repositori serupa.

102
pQd

Untuk apa nilainya, saran umum yang selalu saya lihat adalah "Jangan bergaul stabil dengan apa pun." Sebagian besar tutorial sistem campuran adalah untuk pengujian campuran dan tidak stabil.

Alasannya tampaknya bahwa jika Anda mencampur stabil dengan pengujian, paket yang sangat mendasar (seperti libc6) akan memerlukan pembaruan (untuk menginstal perangkat lunak dari pengujian), dan sekali paket dasar ini beralih ke pengujian, seluruh sistem dapat bergerak seperti itu.

Berikut adalah dua alternatif:

  1. Gunakan Backports .
  2. Instal baris sumber dari pengujian, dan coba bangun versi nanti yang Anda inginkan dari sumber .
13
Telemachus

Dokumentasi debian sangat luas dalam subjek dan saya sangat menyarankan untuk Dig karena akan benar-benar mengungkap keindahan sistem debian.

Lihat Cara menjaga sistem campuran , ini akan menjelaskan semua yang Anda perlu ketahui.

12
tomdeb

Cara lain, yang dapat mencegah instalasi terlalu banyak ketergantungan dari Testing atau Sid, adalah ini: Anda memberi tahu apt-get untuk mendapatkan sumber paket dari Testing atau Sid dan membuat paket untuk sistem Anda menggunakan alat Debian (tidak perlu mengotak-atik secara manual) dengan sumber).

Mengutip dari sini:
(https://wiki.debian.org/DebianUnstable#How_do_I_backport_a_sid_package_to_testing_or_stable.3F

Bagaimana cara backport paket sid untuk pengujian atau stabil?

Instal sumber Debian (dan alat pengembangan, terutama debhelper, devscripts, dan build-essential), dan kemudian buat paketnya.

Selangkah demi selangkah:

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 

Hutang yang dihasilkan harus di direktori saat ini dan dapat diinstal dengan dpkg -i the.deb.

7
gerlos

Saya telah melakukannya untuk waktu yang lama untuk percaya diri dalam mengatakan itu cukup aman dan dapat dibuat nyaman. Dengan setup versi stabil di bawah ini akan diinstal secara default, namun Aptitude juga akan memungkinkan Anda untuk memilih versi backported atau tidak stabil jika diinginkan:

enter image description here

Ada empat hal yang perlu diedit, rilis pinning default perlu diatur, sumber perlu backports dan tidak stabil ditambahkan, menurunkan prioritas pinning backports/paket tidak stabil, dan pengaturan tampilan aptitude perlu dimodifikasi untuk menampilkan pinning.

  • Buat '/ etc/apt/apt.conf.d/10defaultrelease' dan buat isinya sebagai berikut:
 Apt :: default-Release "stable"; 
  • Edit '/ etc/apt/sources.list' Anda untuk menambahkan sumber yang tidak stabil dan backports sehingga terlihat seperti ini:
 # deb cdrom: [Debian GNU/Linux 6.0.0 _Squeeze_ - Multi-arsitektur Resmi AMD64/i386 NETINST # 1 20110205-14: 45]/memeras main 
 
 deb http : //ftp.us.debian.org/debian/ squeeze main 
 deb-src http://ftp.us.debian.org/debian/ squeeze main 
 
 deb http://security.debian.org/ pemerasan/pembaruan utama 
 deb-src http://security.debian.org/ pemerasan/pembaruan utama 
 
 # pemerasan-pembaruan , yang sebelumnya dikenal sebagai 'volatile' 
 deb http://ftp.us.debian.org/debian/ pemerasan-pembaruan utama 
 deb-src http://ftp.us.debian.org/debian/squeeze-updates main 
 
 # squeeze backports 
 # http://backports.debian.org/Instructions/[.____.[deb http: // backports. debian.org/debian-backports main-backports utama 
 
 # tidak stabil 
 # http://wiki.debian.org/AptPreferences[.____.[deb http: // ftp.us.debian.org/debian/ utama tidak stabil 
 deb-src http://ftp.us.debian.org/debian/ tidak stabil utama 
 
 # non free ex . Sun Java 
 # Deb http://ftp.us.debian.org/debian/ memeras tidak bebas 
 # Deb-src http://ftp.us.debian.org/debian/ memeras tidak bebas 
  • Edit etc/apt/preferences menyematkan file - jika file tidak ada, buatlah.
 # Prioritas penyematan paket 
 # Lihat http://wiki.debian.org/AptPreferences dan http://manpages.debian.net/cgi-bin/man.cgi?query=apt_preferences 
 # 
 # Di kacang Shell tertinggi PIN terinstal 
 # 
 # Pining default adalah sebagai berikut yang merupakan tambahan dari kami Pengaturan: 
 # 990 - untuk versi yang tidak diinstal tetapi DO milik pengaturan `APT :: Default-Relase" stable "kami. 
 # 500 - untuk versi yang tidak diinstal dan dilakukan bukan milik rilis target 
 # 100 - untuk paket yang sudah diinstal, ini juga berarti versi lain dari paket yang sama 
 # 1 - untuk paket eksperimental; paket dengan "NotAutomatic: yes" 
 # 
 # Pinnings kami 
 # 400 - backport yang dapat diinstal dengan aman tanpa perlu memperbarui paket lain 
 # 50 - paket tidak stabil, instal paksa di layar detail, dapat mengakibatkan konflik 
 
 Paket: * 
 Pin: rilis n = squeeze-backports 
 Pin-P riority: 400 
 
 Paket: * 
 Pin: rilis a = tidak stabil 
  • Buat '/ etc/apt/apt.conf.d/100guiconf' dan untuk mengatur Aptitude sehingga menampilkan informasi penyematan.
 Aptitude :: UI :: Package-Display-Format "% c% a% M% p% Z% v% V% i"; 
4

Jika pilihan paket Anda lebih terlibat atau instalasi akan diulang pada banyak mesin, Anda dapat mempertimbangkan untuk menyiapkan repositori pribadi yang mencerminkan subset dari repositori resmi. Ini membutuhkan sedikit usaha untuk mengonfigurasi repositori tetapi hadiahnya mudah dipertahankan dengan konfigurasi minimal pada setiap klien dan hasil yang dapat diulang ketika melakukan lusinan instalasi. Saya menemukan ini membantu bahkan ketika hanya satu atau dua paket sedang diinstal, dan menggunakan metode ini untuk mengotomatisasi dan memelihara pemasangan cloud. Satu server pada VPS murah dapat menangani puluhan repositori pribadi.

Untuk mengkonfigurasi server repositori pribadi Anda:

# 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

Kemudian konfigurasikan server web pilihan Anda untuk menyajikan file repositori statis. Mungkin melindungi repositori dengan sertifikat keamanan dan otentikasi dasar.

Untuk mempertahankan repositori pribadi Anda secara otomatis dan menarik pembaruan dari hulu, letakkan yang di atas dalam sebuah skrip dan jalankan dari tugas cron.

Untuk mengkonfigurasi mesin klien Anda, pada mesin klien Anda:

# 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

Untuk memelihara mesin klien Anda dan menarik semua pembaruan repositori pribadi Anda, di mesin klien Anda:

# Update.
apt-get update

# Upgrade.
apt-get upgrade
2
Monica For CEO

Pilihan lain adalah mengunduh paket sumber dari pengujian. APT dapat secara otomatis membuat paket sumber setelah mengunduhnya. Dengan cara ini, paket stabil Anda tidak akan terpengaruh oleh pengujian pembaruan. Satu-satunya pertukaran adalah bahwa hal itu akan memakan waktu lebih lama daripada hanya mengunduh dan menginstal paket biner.

Untuk mengkonfigurasi APT untuk mengunduh paket sumber dari pengujian, cukup tambahkan:

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

Jika Anda hanya ingin mengikuti pengujian saat ini dan bukan pengujian di masa depan, ganti "pengujian" dengan nama kode saat ini (saat penulisan ini adalah "buster")

1
temy