it-swarm-vi.com

Làm cách nào để chạy Debian ổn định nhưng cài đặt một số gói từ thử nghiệm?

Giả sử bạn đang chạy một máy chủ và bạn không muốn nâng cấp lên Kiểm tra (Bóp) từ Ổn định (Lenny) để chỉ cài đặt một hoặc hai gói yêu cầu.

Cách tốt nhất để chỉ cài đặt các gói nhất định từ Kiểm tra là gì?

210
Gareth

apt_preferences

Xác định mức mặc định mà hệ thống sẽ 'nâng cấp an toàn' lên trong tệp/etc/apt/Preferences:
[.__.] người đàn ông apt_preferences

Có rất nhiều thứ bạn có thể làm với apt_preferences nhưng vì mục đích đơn giản ...

Tôi cần cài đặt một gói duy nhất (autoMysqlBackup) chỉ có sẵn trong Kiểm tra. Giải pháp là thêm các mục sau vào/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

Với nhiều kho lưu trữ được thêm vào /etc/apt/source.list, giờ đây sẽ chỉ nâng cấp lên bản phát hành được chỉ định của bạn mặc dù các bản phát hành sau này được liệt kê (trong trường hợp này là 'ổn định').

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

Vì vậy, để cài đặt gói đó, tất cả những gì bạn phải làm là:

$ aptitude install -t testing packageName 
49
Gareth

Nhiều người dường như sợ pha trộn ổn định với thử nghiệm, nhưng thật lòng mà nói, thử nghiệm khá ổn định theo cách riêng của mình, và với việc kiểm tra giải pháp và sở thích phù hợp, bạn có thể tránh được "độ ổn định" đặt các gói cốt lõi của mình vào con đường không ổn định.

"Kiểm tra khá ổn định ??" , bạn hỏi. Đúng. Để một gói chuyển từ không ổn định sang thử nghiệm, nó phải không có lỗi mở trong 10 ngày liên tiếp. Rất có thể, đặc biệt là đối với các gói phổ biến hơn, ai đó sẽ gửi báo cáo lỗi cho phiên bản không ổn định nếu có gì đó không đúng.

Ngay cả khi bạn không muốn trộn lẫn các môi trường, vẫn rất tốt để có tùy chọn trong trường hợp bạn gặp phải thứ gì đó yêu cầu phiên bản mới hơn phiên bản ổn định.

Đây là những gì tôi khuyên bạn nên thiết lập: :

Đầu tiên, tạo các tệp sau trong /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

(Đừng sợ những thứ không ổn định/thử nghiệm ở đây. Các ưu tiên đủ thấp để nó không bao giờ tự động cài đặt bất kỳ thứ gì trong số đó. Ngay cả nhánh thử nghiệm cũng sẽ hoạt động, vì nó sẽ chỉ cài đặt các gói bạn muốn trong thử nghiệm.)

Bây giờ, tạo một bộ phù hợp cho /etc/apt/sources.list.d:

stable.list: Sao chép từ bản gốc /etc/apt/sources.list. Đổi tên tệp cũ thành một cái gì đó như sources.list.orig.

testing.list: Tương tự như stable.list, ngoại trừ với testing.

unstable.list: Tương tự như stable.list, ngoại trừ với unstable và xóa danh sách bảo mật.

experimental.list: Tương tự như unstable.list, ngoại trừ với experimental.

Bạn cũng có thể thêm oldstable in sources.lists.dpreferences.d (sử dụng mức độ ưu tiên là 1), mặc dù biệt danh này sẽ có xu hướng hết hạn và biến mất trước chu kỳ ổn định tiếp theo. Trong trường hợp như vậy, bạn có thể sử dụng http://archive.debian.org/debian/ và "hardcode" phiên bản Debian (etch, lenny, v.v.).

Để cài đặt phiên bản thử nghiệm của gói, chỉ cần sử dụng aptitude install lib-foobar-package/testing hoặc chỉ cần nhảy vào GUI của aptitude và chọn phiên bản bên trong chi tiết gói (nhấn enter trên gói bạn đang xem).

Nếu bạn nhận được khiếu nại về xung đột gói, hãy xem các giải pháp trước. Trong hầu hết các trường hợp, cái đầu tiên sẽ là "không cài đặt phiên bản này". Tìm hiểu để sử dụng các lựa chọn chấp nhận/từ chối mỗi gói. Ví dụ: nếu bạn đang cài đặt gói/thử nghiệm foobar và giải pháp đầu tiên là "không cài đặt gói foobar/thử nghiệm", thì hãy đánh dấu lựa chọn đó là bị từ chối và các giải pháp khác sẽ không bao giờ quay lại đường dẫn đó nữa. Trong những trường hợp như thế này, có lẽ bạn sẽ phải cài đặt một vài gói thử nghiệm khác.

