Bagaimana saya bisa dipercaya “memegang” paket di Debian?

14

Saya memiliki paket di Debian yang telah ditambal secara manual (tidak ideal, saya tahu) yang harus saya pegang pada versi saat ini sehingga pemutakhiran tidak menimpa perubahan yang ditambal (saya akan secara manual memeriksa dan menerapkan pembaruan keamanan). Seperti yang saya pahami, ada beberapa cara untuk mendekati ini:

  • apt-pinning (lihat apt_preferences(5))
  • aptitude hold
  • dpkg --set-selections
  • pengaturan dengan dselect?

Saya telah membaca bahwa satu penangguhan tidak akan memengaruhi penangguhan lain (jadi, misalnya, menggunakan aptitude holdtidak akan mencegah apt-getatau dselectmemperbarui paket). Apa yang perlu dilakukan hingga 100% memastikan bahwa alat Debian tidak akan pernah memutakhirkan paket kecuali saya menghapus penangguhan?

jrdioko
sumber
1
Hanya sebuah komentar, 9 tahun yang lalu seseorang membuat bug di sistem bug Debian tentang bagaimana sebenarnya bisa menyimpan sebuah paket, dan sepertinya ada (atau pernah) beberapa masalah menggunakan aptitude hold (LINK: bugs.debian.org/cgi-bin/ bugreport.cgi? bug = 146207 )
Luciano Facchinelli
1
Seseorang itu adalah aku. :-). Masih bug terbuka, meskipun orang-orang yang baru saja menghidupkan kembali bakat mengatakan mereka akan melihatnya.
Faheem Mitha
1
Daniel Hartwig menulis kepada saya: "Menyadari masalah ini dengan penahanan sejak saya mulai bekerja pada bakat. Saat ini saya belum memberikan pandangan menyeluruh karena fokus saya adalah untuk mendapatkan pekerjaan multi-lengkungan. Usia dan pentingnya memang mengintimidasi saya sedikit. Ada juga masalah bahwa aptitude agak "menafsirkan" dpkg menyatakan pada startup untuk menentukan apa, jika ada, perubahan dan bagaimana mereka harus dimasukkan ke dalam model keadaan internal itu. Yakinlah bahwa yang satu ini tidak akan dibiarkan sendirian - - Saya selalu mengingatnya ketika melihat area terkait kode. "
Faheem Mitha
1
bugs.debian.org/146207 seharusnya diperbaiki dalam versi aptitude yang diunggah menjadi tidak stabil.
Faheem Mitha

Jawaban:

7

aptitudedan dpkgmemiliki fungsi pegangan terpisah yang tidak akan saling menghormati, sayangnya. Jadi, Anda harus mengatur keduanya jika Anda menggunakan kedua alat:

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

bakat: aptitude hold $PACKETNAME

scai
sumber
1
Tampaknya sekarang ada apt-mark holdyang menurut help.ubuntu.com/community/… , melakukan hal yang sama dpkg --set-selections.
andyg0808
1

Pendekatan yang lebih baik dalam kasus khusus ini (paket tambalan) bisa dengan menginstal versi tambalan di /usr/local. Debian tidak akan menyentuh itu.

daniel kullmann
sumber
0

Sejauh yang saya tahu, aptitude hold <package>akan dihormati oleh orang lain kecuali Anda secara eksplisit memesannya ditingkatkan (seperti memukul + saat kursor berada di bidang "paket yang dapat diupgrade" di aptitude).

Shadur
sumber
3
Sepertinya ini tidak benar, lihat komentar di atas.
jrdioko