Làm thế nào tôi có thể tin cậy giữ được một gói trong Debian?


14

Tôi có một gói trong Debian đã được vá thủ công (không lý tưởng, tôi biết) mà tôi phải giữ ở phiên bản hiện tại để nâng cấp không ghi đè lên các thay đổi đã vá (tôi sẽ kiểm tra thủ công và áp dụng các cập nhật bảo mật). Theo tôi hiểu, có một vài cách để tiếp cận điều này:

  • ghim apt (xem apt_preferences(5))
  • aptitude hold
  • dpkg --set-selections
  • thiết lập nó với dselect?

Tôi đã đọc rằng một lần giữ sẽ không ảnh hưởng đến người khác (ví dụ: sử dụng aptitude holdsẽ không ngăn chặn apt-gethoặc dselectnâng cấp gói). Cần phải làm gì để đảm bảo 100% rằng các công cụ của Debian sẽ không bao giờ nâng cấp gói trừ khi tôi xóa phần giữ?


1
Chỉ là một nhận xét, 9 năm trước ai đó đã tạo ra một lỗi trong hệ thống lỗi của Debian về cách thực sự có thể giữ một gói và dường như có (hoặc) một số vấn đề khi sử dụng aptitude Hold (LINK: bug.debian.org/cgi-bin/ bugreport.cgi? bug = 146207 )
Luciano Facchinelli

1
Rằng ai đó sẽ là tôi. :-). Vẫn là một lỗi mở, mặc dù những người gần đây đã hồi sinh năng khiếu cho biết họ sẽ xem xét nó.
Faheem Mitha

1
Daniel Hartwig đã viết cho tôi: "Nhận thức được vấn đề này với việc nắm giữ kể từ khi tôi bắt đầu làm việc với năng khiếu. Hiện tại tôi chưa có cái nhìn thấu đáo vì sự tập trung của tôi vào việc làm việc đa vòm. Tuổi tác và ý nghĩa của nó rất đáng sợ tôi cũng có một chút vấn đề về khả năng "diễn giải" trạng thái dpkg khi khởi động để xác định cái gì, nếu có, thay đổi và cách chúng nên kết hợp với mô hình trạng thái bên trong của nó. Hãy yên tâm rằng cái này sẽ không bị bỏ lại một mình - - Tôi luôn để tâm đến nó khi nhìn vào các lĩnh vực liên quan của mã. "
Faheem Mitha

1
bug.debian.org/146207 được cho là đã sửa trong phiên bản aptitude được tải lên không ổn định.
Faheem Mitha

Câu trả lời:


7

aptitudedpkgcó các chức năng giữ riêng biệt sẽ không tôn trọng lẫn nhau, thật không may. Vì vậy, bạn phải đặt cả hai nếu bạn sử dụng cả hai công cụ:

apt / dpkg: echo $PACKETNAME hold | dpkg --set-selections

năng khiếu: aptitude hold $PACKETNAME


1
Dường như có ngay bây giờ apt-mark holdmà theo help.ubfox.com/community/ , thực hiện điều tương tự như dpkg --set-selections.
andyg0808

1

Một cách tiếp cận tốt hơn trong trường hợp cụ thể này (gói vá) có thể là cài đặt phiên bản vá trong /usr/local. Debian sẽ không chạm vào điều đó.


0

Theo như tôi biết, aptitude hold <package>sẽ được những người khác tôn trọng trừ khi bạn ra lệnh rõ ràng nâng cấp nó (chẳng hạn như nhấn + trong khi con trỏ nằm trên trường "gói có thể nâng cấp" theo khả năng).


3
Có vẻ như điều này không đúng, xem các ý kiến ​​trên.
jrdioko
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.