Nếu nó quá nhiều lông (như nó đang cố nâng cấp libc hoặc kernel hoặc một số hệ thống lõi lớn khác), thì bạn có thể từ chối các đường dẫn nâng cấp đó hoặc hoàn toàn thoát khỏi bản nâng cấp ban đầu. Hãy nhớ rằng nó sẽ chỉ nâng cấp công cụ lên thử nghiệm/không ổn định nếu bạn cho phép.

EDIT: Đã sửa một số chân ưu tiên và cập nhật danh sách.

187
Brendan Byrd

Trong /etc/apt/apt.conf.d thêm tệp sau

99defaultrelease:

APT::Default-Release "stable";

trong /etc/apt/sources.list.d - thêm url để kiểm tra/nguồn không ổn định

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

chạy

apt-get update

và sau đó cài đặt những gì bạn cần với

apt-get -t testing install something

Hãy rất cẩn thận nếu bạn cài đặt những thứ có nhiều phụ thuộc. Tốt nhất không làm điều này trên sản xuất.

Bạn cũng có thể thử vận ​​may của mình tại backports hoặc kho lưu trữ tương tự.

102
pQd

Đối với những gì nó có giá trị, lời khuyên chung mà tôi luôn thấy là "Đừng trộn ổn định với bất cứ điều gì." Hầu hết các hướng dẫn hệ thống hỗn hợp là để thử nghiệm trộn và không ổn định.

Lý do dường như là nếu bạn kết hợp ổn định với thử nghiệm, các gói rất cơ bản (như libc6) sẽ yêu cầu cập nhật (để cài đặt phần mềm từ thử nghiệm) và khi các gói cơ bản này chuyển sang thử nghiệm, toàn bộ hệ thống có thể chuyển theo cách đó.

Đây là hai lựa chọn thay thế:

  1. Sử dụng Nhập khẩ .
  2. Cài đặt một dòng nguồn từ thử nghiệm và thử xây dựng phiên bản mới hơn mà bạn muốn từ nguồn .
13
Telemachus

Tài liệu về debian rất phong phú về chủ đề này và tôi thực sự khuyên bạn nên đào Dig vì nó sẽ thực sự tiết lộ vẻ đẹp của hệ thống debian.

Hãy xem Cách giữ một hệ thống hỗn hợp , nó sẽ giải thích tất cả những gì bạn cần biết.

12
tomdeb

Một cách khác, có thể ngăn cài đặt quá nhiều phụ thuộc từ Kiểm tra hoặc Sid, đó là: bạn nói với apt-get để lấy nguồn của gói từ Kiểm tra hoặc Sid và tạo gói cho hệ thống của bạn bằng các công cụ Debian (không cần phải tự sửa tin với các nguồn).

Trích dẫn từ đây:
[.__.] https://wiki.debian.org/DebianUnurdy#How_do_I_backport_a_sid_package_to_testing_or_ sóng.3F

Làm cách nào để tôi nhập một gói sid để kiểm tra hoặc ổn định?

Cài đặt nguồn Debian (và các công cụ phát triển, đặc biệt là debrcper, devscripts và build-Essential), sau đó xây dựng gói.

Từng bước một:

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 

Các cuộc tranh luận kết quả phải nằm trong thư mục hiện tại và có thể được cài đặt với dpkg -i the.deb.

7
gerlos

Tôi đã làm điều đó trong một thời gian dài để tự tin nói rằng nó đủ an toàn và có thể được thực hiện thuận tiện. Với thiết lập bên dưới, phiên bản ổn định sẽ được cài đặt theo mặc định, tuy nhiên Aptitude cũng sẽ cho phép bạn chọn phiên bản backported hoặc không ổn định nếu muốn:

enter image description here

Có bốn điều cần được chỉnh sửa, cần phải thiết lập bản phát hành ghim mặc định, các nguồn cần backport và không ổn định, giảm mức độ ưu tiên ghim của backport/gói không ổn định và cài đặt hiển thị năng khiếu cần được sửa đổi để hiển thị ghim.

  • Tạo một '/ etc/apt/apt.conf.d/10defaultrelease' và làm cho nội dung của nó như sau:
[.__.] Apt :: default-Release "ổn định"; [.__.]
  • Chỉnh sửa '/ etc/apt/nguồn.list' để thêm các nguồn không ổn định và backport để nó trông giống như thế này:
[.__.] # deb cdrom: [Debian GNU/Linux 6.0.0 _Squeeze_ - Kiến trúc đa kiến ​​thức chính thức AMD64/i386 NETINST # 1 20110205-14: 45]/bóp chính [.__.] [.__.] deb http : //ftp.us.debian.org/debian/ bóp chính [.__.] deb-src http://ftp.us.debian.org/debian/ bóp chính [.__.] [.__.] deb http://security.debian.org/ bóp/cập nhật chính [.__.] deb-src http://security.debian.org/ bóp/cập nhật chính [.__.] [.__.] # bóp-cập nhật , trước đây được gọi là 'dễ bay hơi' [.__.] deb http://ftp.us.debian.org/debian/ bóp-cập nhật chính [.__.] deb-src http://ftp.us.debian.org/debian/bóp-cập nhật chính [.__.] [.__.] # bóp backports [.__.] # http://backports.debian.org/In thi/[. ___.THERdeb http: // backports. debian.org/debian-backports bóp bóp chính [.__.] [.__.] # không ổn định [.__.] # http://wiki.debian.org/AptPreferences[.__.THERdeb http: // ftp.us.debian.org/debian/ không ổn định chính [.__.] deb-src http://ftp.us.debian.org/debian/ chính không ổn định [.__.] [.__.] . Sun Java [.__.] # Deb http://ftp.us.debian.org/debian/ bóp không miễn phí [.__.] # Deb-src http://ftp.us.debian.org/debian/ bóp không miễn phí [.__.]
  • Biên tập etc/apt/preferences ghim tệp - nếu tệp không tồn tại, hãy tạo tệp.
[.__.] # Ưu tiên ghim gói [.__.] # Xem http://wiki.debian.org/AptPreferences và http://manpages.debian.net/cgi-bin/man.cgi?query=apt_preferences [ .__.] # [.___.] # Trong nut Shell cao nhất PIN được cài đặt [.__.] # [.__.] # Mặc định của Pining là như sau ngoài chúng tôi cài đặt: [.__.] # 990 - cho phiên bản chưa được cài đặt nhưng DO thuộc về cài đặt `APT :: Default-Relase" ổn định "của chúng tôi. [.__.] # 500 - cho các phiên bản chưa được cài đặt và làm không thuộc về bản phát hành mục tiêu [.__.] # 100 - đối với các gói đã được cài đặt, điều này cũng có nghĩa là các phiên bản khác của cùng một gói [.__.] # 1 - cho các gói thử nghiệm, các gói có "NotAutomatic: yes" [.___ .] # [.__.] # Ghim của chúng tôi [.__.] # 400 - backport có thể được cài đặt an toàn mà không cần cập nhật các gói khác [.__.] # 50 - gói không ổn định, cài đặt bắt buộc trong màn hình chi tiết, có thể dẫn đến xung đột [.__.] [.__.] Gói: * [.__.] Pin: phát hành n = bóp-backports [.__.] Pin-P độ chính xác: 400 [.___.] [.__.] Gói: * [.__.] Pin: phát hành a = không ổn định [.__.]
  • Tạo '/ etc/apt/apt.conf.d/100guiconf' và để thiết lập Aptitude để nó hiển thị thông tin ghim.
[.__.] Aptitude :: UI :: Định dạng hiển thị gói "% c% a% M% p% Z% v% V% i"; [.__.]
4
Daniel Sokolowski

Nếu lựa chọn gói của bạn có liên quan nhiều hơn hoặc cài đặt sẽ được lặp lại trên nhiều máy, bạn có thể xem xét việc thiết lập một kho lưu trữ riêng phản ánh tập hợp con của kho lưu trữ chính thức. Điều này đòi hỏi một chút công việc để định cấu hình kho lưu trữ nhưng phần thưởng rất dễ duy trì với mức cấu hình tối thiểu trên mỗi máy khách và kết quả lặp lại khi thực hiện hàng chục cài đặt. Tôi thấy điều này hữu ích ngay cả khi chỉ có một hoặc hai gói được cài đặt và sử dụng phương pháp này để tự động hóa và duy trì cài đặt đám mây. Một máy chủ duy nhất trên VPS giá rẻ có thể xử lý hàng tá kho riêng.

Để cấu hình máy chủ kho lưu trữ riêng của bạn:

# 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

Sau đó cấu hình máy chủ web của bạn lựa chọn để phục vụ các tệp lưu trữ tĩnh. Có thể bảo vệ kho lưu trữ với chứng chỉ bảo mật và xác thực cơ bản.

Để tự động duy trì kho lưu trữ riêng tư của bạn và lấy các bản cập nhật từ thượng nguồn, hãy đặt phần trên vào tập lệnh và chạy từ công việc định kỳ.

Để định cấu hình máy khách của bạn, trên máy khách của bạn:

# 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

Để duy trì máy khách của bạn và cập nhật tất cả các cập nhật kho lưu trữ riêng tư của bạn, trên máy khách của bạn:

# Update.
apt-get update

# Upgrade.
apt-get upgrade
2
Monica For CEO

Một tùy chọn khác là tải xuống thay vì gói nguồn từ thử nghiệm. APT có thể tự động xây dựng gói nguồn sau khi tải xuống. Bằng cách này, các gói ổn định của bạn sẽ không bị ảnh hưởng bởi các bản cập nhật thử nghiệm. Sự đánh đổi duy nhất là sẽ mất nhiều thời gian hơn là chỉ tải xuống và cài đặt gói nhị phân.

Để định cấu hình APT để tải xuống các gói nguồn từ thử nghiệm, chỉ cần thêm:

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

Nếu bạn chỉ muốn làm theo thử nghiệm hiện tại và không phải thử nghiệm trong tương lai, hãy thay thế "thử nghiệm" bằng tên mã hiện tại (vì khi viết bài này, nó là "buster")

1
temy